@anov/3d 0.0.153 → 0.0.176
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/anov3d.js +23 -25
- package/dist/anov3d.js.map +1 -1
- package/dist/applicationApi.js +57 -90
- package/dist/applicationApi.js.map +1 -1
- package/dist/applicationApiType.js +2 -0
- package/dist/applicationApiType.js.map +1 -0
- package/dist/factory/unit/inspection/InspectionObject.js +17 -12
- package/dist/factory/unit/inspection/InspectionObject.js.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/module/animation/index.js +124 -0
- package/dist/module/animation/index.js.map +1 -0
- package/dist/module/animation/motion/index.js +82 -0
- package/dist/module/animation/motion/index.js.map +1 -0
- package/dist/module/animation/strategy.js +27 -0
- package/dist/module/animation/strategy.js.map +1 -0
- package/dist/module/camera/index.js +56 -19
- package/dist/module/camera/index.js.map +1 -1
- package/dist/module/entity/baseEntity.js +41 -10
- package/dist/module/entity/baseEntity.js.map +1 -1
- package/dist/module/entity/group/index.js +80 -0
- package/dist/module/entity/group/index.js.map +1 -0
- package/dist/module/entity/index.js +152 -73
- package/dist/module/entity/index.js.map +1 -1
- package/dist/module/entity/model/index.js +25 -5
- package/dist/module/entity/model/index.js.map +1 -1
- package/dist/module/entity/model/load/loadGlb.js +4 -3
- package/dist/module/entity/model/load/loadGlb.js.map +1 -1
- package/dist/module/entity/poi/index.js +19 -208
- package/dist/module/entity/poi/index.js.map +1 -1
- package/dist/module/entity/poi/style/index.js +6 -46
- package/dist/module/entity/poi/style/index.js.map +1 -1
- package/dist/module/entity/poi/style/plane.js +60 -0
- package/dist/module/entity/poi/style/plane.js.map +1 -0
- package/dist/module/entity/poi/utils.js +1 -1
- package/dist/module/entity/poi/utils.js.map +1 -1
- package/dist/module/entity/spline/index.js +1 -1
- package/dist/module/entity/spline/index.js.map +1 -1
- package/dist/module/entity/spline/style/line_01.js.map +1 -1
- package/dist/module/entity/strategy.js +21 -1
- package/dist/module/entity/strategy.js.map +1 -1
- package/dist/module/entity/type.js.map +1 -1
- package/dist/module/environment/index.js +7 -2
- package/dist/module/environment/index.js.map +1 -1
- package/dist/module/material/index.js +150 -0
- package/dist/module/material/index.js.map +1 -0
- package/dist/module/scene/fileParse.js +250 -0
- package/dist/module/scene/fileParse.js.map +1 -0
- package/dist/module/scene/index.js +36 -2
- package/dist/module/scene/index.js.map +1 -1
- package/dist/sdkEntry.js +8 -0
- package/dist/sdkEntry.js.map +1 -1
- package/package.json +5 -4
- package/dist/module/entity/poi/indexBack.js +0 -29
- package/dist/module/entity/poi/indexBack.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","obj","_toPrimitive","String","toPrimitive","Number","Group","use","_","MessageType","sendToMessage","EMessageStatus","HybridList","entityStrategy","eventPenetrateType","createDisposeFn","getMinimumEntity","hybridList","Entity","app","Map","_registerStrategy","_callee","entityType","strategyMap","strategyClass","_callee$","_context","concat","catchStrategy","has","set","get","registerStrategy","_x","_singleCreate","_callee2","id","strategy","option","group","entityInfoArray","targetEntityInfo","entity","_callee2$","_context2","allSettled","status","reason","options","tag","entityId","add","position","toArray","rotation","scale","visible","singleCreate","_x2","_x3","_x4","_x5","multiCreate","json","_this","itemType","_json$items","items","_json$legends","legends","_ref","_callee3","item","currentData","_callee3$","_context3","legend","find","_x6","useScene","scene","_create","_callee5","_this2","_callee5$","_context5","_callee4","res","_callee4$","_context4","handleResult","_x7","_singleUpdate","_callee6","_callee6$","_context6","update","remove","singleUpdate","_x8","_x9","_x10","_x11","multiUpdate","_this3","_ref3","_callee7","legendItem","currentItem","singleOption","isUpdate","_callee7$","_context7","assignWith","customizer","_x12","_update","_callee9","_this4","_callee9$","_context9","_callee8","_callee8$","_context8","all","_x13","_handleResult","_callee10","_callee10$","_context10","messageType","Event","messageName","Success","global","success","_x14","_x15","objValue","srcValue","isArray","_delete","_this5","layerOptions","delete","removeFromParent","entityDispose","dispose","params","registerEvents","opts","eventName","realEventName","toLowerCase","includes","userData","closestMesh","newClosestMesh","minimumEntity","targetId","addEventListener","unregisterEvents","removeEventListener"],"sources":["../../../src/module/entity/index.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\nimport { Group, use } from '@anov/3d-core'\nimport _ from 'lodash'\nimport type { BaseModule } from '../../utils/abstract'\nimport type Anov3D from '../../sdkEntry'\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\nimport HybridList from './hybridList'\nimport { entityStrategy, eventPenetrateType } from './strategy'\nimport createDisposeFn from './dispose'\nimport type { Option, Opts, RegisterEvents } from './type'\nimport { getMinimumEntity } from './utils'\n\nexport const hybridList = new HybridList<Object3D>()\n\nclass Entity implements BaseModule {\n app: Anov3D\n catchStrategy: Map<string, any> = new Map()\n options: Map<string, any> = new Map()\n\n constructor(app: Anov3D) {\n this.app = app\n }\n\n /**\n * register strategy\n * @param entityType\n * @returns\n */\n async registerStrategy(entityType) {\n const strategyMap = {\n ...entityStrategy,\n }\n\n if (!(entityType in strategyMap))\n throw new Error(`entityType ${entityType} is not supported`)\n\n if (entityType in strategyMap && !this.catchStrategy.has(entityType)) {\n const strategyClass = await strategyMap[entityType]()\n\n // eslint-disable-next-line new-cap\n this.catchStrategy.set(entityType, new strategyClass())\n }\n\n return this.catchStrategy.get(entityType)\n }\n\n async singleCreate(id, strategy, option: Option, group?: Group) {\n const entityInfoArray = await Promise.allSettled([strategy.create(option)])\n const targetEntityInfo = entityInfoArray[0]\n\n if (targetEntityInfo.status === 'rejected')\n throw new Error(targetEntityInfo.reason)\n\n this.options.set(id, option)\n const entity = targetEntityInfo.value\n\n entity.tag = 'entity' // used for event penetration identification\n entity.entityType = option.type\n entity.entityId = id\n\n hybridList.add(id, entity)\n group?.add(entity)\n\n return {\n ...option,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n }\n }\n\n multiCreate(id, strategy, json: Option) {\n const { itemType, items = [], legends = [] } = json\n this.options.set(id, json)\n const group = new Group()\n\n // TODO 优化,定制化非实体逻辑\n items.forEach(async (item) => {\n let currentData = item\n\n if (currentData.legend) {\n currentData = {\n ...legends.find(legend => legend.name === item.legend),\n ...item,\n }\n }\n currentData.type = itemType\n\n await this.singleCreate(\n item.id,\n strategy,\n currentData,\n group,\n )\n })\n\n // @ts-ignore\n group.entityType = 'layer'\n\n hybridList.add(id, group)\n use.useScene().scene.add(group)\n\n return {\n ...json,\n id,\n position: group.position.toArray(),\n rotation: group.rotation.toArray(),\n scale: group.scale.toArray(),\n visible: group.visible,\n\n }\n }\n\n /**\n * create entity\n * @param json\n * @returns\n */\n async create(json: Option) {\n const { id, type, itemType } = json\n\n Promise.resolve().then(async () => {\n const strategy = await this.registerStrategy(itemType || type)\n\n let res\n if (itemType && type === 'layer')\n res = this.multiCreate(id, strategy, json)\n else\n res = this.singleCreate(id, strategy, json)\n\n this.handleResult(id, res)\n })\n\n return json\n }\n\n async singleUpdate(id, strategy, option: Option, group?: Group) {\n this.options.set(id, option)\n const target = hybridList.get(id)\n const entityInfoArray = await Promise.allSettled([strategy.update(target, option)])\n const targetEntityInfo = entityInfoArray[0]\n\n if (targetEntityInfo.status === 'rejected')\n throw new Error(targetEntityInfo.reason)\n\n const entity = targetEntityInfo.value\n\n entity.tag = 'entity' // use used for event penetration identification\n entity.entityId = id\n\n if (group) {\n group.remove(hybridList.get(id))\n group.add(entity)\n }\n\n hybridList.update(id, entity)\n\n return {\n ...option,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n }\n }\n\n multiUpdate(id, strategy, option) {\n const group = hybridList.get(id) as Group\n const { items, legends, itemType } = option\n\n items.forEach(async (item) => {\n const legendItem = legends?.find(legend => legend.name === item.legend)\n const currentItem = legendItem ? { ...legendItem, ...item } : item\n\n const singleOption = this.options.get(item.id)\n const isUpdate = singleOption\n\n if (isUpdate) {\n _.assignWith(singleOption, currentItem, this.customizer)\n await this.singleUpdate(item.id, strategy, singleOption, group)\n }\n else {\n currentItem.type = itemType\n await this.singleCreate(item.id, strategy, currentItem, group)\n }\n })\n\n return {\n ...option,\n id,\n position: group.position.toArray(),\n rotation: group.rotation.toArray(),\n scale: group.scale.toArray(),\n visible: group.visible,\n }\n }\n\n /**\n * update entity\n * @param json\n * @returns\n */\n async update(json: Option) {\n const { id } = json\n\n Promise.resolve().then(async () => {\n // 参数合并\n const option = this.options.get(id)\n _.assignWith(option, json, this.customizer)\n\n const { type, itemType } = option\n const strategy = await this.registerStrategy(itemType || type)\n\n let res\n if (itemType && type === 'layer')\n res = Promise.all(this.multiUpdate(id, strategy, option))\n else\n res = this.singleUpdate(id, strategy, option)\n\n this.handleResult(id, res)\n })\n\n return json\n }\n\n /**\n * handle create or update loadded result\n * @param id\n * @param res\n */\n private async handleResult(id: string, res: any) {\n Promise.resolve(res)\n .then(() => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onLoaded',\n status: EMessageStatus.Success,\n global: false,\n },\n {\n id,\n success: true,\n })\n })\n .catch(() => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onLoaded',\n status: EMessageStatus.Success,\n global: false,\n },\n {\n id,\n success: false,\n })\n })\n }\n\n customizer(objValue, srcValue) {\n if (_.isArray(objValue) && srcValue)\n return srcValue\n }\n\n /**\n * delete entity\n * @param json\n */\n delete(json: Opts) {\n const { id } = json\n const target = hybridList.get(id)\n const layerOptions = this.options.get(id as string)\n const { type } = layerOptions\n\n if (!target)\n throw new Error(`entity ${id} is not exist`)\n\n if (type === 'layer') {\n layerOptions.items.forEach((item) => {\n this.options.has(item.id as string) && this.options.delete(item.id as string)\n hybridList.has(item.id) && hybridList.delete(item.id)\n })\n }\n\n target.removeFromParent()\n\n const entityDispose = createDisposeFn()\n\n // @ts-ignore\n // eslint-disable-next-line no-proto\n target.__proto__.dispose = entityDispose\n // @ts-ignore\n target.dispose()\n\n this.options.has(id as string) && this.options.delete(id as string)\n hybridList.delete(id)\n }\n\n /**\n * get entity\n * @param params\n * @returns\n */\n get(params: { id: string }) {\n const { id } = params\n\n const option = this.options.get(id)\n const entity = hybridList.get(id)\n\n return {\n ...option,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n }\n }\n\n /**\n * register entity events\n * @param opts\n */\n registerEvents(opts: RegisterEvents) {\n const { eventName, entityId: id } = opts\n const realEventName = eventName.slice(2).toLowerCase()\n const target = hybridList.get(id)\n\n if (!target)\n throw new Error(`entity ${id} is not exist`)\n\n // @ts-ignore\n if (eventPenetrateType.includes(target.entityType)) {\n target.userData[realEventName] = (e) => {\n const closestMesh = e.newClosestMesh\n const minimumEntity = getMinimumEntity(closestMesh, target as any)\n\n minimumEntity\n && sendToMessage({\n messageType: MessageType.Event,\n messageName: eventName,\n status: EMessageStatus.Success,\n global: false,\n },\n {\n targetId: minimumEntity.entityId,\n id,\n })\n }\n\n target.addEventListener('click', target.userData[realEventName])\n }\n else {\n target.userData[realEventName] = () => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: eventName,\n status: EMessageStatus.Success,\n global: false,\n },\n {\n targetId: id,\n id,\n },\n )\n }\n target.addEventListener(realEventName, target.userData[realEventName])\n }\n }\n\n /**\n * unregister entity events\n * @param opts\n */\n unregisterEvents(opts: RegisterEvents) {\n const { eventName, entityId: id } = opts\n const realEventName = eventName.slice(2).toLowerCase()\n const target = hybridList.get(id)\n\n if (!target)\n throw new Error(`entity ${id} is not exist`)\n\n target.removeEventListener(realEventName, target.userData[realEventName])\n }\n}\n\nexport default Entity"],"mappings":";+CACA,qJAAAA,mBAAA,YAAAA,oBAAA,WAAAC,CAAA,SAAAC,CAAA,EAAAD,CAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAC,SAAA,EAAAC,CAAA,GAAAH,CAAA,CAAAI,cAAA,EAAAC,CAAA,GAAAJ,MAAA,CAAAK,cAAA,cAAAP,CAAA,EAAAD,CAAA,EAAAE,CAAA,IAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,CAAAO,KAAA,KAAAC,CAAA,wBAAAC,MAAA,GAAAA,MAAA,OAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,kBAAAC,CAAA,GAAAJ,CAAA,CAAAK,aAAA,uBAAAC,CAAA,GAAAN,CAAA,CAAAO,WAAA,8BAAAC,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAC,MAAA,CAAAK,cAAA,CAAAP,CAAA,EAAAD,CAAA,IAAAS,KAAA,EAAAP,CAAA,EAAAiB,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAApB,CAAA,CAAAD,CAAA,WAAAkB,MAAA,mBAAAjB,CAAA,IAAAiB,MAAA,YAAAA,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,gBAAAoB,KAAArB,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAK,CAAA,GAAAV,CAAA,IAAAA,CAAA,CAAAI,SAAA,YAAAmB,SAAA,GAAAvB,CAAA,GAAAuB,SAAA,EAAAX,CAAA,GAAAT,MAAA,CAAAqB,MAAA,CAAAd,CAAA,CAAAN,SAAA,GAAAU,CAAA,OAAAW,OAAA,CAAApB,CAAA,gBAAAE,CAAA,CAAAK,CAAA,eAAAH,KAAA,EAAAiB,gBAAA,CAAAzB,CAAA,EAAAC,CAAA,EAAAY,CAAA,MAAAF,CAAA,aAAAe,SAAA1B,CAAA,EAAAD,CAAA,EAAAE,CAAA,mBAAA0B,IAAA,YAAAC,GAAA,EAAA5B,CAAA,CAAA6B,IAAA,CAAA9B,CAAA,EAAAE,CAAA,cAAAD,CAAA,aAAA2B,IAAA,WAAAC,GAAA,EAAA5B,CAAA,QAAAD,CAAA,CAAAsB,IAAA,GAAAA,IAAA,MAAAS,CAAA,qBAAAC,CAAA,qBAAAC,CAAA,gBAAAC,CAAA,gBAAAC,CAAA,gBAAAZ,UAAA,cAAAa,kBAAA,cAAAC,2BAAA,SAAAC,CAAA,OAAApB,MAAA,CAAAoB,CAAA,EAAA1B,CAAA,qCAAA2B,CAAA,GAAApC,MAAA,CAAAqC,cAAA,EAAAC,CAAA,GAAAF,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAG,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAAvC,CAAA,IAAAG,CAAA,CAAAyB,IAAA,CAAAW,CAAA,EAAA7B,CAAA,MAAA0B,CAAA,GAAAG,CAAA,OAAAE,CAAA,GAAAN,0BAAA,CAAAjC,SAAA,GAAAmB,SAAA,CAAAnB,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAc,CAAA,YAAAM,sBAAA3C,CAAA,gCAAA4C,OAAA,WAAA7C,CAAA,IAAAkB,MAAA,CAAAjB,CAAA,EAAAD,CAAA,YAAAC,CAAA,gBAAA6C,OAAA,CAAA9C,CAAA,EAAAC,CAAA,sBAAA8C,cAAA9C,CAAA,EAAAD,CAAA,aAAAgD,OAAA9C,CAAA,EAAAK,CAAA,EAAAG,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAa,QAAA,CAAA1B,CAAA,CAAAC,CAAA,GAAAD,CAAA,EAAAM,CAAA,mBAAAO,CAAA,CAAAc,IAAA,QAAAZ,CAAA,GAAAF,CAAA,CAAAe,GAAA,EAAAE,CAAA,GAAAf,CAAA,CAAAP,KAAA,SAAAsB,CAAA,gBAAAkB,OAAA,CAAAlB,CAAA,KAAA1B,CAAA,CAAAyB,IAAA,CAAAC,CAAA,eAAA/B,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,CAAAoB,OAAA,EAAAC,IAAA,WAAAnD,CAAA,IAAA+C,MAAA,SAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,gBAAAX,CAAA,IAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,QAAAZ,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,EAAAqB,IAAA,WAAAnD,CAAA,IAAAe,CAAA,CAAAP,KAAA,GAAAR,CAAA,EAAAS,CAAA,CAAAM,CAAA,gBAAAf,CAAA,WAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,CAAAE,CAAA,CAAAe,GAAA,SAAA3B,CAAA,EAAAK,CAAA,oBAAAE,KAAA,WAAAA,MAAAR,CAAA,EAAAI,CAAA,aAAAgD,2BAAA,eAAArD,CAAA,WAAAA,CAAA,EAAAE,CAAA,IAAA8C,MAAA,CAAA/C,CAAA,EAAAI,CAAA,EAAAL,CAAA,EAAAE,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAAkD,IAAA,CAAAC,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAA3B,iBAAA1B,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAE,CAAA,GAAAwB,CAAA,mBAAArB,CAAA,EAAAE,CAAA,QAAAL,CAAA,KAAA0B,CAAA,YAAAqB,KAAA,sCAAA/C,CAAA,KAAA2B,CAAA,oBAAAxB,CAAA,QAAAE,CAAA,WAAAH,KAAA,EAAAR,CAAA,EAAAsD,IAAA,eAAAlD,CAAA,CAAAmD,MAAA,GAAA9C,CAAA,EAAAL,CAAA,CAAAwB,GAAA,GAAAjB,CAAA,UAAAE,CAAA,GAAAT,CAAA,CAAAoD,QAAA,MAAA3C,CAAA,QAAAE,CAAA,GAAA0C,mBAAA,CAAA5C,CAAA,EAAAT,CAAA,OAAAW,CAAA,QAAAA,CAAA,KAAAmB,CAAA,mBAAAnB,CAAA,qBAAAX,CAAA,CAAAmD,MAAA,EAAAnD,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAuD,KAAA,GAAAvD,CAAA,CAAAwB,GAAA,sBAAAxB,CAAA,CAAAmD,MAAA,QAAAjD,CAAA,KAAAwB,CAAA,QAAAxB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAwB,GAAA,EAAAxB,CAAA,CAAAwD,iBAAA,CAAAxD,CAAA,CAAAwB,GAAA,uBAAAxB,CAAA,CAAAmD,MAAA,IAAAnD,CAAA,CAAAyD,MAAA,WAAAzD,CAAA,CAAAwB,GAAA,GAAAtB,CAAA,GAAA0B,CAAA,MAAAK,CAAA,GAAAX,QAAA,CAAA3B,CAAA,EAAAE,CAAA,EAAAG,CAAA,oBAAAiC,CAAA,CAAAV,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAkD,IAAA,GAAArB,CAAA,GAAAF,CAAA,EAAAM,CAAA,CAAAT,GAAA,KAAAM,CAAA,qBAAA1B,KAAA,EAAA6B,CAAA,CAAAT,GAAA,EAAA0B,IAAA,EAAAlD,CAAA,CAAAkD,IAAA,kBAAAjB,CAAA,CAAAV,IAAA,KAAArB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAmD,MAAA,YAAAnD,CAAA,CAAAwB,GAAA,GAAAS,CAAA,CAAAT,GAAA,mBAAA6B,oBAAA1D,CAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAH,CAAA,CAAAsD,MAAA,EAAAjD,CAAA,GAAAP,CAAA,CAAAa,QAAA,CAAAR,CAAA,OAAAE,CAAA,KAAAN,CAAA,SAAAC,CAAA,CAAAuD,QAAA,qBAAApD,CAAA,IAAAL,CAAA,CAAAa,QAAA,CAAAkD,MAAA,KAAA7D,CAAA,CAAAsD,MAAA,aAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,EAAAyD,mBAAA,CAAA1D,CAAA,EAAAE,CAAA,eAAAA,CAAA,CAAAsD,MAAA,kBAAAnD,CAAA,KAAAH,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAmC,SAAA,uCAAA3D,CAAA,iBAAA8B,CAAA,MAAAzB,CAAA,GAAAiB,QAAA,CAAApB,CAAA,EAAAP,CAAA,CAAAa,QAAA,EAAAX,CAAA,CAAA2B,GAAA,mBAAAnB,CAAA,CAAAkB,IAAA,SAAA1B,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,GAAAnB,CAAA,CAAAmB,GAAA,EAAA3B,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,MAAAvB,CAAA,GAAAF,CAAA,CAAAmB,GAAA,SAAAjB,CAAA,GAAAA,CAAA,CAAA2C,IAAA,IAAArD,CAAA,CAAAF,CAAA,CAAAiE,UAAA,IAAArD,CAAA,CAAAH,KAAA,EAAAP,CAAA,CAAAgE,IAAA,GAAAlE,CAAA,CAAAmE,OAAA,eAAAjE,CAAA,CAAAsD,MAAA,KAAAtD,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,GAAAC,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,IAAAvB,CAAA,IAAAV,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAmC,SAAA,sCAAA9D,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,cAAAiC,aAAAnE,CAAA,QAAAD,CAAA,KAAAqE,MAAA,EAAApE,CAAA,YAAAA,CAAA,KAAAD,CAAA,CAAAsE,QAAA,GAAArE,CAAA,WAAAA,CAAA,KAAAD,CAAA,CAAAuE,UAAA,GAAAtE,CAAA,KAAAD,CAAA,CAAAwE,QAAA,GAAAvE,CAAA,WAAAwE,UAAA,CAAAC,IAAA,CAAA1E,CAAA,cAAA2E,cAAA1E,CAAA,QAAAD,CAAA,GAAAC,CAAA,CAAA2E,UAAA,QAAA5E,CAAA,CAAA4B,IAAA,oBAAA5B,CAAA,CAAA6B,GAAA,EAAA5B,CAAA,CAAA2E,UAAA,GAAA5E,CAAA,aAAAyB,QAAAxB,CAAA,SAAAwE,UAAA,MAAAJ,MAAA,aAAApE,CAAA,CAAA4C,OAAA,CAAAuB,YAAA,cAAAS,KAAA,iBAAAnC,OAAA1C,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAY,CAAA,OAAAV,CAAA,SAAAA,CAAA,CAAA4B,IAAA,CAAA9B,CAAA,4BAAAA,CAAA,CAAAkE,IAAA,SAAAlE,CAAA,OAAA8E,KAAA,CAAA9E,CAAA,CAAA+E,MAAA,SAAAxE,CAAA,OAAAG,CAAA,YAAAwD,KAAA,aAAA3D,CAAA,GAAAP,CAAA,CAAA+E,MAAA,OAAA1E,CAAA,CAAAyB,IAAA,CAAA9B,CAAA,EAAAO,CAAA,UAAA2D,IAAA,CAAAzD,KAAA,GAAAT,CAAA,CAAAO,CAAA,GAAA2D,IAAA,CAAAX,IAAA,OAAAW,IAAA,SAAAA,IAAA,CAAAzD,KAAA,GAAAR,CAAA,EAAAiE,IAAA,CAAAX,IAAA,OAAAW,IAAA,YAAAxD,CAAA,CAAAwD,IAAA,GAAAxD,CAAA,gBAAAsD,SAAA,CAAAf,OAAA,CAAAjD,CAAA,kCAAAoC,iBAAA,CAAAhC,SAAA,GAAAiC,0BAAA,EAAA9B,CAAA,CAAAoC,CAAA,mBAAAlC,KAAA,EAAA4B,0BAAA,EAAAjB,YAAA,SAAAb,CAAA,CAAA8B,0BAAA,mBAAA5B,KAAA,EAAA2B,iBAAA,EAAAhB,YAAA,SAAAgB,iBAAA,CAAA4C,WAAA,GAAA9D,MAAA,CAAAmB,0BAAA,EAAArB,CAAA,wBAAAhB,CAAA,CAAAiF,mBAAA,aAAAhF,CAAA,QAAAD,CAAA,wBAAAC,CAAA,IAAAA,CAAA,CAAAiF,WAAA,WAAAlF,CAAA,KAAAA,CAAA,KAAAoC,iBAAA,6BAAApC,CAAA,CAAAgF,WAAA,IAAAhF,CAAA,CAAAmF,IAAA,OAAAnF,CAAA,CAAAoF,IAAA,aAAAnF,CAAA,WAAAE,MAAA,CAAAkF,cAAA,GAAAlF,MAAA,CAAAkF,cAAA,CAAApF,CAAA,EAAAoC,0BAAA,KAAApC,CAAA,CAAAqF,SAAA,GAAAjD,0BAAA,EAAAnB,MAAA,CAAAjB,CAAA,EAAAe,CAAA,yBAAAf,CAAA,CAAAG,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAmB,CAAA,GAAA1C,CAAA,KAAAD,CAAA,CAAAuF,KAAA,aAAAtF,CAAA,aAAAkD,OAAA,EAAAlD,CAAA,OAAA2C,qBAAA,CAAAG,aAAA,CAAA3C,SAAA,GAAAc,MAAA,CAAA6B,aAAA,CAAA3C,SAAA,EAAAU,CAAA,iCAAAd,CAAA,CAAA+C,aAAA,GAAAA,aAAA,EAAA/C,CAAA,CAAAwF,KAAA,aAAAvF,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,EAAAG,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAA+E,OAAA,OAAA7E,CAAA,OAAAmC,aAAA,CAAAzB,IAAA,CAAArB,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,GAAAG,CAAA,UAAAV,CAAA,CAAAiF,mBAAA,CAAA/E,CAAA,IAAAU,CAAA,GAAAA,CAAA,CAAAsD,IAAA,GAAAd,IAAA,WAAAnD,CAAA,WAAAA,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAQ,KAAA,GAAAG,CAAA,CAAAsD,IAAA,WAAAtB,qBAAA,CAAAD,CAAA,GAAAzB,MAAA,CAAAyB,CAAA,EAAA3B,CAAA,gBAAAE,MAAA,CAAAyB,CAAA,EAAA/B,CAAA,iCAAAM,MAAA,CAAAyB,CAAA,6DAAA3C,CAAA,CAAA0F,IAAA,aAAAzF,CAAA,QAAAD,CAAA,GAAAG,MAAA,CAAAF,CAAA,GAAAC,CAAA,gBAAAG,CAAA,IAAAL,CAAA,EAAAE,CAAA,CAAAwE,IAAA,CAAArE,CAAA,UAAAH,CAAA,CAAAyF,OAAA,aAAAzB,KAAA,WAAAhE,CAAA,CAAA6E,MAAA,SAAA9E,CAAA,GAAAC,CAAA,CAAA0F,GAAA,QAAA3F,CAAA,IAAAD,CAAA,SAAAkE,IAAA,CAAAzD,KAAA,GAAAR,CAAA,EAAAiE,IAAA,CAAAX,IAAA,OAAAW,IAAA,WAAAA,IAAA,CAAAX,IAAA,OAAAW,IAAA,QAAAlE,CAAA,CAAA0C,MAAA,GAAAA,MAAA,EAAAjB,OAAA,CAAArB,SAAA,KAAA8E,WAAA,EAAAzD,OAAA,EAAAoD,KAAA,WAAAA,MAAA7E,CAAA,aAAA6F,IAAA,WAAA3B,IAAA,WAAAP,IAAA,QAAAC,KAAA,GAAA3D,CAAA,OAAAsD,IAAA,YAAAE,QAAA,cAAAD,MAAA,gBAAA3B,GAAA,GAAA5B,CAAA,OAAAwE,UAAA,CAAA5B,OAAA,CAAA8B,aAAA,IAAA3E,CAAA,WAAAE,CAAA,kBAAAA,CAAA,CAAA4F,MAAA,OAAAzF,CAAA,CAAAyB,IAAA,OAAA5B,CAAA,MAAA4E,KAAA,EAAA5E,CAAA,CAAA6F,KAAA,cAAA7F,CAAA,IAAAD,CAAA,MAAA+F,IAAA,WAAAA,KAAA,SAAAzC,IAAA,WAAAtD,CAAA,QAAAwE,UAAA,IAAAG,UAAA,kBAAA3E,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,cAAAoE,IAAA,KAAApC,iBAAA,WAAAA,kBAAA7D,CAAA,aAAAuD,IAAA,QAAAvD,CAAA,MAAAE,CAAA,kBAAAgG,OAAA7F,CAAA,EAAAE,CAAA,WAAAK,CAAA,CAAAgB,IAAA,YAAAhB,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAE,CAAA,CAAAgE,IAAA,GAAA7D,CAAA,EAAAE,CAAA,KAAAL,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,KAAAM,CAAA,aAAAA,CAAA,QAAAkE,UAAA,CAAAM,MAAA,MAAAxE,CAAA,SAAAA,CAAA,QAAAG,CAAA,QAAA+D,UAAA,CAAAlE,CAAA,GAAAK,CAAA,GAAAF,CAAA,CAAAkE,UAAA,iBAAAlE,CAAA,CAAA2D,MAAA,SAAA6B,MAAA,aAAAxF,CAAA,CAAA2D,MAAA,SAAAwB,IAAA,QAAA/E,CAAA,GAAAT,CAAA,CAAAyB,IAAA,CAAApB,CAAA,eAAAM,CAAA,GAAAX,CAAA,CAAAyB,IAAA,CAAApB,CAAA,qBAAAI,CAAA,IAAAE,CAAA,aAAA6E,IAAA,GAAAnF,CAAA,CAAA4D,QAAA,SAAA4B,MAAA,CAAAxF,CAAA,CAAA4D,QAAA,gBAAAuB,IAAA,GAAAnF,CAAA,CAAA6D,UAAA,SAAA2B,MAAA,CAAAxF,CAAA,CAAA6D,UAAA,cAAAzD,CAAA,aAAA+E,IAAA,GAAAnF,CAAA,CAAA4D,QAAA,SAAA4B,MAAA,CAAAxF,CAAA,CAAA4D,QAAA,qBAAAtD,CAAA,YAAAsC,KAAA,qDAAAuC,IAAA,GAAAnF,CAAA,CAAA6D,UAAA,SAAA2B,MAAA,CAAAxF,CAAA,CAAA6D,UAAA,YAAAT,MAAA,WAAAA,OAAA7D,CAAA,EAAAD,CAAA,aAAAE,CAAA,QAAAuE,UAAA,CAAAM,MAAA,MAAA7E,CAAA,SAAAA,CAAA,QAAAK,CAAA,QAAAkE,UAAA,CAAAvE,CAAA,OAAAK,CAAA,CAAA8D,MAAA,SAAAwB,IAAA,IAAAxF,CAAA,CAAAyB,IAAA,CAAAvB,CAAA,wBAAAsF,IAAA,GAAAtF,CAAA,CAAAgE,UAAA,QAAA7D,CAAA,GAAAH,CAAA,aAAAG,CAAA,iBAAAT,CAAA,mBAAAA,CAAA,KAAAS,CAAA,CAAA2D,MAAA,IAAArE,CAAA,IAAAA,CAAA,IAAAU,CAAA,CAAA6D,UAAA,KAAA7D,CAAA,cAAAE,CAAA,GAAAF,CAAA,GAAAA,CAAA,CAAAkE,UAAA,cAAAhE,CAAA,CAAAgB,IAAA,GAAA3B,CAAA,EAAAW,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAU,CAAA,SAAA8C,MAAA,gBAAAU,IAAA,GAAAxD,CAAA,CAAA6D,UAAA,EAAApC,CAAA,SAAAgE,QAAA,CAAAvF,CAAA,MAAAuF,QAAA,WAAAA,SAAAlG,CAAA,EAAAD,CAAA,oBAAAC,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,qBAAA5B,CAAA,CAAA2B,IAAA,mBAAA3B,CAAA,CAAA2B,IAAA,QAAAsC,IAAA,GAAAjE,CAAA,CAAA4B,GAAA,gBAAA5B,CAAA,CAAA2B,IAAA,SAAAqE,IAAA,QAAApE,GAAA,GAAA5B,CAAA,CAAA4B,GAAA,OAAA2B,MAAA,kBAAAU,IAAA,yBAAAjE,CAAA,CAAA2B,IAAA,IAAA5B,CAAA,UAAAkE,IAAA,GAAAlE,CAAA,GAAAmC,CAAA,KAAAiE,MAAA,WAAAA,OAAAnG,CAAA,aAAAD,CAAA,QAAAyE,UAAA,CAAAM,MAAA,MAAA/E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAuE,UAAA,CAAAzE,CAAA,OAAAE,CAAA,CAAAqE,UAAA,KAAAtE,CAAA,cAAAkG,QAAA,CAAAjG,CAAA,CAAA0E,UAAA,EAAA1E,CAAA,CAAAsE,QAAA,GAAAG,aAAA,CAAAzE,CAAA,GAAAiC,CAAA,OAAAkE,KAAA,WAAAC,OAAArG,CAAA,aAAAD,CAAA,QAAAyE,UAAA,CAAAM,MAAA,MAAA/E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAuE,UAAA,CAAAzE,CAAA,OAAAE,CAAA,CAAAmE,MAAA,KAAApE,CAAA,QAAAI,CAAA,GAAAH,CAAA,CAAA0E,UAAA,kBAAAvE,CAAA,CAAAuB,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAwB,GAAA,EAAA8C,aAAA,CAAAzE,CAAA,YAAAK,CAAA,gBAAA+C,KAAA,8BAAAiD,aAAA,WAAAA,cAAAvG,CAAA,EAAAE,CAAA,EAAAG,CAAA,gBAAAoD,QAAA,KAAA5C,QAAA,EAAA6B,MAAA,CAAA1C,CAAA,GAAAiE,UAAA,EAAA/D,CAAA,EAAAiE,OAAA,EAAA9D,CAAA,oBAAAmD,MAAA,UAAA3B,GAAA,GAAA5B,CAAA,GAAAkC,CAAA,OAAAnC,CAAA;AAAA,SAAAwG,QAAAxG,CAAA,EAAAE,CAAA,QAAAD,CAAA,GAAAE,MAAA,CAAAuF,IAAA,CAAA1F,CAAA,OAAAG,MAAA,CAAAsG,qBAAA,QAAAlG,CAAA,GAAAJ,MAAA,CAAAsG,qBAAA,CAAAzG,CAAA,GAAAE,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAmG,MAAA,WAAAxG,CAAA,WAAAC,MAAA,CAAAwG,wBAAA,CAAA3G,CAAA,EAAAE,CAAA,EAAAiB,UAAA,OAAAlB,CAAA,CAAAyE,IAAA,CAAAkC,KAAA,CAAA3G,CAAA,EAAAM,CAAA,YAAAN,CAAA;AAAA,SAAA4G,cAAA7G,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAA4G,SAAA,CAAA/B,MAAA,EAAA7E,CAAA,UAAAD,CAAA,WAAA6G,SAAA,CAAA5G,CAAA,IAAA4G,SAAA,CAAA5G,CAAA,QAAAA,CAAA,OAAAsG,OAAA,CAAArG,MAAA,CAAAF,CAAA,OAAA4C,OAAA,WAAA3C,CAAA,IAAA6G,eAAA,CAAA/G,CAAA,EAAAE,CAAA,EAAAD,CAAA,CAAAC,CAAA,SAAAC,MAAA,CAAA6G,yBAAA,GAAA7G,MAAA,CAAA8G,gBAAA,CAAAjH,CAAA,EAAAG,MAAA,CAAA6G,yBAAA,CAAA/G,CAAA,KAAAuG,OAAA,CAAArG,MAAA,CAAAF,CAAA,GAAA4C,OAAA,WAAA3C,CAAA,IAAAC,MAAA,CAAAK,cAAA,CAAAR,CAAA,EAAAE,CAAA,EAAAC,MAAA,CAAAwG,wBAAA,CAAA1G,CAAA,EAAAC,CAAA,iBAAAF,CAAA;AAAA,SAAAkH,mBAAAC,GAAA,EAAAjE,OAAA,EAAAkE,MAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,GAAA,EAAA1F,GAAA,cAAA2F,IAAA,GAAAL,GAAA,CAAAI,GAAA,EAAA1F,GAAA,OAAApB,KAAA,GAAA+G,IAAA,CAAA/G,KAAA,WAAAgH,KAAA,IAAAL,MAAA,CAAAK,KAAA,iBAAAD,IAAA,CAAAjE,IAAA,IAAAL,OAAA,CAAAzC,KAAA,YAAAgF,OAAA,CAAAvC,OAAA,CAAAzC,KAAA,EAAA2C,IAAA,CAAAiE,KAAA,EAAAC,MAAA;AAAA,SAAAI,kBAAAC,EAAA,6BAAAC,IAAA,SAAAC,IAAA,GAAAf,SAAA,aAAArB,OAAA,WAAAvC,OAAA,EAAAkE,MAAA,QAAAD,GAAA,GAAAQ,EAAA,CAAAf,KAAA,CAAAgB,IAAA,EAAAC,IAAA,YAAAR,MAAA5G,KAAA,IAAAyG,kBAAA,CAAAC,GAAA,EAAAjE,OAAA,EAAAkE,MAAA,EAAAC,KAAA,EAAAC,MAAA,UAAA7G,KAAA,cAAA6G,OAAAQ,GAAA,IAAAZ,kBAAA,CAAAC,GAAA,EAAAjE,OAAA,EAAAkE,MAAA,EAAAC,KAAA,EAAAC,MAAA,WAAAQ,GAAA,KAAAT,KAAA,CAAAU,SAAA;AAAA,SAAAC,gBAAAC,QAAA,EAAAC,WAAA,UAAAD,QAAA,YAAAC,WAAA,eAAAlE,SAAA;AAAA,SAAAmE,kBAAAC,MAAA,EAAAC,KAAA,aAAA3H,CAAA,MAAAA,CAAA,GAAA2H,KAAA,CAAAtD,MAAA,EAAArE,CAAA,UAAA4H,UAAA,GAAAD,KAAA,CAAA3H,CAAA,GAAA4H,UAAA,CAAAnH,UAAA,GAAAmH,UAAA,CAAAnH,UAAA,WAAAmH,UAAA,CAAAlH,YAAA,wBAAAkH,UAAA,EAAAA,UAAA,CAAAjH,QAAA,SAAAlB,MAAA,CAAAK,cAAA,CAAA4H,MAAA,EAAAG,cAAA,CAAAD,UAAA,CAAAf,GAAA,GAAAe,UAAA;AAAA,SAAAE,aAAAN,WAAA,EAAAO,UAAA,EAAAC,WAAA,QAAAD,UAAA,EAAAN,iBAAA,CAAAD,WAAA,CAAA9H,SAAA,EAAAqI,UAAA,OAAAC,WAAA,EAAAP,iBAAA,CAAAD,WAAA,EAAAQ,WAAA,GAAAvI,MAAA,CAAAK,cAAA,CAAA0H,WAAA,iBAAA7G,QAAA,mBAAA6G,WAAA;AAAA,SAAAnB,gBAAA4B,GAAA,EAAApB,GAAA,EAAA9G,KAAA,IAAA8G,GAAA,GAAAgB,cAAA,CAAAhB,GAAA,OAAAA,GAAA,IAAAoB,GAAA,IAAAxI,MAAA,CAAAK,cAAA,CAAAmI,GAAA,EAAApB,GAAA,IAAA9G,KAAA,EAAAA,KAAA,EAAAU,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAsH,GAAA,CAAApB,GAAA,IAAA9G,KAAA,WAAAkI,GAAA;AAAA,SAAAJ,eAAAtI,CAAA,QAAAS,CAAA,GAAAkI,YAAA,CAAA3I,CAAA,gCAAAgD,OAAA,CAAAvC,CAAA,IAAAA,CAAA,GAAAmI,MAAA,CAAAnI,CAAA;AAAA,SAAAkI,aAAA3I,CAAA,EAAAC,CAAA,oBAAA+C,OAAA,CAAAhD,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAD,CAAA,GAAAC,CAAA,CAAAU,MAAA,CAAAmI,WAAA,kBAAA9I,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAA8B,IAAA,CAAA7B,CAAA,EAAAC,CAAA,gCAAA+C,OAAA,CAAAvC,CAAA,UAAAA,CAAA,YAAAsD,SAAA,yEAAA9D,CAAA,GAAA2I,MAAA,GAAAE,MAAA,EAAA9I,CAAA;AAAA,SAAS+I,KAAK,EAAEC,GAAG,QAAQ,eAAe;AAC1C,OAAOC,CAAC,MAAM,QAAQ;AAGtB,SAASC,WAAW,EAAEC,aAAa;AACnC,SAASC,cAAc;AACvB,OAAOC,UAAU;AACjB,SAASC,cAAc,EAAEC,kBAAkB;AAC3C,OAAOC,eAAe;AAEtB,SAASC,gBAAgB;AAEzB,OAAO,IAAMC,UAAU,GAAG,IAAIL,UAAU,CAAW,CAAC;AAAA,IAE9CM,MAAM;EAKV,SAAAA,OAAYC,GAAW,EAAE;IAAA7B,eAAA,OAAA4B,MAAA;IAAA7C,eAAA;IAAAA,eAAA,wBAHS,IAAI+C,GAAG,CAAC,CAAC;IAAA/C,eAAA,kBACf,IAAI+C,GAAG,CAAC,CAAC;IAGnC,IAAI,CAACD,GAAG,GAAGA,GAAG;EAChB;;EAEA;AACF;AACA;AACA;AACA;EAJErB,YAAA,CAAAoB,MAAA;IAAArC,GAAA;IAAA9G,KAAA;MAAA,IAAAsJ,iBAAA,GAAArC,iBAAA,eAAA3H,mBAAA,GAAAqF,IAAA,CAKA,SAAA4E,QAAuBC,UAAU;QAAA,IAAAC,WAAA,EAAAC,aAAA;QAAA,OAAApK,mBAAA,GAAAuB,IAAA,UAAA8I,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAxE,IAAA,GAAAwE,QAAA,CAAAnG,IAAA;YAAA;cACzBgG,WAAW,GAAArD,aAAA,KACZ0C,cAAc;cAAA,IAGbU,UAAU,IAAIC,WAAW;gBAAAG,QAAA,CAAAnG,IAAA;gBAAA;cAAA;cAAA,MACvB,IAAIZ,KAAK,eAAAgH,MAAA,CAAeL,UAAU,sBAAmB,CAAC;YAAA;cAAA,MAE1DA,UAAU,IAAIC,WAAW,IAAI,CAAC,IAAI,CAACK,aAAa,CAACC,GAAG,CAACP,UAAU,CAAC;gBAAAI,QAAA,CAAAnG,IAAA;gBAAA;cAAA;cAAAmG,QAAA,CAAAnG,IAAA;cAAA,OACtCgG,WAAW,CAACD,UAAU,CAAC,CAAC,CAAC;YAAA;cAA/CE,aAAa,GAAAE,QAAA,CAAA1G,IAAA;cAEnB;cACA,IAAI,CAAC4G,aAAa,CAACE,GAAG,CAACR,UAAU,EAAE,IAAIE,aAAa,CAAC,CAAC,CAAC;YAAA;cAAA,OAAAE,QAAA,CAAAvG,MAAA,WAGlD,IAAI,CAACyG,aAAa,CAACG,GAAG,CAACT,UAAU,CAAC;YAAA;YAAA;cAAA,OAAAI,QAAA,CAAArE,IAAA;UAAA;QAAA,GAAAgE,OAAA;MAAA,CAC1C;MAAA,SAAAW,iBAAAC,EAAA;QAAA,OAAAb,iBAAA,CAAAnD,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAA6D,gBAAA;IAAA;EAAA;IAAApD,GAAA;IAAA9G,KAAA;MAAA,IAAAoK,aAAA,GAAAnD,iBAAA,eAAA3H,mBAAA,GAAAqF,IAAA,CAED,SAAA0F,SAAmBC,EAAE,EAAEC,QAAQ,EAAEC,MAAc,EAAEC,KAAa;QAAA,IAAAC,eAAA,EAAAC,gBAAA,EAAAC,MAAA;QAAA,OAAAtL,mBAAA,GAAAuB,IAAA,UAAAgK,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAA1F,IAAA,GAAA0F,SAAA,CAAArH,IAAA;YAAA;cAAAqH,SAAA,CAAArH,IAAA;cAAA,OAC9BuB,OAAO,CAAC+F,UAAU,CAAC,CAACR,QAAQ,CAACxJ,MAAM,CAACyJ,MAAM,CAAC,CAAC,CAAC;YAAA;cAArEE,eAAe,GAAAI,SAAA,CAAA5H,IAAA;cACfyH,gBAAgB,GAAGD,eAAe,CAAC,CAAC,CAAC;cAAA,MAEvCC,gBAAgB,CAACK,MAAM,KAAK,UAAU;gBAAAF,SAAA,CAAArH,IAAA;gBAAA;cAAA;cAAA,MAClC,IAAIZ,KAAK,CAAC8H,gBAAgB,CAACM,MAAM,CAAC;YAAA;cAE1C,IAAI,CAACC,OAAO,CAAClB,GAAG,CAACM,EAAE,EAAEE,MAAM,CAAC;cACtBI,MAAM,GAAGD,gBAAgB,CAAC3K,KAAK;cAErC4K,MAAM,CAACO,GAAG,GAAG,QAAQ,EAAC;cACtBP,MAAM,CAACpB,UAAU,GAAGgB,MAAM,CAACrJ,IAAI;cAC/ByJ,MAAM,CAACQ,QAAQ,GAAGd,EAAE;cAEpBpB,UAAU,CAACmC,GAAG,CAACf,EAAE,EAAEM,MAAM,CAAC;cAC1BH,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEY,GAAG,CAACT,MAAM,CAAC;cAAA,OAAAE,SAAA,CAAAzH,MAAA,WAAA+C,aAAA,CAAAA,aAAA,KAGboE,MAAM;gBACTF,EAAE,EAAFA,EAAE;gBACFgB,QAAQ,EAAEV,MAAM,CAACU,QAAQ,CAACC,OAAO,CAAC,CAAC;gBACnCC,QAAQ,EAAEZ,MAAM,CAACY,QAAQ,CAACD,OAAO,CAAC,CAAC;gBACnCE,KAAK,EAAEb,MAAM,CAACa,KAAK,CAACF,OAAO,CAAC,CAAC;gBAC7BG,OAAO,EAAEd,MAAM,CAACc;cAAO;YAAA;YAAA;cAAA,OAAAZ,SAAA,CAAAvF,IAAA;UAAA;QAAA,GAAA8E,QAAA;MAAA,CAE1B;MAAA,SAAAsB,aAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA;QAAA,OAAA3B,aAAA,CAAAjE,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAAsF,YAAA;IAAA;EAAA;IAAA7E,GAAA;IAAA9G,KAAA,EAED,SAAAgM,YAAY1B,EAAE,EAAEC,QAAQ,EAAE0B,IAAY,EAAE;MAAA,IAAAC,KAAA;MACtC,IAAQC,QAAQ,GAA+BF,IAAI,CAA3CE,QAAQ;QAAAC,WAAA,GAA+BH,IAAI,CAAjCI,KAAK;QAALA,KAAK,GAAAD,WAAA,cAAG,EAAE,GAAAA,WAAA;QAAAE,aAAA,GAAmBL,IAAI,CAArBM,OAAO;QAAPA,OAAO,GAAAD,aAAA,cAAG,EAAE,GAAAA,aAAA;MAC1C,IAAI,CAACpB,OAAO,CAAClB,GAAG,CAACM,EAAE,EAAE2B,IAAI,CAAC;MAC1B,IAAMxB,KAAK,GAAG,IAAIlC,KAAK,CAAC,CAAC;;MAEzB;MACA8D,KAAK,CAACjK,OAAO;QAAA,IAAAoK,IAAA,GAAAvF,iBAAA,eAAA3H,mBAAA,GAAAqF,IAAA,CAAC,SAAA8H,SAAOC,IAAI;UAAA,IAAAC,WAAA;UAAA,OAAArN,mBAAA,GAAAuB,IAAA,UAAA+L,UAAAC,SAAA;YAAA,kBAAAA,SAAA,CAAAzH,IAAA,GAAAyH,SAAA,CAAApJ,IAAA;cAAA;gBACnBkJ,WAAW,GAAGD,IAAI;gBAEtB,IAAIC,WAAW,CAACG,MAAM,EAAE;kBACtBH,WAAW,GAAAvG,aAAA,CAAAA,aAAA,KACNmG,OAAO,CAACQ,IAAI,CAAC,UAAAD,MAAM;oBAAA,OAAIA,MAAM,CAACpI,IAAI,KAAKgI,IAAI,CAACI,MAAM;kBAAA,EAAC,GACnDJ,IAAI,CACR;gBACH;gBACAC,WAAW,CAACxL,IAAI,GAAGgL,QAAQ;gBAAAU,SAAA,CAAApJ,IAAA;gBAAA,OAErByI,KAAI,CAACP,YAAY,CACrBe,IAAI,CAACpC,EAAE,EACPC,QAAQ,EACRoC,WAAW,EACXlC,KACF,CAAC;cAAA;cAAA;gBAAA,OAAAoC,SAAA,CAAAtH,IAAA;YAAA;UAAA,GAAAkH,QAAA;QAAA,CACF;QAAA,iBAAAO,GAAA;UAAA,OAAAR,IAAA,CAAArG,KAAA,OAAAE,SAAA;QAAA;MAAA,IAAC;;MAEF;MACAoE,KAAK,CAACjB,UAAU,GAAG,OAAO;MAE1BN,UAAU,CAACmC,GAAG,CAACf,EAAE,EAAEG,KAAK,CAAC;MACzBjC,GAAG,CAACyE,QAAQ,CAAC,CAAC,CAACC,KAAK,CAAC7B,GAAG,CAACZ,KAAK,CAAC;MAE/B,OAAArE,aAAA,CAAAA,aAAA,KACK6F,IAAI;QACP3B,EAAE,EAAFA,EAAE;QACFgB,QAAQ,EAAEb,KAAK,CAACa,QAAQ,CAACC,OAAO,CAAC,CAAC;QAClCC,QAAQ,EAAEf,KAAK,CAACe,QAAQ,CAACD,OAAO,CAAC,CAAC;QAClCE,KAAK,EAAEhB,KAAK,CAACgB,KAAK,CAACF,OAAO,CAAC,CAAC;QAC5BG,OAAO,EAAEjB,KAAK,CAACiB;MAAO;IAG1B;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA5E,GAAA;IAAA9G,KAAA;MAAA,IAAAmN,OAAA,GAAAlG,iBAAA,eAAA3H,mBAAA,GAAAqF,IAAA,CAKA,SAAAyI,SAAanB,IAAY;QAAA,IAAAoB,MAAA;QAAA,IAAA/C,EAAA,EAAAnJ,IAAA,EAAAgL,QAAA;QAAA,OAAA7M,mBAAA,GAAAuB,IAAA,UAAAyM,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAnI,IAAA,GAAAmI,SAAA,CAAA9J,IAAA;YAAA;cACf6G,EAAE,GAAqB2B,IAAI,CAA3B3B,EAAE,EAAEnJ,IAAI,GAAe8K,IAAI,CAAvB9K,IAAI,EAAEgL,QAAQ,GAAKF,IAAI,CAAjBE,QAAQ;cAE1BnH,OAAO,CAACvC,OAAO,CAAC,CAAC,CAACE,IAAI,eAAAsE,iBAAA,eAAA3H,mBAAA,GAAAqF,IAAA,CAAC,SAAA6I,SAAA;gBAAA,IAAAjD,QAAA,EAAAkD,GAAA;gBAAA,OAAAnO,mBAAA,GAAAuB,IAAA,UAAA6M,UAAAC,SAAA;kBAAA,kBAAAA,SAAA,CAAAvI,IAAA,GAAAuI,SAAA,CAAAlK,IAAA;oBAAA;sBAAAkK,SAAA,CAAAlK,IAAA;sBAAA,OACE4J,MAAI,CAACnD,gBAAgB,CAACiC,QAAQ,IAAIhL,IAAI,CAAC;oBAAA;sBAAxDoJ,QAAQ,GAAAoD,SAAA,CAAAzK,IAAA;sBAGd,IAAIiJ,QAAQ,IAAIhL,IAAI,KAAK,OAAO,EAC9BsM,GAAG,GAAGJ,MAAI,CAACrB,WAAW,CAAC1B,EAAE,EAAEC,QAAQ,EAAE0B,IAAI,CAAC,MAE1CwB,GAAG,GAAGJ,MAAI,CAAC1B,YAAY,CAACrB,EAAE,EAAEC,QAAQ,EAAE0B,IAAI,CAAC;sBAE7CoB,MAAI,CAACO,YAAY,CAACtD,EAAE,EAAEmD,GAAG,CAAC;oBAAA;oBAAA;sBAAA,OAAAE,SAAA,CAAApI,IAAA;kBAAA;gBAAA,GAAAiI,QAAA;cAAA,CAC3B,GAAC;cAAA,OAAAD,SAAA,CAAAlK,MAAA,WAEK4I,IAAI;YAAA;YAAA;cAAA,OAAAsB,SAAA,CAAAhI,IAAA;UAAA;QAAA,GAAA6H,QAAA;MAAA,CACZ;MAAA,SAAArM,OAAA8M,GAAA;QAAA,OAAAV,OAAA,CAAAhH,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAAtF,MAAA;IAAA;EAAA;IAAA+F,GAAA;IAAA9G,KAAA;MAAA,IAAA8N,aAAA,GAAA7G,iBAAA,eAAA3H,mBAAA,GAAAqF,IAAA,CAED,SAAAoJ,SAAmBzD,EAAE,EAAEC,QAAQ,EAAEC,MAAc,EAAEC,KAAa;QAAA,IAAA9C,MAAA,EAAA+C,eAAA,EAAAC,gBAAA,EAAAC,MAAA;QAAA,OAAAtL,mBAAA,GAAAuB,IAAA,UAAAmN,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAA7I,IAAA,GAAA6I,SAAA,CAAAxK,IAAA;YAAA;cAC5D,IAAI,CAACyH,OAAO,CAAClB,GAAG,CAACM,EAAE,EAAEE,MAAM,CAAC;cACtB7C,MAAM,GAAGuB,UAAU,CAACe,GAAG,CAACK,EAAE,CAAC;cAAA2D,SAAA,CAAAxK,IAAA;cAAA,OACHuB,OAAO,CAAC+F,UAAU,CAAC,CAACR,QAAQ,CAAC2D,MAAM,CAACvG,MAAM,EAAE6C,MAAM,CAAC,CAAC,CAAC;YAAA;cAA7EE,eAAe,GAAAuD,SAAA,CAAA/K,IAAA;cACfyH,gBAAgB,GAAGD,eAAe,CAAC,CAAC,CAAC;cAAA,MAEvCC,gBAAgB,CAACK,MAAM,KAAK,UAAU;gBAAAiD,SAAA,CAAAxK,IAAA;gBAAA;cAAA;cAAA,MAClC,IAAIZ,KAAK,CAAC8H,gBAAgB,CAACM,MAAM,CAAC;YAAA;cAEpCL,MAAM,GAAGD,gBAAgB,CAAC3K,KAAK;cAErC4K,MAAM,CAACO,GAAG,GAAG,QAAQ,EAAC;cACtBP,MAAM,CAACQ,QAAQ,GAAGd,EAAE;cAEpB,IAAIG,KAAK,EAAE;gBACTA,KAAK,CAAC0D,MAAM,CAACjF,UAAU,CAACe,GAAG,CAACK,EAAE,CAAC,CAAC;gBAChCG,KAAK,CAACY,GAAG,CAACT,MAAM,CAAC;cACnB;cAEA1B,UAAU,CAACgF,MAAM,CAAC5D,EAAE,EAAEM,MAAM,CAAC;cAAA,OAAAqD,SAAA,CAAA5K,MAAA,WAAA+C,aAAA,CAAAA,aAAA,KAGxBoE,MAAM;gBACTF,EAAE,EAAFA,EAAE;gBACFgB,QAAQ,EAAEV,MAAM,CAACU,QAAQ,CAACC,OAAO,CAAC,CAAC;gBACnCC,QAAQ,EAAEZ,MAAM,CAACY,QAAQ,CAACD,OAAO,CAAC,CAAC;gBACnCE,KAAK,EAAEb,MAAM,CAACa,KAAK,CAACF,OAAO,CAAC,CAAC;gBAC7BG,OAAO,EAAEd,MAAM,CAACc;cAAO;YAAA;YAAA;cAAA,OAAAuC,SAAA,CAAA1I,IAAA;UAAA;QAAA,GAAAwI,QAAA;MAAA,CAE1B;MAAA,SAAAK,aAAAC,GAAA,EAAAC,GAAA,EAAAC,IAAA,EAAAC,IAAA;QAAA,OAAAV,aAAA,CAAA3H,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAA+H,YAAA;IAAA;EAAA;IAAAtH,GAAA;IAAA9G,KAAA,EAED,SAAAyO,YAAYnE,EAAE,EAAEC,QAAQ,EAAEC,MAAM,EAAE;MAAA,IAAAkE,MAAA;MAChC,IAAMjE,KAAK,GAAGvB,UAAU,CAACe,GAAG,CAACK,EAAE,CAAU;MACzC,IAAQ+B,KAAK,GAAwB7B,MAAM,CAAnC6B,KAAK;QAAEE,OAAO,GAAe/B,MAAM,CAA5B+B,OAAO;QAAEJ,QAAQ,GAAK3B,MAAM,CAAnB2B,QAAQ;MAEhCE,KAAK,CAACjK,OAAO;QAAA,IAAAuM,KAAA,GAAA1H,iBAAA,eAAA3H,mBAAA,GAAAqF,IAAA,CAAC,SAAAiK,SAAOlC,IAAI;UAAA,IAAAmC,UAAA,EAAAC,WAAA,EAAAC,YAAA,EAAAC,QAAA;UAAA,OAAA1P,mBAAA,GAAAuB,IAAA,UAAAoO,UAAAC,SAAA;YAAA,kBAAAA,SAAA,CAAA9J,IAAA,GAAA8J,SAAA,CAAAzL,IAAA;cAAA;gBACjBoL,UAAU,GAAGtC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEQ,IAAI,CAAC,UAAAD,MAAM;kBAAA,OAAIA,MAAM,CAACpI,IAAI,KAAKgI,IAAI,CAACI,MAAM;gBAAA,EAAC;gBACjEgC,WAAW,GAAGD,UAAU,GAAAzI,aAAA,CAAAA,aAAA,KAAQyI,UAAU,GAAKnC,IAAI,IAAKA,IAAI;gBAE5DqC,YAAY,GAAGL,MAAI,CAACxD,OAAO,CAACjB,GAAG,CAACyC,IAAI,CAACpC,EAAE,CAAC;gBACxC0E,QAAQ,GAAGD,YAAY;gBAAA,KAEzBC,QAAQ;kBAAAE,SAAA,CAAAzL,IAAA;kBAAA;gBAAA;gBACVgF,CAAC,CAAC0G,UAAU,CAACJ,YAAY,EAAED,WAAW,EAAEJ,MAAI,CAACU,UAAU,CAAC;gBAAAF,SAAA,CAAAzL,IAAA;gBAAA,OAClDiL,MAAI,CAACN,YAAY,CAAC1B,IAAI,CAACpC,EAAE,EAAEC,QAAQ,EAAEwE,YAAY,EAAEtE,KAAK,CAAC;cAAA;gBAAAyE,SAAA,CAAAzL,IAAA;gBAAA;cAAA;gBAG/DqL,WAAW,CAAC3N,IAAI,GAAGgL,QAAQ;gBAAA+C,SAAA,CAAAzL,IAAA;gBAAA,OACrBiL,MAAI,CAAC/C,YAAY,CAACe,IAAI,CAACpC,EAAE,EAAEC,QAAQ,EAAEuE,WAAW,EAAErE,KAAK,CAAC;cAAA;cAAA;gBAAA,OAAAyE,SAAA,CAAA3J,IAAA;YAAA;UAAA,GAAAqJ,QAAA;QAAA,CAEjE;QAAA,iBAAAS,IAAA;UAAA,OAAAV,KAAA,CAAAxI,KAAA,OAAAE,SAAA;QAAA;MAAA,IAAC;MAEF,OAAAD,aAAA,CAAAA,aAAA,KACKoE,MAAM;QACTF,EAAE,EAAFA,EAAE;QACFgB,QAAQ,EAAEb,KAAK,CAACa,QAAQ,CAACC,OAAO,CAAC,CAAC;QAClCC,QAAQ,EAAEf,KAAK,CAACe,QAAQ,CAACD,OAAO,CAAC,CAAC;QAClCE,KAAK,EAAEhB,KAAK,CAACgB,KAAK,CAACF,OAAO,CAAC,CAAC;QAC5BG,OAAO,EAAEjB,KAAK,CAACiB;MAAO;IAE1B;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA5E,GAAA;IAAA9G,KAAA;MAAA,IAAAsP,OAAA,GAAArI,iBAAA,eAAA3H,mBAAA,GAAAqF,IAAA,CAKA,SAAA4K,SAAatD,IAAY;QAAA,IAAAuD,MAAA;QAAA,IAAAlF,EAAA;QAAA,OAAAhL,mBAAA,GAAAuB,IAAA,UAAA4O,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAtK,IAAA,GAAAsK,SAAA,CAAAjM,IAAA;YAAA;cACf6G,EAAE,GAAK2B,IAAI,CAAX3B,EAAE;cAEVtF,OAAO,CAACvC,OAAO,CAAC,CAAC,CAACE,IAAI,eAAAsE,iBAAA,eAAA3H,mBAAA,GAAAqF,IAAA,CAAC,SAAAgL,SAAA;gBAAA,IAAAnF,MAAA,EAAArJ,IAAA,EAAAgL,QAAA,EAAA5B,QAAA,EAAAkD,GAAA;gBAAA,OAAAnO,mBAAA,GAAAuB,IAAA,UAAA+O,UAAAC,SAAA;kBAAA,kBAAAA,SAAA,CAAAzK,IAAA,GAAAyK,SAAA,CAAApM,IAAA;oBAAA;sBACrB;sBACM+G,MAAM,GAAGgF,MAAI,CAACtE,OAAO,CAACjB,GAAG,CAACK,EAAE,CAAC;sBACnC7B,CAAC,CAAC0G,UAAU,CAAC3E,MAAM,EAAEyB,IAAI,EAAEuD,MAAI,CAACJ,UAAU,CAAC;sBAEnCjO,IAAI,GAAeqJ,MAAM,CAAzBrJ,IAAI,EAAEgL,QAAQ,GAAK3B,MAAM,CAAnB2B,QAAQ;sBAAA0D,SAAA,CAAApM,IAAA;sBAAA,OACC+L,MAAI,CAACtF,gBAAgB,CAACiC,QAAQ,IAAIhL,IAAI,CAAC;oBAAA;sBAAxDoJ,QAAQ,GAAAsF,SAAA,CAAA3M,IAAA;sBAGd,IAAIiJ,QAAQ,IAAIhL,IAAI,KAAK,OAAO,EAC9BsM,GAAG,GAAGzI,OAAO,CAAC8K,GAAG,CAACN,MAAI,CAACf,WAAW,CAACnE,EAAE,EAAEC,QAAQ,EAAEC,MAAM,CAAC,CAAC,MAEzDiD,GAAG,GAAG+B,MAAI,CAACpB,YAAY,CAAC9D,EAAE,EAAEC,QAAQ,EAAEC,MAAM,CAAC;sBAE/CgF,MAAI,CAAC5B,YAAY,CAACtD,EAAE,EAAEmD,GAAG,CAAC;oBAAA;oBAAA;sBAAA,OAAAoC,SAAA,CAAAtK,IAAA;kBAAA;gBAAA,GAAAoK,QAAA;cAAA,CAC3B,GAAC;cAAA,OAAAD,SAAA,CAAArM,MAAA,WAEK4I,IAAI;YAAA;YAAA;cAAA,OAAAyD,SAAA,CAAAnK,IAAA;UAAA;QAAA,GAAAgK,QAAA;MAAA,CACZ;MAAA,SAAArB,OAAA6B,IAAA;QAAA,OAAAT,OAAA,CAAAnJ,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAA6H,MAAA;IAAA;IAED;AACF;AACA;AACA;AACA;IAJE;EAAA;IAAApH,GAAA;IAAA9G,KAAA;MAAA,IAAAgQ,aAAA,GAAA/I,iBAAA,eAAA3H,mBAAA,GAAAqF,IAAA,CAKA,SAAAsL,UAA2B3F,EAAU,EAAEmD,GAAQ;QAAA,OAAAnO,mBAAA,GAAAuB,IAAA,UAAAqP,WAAAC,UAAA;UAAA,kBAAAA,UAAA,CAAA/K,IAAA,GAAA+K,UAAA,CAAA1M,IAAA;YAAA;cAC7CuB,OAAO,CAACvC,OAAO,CAACgL,GAAG,CAAC,CACjB9K,IAAI,CAAC,YAAM;gBACVgG,aAAa,CACX;kBACEyH,WAAW,EAAE1H,WAAW,CAAC2H,KAAK;kBAC9BC,WAAW,EAAE,UAAU;kBACvBtF,MAAM,EAAEpC,cAAc,CAAC2H,OAAO;kBAC9BC,MAAM,EAAE;gBACV,CAAC,EACD;kBACElG,EAAE,EAAFA,EAAE;kBACFmG,OAAO,EAAE;gBACX,CAAC,CAAC;cACN,CAAC,CAAC,CACD7K,KAAK,CAAC,YAAM;gBACX+C,aAAa,CACX;kBACEyH,WAAW,EAAE1H,WAAW,CAAC2H,KAAK;kBAC9BC,WAAW,EAAE,UAAU;kBACvBtF,MAAM,EAAEpC,cAAc,CAAC2H,OAAO;kBAC9BC,MAAM,EAAE;gBACV,CAAC,EACD;kBACElG,EAAE,EAAFA,EAAE;kBACFmG,OAAO,EAAE;gBACX,CAAC,CAAC;cACN,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAN,UAAA,CAAA5K,IAAA;UAAA;QAAA,GAAA0K,SAAA;MAAA,CACL;MAAA,SAAArC,aAAA8C,IAAA,EAAAC,IAAA;QAAA,OAAAX,aAAA,CAAA7J,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAAuH,YAAA;IAAA;EAAA;IAAA9G,GAAA;IAAA9G,KAAA,EAED,SAAAoP,WAAWwB,QAAQ,EAAEC,QAAQ,EAAE;MAC7B,IAAIpI,CAAC,CAACqI,OAAO,CAACF,QAAQ,CAAC,IAAIC,QAAQ,EACjC,OAAOA,QAAQ;IACnB;;IAEA;AACF;AACA;AACA;EAHE;IAAA/J,GAAA;IAAA9G,KAAA,EAIA,SAAA+Q,QAAO9E,IAAU,EAAE;MAAA,IAAA+E,MAAA;MACjB,IAAQ1G,EAAE,GAAK2B,IAAI,CAAX3B,EAAE;MACV,IAAM3C,MAAM,GAAGuB,UAAU,CAACe,GAAG,CAACK,EAAE,CAAC;MACjC,IAAM2G,YAAY,GAAG,IAAI,CAAC/F,OAAO,CAACjB,GAAG,CAACK,EAAY,CAAC;MACnD,IAAQnJ,IAAI,GAAK8P,YAAY,CAArB9P,IAAI;MAEZ,IAAI,CAACwG,MAAM,EACT,MAAM,IAAI9E,KAAK,WAAAgH,MAAA,CAAWS,EAAE,kBAAe,CAAC;MAE9C,IAAInJ,IAAI,KAAK,OAAO,EAAE;QACpB8P,YAAY,CAAC5E,KAAK,CAACjK,OAAO,CAAC,UAACsK,IAAI,EAAK;UACnCsE,MAAI,CAAC9F,OAAO,CAACnB,GAAG,CAAC2C,IAAI,CAACpC,EAAY,CAAC,IAAI0G,MAAI,CAAC9F,OAAO,CAACgG,MAAM,CAACxE,IAAI,CAACpC,EAAY,CAAC;UAC7EpB,UAAU,CAACa,GAAG,CAAC2C,IAAI,CAACpC,EAAE,CAAC,IAAIpB,UAAU,CAACgI,MAAM,CAACxE,IAAI,CAACpC,EAAE,CAAC;QACvD,CAAC,CAAC;MACJ;MAEA3C,MAAM,CAACwJ,gBAAgB,CAAC,CAAC;MAEzB,IAAMC,aAAa,GAAGpI,eAAe,CAAC,CAAC;;MAEvC;MACA;MACArB,MAAM,CAAC9C,SAAS,CAACwM,OAAO,GAAGD,aAAa;MACxC;MACAzJ,MAAM,CAAC0J,OAAO,CAAC,CAAC;MAEhB,IAAI,CAACnG,OAAO,CAACnB,GAAG,CAACO,EAAY,CAAC,IAAI,IAAI,CAACY,OAAO,CAACgG,MAAM,CAAC5G,EAAY,CAAC;MACnEpB,UAAU,CAACgI,MAAM,CAAC5G,EAAE,CAAC;IACvB;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAxD,GAAA;IAAA9G,KAAA,EAKA,SAAAiK,IAAIqH,MAAsB,EAAE;MAC1B,IAAQhH,EAAE,GAAKgH,MAAM,CAAbhH,EAAE;MAEV,IAAME,MAAM,GAAG,IAAI,CAACU,OAAO,CAACjB,GAAG,CAACK,EAAE,CAAC;MACnC,IAAMM,MAAM,GAAG1B,UAAU,CAACe,GAAG,CAACK,EAAE,CAAC;MAEjC,OAAAlE,aAAA,CAAAA,aAAA,KACKoE,MAAM;QACTF,EAAE,EAAFA,EAAE;QACFgB,QAAQ,EAAEV,MAAM,CAACU,QAAQ,CAACC,OAAO,CAAC,CAAC;QACnCC,QAAQ,EAAEZ,MAAM,CAACY,QAAQ,CAACD,OAAO,CAAC,CAAC;QACnCE,KAAK,EAAEb,MAAM,CAACa,KAAK,CAACF,OAAO,CAAC,CAAC;QAC7BG,OAAO,EAAEd,MAAM,CAACc;MAAO;IAE3B;;IAEA;AACF;AACA;AACA;EAHE;IAAA5E,GAAA;IAAA9G,KAAA,EAIA,SAAAuR,eAAeC,IAAoB,EAAE;MACnC,IAAQC,SAAS,GAAmBD,IAAI,CAAhCC,SAAS;QAAYnH,EAAE,GAAKkH,IAAI,CAArBpG,QAAQ;MAC3B,IAAMsG,aAAa,GAAGD,SAAS,CAACnM,KAAK,CAAC,CAAC,CAAC,CAACqM,WAAW,CAAC,CAAC;MACtD,IAAMhK,MAAM,GAAGuB,UAAU,CAACe,GAAG,CAACK,EAAE,CAAC;MAEjC,IAAI,CAAC3C,MAAM,EACT,MAAM,IAAI9E,KAAK,WAAAgH,MAAA,CAAWS,EAAE,kBAAe,CAAC;;MAE9C;MACA,IAAIvB,kBAAkB,CAAC6I,QAAQ,CAACjK,MAAM,CAAC6B,UAAU,CAAC,EAAE;QAClD7B,MAAM,CAACkK,QAAQ,CAACH,aAAa,CAAC,GAAG,UAACnS,CAAC,EAAK;UACtC,IAAMuS,WAAW,GAAGvS,CAAC,CAACwS,cAAc;UACpC,IAAMC,aAAa,GAAG/I,gBAAgB,CAAC6I,WAAW,EAAEnK,MAAa,CAAC;UAElEqK,aAAa,IACRrJ,aAAa,CAAC;YACfyH,WAAW,EAAE1H,WAAW,CAAC2H,KAAK;YAC9BC,WAAW,EAAEmB,SAAS;YACtBzG,MAAM,EAAEpC,cAAc,CAAC2H,OAAO;YAC9BC,MAAM,EAAE;UACV,CAAC,EACD;YACEyB,QAAQ,EAAED,aAAa,CAAC5G,QAAQ;YAChCd,EAAE,EAAFA;UACF,CAAC,CAAC;QACN,CAAC;QAED3C,MAAM,CAACuK,gBAAgB,CAAC,OAAO,EAAEvK,MAAM,CAACkK,QAAQ,CAACH,aAAa,CAAC,CAAC;MAClE,CAAC,MACI;QACH/J,MAAM,CAACkK,QAAQ,CAACH,aAAa,CAAC,GAAG,YAAM;UACrC/I,aAAa,CACX;YACEyH,WAAW,EAAE1H,WAAW,CAAC2H,KAAK;YAC9BC,WAAW,EAAEmB,SAAS;YACtBzG,MAAM,EAAEpC,cAAc,CAAC2H,OAAO;YAC9BC,MAAM,EAAE;UACV,CAAC,EACD;YACEyB,QAAQ,EAAE3H,EAAE;YACZA,EAAE,EAAFA;UACF,CACF,CAAC;QACH,CAAC;QACD3C,MAAM,CAACuK,gBAAgB,CAACR,aAAa,EAAE/J,MAAM,CAACkK,QAAQ,CAACH,aAAa,CAAC,CAAC;MACxE;IACF;;IAEA;AACF;AACA;AACA;EAHE;IAAA5K,GAAA;IAAA9G,KAAA,EAIA,SAAAmS,iBAAiBX,IAAoB,EAAE;MACrC,IAAQC,SAAS,GAAmBD,IAAI,CAAhCC,SAAS;QAAYnH,EAAE,GAAKkH,IAAI,CAArBpG,QAAQ;MAC3B,IAAMsG,aAAa,GAAGD,SAAS,CAACnM,KAAK,CAAC,CAAC,CAAC,CAACqM,WAAW,CAAC,CAAC;MACtD,IAAMhK,MAAM,GAAGuB,UAAU,CAACe,GAAG,CAACK,EAAE,CAAC;MAEjC,IAAI,CAAC3C,MAAM,EACT,MAAM,IAAI9E,KAAK,WAAAgH,MAAA,CAAWS,EAAE,kBAAe,CAAC;MAE9C3C,MAAM,CAACyK,mBAAmB,CAACV,aAAa,EAAE/J,MAAM,CAACkK,QAAQ,CAACH,aAAa,CAAC,CAAC;IAC3E;EAAC;EAAA,OAAAvI,MAAA;AAAA;AAGH,eAAeA,MAAM"}
|
|
1
|
+
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","obj","_toPrimitive","String","toPrimitive","Number","Group","use","MessageType","sendToMessage","EMessageStatus","HybridList","entityStrategy","eventPenetrateType","createDisposeFn","getMinimumEntity","hybridList","Entity","app","Map","_registerStrategy","_callee","entityType","strategyMap","strategyClass","_callee$","_context","concat","catchStrategy","has","set","get","registerStrategy","_x","_singleCreate","_callee2","id","strategy","option","group","layerId","entityInfoArray","targetEntityInfo","entity","_callee2$","_context2","allSettled","status","reason","tag","entityId","userData","entityParams","add","position","toArray","rotation","scale","visible","singleCreate","_x2","_x3","_x4","_x5","_x6","multiCreate","json","_this","itemType","_json$items","items","_json$legends","legends","_ref","_callee3","item","currentData","_callee3$","_context3","legend","find","_x7","useScene","scene","_create","_callee5","_this2","asyncTask","_callee5$","_context5","_callee4","res","_callee4$","_context4","handleResult","_x8","_singleUpdate","_callee6","_target$userData$enti","_callee6$","_context6","update","remove","singleUpdate","_x9","_x10","_x11","_x12","multiUpdate","_this3","_ref3","_callee7","legendItem","currentItem","_callee7$","_context7","_x13","_update","_callee9","_this4","_callee9$","_context9","_callee8","_target$userData$enti2","_callee8$","_context8","all","_x14","_execute","_callee11","_this5","_callee11$","_context11","_callee10","_callee10$","_context10","execute","_x15","_handleResult","_callee12","_callee12$","_context12","messageType","Event","messageName","Success","global","success","_x16","_x17","customizer","objValue","srcValue","Array","isArray","_delete","deleteChildren","children","child","_ref6","delete","removeFromParent","entityDispose","dispose","params","getEntityOption","registerEvents","opts","eventName","realEventName","toLowerCase","includes","closestMesh","newClosestMesh","minimumEntity","targetId","addEventListener","unregisterEvents","removeEventListener"],"sources":["../../../src/module/entity/index.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\nimport { Group, use } from '@anov/3d-core'\nimport type { BaseModule } from '../../utils/abstract'\nimport type Anov3D from '../../sdkEntry'\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\nimport HybridList from './hybridList'\nimport { entityStrategy, eventPenetrateType } from './strategy'\nimport createDisposeFn from './dispose'\nimport type { Option, Opts, RegisterEvents } from './type'\nimport { getMinimumEntity } from './utils'\n\nexport const hybridList = new HybridList<Object3D>()\n\nclass Entity implements BaseModule {\n app: Anov3D\n catchStrategy: Map<string, any> = new Map()\n\n constructor(app: Anov3D) {\n this.app = app\n }\n\n /**\n * register strategy\n * @param entityType\n * @returns\n */\n async registerStrategy(entityType) {\n const strategyMap = {\n ...entityStrategy,\n }\n\n if (!(entityType in strategyMap))\n throw new Error(`entityType ${entityType} is not supported`)\n\n if (entityType in strategyMap && !this.catchStrategy.has(entityType)) {\n const strategyClass = await strategyMap[entityType]()\n\n // eslint-disable-next-line new-cap\n this.catchStrategy.set(entityType, new strategyClass())\n }\n\n return this.catchStrategy.get(entityType)\n }\n\n async singleCreate(id, strategy, option: Option, group?: Group, layerId?: string) {\n const entityInfoArray = await Promise.allSettled([strategy.create(option)])\n const targetEntityInfo = entityInfoArray[0]\n\n if (targetEntityInfo.status === 'rejected')\n throw new Error(targetEntityInfo.reason)\n\n const entity = targetEntityInfo.value\n entity.tag = 'entity' // used for event penetration identification\n entity.entityId = id\n entity.userData.entityParams = { id, type: option.type, layerId }\n\n hybridList.add(id, entity)\n group?.add(entity)\n\n return {\n ...option,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n }\n }\n\n multiCreate(id: string, strategy, json: Option) {\n const { itemType, items = [], legends = [] } = json\n\n const group = new Group()\n\n // TODO 优化,定制化非实体逻辑\n items.forEach(async (item) => {\n let currentData = item\n\n if (currentData.legend) {\n currentData = {\n ...legends.find(legend => legend.name === item.legend),\n ...item,\n }\n }\n currentData.type = itemType\n\n await this.singleCreate(\n item.id,\n strategy,\n currentData,\n group,\n id,\n )\n })\n\n group.userData.entityParams = { id, type: 'layer', itemType }\n hybridList.add(id, group)\n use.useScene().scene.add(group)\n\n return {\n ...json,\n id,\n position: group.position.toArray(),\n rotation: group.rotation.toArray(),\n scale: group.scale.toArray(),\n visible: group.visible,\n\n }\n }\n\n /**\n * create entity\n * @param json\n * @returns\n */\n async create(json: Option) {\n const { id, type, itemType } = json\n\n const asyncTask = Promise.resolve().then(async () => {\n const strategy = await this.registerStrategy(itemType || type)\n\n let res\n if (itemType && type === 'layer')\n res = this.multiCreate(id, strategy, json)\n else\n res = this.singleCreate(id, strategy, json)\n return this.handleResult(id, res)\n })\n\n return { ...json, asyncTask }\n }\n\n async singleUpdate(id, strategy, option: Option, group?: Group) {\n const target = hybridList.get(id) as any\n const entityInfoArray = await Promise.allSettled([strategy.update(target, option)])\n const targetEntityInfo = entityInfoArray[0]\n\n if (targetEntityInfo.status === 'rejected')\n throw new Error(targetEntityInfo.reason)\n\n const { entityParams = {} } = target.userData\n const entity = targetEntityInfo.value\n entity.tag = 'entity' // use used for event penetration identification\n entity.entityId = id\n entity.userData.entityParams = entityParams\n\n // 兼容修改图层下的单个实体\n if (!group && entityParams.layerId)\n group = hybridList.get(entityParams.layerId) as Group\n\n if (group) {\n group.remove(hybridList.get(id))\n group.add(entity)\n }\n\n hybridList.update(id, entity)\n\n return {\n ...option,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n }\n }\n\n multiUpdate(id, strategy, option) {\n const group = hybridList.get(id) as Group\n const { items, legends, itemType } = option\n\n items.forEach(async (item) => {\n const legendItem = legends?.find(legend => legend.name === item.legend)\n const currentItem = legendItem ? { ...legendItem, ...item } : item\n\n if (hybridList.get(item.id)) {\n await this.singleUpdate(item.id, strategy, currentItem, group)\n }\n else {\n currentItem.type = itemType\n await this.singleCreate(item.id, strategy, currentItem, group)\n }\n })\n\n return {\n ...option,\n id,\n position: group.position.toArray(),\n rotation: group.rotation.toArray(),\n scale: group.scale.toArray(),\n visible: group.visible,\n }\n }\n\n /**\n * update entity\n * @param json\n * @returns\n */\n async update(json: Option) {\n const { id } = json\n\n Promise.resolve().then(async () => {\n const target = hybridList.get(id) as any\n const { entityParams: { type, itemType } } = target.userData\n const strategy = await this.registerStrategy(itemType || type)\n\n let res\n if (itemType && type === 'layer')\n res = Promise.all(this.multiUpdate(id, strategy, { itemType, ...json }))\n else\n res = this.singleUpdate(id, strategy, json)\n\n this.handleResult(id, res)\n })\n\n return json\n }\n\n async execute(json: Option) {\n const { id, method, args } = json\n if (id && method) {\n Promise.resolve().then(async () => {\n const target = hybridList.get(id) as any\n const { entityParams: { type } } = target.userData\n const strategy = await this.registerStrategy(type)\n\n const entityInfoArray = await Promise.allSettled([strategy[method](args, target)])\n const targetEntityInfo = entityInfoArray[0]\n\n if (targetEntityInfo.status === 'rejected')\n throw new Error(targetEntityInfo.reason)\n\n const entity = targetEntityInfo.value\n hybridList.update(id, entity)\n\n this.handleResult(id, {\n ...json,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n })\n })\n }\n\n return json\n }\n\n /**\n * handle create or update loadded result\n * @param id\n * @param res\n */\n private async handleResult(id: string, res: any) {\n return Promise.resolve(res)\n .then(() => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onLoaded',\n status: EMessageStatus.Success,\n global: false,\n },\n {\n id,\n success: true,\n })\n })\n .catch(() => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onLoaded',\n status: EMessageStatus.Success,\n global: false,\n },\n {\n id,\n success: false,\n })\n })\n }\n\n customizer(objValue, srcValue) {\n if (Array.isArray(objValue) && srcValue)\n return srcValue\n }\n\n /**\n * delete entity\n * @param json\n */\n delete(json: Opts) {\n const { id } = json\n const target = hybridList.get(id)\n\n if (!target)\n throw new Error(`entity ${id} is not exist`)\n\n const deleteChildren = (entityId): void => {\n const entity = hybridList.get(entityId)\n if (!entity)\n return\n\n if (entity.children) {\n entity.children.forEach((child) => {\n const { id } = child.userData.entityParams || {}\n id && deleteChildren(id)\n })\n }\n hybridList.has(entityId) && hybridList.delete(entityId)\n }\n deleteChildren(id)\n\n target.removeFromParent()\n\n const entityDispose = createDisposeFn()\n\n // @ts-ignore\n // eslint-disable-next-line no-proto\n target.__proto__.dispose = entityDispose\n // @ts-ignore\n target.dispose()\n\n hybridList.delete(id)\n }\n\n /**\n * get entity\n * @param params\n * @returns\n */\n get(params: { id: string }) {\n const { id } = params\n\n const entity = hybridList.get(id)\n const option = this.getEntityOption(entity)\n\n return {\n ...option,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n }\n }\n\n /**\n * get entity option\n * @param target\n * @returns\n */\n getEntityOption(target: Object3D) {\n return target && (target.userData.option || {})\n }\n\n /**\n * register entity events\n * @param opts\n */\n registerEvents(opts: RegisterEvents) {\n const { eventName, entityId: id } = opts\n const realEventName = eventName.slice(2).toLowerCase()\n const target = hybridList.get(id)\n\n if (!target)\n throw new Error(`entity ${id} is not exist`)\n\n // @ts-ignore\n if (eventPenetrateType.includes(target.entityType)) {\n target.userData[realEventName] = (e) => {\n const closestMesh = e.newClosestMesh\n const minimumEntity = getMinimumEntity(closestMesh, target as any)\n\n minimumEntity\n && sendToMessage({\n messageType: MessageType.Event,\n messageName: eventName,\n status: EMessageStatus.Success,\n global: false,\n },\n {\n targetId: minimumEntity.entityId,\n id,\n })\n }\n\n target.addEventListener('click', target.userData[realEventName])\n }\n else {\n target.userData[realEventName] = () => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: eventName,\n status: EMessageStatus.Success,\n global: false,\n },\n {\n targetId: id,\n id,\n },\n )\n }\n target.addEventListener(realEventName, target.userData[realEventName])\n }\n }\n\n /**\n * unregister entity events\n * @param opts\n */\n unregisterEvents(opts: RegisterEvents) {\n const { eventName, entityId: id } = opts\n const realEventName = eventName.slice(2).toLowerCase()\n const target = hybridList.get(id)\n\n if (!target)\n throw new Error(`entity ${id} is not exist`)\n\n target.removeEventListener(realEventName, target.userData[realEventName])\n }\n}\n\nexport default Entity"],"mappings":"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"}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
2
|
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
3
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
4
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
3
5
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4
6
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5
7
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
7
|
-
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
8
8
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
9
9
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
10
10
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
11
11
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
12
12
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
13
|
-
import { Euler, Vector3, use } from '@anov/3d-core';
|
|
13
|
+
import { Euler, MathUtils, Vector3, use } from '@anov/3d-core';
|
|
14
14
|
import createDisposeFn from "../dispose";
|
|
15
|
+
import MaterialManage from "../../material";
|
|
15
16
|
import { LoadStrategy } from "./load";
|
|
16
17
|
var defaultOption = {
|
|
17
18
|
name: '',
|
|
@@ -21,6 +22,7 @@ var defaultOption = {
|
|
|
21
22
|
scale: [1, 1, 1],
|
|
22
23
|
collision: true
|
|
23
24
|
};
|
|
25
|
+
var materialManage = new MaterialManage(null);
|
|
24
26
|
var ModelManage = /*#__PURE__*/function () {
|
|
25
27
|
function ModelManage() {
|
|
26
28
|
_classCallCheck(this, ModelManage);
|
|
@@ -37,10 +39,27 @@ var ModelManage = /*#__PURE__*/function () {
|
|
|
37
39
|
target.name = name;
|
|
38
40
|
target.visible = visible;
|
|
39
41
|
target.position.copy(new Vector3().fromArray(position));
|
|
40
|
-
target.rotation.copy(new Euler().
|
|
42
|
+
target.rotation.copy(new Euler(MathUtils.degToRad(rotation[0]), MathUtils.degToRad(rotation[1]), MathUtils.degToRad(rotation[2])));
|
|
41
43
|
target.scale.copy(new Vector3().fromArray(option.scale));
|
|
42
44
|
target.userData.collision = collision;
|
|
43
45
|
target.userData.url = url;
|
|
46
|
+
|
|
47
|
+
// 材质处理
|
|
48
|
+
this.applyMaterialOverride(option, target);
|
|
49
|
+
}
|
|
50
|
+
}, {
|
|
51
|
+
key: "applyMaterialOverride",
|
|
52
|
+
value: function applyMaterialOverride(option, target) {
|
|
53
|
+
var override = option.override;
|
|
54
|
+
if (override !== null && override !== void 0 && override.materials) {
|
|
55
|
+
try {
|
|
56
|
+
materialManage.changeByObject(target, _objectSpread({
|
|
57
|
+
target: option.id
|
|
58
|
+
}, override));
|
|
59
|
+
} catch (e) {
|
|
60
|
+
console.error(e);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
44
63
|
}
|
|
45
64
|
}, {
|
|
46
65
|
key: "create",
|
|
@@ -61,10 +80,11 @@ var ModelManage = /*#__PURE__*/function () {
|
|
|
61
80
|
case 7:
|
|
62
81
|
model = _context.sent;
|
|
63
82
|
object3d = modelType === 'fbx' ? model : model.scene;
|
|
83
|
+
console.log('model xxx:', model);
|
|
64
84
|
this.setOption(_objectSpread(_objectSpread({}, defaultOption), json), object3d);
|
|
65
85
|
use.useScene().scene.add(object3d);
|
|
66
86
|
return _context.abrupt("return", object3d);
|
|
67
|
-
case
|
|
87
|
+
case 13:
|
|
68
88
|
case "end":
|
|
69
89
|
return _context.stop();
|
|
70
90
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","obj","key","_toPropertyKey","asyncGeneratorStep","gen","reject","_next","_throw","info","error","_asyncToGenerator","fn","self","args","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_toPrimitive","String","toPrimitive","Number","Euler","Vector3","use","createDisposeFn","LoadStrategy","defaultOption","visible","position","rotation","scale","collision","ModelManage","setOption","option","url","copy","fromArray","userData","_create","_callee","json","id","events","modelType","loadAPi","model","object3d","_callee$","_context","split","scene","useScene","add","_x","_update","_callee2","entityDispose","_callee2$","_context2","removeFromParent","dispose","update","_x2","_x3"],"sources":["../../../../src/module/entity/model/index.ts"],"sourcesContent":["import type { Group } from '@anov/3d-core'\nimport { Euler, Vector3, use } from '@anov/3d-core'\nimport createDisposeFn from '../dispose'\nimport { LoadStrategy } from './load'\n\ntype ModelOption = {\n url: string\n id: string\n\n} & PartialModelOption\n\ntype PartialModelOption = Partial<{\n name: string\n visible: boolean\n position: number[]\n rotation: number[]\n scale: number[]\n collision: boolean\n}>\n\nconst defaultOption: PartialModelOption = {\n name: '',\n visible: true,\n position: [0, 0, 0],\n rotation: [0, 0, 0],\n scale: [1, 1, 1],\n collision: true,\n}\n\nclass ModelManage {\n private setOption(option: ModelOption, target: Group) {\n const { name, visible, position, rotation, collision, url } = option\n\n target.name = name\n target.visible = visible\n target.position.copy(new Vector3().fromArray(position))\n target.rotation.copy(new Euler().fromArray(rotation as any))\n target.scale.copy(new Vector3().fromArray(option.scale))\n target.userData.collision = collision\n target.userData.url = url\n }\n\n async create(json) {\n const { url, id, events } = json\n const modelType = url.split('.').pop()\n const loadAPi = await LoadStrategy[modelType]()\n const model = await loadAPi(url, id, events)\n const object3d = modelType === 'fbx' ? model : model.scene\n\n this.setOption({\n ...defaultOption,\n ...json,\n }, object3d,\n )\n\n use.useScene().scene.add(object3d)\n\n return object3d\n }\n\n async update(target: Group, option: ModelOption) {\n const { url } = option\n\n if (target.userData.url !== url) {\n target.removeFromParent()\n\n // todo: 抽离\n const entityDispose = createDisposeFn()\n\n // @ts-ignore\n // eslint-disable-next-line no-proto\n target.__proto__.dispose = entityDispose\n // @ts-ignore\n return this.create(option)\n }\n\n else {\n this.setOption(option, target)\n return target\n }\n }\n}\n\nexport default ModelManage\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","obj","_toPropertyKey","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_toPrimitive","String","toPrimitive","Number","Euler","MathUtils","Vector3","use","createDisposeFn","MaterialManage","LoadStrategy","defaultOption","visible","position","rotation","scale","collision","materialManage","ModelManage","setOption","option","url","copy","fromArray","degToRad","userData","applyMaterialOverride","override","materials","changeByObject","id","console","_create","_callee","json","events","modelType","loadAPi","model","object3d","_callee$","_context","split","scene","log","useScene","add","_x","_update","_callee2","entityDispose","_callee2$","_context2","removeFromParent","dispose","update","_x2","_x3"],"sources":["../../../../src/module/entity/model/index.ts"],"sourcesContent":["import type { Group, Mesh } from '@anov/3d-core'\nimport { Euler, MathUtils, Vector3, use } from '@anov/3d-core'\nimport type { EMaterialType } from '@anov/3d-ability'\nimport { SurfaceMaterial } from '@anov/3d-ability'\nimport createDisposeFn from '../dispose'\nimport MaterialManage from '../../material'\nimport { LoadStrategy } from './load'\n\ntype ModelOption = {\n url: string\n id: string\n\n} & PartialModelOption\n\ntype MaterialOption = Partial<{\n meshIndex: number\n primitiveIndex: number\n materialId: EMaterialType\n properties: {\n color: string\n uvScale: number\n }\n}>\n\ntype PartialModelOption = Partial<{\n name: string\n visible: boolean\n position: number[]\n rotation: number[]\n scale: number[]\n collision: boolean\n override: {\n materials: Array<MaterialOption>\n }\n}>\n\nconst defaultOption: PartialModelOption = {\n name: '',\n visible: true,\n position: [0, 0, 0],\n rotation: [0, 0, 0],\n scale: [1, 1, 1],\n collision: true,\n}\n\nconst materialManage = new MaterialManage(null)\n\nclass ModelManage {\n private setOption(option: ModelOption, target: Group) {\n const { name, visible, position, rotation, collision, url } = option\n\n target.name = name\n target.visible = visible\n target.position.copy(new Vector3().fromArray(position))\n target.rotation.copy(new Euler(MathUtils.degToRad(rotation[0]), MathUtils.degToRad(rotation[1]), MathUtils.degToRad(rotation[2])))\n target.scale.copy(new Vector3().fromArray(option.scale))\n target.userData.collision = collision\n target.userData.url = url\n\n // 材质处理\n this.applyMaterialOverride(option, target)\n }\n\n private applyMaterialOverride(option: ModelOption, target: Group) {\n const { override } = option\n if (override?.materials) {\n try {\n materialManage.changeByObject(target, { target: option.id, ...override })\n }\n catch (e) {\n console.error(e)\n }\n }\n }\n\n async create(json) {\n const { url, id, events } = json\n const modelType = url.split('.').pop()\n const loadAPi = await LoadStrategy[modelType]()\n const model = await loadAPi(url, id, events)\n const object3d = modelType === 'fbx' ? model : model.scene\n\n console.log('model xxx:', model)\n this.setOption({\n ...defaultOption,\n ...json,\n }, object3d,\n )\n\n use.useScene().scene.add(object3d)\n\n return object3d\n }\n\n async update(target: Group, option: ModelOption) {\n const { url } = option\n\n if (target.userData.url !== url) {\n target.removeFromParent()\n\n // todo: 抽离\n const entityDispose = createDisposeFn()\n\n // @ts-ignore\n // eslint-disable-next-line no-proto\n target.__proto__.dispose = entityDispose\n // @ts-ignore\n return this.create(option)\n }\n\n else {\n this.setOption(option, target)\n return target\n }\n }\n}\n\nexport default ModelManage\n"],"mappings":";+CACA,qJAAAA,mBAAA,YAAAA,oBAAA,WAAAC,CAAA,SAAAC,CAAA,EAAAD,CAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAC,SAAA,EAAAC,CAAA,GAAAH,CAAA,CAAAI,cAAA,EAAAC,CAAA,GAAAJ,MAAA,CAAAK,cAAA,cAAAP,CAAA,EAAAD,CAAA,EAAAE,CAAA,IAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,CAAAO,KAAA,KAAAC,CAAA,wBAAAC,MAAA,GAAAA,MAAA,OAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,kBAAAC,CAAA,GAAAJ,CAAA,CAAAK,aAAA,uBAAAC,CAAA,GAAAN,CAAA,CAAAO,WAAA,8BAAAC,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAC,MAAA,CAAAK,cAAA,CAAAP,CAAA,EAAAD,CAAA,IAAAS,KAAA,EAAAP,CAAA,EAAAiB,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAApB,CAAA,CAAAD,CAAA,WAAAkB,MAAA,mBAAAjB,CAAA,IAAAiB,MAAA,YAAAA,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,gBAAAoB,KAAArB,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAK,CAAA,GAAAV,CAAA,IAAAA,CAAA,CAAAI,SAAA,YAAAmB,SAAA,GAAAvB,CAAA,GAAAuB,SAAA,EAAAX,CAAA,GAAAT,MAAA,CAAAqB,MAAA,CAAAd,CAAA,CAAAN,SAAA,GAAAU,CAAA,OAAAW,OAAA,CAAApB,CAAA,gBAAAE,CAAA,CAAAK,CAAA,eAAAH,KAAA,EAAAiB,gBAAA,CAAAzB,CAAA,EAAAC,CAAA,EAAAY,CAAA,MAAAF,CAAA,aAAAe,SAAA1B,CAAA,EAAAD,CAAA,EAAAE,CAAA,mBAAA0B,IAAA,YAAAC,GAAA,EAAA5B,CAAA,CAAA6B,IAAA,CAAA9B,CAAA,EAAAE,CAAA,cAAAD,CAAA,aAAA2B,IAAA,WAAAC,GAAA,EAAA5B,CAAA,QAAAD,CAAA,CAAAsB,IAAA,GAAAA,IAAA,MAAAS,CAAA,qBAAAC,CAAA,qBAAAC,CAAA,gBAAAC,CAAA,gBAAAC,CAAA,gBAAAZ,UAAA,cAAAa,kBAAA,cAAAC,2BAAA,SAAAC,CAAA,OAAApB,MAAA,CAAAoB,CAAA,EAAA1B,CAAA,qCAAA2B,CAAA,GAAApC,MAAA,CAAAqC,cAAA,EAAAC,CAAA,GAAAF,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAG,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAAvC,CAAA,IAAAG,CAAA,CAAAyB,IAAA,CAAAW,CAAA,EAAA7B,CAAA,MAAA0B,CAAA,GAAAG,CAAA,OAAAE,CAAA,GAAAN,0BAAA,CAAAjC,SAAA,GAAAmB,SAAA,CAAAnB,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAc,CAAA,YAAAM,sBAAA3C,CAAA,gCAAA4C,OAAA,WAAA7C,CAAA,IAAAkB,MAAA,CAAAjB,CAAA,EAAAD,CAAA,YAAAC,CAAA,gBAAA6C,OAAA,CAAA9C,CAAA,EAAAC,CAAA,sBAAA8C,cAAA9C,CAAA,EAAAD,CAAA,aAAAgD,OAAA9C,CAAA,EAAAK,CAAA,EAAAG,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAa,QAAA,CAAA1B,CAAA,CAAAC,CAAA,GAAAD,CAAA,EAAAM,CAAA,mBAAAO,CAAA,CAAAc,IAAA,QAAAZ,CAAA,GAAAF,CAAA,CAAAe,GAAA,EAAAE,CAAA,GAAAf,CAAA,CAAAP,KAAA,SAAAsB,CAAA,gBAAAkB,OAAA,CAAAlB,CAAA,KAAA1B,CAAA,CAAAyB,IAAA,CAAAC,CAAA,eAAA/B,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,CAAAoB,OAAA,EAAAC,IAAA,WAAAnD,CAAA,IAAA+C,MAAA,SAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,gBAAAX,CAAA,IAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,QAAAZ,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,EAAAqB,IAAA,WAAAnD,CAAA,IAAAe,CAAA,CAAAP,KAAA,GAAAR,CAAA,EAAAS,CAAA,CAAAM,CAAA,gBAAAf,CAAA,WAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,CAAAE,CAAA,CAAAe,GAAA,SAAA3B,CAAA,EAAAK,CAAA,oBAAAE,KAAA,WAAAA,MAAAR,CAAA,EAAAI,CAAA,aAAAgD,2BAAA,eAAArD,CAAA,WAAAA,CAAA,EAAAE,CAAA,IAAA8C,MAAA,CAAA/C,CAAA,EAAAI,CAAA,EAAAL,CAAA,EAAAE,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAAkD,IAAA,CAAAC,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAA3B,iBAAA1B,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAE,CAAA,GAAAwB,CAAA,mBAAArB,CAAA,EAAAE,CAAA,QAAAL,CAAA,KAAA0B,CAAA,YAAAqB,KAAA,sCAAA/C,CAAA,KAAA2B,CAAA,oBAAAxB,CAAA,QAAAE,CAAA,WAAAH,KAAA,EAAAR,CAAA,EAAAsD,IAAA,eAAAlD,CAAA,CAAAmD,MAAA,GAAA9C,CAAA,EAAAL,CAAA,CAAAwB,GAAA,GAAAjB,CAAA,UAAAE,CAAA,GAAAT,CAAA,CAAAoD,QAAA,MAAA3C,CAAA,QAAAE,CAAA,GAAA0C,mBAAA,CAAA5C,CAAA,EAAAT,CAAA,OAAAW,CAAA,QAAAA,CAAA,KAAAmB,CAAA,mBAAAnB,CAAA,qBAAAX,CAAA,CAAAmD,MAAA,EAAAnD,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAuD,KAAA,GAAAvD,CAAA,CAAAwB,GAAA,sBAAAxB,CAAA,CAAAmD,MAAA,QAAAjD,CAAA,KAAAwB,CAAA,QAAAxB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAwB,GAAA,EAAAxB,CAAA,CAAAwD,iBAAA,CAAAxD,CAAA,CAAAwB,GAAA,uBAAAxB,CAAA,CAAAmD,MAAA,IAAAnD,CAAA,CAAAyD,MAAA,WAAAzD,CAAA,CAAAwB,GAAA,GAAAtB,CAAA,GAAA0B,CAAA,MAAAK,CAAA,GAAAX,QAAA,CAAA3B,CAAA,EAAAE,CAAA,EAAAG,CAAA,oBAAAiC,CAAA,CAAAV,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAkD,IAAA,GAAArB,CAAA,GAAAF,CAAA,EAAAM,CAAA,CAAAT,GAAA,KAAAM,CAAA,qBAAA1B,KAAA,EAAA6B,CAAA,CAAAT,GAAA,EAAA0B,IAAA,EAAAlD,CAAA,CAAAkD,IAAA,kBAAAjB,CAAA,CAAAV,IAAA,KAAArB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAmD,MAAA,YAAAnD,CAAA,CAAAwB,GAAA,GAAAS,CAAA,CAAAT,GAAA,mBAAA6B,oBAAA1D,CAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAH,CAAA,CAAAsD,MAAA,EAAAjD,CAAA,GAAAP,CAAA,CAAAa,QAAA,CAAAR,CAAA,OAAAE,CAAA,KAAAN,CAAA,SAAAC,CAAA,CAAAuD,QAAA,qBAAApD,CAAA,IAAAL,CAAA,CAAAa,QAAA,CAAAkD,MAAA,KAAA7D,CAAA,CAAAsD,MAAA,aAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,EAAAyD,mBAAA,CAAA1D,CAAA,EAAAE,CAAA,eAAAA,CAAA,CAAAsD,MAAA,kBAAAnD,CAAA,KAAAH,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAmC,SAAA,uCAAA3D,CAAA,iBAAA8B,CAAA,MAAAzB,CAAA,GAAAiB,QAAA,CAAApB,CAAA,EAAAP,CAAA,CAAAa,QAAA,EAAAX,CAAA,CAAA2B,GAAA,mBAAAnB,CAAA,CAAAkB,IAAA,SAAA1B,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,GAAAnB,CAAA,CAAAmB,GAAA,EAAA3B,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,MAAAvB,CAAA,GAAAF,CAAA,CAAAmB,GAAA,SAAAjB,CAAA,GAAAA,CAAA,CAAA2C,IAAA,IAAArD,CAAA,CAAAF,CAAA,CAAAiE,UAAA,IAAArD,CAAA,CAAAH,KAAA,EAAAP,CAAA,CAAAgE,IAAA,GAAAlE,CAAA,CAAAmE,OAAA,eAAAjE,CAAA,CAAAsD,MAAA,KAAAtD,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,GAAAC,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,IAAAvB,CAAA,IAAAV,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAmC,SAAA,sCAAA9D,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,cAAAiC,aAAAnE,CAAA,QAAAD,CAAA,KAAAqE,MAAA,EAAApE,CAAA,YAAAA,CAAA,KAAAD,CAAA,CAAAsE,QAAA,GAAArE,CAAA,WAAAA,CAAA,KAAAD,CAAA,CAAAuE,UAAA,GAAAtE,CAAA,KAAAD,CAAA,CAAAwE,QAAA,GAAAvE,CAAA,WAAAwE,UAAA,CAAAC,IAAA,CAAA1E,CAAA,cAAA2E,cAAA1E,CAAA,QAAAD,CAAA,GAAAC,CAAA,CAAA2E,UAAA,QAAA5E,CAAA,CAAA4B,IAAA,oBAAA5B,CAAA,CAAA6B,GAAA,EAAA5B,CAAA,CAAA2E,UAAA,GAAA5E,CAAA,aAAAyB,QAAAxB,CAAA,SAAAwE,UAAA,MAAAJ,MAAA,aAAApE,CAAA,CAAA4C,OAAA,CAAAuB,YAAA,cAAAS,KAAA,iBAAAnC,OAAA1C,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAY,CAAA,OAAAV,CAAA,SAAAA,CAAA,CAAA4B,IAAA,CAAA9B,CAAA,4BAAAA,CAAA,CAAAkE,IAAA,SAAAlE,CAAA,OAAA8E,KAAA,CAAA9E,CAAA,CAAA+E,MAAA,SAAAxE,CAAA,OAAAG,CAAA,YAAAwD,KAAA,aAAA3D,CAAA,GAAAP,CAAA,CAAA+E,MAAA,OAAA1E,CAAA,CAAAyB,IAAA,CAAA9B,CAAA,EAAAO,CAAA,UAAA2D,IAAA,CAAAzD,KAAA,GAAAT,CAAA,CAAAO,CAAA,GAAA2D,IAAA,CAAAX,IAAA,OAAAW,IAAA,SAAAA,IAAA,CAAAzD,KAAA,GAAAR,CAAA,EAAAiE,IAAA,CAAAX,IAAA,OAAAW,IAAA,YAAAxD,CAAA,CAAAwD,IAAA,GAAAxD,CAAA,gBAAAsD,SAAA,CAAAf,OAAA,CAAAjD,CAAA,kCAAAoC,iBAAA,CAAAhC,SAAA,GAAAiC,0BAAA,EAAA9B,CAAA,CAAAoC,CAAA,mBAAAlC,KAAA,EAAA4B,0BAAA,EAAAjB,YAAA,SAAAb,CAAA,CAAA8B,0BAAA,mBAAA5B,KAAA,EAAA2B,iBAAA,EAAAhB,YAAA,SAAAgB,iBAAA,CAAA4C,WAAA,GAAA9D,MAAA,CAAAmB,0BAAA,EAAArB,CAAA,wBAAAhB,CAAA,CAAAiF,mBAAA,aAAAhF,CAAA,QAAAD,CAAA,wBAAAC,CAAA,IAAAA,CAAA,CAAAiF,WAAA,WAAAlF,CAAA,KAAAA,CAAA,KAAAoC,iBAAA,6BAAApC,CAAA,CAAAgF,WAAA,IAAAhF,CAAA,CAAAmF,IAAA,OAAAnF,CAAA,CAAAoF,IAAA,aAAAnF,CAAA,WAAAE,MAAA,CAAAkF,cAAA,GAAAlF,MAAA,CAAAkF,cAAA,CAAApF,CAAA,EAAAoC,0BAAA,KAAApC,CAAA,CAAAqF,SAAA,GAAAjD,0BAAA,EAAAnB,MAAA,CAAAjB,CAAA,EAAAe,CAAA,yBAAAf,CAAA,CAAAG,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAmB,CAAA,GAAA1C,CAAA,KAAAD,CAAA,CAAAuF,KAAA,aAAAtF,CAAA,aAAAkD,OAAA,EAAAlD,CAAA,OAAA2C,qBAAA,CAAAG,aAAA,CAAA3C,SAAA,GAAAc,MAAA,CAAA6B,aAAA,CAAA3C,SAAA,EAAAU,CAAA,iCAAAd,CAAA,CAAA+C,aAAA,GAAAA,aAAA,EAAA/C,CAAA,CAAAwF,KAAA,aAAAvF,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,EAAAG,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAA+E,OAAA,OAAA7E,CAAA,OAAAmC,aAAA,CAAAzB,IAAA,CAAArB,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,GAAAG,CAAA,UAAAV,CAAA,CAAAiF,mBAAA,CAAA/E,CAAA,IAAAU,CAAA,GAAAA,CAAA,CAAAsD,IAAA,GAAAd,IAAA,WAAAnD,CAAA,WAAAA,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAQ,KAAA,GAAAG,CAAA,CAAAsD,IAAA,WAAAtB,qBAAA,CAAAD,CAAA,GAAAzB,MAAA,CAAAyB,CAAA,EAAA3B,CAAA,gBAAAE,MAAA,CAAAyB,CAAA,EAAA/B,CAAA,iCAAAM,MAAA,CAAAyB,CAAA,6DAAA3C,CAAA,CAAA0F,IAAA,aAAAzF,CAAA,QAAAD,CAAA,GAAAG,MAAA,CAAAF,CAAA,GAAAC,CAAA,gBAAAG,CAAA,IAAAL,CAAA,EAAAE,CAAA,CAAAwE,IAAA,CAAArE,CAAA,UAAAH,CAAA,CAAAyF,OAAA,aAAAzB,KAAA,WAAAhE,CAAA,CAAA6E,MAAA,SAAA9E,CAAA,GAAAC,CAAA,CAAA0F,GAAA,QAAA3F,CAAA,IAAAD,CAAA,SAAAkE,IAAA,CAAAzD,KAAA,GAAAR,CAAA,EAAAiE,IAAA,CAAAX,IAAA,OAAAW,IAAA,WAAAA,IAAA,CAAAX,IAAA,OAAAW,IAAA,QAAAlE,CAAA,CAAA0C,MAAA,GAAAA,MAAA,EAAAjB,OAAA,CAAArB,SAAA,KAAA8E,WAAA,EAAAzD,OAAA,EAAAoD,KAAA,WAAAA,MAAA7E,CAAA,aAAA6F,IAAA,WAAA3B,IAAA,WAAAP,IAAA,QAAAC,KAAA,GAAA3D,CAAA,OAAAsD,IAAA,YAAAE,QAAA,cAAAD,MAAA,gBAAA3B,GAAA,GAAA5B,CAAA,OAAAwE,UAAA,CAAA5B,OAAA,CAAA8B,aAAA,IAAA3E,CAAA,WAAAE,CAAA,kBAAAA,CAAA,CAAA4F,MAAA,OAAAzF,CAAA,CAAAyB,IAAA,OAAA5B,CAAA,MAAA4E,KAAA,EAAA5E,CAAA,CAAA6F,KAAA,cAAA7F,CAAA,IAAAD,CAAA,MAAA+F,IAAA,WAAAA,KAAA,SAAAzC,IAAA,WAAAtD,CAAA,QAAAwE,UAAA,IAAAG,UAAA,kBAAA3E,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,cAAAoE,IAAA,KAAApC,iBAAA,WAAAA,kBAAA7D,CAAA,aAAAuD,IAAA,QAAAvD,CAAA,MAAAE,CAAA,kBAAAgG,OAAA7F,CAAA,EAAAE,CAAA,WAAAK,CAAA,CAAAgB,IAAA,YAAAhB,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAE,CAAA,CAAAgE,IAAA,GAAA7D,CAAA,EAAAE,CAAA,KAAAL,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,KAAAM,CAAA,aAAAA,CAAA,QAAAkE,UAAA,CAAAM,MAAA,MAAAxE,CAAA,SAAAA,CAAA,QAAAG,CAAA,QAAA+D,UAAA,CAAAlE,CAAA,GAAAK,CAAA,GAAAF,CAAA,CAAAkE,UAAA,iBAAAlE,CAAA,CAAA2D,MAAA,SAAA6B,MAAA,aAAAxF,CAAA,CAAA2D,MAAA,SAAAwB,IAAA,QAAA/E,CAAA,GAAAT,CAAA,CAAAyB,IAAA,CAAApB,CAAA,eAAAM,CAAA,GAAAX,CAAA,CAAAyB,IAAA,CAAApB,CAAA,qBAAAI,CAAA,IAAAE,CAAA,aAAA6E,IAAA,GAAAnF,CAAA,CAAA4D,QAAA,SAAA4B,MAAA,CAAAxF,CAAA,CAAA4D,QAAA,gBAAAuB,IAAA,GAAAnF,CAAA,CAAA6D,UAAA,SAAA2B,MAAA,CAAAxF,CAAA,CAAA6D,UAAA,cAAAzD,CAAA,aAAA+E,IAAA,GAAAnF,CAAA,CAAA4D,QAAA,SAAA4B,MAAA,CAAAxF,CAAA,CAAA4D,QAAA,qBAAAtD,CAAA,YAAAsC,KAAA,qDAAAuC,IAAA,GAAAnF,CAAA,CAAA6D,UAAA,SAAA2B,MAAA,CAAAxF,CAAA,CAAA6D,UAAA,YAAAT,MAAA,WAAAA,OAAA7D,CAAA,EAAAD,CAAA,aAAAE,CAAA,QAAAuE,UAAA,CAAAM,MAAA,MAAA7E,CAAA,SAAAA,CAAA,QAAAK,CAAA,QAAAkE,UAAA,CAAAvE,CAAA,OAAAK,CAAA,CAAA8D,MAAA,SAAAwB,IAAA,IAAAxF,CAAA,CAAAyB,IAAA,CAAAvB,CAAA,wBAAAsF,IAAA,GAAAtF,CAAA,CAAAgE,UAAA,QAAA7D,CAAA,GAAAH,CAAA,aAAAG,CAAA,iBAAAT,CAAA,mBAAAA,CAAA,KAAAS,CAAA,CAAA2D,MAAA,IAAArE,CAAA,IAAAA,CAAA,IAAAU,CAAA,CAAA6D,UAAA,KAAA7D,CAAA,cAAAE,CAAA,GAAAF,CAAA,GAAAA,CAAA,CAAAkE,UAAA,cAAAhE,CAAA,CAAAgB,IAAA,GAAA3B,CAAA,EAAAW,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAU,CAAA,SAAA8C,MAAA,gBAAAU,IAAA,GAAAxD,CAAA,CAAA6D,UAAA,EAAApC,CAAA,SAAAgE,QAAA,CAAAvF,CAAA,MAAAuF,QAAA,WAAAA,SAAAlG,CAAA,EAAAD,CAAA,oBAAAC,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,qBAAA5B,CAAA,CAAA2B,IAAA,mBAAA3B,CAAA,CAAA2B,IAAA,QAAAsC,IAAA,GAAAjE,CAAA,CAAA4B,GAAA,gBAAA5B,CAAA,CAAA2B,IAAA,SAAAqE,IAAA,QAAApE,GAAA,GAAA5B,CAAA,CAAA4B,GAAA,OAAA2B,MAAA,kBAAAU,IAAA,yBAAAjE,CAAA,CAAA2B,IAAA,IAAA5B,CAAA,UAAAkE,IAAA,GAAAlE,CAAA,GAAAmC,CAAA,KAAAiE,MAAA,WAAAA,OAAAnG,CAAA,aAAAD,CAAA,QAAAyE,UAAA,CAAAM,MAAA,MAAA/E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAuE,UAAA,CAAAzE,CAAA,OAAAE,CAAA,CAAAqE,UAAA,KAAAtE,CAAA,cAAAkG,QAAA,CAAAjG,CAAA,CAAA0E,UAAA,EAAA1E,CAAA,CAAAsE,QAAA,GAAAG,aAAA,CAAAzE,CAAA,GAAAiC,CAAA,OAAAkE,KAAA,WAAAC,OAAArG,CAAA,aAAAD,CAAA,QAAAyE,UAAA,CAAAM,MAAA,MAAA/E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAuE,UAAA,CAAAzE,CAAA,OAAAE,CAAA,CAAAmE,MAAA,KAAApE,CAAA,QAAAI,CAAA,GAAAH,CAAA,CAAA0E,UAAA,kBAAAvE,CAAA,CAAAuB,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAwB,GAAA,EAAA8C,aAAA,CAAAzE,CAAA,YAAAK,CAAA,gBAAA+C,KAAA,8BAAAiD,aAAA,WAAAA,cAAAvG,CAAA,EAAAE,CAAA,EAAAG,CAAA,gBAAAoD,QAAA,KAAA5C,QAAA,EAAA6B,MAAA,CAAA1C,CAAA,GAAAiE,UAAA,EAAA/D,CAAA,EAAAiE,OAAA,EAAA9D,CAAA,oBAAAmD,MAAA,UAAA3B,GAAA,GAAA5B,CAAA,GAAAkC,CAAA,OAAAnC,CAAA;AAAA,SAAAwG,mBAAAC,GAAA,EAAAvD,OAAA,EAAAwD,MAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,GAAA,EAAAhF,GAAA,cAAAiF,IAAA,GAAAL,GAAA,CAAAI,GAAA,EAAAhF,GAAA,OAAApB,KAAA,GAAAqG,IAAA,CAAArG,KAAA,WAAAsG,KAAA,IAAAL,MAAA,CAAAK,KAAA,iBAAAD,IAAA,CAAAvD,IAAA,IAAAL,OAAA,CAAAzC,KAAA,YAAAgF,OAAA,CAAAvC,OAAA,CAAAzC,KAAA,EAAA2C,IAAA,CAAAuD,KAAA,EAAAC,MAAA;AAAA,SAAAI,kBAAAC,EAAA,6BAAAC,IAAA,SAAAC,IAAA,GAAAC,SAAA,aAAA3B,OAAA,WAAAvC,OAAA,EAAAwD,MAAA,QAAAD,GAAA,GAAAQ,EAAA,CAAAI,KAAA,CAAAH,IAAA,EAAAC,IAAA,YAAAR,MAAAlG,KAAA,IAAA+F,kBAAA,CAAAC,GAAA,EAAAvD,OAAA,EAAAwD,MAAA,EAAAC,KAAA,EAAAC,MAAA,UAAAnG,KAAA,cAAAmG,OAAAU,GAAA,IAAAd,kBAAA,CAAAC,GAAA,EAAAvD,OAAA,EAAAwD,MAAA,EAAAC,KAAA,EAAAC,MAAA,WAAAU,GAAA,KAAAX,KAAA,CAAAY,SAAA;AAAA,SAAAC,QAAAxH,CAAA,EAAAE,CAAA,QAAAD,CAAA,GAAAE,MAAA,CAAAuF,IAAA,CAAA1F,CAAA,OAAAG,MAAA,CAAAsH,qBAAA,QAAAlH,CAAA,GAAAJ,MAAA,CAAAsH,qBAAA,CAAAzH,CAAA,GAAAE,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAmH,MAAA,WAAAxH,CAAA,WAAAC,MAAA,CAAAwH,wBAAA,CAAA3H,CAAA,EAAAE,CAAA,EAAAiB,UAAA,OAAAlB,CAAA,CAAAyE,IAAA,CAAA2C,KAAA,CAAApH,CAAA,EAAAM,CAAA,YAAAN,CAAA;AAAA,SAAA2H,cAAA5H,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAAkH,SAAA,CAAArC,MAAA,EAAA7E,CAAA,UAAAD,CAAA,WAAAmH,SAAA,CAAAlH,CAAA,IAAAkH,SAAA,CAAAlH,CAAA,QAAAA,CAAA,OAAAsH,OAAA,CAAArH,MAAA,CAAAF,CAAA,OAAA4C,OAAA,WAAA3C,CAAA,IAAA2H,eAAA,CAAA7H,CAAA,EAAAE,CAAA,EAAAD,CAAA,CAAAC,CAAA,SAAAC,MAAA,CAAA2H,yBAAA,GAAA3H,MAAA,CAAA4H,gBAAA,CAAA/H,CAAA,EAAAG,MAAA,CAAA2H,yBAAA,CAAA7H,CAAA,KAAAuH,OAAA,CAAArH,MAAA,CAAAF,CAAA,GAAA4C,OAAA,WAAA3C,CAAA,IAAAC,MAAA,CAAAK,cAAA,CAAAR,CAAA,EAAAE,CAAA,EAAAC,MAAA,CAAAwH,wBAAA,CAAA1H,CAAA,EAAAC,CAAA,iBAAAF,CAAA;AAAA,SAAA6H,gBAAAG,GAAA,EAAAnB,GAAA,EAAApG,KAAA,IAAAoG,GAAA,GAAAoB,cAAA,CAAApB,GAAA,OAAAA,GAAA,IAAAmB,GAAA,IAAA7H,MAAA,CAAAK,cAAA,CAAAwH,GAAA,EAAAnB,GAAA,IAAApG,KAAA,EAAAA,KAAA,EAAAU,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAA2G,GAAA,CAAAnB,GAAA,IAAApG,KAAA,WAAAuH,GAAA;AAAA,SAAAE,gBAAAC,QAAA,EAAAC,WAAA,UAAAD,QAAA,YAAAC,WAAA,eAAApE,SAAA;AAAA,SAAAqE,kBAAAC,MAAA,EAAAC,KAAA,aAAA7H,CAAA,MAAAA,CAAA,GAAA6H,KAAA,CAAAxD,MAAA,EAAArE,CAAA,UAAA8H,UAAA,GAAAD,KAAA,CAAA7H,CAAA,GAAA8H,UAAA,CAAArH,UAAA,GAAAqH,UAAA,CAAArH,UAAA,WAAAqH,UAAA,CAAApH,YAAA,wBAAAoH,UAAA,EAAAA,UAAA,CAAAnH,QAAA,SAAAlB,MAAA,CAAAK,cAAA,CAAA8H,MAAA,EAAAL,cAAA,CAAAO,UAAA,CAAA3B,GAAA,GAAA2B,UAAA;AAAA,SAAAC,aAAAL,WAAA,EAAAM,UAAA,EAAAC,WAAA,QAAAD,UAAA,EAAAL,iBAAA,CAAAD,WAAA,CAAAhI,SAAA,EAAAsI,UAAA,OAAAC,WAAA,EAAAN,iBAAA,CAAAD,WAAA,EAAAO,WAAA,GAAAxI,MAAA,CAAAK,cAAA,CAAA4H,WAAA,iBAAA/G,QAAA,mBAAA+G,WAAA;AAAA,SAAAH,eAAAhI,CAAA,QAAAS,CAAA,GAAAkI,YAAA,CAAA3I,CAAA,gCAAAgD,OAAA,CAAAvC,CAAA,IAAAA,CAAA,GAAAmI,MAAA,CAAAnI,CAAA;AAAA,SAAAkI,aAAA3I,CAAA,EAAAC,CAAA,oBAAA+C,OAAA,CAAAhD,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAD,CAAA,GAAAC,CAAA,CAAAU,MAAA,CAAAmI,WAAA,kBAAA9I,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAA8B,IAAA,CAAA7B,CAAA,EAAAC,CAAA,gCAAA+C,OAAA,CAAAvC,CAAA,UAAAA,CAAA,YAAAsD,SAAA,yEAAA9D,CAAA,GAAA2I,MAAA,GAAAE,MAAA,EAAA9I,CAAA;AAAA,SAAS+I,KAAK,EAAEC,SAAS,EAAEC,OAAO,EAAEC,GAAG,QAAQ,eAAe;AAG9D,OAAOC,eAAe;AACtB,OAAOC,cAAc;AACrB,SAASC,YAAY;AA8BrB,IAAMC,aAAiC,GAAG;EACxCpE,IAAI,EAAE,EAAE;EACRqE,OAAO,EAAE,IAAI;EACbC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EACnBC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EACnBC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EAChBC,SAAS,EAAE;AACb,CAAC;AAED,IAAMC,cAAc,GAAG,IAAIR,cAAc,CAAC,IAAI,CAAC;AAAA,IAEzCS,WAAW;EAAA,SAAAA,YAAA;IAAA5B,eAAA,OAAA4B,WAAA;EAAA;EAAArB,YAAA,CAAAqB,WAAA;IAAAjD,GAAA;IAAApG,KAAA,EACf,SAAAsJ,UAAkBC,MAAmB,EAAE1B,MAAa,EAAE;MACpD,IAAQnD,IAAI,GAAkD6E,MAAM,CAA5D7E,IAAI;QAAEqE,OAAO,GAAyCQ,MAAM,CAAtDR,OAAO;QAAEC,QAAQ,GAA+BO,MAAM,CAA7CP,QAAQ;QAAEC,QAAQ,GAAqBM,MAAM,CAAnCN,QAAQ;QAAEE,SAAS,GAAUI,MAAM,CAAzBJ,SAAS;QAAEK,GAAG,GAAKD,MAAM,CAAdC,GAAG;MAEzD3B,MAAM,CAACnD,IAAI,GAAGA,IAAI;MAClBmD,MAAM,CAACkB,OAAO,GAAGA,OAAO;MACxBlB,MAAM,CAACmB,QAAQ,CAACS,IAAI,CAAC,IAAIhB,OAAO,CAAC,CAAC,CAACiB,SAAS,CAACV,QAAQ,CAAC,CAAC;MACvDnB,MAAM,CAACoB,QAAQ,CAACQ,IAAI,CAAC,IAAIlB,KAAK,CAACC,SAAS,CAACmB,QAAQ,CAACV,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAET,SAAS,CAACmB,QAAQ,CAACV,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAET,SAAS,CAACmB,QAAQ,CAACV,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAClIpB,MAAM,CAACqB,KAAK,CAACO,IAAI,CAAC,IAAIhB,OAAO,CAAC,CAAC,CAACiB,SAAS,CAACH,MAAM,CAACL,KAAK,CAAC,CAAC;MACxDrB,MAAM,CAAC+B,QAAQ,CAACT,SAAS,GAAGA,SAAS;MACrCtB,MAAM,CAAC+B,QAAQ,CAACJ,GAAG,GAAGA,GAAG;;MAEzB;MACA,IAAI,CAACK,qBAAqB,CAACN,MAAM,EAAE1B,MAAM,CAAC;IAC5C;EAAC;IAAAzB,GAAA;IAAApG,KAAA,EAED,SAAA6J,sBAA8BN,MAAmB,EAAE1B,MAAa,EAAE;MAChE,IAAQiC,QAAQ,GAAKP,MAAM,CAAnBO,QAAQ;MAChB,IAAIA,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEC,SAAS,EAAE;QACvB,IAAI;UACFX,cAAc,CAACY,cAAc,CAACnC,MAAM,EAAAV,aAAA;YAAIU,MAAM,EAAE0B,MAAM,CAACU;UAAE,GAAKH,QAAQ,CAAE,CAAC;QAC3E,CAAC,CACD,OAAOvK,CAAC,EAAE;UACR2K,OAAO,CAAC5D,KAAK,CAAC/G,CAAC,CAAC;QAClB;MACF;IACF;EAAC;IAAA6G,GAAA;IAAApG,KAAA;MAAA,IAAAmK,OAAA,GAAA5D,iBAAA,eAAAjH,mBAAA,GAAAqF,IAAA,CAED,SAAAyF,QAAaC,IAAI;QAAA,IAAAb,GAAA,EAAAS,EAAA,EAAAK,MAAA,EAAAC,SAAA,EAAAC,OAAA,EAAAC,KAAA,EAAAC,QAAA;QAAA,OAAApL,mBAAA,GAAAuB,IAAA,UAAA8J,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAxF,IAAA,GAAAwF,QAAA,CAAAnH,IAAA;YAAA;cACP+F,GAAG,GAAiBa,IAAI,CAAxBb,GAAG,EAAES,EAAE,GAAaI,IAAI,CAAnBJ,EAAE,EAAEK,MAAM,GAAKD,IAAI,CAAfC,MAAM;cACjBC,SAAS,GAAGf,GAAG,CAACqB,KAAK,CAAC,GAAG,CAAC,CAAC1F,GAAG,CAAC,CAAC;cAAAyF,QAAA,CAAAnH,IAAA;cAAA,OAChBoF,YAAY,CAAC0B,SAAS,CAAC,CAAC,CAAC;YAAA;cAAzCC,OAAO,GAAAI,QAAA,CAAA1H,IAAA;cAAA0H,QAAA,CAAAnH,IAAA;cAAA,OACO+G,OAAO,CAAChB,GAAG,EAAES,EAAE,EAAEK,MAAM,CAAC;YAAA;cAAtCG,KAAK,GAAAG,QAAA,CAAA1H,IAAA;cACLwH,QAAQ,GAAGH,SAAS,KAAK,KAAK,GAAGE,KAAK,GAAGA,KAAK,CAACK,KAAK;cAE1DZ,OAAO,CAACa,GAAG,CAAC,YAAY,EAAEN,KAAK,CAAC;cAChC,IAAI,CAACnB,SAAS,CAAAnC,aAAA,CAAAA,aAAA,KACT2B,aAAa,GACbuB,IAAI,GACNK,QACH,CAAC;cAEDhC,GAAG,CAACsC,QAAQ,CAAC,CAAC,CAACF,KAAK,CAACG,GAAG,CAACP,QAAQ,CAAC;cAAA,OAAAE,QAAA,CAAAvH,MAAA,WAE3BqH,QAAQ;YAAA;YAAA;cAAA,OAAAE,QAAA,CAAArF,IAAA;UAAA;QAAA,GAAA6E,OAAA;MAAA,CAChB;MAAA,SAAArJ,OAAAmK,EAAA;QAAA,OAAAf,OAAA,CAAAvD,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAA5F,MAAA;IAAA;EAAA;IAAAqF,GAAA;IAAApG,KAAA;MAAA,IAAAmL,OAAA,GAAA5E,iBAAA,eAAAjH,mBAAA,GAAAqF,IAAA,CAED,SAAAyG,SAAavD,MAAa,EAAE0B,MAAmB;QAAA,IAAAC,GAAA,EAAA6B,aAAA;QAAA,OAAA/L,mBAAA,GAAAuB,IAAA,UAAAyK,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAnG,IAAA,GAAAmG,SAAA,CAAA9H,IAAA;YAAA;cACrC+F,GAAG,GAAKD,MAAM,CAAdC,GAAG;cAAA,MAEP3B,MAAM,CAAC+B,QAAQ,CAACJ,GAAG,KAAKA,GAAG;gBAAA+B,SAAA,CAAA9H,IAAA;gBAAA;cAAA;cAC7BoE,MAAM,CAAC2D,gBAAgB,CAAC,CAAC;;cAEzB;cACMH,aAAa,GAAG1C,eAAe,CAAC,CAAC,EAEvC;cACA;cACAd,MAAM,CAAChD,SAAS,CAAC4G,OAAO,GAAGJ,aAAa;cACxC;cAAA,OAAAE,SAAA,CAAAlI,MAAA,WACO,IAAI,CAACtC,MAAM,CAACwI,MAAM,CAAC;YAAA;cAI1B,IAAI,CAACD,SAAS,CAACC,MAAM,EAAE1B,MAAM,CAAC;cAAA,OAAA0D,SAAA,CAAAlI,MAAA,WACvBwE,MAAM;YAAA;YAAA;cAAA,OAAA0D,SAAA,CAAAhG,IAAA;UAAA;QAAA,GAAA6F,QAAA;MAAA,CAEhB;MAAA,SAAAM,OAAAC,GAAA,EAAAC,GAAA;QAAA,OAAAT,OAAA,CAAAvE,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAA+E,MAAA;IAAA;EAAA;EAAA,OAAArC,WAAA;AAAA;AAGH,eAAeA,WAAW"}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import { LoaderModule } from '@anov/3d-core';
|
|
1
|
+
import { LoaderModule, utils } from '@anov/3d-core';
|
|
2
2
|
import { MessageType, sendToMessage } from "../../../../utils/messageFn";
|
|
3
3
|
import { EMessageStatus } from "../../../../messageStatus";
|
|
4
4
|
var load = new LoaderModule();
|
|
5
5
|
var loadGlb = function loadGlb(url, id) {
|
|
6
6
|
return new Promise(function (resolve, reject) {
|
|
7
|
+
var _utils$storeManagemen;
|
|
7
8
|
load.loadGLTF({
|
|
8
9
|
url: url,
|
|
9
10
|
autoBackward: false,
|
|
10
|
-
isCache:
|
|
11
|
+
isCache: true,
|
|
11
12
|
draco: true,
|
|
12
|
-
dracoPath: './draco/',
|
|
13
|
+
dracoPath: (_utils$storeManagemen = utils.storeManagement.get('decoderPath')) !== null && _utils$storeManagemen !== void 0 ? _utils$storeManagemen : './draco/',
|
|
13
14
|
onProgress: function onProgress(progress) {
|
|
14
15
|
sendToMessage({
|
|
15
16
|
messageType: MessageType.Event,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["LoaderModule","MessageType","sendToMessage","EMessageStatus","load","loadGlb","url","id","Promise","resolve","reject","loadGLTF","autoBackward","isCache","draco","dracoPath","onProgress","progress","messageType","Event","messageName","status","Success","global","loaded","total","onLoad","gltf","onError","error"],"sources":["../../../../../src/module/entity/model/load/loadGlb.ts"],"sourcesContent":["import { LoaderModule } from '@anov/3d-core'\nimport { MessageType, sendToMessage } from '../../../../utils/messageFn'\nimport { EMessageStatus } from '../../../../messageStatus'\n\nconst load = new LoaderModule()\n\nconst loadGlb = (url: string, id: string) => {\n return new Promise((resolve, reject) => {\n load.loadGLTF({\n url,\n autoBackward: false,\n isCache:
|
|
1
|
+
{"version":3,"names":["LoaderModule","utils","MessageType","sendToMessage","EMessageStatus","load","loadGlb","url","id","Promise","resolve","reject","_utils$storeManagemen","loadGLTF","autoBackward","isCache","draco","dracoPath","storeManagement","get","onProgress","progress","messageType","Event","messageName","status","Success","global","loaded","total","onLoad","gltf","onError","error"],"sources":["../../../../../src/module/entity/model/load/loadGlb.ts"],"sourcesContent":["import { LoaderModule, utils } from '@anov/3d-core'\nimport { MessageType, sendToMessage } from '../../../../utils/messageFn'\nimport { EMessageStatus } from '../../../../messageStatus'\n\nconst load = new LoaderModule()\n\nconst loadGlb = (url: string, id: string) => {\n return new Promise((resolve, reject) => {\n load.loadGLTF({\n url,\n autoBackward: false,\n isCache: true,\n draco: true,\n dracoPath: utils.storeManagement.get('decoderPath') ?? './draco/',\n onProgress: (progress) => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onProgress',\n status: EMessageStatus.Success,\n global: false,\n },\n {\n id,\n progress: progress.loaded / progress.total,\n })\n },\n onLoad: (gltf) => {\n resolve(gltf)\n },\n onError: (error) => {\n reject(error)\n },\n })\n })\n}\n\nexport default loadGlb"],"mappings":"AAAA,SAASA,YAAY,EAAEC,KAAK,QAAQ,eAAe;AACnD,SAASC,WAAW,EAAEC,aAAa;AACnC,SAASC,cAAc;AAEvB,IAAMC,IAAI,GAAG,IAAIL,YAAY,CAAC,CAAC;AAE/B,IAAMM,OAAO,GAAG,SAAVA,OAAOA,CAAIC,GAAW,EAAEC,EAAU,EAAK;EAC3C,OAAO,IAAIC,OAAO,CAAC,UAACC,OAAO,EAAEC,MAAM,EAAK;IAAA,IAAAC,qBAAA;IACtCP,IAAI,CAACQ,QAAQ,CAAC;MACZN,GAAG,EAAHA,GAAG;MACHO,YAAY,EAAE,KAAK;MACnBC,OAAO,EAAE,IAAI;MACbC,KAAK,EAAE,IAAI;MACXC,SAAS,GAAAL,qBAAA,GAAEX,KAAK,CAACiB,eAAe,CAACC,GAAG,CAAC,aAAa,CAAC,cAAAP,qBAAA,cAAAA,qBAAA,GAAI,UAAU;MACjEQ,UAAU,EAAE,SAAAA,WAACC,QAAQ,EAAK;QACxBlB,aAAa,CACX;UACEmB,WAAW,EAAEpB,WAAW,CAACqB,KAAK;UAC9BC,WAAW,EAAE,YAAY;UACzBC,MAAM,EAAErB,cAAc,CAACsB,OAAO;UAC9BC,MAAM,EAAE;QACV,CAAC,EACD;UACEnB,EAAE,EAAFA,EAAE;UACFa,QAAQ,EAAEA,QAAQ,CAACO,MAAM,GAAGP,QAAQ,CAACQ;QACvC,CAAC,CAAC;MACN,CAAC;MACDC,MAAM,EAAE,SAAAA,OAACC,IAAI,EAAK;QAChBrB,OAAO,CAACqB,IAAI,CAAC;MACf,CAAC;MACDC,OAAO,EAAE,SAAAA,QAACC,KAAK,EAAK;QAClBtB,MAAM,CAACsB,KAAK,CAAC;MACf;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC;AAED,eAAe3B,OAAO"}
|