1 |
- {"ast":null,"code":"import { Observable } from \"../Misc/observable.js\";\nimport { Scene } from \"../scene.js\";\nimport { CreatePickingRayInCameraSpace, CreatePickingRayInCameraSpaceToRef, Ray } from \"../Culling/ray.core.js\";\nimport { PickingInfo } from \"../Collisions/pickingInfo.js\";\nimport { SceneComponentConstants } from \"../sceneComponent.js\";\nimport { ActionEvent } from \"../Actions/actionEvent.js\";\nScene.prototype._internalPickSprites = function (ray, predicate, fastCheck, camera) {\n if (!PickingInfo) {\n return null;\n }\n let pickingInfo = null;\n if (!camera) {\n if (!this.activeCamera) {\n return null;\n }\n camera = this.activeCamera;\n }\n if (this.spriteManagers && this.spriteManagers.length > 0) {\n for (let spriteIndex = 0; spriteIndex < this.spriteManagers.length; spriteIndex++) {\n const spriteManager = this.spriteManagers[spriteIndex];\n if (!spriteManager.isPickable) {\n continue;\n }\n const result = spriteManager.intersects(ray, camera, predicate, fastCheck);\n if (!result || !result.hit) {\n continue;\n }\n if (!fastCheck && pickingInfo != null && result.distance >= pickingInfo.distance) {\n continue;\n }\n pickingInfo = result;\n if (fastCheck) {\n break;\n }\n }\n }\n return pickingInfo || new PickingInfo();\n};\nScene.prototype._internalMultiPickSprites = function (ray, predicate, camera) {\n if (!PickingInfo) {\n return null;\n }\n let pickingInfos = [];\n if (!camera) {\n if (!this.activeCamera) {\n return null;\n }\n camera = this.activeCamera;\n }\n if (this.spriteManagers && this.spriteManagers.length > 0) {\n for (let spriteIndex = 0; spriteIndex < this.spriteManagers.length; spriteIndex++) {\n const spriteManager = this.spriteManagers[spriteIndex];\n if (!spriteManager.isPickable) {\n continue;\n }\n const results = spriteManager.multiIntersects(ray, camera, predicate);\n if (results !== null) {\n pickingInfos = pickingInfos.concat(results);\n }\n }\n }\n return pickingInfos;\n};\nScene.prototype.pickSprite = function (x, y, predicate, fastCheck, camera) {\n if (!this._tempSpritePickingRay) {\n return null;\n }\n CreatePickingRayInCameraSpaceToRef(this, x, y, this._tempSpritePickingRay, camera);\n const result = this._internalPickSprites(this._tempSpritePickingRay, predicate, fastCheck, camera);\n if (result) {\n result.ray = CreatePickingRayInCameraSpace(this, x, y, camera);\n }\n return result;\n};\nScene.prototype.pickSpriteWithRay = function (ray, predicate, fastCheck, camera) {\n if (!this._tempSpritePickingRay) {\n return null;\n }\n if (!camera) {\n if (!this.activeCamera) {\n return null;\n }\n camera = this.activeCamera;\n }\n Ray.TransformToRef(ray, camera.getViewMatrix(), this._tempSpritePickingRay);\n const result = this._internalPickSprites(this._tempSpritePickingRay, predicate, fastCheck, camera);\n if (result) {\n result.ray = ray;\n }\n return result;\n};\nScene.prototype.multiPickSprite = function (x, y, predicate, camera) {\n CreatePickingRayInCameraSpaceToRef(this, x, y, this._tempSpritePickingRay, camera);\n return this._internalMultiPickSprites(this._tempSpritePickingRay, predicate, camera);\n};\nScene.prototype.multiPickSpriteWithRay = function (ray, predicate, camera) {\n if (!this._tempSpritePickingRay) {\n return null;\n }\n if (!camera) {\n if (!this.activeCamera) {\n return null;\n }\n camera = this.activeCamera;\n }\n Ray.TransformToRef(ray, camera.getViewMatrix(), this._tempSpritePickingRay);\n return this._internalMultiPickSprites(this._tempSpritePickingRay, predicate, camera);\n};\nScene.prototype.setPointerOverSprite = function (sprite) {\n if (this._pointerOverSprite === sprite) {\n return;\n }\n if (this._pointerOverSprite && this._pointerOverSprite.actionManager) {\n this._pointerOverSprite.actionManager.processTrigger(10, ActionEvent.CreateNewFromSprite(this._pointerOverSprite, this));\n }\n this._pointerOverSprite = sprite;\n if (this._pointerOverSprite && this._pointerOverSprite.actionManager) {\n this._pointerOverSprite.actionManager.processTrigger(9, ActionEvent.CreateNewFromSprite(this._pointerOverSprite, this));\n }\n};\nScene.prototype.getPointerOverSprite = function () {\n return this._pointerOverSprite;\n};\n/**\n * Defines the sprite scene component responsible to manage sprites\n * in a given scene.\n */\nexport class SpriteSceneComponent {\n /**\n * Creates a new instance of the component for the given scene\n * @param scene Defines the scene to register the component in\n */\n constructor(scene) {\n /**\n * The component name helpfull to identify the component in the list of scene components.\n */\n this.name = SceneComponentConstants.NAME_SPRITE;\n this.scene = scene;\n this.scene.spriteManagers = [];\n this.scene._tempSpritePickingRay = Ray ? Ray.Zero() : null;\n this.scene.onBeforeSpritesRenderingObservable = new Observable();\n this.scene.onAfterSpritesRenderingObservable = new Observable();\n this._spritePredicate = sprite => {\n if (!sprite.actionManager) {\n return false;\n }\n return sprite.isPickable && sprite.actionManager.hasPointerTriggers;\n };\n }\n /**\n * Registers the component in a given scene\n */\n register() {\n this.scene._pointerMoveStage.registerStep(SceneComponentConstants.STEP_POINTERMOVE_SPRITE, this, this._pointerMove);\n this.scene._pointerDownStage.registerStep(SceneComponentConstants.STEP_POINTERDOWN_SPRITE, this, this._pointerDown);\n this.scene._pointerUpStage.registerStep(SceneComponentConstants.STEP_POINTERUP_SPRITE, this, this._pointerUp);\n }\n /**\n * Rebuilds the elements related to this component in case of\n * context lost for instance.\n */\n rebuild() {\n /** Nothing to do for sprites */\n }\n /**\n * Disposes the component and the associated resources.\n */\n dispose() {\n this.scene.onBeforeSpritesRenderingObservable.clear();\n this.scene.onAfterSpritesRenderingObservable.clear();\n const spriteManagers = this.scene.spriteManagers;\n if (!spriteManagers) {\n return;\n }\n while (spriteManagers.length) {\n spriteManagers[0].dispose();\n }\n }\n _pickSpriteButKeepRay(originalPointerInfo, x, y, fastCheck, camera) {\n const result = this.scene.pickSprite(x, y, this._spritePredicate, fastCheck, camera);\n if (result) {\n result.ray = originalPointerInfo ? originalPointerInfo.ray : null;\n }\n return result;\n }\n _pointerMove(unTranslatedPointerX, unTranslatedPointerY, pickResult, isMeshPicked, element) {\n const scene = this.scene;\n if (isMeshPicked) {\n scene.setPointerOverSprite(null);\n } else {\n pickResult = this._pickSpriteButKeepRay(pickResult, unTranslatedPointerX, unTranslatedPointerY, false, scene.cameraToUseForPointers || undefined);\n if (pickResult && pickResult.hit && pickResult.pickedSprite) {\n scene.setPointerOverSprite(pickResult.pickedSprite);\n if (!scene.doNotHandleCursors && element) {\n if (scene._pointerOverSprite && scene._pointerOverSprite.actionManager && scene._pointerOverSprite.actionManager.hoverCursor) {\n element.style.cursor = scene._pointerOverSprite.actionManager.hoverCursor;\n } else {\n element.style.cursor = scene.hoverCursor;\n }\n }\n } else {\n scene.setPointerOverSprite(null);\n }\n }\n return pickResult;\n }\n _pointerDown(unTranslatedPointerX, unTranslatedPointerY, pickResult, evt) {\n const scene = this.scene;\n scene._pickedDownSprite = null;\n if (scene.spriteManagers && scene.spriteManagers.length > 0) {\n pickResult = scene.pickSprite(unTranslatedPointerX, unTranslatedPointerY, this._spritePredicate, false, scene.cameraToUseForPointers || undefined);\n if (pickResult && pickResult.hit && pickResult.pickedSprite) {\n if (pickResult.pickedSprite.actionManager) {\n scene._pickedDownSprite = pickResult.pickedSprite;\n switch (evt.button) {\n case 0:\n pickResult.pickedSprite.actionManager.processTrigger(2, ActionEvent.CreateNewFromSprite(pickResult.pickedSprite, scene, evt));\n break;\n case 1:\n pickResult.pickedSprite.actionManager.processTrigger(4, ActionEvent.CreateNewFromSprite(pickResult.pickedSprite, scene, evt));\n break;\n case 2:\n pickResult.pickedSprite.actionManager.processTrigger(3, ActionEvent.CreateNewFromSprite(pickResult.pickedSprite, scene, evt));\n break;\n }\n if (pickResult.pickedSprite.actionManager) {\n pickResult.pickedSprite.actionManager.processTrigger(5, ActionEvent.CreateNewFromSprite(pickResult.pickedSprite, scene, evt));\n }\n }\n }\n }\n return pickResult;\n }\n _pointerUp(unTranslatedPointerX, unTranslatedPointerY, pickResult, evt, doubleClick) {\n const scene = this.scene;\n if (scene.spriteManagers && scene.spriteManagers.length > 0) {\n const spritePickResult = scene.pickSprite(unTranslatedPointerX, unTranslatedPointerY, this._spritePredicate, false, scene.cameraToUseForPointers || undefined);\n if (spritePickResult) {\n if (spritePickResult.hit && spritePickResult.pickedSprite) {\n if (spritePickResult.pickedSprite.actionManager) {\n spritePickResult.pickedSprite.actionManager.processTrigger(7, ActionEvent.CreateNewFromSprite(spritePickResult.pickedSprite, scene, evt));\n if (spritePickResult.pickedSprite.actionManager) {\n if (!this.scene._inputManager._isPointerSwiping()) {\n spritePickResult.pickedSprite.actionManager.processTrigger(1, ActionEvent.CreateNewFromSprite(spritePickResult.pickedSprite, scene, evt));\n }\n if (doubleClick) {\n spritePickResult.pickedSprite.actionManager.processTrigger(6, ActionEvent.CreateNewFromSprite(spritePickResult.pickedSprite, scene, evt));\n }\n }\n }\n }\n if (scene._pickedDownSprite && scene._pickedDownSprite.actionManager && scene._pickedDownSprite !== spritePickResult.pickedSprite) {\n scene._pickedDownSprite.actionManager.processTrigger(16, ActionEvent.CreateNewFromSprite(scene._pickedDownSprite, scene, evt));\n }\n }\n }\n return pickResult;\n }\n}","map":{"version":3,"names":["Observable","Scene","CreatePickingRayInCameraSpace","CreatePickingRayInCameraSpaceToRef","Ray","PickingInfo","SceneComponentConstants","ActionEvent","prototype","_internalPickSprites","ray","predicate","fastCheck","camera","pickingInfo","activeCamera","spriteManagers","length","spriteIndex","spriteManager","isPickable","result","intersects","hit","distance","_internalMultiPickSprites","pickingInfos","results","multiIntersects","concat","pickSprite","x","y","_tempSpritePickingRay","pickSpriteWithRay","TransformToRef","getViewMatrix","multiPickSprite","multiPickSpriteWithRay","setPointerOverSprite","sprite","_pointerOverSprite","actionManager","processTrigger","CreateNewFromSprite","getPointerOverSprite","SpriteSceneComponent","constructor","scene","name","NAME_SPRITE","Zero","onBeforeSpritesRenderingObservable","onAfterSpritesRenderingObservable","_spritePredicate","hasPointerTriggers","register","_pointerMoveStage","registerStep","STEP_POINTERMOVE_SPRITE","_pointerMove","_pointerDownStage","STEP_POINTERDOWN_SPRITE","_pointerDown","_pointerUpStage","STEP_POINTERUP_SPRITE","_pointerUp","rebuild","dispose","clear","_pickSpriteButKeepRay","originalPointerInfo","unTranslatedPointerX","unTranslatedPointerY","pickResult","isMeshPicked","element","cameraToUseForPointers","undefined","pickedSprite","doNotHandleCursors","hoverCursor","style","cursor","evt","_pickedDownSprite","button","doubleClick","spritePickResult","_inputManager","_isPointerSwiping"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Sprites/spriteSceneComponent.js"],"sourcesContent":["import { Observable } from \"../Misc/observable.js\";\nimport { Scene } from \"../scene.js\";\nimport { CreatePickingRayInCameraSpace, CreatePickingRayInCameraSpaceToRef, Ray } from \"../Culling/ray.core.js\";\nimport { PickingInfo } from \"../Collisions/pickingInfo.js\";\nimport { SceneComponentConstants } from \"../sceneComponent.js\";\nimport { ActionEvent } from \"../Actions/actionEvent.js\";\n\nScene.prototype._internalPickSprites = function (ray, predicate, fastCheck, camera) {\n if (!PickingInfo) {\n return null;\n }\n let pickingInfo = null;\n if (!camera) {\n if (!this.activeCamera) {\n return null;\n }\n camera = this.activeCamera;\n }\n if (this.spriteManagers && this.spriteManagers.length > 0) {\n for (let spriteIndex = 0; spriteIndex < this.spriteManagers.length; spriteIndex++) {\n const spriteManager = this.spriteManagers[spriteIndex];\n if (!spriteManager.isPickable) {\n continue;\n }\n const result = spriteManager.intersects(ray, camera, predicate, fastCheck);\n if (!result || !result.hit) {\n continue;\n }\n if (!fastCheck && pickingInfo != null && result.distance >= pickingInfo.distance) {\n continue;\n }\n pickingInfo = result;\n if (fastCheck) {\n break;\n }\n }\n }\n return pickingInfo || new PickingInfo();\n};\nScene.prototype._internalMultiPickSprites = function (ray, predicate, camera) {\n if (!PickingInfo) {\n return null;\n }\n let pickingInfos = [];\n if (!camera) {\n if (!this.activeCamera) {\n return null;\n }\n camera = this.activeCamera;\n }\n if (this.spriteManagers && this.spriteManagers.length > 0) {\n for (let spriteIndex = 0; spriteIndex < this.spriteManagers.length; spriteIndex++) {\n const spriteManager = this.spriteManagers[spriteIndex];\n if (!spriteManager.isPickable) {\n continue;\n }\n const results = spriteManager.multiIntersects(ray, camera, predicate);\n if (results !== null) {\n pickingInfos = pickingInfos.concat(results);\n }\n }\n }\n return pickingInfos;\n};\nScene.prototype.pickSprite = function (x, y, predicate, fastCheck, camera) {\n if (!this._tempSpritePickingRay) {\n return null;\n }\n CreatePickingRayInCameraSpaceToRef(this, x, y, this._tempSpritePickingRay, camera);\n const result = this._internalPickSprites(this._tempSpritePickingRay, predicate, fastCheck, camera);\n if (result) {\n result.ray = CreatePickingRayInCameraSpace(this, x, y, camera);\n }\n return result;\n};\nScene.prototype.pickSpriteWithRay = function (ray, predicate, fastCheck, camera) {\n if (!this._tempSpritePickingRay) {\n return null;\n }\n if (!camera) {\n if (!this.activeCamera) {\n return null;\n }\n camera = this.activeCamera;\n }\n Ray.TransformToRef(ray, camera.getViewMatrix(), this._tempSpritePickingRay);\n const result = this._internalPickSprites(this._tempSpritePickingRay, predicate, fastCheck, camera);\n if (result) {\n result.ray = ray;\n }\n return result;\n};\nScene.prototype.multiPickSprite = function (x, y, predicate, camera) {\n CreatePickingRayInCameraSpaceToRef(this, x, y, this._tempSpritePickingRay, camera);\n return this._internalMultiPickSprites(this._tempSpritePickingRay, predicate, camera);\n};\nScene.prototype.multiPickSpriteWithRay = function (ray, predicate, camera) {\n if (!this._tempSpritePickingRay) {\n return null;\n }\n if (!camera) {\n if (!this.activeCamera) {\n return null;\n }\n camera = this.activeCamera;\n }\n Ray.TransformToRef(ray, camera.getViewMatrix(), this._tempSpritePickingRay);\n return this._internalMultiPickSprites(this._tempSpritePickingRay, predicate, camera);\n};\nScene.prototype.setPointerOverSprite = function (sprite) {\n if (this._pointerOverSprite === sprite) {\n return;\n }\n if (this._pointerOverSprite && this._pointerOverSprite.actionManager) {\n this._pointerOverSprite.actionManager.processTrigger(10, ActionEvent.CreateNewFromSprite(this._pointerOverSprite, this));\n }\n this._pointerOverSprite = sprite;\n if (this._pointerOverSprite && this._pointerOverSprite.actionManager) {\n this._pointerOverSprite.actionManager.processTrigger(9, ActionEvent.CreateNewFromSprite(this._pointerOverSprite, this));\n }\n};\nScene.prototype.getPointerOverSprite = function () {\n return this._pointerOverSprite;\n};\n/**\n * Defines the sprite scene component responsible to manage sprites\n * in a given scene.\n */\nexport class SpriteSceneComponent {\n /**\n * Creates a new instance of the component for the given scene\n * @param scene Defines the scene to register the component in\n */\n constructor(scene) {\n /**\n * The component name helpfull to identify the component in the list of scene components.\n */\n this.name = SceneComponentConstants.NAME_SPRITE;\n this.scene = scene;\n this.scene.spriteManagers = [];\n this.scene._tempSpritePickingRay = Ray ? Ray.Zero() : null;\n this.scene.onBeforeSpritesRenderingObservable = new Observable();\n this.scene.onAfterSpritesRenderingObservable = new Observable();\n this._spritePredicate = (sprite) => {\n if (!sprite.actionManager) {\n return false;\n }\n return sprite.isPickable && sprite.actionManager.hasPointerTriggers;\n };\n }\n /**\n * Registers the component in a given scene\n */\n register() {\n this.scene._pointerMoveStage.registerStep(SceneComponentConstants.STEP_POINTERMOVE_SPRITE, this, this._pointerMove);\n this.scene._pointerDownStage.registerStep(SceneComponentConstants.STEP_POINTERDOWN_SPRITE, this, this._pointerDown);\n this.scene._pointerUpStage.registerStep(SceneComponentConstants.STEP_POINTERUP_SPRITE, this, this._pointerUp);\n }\n /**\n * Rebuilds the elements related to this component in case of\n * context lost for instance.\n */\n rebuild() {\n /** Nothing to do for sprites */\n }\n /**\n * Disposes the component and the associated resources.\n */\n dispose() {\n this.scene.onBeforeSpritesRenderingObservable.clear();\n this.scene.onAfterSpritesRenderingObservable.clear();\n const spriteManagers = this.scene.spriteManagers;\n if (!spriteManagers) {\n return;\n }\n while (spriteManagers.length) {\n spriteManagers[0].dispose();\n }\n }\n _pickSpriteButKeepRay(originalPointerInfo, x, y, fastCheck, camera) {\n const result = this.scene.pickSprite(x, y, this._spritePredicate, fastCheck, camera);\n if (result) {\n result.ray = originalPointerInfo ? originalPointerInfo.ray : null;\n }\n return result;\n }\n _pointerMove(unTranslatedPointerX, unTranslatedPointerY, pickResult, isMeshPicked, element) {\n const scene = this.scene;\n if (isMeshPicked) {\n scene.setPointerOverSprite(null);\n }\n else {\n pickResult = this._pickSpriteButKeepRay(pickResult, unTranslatedPointerX, unTranslatedPointerY, false, scene.cameraToUseForPointers || undefined);\n if (pickResult && pickResult.hit && pickResult.pickedSprite) {\n scene.setPointerOverSprite(pickResult.pickedSprite);\n if (!scene.doNotHandleCursors && element) {\n if (scene._pointerOverSprite && scene._pointerOverSprite.actionManager && scene._pointerOverSprite.actionManager.hoverCursor) {\n element.style.cursor = scene._pointerOverSprite.actionManager.hoverCursor;\n }\n else {\n element.style.cursor = scene.hoverCursor;\n }\n }\n }\n else {\n scene.setPointerOverSprite(null);\n }\n }\n return pickResult;\n }\n _pointerDown(unTranslatedPointerX, unTranslatedPointerY, pickResult, evt) {\n const scene = this.scene;\n scene._pickedDownSprite = null;\n if (scene.spriteManagers && scene.spriteManagers.length > 0) {\n pickResult = scene.pickSprite(unTranslatedPointerX, unTranslatedPointerY, this._spritePredicate, false, scene.cameraToUseForPointers || undefined);\n if (pickResult && pickResult.hit && pickResult.pickedSprite) {\n if (pickResult.pickedSprite.actionManager) {\n scene._pickedDownSprite = pickResult.pickedSprite;\n switch (evt.button) {\n case 0:\n pickResult.pickedSprite.actionManager.processTrigger(2, ActionEvent.CreateNewFromSprite(pickResult.pickedSprite, scene, evt));\n break;\n case 1:\n pickResult.pickedSprite.actionManager.processTrigger(4, ActionEvent.CreateNewFromSprite(pickResult.pickedSprite, scene, evt));\n break;\n case 2:\n pickResult.pickedSprite.actionManager.processTrigger(3, ActionEvent.CreateNewFromSprite(pickResult.pickedSprite, scene, evt));\n break;\n }\n if (pickResult.pickedSprite.actionManager) {\n pickResult.pickedSprite.actionManager.processTrigger(5, ActionEvent.CreateNewFromSprite(pickResult.pickedSprite, scene, evt));\n }\n }\n }\n }\n return pickResult;\n }\n _pointerUp(unTranslatedPointerX, unTranslatedPointerY, pickResult, evt, doubleClick) {\n const scene = this.scene;\n if (scene.spriteManagers && scene.spriteManagers.length > 0) {\n const spritePickResult = scene.pickSprite(unTranslatedPointerX, unTranslatedPointerY, this._spritePredicate, false, scene.cameraToUseForPointers || undefined);\n if (spritePickResult) {\n if (spritePickResult.hit && spritePickResult.pickedSprite) {\n if (spritePickResult.pickedSprite.actionManager) {\n spritePickResult.pickedSprite.actionManager.processTrigger(7, ActionEvent.CreateNewFromSprite(spritePickResult.pickedSprite, scene, evt));\n if (spritePickResult.pickedSprite.actionManager) {\n if (!this.scene._inputManager._isPointerSwiping()) {\n spritePickResult.pickedSprite.actionManager.processTrigger(1, ActionEvent.CreateNewFromSprite(spritePickResult.pickedSprite, scene, evt));\n }\n if (doubleClick) {\n spritePickResult.pickedSprite.actionManager.processTrigger(6, ActionEvent.CreateNewFromSprite(spritePickResult.pickedSprite, scene, evt));\n }\n }\n }\n }\n if (scene._pickedDownSprite && scene._pickedDownSprite.actionManager && scene._pickedDownSprite !== spritePickResult.pickedSprite) {\n scene._pickedDownSprite.actionManager.processTrigger(16, ActionEvent.CreateNewFromSprite(scene._pickedDownSprite, scene, evt));\n }\n }\n }\n return pickResult;\n }\n}\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,uBAAuB;AAClD,SAASC,KAAK,QAAQ,aAAa;AACnC,SAASC,6BAA6B,EAAEC,kCAAkC,EAAEC,GAAG,QAAQ,wBAAwB;AAC/G,SAASC,WAAW,QAAQ,8BAA8B;AAC1D,SAASC,uBAAuB,QAAQ,sBAAsB;AAC9D,SAASC,WAAW,QAAQ,2BAA2B;AAEvDN,KAAK,CAACO,SAAS,CAACC,oBAAoB,GAAG,UAAUC,GAAG,EAAEC,SAAS,EAAEC,SAAS,EAAEC,MAAM,EAAE;EAChF,IAAI,CAACR,WAAW,EAAE;IACd,OAAO,IAAI;EACf;EACA,IAAIS,WAAW,GAAG,IAAI;EACtB,IAAI,CAACD,MAAM,EAAE;IACT,IAAI,CAAC,IAAI,CAACE,YAAY,EAAE;MACpB,OAAO,IAAI;IACf;IACAF,MAAM,GAAG,IAAI,CAACE,YAAY;EAC9B;EACA,IAAI,IAAI,CAACC,cAAc,IAAI,IAAI,CAACA,cAAc,CAACC,MAAM,GAAG,CAAC,EAAE;IACvD,KAAK,IAAIC,WAAW,GAAG,CAAC,EAAEA,WAAW,GAAG,IAAI,CAACF,cAAc,CAACC,MAAM,EAAEC,WAAW,EAAE,EAAE;MAC/E,MAAMC,aAAa,GAAG,IAAI,CAACH,cAAc,CAACE,WAAW,CAAC;MACtD,IAAI,CAACC,aAAa,CAACC,UAAU,EAAE;QAC3B;MACJ;MACA,MAAMC,MAAM,GAAGF,aAAa,CAACG,UAAU,CAACZ,GAAG,EAAEG,MAAM,EAAEF,SAAS,EAAEC,SAAS,CAAC;MAC1E,IAAI,CAACS,MAAM,IAAI,CAACA,MAAM,CAACE,GAAG,EAAE;QACxB;MACJ;MACA,IAAI,CAACX,SAAS,IAAIE,WAAW,IAAI,IAAI,IAAIO,MAAM,CAACG,QAAQ,IAAIV,WAAW,CAACU,QAAQ,EAAE;QAC9E;MACJ;MACAV,WAAW,GAAGO,MAAM;MACpB,IAAIT,SAAS,EAAE;QACX;MACJ;IACJ;EACJ;EACA,OAAOE,WAAW,IAAI,IAAIT,WAAW,CAAC,CAAC;AAC3C,CAAC;AACDJ,KAAK,CAACO,SAAS,CAACiB,yBAAyB,GAAG,UAAUf,GAAG,EAAEC,SAAS,EAAEE,MAAM,EAAE;EAC1E,IAAI,CAACR,WAAW,EAAE;IACd,OAAO,IAAI;EACf;EACA,IAAIqB,YAAY,GAAG,EAAE;EACrB,IAAI,CAACb,MAAM,EAAE;IACT,IAAI,CAAC,IAAI,CAACE,YAAY,EAAE;MACpB,OAAO,IAAI;IACf;IACAF,MAAM,GAAG,IAAI,CAACE,YAAY;EAC9B;EACA,IAAI,IAAI,CAACC,cAAc,IAAI,IAAI,CAACA,cAAc,CAACC,MAAM,GAAG,CAAC,EAAE;IACvD,KAAK,IAAIC,WAAW,GAAG,CAAC,EAAEA,WAAW,GAAG,IAAI,CAACF,cAAc,CAACC,MAAM,EAAEC,WAAW,EAAE,EAAE;MAC/E,MAAMC,aAAa,GAAG,IAAI,CAACH,cAAc,CAACE,WAAW,CAAC;MACtD,IAAI,CAACC,aAAa,CAACC,UAAU,EAAE;QAC3B;MACJ;MACA,MAAMO,OAAO,GAAGR,aAAa,CAACS,eAAe,CAAClB,GAAG,EAAEG,MAAM,EAAEF,SAAS,CAAC;MACrE,IAAIgB,OAAO,KAAK,IAAI,EAAE;QAClBD,YAAY,GAAGA,YAAY,CAACG,MAAM,CAACF,OAAO,CAAC;MAC/C;IACJ;EACJ;EACA,OAAOD,YAAY;AACvB,CAAC;AACDzB,KAAK,CAACO,SAAS,CAACsB,UAAU,GAAG,UAAUC,CAAC,EAAEC,CAAC,EAAErB,SAAS,EAAEC,SAAS,EAAEC,MAAM,EAAE;EACvE,IAAI,CAAC,IAAI,CAACoB,qBAAqB,EAAE;IAC7B,OAAO,IAAI;EACf;EACA9B,kCAAkC,CAAC,IAAI,EAAE4B,CAAC,EAAEC,CAAC,EAAE,IAAI,CAACC,qBAAqB,EAAEpB,MAAM,CAAC;EAClF,MAAMQ,MAAM,GAAG,IAAI,CAACZ,oBAAoB,CAAC,IAAI,CAACwB,qBAAqB,EAAEtB,SAAS,EAAEC,SAAS,EAAEC,MAAM,CAAC;EAClG,IAAIQ,MAAM,EAAE;IACRA,MAAM,CAACX,GAAG,GAAGR,6BAA6B,CAAC,IAAI,EAAE6B,CAAC,EAAEC,CAAC,EAAEnB,MAAM,CAAC;EAClE;EACA,OAAOQ,MAAM;AACjB,CAAC;AACDpB,KAAK,CAACO,SAAS,CAAC0B,iBAAiB,GAAG,UAAUxB,GAAG,EAAEC,SAAS,EAAEC,SAAS,EAAEC,MAAM,EAAE;EAC7E,IAAI,CAAC,IAAI,CAACoB,qBAAqB,EAAE;IAC7B,OAAO,IAAI;EACf;EACA,IAAI,CAACpB,MAAM,EAAE;IACT,IAAI,CAAC,IAAI,CAACE,YAAY,EAAE;MACpB,OAAO,IAAI;IACf;IACAF,MAAM,GAAG,IAAI,CAACE,YAAY;EAC9B;EACAX,GAAG,CAAC+B,cAAc,CAACzB,GAAG,EAAEG,MAAM,CAACuB,aAAa,CAAC,CAAC,EAAE,IAAI,CAACH,qBAAqB,CAAC;EAC3E,MAAMZ,MAAM,GAAG,IAAI,CAACZ,oBAAoB,CAAC,IAAI,CAACwB,qBAAqB,EAAEtB,SAAS,EAAEC,SAAS,EAAEC,MAAM,CAAC;EAClG,IAAIQ,MAAM,EAAE;IACRA,MAAM,CAACX,GAAG,GAAGA,GAAG;EACpB;EACA,OAAOW,MAAM;AACjB,CAAC;AACDpB,KAAK,CAACO,SAAS,CAAC6B,eAAe,GAAG,UAAUN,CAAC,EAAEC,CAAC,EAAErB,SAAS,EAAEE,MAAM,EAAE;EACjEV,kCAAkC,CAAC,IAAI,EAAE4B,CAAC,EAAEC,CAAC,EAAE,IAAI,CAACC,qBAAqB,EAAEpB,MAAM,CAAC;EAClF,OAAO,IAAI,CAACY,yBAAyB,CAAC,IAAI,CAACQ,qBAAqB,EAAEtB,SAAS,EAAEE,MAAM,CAAC;AACxF,CAAC;AACDZ,KAAK,CAACO,SAAS,CAAC8B,sBAAsB,GAAG,UAAU5B,GAAG,EAAEC,SAAS,EAAEE,MAAM,EAAE;EACvE,IAAI,CAAC,IAAI,CAACoB,qBAAqB,EAAE;IAC7B,OAAO,IAAI;EACf;EACA,IAAI,CAACpB,MAAM,EAAE;IACT,IAAI,CAAC,IAAI,CAACE,YAAY,EAAE;MACpB,OAAO,IAAI;IACf;IACAF,MAAM,GAAG,IAAI,CAACE,YAAY;EAC9B;EACAX,GAAG,CAAC+B,cAAc,CAACzB,GAAG,EAAEG,MAAM,CAACuB,aAAa,CAAC,CAAC,EAAE,IAAI,CAACH,qBAAqB,CAAC;EAC3E,OAAO,IAAI,CAACR,yBAAyB,CAAC,IAAI,CAACQ,qBAAqB,EAAEtB,SAAS,EAAEE,MAAM,CAAC;AACxF,CAAC;AACDZ,KAAK,CAACO,SAAS,CAAC+B,oBAAoB,GAAG,UAAUC,MAAM,EAAE;EACrD,IAAI,IAAI,CAACC,kBAAkB,KAAKD,MAAM,EAAE;IACpC;EACJ;EACA,IAAI,IAAI,CAACC,kBAAkB,IAAI,IAAI,CAACA,kBAAkB,CAACC,aAAa,EAAE;IAClE,IAAI,CAACD,kBAAkB,CAACC,aAAa,CAACC,cAAc,CAAC,EAAE,EAAEpC,WAAW,CAACqC,mBAAmB,CAAC,IAAI,CAACH,kBAAkB,EAAE,IAAI,CAAC,CAAC;EAC5H;EACA,IAAI,CAACA,kBAAkB,GAAGD,MAAM;EAChC,IAAI,IAAI,CAACC,kBAAkB,IAAI,IAAI,CAACA,kBAAkB,CAACC,aAAa,EAAE;IAClE,IAAI,CAACD,kBAAkB,CAACC,aAAa,CAACC,cAAc,CAAC,CAAC,EAAEpC,WAAW,CAACqC,mBAAmB,CAAC,IAAI,CAACH,kBAAkB,EAAE,IAAI,CAAC,CAAC;EAC3H;AACJ,CAAC;AACDxC,KAAK,CAACO,SAAS,CAACqC,oBAAoB,GAAG,YAAY;EAC/C,OAAO,IAAI,CAACJ,kBAAkB;AAClC,CAAC;AACD;AACA;AACA;AACA;AACA,OAAO,MAAMK,oBAAoB,CAAC;EAC9B;AACJ;AACA;AACA;EACIC,WAAWA,CAACC,KAAK,EAAE;IACf;AACR;AACA;IACQ,IAAI,CAACC,IAAI,GAAG3C,uBAAuB,CAAC4C,WAAW;IAC/C,IAAI,CAACF,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACA,KAAK,CAAChC,cAAc,GAAG,EAAE;IAC9B,IAAI,CAACgC,KAAK,CAACf,qBAAqB,GAAG7B,GAAG,GAAGA,GAAG,CAAC+C,IAAI,CAAC,CAAC,GAAG,IAAI;IAC1D,IAAI,CAACH,KAAK,CAACI,kCAAkC,GAAG,IAAIpD,UAAU,CAAC,CAAC;IAChE,IAAI,CAACgD,KAAK,CAACK,iCAAiC,GAAG,IAAIrD,UAAU,CAAC,CAAC;IAC/D,IAAI,CAACsD,gBAAgB,GAAId,MAAM,IAAK;MAChC,IAAI,CAACA,MAAM,CAACE,aAAa,EAAE;QACvB,OAAO,KAAK;MAChB;MACA,OAAOF,MAAM,CAACpB,UAAU,IAAIoB,MAAM,CAACE,aAAa,CAACa,kBAAkB;IACvE,CAAC;EACL;EACA;AACJ;AACA;EACIC,QAAQA,CAAA,EAAG;IACP,IAAI,CAACR,KAAK,CAACS,iBAAiB,CAACC,YAAY,CAACpD,uBAAuB,CAACqD,uBAAuB,EAAE,IAAI,EAAE,IAAI,CAACC,YAAY,CAAC;IACnH,IAAI,CAACZ,KAAK,CAACa,iBAAiB,CAACH,YAAY,CAACpD,uBAAuB,CAACwD,uBAAuB,EAAE,IAAI,EAAE,IAAI,CAACC,YAAY,CAAC;IACnH,IAAI,CAACf,KAAK,CAACgB,eAAe,CAACN,YAAY,CAACpD,uBAAuB,CAAC2D,qBAAqB,EAAE,IAAI,EAAE,IAAI,CAACC,UAAU,CAAC;EACjH;EACA;AACJ;AACA;AACA;EACIC,OAAOA,CAAA,EAAG;IACN;EAAA;EAEJ;AACJ;AACA;EACIC,OAAOA,CAAA,EAAG;IACN,IAAI,CAACpB,KAAK,CAACI,kCAAkC,CAACiB,KAAK,CAAC,CAAC;IACrD,IAAI,CAACrB,KAAK,CAACK,iCAAiC,CAACgB,KAAK,CAAC,CAAC;IACpD,MAAMrD,cAAc,GAAG,IAAI,CAACgC,KAAK,CAAChC,cAAc;IAChD,IAAI,CAACA,cAAc,EAAE;MACjB;IACJ;IACA,OAAOA,cAAc,CAACC,MAAM,EAAE;MAC1BD,cAAc,CAAC,CAAC,CAAC,CAACoD,OAAO,CAAC,CAAC;IAC/B;EACJ;EACAE,qBAAqBA,CAACC,mBAAmB,EAAExC,CAAC,EAAEC,CAAC,EAAEpB,SAAS,EAAEC,MAAM,EAAE;IAChE,MAAMQ,MAAM,GAAG,IAAI,CAAC2B,KAAK,CAAClB,UAAU,CAACC,CAAC,EAAEC,CAAC,EAAE,IAAI,CAACsB,gBAAgB,EAAE1C,SAAS,EAAEC,MAAM,CAAC;IACpF,IAAIQ,MAAM,EAAE;MACRA,MAAM,CAACX,GAAG,GAAG6D,mBAAmB,GAAGA,mBAAmB,CAAC7D,GAAG,GAAG,IAAI;IACrE;IACA,OAAOW,MAAM;EACjB;EACAuC,YAAYA,CAACY,oBAAoB,EAAEC,oBAAoB,EAAEC,UAAU,EAAEC,YAAY,EAAEC,OAAO,EAAE;IACxF,MAAM5B,KAAK,GAAG,IAAI,CAACA,KAAK;IACxB,IAAI2B,YAAY,EAAE;MACd3B,KAAK,CAACT,oBAAoB,CAAC,IAAI,CAAC;IACpC,CAAC,MACI;MACDmC,UAAU,GAAG,IAAI,CAACJ,qBAAqB,CAACI,UAAU,EAAEF,oBAAoB,EAAEC,oBAAoB,EAAE,KAAK,EAAEzB,KAAK,CAAC6B,sBAAsB,IAAIC,SAAS,CAAC;MACjJ,IAAIJ,UAAU,IAAIA,UAAU,CAACnD,GAAG,IAAImD,UAAU,CAACK,YAAY,EAAE;QACzD/B,KAAK,CAACT,oBAAoB,CAACmC,UAAU,CAACK,YAAY,CAAC;QACnD,IAAI,CAAC/B,KAAK,CAACgC,kBAAkB,IAAIJ,OAAO,EAAE;UACtC,IAAI5B,KAAK,CAACP,kBAAkB,IAAIO,KAAK,CAACP,kBAAkB,CAACC,aAAa,IAAIM,KAAK,CAACP,kBAAkB,CAACC,aAAa,CAACuC,WAAW,EAAE;YAC1HL,OAAO,CAACM,KAAK,CAACC,MAAM,GAAGnC,KAAK,CAACP,kBAAkB,CAACC,aAAa,CAACuC,WAAW;UAC7E,CAAC,MACI;YACDL,OAAO,CAACM,KAAK,CAACC,MAAM,GAAGnC,KAAK,CAACiC,WAAW;UAC5C;QACJ;MACJ,CAAC,MACI;QACDjC,KAAK,CAACT,oBAAoB,CAAC,IAAI,CAAC;MACpC;IACJ;IACA,OAAOmC,UAAU;EACrB;EACAX,YAAYA,CAACS,oBAAoB,EAAEC,oBAAoB,EAAEC,UAAU,EAAEU,GAAG,EAAE;IACtE,MAAMpC,KAAK,GAAG,IAAI,CAACA,KAAK;IACxBA,KAAK,CAACqC,iBAAiB,GAAG,IAAI;IAC9B,IAAIrC,KAAK,CAAChC,cAAc,IAAIgC,KAAK,CAAChC,cAAc,CAACC,MAAM,GAAG,CAAC,EAAE;MACzDyD,UAAU,GAAG1B,KAAK,CAAClB,UAAU,CAAC0C,oBAAoB,EAAEC,oBAAoB,EAAE,IAAI,CAACnB,gBAAgB,EAAE,KAAK,EAAEN,KAAK,CAAC6B,sBAAsB,IAAIC,SAAS,CAAC;MAClJ,IAAIJ,UAAU,IAAIA,UAAU,CAACnD,GAAG,IAAImD,UAAU,CAACK,YAAY,EAAE;QACzD,IAAIL,UAAU,CAACK,YAAY,CAACrC,aAAa,EAAE;UACvCM,KAAK,CAACqC,iBAAiB,GAAGX,UAAU,CAACK,YAAY;UACjD,QAAQK,GAAG,CAACE,MAAM;YACd,KAAK,CAAC;cACFZ,UAAU,CAACK,YAAY,CAACrC,aAAa,CAACC,cAAc,CAAC,CAAC,EAAEpC,WAAW,CAACqC,mBAAmB,CAAC8B,UAAU,CAACK,YAAY,EAAE/B,KAAK,EAAEoC,GAAG,CAAC,CAAC;cAC7H;YACJ,KAAK,CAAC;cACFV,UAAU,CAACK,YAAY,CAACrC,aAAa,CAACC,cAAc,CAAC,CAAC,EAAEpC,WAAW,CAACqC,mBAAmB,CAAC8B,UAAU,CAACK,YAAY,EAAE/B,KAAK,EAAEoC,GAAG,CAAC,CAAC;cAC7H;YACJ,KAAK,CAAC;cACFV,UAAU,CAACK,YAAY,CAACrC,aAAa,CAACC,cAAc,CAAC,CAAC,EAAEpC,WAAW,CAACqC,mBAAmB,CAAC8B,UAAU,CAACK,YAAY,EAAE/B,KAAK,EAAEoC,GAAG,CAAC,CAAC;cAC7H;UACR;UACA,IAAIV,UAAU,CAACK,YAAY,CAACrC,aAAa,EAAE;YACvCgC,UAAU,CAACK,YAAY,CAACrC,aAAa,CAACC,cAAc,CAAC,CAAC,EAAEpC,WAAW,CAACqC,mBAAmB,CAAC8B,UAAU,CAACK,YAAY,EAAE/B,KAAK,EAAEoC,GAAG,CAAC,CAAC;UACjI;QACJ;MACJ;IACJ;IACA,OAAOV,UAAU;EACrB;EACAR,UAAUA,CAACM,oBAAoB,EAAEC,oBAAoB,EAAEC,UAAU,EAAEU,GAAG,EAAEG,WAAW,EAAE;IACjF,MAAMvC,KAAK,GAAG,IAAI,CAACA,KAAK;IACxB,IAAIA,KAAK,CAAChC,cAAc,IAAIgC,KAAK,CAAChC,cAAc,CAACC,MAAM,GAAG,CAAC,EAAE;MACzD,MAAMuE,gBAAgB,GAAGxC,KAAK,CAAClB,UAAU,CAAC0C,oBAAoB,EAAEC,oBAAoB,EAAE,IAAI,CAACnB,gBAAgB,EAAE,KAAK,EAAEN,KAAK,CAAC6B,sBAAsB,IAAIC,SAAS,CAAC;MAC9J,IAAIU,gBAAgB,EAAE;QAClB,IAAIA,gBAAgB,CAACjE,GAAG,IAAIiE,gBAAgB,CAACT,YAAY,EAAE;UACvD,IAAIS,gBAAgB,CAACT,YAAY,CAACrC,aAAa,EAAE;YAC7C8C,gBAAgB,CAACT,YAAY,CAACrC,aAAa,CAACC,cAAc,CAAC,CAAC,EAAEpC,WAAW,CAACqC,mBAAmB,CAAC4C,gBAAgB,CAACT,YAAY,EAAE/B,KAAK,EAAEoC,GAAG,CAAC,CAAC;YACzI,IAAII,gBAAgB,CAACT,YAAY,CAACrC,aAAa,EAAE;cAC7C,IAAI,CAAC,IAAI,CAACM,KAAK,CAACyC,aAAa,CAACC,iBAAiB,CAAC,CAAC,EAAE;gBAC/CF,gBAAgB,CAACT,YAAY,CAACrC,aAAa,CAACC,cAAc,CAAC,CAAC,EAAEpC,WAAW,CAACqC,mBAAmB,CAAC4C,gBAAgB,CAACT,YAAY,EAAE/B,KAAK,EAAEoC,GAAG,CAAC,CAAC;cAC7I;cACA,IAAIG,WAAW,EAAE;gBACbC,gBAAgB,CAACT,YAAY,CAACrC,aAAa,CAACC,cAAc,CAAC,CAAC,EAAEpC,WAAW,CAACqC,mBAAmB,CAAC4C,gBAAgB,CAACT,YAAY,EAAE/B,KAAK,EAAEoC,GAAG,CAAC,CAAC;cAC7I;YACJ;UACJ;QACJ;QACA,IAAIpC,KAAK,CAACqC,iBAAiB,IAAIrC,KAAK,CAACqC,iBAAiB,CAAC3C,aAAa,IAAIM,KAAK,CAACqC,iBAAiB,KAAKG,gBAAgB,CAACT,YAAY,EAAE;UAC/H/B,KAAK,CAACqC,iBAAiB,CAAC3C,aAAa,CAACC,cAAc,CAAC,EAAE,EAAEpC,WAAW,CAACqC,mBAAmB,CAACI,KAAK,CAACqC,iBAAiB,EAAErC,KAAK,EAAEoC,GAAG,CAAC,CAAC;QAClI;MACJ;IACJ;IACA,OAAOV,UAAU;EACrB;AACJ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|