1 |
- {"ast":null,"code":"import { __decorate } from \"../../tslib.es6.js\";\nimport { Observable } from \"../../Misc/observable.js\";\nimport { serialize } from \"../../Misc/decorators.js\";\nimport { CameraInputTypes } from \"../../Cameras/cameraInputsManager.js\";\nimport { PointerEventTypes } from \"../../Events/pointerEvents.js\";\nimport { Tools } from \"../../Misc/tools.js\";\n/**\n * Manage the mouse inputs to control the movement of a free camera.\n * @see https://doc.babylonjs.com/features/featuresDeepDive/cameras/customizingCameraInputs\n */\nexport class FreeCameraMouseInput {\n /**\n * Manage the mouse inputs to control the movement of a free camera.\n * @see https://doc.babylonjs.com/features/featuresDeepDive/cameras/customizingCameraInputs\n * @param touchEnabled Defines if touch is enabled or not\n */\n constructor(\n /**\n * [true] Define if touch is enabled in the mouse input\n */\n touchEnabled = true) {\n this.touchEnabled = touchEnabled;\n /**\n * Defines the buttons associated with the input to handle camera move.\n */\n this.buttons = [0, 1, 2];\n /**\n * Defines the pointer angular sensibility along the X and Y axis or how fast is the camera rotating.\n */\n this.angularSensibility = 2000.0;\n this._previousPosition = null;\n /**\n * Observable for when a pointer move event occurs containing the move offset\n */\n this.onPointerMovedObservable = new Observable();\n /**\n * @internal\n * If the camera should be rotated automatically based on pointer movement\n */\n this._allowCameraRotation = true;\n this._currentActiveButton = -1;\n this._activePointerId = -1;\n }\n /**\n * Attach the input controls to a specific dom element to get the input from.\n * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)\n */\n attachControl(noPreventDefault) {\n // eslint-disable-next-line prefer-rest-params\n noPreventDefault = Tools.BackCompatCameraNoPreventDefault(arguments);\n const engine = this.camera.getEngine();\n const element = engine.getInputElement();\n if (!this._pointerInput) {\n this._pointerInput = p => {\n const evt = p.event;\n const isTouch = evt.pointerType === \"touch\";\n if (!this.touchEnabled && isTouch) {\n return;\n }\n if (p.type !== PointerEventTypes.POINTERMOVE && this.buttons.indexOf(evt.button) === -1) {\n return;\n }\n const srcElement = evt.target;\n if (p.type === PointerEventTypes.POINTERDOWN) {\n // If the input is touch with more than one touch OR if the input is mouse and there is already an active button, return\n if (isTouch && this._activePointerId !== -1 || !isTouch && this._currentActiveButton !== -1) {\n return;\n }\n this._activePointerId = evt.pointerId;\n try {\n srcElement === null || srcElement === void 0 || srcElement.setPointerCapture(evt.pointerId);\n } catch (e) {\n //Nothing to do with the error. Execution will continue.\n }\n if (this._currentActiveButton === -1) {\n this._currentActiveButton = evt.button;\n }\n this._previousPosition = {\n x: evt.clientX,\n y: evt.clientY\n };\n if (!noPreventDefault) {\n evt.preventDefault();\n element && element.focus();\n }\n // This is required to move while pointer button is down\n if (engine.isPointerLock && this._onMouseMove) {\n this._onMouseMove(p.event);\n }\n } else if (p.type === PointerEventTypes.POINTERUP) {\n // If input is touch with a different touch id OR if input is mouse with a different button, return\n if (isTouch && this._activePointerId !== evt.pointerId || !isTouch && this._currentActiveButton !== evt.button) {\n return;\n }\n try {\n srcElement === null || srcElement === void 0 || srcElement.releasePointerCapture(evt.pointerId);\n } catch (e) {\n //Nothing to do with the error.\n }\n this._currentActiveButton = -1;\n this._previousPosition = null;\n if (!noPreventDefault) {\n evt.preventDefault();\n }\n this._activePointerId = -1;\n } else if (p.type === PointerEventTypes.POINTERMOVE && (this._activePointerId === evt.pointerId || !isTouch)) {\n if (engine.isPointerLock && this._onMouseMove) {\n this._onMouseMove(p.event);\n } else if (this._previousPosition) {\n const handednessMultiplier = this.camera._calculateHandednessMultiplier();\n const offsetX = (evt.clientX - this._previousPosition.x) * handednessMultiplier;\n const offsetY = evt.clientY - this._previousPosition.y;\n if (this._allowCameraRotation) {\n this.camera.cameraRotation.y += offsetX / this.angularSensibility;\n this.camera.cameraRotation.x += offsetY / this.angularSensibility;\n }\n this.onPointerMovedObservable.notifyObservers({\n offsetX: offsetX,\n offsetY: offsetY\n });\n this._previousPosition = {\n x: evt.clientX,\n y: evt.clientY\n };\n if (!noPreventDefault) {\n evt.preventDefault();\n }\n }\n }\n };\n }\n this._onMouseMove = evt => {\n if (!engine.isPointerLock) {\n return;\n }\n const handednessMultiplier = this.camera._calculateHandednessMultiplier();\n const offsetX = evt.movementX * handednessMultiplier;\n this.camera.cameraRotation.y += offsetX / this.angularSensibility;\n const offsetY = evt.movementY;\n this.camera.cameraRotation.x += offsetY / this.angularSensibility;\n this._previousPosition = null;\n if (!noPreventDefault) {\n evt.preventDefault();\n }\n };\n this._observer = this.camera.getScene()._inputManager._addCameraPointerObserver(this._pointerInput, PointerEventTypes.POINTERDOWN | PointerEventTypes.POINTERUP | PointerEventTypes.POINTERMOVE);\n if (element) {\n this._contextMenuBind = evt => this.onContextMenu(evt);\n element.addEventListener(\"contextmenu\", this._contextMenuBind, false); // TODO: We need to figure out how to handle this for Native\n }\n }\n /**\n * Called on JS contextmenu event.\n * Override this method to provide functionality.\n * @param evt the context menu event\n */\n onContextMenu(evt) {\n evt.preventDefault();\n }\n /**\n * Detach the current controls from the specified dom element.\n */\n detachControl() {\n if (this._observer) {\n this.camera.getScene()._inputManager._removeCameraPointerObserver(this._observer);\n if (this._contextMenuBind) {\n const engine = this.camera.getEngine();\n const element = engine.getInputElement();\n element && element.removeEventListener(\"contextmenu\", this._contextMenuBind);\n }\n if (this.onPointerMovedObservable) {\n this.onPointerMovedObservable.clear();\n }\n this._observer = null;\n this._onMouseMove = null;\n this._previousPosition = null;\n }\n this._activePointerId = -1;\n this._currentActiveButton = -1;\n }\n /**\n * Gets the class name of the current input.\n * @returns the class name\n */\n getClassName() {\n return \"FreeCameraMouseInput\";\n }\n /**\n * Get the friendly name associated with the input class.\n * @returns the input friendly name\n */\n getSimpleName() {\n return \"mouse\";\n }\n}\n__decorate([serialize()], FreeCameraMouseInput.prototype, \"buttons\", void 0);\n__decorate([serialize()], FreeCameraMouseInput.prototype, \"angularSensibility\", void 0);\nCameraInputTypes[\"FreeCameraMouseInput\"] = FreeCameraMouseInput;","map":{"version":3,"names":["__decorate","Observable","serialize","CameraInputTypes","PointerEventTypes","Tools","FreeCameraMouseInput","constructor","touchEnabled","buttons","angularSensibility","_previousPosition","onPointerMovedObservable","_allowCameraRotation","_currentActiveButton","_activePointerId","attachControl","noPreventDefault","BackCompatCameraNoPreventDefault","arguments","engine","camera","getEngine","element","getInputElement","_pointerInput","p","evt","event","isTouch","pointerType","type","POINTERMOVE","indexOf","button","srcElement","target","POINTERDOWN","pointerId","setPointerCapture","e","x","clientX","y","clientY","preventDefault","focus","isPointerLock","_onMouseMove","POINTERUP","releasePointerCapture","handednessMultiplier","_calculateHandednessMultiplier","offsetX","offsetY","cameraRotation","notifyObservers","movementX","movementY","_observer","getScene","_inputManager","_addCameraPointerObserver","_contextMenuBind","onContextMenu","addEventListener","detachControl","_removeCameraPointerObserver","removeEventListener","clear","getClassName","getSimpleName","prototype"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Cameras/Inputs/freeCameraMouseInput.js"],"sourcesContent":["import { __decorate } from \"../../tslib.es6.js\";\nimport { Observable } from \"../../Misc/observable.js\";\nimport { serialize } from \"../../Misc/decorators.js\";\nimport { CameraInputTypes } from \"../../Cameras/cameraInputsManager.js\";\nimport { PointerEventTypes } from \"../../Events/pointerEvents.js\";\nimport { Tools } from \"../../Misc/tools.js\";\n/**\n * Manage the mouse inputs to control the movement of a free camera.\n * @see https://doc.babylonjs.com/features/featuresDeepDive/cameras/customizingCameraInputs\n */\nexport class FreeCameraMouseInput {\n /**\n * Manage the mouse inputs to control the movement of a free camera.\n * @see https://doc.babylonjs.com/features/featuresDeepDive/cameras/customizingCameraInputs\n * @param touchEnabled Defines if touch is enabled or not\n */\n constructor(\n /**\n * [true] Define if touch is enabled in the mouse input\n */\n touchEnabled = true) {\n this.touchEnabled = touchEnabled;\n /**\n * Defines the buttons associated with the input to handle camera move.\n */\n this.buttons = [0, 1, 2];\n /**\n * Defines the pointer angular sensibility along the X and Y axis or how fast is the camera rotating.\n */\n this.angularSensibility = 2000.0;\n this._previousPosition = null;\n /**\n * Observable for when a pointer move event occurs containing the move offset\n */\n this.onPointerMovedObservable = new Observable();\n /**\n * @internal\n * If the camera should be rotated automatically based on pointer movement\n */\n this._allowCameraRotation = true;\n this._currentActiveButton = -1;\n this._activePointerId = -1;\n }\n /**\n * Attach the input controls to a specific dom element to get the input from.\n * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)\n */\n attachControl(noPreventDefault) {\n // eslint-disable-next-line prefer-rest-params\n noPreventDefault = Tools.BackCompatCameraNoPreventDefault(arguments);\n const engine = this.camera.getEngine();\n const element = engine.getInputElement();\n if (!this._pointerInput) {\n this._pointerInput = (p) => {\n const evt = p.event;\n const isTouch = evt.pointerType === \"touch\";\n if (!this.touchEnabled && isTouch) {\n return;\n }\n if (p.type !== PointerEventTypes.POINTERMOVE && this.buttons.indexOf(evt.button) === -1) {\n return;\n }\n const srcElement = evt.target;\n if (p.type === PointerEventTypes.POINTERDOWN) {\n // If the input is touch with more than one touch OR if the input is mouse and there is already an active button, return\n if ((isTouch && this._activePointerId !== -1) || (!isTouch && this._currentActiveButton !== -1)) {\n return;\n }\n this._activePointerId = evt.pointerId;\n try {\n srcElement?.setPointerCapture(evt.pointerId);\n }\n catch (e) {\n //Nothing to do with the error. Execution will continue.\n }\n if (this._currentActiveButton === -1) {\n this._currentActiveButton = evt.button;\n }\n this._previousPosition = {\n x: evt.clientX,\n y: evt.clientY,\n };\n if (!noPreventDefault) {\n evt.preventDefault();\n element && element.focus();\n }\n // This is required to move while pointer button is down\n if (engine.isPointerLock && this._onMouseMove) {\n this._onMouseMove(p.event);\n }\n }\n else if (p.type === PointerEventTypes.POINTERUP) {\n // If input is touch with a different touch id OR if input is mouse with a different button, return\n if ((isTouch && this._activePointerId !== evt.pointerId) || (!isTouch && this._currentActiveButton !== evt.button)) {\n return;\n }\n try {\n srcElement?.releasePointerCapture(evt.pointerId);\n }\n catch (e) {\n //Nothing to do with the error.\n }\n this._currentActiveButton = -1;\n this._previousPosition = null;\n if (!noPreventDefault) {\n evt.preventDefault();\n }\n this._activePointerId = -1;\n }\n else if (p.type === PointerEventTypes.POINTERMOVE && (this._activePointerId === evt.pointerId || !isTouch)) {\n if (engine.isPointerLock && this._onMouseMove) {\n this._onMouseMove(p.event);\n }\n else if (this._previousPosition) {\n const handednessMultiplier = this.camera._calculateHandednessMultiplier();\n const offsetX = (evt.clientX - this._previousPosition.x) * handednessMultiplier;\n const offsetY = evt.clientY - this._previousPosition.y;\n if (this._allowCameraRotation) {\n this.camera.cameraRotation.y += offsetX / this.angularSensibility;\n this.camera.cameraRotation.x += offsetY / this.angularSensibility;\n }\n this.onPointerMovedObservable.notifyObservers({ offsetX: offsetX, offsetY: offsetY });\n this._previousPosition = {\n x: evt.clientX,\n y: evt.clientY,\n };\n if (!noPreventDefault) {\n evt.preventDefault();\n }\n }\n }\n };\n }\n this._onMouseMove = (evt) => {\n if (!engine.isPointerLock) {\n return;\n }\n const handednessMultiplier = this.camera._calculateHandednessMultiplier();\n const offsetX = evt.movementX * handednessMultiplier;\n this.camera.cameraRotation.y += offsetX / this.angularSensibility;\n const offsetY = evt.movementY;\n this.camera.cameraRotation.x += offsetY / this.angularSensibility;\n this._previousPosition = null;\n if (!noPreventDefault) {\n evt.preventDefault();\n }\n };\n this._observer = this.camera\n .getScene()\n ._inputManager._addCameraPointerObserver(this._pointerInput, PointerEventTypes.POINTERDOWN | PointerEventTypes.POINTERUP | PointerEventTypes.POINTERMOVE);\n if (element) {\n this._contextMenuBind = (evt) => this.onContextMenu(evt);\n element.addEventListener(\"contextmenu\", this._contextMenuBind, false); // TODO: We need to figure out how to handle this for Native\n }\n }\n /**\n * Called on JS contextmenu event.\n * Override this method to provide functionality.\n * @param evt the context menu event\n */\n onContextMenu(evt) {\n evt.preventDefault();\n }\n /**\n * Detach the current controls from the specified dom element.\n */\n detachControl() {\n if (this._observer) {\n this.camera.getScene()._inputManager._removeCameraPointerObserver(this._observer);\n if (this._contextMenuBind) {\n const engine = this.camera.getEngine();\n const element = engine.getInputElement();\n element && element.removeEventListener(\"contextmenu\", this._contextMenuBind);\n }\n if (this.onPointerMovedObservable) {\n this.onPointerMovedObservable.clear();\n }\n this._observer = null;\n this._onMouseMove = null;\n this._previousPosition = null;\n }\n this._activePointerId = -1;\n this._currentActiveButton = -1;\n }\n /**\n * Gets the class name of the current input.\n * @returns the class name\n */\n getClassName() {\n return \"FreeCameraMouseInput\";\n }\n /**\n * Get the friendly name associated with the input class.\n * @returns the input friendly name\n */\n getSimpleName() {\n return \"mouse\";\n }\n}\n__decorate([\n serialize()\n], FreeCameraMouseInput.prototype, \"buttons\", void 0);\n__decorate([\n serialize()\n], FreeCameraMouseInput.prototype, \"angularSensibility\", void 0);\nCameraInputTypes[\"FreeCameraMouseInput\"] = FreeCameraMouseInput;\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,oBAAoB;AAC/C,SAASC,UAAU,QAAQ,0BAA0B;AACrD,SAASC,SAAS,QAAQ,0BAA0B;AACpD,SAASC,gBAAgB,QAAQ,sCAAsC;AACvE,SAASC,iBAAiB,QAAQ,+BAA+B;AACjE,SAASC,KAAK,QAAQ,qBAAqB;AAC3C;AACA;AACA;AACA;AACA,OAAO,MAAMC,oBAAoB,CAAC;EAC9B;AACJ;AACA;AACA;AACA;EACIC,WAAWA;EACX;AACJ;AACA;EACIC,YAAY,GAAG,IAAI,EAAE;IACjB,IAAI,CAACA,YAAY,GAAGA,YAAY;IAChC;AACR;AACA;IACQ,IAAI,CAACC,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxB;AACR;AACA;IACQ,IAAI,CAACC,kBAAkB,GAAG,MAAM;IAChC,IAAI,CAACC,iBAAiB,GAAG,IAAI;IAC7B;AACR;AACA;IACQ,IAAI,CAACC,wBAAwB,GAAG,IAAIX,UAAU,CAAC,CAAC;IAChD;AACR;AACA;AACA;IACQ,IAAI,CAACY,oBAAoB,GAAG,IAAI;IAChC,IAAI,CAACC,oBAAoB,GAAG,CAAC,CAAC;IAC9B,IAAI,CAACC,gBAAgB,GAAG,CAAC,CAAC;EAC9B;EACA;AACJ;AACA;AACA;EACIC,aAAaA,CAACC,gBAAgB,EAAE;IAC5B;IACAA,gBAAgB,GAAGZ,KAAK,CAACa,gCAAgC,CAACC,SAAS,CAAC;IACpE,MAAMC,MAAM,GAAG,IAAI,CAACC,MAAM,CAACC,SAAS,CAAC,CAAC;IACtC,MAAMC,OAAO,GAAGH,MAAM,CAACI,eAAe,CAAC,CAAC;IACxC,IAAI,CAAC,IAAI,CAACC,aAAa,EAAE;MACrB,IAAI,CAACA,aAAa,GAAIC,CAAC,IAAK;QACxB,MAAMC,GAAG,GAAGD,CAAC,CAACE,KAAK;QACnB,MAAMC,OAAO,GAAGF,GAAG,CAACG,WAAW,KAAK,OAAO;QAC3C,IAAI,CAAC,IAAI,CAACtB,YAAY,IAAIqB,OAAO,EAAE;UAC/B;QACJ;QACA,IAAIH,CAAC,CAACK,IAAI,KAAK3B,iBAAiB,CAAC4B,WAAW,IAAI,IAAI,CAACvB,OAAO,CAACwB,OAAO,CAACN,GAAG,CAACO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;UACrF;QACJ;QACA,MAAMC,UAAU,GAAGR,GAAG,CAACS,MAAM;QAC7B,IAAIV,CAAC,CAACK,IAAI,KAAK3B,iBAAiB,CAACiC,WAAW,EAAE;UAC1C;UACA,IAAKR,OAAO,IAAI,IAAI,CAACd,gBAAgB,KAAK,CAAC,CAAC,IAAM,CAACc,OAAO,IAAI,IAAI,CAACf,oBAAoB,KAAK,CAAC,CAAE,EAAE;YAC7F;UACJ;UACA,IAAI,CAACC,gBAAgB,GAAGY,GAAG,CAACW,SAAS;UACrC,IAAI;YACAH,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAEI,iBAAiB,CAACZ,GAAG,CAACW,SAAS,CAAC;UAChD,CAAC,CACD,OAAOE,CAAC,EAAE;YACN;UAAA;UAEJ,IAAI,IAAI,CAAC1B,oBAAoB,KAAK,CAAC,CAAC,EAAE;YAClC,IAAI,CAACA,oBAAoB,GAAGa,GAAG,CAACO,MAAM;UAC1C;UACA,IAAI,CAACvB,iBAAiB,GAAG;YACrB8B,CAAC,EAAEd,GAAG,CAACe,OAAO;YACdC,CAAC,EAAEhB,GAAG,CAACiB;UACX,CAAC;UACD,IAAI,CAAC3B,gBAAgB,EAAE;YACnBU,GAAG,CAACkB,cAAc,CAAC,CAAC;YACpBtB,OAAO,IAAIA,OAAO,CAACuB,KAAK,CAAC,CAAC;UAC9B;UACA;UACA,IAAI1B,MAAM,CAAC2B,aAAa,IAAI,IAAI,CAACC,YAAY,EAAE;YAC3C,IAAI,CAACA,YAAY,CAACtB,CAAC,CAACE,KAAK,CAAC;UAC9B;QACJ,CAAC,MACI,IAAIF,CAAC,CAACK,IAAI,KAAK3B,iBAAiB,CAAC6C,SAAS,EAAE;UAC7C;UACA,IAAKpB,OAAO,IAAI,IAAI,CAACd,gBAAgB,KAAKY,GAAG,CAACW,SAAS,IAAM,CAACT,OAAO,IAAI,IAAI,CAACf,oBAAoB,KAAKa,GAAG,CAACO,MAAO,EAAE;YAChH;UACJ;UACA,IAAI;YACAC,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAEe,qBAAqB,CAACvB,GAAG,CAACW,SAAS,CAAC;UACpD,CAAC,CACD,OAAOE,CAAC,EAAE;YACN;UAAA;UAEJ,IAAI,CAAC1B,oBAAoB,GAAG,CAAC,CAAC;UAC9B,IAAI,CAACH,iBAAiB,GAAG,IAAI;UAC7B,IAAI,CAACM,gBAAgB,EAAE;YACnBU,GAAG,CAACkB,cAAc,CAAC,CAAC;UACxB;UACA,IAAI,CAAC9B,gBAAgB,GAAG,CAAC,CAAC;QAC9B,CAAC,MACI,IAAIW,CAAC,CAACK,IAAI,KAAK3B,iBAAiB,CAAC4B,WAAW,KAAK,IAAI,CAACjB,gBAAgB,KAAKY,GAAG,CAACW,SAAS,IAAI,CAACT,OAAO,CAAC,EAAE;UACxG,IAAIT,MAAM,CAAC2B,aAAa,IAAI,IAAI,CAACC,YAAY,EAAE;YAC3C,IAAI,CAACA,YAAY,CAACtB,CAAC,CAACE,KAAK,CAAC;UAC9B,CAAC,MACI,IAAI,IAAI,CAACjB,iBAAiB,EAAE;YAC7B,MAAMwC,oBAAoB,GAAG,IAAI,CAAC9B,MAAM,CAAC+B,8BAA8B,CAAC,CAAC;YACzE,MAAMC,OAAO,GAAG,CAAC1B,GAAG,CAACe,OAAO,GAAG,IAAI,CAAC/B,iBAAiB,CAAC8B,CAAC,IAAIU,oBAAoB;YAC/E,MAAMG,OAAO,GAAG3B,GAAG,CAACiB,OAAO,GAAG,IAAI,CAACjC,iBAAiB,CAACgC,CAAC;YACtD,IAAI,IAAI,CAAC9B,oBAAoB,EAAE;cAC3B,IAAI,CAACQ,MAAM,CAACkC,cAAc,CAACZ,CAAC,IAAIU,OAAO,GAAG,IAAI,CAAC3C,kBAAkB;cACjE,IAAI,CAACW,MAAM,CAACkC,cAAc,CAACd,CAAC,IAAIa,OAAO,GAAG,IAAI,CAAC5C,kBAAkB;YACrE;YACA,IAAI,CAACE,wBAAwB,CAAC4C,eAAe,CAAC;cAAEH,OAAO,EAAEA,OAAO;cAAEC,OAAO,EAAEA;YAAQ,CAAC,CAAC;YACrF,IAAI,CAAC3C,iBAAiB,GAAG;cACrB8B,CAAC,EAAEd,GAAG,CAACe,OAAO;cACdC,CAAC,EAAEhB,GAAG,CAACiB;YACX,CAAC;YACD,IAAI,CAAC3B,gBAAgB,EAAE;cACnBU,GAAG,CAACkB,cAAc,CAAC,CAAC;YACxB;UACJ;QACJ;MACJ,CAAC;IACL;IACA,IAAI,CAACG,YAAY,GAAIrB,GAAG,IAAK;MACzB,IAAI,CAACP,MAAM,CAAC2B,aAAa,EAAE;QACvB;MACJ;MACA,MAAMI,oBAAoB,GAAG,IAAI,CAAC9B,MAAM,CAAC+B,8BAA8B,CAAC,CAAC;MACzE,MAAMC,OAAO,GAAG1B,GAAG,CAAC8B,SAAS,GAAGN,oBAAoB;MACpD,IAAI,CAAC9B,MAAM,CAACkC,cAAc,CAACZ,CAAC,IAAIU,OAAO,GAAG,IAAI,CAAC3C,kBAAkB;MACjE,MAAM4C,OAAO,GAAG3B,GAAG,CAAC+B,SAAS;MAC7B,IAAI,CAACrC,MAAM,CAACkC,cAAc,CAACd,CAAC,IAAIa,OAAO,GAAG,IAAI,CAAC5C,kBAAkB;MACjE,IAAI,CAACC,iBAAiB,GAAG,IAAI;MAC7B,IAAI,CAACM,gBAAgB,EAAE;QACnBU,GAAG,CAACkB,cAAc,CAAC,CAAC;MACxB;IACJ,CAAC;IACD,IAAI,CAACc,SAAS,GAAG,IAAI,CAACtC,MAAM,CACvBuC,QAAQ,CAAC,CAAC,CACVC,aAAa,CAACC,yBAAyB,CAAC,IAAI,CAACrC,aAAa,EAAErB,iBAAiB,CAACiC,WAAW,GAAGjC,iBAAiB,CAAC6C,SAAS,GAAG7C,iBAAiB,CAAC4B,WAAW,CAAC;IAC7J,IAAIT,OAAO,EAAE;MACT,IAAI,CAACwC,gBAAgB,GAAIpC,GAAG,IAAK,IAAI,CAACqC,aAAa,CAACrC,GAAG,CAAC;MACxDJ,OAAO,CAAC0C,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAACF,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3E;EACJ;EACA;AACJ;AACA;AACA;AACA;EACIC,aAAaA,CAACrC,GAAG,EAAE;IACfA,GAAG,CAACkB,cAAc,CAAC,CAAC;EACxB;EACA;AACJ;AACA;EACIqB,aAAaA,CAAA,EAAG;IACZ,IAAI,IAAI,CAACP,SAAS,EAAE;MAChB,IAAI,CAACtC,MAAM,CAACuC,QAAQ,CAAC,CAAC,CAACC,aAAa,CAACM,4BAA4B,CAAC,IAAI,CAACR,SAAS,CAAC;MACjF,IAAI,IAAI,CAACI,gBAAgB,EAAE;QACvB,MAAM3C,MAAM,GAAG,IAAI,CAACC,MAAM,CAACC,SAAS,CAAC,CAAC;QACtC,MAAMC,OAAO,GAAGH,MAAM,CAACI,eAAe,CAAC,CAAC;QACxCD,OAAO,IAAIA,OAAO,CAAC6C,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAACL,gBAAgB,CAAC;MAChF;MACA,IAAI,IAAI,CAACnD,wBAAwB,EAAE;QAC/B,IAAI,CAACA,wBAAwB,CAACyD,KAAK,CAAC,CAAC;MACzC;MACA,IAAI,CAACV,SAAS,GAAG,IAAI;MACrB,IAAI,CAACX,YAAY,GAAG,IAAI;MACxB,IAAI,CAACrC,iBAAiB,GAAG,IAAI;IACjC;IACA,IAAI,CAACI,gBAAgB,GAAG,CAAC,CAAC;IAC1B,IAAI,CAACD,oBAAoB,GAAG,CAAC,CAAC;EAClC;EACA;AACJ;AACA;AACA;EACIwD,YAAYA,CAAA,EAAG;IACX,OAAO,sBAAsB;EACjC;EACA;AACJ;AACA;AACA;EACIC,aAAaA,CAAA,EAAG;IACZ,OAAO,OAAO;EAClB;AACJ;AACAvE,UAAU,CAAC,CACPE,SAAS,CAAC,CAAC,CACd,EAAEI,oBAAoB,CAACkE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AACrDxE,UAAU,CAAC,CACPE,SAAS,CAAC,CAAC,CACd,EAAEI,oBAAoB,CAACkE,SAAS,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAC;AAChErE,gBAAgB,CAAC,sBAAsB,CAAC,GAAGG,oBAAoB","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|