@roomle/web-sdk 2.27.0 → 2.28.0-alpha.3

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.
Files changed (190) hide show
  1. package/lib/{banana-for-scale-b325b756.js → banana-for-scale-54c30ccf.js} +2 -2
  2. package/lib/{banana-for-scale-b325b756.js.map → banana-for-scale-54c30ccf.js.map} +1 -1
  3. package/lib/{banana-for-scale-cedb7a7b.nomodule.js → banana-for-scale-84b2399a.nomodule.js} +2 -2
  4. package/lib/{banana-for-scale-cedb7a7b.nomodule.js.map → banana-for-scale-84b2399a.nomodule.js.map} +1 -1
  5. package/lib/{component-dimensioning-ec0c0695.nomodule.js → component-dimensioning-c7efa35c.nomodule.js} +2 -2
  6. package/lib/component-dimensioning-c7efa35c.nomodule.js.map +1 -0
  7. package/lib/{component-dimensioning-e91669c2.js → component-dimensioning-cb7cf449.js} +2 -2
  8. package/lib/component-dimensioning-cb7cf449.js.map +1 -0
  9. package/lib/{configurator-91a2e439.js → configurator-71273f5d.js} +2 -2
  10. package/lib/{configurator-91a2e439.js.map → configurator-71273f5d.js.map} +1 -1
  11. package/lib/{configurator-1e8ca083.nomodule.js → configurator-fcf044c7.nomodule.js} +2 -2
  12. package/lib/{configurator-1e8ca083.nomodule.js.map → configurator-fcf044c7.nomodule.js.map} +1 -1
  13. package/lib/configurator-main-8cd68c7b.js +2 -0
  14. package/lib/configurator-main-8cd68c7b.js.map +1 -0
  15. package/lib/configurator-main.nomodule.js +1 -1
  16. package/lib/{configurator-mesh-generator-4d1cbc6b.js → configurator-mesh-generator-231a9b06.js} +2 -2
  17. package/lib/configurator-mesh-generator-231a9b06.js.map +1 -0
  18. package/lib/{configurator-mesh-generator-484d0c28.nomodule.js → configurator-mesh-generator-7b6ee065.nomodule.js} +2 -2
  19. package/lib/configurator-mesh-generator-7b6ee065.nomodule.js.map +1 -0
  20. package/lib/{default-light-setting-a2b463ae.nomodule.js → default-light-setting-12682824.nomodule.js} +2 -2
  21. package/lib/default-light-setting-12682824.nomodule.js.map +1 -0
  22. package/lib/{default-light-setting-ed0ed89e.js → default-light-setting-4a8063d4.js} +2 -2
  23. package/lib/default-light-setting-4a8063d4.js.map +1 -0
  24. package/lib/definitions/common-core/src/webgl/scene-manager.d.ts +1 -1
  25. package/lib/definitions/planner-core/src/roomle-planner-ui-callback.d.ts +6 -0
  26. package/lib/definitions/typings/planner.d.ts +6 -0
  27. package/lib/{dimensioning-helper-4aafe358.nomodule.js → dimensioning-helper-5c75d83a.nomodule.js} +2 -2
  28. package/lib/dimensioning-helper-5c75d83a.nomodule.js.map +1 -0
  29. package/lib/{dimensioning-helper-0183ab03.js → dimensioning-helper-ce6a3a96.js} +2 -2
  30. package/lib/dimensioning-helper-ce6a3a96.js.map +1 -0
  31. package/lib/{glb-viewer-11dfcdb6.nomodule.js → glb-viewer-491eb047.nomodule.js} +2 -2
  32. package/lib/{glb-viewer-11dfcdb6.nomodule.js.map → glb-viewer-491eb047.nomodule.js.map} +1 -1
  33. package/lib/{glb-viewer-0452466e.js → glb-viewer-6b0d4dc9.js} +2 -2
  34. package/lib/{glb-viewer-0452466e.js.map → glb-viewer-6b0d4dc9.js.map} +1 -1
  35. package/lib/glb-viewer-main-a89d10ea.js +2 -0
  36. package/lib/glb-viewer-main-a89d10ea.js.map +1 -0
  37. package/lib/glb-viewer-main.nomodule.js +1 -1
  38. package/lib/image-renderer-322a982c.js +2 -0
  39. package/lib/{image-renderer-ff5eb4c8.js.map → image-renderer-322a982c.js.map} +1 -1
  40. package/lib/image-renderer-4698ddc6.nomodule.js +2 -0
  41. package/lib/{image-renderer-8c3b0bb9.nomodule.js.map → image-renderer-4698ddc6.nomodule.js.map} +1 -1
  42. package/lib/legacy/{banana-for-scale-0fe76bab.legacy.js → banana-for-scale-bc030b45.legacy.js} +2 -2
  43. package/lib/legacy/{banana-for-scale-0fe76bab.legacy.js.map → banana-for-scale-bc030b45.legacy.js.map} +1 -1
  44. package/lib/legacy/{component-dimensioning-137137ef.legacy.js → component-dimensioning-12e130d8.legacy.js} +2 -2
  45. package/lib/legacy/component-dimensioning-12e130d8.legacy.js.map +1 -0
  46. package/lib/legacy/{configurator-f690ab2a.legacy.js → configurator-aa9e55b0.legacy.js} +2 -2
  47. package/lib/legacy/{configurator-f690ab2a.legacy.js.map → configurator-aa9e55b0.legacy.js.map} +1 -1
  48. package/lib/legacy/configurator-main.legacy.js +1 -1
  49. package/lib/legacy/{configurator-mesh-generator-962ccf42.legacy.js → configurator-mesh-generator-7bd2d267.legacy.js} +2 -2
  50. package/lib/legacy/configurator-mesh-generator-7bd2d267.legacy.js.map +1 -0
  51. package/lib/legacy/{default-light-setting-79979e5b.legacy.js → default-light-setting-5d652b74.legacy.js} +2 -2
  52. package/lib/legacy/default-light-setting-5d652b74.legacy.js.map +1 -0
  53. package/lib/legacy/{dimensioning-helper-f704767b.legacy.js → dimensioning-helper-16698bb9.legacy.js} +2 -2
  54. package/lib/legacy/dimensioning-helper-16698bb9.legacy.js.map +1 -0
  55. package/lib/legacy/{glb-viewer-cf8a8f43.legacy.js → glb-viewer-52f36f02.legacy.js} +2 -2
  56. package/lib/legacy/{glb-viewer-cf8a8f43.legacy.js.map → glb-viewer-52f36f02.legacy.js.map} +1 -1
  57. package/lib/legacy/glb-viewer-main.legacy.js +1 -1
  58. package/lib/legacy/image-renderer-0f030dd8.legacy.js +2 -0
  59. package/lib/legacy/{image-renderer-7213779e.legacy.js.map → image-renderer-0f030dd8.legacy.js.map} +1 -1
  60. package/lib/legacy/{material-viewer-b19cbe54.legacy.js → material-viewer-8dd8dd7c.legacy.js} +2 -2
  61. package/lib/legacy/material-viewer-8dd8dd7c.legacy.js.map +1 -0
  62. package/lib/legacy/material-viewer-main.legacy.js +1 -1
  63. package/lib/legacy/{mesh-generator-c67674f2.legacy.js → mesh-generator-a4dcc867.legacy.js} +2 -2
  64. package/lib/legacy/mesh-generator-a4dcc867.legacy.js.map +1 -0
  65. package/lib/legacy/{pixotron-c4fac0ae.legacy.js → pixotron-67a42f5f.legacy.js} +2 -2
  66. package/lib/legacy/{pixotron-c4fac0ae.legacy.js.map → pixotron-67a42f5f.legacy.js.map} +1 -1
  67. package/lib/legacy/planner-9b8c40b6.legacy.js +2 -0
  68. package/lib/legacy/{planner-379b577c.legacy.js.map → planner-9b8c40b6.legacy.js.map} +1 -1
  69. package/lib/legacy/planner-main.legacy.js +1 -1
  70. package/lib/legacy/{rapi-access-fe5574a3.legacy.js → rapi-access-84edc000.legacy.js} +2 -2
  71. package/lib/legacy/{rapi-access-fe5574a3.legacy.js.map → rapi-access-84edc000.legacy.js.map} +1 -1
  72. package/lib/legacy/roomle-sdk.legacy.js +1 -1
  73. package/lib/legacy/{scene-manager-7be9a565.legacy.js → scene-manager-41422e1c.legacy.js} +2 -2
  74. package/lib/legacy/scene-manager-41422e1c.legacy.js.map +1 -0
  75. package/lib/legacy/static/ConfiguratorKernel-a1daecbcb66a7ea2.wasm +0 -0
  76. package/lib/legacy/static/ConfiguratorKernel-c416f21e546a33f4.js +121 -0
  77. package/lib/legacy/static/ConfiguratorKernelJs-2a6eb4d239731162.mem +0 -0
  78. package/lib/legacy/static/ConfiguratorKernelJs-fdb5588c5f9ad271.js +143 -0
  79. package/lib/legacy/static/RoomleCore-30311f70b9e1675b.js +129 -0
  80. package/lib/legacy/static/RoomleCore-423543e6e81ce65d.wasm +0 -0
  81. package/lib/legacy/static/RoomleCoreJs-3ca6b11e7db6ad5c.js +151 -0
  82. package/lib/legacy/static/RoomleCoreJs-88d140ccbd2a0401.mem +0 -0
  83. package/lib/legacy/static/shaders-5e8285f3fe311709.json +1 -0
  84. package/lib/legacy/{stats-helper-a4cd8c9f.legacy.js → stats-helper-46caec42.legacy.js} +2 -2
  85. package/lib/legacy/{stats-helper-a4cd8c9f.legacy.js.map → stats-helper-46caec42.legacy.js.map} +1 -1
  86. package/lib/{material-viewer-2dc1814c.js → material-viewer-292c7a6a.js} +2 -2
  87. package/lib/material-viewer-292c7a6a.js.map +1 -0
  88. package/lib/{material-viewer-7d2eb311.nomodule.js → material-viewer-39119f09.nomodule.js} +2 -2
  89. package/lib/material-viewer-39119f09.nomodule.js.map +1 -0
  90. package/lib/material-viewer-main-bc9ce36c.js +2 -0
  91. package/lib/material-viewer-main-bc9ce36c.js.map +1 -0
  92. package/lib/material-viewer-main.nomodule.js +1 -1
  93. package/lib/{mesh-generator-d84ad031.nomodule.js → mesh-generator-4de2623a.nomodule.js} +2 -2
  94. package/lib/mesh-generator-4de2623a.nomodule.js.map +1 -0
  95. package/lib/{mesh-generator-75d64184.js → mesh-generator-f1f06e18.js} +2 -2
  96. package/lib/mesh-generator-f1f06e18.js.map +1 -0
  97. package/lib/{pixotron-6ec28601.nomodule.js → pixotron-0ed8e0fb.nomodule.js} +2 -2
  98. package/lib/{pixotron-6ec28601.nomodule.js.map → pixotron-0ed8e0fb.nomodule.js.map} +1 -1
  99. package/lib/{pixotron-7ff769f3.js → pixotron-7bfbf4cb.js} +2 -2
  100. package/lib/{pixotron-7ff769f3.js.map → pixotron-7bfbf4cb.js.map} +1 -1
  101. package/lib/planner-f233550b.js +2 -0
  102. package/lib/{planner-b1be9728.js.map → planner-f233550b.js.map} +1 -1
  103. package/lib/planner-f9888358.nomodule.js +2 -0
  104. package/lib/{planner-180833e5.nomodule.js.map → planner-f9888358.nomodule.js.map} +1 -1
  105. package/lib/planner-main-ebe8fe83.js +2 -0
  106. package/lib/planner-main-ebe8fe83.js.map +1 -0
  107. package/lib/planner-main.nomodule.js +1 -1
  108. package/lib/{rapi-access-abd53fb8.js → rapi-access-c722af1e.js} +2 -2
  109. package/lib/{rapi-access-abd53fb8.js.map → rapi-access-c722af1e.js.map} +1 -1
  110. package/lib/{rapi-access-ef24c5f8.nomodule.js → rapi-access-fd46d753.nomodule.js} +2 -2
  111. package/lib/{rapi-access-ef24c5f8.nomodule.js.map → rapi-access-fd46d753.nomodule.js.map} +1 -1
  112. package/lib/{roomle-sdk-14dbc0a1.js → roomle-sdk-055cc2e3.js} +2 -2
  113. package/lib/roomle-sdk-055cc2e3.js.map +1 -0
  114. package/lib/roomle-sdk.nomodule.js +1 -1
  115. package/lib/{scene-manager-bb7f8d41.nomodule.js → scene-manager-3bf096c5.nomodule.js} +2 -2
  116. package/lib/scene-manager-3bf096c5.nomodule.js.map +1 -0
  117. package/lib/{scene-manager-3aaca073.js → scene-manager-bb58c8a3.js} +2 -2
  118. package/lib/scene-manager-bb58c8a3.js.map +1 -0
  119. package/lib/static/ConfiguratorKernel-a1daecbcb66a7ea2.wasm +0 -0
  120. package/lib/static/ConfiguratorKernel-c416f21e546a33f4.js +1 -0
  121. package/lib/static/ConfiguratorKernel-c416f21e546a33f4.js.map +1 -0
  122. package/lib/static/ConfiguratorKernelJs-2a6eb4d239731162.mem +0 -0
  123. package/lib/static/ConfiguratorKernelJs-fdb5588c5f9ad271.js +143 -0
  124. package/lib/static/RoomleCore-30311f70b9e1675b.js +1 -0
  125. package/lib/static/RoomleCore-30311f70b9e1675b.js.map +1 -0
  126. package/lib/static/RoomleCore-423543e6e81ce65d.wasm +0 -0
  127. package/lib/static/RoomleCoreJs-3ca6b11e7db6ad5c.js +151 -0
  128. package/lib/static/RoomleCoreJs-88d140ccbd2a0401.mem +0 -0
  129. package/lib/static/shaders-5e8285f3fe311709.json +1 -0
  130. package/lib/{stats-helper-0a9717e9.nomodule.js → stats-helper-05a71c0f.nomodule.js} +2 -2
  131. package/lib/{stats-helper-0a9717e9.nomodule.js.map → stats-helper-05a71c0f.nomodule.js.map} +1 -1
  132. package/lib/{stats-helper-4a155513.js → stats-helper-05e13a3f.js} +2 -2
  133. package/lib/{stats-helper-4a155513.js.map → stats-helper-05e13a3f.js.map} +1 -1
  134. package/package.json +2 -2
  135. package/lib/component-dimensioning-e91669c2.js.map +0 -1
  136. package/lib/component-dimensioning-ec0c0695.nomodule.js.map +0 -1
  137. package/lib/configurator-main-ed07480b.js +0 -2
  138. package/lib/configurator-main-ed07480b.js.map +0 -1
  139. package/lib/configurator-mesh-generator-484d0c28.nomodule.js.map +0 -1
  140. package/lib/configurator-mesh-generator-4d1cbc6b.js.map +0 -1
  141. package/lib/default-light-setting-a2b463ae.nomodule.js.map +0 -1
  142. package/lib/default-light-setting-ed0ed89e.js.map +0 -1
  143. package/lib/dimensioning-helper-0183ab03.js.map +0 -1
  144. package/lib/dimensioning-helper-4aafe358.nomodule.js.map +0 -1
  145. package/lib/glb-viewer-main-f6fd6d9d.js +0 -2
  146. package/lib/glb-viewer-main-f6fd6d9d.js.map +0 -1
  147. package/lib/image-renderer-8c3b0bb9.nomodule.js +0 -2
  148. package/lib/image-renderer-ff5eb4c8.js +0 -2
  149. package/lib/legacy/component-dimensioning-137137ef.legacy.js.map +0 -1
  150. package/lib/legacy/configurator-mesh-generator-962ccf42.legacy.js.map +0 -1
  151. package/lib/legacy/default-light-setting-79979e5b.legacy.js.map +0 -1
  152. package/lib/legacy/dimensioning-helper-f704767b.legacy.js.map +0 -1
  153. package/lib/legacy/image-renderer-7213779e.legacy.js +0 -2
  154. package/lib/legacy/material-viewer-b19cbe54.legacy.js.map +0 -1
  155. package/lib/legacy/mesh-generator-c67674f2.legacy.js.map +0 -1
  156. package/lib/legacy/planner-379b577c.legacy.js +0 -2
  157. package/lib/legacy/scene-manager-7be9a565.legacy.js.map +0 -1
  158. package/lib/legacy/static/ConfiguratorKernel-8b4bd961343f30f9.wasm +0 -0
  159. package/lib/legacy/static/ConfiguratorKernel-d989a8cab7a99da7.js +0 -137
  160. package/lib/legacy/static/ConfiguratorKernelJs-797a216a4d116c96.mem +0 -0
  161. package/lib/legacy/static/ConfiguratorKernelJs-cd2a231b7b949964.js +0 -185
  162. package/lib/legacy/static/RoomleCore-5be906753aa5228b.js +0 -150
  163. package/lib/legacy/static/RoomleCore-e25d6cdea0e57965.wasm +0 -0
  164. package/lib/legacy/static/RoomleCoreJs-23db3d37e84e2b22.js +0 -199
  165. package/lib/legacy/static/RoomleCoreJs-fd6c115752cd6cd0.mem +0 -0
  166. package/lib/legacy/static/shaders-1c57017b6d362eb9.json +0 -1
  167. package/lib/material-viewer-2dc1814c.js.map +0 -1
  168. package/lib/material-viewer-7d2eb311.nomodule.js.map +0 -1
  169. package/lib/material-viewer-main-d52dd578.js +0 -2
  170. package/lib/material-viewer-main-d52dd578.js.map +0 -1
  171. package/lib/mesh-generator-75d64184.js.map +0 -1
  172. package/lib/mesh-generator-d84ad031.nomodule.js.map +0 -1
  173. package/lib/planner-180833e5.nomodule.js +0 -2
  174. package/lib/planner-b1be9728.js +0 -2
  175. package/lib/planner-main-ff9c2a84.js +0 -2
  176. package/lib/planner-main-ff9c2a84.js.map +0 -1
  177. package/lib/roomle-sdk-14dbc0a1.js.map +0 -1
  178. package/lib/scene-manager-3aaca073.js.map +0 -1
  179. package/lib/scene-manager-bb7f8d41.nomodule.js.map +0 -1
  180. package/lib/static/ConfiguratorKernel-8b4bd961343f30f9.wasm +0 -0
  181. package/lib/static/ConfiguratorKernel-d989a8cab7a99da7.js +0 -1
  182. package/lib/static/ConfiguratorKernel-d989a8cab7a99da7.js.map +0 -1
  183. package/lib/static/ConfiguratorKernelJs-797a216a4d116c96.mem +0 -0
  184. package/lib/static/ConfiguratorKernelJs-cd2a231b7b949964.js +0 -185
  185. package/lib/static/RoomleCore-5be906753aa5228b.js +0 -1
  186. package/lib/static/RoomleCore-5be906753aa5228b.js.map +0 -1
  187. package/lib/static/RoomleCore-e25d6cdea0e57965.wasm +0 -0
  188. package/lib/static/RoomleCoreJs-23db3d37e84e2b22.js +0 -199
  189. package/lib/static/RoomleCoreJs-fd6c115752cd6cd0.mem +0 -0
  190. package/lib/static/shaders-1c57017b6d362eb9.json +0 -1
@@ -1,2 +1,2 @@
1
- System.register(["./rapi-access-ef24c5f8.nomodule.js","./main-thread-to-worker-bb844d54.nomodule.js","./pixotron-6ec28601.nomodule.js"],(function(t,e){var i,s,n,r,o,a,h,_,d,c,p,m,l,u,g,E,w,y,C,v,R;return{setters:[function(t){i=t.t,s=t.u,n=t.a8,r=t.a9,o=t.v,a=t._,h=t.i,_=t.e,d=t.h,c=t.f,p=t.R,m=t.aa},function(t){l=t.i},function(t){u=t.d,g=t.i,E=t.D,w=t.C,y=t.b,C=t.B,v=t.f,R=t.c}],execute:function(){class f extends u{constructor(t,e,i){super(t,e,i),this._scale=1,this._state=0,this._size=20,this._center=new THREE.Vector3,this._raycaster=new THREE.Raycaster,this._lastPosition=new THREE.Vector2,this._zoomPosition=new THREE.Vector3,this._lastZoom=0,this._zoomSpeed=Math.pow(.95,2),this._cameraZoom=1,this._initCamera(i||new THREE.Vector3(0,10,0));let s=new THREE.PlaneGeometry(1e3,1e3);s.rotateX(-Math.PI/2),this._plane=new THREE.Mesh(s,new THREE.MeshStandardMaterial)}_getCamera(){return this._camera||this._initCamera(new THREE.Vector3(0,10,0)),this._camera}_initCamera(t){let{x:e,y:i}=this._domHelper.getClientDimensions(),s=e/i*this._size,n=this._size;this._camera=new THREE.OrthographicCamera(s/-2,s/2,n/2,n/-2,1,1e3),this._camera.position.copy(t),this._cameraPosition=t,this._camera.lookAt(new THREE.Vector3(0,0,0))}updateCamera(){let{x:t,y:e}=this._domHelper.getClientDimensions(),i=t/e*this._size,s=this._size;this._camera.left=i/-2,this._camera.right=i/2,this._camera.top=s/2,this._camera.bottom=s/-2,this._camera.updateProjectionMatrix()}_initInputListener(){this._inputListeners.push({key:3,fun:t=>{this._locked||(this._state=1,this._lastPosition.set(t.position.x,t.position.y),this.dispatchEvent(0))}}),this._inputListeners.push({key:6,fun:t=>{1!==this._state||this._locked||(this._move(new THREE.Vector2(t.position.x,t.position.y),t.type),this.dispatchEvent(1))}}),this._inputListeners.push({key:4,fun:t=>{1===this._state&&this.dispatchEvent(2),this._state=0}}),this._inputListeners.push({key:7,fun:t=>{t.event&&(t.event.stopPropagation(),t.event.preventDefault()),this._scale/=this._zoomSpeed,this._zoomTo(t.position,1),this._update()}}),this._inputListeners.push({key:8,fun:t=>{t.event&&(t.event.stopPropagation(),t.event.preventDefault()),this._scale*=this._zoomSpeed,this._zoomTo(t.position,-1),this._update()}})}_zoomTo(t,e){if(Date.now()-this._lastZoom>200){if(e>0||this._cameraZoom>=1){const e=this.getInputPosition(t);this._raycaster.setFromCamera(e,this._camera);const i=this._raycaster.intersectObject(this._plane);if(i.length<=0)return;const s=i.pop().point;this._zoomPosition.copy(s)}else this._zoomPosition.copy(this._center);this._cameraPosition.x=this._zoomPosition.x,this._cameraPosition.z=this._zoomPosition.z}this._lastZoom=Date.now()}_move(t,e){let i=new THREE.Vector2;i.subVectors(this._lastPosition,t),i.divideScalar(100),this._cameraPosition.x+=i.x*(2===e?1.1:1),this._cameraPosition.z+=i.y*(2===e?1.1:1),this._lastPosition.copy(t)}updateToBounds(t,e){let{x:i,y:s}=this._domHelper.getClientDimensions(),n=i/s;this._size=Math.max(t.x,t.z);let r=this._size,o=this._size;n>1?r=this._size*n:o=this._size*(s/i),this._center.copy(e),this._camera.left=r/-2,this._camera.right=r/2,this._camera.top=o/2,this._camera.bottom=o/-2,this._camera.zoom=1,this._camera.position.set(this._center.x,10,this._center.z),this._cameraPosition.copy(this._camera.position)}_update(t){this._scale=Math.min(this._scale,5),this._scale=Math.max(this._scale,.8),this._cameraZoom=this._scale,this._camera.updateProjectionMatrix()}animateCamera(t){return!(!super.animateCamera(t)&&Math.abs(this._cameraZoom-this._camera.zoom)<=.01||(this._camera.zoom=THREE.MathUtils.lerp(this._camera.zoom,this._cameraZoom,10*t),0))}}t("C",f);const L=Math.PI/4;class x extends u{constructor(t,e,s,n){super(t,e,s),this._state=0,this._rotationSpeed=1,this._keyMap=new Map,this.minPolarAngle=i(-60),this.maxPolarAngle=i(60),this._camera=n||new THREE.PerspectiveCamera,this._camera.fov=70,this._camera.aspect=this._width/this._height,this._camera.near=.1,this._camera.far=100,this._camera.updateProjectionMatrix(),this._camera.layers.set(3),this._camera.layers.enable(1),this._camera.layers.enable(2),this._camera.layers.enable(5),this._camera.layers.enable(4),s?this._camera.position.set(s.x,1.5,s.z):this._camera.position.set(0,1.5,0),this._cameraPosition=new THREE.Vector3,this._cameraPosition.copy(this._camera.position),this._cameraRotation=new THREE.Quaternion,this._pitch=0,this._yaw=0;let r=new THREE.Euler(-this._pitch,this._yaw,0,"ZYX");this._cameraRotation.setFromEuler(r),window.addEventListener("gamepadconnected",this._gamepadConnected.bind(this)),window.addEventListener("gamepaddisconnected",this._gamepadDisconnected.bind(this))}_gamepadConnected(t){this.startButtonPressListener()}_gamepadDisconnected(t){window.cancelAnimationFrame(this._listenerLoopAnimationFrame)}startButtonPressListener(){this._listenerLoopAnimationFrame=window.requestAnimationFrame(()=>{this.buttonPressListener()})}buttonPressListener(){let t=navigator.getGamepads()[0];this._checkRightStick(t),this._checkLeftStick(t),this._checkButtons(t),this._processKeyMap(this._keyMap,.001),this.startButtonPressListener()}_checkRightStick(t){let e=t.axes[2],i=t.axes[3];Math.abs(e)>.2&&(this._rotateHorizontal(.01*L*e),this._update(),this.dispatchEvent(1)),Math.abs(i)>.2&&(this._rotateVertical(.01*L*i),this._update(),this.dispatchEvent(1))}_checkLeftStick(t){let e=t.axes[0],i=t.axes[1];Math.abs(i)>.2?i<0?this._keyMap.set(87,!0):this._keyMap.set(83,!0):t.buttons&&t.buttons[12]&&t.buttons[12].pressed?this._keyMap.set(87,!0):t.buttons&&t.buttons[13]&&t.buttons[13].pressed?this._keyMap.set(83,!0):(this._keyMap.set(87,!1),this._keyMap.set(83,!1)),Math.abs(e)>.2?e<0?this._keyMap.set(65,!0):this._keyMap.set(68,!0):(this._keyMap.set(65,!1),this._keyMap.set(68,!1))}_checkButtons(t){t.buttons&&t.buttons[6]&&t.buttons[6].pressed?this._keyMap.set(16,!0):this._keyMap.set(16,!1),t.buttons&&t.buttons[14]&&t.buttons[14].pressed?(this._keyMap.set(37,!0),this.dispatchEvent(1)):this._keyMap.set(37,!1),t.buttons&&t.buttons[15]&&t.buttons[15].pressed?(this._keyMap.set(39,!0),this.dispatchEvent(1)):this._keyMap.set(39,!1)}animateCamera(t){let e=this._cameraPosition,i=this._cameraRotation,r=this.getCamera(),o=s(e,r.position),a=n(i,r.quaternion);if(!e||o&&a)return!1;let h=this.getCamera().position.clone(),_=Math.min(10*t,1);h.lerp(e,_),this.getCamera().position.copy(h);let d=this.getCamera().quaternion.clone(),c=Math.min(5*t,1);d.slerp(i,c),this.getCamera().setRotationFromQuaternion(d);let p=!1;return this._keyMap.forEach(t=>{t&&(p=!0)}),p&&this._processKeyMap(this._keyMap,t),!0}_getCamera(){return this._camera}_initInputListener(){window.addEventListener("keyup",this._onKeyChanged.bind(this),!1),window.addEventListener("keydown",this._onKeyChanged.bind(this),!1),this._inputListeners.push({key:3,fun:t=>{this._down(t)}}),this._inputListeners.push({key:6,fun:t=>{this._move(t)}}),this._inputListeners.push({key:4,fun:t=>{this._up(t)}})}_down(t){this._downPosition=t.position,this._position=t.position,this._state=1,2===t.type&&window.setTimeout(this._onLongDown.bind(this),350),2===t.type?this._rotationSpeed=.6:this._rotationSpeed=1}_move(t){this._position=t.position,1!==this._state||this._locked||this._orbit(new THREE.Vector2(t.position.x,t.position.y)),2!==this._state||this._locked||(this._orbit(new THREE.Vector2(t.position.x,t.position.y)),this._moveForward())}_up(t){1===this._state&&this.dispatchEvent(2),2===this._state&&this._keyMap.set(87,!1),this._state=0,this._orbitPosition=null}_onLongDown(){r(this._downPosition,this._position)<g&&1===this._state&&(this._state=2,this._orbit(new THREE.Vector2(this._position.x,this._position.y)),this._moveForward())}_update(t){let e=new THREE.Euler(-this._pitch,this._yaw,0,"ZYX");this._cameraRotation.setFromEuler(e)}updateCamera(){let{x:t,y:e}=this._domHelper.getClientDimensions();this._camera.aspect=t/e,this._camera.updateProjectionMatrix()}_onKeyChanged(t){this._keyMap.set(t.keyCode,"keydown"===t.type),this.dispatchEvent(6),this._processKeyMap(this._keyMap,.001)&&t.preventDefault()}_processKeyMap(t,e){e=Math.min(e,.1);let i=new THREE.Vector3(0,0,0),s=!1;return this._processUpDown(t,i,e),t.get(65)&&(i.x=-1*e),t.get(68)&&(i.x=1*e),t.get(37)&&(this._rotateHorizontal(-L*this._rotationSpeed*e),s=!0),t.get(39)&&(this._rotateHorizontal(L*this._rotationSpeed*e),s=!0),t.get(16)&&(i.x*=3,i.z*=3),!(0===i.x&&0===i.y&&0===i.z&&!s||(i.applyQuaternion(this.getCamera().quaternion),this._cameraPosition.add(new THREE.Vector3(i.x,0,i.z)),this._update(),0))}_processUpDown(t,e,i){(t.get(87)||t.get(38))&&(e.z=-1*i),(t.get(83)||t.get(40))&&(e.z=1*i)}_orbit(t){this._orbitPosition||(this._orbitPosition=new THREE.Vector2(t.x,t.y),this.dispatchEvent(0));let e=t.clone().sub(this._orbitPosition),i=this._domHelper.element instanceof Document?this._domHelper.element.body:this._domHelper.element;e.multiplyScalar(-1),this._rotateHorizontal(2*Math.PI*e.x/i.clientWidth*1),this._rotateVertical(2*Math.PI*e.y/i.clientHeight*1),o(this._orbitPosition,t)||this.dispatchEvent(1),this._orbitPosition.copy(t),this._update()}_moveForward(){this._keyMap.set(87,!0),this._processKeyMap(this._keyMap,.001)}_rotateVertical(t){let e=this._pitch+t;e>this.maxPolarAngle||e<this.minPolarAngle||(this._pitch=e,this._pitch<-Math.PI?this._pitch+=2*Math.PI:this._pitch>Math.PI&&(this._pitch-=2*Math.PI),this._saveYawAndPitch())}}t("a",x),t("S",(()=>{class t{constructor(t,e,i,s,n){this._maxAnisotropy=1,this._clock=new THREE.Clock,this._delta=0,this._renderListener=null,this._stopRendering=!1,this._forceRender=!1,this._updateShadowsAndAO=!0,this._lastChange=Date.now(),this._running=!1,this._onAfterRender=()=>{},this._creator_=t,this._canvasID=i,this.createCameraControl(s),this._addCameraControlListener(),this._setupScene(e,n),document.addEventListener("visibilitychange",this._tabVisible.bind(this)),this._renderListener=()=>{this._requestRender()},this._getInputManager().addEventListener(7,this._renderListener,this),this._getInputManager().addEventListener(8,this._renderListener,this),this._lifeCycleManager.addEventListener(this)}onBeforeRender(){}_changeCameraControl(t){this._cameraControl&&this._cameraControl.cleanUp(),t instanceof x&&(this._getInputManager().removeEventListener(7,this._renderListener),this._getInputManager().removeEventListener(8,this._renderListener)),this._cameraControl instanceof x&&(this._getInputManager().addEventListener(7,this._renderListener,this),this._getInputManager().addEventListener(8,this._renderListener,this)),this._cameraControl=t,this.cameraControlChanged()}cameraControlChanged(){}_addCameraControlListener(){this._cameraControl.addEventListener(0,this._requestRender,this),this._cameraControl.addEventListener(1,this._requestRender,this),this._cameraControl.addEventListener(2,this._requestRender,this),this._cameraControl.addEventListener(6,this._requestRender,this)}_renderEverything(){this._pixotron&&(this._forceRender=!0,this._updateShadowsAndAO=!0),this._requestRender()}_renderWithoutShadowsAndAO(){this._pixotron&&(this._forceRender=!0,this._updateShadowsAndAO=!1),this._requestRender()}_requestRender(){if(!this._renderer)return;const t=()=>{this._delta=this._clock.getDelta(),this._animateCamera(),this._cameraControl.getCamera().layers.mask=65535,this._renderLoopFunction&&(this._renderLoopFunction(),this._renderLoopFunction=null),this.onBeforeRender(),this._statsHelper&&this._statsHelper.updateRenderInfo(this._renderer.info),this._pixotron?(this._pixotron.autoShadowsClear=this._updateShadowsAndAO,this._pixotron.autoSAOClear=this._updateShadowsAndAO,this._forceRender&&(this._pixotron.needsUpdate=!0),this._pixotron.render(this._renderer,this._scene,this._cameraControl.getCamera(),this._renderTarget),this._forceRender=!1,this._updateShadowsAndAO=!0,this._pixotron.blit()):(this._renderer.clear(),this._renderer.render(this._scene,this._cameraControl.getCamera()),this._renderer.clearDepth()),this._onAfterRender(),window.TWEEN&&TWEEN.update(),this._lastChange+3e3<Date.now()||this._stopRendering?this._running=!1:(this._running=!0,requestAnimationFrame(t))};this._lastChange=Date.now(),this._running||this._stopRendering||(this._running=!0,requestAnimationFrame(t))}_animateCamera(){this._cameraControl&&(this._cameraControl.animateCamera(this._delta)||!this._pixotron||this._forceRender?(this._lightSetting instanceof E&&this._cameraControl.getCamera()instanceof THREE.PerspectiveCamera&&this._lightSetting.update(this._cameraControl.getCamera(),this._cameraControl.getTargetPosition()),this._pixotron&&(this._pixotron.needsUpdate=!0)):(this._pixotron.autoShadowsClear=!1,this._pixotron.autoSAOClear=!1)),this._environment&&this._environment.needsCamera()&&this._cameraControl instanceof w&&this._environment.updateCamera(this._cameraControl.getCamera())}_setupScene(t,e){const{x:i,y:s}=this._domHelper.getClientDimensions();this._scene=new THREE.Scene,(e=e||!1)||(this._scene.background=new THREE.Color(this._initData.colors.DEFAULT_BACKGROUND)),THREE.Math={DEG2RAD:THREE.MathUtils.DEG2RAD};const n={format:THREE.RGBAFormat,minFilter:THREE.NearestFilter,magFilter:THREE.NearestFilter},r=THREE.sRGBEncoding,o=Math.floor(i*window.devicePixelRatio),a=Math.floor(s*window.devicePixelRatio);l()?this._renderTarget=new THREE.WebGLMultisampleRenderTarget(o,a,n):this._renderTarget=new THREE.WebGLRenderTarget(o,a,n),this._renderTarget.texture.encoding=r,this._renderer=new THREE.WebGLRenderer({antialias:!0,alpha:!0}),this._renderer.setPixelRatio(window.devicePixelRatio),this._renderer.setSize(i,s),this._renderer.outputEncoding=THREE.sRGBEncoding,this._renderer.gammaFactor=2.2,this._renderer.autoClear=!1,this._renderer.shadowMap.enabled=!0,this._renderer.shadowMap.type=THREE.PCFSoftShadowMap,this._maxAnisotropy=this._renderer.capabilities.getMaxAnisotropy(),this._renderer.domElement.classList.add(this._canvasID),this._domHelper.element.appendChild(this._renderer.domElement),this._getInputManager().addEvents(this._renderer.domElement),this._environmentLoader.setRendererAndScene(this._renderer,this._scene),this._environmentLoader.registerEnvironmentChangedCallback(()=>this._requestRender()),this._requestRender(),window.addEventListener("resize",this,!1),window.addEventListener("keydown",this,!1),window.addEventListener("keyup",this,!1),this.sceneChanged()}_tabVisible(t){this.updateCamera(),this._renderEverything()}setupScene(t,e){this._setupScene(t,e)}updateCamera(){const{x:t,y:e}=this._domHelper.getClientDimensions();this._renderer.setSize(t,e);const i=this._renderer.getPixelRatio();if(this._renderTarget){const s=Math.floor(t*i),n=Math.floor(e*i);this._renderTarget.setSize(s,n)}if(this._pixotron){this._pixotron.autoShadowsClear=!0,this._pixotron.autoSAOClear=!0,this._forceRender=!0;try{this._pixotron.setSize(t,e)}catch(t){console.warn(t)}}this._cameraControl.updateCamera(),this._requestRender()}_onWindowResize(){const t=this._getInputManager();t&&t.updateSize(),this.updateCamera(),this._requestRender()}_isPartOfScene(t){return"Object3D"===t.type||"Mesh"===t.type||"GLB"===t.type||"GLTF"===t.type||"Group"===t.type}cleanUp(){this._getInputManager().removeEventListener(7,this._renderListener),this._getInputManager().removeEventListener(8,this._renderListener),this._cameraControl&&this._cameraControl.cleanUp()}clearScene(){let t=[];this._scene.children.forEach(e=>{this._isPartOfScene(e)&&t.push(e)}),t.forEach(t=>{_(t),this._scene.remove(t)}),this._renderer.renderLists.dispose()}enableHD(){this._pixotron=new window.PIXOTRON.Pixotron(this.getPixotronParams()),this._pixotronUtil=new y(this._pixotron),this._environment instanceof C&&(this._environment.setPixotron(this._pixotron,this._renderer,this._cameraControl.getCamera(),this.getBakedShadowParams()),this._environment.setLoadedCallback(()=>setTimeout(()=>this._requestRender(),500))),this._requestRender()}_loadGLTF(t,e,i,s,n,r,o){return new Promise((a,h)=>{this._staticItemLoader.loadGLTF(t,e,i,s,n,r,null,o).then(t=>{this._setCamera("GLTF",t),a(t)},h)})}_loadGLB(t,e,i,s,n,r,o,a){return new Promise((h,_)=>{this._staticItemLoader.loadGLB(t,e,i,s,n,r,o,a).then(t=>{this._setCamera("GLB",t),h(t)},_)})}_setCamera(t,e){if(!e)return void console.warn("could not set camera for gltf",e);const i=new THREE.Box3;i.setFromObject(e),"GLB"===t?this._cameraControl instanceof w&&this._cameraControl.updateToBounds(i,!1):"GLTF"===t&&(this._cameraControl instanceof w&&this._cameraControl.updateAndReset(i.getSize(new THREE.Vector3),i.getCenter(new THREE.Vector3),-15,70,5,!1),this._cameraControl instanceof f&&this._cameraControl.updateToBounds(i.getSize(new THREE.Vector3),i.getCenter(new THREE.Vector3))),this.updateCamera()}showGUI(){if(this._initData.disableDebugGUI)return;const t=document.createElement("style");t.innerText=".dg.main{position:absolute;z-index:100;top:0;left:0;}",document.head.appendChild(t),this._scriptLoader.fetch(v,{id:"dat-gui-js"}).then(()=>{let t=d(!1);t&&(this._domHelper.element.appendChild(t.domElement),this._guiLoaded())},t=>console.error(t))}_guiLoaded(){let t=d();t&&(this._lightSetting&&this._lightSetting.showGUI(),this._pixotron&&this._pixotronUtil.showGUI(),this._environment&&this._environment.showGUI(),this._addGUIListener(t))}_addGUIListener(t){let e=t.__folders;Object.keys(e).forEach(t=>{let i=e[t];i.__folders&&Object.keys(i.__folders).forEach(t=>{let i=e[t];this._addGUIListener(i)}),i.__controllers&&i.__controllers.forEach(t=>{t.onFinishChange(()=>{this._guiParamChanged()})})})}_guiParamChanged(){this._requestRender()}showStats(){e.import("./stats-helper-0a9717e9.nomodule.js").then(t=>this._statsHelper=new t.default)}_onKeyDown(t){}_onKeyUp(t){}pause(){this._getInputManager().removeEvents(this._renderer.domElement),window.removeEventListener("resize",this,!1),window.removeEventListener("keydown",this,!1),window.removeEventListener("keyup",this,!1)}resume(){this.updateCamera(),this._renderer.domElement.classList.add(this._canvasID),this._domHelper.element.appendChild(this._renderer.domElement),this._getInputManager().addEvents(this._renderer.domElement),window.addEventListener("resize",this,!1),window.addEventListener("keydown",this,!1),window.addEventListener("keyup",this,!1),this._renderEverything()}destroy(){this.pause(),this.cleanUp()}handleEvent(t){switch(t.type){case"resize":this._onWindowResize();break;case"keydown":this._onKeyDown(t);break;case"keyup":this._onKeyUp(t)}}loadSceneSettings(t){let e,i;return e=t.environment?new Promise(e=>{(new R).load(this._scene,this._renderer.domElement,this._environment,t).then(t=>{this._setEnvironment(t),e()})}):Promise.resolve(),t.lights?(this._lightSetting=new E(this._scene,this._lightSetting),i=this._lightSetting.loadFromObject(t)):i=Promise.resolve(),new Promise((t,s)=>{Promise.all([e,i]).then(()=>{this._requestRender(),t()},s)})}_setEnvironment(t){this._environment=t,this._pixotron&&this._environment instanceof C&&(this._environment.setPixotron(this._pixotron,this._renderer,this._cameraControl.getCamera(),this.getBakedShadowParams()),this._environment.setLoadedCallback(()=>setTimeout(()=>this._requestRender(),500)))}loadQualitySetting(t){this._pixotron&&(new m).set(this._pixotron,t)}async loadDynamicLightSetting(t){this._lightSetting=new E(this._scene,this._lightSetting);let e=!1;if(t.url)await this._lightSetting.loadFromURL(t.url),e=!0;else if(t.json)await this._lightSetting.loadFromJSON(t.json),e=!0;else if(t.object)await this._lightSetting.loadFromObject(t.object),e=!0;else if(t.ls){const i=c.createDynamicLightSettingSource(null,t.ls);await this._lightSetting.loadFromURL(i.url),e=!0}if(!e)throw new Error("No dynamic light setting source set");this._requestRender()}getScene(){return this._scene}updateScene(){this._updateBounds(this.getBounds()),this._renderEverything()}_updateBounds(t){if(t){if(this.updateEnvironment(t),this._lightSetting&&this._lightSetting.needsBounds()&&this._lightSetting.updateBounds(t),this._pixotronUtil){const e=new THREE.Sphere;t.getBoundingSphere(e),this._pixotronUtil.updateBounds(e)}this._requestRender()}}setCameraOffset(t){const e=this._cameraControl.getCamera();e.offset?(e.offset=t,this._requestRender()):console.warn("Cannot set offset, current camera does not support it")}getCameraOffset(){const t=this._cameraControl.getCamera();return t.offset?JSON.parse(JSON.stringify(t.offset)):{left:0,top:0,right:1,bottom:1}}getPerspectiveOffsetCamera(){const t=this._domHelper.getClientDimensions(),e=t.x,i=t.y;return p().createCamera(30,e/i,.1,20)}updateEnvironment(t,e=!1){if(t&&this._environment&&this._environment.needsBounds()){const i=t.getSize(new THREE.Vector3);i.x+i.y+i.z!==0&&this._environment.updateBounds(t.getSize(new THREE.Vector3),e)}}}return a([h],t.prototype,"_domHelper",void 0),a([h],t.prototype,"_scriptLoader",void 0),a([h],t.prototype,"_lifeCycleManager",void 0),a([h],t.prototype,"_staticItemLoader",void 0),a([h],t.prototype,"_environmentLoader",void 0),a([h],t.prototype,"_initData",void 0),t})())}}}));
2
- //# sourceMappingURL=scene-manager-bb7f8d41.nomodule.js.map
1
+ System.register(["./rapi-access-fd46d753.nomodule.js","./main-thread-to-worker-bb844d54.nomodule.js","./pixotron-0ed8e0fb.nomodule.js"],(function(t,e){var i,s,n,r,o,a,h,_,d,c,p,m,l,u,g,E,w,y,C,v,R;return{setters:[function(t){i=t.t,s=t.u,n=t.a8,r=t.a9,o=t.v,a=t._,h=t.i,_=t.e,d=t.h,c=t.f,p=t.R,m=t.aa},function(t){l=t.i},function(t){u=t.d,g=t.i,E=t.D,w=t.C,y=t.b,C=t.B,v=t.f,R=t.c}],execute:function(){class f extends u{constructor(t,e,i){super(t,e,i),this._scale=1,this._state=0,this._size=20,this._center=new THREE.Vector3,this._raycaster=new THREE.Raycaster,this._lastPosition=new THREE.Vector2,this._zoomPosition=new THREE.Vector3,this._lastZoom=0,this._zoomSpeed=Math.pow(.95,2),this._cameraZoom=1,this._initCamera(i||new THREE.Vector3(0,10,0));let s=new THREE.PlaneGeometry(1e3,1e3);s.rotateX(-Math.PI/2),this._plane=new THREE.Mesh(s,new THREE.MeshStandardMaterial)}_getCamera(){return this._camera||this._initCamera(new THREE.Vector3(0,10,0)),this._camera}_initCamera(t){let{x:e,y:i}=this._domHelper.getClientDimensions(),s=e/i*this._size,n=this._size;this._camera=new THREE.OrthographicCamera(s/-2,s/2,n/2,n/-2,1,1e3),this._camera.position.copy(t),this._cameraPosition=t,this._camera.lookAt(new THREE.Vector3(0,0,0))}updateCamera(){let{x:t,y:e}=this._domHelper.getClientDimensions(),i=t/e*this._size,s=this._size;this._camera.left=i/-2,this._camera.right=i/2,this._camera.top=s/2,this._camera.bottom=s/-2,this._camera.updateProjectionMatrix()}_initInputListener(){this._inputListeners.push({key:3,fun:t=>{this._locked||(this._state=1,this._lastPosition.set(t.position.x,t.position.y),this.dispatchEvent(0))}}),this._inputListeners.push({key:6,fun:t=>{1!==this._state||this._locked||(this._move(new THREE.Vector2(t.position.x,t.position.y),t.type),this.dispatchEvent(1))}}),this._inputListeners.push({key:4,fun:t=>{1===this._state&&this.dispatchEvent(2),this._state=0}}),this._inputListeners.push({key:7,fun:t=>{t.event&&(t.event.stopPropagation(),t.event.preventDefault()),this._scale/=this._zoomSpeed,this._zoomTo(t.position,1),this._update()}}),this._inputListeners.push({key:8,fun:t=>{t.event&&(t.event.stopPropagation(),t.event.preventDefault()),this._scale*=this._zoomSpeed,this._zoomTo(t.position,-1),this._update()}})}_zoomTo(t,e){if(Date.now()-this._lastZoom>200){if(e>0||this._cameraZoom>=1){const e=this.getInputPosition(t);this._raycaster.setFromCamera(e,this._camera);const i=this._raycaster.intersectObject(this._plane);if(i.length<=0)return;const s=i.pop().point;this._zoomPosition.copy(s)}else this._zoomPosition.copy(this._center);this._cameraPosition.x=this._zoomPosition.x,this._cameraPosition.z=this._zoomPosition.z}this._lastZoom=Date.now()}_move(t,e){let i=new THREE.Vector2;i.subVectors(this._lastPosition,t),i.divideScalar(100),this._cameraPosition.x+=i.x*(2===e?1.1:1),this._cameraPosition.z+=i.y*(2===e?1.1:1),this._lastPosition.copy(t)}updateToBounds(t,e){let{x:i,y:s}=this._domHelper.getClientDimensions(),n=i/s;this._size=Math.max(t.x,t.z);let r=this._size,o=this._size;n>1?r=this._size*n:o=this._size*(s/i),this._center.copy(e),this._camera.left=r/-2,this._camera.right=r/2,this._camera.top=o/2,this._camera.bottom=o/-2,this._camera.zoom=1,this._camera.position.set(this._center.x,10,this._center.z),this._cameraPosition.copy(this._camera.position)}_update(t){this._scale=Math.min(this._scale,5),this._scale=Math.max(this._scale,.8),this._cameraZoom=this._scale,this._camera.updateProjectionMatrix()}animateCamera(t){return!(!super.animateCamera(t)&&Math.abs(this._cameraZoom-this._camera.zoom)<=.01||(this._camera.zoom=THREE.MathUtils.lerp(this._camera.zoom,this._cameraZoom,10*t),0))}}t("C",f);const L=Math.PI/4;class x extends u{constructor(t,e,s,n){super(t,e,s),this._state=0,this._rotationSpeed=1,this._keyMap=new Map,this.minPolarAngle=i(-60),this.maxPolarAngle=i(60),this._camera=n||new THREE.PerspectiveCamera,this._camera.fov=70,this._camera.aspect=this._width/this._height,this._camera.near=.1,this._camera.far=100,this._camera.updateProjectionMatrix(),this._camera.layers.set(3),this._camera.layers.enable(1),this._camera.layers.enable(2),this._camera.layers.enable(5),this._camera.layers.enable(4),s?this._camera.position.set(s.x,1.5,s.z):this._camera.position.set(0,1.5,0),this._cameraPosition=new THREE.Vector3,this._cameraPosition.copy(this._camera.position),this._cameraRotation=new THREE.Quaternion,this._pitch=0,this._yaw=0;let r=new THREE.Euler(-this._pitch,this._yaw,0,"ZYX");this._cameraRotation.setFromEuler(r),window.addEventListener("gamepadconnected",this._gamepadConnected.bind(this)),window.addEventListener("gamepaddisconnected",this._gamepadDisconnected.bind(this))}_gamepadConnected(t){this.startButtonPressListener()}_gamepadDisconnected(t){window.cancelAnimationFrame(this._listenerLoopAnimationFrame)}startButtonPressListener(){this._listenerLoopAnimationFrame=window.requestAnimationFrame(()=>{this.buttonPressListener()})}buttonPressListener(){let t=navigator.getGamepads()[0];this._checkRightStick(t),this._checkLeftStick(t),this._checkButtons(t),this._processKeyMap(this._keyMap,.001),this.startButtonPressListener()}_checkRightStick(t){let e=t.axes[2],i=t.axes[3];Math.abs(e)>.2&&(this._rotateHorizontal(.01*L*e),this._update(),this.dispatchEvent(1)),Math.abs(i)>.2&&(this._rotateVertical(.01*L*i),this._update(),this.dispatchEvent(1))}_checkLeftStick(t){let e=t.axes[0],i=t.axes[1];Math.abs(i)>.2?i<0?this._keyMap.set(87,!0):this._keyMap.set(83,!0):t.buttons&&t.buttons[12]&&t.buttons[12].pressed?this._keyMap.set(87,!0):t.buttons&&t.buttons[13]&&t.buttons[13].pressed?this._keyMap.set(83,!0):(this._keyMap.set(87,!1),this._keyMap.set(83,!1)),Math.abs(e)>.2?e<0?this._keyMap.set(65,!0):this._keyMap.set(68,!0):(this._keyMap.set(65,!1),this._keyMap.set(68,!1))}_checkButtons(t){t.buttons&&t.buttons[6]&&t.buttons[6].pressed?this._keyMap.set(16,!0):this._keyMap.set(16,!1),t.buttons&&t.buttons[14]&&t.buttons[14].pressed?(this._keyMap.set(37,!0),this.dispatchEvent(1)):this._keyMap.set(37,!1),t.buttons&&t.buttons[15]&&t.buttons[15].pressed?(this._keyMap.set(39,!0),this.dispatchEvent(1)):this._keyMap.set(39,!1)}animateCamera(t){let e=this._cameraPosition,i=this._cameraRotation,r=this.getCamera(),o=s(e,r.position),a=n(i,r.quaternion);if(!e||o&&a)return!1;let h=this.getCamera().position.clone(),_=Math.min(10*t,1);h.lerp(e,_),this.getCamera().position.copy(h);let d=this.getCamera().quaternion.clone(),c=Math.min(5*t,1);d.slerp(i,c),this.getCamera().setRotationFromQuaternion(d);let p=!1;return this._keyMap.forEach(t=>{t&&(p=!0)}),p&&this._processKeyMap(this._keyMap,t),!0}_getCamera(){return this._camera}_initInputListener(){window.addEventListener("keyup",this._onKeyChanged.bind(this),!1),window.addEventListener("keydown",this._onKeyChanged.bind(this),!1),this._inputListeners.push({key:3,fun:t=>{this._down(t)}}),this._inputListeners.push({key:6,fun:t=>{this._move(t)}}),this._inputListeners.push({key:4,fun:t=>{this._up(t)}})}_down(t){this._downPosition=t.position,this._position=t.position,this._state=1,2===t.type&&window.setTimeout(this._onLongDown.bind(this),350),2===t.type?this._rotationSpeed=.6:this._rotationSpeed=1}_move(t){this._position=t.position,1!==this._state||this._locked||this._orbit(new THREE.Vector2(t.position.x,t.position.y)),2!==this._state||this._locked||(this._orbit(new THREE.Vector2(t.position.x,t.position.y)),this._moveForward())}_up(t){1===this._state&&this.dispatchEvent(2),2===this._state&&this._keyMap.set(87,!1),this._state=0,this._orbitPosition=null}_onLongDown(){r(this._downPosition,this._position)<g&&1===this._state&&(this._state=2,this._orbit(new THREE.Vector2(this._position.x,this._position.y)),this._moveForward())}_update(t){let e=new THREE.Euler(-this._pitch,this._yaw,0,"ZYX");this._cameraRotation.setFromEuler(e)}updateCamera(){let{x:t,y:e}=this._domHelper.getClientDimensions();this._camera.aspect=t/e,this._camera.updateProjectionMatrix()}_onKeyChanged(t){this._keyMap.set(t.keyCode,"keydown"===t.type),this.dispatchEvent(6),this._processKeyMap(this._keyMap,.001)&&t.preventDefault()}_processKeyMap(t,e){e=Math.min(e,.1);let i=new THREE.Vector3(0,0,0),s=!1;return this._processUpDown(t,i,e),t.get(65)&&(i.x=-1*e),t.get(68)&&(i.x=1*e),t.get(37)&&(this._rotateHorizontal(-L*this._rotationSpeed*e),s=!0),t.get(39)&&(this._rotateHorizontal(L*this._rotationSpeed*e),s=!0),t.get(16)&&(i.x*=3,i.z*=3),!(0===i.x&&0===i.y&&0===i.z&&!s||(i.applyQuaternion(this.getCamera().quaternion),this._cameraPosition.add(new THREE.Vector3(i.x,0,i.z)),this._update(),0))}_processUpDown(t,e,i){(t.get(87)||t.get(38))&&(e.z=-1*i),(t.get(83)||t.get(40))&&(e.z=1*i)}_orbit(t){this._orbitPosition||(this._orbitPosition=new THREE.Vector2(t.x,t.y),this.dispatchEvent(0));let e=t.clone().sub(this._orbitPosition),i=this._domHelper.element instanceof Document?this._domHelper.element.body:this._domHelper.element;e.multiplyScalar(-1),this._rotateHorizontal(2*Math.PI*e.x/i.clientWidth*1),this._rotateVertical(2*Math.PI*e.y/i.clientHeight*1),o(this._orbitPosition,t)||this.dispatchEvent(1),this._orbitPosition.copy(t),this._update()}_moveForward(){this._keyMap.set(87,!0),this._processKeyMap(this._keyMap,.001)}_rotateVertical(t){let e=this._pitch+t;e>this.maxPolarAngle||e<this.minPolarAngle||(this._pitch=e,this._pitch<-Math.PI?this._pitch+=2*Math.PI:this._pitch>Math.PI&&(this._pitch-=2*Math.PI),this._saveYawAndPitch())}}t("a",x),t("S",(()=>{class t{constructor(t,e,i,s,n){this._maxAnisotropy=1,this._clock=new THREE.Clock,this._delta=0,this._renderListener=null,this._stopRendering=!1,this._forceRender=!1,this._updateShadowsAndAO=!0,this._lastChange=Date.now(),this._running=!1,this._onAfterRender=()=>{},this._creator_=t,this._canvasID=i,this.createCameraControl(s),this._addCameraControlListener(),this._setupScene(e,n),document.addEventListener("visibilitychange",this._tabVisible.bind(this)),this._renderListener=()=>{this._requestRender()},this._getInputManager().addEventListener(7,this._renderListener,this),this._getInputManager().addEventListener(8,this._renderListener,this),this._lifeCycleManager.addEventListener(this)}onBeforeRender(){}_changeCameraControl(t){this._cameraControl&&this._cameraControl.cleanUp(),t instanceof x&&(this._getInputManager().removeEventListener(7,this._renderListener),this._getInputManager().removeEventListener(8,this._renderListener)),this._cameraControl instanceof x&&(this._getInputManager().addEventListener(7,this._renderListener,this),this._getInputManager().addEventListener(8,this._renderListener,this)),this._cameraControl=t,this.cameraControlChanged()}cameraControlChanged(){}_addCameraControlListener(){this._cameraControl.addEventListener(0,this._requestRender,this),this._cameraControl.addEventListener(1,this._requestRender,this),this._cameraControl.addEventListener(2,this._requestRender,this),this._cameraControl.addEventListener(6,this._requestRender,this)}_renderEverything(){this._pixotron&&(this._forceRender=!0,this._updateShadowsAndAO=!0),this._requestRender()}_renderWithoutShadowsAndAO(){this._pixotron&&(this._forceRender=!0,this._updateShadowsAndAO=!1),this._requestRender()}_requestRender(){if(!this._renderer)return;const t=()=>{this._delta=this._clock.getDelta(),this._animateCamera(),this._cameraControl.getCamera().layers.mask=65535,this._renderLoopFunction&&(this._renderLoopFunction(),this._renderLoopFunction=null),this.onBeforeRender(),this._statsHelper&&this._statsHelper.updateRenderInfo(this._renderer.info),this._pixotron?(this._pixotron.autoShadowsClear=this._updateShadowsAndAO,this._pixotron.autoSAOClear=this._updateShadowsAndAO,this._forceRender&&(this._pixotron.needsUpdate=!0),this._pixotron.render(this._renderer,this._scene,this._cameraControl.getCamera(),this._renderTarget),this._forceRender=!1,this._updateShadowsAndAO=!0,this._pixotron.blit()):(this._renderer.clear(),this._renderer.render(this._scene,this._cameraControl.getCamera()),this._renderer.clearDepth()),this._onAfterRender(),window.TWEEN&&TWEEN.update(),this._lastChange+3e3<Date.now()||this._stopRendering?this._running=!1:(this._running=!0,requestAnimationFrame(t))};this._lastChange=Date.now(),this._running||this._stopRendering||(this._running=!0,requestAnimationFrame(t))}_animateCamera(){this._cameraControl&&(this._cameraControl.animateCamera(this._delta)||!this._pixotron||this._forceRender?(this._lightSetting instanceof E&&this._cameraControl.getCamera()instanceof THREE.PerspectiveCamera&&this._lightSetting.update(this._cameraControl.getCamera(),this._cameraControl.getTargetPosition()),this._pixotron&&(this._pixotron.needsUpdate=!0)):(this._pixotron.autoShadowsClear=!1,this._pixotron.autoSAOClear=!1)),this._environment&&this._environment.needsCamera()&&this._cameraControl instanceof w&&this._environment.updateCamera(this._cameraControl.getCamera())}_setupScene(t,e){const{x:i,y:s}=this._domHelper.getClientDimensions();this._scene=new THREE.Scene,(e=e||!1)||(this._scene.background=new THREE.Color(this._initData.colors.DEFAULT_BACKGROUND)),THREE.Math={DEG2RAD:THREE.MathUtils.DEG2RAD};const n={format:THREE.RGBAFormat,minFilter:THREE.NearestFilter,magFilter:THREE.NearestFilter},r=THREE.sRGBEncoding,o=Math.floor(i*window.devicePixelRatio),a=Math.floor(s*window.devicePixelRatio);l()?this._renderTarget=new THREE.WebGLMultisampleRenderTarget(o,a,n):this._renderTarget=new THREE.WebGLRenderTarget(o,a,n),this._renderTarget.texture.encoding=r,this._renderer=new THREE.WebGLRenderer({antialias:!0,alpha:!0}),this._renderer.setPixelRatio(window.devicePixelRatio),this._renderer.setSize(i,s),this._renderer.outputEncoding=THREE.sRGBEncoding,this._renderer.gammaFactor=2.2,this._renderer.autoClear=!1,this._renderer.shadowMap.enabled=!0,this._renderer.shadowMap.type=THREE.PCFSoftShadowMap,this._maxAnisotropy=this._renderer.capabilities.getMaxAnisotropy(),this._renderer.domElement.classList.add(this._canvasID),this._domHelper.element.appendChild(this._renderer.domElement),this._getInputManager().addEvents(this._renderer.domElement),this._environmentLoader.setRendererAndScene(this._renderer,this._scene),this._environmentLoader.registerEnvironmentChangedCallback(()=>this._requestRender()),this._requestRender(),window.addEventListener("resize",this,!1),window.addEventListener("keydown",this,!1),window.addEventListener("keyup",this,!1),this.sceneChanged()}_tabVisible(t){this.updateCamera(),this._renderEverything()}setupScene(t,e){this._setupScene(t,e)}updateCamera(){const{x:t,y:e}=this._domHelper.getClientDimensions();this._renderer.setSize(t,e);const i=this._renderer.getPixelRatio();if(this._renderTarget){const s=Math.floor(t*i),n=Math.floor(e*i);this._renderTarget.setSize(s,n)}if(this._pixotron){this._pixotron.autoShadowsClear=!0,this._pixotron.autoSAOClear=!0,this._forceRender=!0;try{this._pixotron.setSize(t,e)}catch(t){console.warn(t)}}this._cameraControl.updateCamera(),this._requestRender()}_onWindowResize(){const t=this._getInputManager();t&&t.updateSize(),this.updateCamera(),this._requestRender()}_isPartOfScene(t){return"Object3D"===t.type||"Mesh"===t.type||"GLB"===t.type||"GLTF"===t.type||"Group"===t.type}cleanUp(){this._getInputManager().removeEventListener(7,this._renderListener),this._getInputManager().removeEventListener(8,this._renderListener),this._cameraControl&&this._cameraControl.cleanUp()}clearScene(){let t=[];this._scene.children.forEach(e=>{this._isPartOfScene(e)&&t.push(e)}),t.forEach(t=>{_(t),this._scene.remove(t)}),this._renderer.renderLists.dispose()}enableHD(){this._pixotron=new window.PIXOTRON.Pixotron(this.getPixotronParams()),this._pixotronUtil=new y(this._pixotron),this._environment instanceof C&&(this._environment.setPixotron(this._pixotron,this._renderer,this._cameraControl.getCamera(),this.getBakedShadowParams()),this._environment.setLoadedCallback(()=>setTimeout(()=>this._requestRender(),500))),this._requestRender()}_loadGLTF(t,e,i,s,n,r,o){return new Promise((a,h)=>{this._staticItemLoader.loadGLTF(t,e,i,s,n,r,null,o).then(t=>{this._setCamera("GLTF",t),a(t)},h)})}_loadGLB(t,e,i,s,n,r,o,a){return new Promise((h,_)=>{this._staticItemLoader.loadGLB(t,e,i,s,n,r,o,a).then(t=>{this._setCamera("GLB",t),h(t)},_)})}_setCamera(t,e){if(!e)return void console.warn("could not set camera for gltf",e);const i=new THREE.Box3;i.setFromObject(e),"GLB"===t?this._cameraControl instanceof w&&this._cameraControl.updateToBounds(i,!1):"GLTF"===t&&(this._cameraControl instanceof w&&this._cameraControl.updateAndReset(i.getSize(new THREE.Vector3),i.getCenter(new THREE.Vector3),-15,70,5,!1),this._cameraControl instanceof f&&this._cameraControl.updateToBounds(i.getSize(new THREE.Vector3),i.getCenter(new THREE.Vector3))),this.updateCamera()}showGUI(){if(this._initData.disableDebugGUI)return;const t=document.createElement("style");t.innerText=".dg.main{position:absolute;z-index:100;top:0;left:0;}",document.head.appendChild(t),this._scriptLoader.fetch(v,{id:"dat-gui-js"}).then(()=>{let t=d(!1);t&&(this._domHelper.element.appendChild(t.domElement),this._guiLoaded())},t=>console.error(t))}_guiLoaded(){let t=d();t&&(this._lightSetting&&this._lightSetting.showGUI(),this._pixotron&&this._pixotronUtil.showGUI(),this._environment&&this._environment.showGUI(),this._addGUIListener(t))}_addGUIListener(t){let e=t.__folders;Object.keys(e).forEach(t=>{let i=e[t];i.__folders&&Object.keys(i.__folders).forEach(t=>{let i=e[t];this._addGUIListener(i)}),i.__controllers&&i.__controllers.forEach(t=>{t.onFinishChange(()=>{this._guiParamChanged()})})})}_guiParamChanged(){this._requestRender()}showStats(){e.import("./stats-helper-05a71c0f.nomodule.js").then(t=>this._statsHelper=new t.default)}_onKeyDown(t){}_onKeyUp(t){}pause(){this._getInputManager().removeEvents(this._renderer.domElement),window.removeEventListener("resize",this,!1),window.removeEventListener("keydown",this,!1),window.removeEventListener("keyup",this,!1)}resume(){this.updateCamera(),this._renderer.domElement.classList.add(this._canvasID),this._domHelper.element.appendChild(this._renderer.domElement),this._getInputManager().addEvents(this._renderer.domElement),window.addEventListener("resize",this,!1),window.addEventListener("keydown",this,!1),window.addEventListener("keyup",this,!1),this._renderEverything()}destroy(){this.pause(),this.cleanUp()}handleEvent(t){switch(t.type){case"resize":this._onWindowResize();break;case"keydown":this._onKeyDown(t);break;case"keyup":this._onKeyUp(t)}}loadSceneSettings(t){let e,i;return e=t.environment?new Promise(e=>{(new R).load(this._scene,this._renderer.domElement,this._environment,t).then(t=>{this._setEnvironment(t),e()})}):Promise.resolve(),t.lights?(this._lightSetting=new E(this._scene,this._lightSetting),i=this._lightSetting.loadFromObject(t)):i=Promise.resolve(),new Promise((t,s)=>{Promise.all([e,i]).then(()=>{this._requestRender(),t()},s)})}_setEnvironment(t){this._environment=t,this._pixotron&&this._environment instanceof C&&(this._environment.setPixotron(this._pixotron,this._renderer,this._cameraControl.getCamera(),this.getBakedShadowParams()),this._environment.setLoadedCallback(()=>setTimeout(()=>this._requestRender(),500)))}loadQualitySetting(t){this._pixotron&&(new m).set(this._pixotron,t)}async loadDynamicLightSetting(t){this._lightSetting=new E(this._scene,this._lightSetting);let e=!1;if(t.url)await this._lightSetting.loadFromURL(t.url),e=!0;else if(t.json)await this._lightSetting.loadFromJSON(t.json),e=!0;else if(t.object)await this._lightSetting.loadFromObject(t.object),e=!0;else if(t.ls){const i=c.createDynamicLightSettingSource(null,t.ls);await this._lightSetting.loadFromURL(i.url),e=!0}if(!e)throw new Error("No dynamic light setting source set");this._requestRender()}getScene(){return this._scene}updateScene(){this._updateBounds(this.getBounds()),this._renderEverything()}_updateBounds(t){if(t){if(this.updateEnvironment(t),this._lightSetting&&this._lightSetting.needsBounds()&&this._lightSetting.updateBounds(t),this._pixotronUtil){const e=new THREE.Sphere;t.getBoundingSphere(e),this._pixotronUtil.updateBounds(e)}this._requestRender()}}setCameraOffset(t){const e=this._cameraControl.getCamera();e.offset?(e.offset=t,this._requestRender()):console.warn("Cannot set offset, current camera does not support it")}getCameraOffset(){const t=this._cameraControl.getCamera();return t.offset?JSON.parse(JSON.stringify(t.offset)):{left:0,top:0,right:1,bottom:1}}getPerspectiveOffsetCamera(){const t=this._domHelper.getClientDimensions(),e=t.x,i=t.y;return p().createCamera(30,e/i,.1,20)}updateEnvironment(t,e=!1){if(t&&this._environment&&this._environment.needsBounds()){const i=t.getSize(new THREE.Vector3);i.x+i.y+i.z!==0&&this._environment.updateBounds(t.getSize(new THREE.Vector3),e)}this._environment instanceof C&&this._environment.update()}}return a([h],t.prototype,"_domHelper",void 0),a([h],t.prototype,"_scriptLoader",void 0),a([h],t.prototype,"_lifeCycleManager",void 0),a([h],t.prototype,"_staticItemLoader",void 0),a([h],t.prototype,"_environmentLoader",void 0),a([h],t.prototype,"_initData",void 0),t})())}}}));
2
+ //# sourceMappingURL=scene-manager-3bf096c5.nomodule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-manager-3bf096c5.nomodule.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- import{t as toRadiant,u as position3VectorsAreEqual,a8 as rotationQuaternionsAreEqual,a9 as getDelta,v as position2VectorsAreEqual,_ as __decorate,i as inject,e as dispose,h as getGUI,f as DynamicLightSettingLoader,R as RoomleComponentFactoryInitializer,aa as DynamicQualitySettingLoader}from"./rapi-access-abd53fb8.js";import{i as isWebGl2}from"./main-thread-to-worker-91bf9f5e.js";import{d as CameraControl,i as MIN_MOVE_DISTANCE,D as DynamicLightSetting,C as CameraControl3D,b as PixotronUtil,B as BakedShadowEnvironment,f as DAT_GUI_FILE_NAME,c as DynamicEnvironmentSettingLoader}from"./pixotron-7ff769f3.js";class CameraControl2D extends CameraControl{constructor(t,e,i){super(t,e,i),this._scale=1,this._state=0,this._size=20,this._center=new THREE.Vector3,this._raycaster=new THREE.Raycaster,this._lastPosition=new THREE.Vector2,this._zoomPosition=new THREE.Vector3,this._lastZoom=0,this._zoomSpeed=Math.pow(.95,2),this._cameraZoom=1,this._initCamera(i||new THREE.Vector3(0,10,0));let s=new THREE.PlaneGeometry(1e3,1e3);s.rotateX(-Math.PI/2),this._plane=new THREE.Mesh(s,new THREE.MeshStandardMaterial)}_getCamera(){return this._camera||this._initCamera(new THREE.Vector3(0,10,0)),this._camera}_initCamera(t){let{x:e,y:i}=this._domHelper.getClientDimensions(),s=e/i*this._size,n=this._size;this._camera=new THREE.OrthographicCamera(s/-2,s/2,n/2,n/-2,1,1e3),this._camera.position.copy(t),this._cameraPosition=t,this._camera.lookAt(new THREE.Vector3(0,0,0))}updateCamera(){let{x:t,y:e}=this._domHelper.getClientDimensions(),i=t/e*this._size,s=this._size;this._camera.left=i/-2,this._camera.right=i/2,this._camera.top=s/2,this._camera.bottom=s/-2,this._camera.updateProjectionMatrix()}_initInputListener(){this._inputListeners.push({key:3,fun:t=>{this._locked||(this._state=1,this._lastPosition.set(t.position.x,t.position.y),this.dispatchEvent(0))}}),this._inputListeners.push({key:6,fun:t=>{1!==this._state||this._locked||(this._move(new THREE.Vector2(t.position.x,t.position.y),t.type),this.dispatchEvent(1))}}),this._inputListeners.push({key:4,fun:t=>{1===this._state&&this.dispatchEvent(2),this._state=0}}),this._inputListeners.push({key:7,fun:t=>{t.event&&(t.event.stopPropagation(),t.event.preventDefault()),this._scale/=this._zoomSpeed,this._zoomTo(t.position,1),this._update()}}),this._inputListeners.push({key:8,fun:t=>{t.event&&(t.event.stopPropagation(),t.event.preventDefault()),this._scale*=this._zoomSpeed,this._zoomTo(t.position,-1),this._update()}})}_zoomTo(t,e){if(Date.now()-this._lastZoom>200){if(e>0||this._cameraZoom>=1){const e=this.getInputPosition(t);this._raycaster.setFromCamera(e,this._camera);const i=this._raycaster.intersectObject(this._plane);if(i.length<=0)return;const s=i.pop().point;this._zoomPosition.copy(s)}else this._zoomPosition.copy(this._center);this._cameraPosition.x=this._zoomPosition.x,this._cameraPosition.z=this._zoomPosition.z}this._lastZoom=Date.now()}_move(t,e){let i=new THREE.Vector2;i.subVectors(this._lastPosition,t),i.divideScalar(100),this._cameraPosition.x+=i.x*(2===e?1.1:1),this._cameraPosition.z+=i.y*(2===e?1.1:1),this._lastPosition.copy(t)}updateToBounds(t,e){let{x:i,y:s}=this._domHelper.getClientDimensions(),n=i/s;this._size=Math.max(t.x,t.z);let a=this._size,r=this._size;n>1?a=this._size*n:r=this._size*(s/i),this._center.copy(e),this._camera.left=a/-2,this._camera.right=a/2,this._camera.top=r/2,this._camera.bottom=r/-2,this._camera.zoom=1,this._camera.position.set(this._center.x,10,this._center.z),this._cameraPosition.copy(this._camera.position)}_update(t){this._scale=Math.min(this._scale,5),this._scale=Math.max(this._scale,.8),this._cameraZoom=this._scale,this._camera.updateProjectionMatrix()}animateCamera(t){return!(!super.animateCamera(t)&&Math.abs(this._cameraZoom-this._camera.zoom)<=.01||(this._camera.zoom=THREE.MathUtils.lerp(this._camera.zoom,this._cameraZoom,10*t),0))}}const KEYBOARD_ROTATION_ANGLE=Math.PI/4;class CameraControlFirstPerson extends CameraControl{constructor(t,e,i,s){super(t,e,i),this._state=0,this._rotationSpeed=1,this._keyMap=new Map,this.minPolarAngle=toRadiant(-60),this.maxPolarAngle=toRadiant(60),this._camera=s||new THREE.PerspectiveCamera,this._camera.fov=70,this._camera.aspect=this._width/this._height,this._camera.near=.1,this._camera.far=100,this._camera.updateProjectionMatrix(),this._camera.layers.set(3),this._camera.layers.enable(1),this._camera.layers.enable(2),this._camera.layers.enable(5),this._camera.layers.enable(4),i?this._camera.position.set(i.x,1.5,i.z):this._camera.position.set(0,1.5,0),this._cameraPosition=new THREE.Vector3,this._cameraPosition.copy(this._camera.position),this._cameraRotation=new THREE.Quaternion,this._pitch=0,this._yaw=0;let n=new THREE.Euler(-this._pitch,this._yaw,0,"ZYX");this._cameraRotation.setFromEuler(n),window.addEventListener("gamepadconnected",this._gamepadConnected.bind(this)),window.addEventListener("gamepaddisconnected",this._gamepadDisconnected.bind(this))}_gamepadConnected(t){this.startButtonPressListener()}_gamepadDisconnected(t){window.cancelAnimationFrame(this._listenerLoopAnimationFrame)}startButtonPressListener(){this._listenerLoopAnimationFrame=window.requestAnimationFrame(()=>{this.buttonPressListener()})}buttonPressListener(){let t=navigator.getGamepads()[0];this._checkRightStick(t),this._checkLeftStick(t),this._checkButtons(t),this._processKeyMap(this._keyMap,.001),this.startButtonPressListener()}_checkRightStick(t){let e=t.axes[2],i=t.axes[3];Math.abs(e)>.2&&(this._rotateHorizontal(.01*KEYBOARD_ROTATION_ANGLE*e),this._update(),this.dispatchEvent(1)),Math.abs(i)>.2&&(this._rotateVertical(.01*KEYBOARD_ROTATION_ANGLE*i),this._update(),this.dispatchEvent(1))}_checkLeftStick(t){let e=t.axes[0],i=t.axes[1];Math.abs(i)>.2?i<0?this._keyMap.set(87,!0):this._keyMap.set(83,!0):t.buttons&&t.buttons[12]&&t.buttons[12].pressed?this._keyMap.set(87,!0):t.buttons&&t.buttons[13]&&t.buttons[13].pressed?this._keyMap.set(83,!0):(this._keyMap.set(87,!1),this._keyMap.set(83,!1)),Math.abs(e)>.2?e<0?this._keyMap.set(65,!0):this._keyMap.set(68,!0):(this._keyMap.set(65,!1),this._keyMap.set(68,!1))}_checkButtons(t){t.buttons&&t.buttons[6]&&t.buttons[6].pressed?this._keyMap.set(16,!0):this._keyMap.set(16,!1),t.buttons&&t.buttons[14]&&t.buttons[14].pressed?(this._keyMap.set(37,!0),this.dispatchEvent(1)):this._keyMap.set(37,!1),t.buttons&&t.buttons[15]&&t.buttons[15].pressed?(this._keyMap.set(39,!0),this.dispatchEvent(1)):this._keyMap.set(39,!1)}animateCamera(t){let e=this._cameraPosition,i=this._cameraRotation,s=this.getCamera(),n=position3VectorsAreEqual(e,s.position),a=rotationQuaternionsAreEqual(i,s.quaternion);if(!e||n&&a)return!1;let r=this.getCamera().position.clone(),o=Math.min(10*t,1);r.lerp(e,o),this.getCamera().position.copy(r);let h=this.getCamera().quaternion.clone(),_=Math.min(5*t,1);h.slerp(i,_),this.getCamera().setRotationFromQuaternion(h);let d=!1;return this._keyMap.forEach(t=>{t&&(d=!0)}),d&&this._processKeyMap(this._keyMap,t),!0}_getCamera(){return this._camera}_initInputListener(){window.addEventListener("keyup",this._onKeyChanged.bind(this),!1),window.addEventListener("keydown",this._onKeyChanged.bind(this),!1),this._inputListeners.push({key:3,fun:t=>{this._down(t)}}),this._inputListeners.push({key:6,fun:t=>{this._move(t)}}),this._inputListeners.push({key:4,fun:t=>{this._up(t)}})}_down(t){this._downPosition=t.position,this._position=t.position,this._state=1,2===t.type&&window.setTimeout(this._onLongDown.bind(this),350),2===t.type?this._rotationSpeed=.6:this._rotationSpeed=1}_move(t){this._position=t.position,1!==this._state||this._locked||this._orbit(new THREE.Vector2(t.position.x,t.position.y)),2!==this._state||this._locked||(this._orbit(new THREE.Vector2(t.position.x,t.position.y)),this._moveForward())}_up(t){1===this._state&&this.dispatchEvent(2),2===this._state&&this._keyMap.set(87,!1),this._state=0,this._orbitPosition=null}_onLongDown(){getDelta(this._downPosition,this._position)<MIN_MOVE_DISTANCE&&1===this._state&&(this._state=2,this._orbit(new THREE.Vector2(this._position.x,this._position.y)),this._moveForward())}_update(t){let e=new THREE.Euler(-this._pitch,this._yaw,0,"ZYX");this._cameraRotation.setFromEuler(e)}updateCamera(){let{x:t,y:e}=this._domHelper.getClientDimensions();this._camera.aspect=t/e,this._camera.updateProjectionMatrix()}_onKeyChanged(t){this._keyMap.set(t.keyCode,"keydown"===t.type),this.dispatchEvent(6),this._processKeyMap(this._keyMap,.001)&&t.preventDefault()}_processKeyMap(t,e){e=Math.min(e,.1);let i=new THREE.Vector3(0,0,0),s=!1;return this._processUpDown(t,i,e),t.get(65)&&(i.x=-1*e),t.get(68)&&(i.x=1*e),t.get(37)&&(this._rotateHorizontal(-KEYBOARD_ROTATION_ANGLE*this._rotationSpeed*e),s=!0),t.get(39)&&(this._rotateHorizontal(KEYBOARD_ROTATION_ANGLE*this._rotationSpeed*e),s=!0),t.get(16)&&(i.x*=3,i.z*=3),!(0===i.x&&0===i.y&&0===i.z&&!s||(i.applyQuaternion(this.getCamera().quaternion),this._cameraPosition.add(new THREE.Vector3(i.x,0,i.z)),this._update(),0))}_processUpDown(t,e,i){(t.get(87)||t.get(38))&&(e.z=-1*i),(t.get(83)||t.get(40))&&(e.z=1*i)}_orbit(t){this._orbitPosition||(this._orbitPosition=new THREE.Vector2(t.x,t.y),this.dispatchEvent(0));let e=t.clone().sub(this._orbitPosition),i=this._domHelper.element instanceof Document?this._domHelper.element.body:this._domHelper.element;e.multiplyScalar(-1),this._rotateHorizontal(2*Math.PI*e.x/i.clientWidth*1),this._rotateVertical(2*Math.PI*e.y/i.clientHeight*1),position2VectorsAreEqual(this._orbitPosition,t)||this.dispatchEvent(1),this._orbitPosition.copy(t),this._update()}_moveForward(){this._keyMap.set(87,!0),this._processKeyMap(this._keyMap,.001)}_rotateVertical(t){let e=this._pitch+t;e>this.maxPolarAngle||e<this.minPolarAngle||(this._pitch=e,this._pitch<-Math.PI?this._pitch+=2*Math.PI:this._pitch>Math.PI&&(this._pitch-=2*Math.PI),this._saveYawAndPitch())}}let SceneManager=(()=>{class t{constructor(t,e,i,s,n){this._maxAnisotropy=1,this._clock=new THREE.Clock,this._delta=0,this._renderListener=null,this._stopRendering=!1,this._forceRender=!1,this._updateShadowsAndAO=!0,this._lastChange=Date.now(),this._running=!1,this._onAfterRender=()=>{},this._creator_=t,this._canvasID=i,this.createCameraControl(s),this._addCameraControlListener(),this._setupScene(e,n),document.addEventListener("visibilitychange",this._tabVisible.bind(this)),this._renderListener=()=>{this._requestRender()},this._getInputManager().addEventListener(7,this._renderListener,this),this._getInputManager().addEventListener(8,this._renderListener,this),this._lifeCycleManager.addEventListener(this)}onBeforeRender(){}_changeCameraControl(t){this._cameraControl&&this._cameraControl.cleanUp(),t instanceof CameraControlFirstPerson&&(this._getInputManager().removeEventListener(7,this._renderListener),this._getInputManager().removeEventListener(8,this._renderListener)),this._cameraControl instanceof CameraControlFirstPerson&&(this._getInputManager().addEventListener(7,this._renderListener,this),this._getInputManager().addEventListener(8,this._renderListener,this)),this._cameraControl=t,this.cameraControlChanged()}cameraControlChanged(){}_addCameraControlListener(){this._cameraControl.addEventListener(0,this._requestRender,this),this._cameraControl.addEventListener(1,this._requestRender,this),this._cameraControl.addEventListener(2,this._requestRender,this),this._cameraControl.addEventListener(6,this._requestRender,this)}_renderEverything(){this._pixotron&&(this._forceRender=!0,this._updateShadowsAndAO=!0),this._requestRender()}_renderWithoutShadowsAndAO(){this._pixotron&&(this._forceRender=!0,this._updateShadowsAndAO=!1),this._requestRender()}_requestRender(){if(!this._renderer)return;const t=()=>{this._delta=this._clock.getDelta(),this._animateCamera(),this._cameraControl.getCamera().layers.mask=65535,this._renderLoopFunction&&(this._renderLoopFunction(),this._renderLoopFunction=null),this.onBeforeRender(),this._statsHelper&&this._statsHelper.updateRenderInfo(this._renderer.info),this._pixotron?(this._pixotron.autoShadowsClear=this._updateShadowsAndAO,this._pixotron.autoSAOClear=this._updateShadowsAndAO,this._forceRender&&(this._pixotron.needsUpdate=!0),this._pixotron.render(this._renderer,this._scene,this._cameraControl.getCamera(),this._renderTarget),this._forceRender=!1,this._updateShadowsAndAO=!0,this._pixotron.blit()):(this._renderer.clear(),this._renderer.render(this._scene,this._cameraControl.getCamera()),this._renderer.clearDepth()),this._onAfterRender(),window.TWEEN&&TWEEN.update(),this._lastChange+3e3<Date.now()||this._stopRendering?this._running=!1:(this._running=!0,requestAnimationFrame(t))};this._lastChange=Date.now(),this._running||this._stopRendering||(this._running=!0,requestAnimationFrame(t))}_animateCamera(){this._cameraControl&&(this._cameraControl.animateCamera(this._delta)||!this._pixotron||this._forceRender?(this._lightSetting instanceof DynamicLightSetting&&this._cameraControl.getCamera()instanceof THREE.PerspectiveCamera&&this._lightSetting.update(this._cameraControl.getCamera(),this._cameraControl.getTargetPosition()),this._pixotron&&(this._pixotron.needsUpdate=!0)):(this._pixotron.autoShadowsClear=!1,this._pixotron.autoSAOClear=!1)),this._environment&&this._environment.needsCamera()&&this._cameraControl instanceof CameraControl3D&&this._environment.updateCamera(this._cameraControl.getCamera())}_setupScene(t,e){const{x:i,y:s}=this._domHelper.getClientDimensions();this._scene=new THREE.Scene,(e=e||!1)||(this._scene.background=new THREE.Color(this._initData.colors.DEFAULT_BACKGROUND)),THREE.Math={DEG2RAD:THREE.MathUtils.DEG2RAD};const n={format:THREE.RGBAFormat,minFilter:THREE.NearestFilter,magFilter:THREE.NearestFilter},a=THREE.sRGBEncoding,r=Math.floor(i*window.devicePixelRatio),o=Math.floor(s*window.devicePixelRatio);isWebGl2()?this._renderTarget=new THREE.WebGLMultisampleRenderTarget(r,o,n):this._renderTarget=new THREE.WebGLRenderTarget(r,o,n),this._renderTarget.texture.encoding=a,this._renderer=new THREE.WebGLRenderer({antialias:!0,alpha:!0}),this._renderer.setPixelRatio(window.devicePixelRatio),this._renderer.setSize(i,s),this._renderer.outputEncoding=THREE.sRGBEncoding,this._renderer.gammaFactor=2.2,this._renderer.autoClear=!1,this._renderer.shadowMap.enabled=!0,this._renderer.shadowMap.type=THREE.PCFSoftShadowMap,this._maxAnisotropy=this._renderer.capabilities.getMaxAnisotropy(),this._renderer.domElement.classList.add(this._canvasID),this._domHelper.element.appendChild(this._renderer.domElement),this._getInputManager().addEvents(this._renderer.domElement),this._environmentLoader.setRendererAndScene(this._renderer,this._scene),this._environmentLoader.registerEnvironmentChangedCallback(()=>this._requestRender()),this._requestRender(),window.addEventListener("resize",this,!1),window.addEventListener("keydown",this,!1),window.addEventListener("keyup",this,!1),this.sceneChanged()}_tabVisible(t){this.updateCamera(),this._renderEverything()}setupScene(t,e){this._setupScene(t,e)}updateCamera(){const{x:t,y:e}=this._domHelper.getClientDimensions();this._renderer.setSize(t,e);const i=this._renderer.getPixelRatio();if(this._renderTarget){const s=Math.floor(t*i),n=Math.floor(e*i);this._renderTarget.setSize(s,n)}if(this._pixotron){this._pixotron.autoShadowsClear=!0,this._pixotron.autoSAOClear=!0,this._forceRender=!0;try{this._pixotron.setSize(t,e)}catch(t){console.warn(t)}}this._cameraControl.updateCamera(),this._requestRender()}_onWindowResize(){const t=this._getInputManager();t&&t.updateSize(),this.updateCamera(),this._requestRender()}_isPartOfScene(t){return"Object3D"===t.type||"Mesh"===t.type||"GLB"===t.type||"GLTF"===t.type||"Group"===t.type}cleanUp(){this._getInputManager().removeEventListener(7,this._renderListener),this._getInputManager().removeEventListener(8,this._renderListener),this._cameraControl&&this._cameraControl.cleanUp()}clearScene(){let t=[];this._scene.children.forEach(e=>{this._isPartOfScene(e)&&t.push(e)}),t.forEach(t=>{dispose(t),this._scene.remove(t)}),this._renderer.renderLists.dispose()}enableHD(){this._pixotron=new window.PIXOTRON.Pixotron(this.getPixotronParams()),this._pixotronUtil=new PixotronUtil(this._pixotron),this._environment instanceof BakedShadowEnvironment&&(this._environment.setPixotron(this._pixotron,this._renderer,this._cameraControl.getCamera(),this.getBakedShadowParams()),this._environment.setLoadedCallback(()=>setTimeout(()=>this._requestRender(),500))),this._requestRender()}_loadGLTF(t,e,i,s,n,a,r){return new Promise((o,h)=>{this._staticItemLoader.loadGLTF(t,e,i,s,n,a,null,r).then(t=>{this._setCamera("GLTF",t),o(t)},h)})}_loadGLB(t,e,i,s,n,a,r,o){return new Promise((h,_)=>{this._staticItemLoader.loadGLB(t,e,i,s,n,a,r,o).then(t=>{this._setCamera("GLB",t),h(t)},_)})}_setCamera(t,e){if(!e)return void console.warn("could not set camera for gltf",e);const i=new THREE.Box3;i.setFromObject(e),"GLB"===t?this._cameraControl instanceof CameraControl3D&&this._cameraControl.updateToBounds(i,!1):"GLTF"===t&&(this._cameraControl instanceof CameraControl3D&&this._cameraControl.updateAndReset(i.getSize(new THREE.Vector3),i.getCenter(new THREE.Vector3),-15,70,5,!1),this._cameraControl instanceof CameraControl2D&&this._cameraControl.updateToBounds(i.getSize(new THREE.Vector3),i.getCenter(new THREE.Vector3))),this.updateCamera()}showGUI(){if(this._initData.disableDebugGUI)return;const t=document.createElement("style");t.innerText=".dg.main{position:absolute;z-index:100;top:0;left:0;}",document.head.appendChild(t),this._scriptLoader.fetch(DAT_GUI_FILE_NAME,{id:"dat-gui-js"}).then(()=>{let t=getGUI(!1);t&&(this._domHelper.element.appendChild(t.domElement),this._guiLoaded())},t=>console.error(t))}_guiLoaded(){let t=getGUI();t&&(this._lightSetting&&this._lightSetting.showGUI(),this._pixotron&&this._pixotronUtil.showGUI(),this._environment&&this._environment.showGUI(),this._addGUIListener(t))}_addGUIListener(t){let e=t.__folders;Object.keys(e).forEach(t=>{let i=e[t];i.__folders&&Object.keys(i.__folders).forEach(t=>{let i=e[t];this._addGUIListener(i)}),i.__controllers&&i.__controllers.forEach(t=>{t.onFinishChange(()=>{this._guiParamChanged()})})})}_guiParamChanged(){this._requestRender()}showStats(){import("./stats-helper-4a155513.js").then(t=>this._statsHelper=new t.default)}_onKeyDown(t){}_onKeyUp(t){}pause(){this._getInputManager().removeEvents(this._renderer.domElement),window.removeEventListener("resize",this,!1),window.removeEventListener("keydown",this,!1),window.removeEventListener("keyup",this,!1)}resume(){this.updateCamera(),this._renderer.domElement.classList.add(this._canvasID),this._domHelper.element.appendChild(this._renderer.domElement),this._getInputManager().addEvents(this._renderer.domElement),window.addEventListener("resize",this,!1),window.addEventListener("keydown",this,!1),window.addEventListener("keyup",this,!1),this._renderEverything()}destroy(){this.pause(),this.cleanUp()}handleEvent(t){switch(t.type){case"resize":this._onWindowResize();break;case"keydown":this._onKeyDown(t);break;case"keyup":this._onKeyUp(t)}}loadSceneSettings(t){let e,i;return e=t.environment?new Promise(e=>{(new DynamicEnvironmentSettingLoader).load(this._scene,this._renderer.domElement,this._environment,t).then(t=>{this._setEnvironment(t),e()})}):Promise.resolve(),t.lights?(this._lightSetting=new DynamicLightSetting(this._scene,this._lightSetting),i=this._lightSetting.loadFromObject(t)):i=Promise.resolve(),new Promise((t,s)=>{Promise.all([e,i]).then(()=>{this._requestRender(),t()},s)})}_setEnvironment(t){this._environment=t,this._pixotron&&this._environment instanceof BakedShadowEnvironment&&(this._environment.setPixotron(this._pixotron,this._renderer,this._cameraControl.getCamera(),this.getBakedShadowParams()),this._environment.setLoadedCallback(()=>setTimeout(()=>this._requestRender(),500)))}loadQualitySetting(t){this._pixotron&&(new DynamicQualitySettingLoader).set(this._pixotron,t)}async loadDynamicLightSetting(t){this._lightSetting=new DynamicLightSetting(this._scene,this._lightSetting);let e=!1;if(t.url)await this._lightSetting.loadFromURL(t.url),e=!0;else if(t.json)await this._lightSetting.loadFromJSON(t.json),e=!0;else if(t.object)await this._lightSetting.loadFromObject(t.object),e=!0;else if(t.ls){const i=DynamicLightSettingLoader.createDynamicLightSettingSource(null,t.ls);await this._lightSetting.loadFromURL(i.url),e=!0}if(!e)throw new Error("No dynamic light setting source set");this._requestRender()}getScene(){return this._scene}updateScene(){this._updateBounds(this.getBounds()),this._renderEverything()}_updateBounds(t){if(t){if(this.updateEnvironment(t),this._lightSetting&&this._lightSetting.needsBounds()&&this._lightSetting.updateBounds(t),this._pixotronUtil){const e=new THREE.Sphere;t.getBoundingSphere(e),this._pixotronUtil.updateBounds(e)}this._requestRender()}}setCameraOffset(t){const e=this._cameraControl.getCamera();e.offset?(e.offset=t,this._requestRender()):console.warn("Cannot set offset, current camera does not support it")}getCameraOffset(){const t=this._cameraControl.getCamera();return t.offset?JSON.parse(JSON.stringify(t.offset)):{left:0,top:0,right:1,bottom:1}}getPerspectiveOffsetCamera(){const t=this._domHelper.getClientDimensions(),e=t.x,i=t.y;return RoomleComponentFactoryInitializer().createCamera(30,e/i,.1,20)}updateEnvironment(t,e=!1){if(t&&this._environment&&this._environment.needsBounds()){const i=t.getSize(new THREE.Vector3);i.x+i.y+i.z!==0&&this._environment.updateBounds(t.getSize(new THREE.Vector3),e)}}}return __decorate([inject],t.prototype,"_domHelper",void 0),__decorate([inject],t.prototype,"_scriptLoader",void 0),__decorate([inject],t.prototype,"_lifeCycleManager",void 0),__decorate([inject],t.prototype,"_staticItemLoader",void 0),__decorate([inject],t.prototype,"_environmentLoader",void 0),__decorate([inject],t.prototype,"_initData",void 0),t})();export{CameraControl2D as C,SceneManager as S,CameraControlFirstPerson as a};
2
- //# sourceMappingURL=scene-manager-3aaca073.js.map
1
+ import{t as toRadiant,u as position3VectorsAreEqual,a8 as rotationQuaternionsAreEqual,a9 as getDelta,v as position2VectorsAreEqual,_ as __decorate,i as inject,e as dispose,h as getGUI,f as DynamicLightSettingLoader,R as RoomleComponentFactoryInitializer,aa as DynamicQualitySettingLoader}from"./rapi-access-c722af1e.js";import{i as isWebGl2}from"./main-thread-to-worker-91bf9f5e.js";import{d as CameraControl,i as MIN_MOVE_DISTANCE,D as DynamicLightSetting,C as CameraControl3D,b as PixotronUtil,B as BakedShadowEnvironment,f as DAT_GUI_FILE_NAME,c as DynamicEnvironmentSettingLoader}from"./pixotron-7bfbf4cb.js";class CameraControl2D extends CameraControl{constructor(t,e,i){super(t,e,i),this._scale=1,this._state=0,this._size=20,this._center=new THREE.Vector3,this._raycaster=new THREE.Raycaster,this._lastPosition=new THREE.Vector2,this._zoomPosition=new THREE.Vector3,this._lastZoom=0,this._zoomSpeed=Math.pow(.95,2),this._cameraZoom=1,this._initCamera(i||new THREE.Vector3(0,10,0));let s=new THREE.PlaneGeometry(1e3,1e3);s.rotateX(-Math.PI/2),this._plane=new THREE.Mesh(s,new THREE.MeshStandardMaterial)}_getCamera(){return this._camera||this._initCamera(new THREE.Vector3(0,10,0)),this._camera}_initCamera(t){let{x:e,y:i}=this._domHelper.getClientDimensions(),s=e/i*this._size,n=this._size;this._camera=new THREE.OrthographicCamera(s/-2,s/2,n/2,n/-2,1,1e3),this._camera.position.copy(t),this._cameraPosition=t,this._camera.lookAt(new THREE.Vector3(0,0,0))}updateCamera(){let{x:t,y:e}=this._domHelper.getClientDimensions(),i=t/e*this._size,s=this._size;this._camera.left=i/-2,this._camera.right=i/2,this._camera.top=s/2,this._camera.bottom=s/-2,this._camera.updateProjectionMatrix()}_initInputListener(){this._inputListeners.push({key:3,fun:t=>{this._locked||(this._state=1,this._lastPosition.set(t.position.x,t.position.y),this.dispatchEvent(0))}}),this._inputListeners.push({key:6,fun:t=>{1!==this._state||this._locked||(this._move(new THREE.Vector2(t.position.x,t.position.y),t.type),this.dispatchEvent(1))}}),this._inputListeners.push({key:4,fun:t=>{1===this._state&&this.dispatchEvent(2),this._state=0}}),this._inputListeners.push({key:7,fun:t=>{t.event&&(t.event.stopPropagation(),t.event.preventDefault()),this._scale/=this._zoomSpeed,this._zoomTo(t.position,1),this._update()}}),this._inputListeners.push({key:8,fun:t=>{t.event&&(t.event.stopPropagation(),t.event.preventDefault()),this._scale*=this._zoomSpeed,this._zoomTo(t.position,-1),this._update()}})}_zoomTo(t,e){if(Date.now()-this._lastZoom>200){if(e>0||this._cameraZoom>=1){const e=this.getInputPosition(t);this._raycaster.setFromCamera(e,this._camera);const i=this._raycaster.intersectObject(this._plane);if(i.length<=0)return;const s=i.pop().point;this._zoomPosition.copy(s)}else this._zoomPosition.copy(this._center);this._cameraPosition.x=this._zoomPosition.x,this._cameraPosition.z=this._zoomPosition.z}this._lastZoom=Date.now()}_move(t,e){let i=new THREE.Vector2;i.subVectors(this._lastPosition,t),i.divideScalar(100),this._cameraPosition.x+=i.x*(2===e?1.1:1),this._cameraPosition.z+=i.y*(2===e?1.1:1),this._lastPosition.copy(t)}updateToBounds(t,e){let{x:i,y:s}=this._domHelper.getClientDimensions(),n=i/s;this._size=Math.max(t.x,t.z);let a=this._size,r=this._size;n>1?a=this._size*n:r=this._size*(s/i),this._center.copy(e),this._camera.left=a/-2,this._camera.right=a/2,this._camera.top=r/2,this._camera.bottom=r/-2,this._camera.zoom=1,this._camera.position.set(this._center.x,10,this._center.z),this._cameraPosition.copy(this._camera.position)}_update(t){this._scale=Math.min(this._scale,5),this._scale=Math.max(this._scale,.8),this._cameraZoom=this._scale,this._camera.updateProjectionMatrix()}animateCamera(t){return!(!super.animateCamera(t)&&Math.abs(this._cameraZoom-this._camera.zoom)<=.01||(this._camera.zoom=THREE.MathUtils.lerp(this._camera.zoom,this._cameraZoom,10*t),0))}}const KEYBOARD_ROTATION_ANGLE=Math.PI/4;class CameraControlFirstPerson extends CameraControl{constructor(t,e,i,s){super(t,e,i),this._state=0,this._rotationSpeed=1,this._keyMap=new Map,this.minPolarAngle=toRadiant(-60),this.maxPolarAngle=toRadiant(60),this._camera=s||new THREE.PerspectiveCamera,this._camera.fov=70,this._camera.aspect=this._width/this._height,this._camera.near=.1,this._camera.far=100,this._camera.updateProjectionMatrix(),this._camera.layers.set(3),this._camera.layers.enable(1),this._camera.layers.enable(2),this._camera.layers.enable(5),this._camera.layers.enable(4),i?this._camera.position.set(i.x,1.5,i.z):this._camera.position.set(0,1.5,0),this._cameraPosition=new THREE.Vector3,this._cameraPosition.copy(this._camera.position),this._cameraRotation=new THREE.Quaternion,this._pitch=0,this._yaw=0;let n=new THREE.Euler(-this._pitch,this._yaw,0,"ZYX");this._cameraRotation.setFromEuler(n),window.addEventListener("gamepadconnected",this._gamepadConnected.bind(this)),window.addEventListener("gamepaddisconnected",this._gamepadDisconnected.bind(this))}_gamepadConnected(t){this.startButtonPressListener()}_gamepadDisconnected(t){window.cancelAnimationFrame(this._listenerLoopAnimationFrame)}startButtonPressListener(){this._listenerLoopAnimationFrame=window.requestAnimationFrame(()=>{this.buttonPressListener()})}buttonPressListener(){let t=navigator.getGamepads()[0];this._checkRightStick(t),this._checkLeftStick(t),this._checkButtons(t),this._processKeyMap(this._keyMap,.001),this.startButtonPressListener()}_checkRightStick(t){let e=t.axes[2],i=t.axes[3];Math.abs(e)>.2&&(this._rotateHorizontal(.01*KEYBOARD_ROTATION_ANGLE*e),this._update(),this.dispatchEvent(1)),Math.abs(i)>.2&&(this._rotateVertical(.01*KEYBOARD_ROTATION_ANGLE*i),this._update(),this.dispatchEvent(1))}_checkLeftStick(t){let e=t.axes[0],i=t.axes[1];Math.abs(i)>.2?i<0?this._keyMap.set(87,!0):this._keyMap.set(83,!0):t.buttons&&t.buttons[12]&&t.buttons[12].pressed?this._keyMap.set(87,!0):t.buttons&&t.buttons[13]&&t.buttons[13].pressed?this._keyMap.set(83,!0):(this._keyMap.set(87,!1),this._keyMap.set(83,!1)),Math.abs(e)>.2?e<0?this._keyMap.set(65,!0):this._keyMap.set(68,!0):(this._keyMap.set(65,!1),this._keyMap.set(68,!1))}_checkButtons(t){t.buttons&&t.buttons[6]&&t.buttons[6].pressed?this._keyMap.set(16,!0):this._keyMap.set(16,!1),t.buttons&&t.buttons[14]&&t.buttons[14].pressed?(this._keyMap.set(37,!0),this.dispatchEvent(1)):this._keyMap.set(37,!1),t.buttons&&t.buttons[15]&&t.buttons[15].pressed?(this._keyMap.set(39,!0),this.dispatchEvent(1)):this._keyMap.set(39,!1)}animateCamera(t){let e=this._cameraPosition,i=this._cameraRotation,s=this.getCamera(),n=position3VectorsAreEqual(e,s.position),a=rotationQuaternionsAreEqual(i,s.quaternion);if(!e||n&&a)return!1;let r=this.getCamera().position.clone(),o=Math.min(10*t,1);r.lerp(e,o),this.getCamera().position.copy(r);let h=this.getCamera().quaternion.clone(),_=Math.min(5*t,1);h.slerp(i,_),this.getCamera().setRotationFromQuaternion(h);let d=!1;return this._keyMap.forEach(t=>{t&&(d=!0)}),d&&this._processKeyMap(this._keyMap,t),!0}_getCamera(){return this._camera}_initInputListener(){window.addEventListener("keyup",this._onKeyChanged.bind(this),!1),window.addEventListener("keydown",this._onKeyChanged.bind(this),!1),this._inputListeners.push({key:3,fun:t=>{this._down(t)}}),this._inputListeners.push({key:6,fun:t=>{this._move(t)}}),this._inputListeners.push({key:4,fun:t=>{this._up(t)}})}_down(t){this._downPosition=t.position,this._position=t.position,this._state=1,2===t.type&&window.setTimeout(this._onLongDown.bind(this),350),2===t.type?this._rotationSpeed=.6:this._rotationSpeed=1}_move(t){this._position=t.position,1!==this._state||this._locked||this._orbit(new THREE.Vector2(t.position.x,t.position.y)),2!==this._state||this._locked||(this._orbit(new THREE.Vector2(t.position.x,t.position.y)),this._moveForward())}_up(t){1===this._state&&this.dispatchEvent(2),2===this._state&&this._keyMap.set(87,!1),this._state=0,this._orbitPosition=null}_onLongDown(){getDelta(this._downPosition,this._position)<MIN_MOVE_DISTANCE&&1===this._state&&(this._state=2,this._orbit(new THREE.Vector2(this._position.x,this._position.y)),this._moveForward())}_update(t){let e=new THREE.Euler(-this._pitch,this._yaw,0,"ZYX");this._cameraRotation.setFromEuler(e)}updateCamera(){let{x:t,y:e}=this._domHelper.getClientDimensions();this._camera.aspect=t/e,this._camera.updateProjectionMatrix()}_onKeyChanged(t){this._keyMap.set(t.keyCode,"keydown"===t.type),this.dispatchEvent(6),this._processKeyMap(this._keyMap,.001)&&t.preventDefault()}_processKeyMap(t,e){e=Math.min(e,.1);let i=new THREE.Vector3(0,0,0),s=!1;return this._processUpDown(t,i,e),t.get(65)&&(i.x=-1*e),t.get(68)&&(i.x=1*e),t.get(37)&&(this._rotateHorizontal(-KEYBOARD_ROTATION_ANGLE*this._rotationSpeed*e),s=!0),t.get(39)&&(this._rotateHorizontal(KEYBOARD_ROTATION_ANGLE*this._rotationSpeed*e),s=!0),t.get(16)&&(i.x*=3,i.z*=3),!(0===i.x&&0===i.y&&0===i.z&&!s||(i.applyQuaternion(this.getCamera().quaternion),this._cameraPosition.add(new THREE.Vector3(i.x,0,i.z)),this._update(),0))}_processUpDown(t,e,i){(t.get(87)||t.get(38))&&(e.z=-1*i),(t.get(83)||t.get(40))&&(e.z=1*i)}_orbit(t){this._orbitPosition||(this._orbitPosition=new THREE.Vector2(t.x,t.y),this.dispatchEvent(0));let e=t.clone().sub(this._orbitPosition),i=this._domHelper.element instanceof Document?this._domHelper.element.body:this._domHelper.element;e.multiplyScalar(-1),this._rotateHorizontal(2*Math.PI*e.x/i.clientWidth*1),this._rotateVertical(2*Math.PI*e.y/i.clientHeight*1),position2VectorsAreEqual(this._orbitPosition,t)||this.dispatchEvent(1),this._orbitPosition.copy(t),this._update()}_moveForward(){this._keyMap.set(87,!0),this._processKeyMap(this._keyMap,.001)}_rotateVertical(t){let e=this._pitch+t;e>this.maxPolarAngle||e<this.minPolarAngle||(this._pitch=e,this._pitch<-Math.PI?this._pitch+=2*Math.PI:this._pitch>Math.PI&&(this._pitch-=2*Math.PI),this._saveYawAndPitch())}}let SceneManager=(()=>{class t{constructor(t,e,i,s,n){this._maxAnisotropy=1,this._clock=new THREE.Clock,this._delta=0,this._renderListener=null,this._stopRendering=!1,this._forceRender=!1,this._updateShadowsAndAO=!0,this._lastChange=Date.now(),this._running=!1,this._onAfterRender=()=>{},this._creator_=t,this._canvasID=i,this.createCameraControl(s),this._addCameraControlListener(),this._setupScene(e,n),document.addEventListener("visibilitychange",this._tabVisible.bind(this)),this._renderListener=()=>{this._requestRender()},this._getInputManager().addEventListener(7,this._renderListener,this),this._getInputManager().addEventListener(8,this._renderListener,this),this._lifeCycleManager.addEventListener(this)}onBeforeRender(){}_changeCameraControl(t){this._cameraControl&&this._cameraControl.cleanUp(),t instanceof CameraControlFirstPerson&&(this._getInputManager().removeEventListener(7,this._renderListener),this._getInputManager().removeEventListener(8,this._renderListener)),this._cameraControl instanceof CameraControlFirstPerson&&(this._getInputManager().addEventListener(7,this._renderListener,this),this._getInputManager().addEventListener(8,this._renderListener,this)),this._cameraControl=t,this.cameraControlChanged()}cameraControlChanged(){}_addCameraControlListener(){this._cameraControl.addEventListener(0,this._requestRender,this),this._cameraControl.addEventListener(1,this._requestRender,this),this._cameraControl.addEventListener(2,this._requestRender,this),this._cameraControl.addEventListener(6,this._requestRender,this)}_renderEverything(){this._pixotron&&(this._forceRender=!0,this._updateShadowsAndAO=!0),this._requestRender()}_renderWithoutShadowsAndAO(){this._pixotron&&(this._forceRender=!0,this._updateShadowsAndAO=!1),this._requestRender()}_requestRender(){if(!this._renderer)return;const t=()=>{this._delta=this._clock.getDelta(),this._animateCamera(),this._cameraControl.getCamera().layers.mask=65535,this._renderLoopFunction&&(this._renderLoopFunction(),this._renderLoopFunction=null),this.onBeforeRender(),this._statsHelper&&this._statsHelper.updateRenderInfo(this._renderer.info),this._pixotron?(this._pixotron.autoShadowsClear=this._updateShadowsAndAO,this._pixotron.autoSAOClear=this._updateShadowsAndAO,this._forceRender&&(this._pixotron.needsUpdate=!0),this._pixotron.render(this._renderer,this._scene,this._cameraControl.getCamera(),this._renderTarget),this._forceRender=!1,this._updateShadowsAndAO=!0,this._pixotron.blit()):(this._renderer.clear(),this._renderer.render(this._scene,this._cameraControl.getCamera()),this._renderer.clearDepth()),this._onAfterRender(),window.TWEEN&&TWEEN.update(),this._lastChange+3e3<Date.now()||this._stopRendering?this._running=!1:(this._running=!0,requestAnimationFrame(t))};this._lastChange=Date.now(),this._running||this._stopRendering||(this._running=!0,requestAnimationFrame(t))}_animateCamera(){this._cameraControl&&(this._cameraControl.animateCamera(this._delta)||!this._pixotron||this._forceRender?(this._lightSetting instanceof DynamicLightSetting&&this._cameraControl.getCamera()instanceof THREE.PerspectiveCamera&&this._lightSetting.update(this._cameraControl.getCamera(),this._cameraControl.getTargetPosition()),this._pixotron&&(this._pixotron.needsUpdate=!0)):(this._pixotron.autoShadowsClear=!1,this._pixotron.autoSAOClear=!1)),this._environment&&this._environment.needsCamera()&&this._cameraControl instanceof CameraControl3D&&this._environment.updateCamera(this._cameraControl.getCamera())}_setupScene(t,e){const{x:i,y:s}=this._domHelper.getClientDimensions();this._scene=new THREE.Scene,(e=e||!1)||(this._scene.background=new THREE.Color(this._initData.colors.DEFAULT_BACKGROUND)),THREE.Math={DEG2RAD:THREE.MathUtils.DEG2RAD};const n={format:THREE.RGBAFormat,minFilter:THREE.NearestFilter,magFilter:THREE.NearestFilter},a=THREE.sRGBEncoding,r=Math.floor(i*window.devicePixelRatio),o=Math.floor(s*window.devicePixelRatio);isWebGl2()?this._renderTarget=new THREE.WebGLMultisampleRenderTarget(r,o,n):this._renderTarget=new THREE.WebGLRenderTarget(r,o,n),this._renderTarget.texture.encoding=a,this._renderer=new THREE.WebGLRenderer({antialias:!0,alpha:!0}),this._renderer.setPixelRatio(window.devicePixelRatio),this._renderer.setSize(i,s),this._renderer.outputEncoding=THREE.sRGBEncoding,this._renderer.gammaFactor=2.2,this._renderer.autoClear=!1,this._renderer.shadowMap.enabled=!0,this._renderer.shadowMap.type=THREE.PCFSoftShadowMap,this._maxAnisotropy=this._renderer.capabilities.getMaxAnisotropy(),this._renderer.domElement.classList.add(this._canvasID),this._domHelper.element.appendChild(this._renderer.domElement),this._getInputManager().addEvents(this._renderer.domElement),this._environmentLoader.setRendererAndScene(this._renderer,this._scene),this._environmentLoader.registerEnvironmentChangedCallback(()=>this._requestRender()),this._requestRender(),window.addEventListener("resize",this,!1),window.addEventListener("keydown",this,!1),window.addEventListener("keyup",this,!1),this.sceneChanged()}_tabVisible(t){this.updateCamera(),this._renderEverything()}setupScene(t,e){this._setupScene(t,e)}updateCamera(){const{x:t,y:e}=this._domHelper.getClientDimensions();this._renderer.setSize(t,e);const i=this._renderer.getPixelRatio();if(this._renderTarget){const s=Math.floor(t*i),n=Math.floor(e*i);this._renderTarget.setSize(s,n)}if(this._pixotron){this._pixotron.autoShadowsClear=!0,this._pixotron.autoSAOClear=!0,this._forceRender=!0;try{this._pixotron.setSize(t,e)}catch(t){console.warn(t)}}this._cameraControl.updateCamera(),this._requestRender()}_onWindowResize(){const t=this._getInputManager();t&&t.updateSize(),this.updateCamera(),this._requestRender()}_isPartOfScene(t){return"Object3D"===t.type||"Mesh"===t.type||"GLB"===t.type||"GLTF"===t.type||"Group"===t.type}cleanUp(){this._getInputManager().removeEventListener(7,this._renderListener),this._getInputManager().removeEventListener(8,this._renderListener),this._cameraControl&&this._cameraControl.cleanUp()}clearScene(){let t=[];this._scene.children.forEach(e=>{this._isPartOfScene(e)&&t.push(e)}),t.forEach(t=>{dispose(t),this._scene.remove(t)}),this._renderer.renderLists.dispose()}enableHD(){this._pixotron=new window.PIXOTRON.Pixotron(this.getPixotronParams()),this._pixotronUtil=new PixotronUtil(this._pixotron),this._environment instanceof BakedShadowEnvironment&&(this._environment.setPixotron(this._pixotron,this._renderer,this._cameraControl.getCamera(),this.getBakedShadowParams()),this._environment.setLoadedCallback(()=>setTimeout(()=>this._requestRender(),500))),this._requestRender()}_loadGLTF(t,e,i,s,n,a,r){return new Promise((o,h)=>{this._staticItemLoader.loadGLTF(t,e,i,s,n,a,null,r).then(t=>{this._setCamera("GLTF",t),o(t)},h)})}_loadGLB(t,e,i,s,n,a,r,o){return new Promise((h,_)=>{this._staticItemLoader.loadGLB(t,e,i,s,n,a,r,o).then(t=>{this._setCamera("GLB",t),h(t)},_)})}_setCamera(t,e){if(!e)return void console.warn("could not set camera for gltf",e);const i=new THREE.Box3;i.setFromObject(e),"GLB"===t?this._cameraControl instanceof CameraControl3D&&this._cameraControl.updateToBounds(i,!1):"GLTF"===t&&(this._cameraControl instanceof CameraControl3D&&this._cameraControl.updateAndReset(i.getSize(new THREE.Vector3),i.getCenter(new THREE.Vector3),-15,70,5,!1),this._cameraControl instanceof CameraControl2D&&this._cameraControl.updateToBounds(i.getSize(new THREE.Vector3),i.getCenter(new THREE.Vector3))),this.updateCamera()}showGUI(){if(this._initData.disableDebugGUI)return;const t=document.createElement("style");t.innerText=".dg.main{position:absolute;z-index:100;top:0;left:0;}",document.head.appendChild(t),this._scriptLoader.fetch(DAT_GUI_FILE_NAME,{id:"dat-gui-js"}).then(()=>{let t=getGUI(!1);t&&(this._domHelper.element.appendChild(t.domElement),this._guiLoaded())},t=>console.error(t))}_guiLoaded(){let t=getGUI();t&&(this._lightSetting&&this._lightSetting.showGUI(),this._pixotron&&this._pixotronUtil.showGUI(),this._environment&&this._environment.showGUI(),this._addGUIListener(t))}_addGUIListener(t){let e=t.__folders;Object.keys(e).forEach(t=>{let i=e[t];i.__folders&&Object.keys(i.__folders).forEach(t=>{let i=e[t];this._addGUIListener(i)}),i.__controllers&&i.__controllers.forEach(t=>{t.onFinishChange(()=>{this._guiParamChanged()})})})}_guiParamChanged(){this._requestRender()}showStats(){import("./stats-helper-05e13a3f.js").then(t=>this._statsHelper=new t.default)}_onKeyDown(t){}_onKeyUp(t){}pause(){this._getInputManager().removeEvents(this._renderer.domElement),window.removeEventListener("resize",this,!1),window.removeEventListener("keydown",this,!1),window.removeEventListener("keyup",this,!1)}resume(){this.updateCamera(),this._renderer.domElement.classList.add(this._canvasID),this._domHelper.element.appendChild(this._renderer.domElement),this._getInputManager().addEvents(this._renderer.domElement),window.addEventListener("resize",this,!1),window.addEventListener("keydown",this,!1),window.addEventListener("keyup",this,!1),this._renderEverything()}destroy(){this.pause(),this.cleanUp()}handleEvent(t){switch(t.type){case"resize":this._onWindowResize();break;case"keydown":this._onKeyDown(t);break;case"keyup":this._onKeyUp(t)}}loadSceneSettings(t){let e,i;return e=t.environment?new Promise(e=>{(new DynamicEnvironmentSettingLoader).load(this._scene,this._renderer.domElement,this._environment,t).then(t=>{this._setEnvironment(t),e()})}):Promise.resolve(),t.lights?(this._lightSetting=new DynamicLightSetting(this._scene,this._lightSetting),i=this._lightSetting.loadFromObject(t)):i=Promise.resolve(),new Promise((t,s)=>{Promise.all([e,i]).then(()=>{this._requestRender(),t()},s)})}_setEnvironment(t){this._environment=t,this._pixotron&&this._environment instanceof BakedShadowEnvironment&&(this._environment.setPixotron(this._pixotron,this._renderer,this._cameraControl.getCamera(),this.getBakedShadowParams()),this._environment.setLoadedCallback(()=>setTimeout(()=>this._requestRender(),500)))}loadQualitySetting(t){this._pixotron&&(new DynamicQualitySettingLoader).set(this._pixotron,t)}async loadDynamicLightSetting(t){this._lightSetting=new DynamicLightSetting(this._scene,this._lightSetting);let e=!1;if(t.url)await this._lightSetting.loadFromURL(t.url),e=!0;else if(t.json)await this._lightSetting.loadFromJSON(t.json),e=!0;else if(t.object)await this._lightSetting.loadFromObject(t.object),e=!0;else if(t.ls){const i=DynamicLightSettingLoader.createDynamicLightSettingSource(null,t.ls);await this._lightSetting.loadFromURL(i.url),e=!0}if(!e)throw new Error("No dynamic light setting source set");this._requestRender()}getScene(){return this._scene}updateScene(){this._updateBounds(this.getBounds()),this._renderEverything()}_updateBounds(t){if(t){if(this.updateEnvironment(t),this._lightSetting&&this._lightSetting.needsBounds()&&this._lightSetting.updateBounds(t),this._pixotronUtil){const e=new THREE.Sphere;t.getBoundingSphere(e),this._pixotronUtil.updateBounds(e)}this._requestRender()}}setCameraOffset(t){const e=this._cameraControl.getCamera();e.offset?(e.offset=t,this._requestRender()):console.warn("Cannot set offset, current camera does not support it")}getCameraOffset(){const t=this._cameraControl.getCamera();return t.offset?JSON.parse(JSON.stringify(t.offset)):{left:0,top:0,right:1,bottom:1}}getPerspectiveOffsetCamera(){const t=this._domHelper.getClientDimensions(),e=t.x,i=t.y;return RoomleComponentFactoryInitializer().createCamera(30,e/i,.1,20)}updateEnvironment(t,e=!1){if(t&&this._environment&&this._environment.needsBounds()){const i=t.getSize(new THREE.Vector3);i.x+i.y+i.z!==0&&this._environment.updateBounds(t.getSize(new THREE.Vector3),e)}this._environment instanceof BakedShadowEnvironment&&this._environment.update()}}return __decorate([inject],t.prototype,"_domHelper",void 0),__decorate([inject],t.prototype,"_scriptLoader",void 0),__decorate([inject],t.prototype,"_lifeCycleManager",void 0),__decorate([inject],t.prototype,"_staticItemLoader",void 0),__decorate([inject],t.prototype,"_environmentLoader",void 0),__decorate([inject],t.prototype,"_initData",void 0),t})();export{CameraControl2D as C,SceneManager as S,CameraControlFirstPerson as a};
2
+ //# sourceMappingURL=scene-manager-bb58c8a3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-manager-bb58c8a3.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ var _scriptDir,ConfiguratorKernel=(_scriptDir="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(t){var n,r,e;t=t||{},n||(n=void 0!==t?t:{}),n.ready=new Promise((function(t,n){r=t,e=n}));var i=Object.assign({},n),a="./this.program",o=(t,n)=>{throw n},c="";"undefined"!=typeof document&&document.currentScript&&(c=document.currentScript.src),_scriptDir&&(c=_scriptDir),c=0!==c.indexOf("blob:")?c.substr(0,c.replace(/[?#].*/,"").lastIndexOf("/")+1):"";var u=n.print||console.log.bind(console),f=n.printErr||console.warn.bind(console);Object.assign(n,i),i=null,n.thisProgram&&(a=n.thisProgram),n.quit&&(o=n.quit);var s,l=0;n.wasmBinary&&(s=n.wasmBinary);var h=n.noExitRuntime||!0;"object"!=typeof WebAssembly&&$("no native wasm support detected");var b,v=!1,p="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function y(t,n,r){var e=n+r;for(r=n;t[r]&&!(r>=e);)++r;if(16<r-n&&t.subarray&&p)return p.decode(t.subarray(n,r));for(e="";n<r;){var i=t[n++];if(128&i){var a=63&t[n++];if(192==(224&i))e+=String.fromCharCode((31&i)<<6|a);else{var o=63&t[n++];65536>(i=224==(240&i)?(15&i)<<12|a<<6|o:(7&i)<<18|a<<12|o<<6|63&t[n++])?e+=String.fromCharCode(i):(i-=65536,e+=String.fromCharCode(55296|i>>10,56320|1023&i))}}else e+=String.fromCharCode(i)}return e}function d(t,n,r,e){if(0<e){e=r+e-1;for(var i=0;i<t.length;++i){var a=t.charCodeAt(i);if(55296<=a&&57343>=a&&(a=65536+((1023&a)<<10)|1023&t.charCodeAt(++i)),127>=a){if(r>=e)break;n[r++]=a}else{if(2047>=a){if(r+1>=e)break;n[r++]=192|a>>6}else{if(65535>=a){if(r+2>=e)break;n[r++]=224|a>>12}else{if(r+3>=e)break;n[r++]=240|a>>18,n[r++]=128|a>>12&63}n[r++]=128|a>>6&63}n[r++]=128|63&a}}n[r]=0}}function g(t){for(var n=0,r=0;r<t.length;++r){var e=t.charCodeAt(r);55296<=e&&57343>=e&&(e=65536+((1023&e)<<10)|1023&t.charCodeAt(++r)),127>=e?++n:n=2047>=e?n+2:65535>=e?n+3:n+4}return n}var m,w,T,_,R,A,C,S,W,j="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function P(t,n){for(var r=t>>1,e=r+n/2;!(r>=e)&&R[r];)++r;if(32<(r<<=1)-t&&j)return j.decode(T.subarray(t,r));for(r="",e=0;!(e>=n/2);++e){var i=_[t+2*e>>1];if(0==i)break;r+=String.fromCharCode(i)}return r}function k(t,n,r){if(void 0===r&&(r=2147483647),2>r)return 0;var e=n;r=(r-=2)<2*t.length?r/2:t.length;for(var i=0;i<r;++i)_[n>>1]=t.charCodeAt(i),n+=2;return _[n>>1]=0,n-e}function Q(t){return 2*t.length}function D(t,n){for(var r=0,e="";!(r>=n/4);){var i=A[t+4*r>>2];if(0==i)break;++r,65536<=i?(i-=65536,e+=String.fromCharCode(55296|i>>10,56320|1023&i)):e+=String.fromCharCode(i)}return e}function F(t,n,r){if(void 0===r&&(r=2147483647),4>r)return 0;var e=n;r=e+r-4;for(var i=0;i<t.length;++i){var a=t.charCodeAt(i);if(55296<=a&&57343>=a&&(a=65536+((1023&a)<<10)|1023&t.charCodeAt(++i)),A[n>>2]=a,(n+=4)+4>r)break}return A[n>>2]=0,n-e}function E(t){for(var n=0,r=0;r<t.length;++r){var e=t.charCodeAt(r);55296<=e&&57343>=e&&++r,n+=4}return n}function O(){var t=b.buffer;m=t,n.HEAP8=w=new Int8Array(t),n.HEAP16=_=new Int16Array(t),n.HEAP32=A=new Int32Array(t),n.HEAPU8=T=new Uint8Array(t),n.HEAPU16=R=new Uint16Array(t),n.HEAPU32=C=new Uint32Array(t),n.HEAPF32=S=new Float32Array(t),n.HEAPF64=W=new Float64Array(t)}var U,M=[],x=[],Y=[],I=[];function V(){var t=n.preRun.shift();M.unshift(t)}var H,B=0,X=null,Z=null;function $(t){throw n.onAbort&&n.onAbort(t),f(t="Aborted("+t+")"),v=!0,t=new WebAssembly.RuntimeError(t+". Build with -s ASSERTIONS=1 for more info."),e(t),t}function z(){return H.startsWith("data:application/octet-stream;base64,")}if(n.preloadedImages={},n.preloadedAudios={},H="ConfiguratorKernel.wasm",!z()){var q=H;H=n.locateFile?n.locateFile(q,c):c+q}function N(){var t=H;try{if(t==H&&s)return new Uint8Array(s);throw"both async and sync fetching of the wasm failed"}catch(t){$(t)}}function K(t){for(;0<t.length;){var r=t.shift();if("function"==typeof r)r(n);else{var e=r.hd;"number"==typeof e?void 0===r.xc?L(e)():L(e)(r.xc):e(void 0===r.xc?null:r.xc)}}}function L(t){return U.get(t)}function G(t){this.Ec=t,this.Rb=t-16,this.vc=function(t){A[this.Rb+4>>2]=t},this.kc=function(){return A[this.Rb+4>>2]},this.bc=function(t){A[this.Rb+8>>2]=t},this.Pc=function(){return A[this.Rb+8>>2]},this.dc=function(){A[this.Rb>>2]=0},this.Cc=function(t){w[this.Rb+12>>0]=t?1:0},this.Oc=function(){return 0!=w[this.Rb+12>>0]},this.rc=function(t){w[this.Rb+13>>0]=t?1:0},this.Gc=function(){return 0!=w[this.Rb+13>>0]},this.ac=function(t,n){this.vc(t),this.bc(n),this.dc(),this.Cc(!1),this.rc(!1)},this.wc=function(){A[this.Rb>>2]+=1},this.Yc=function(){var t=A[this.Rb>>2];return A[this.Rb>>2]=t-1,1===t}}function J(t){this.yc=function(){Pn(this.Rb),this.Rb=0},this.bc=function(t){A[this.Rb>>2]=t},this.fc=function(){return A[this.Rb>>2]},this.ac=function(t){A[this.Rb+4>>2]=t},this.dc=function(){return this.Rb+4},this.vc=function(){return A[this.Rb+4>>2]},this.Ic=function(){if(Mn(this.hc().kc()))return A[this.fc()>>2];var t=this.vc();return 0!==t?t:this.fc()},this.hc=function(){return new G(this.fc())},void 0===t?(this.Rb=kn(8),this.ac(0)):this.Rb=t}var tt=[],nt=0;function rt(t){return Pn(new G(t).Rb)}function et(t){if(t.Yc()&&!t.Gc()){var n=t.Pc();n&&L(n)(t.Ec),rt(t.Ec)}}var it=0;function at(){var t=tt.pop();t||$("no exception to throw");var n=t.hc(),r=t.fc();throw n.Gc()?t.yc():(tt.push(t),n.rc(!0),n.Cc(!1),nt++),it=r,r}var ot={};function ct(t){for(;t.length;){var n=t.pop();t.pop()(n)}}function ut(t){return this.fromWireType(C[t>>2])}var ft={},st={},lt={};function ht(t){if(void 0===t)return"_unknown";var n=(t=t.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return 48<=n&&57>=n?"_"+t:t}function bt(t,n){return t=ht(t),new Function("body","return function "+t+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(n)}function vt(t){var n=Error,r=bt(t,(function(n){this.name=t,this.message=n,void 0!==(n=Error(n).stack)&&(this.stack=this.toString()+"\n"+n.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(n.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},r}var pt=void 0;function yt(t){throw new pt(t)}function dt(t,n,r){function e(n){(n=r(n)).length!==t.length&&yt("Mismatched type converter count");for(var e=0;e<t.length;++e)Rt(t[e],n[e])}t.forEach((function(t){lt[t]=n}));var i=Array(n.length),a=[],o=0;n.forEach((function(t,n){st.hasOwnProperty(t)?i[n]=st[t]:(a.push(t),ft.hasOwnProperty(t)||(ft[t]=[]),ft[t].push((function(){i[n]=st[t],++o===a.length&&e(i)})))})),0===a.length&&e(i)}function gt(t){switch(t){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+t)}}var mt=void 0;function wt(t){for(var n="";T[t];)n+=mt[T[t++]];return n}var Tt=void 0;function _t(t){throw new Tt(t)}function Rt(t,n,r={}){if(!("argPackAdvance"in n))throw new TypeError("registerType registeredInstance requires argPackAdvance");var e=n.name;if(t||_t('type "'+e+'" must have a positive integer typeid pointer'),st.hasOwnProperty(t)){if(r.Tc)return;_t("Cannot register type '"+e+"' twice")}st[t]=n,delete lt[t],ft.hasOwnProperty(t)&&(n=ft[t],delete ft[t],n.forEach((function(t){t()})))}function At(t){_t(t.Qb.Tb.Sb.name+" instance already deleted")}var Ct=!1;function St(){}function Wt(t){--t.count.value,0===t.count.value&&(t.Vb?t.Yb.$b(t.Vb):t.Tb.Sb.$b(t.Rb))}var jt={},Pt=[];function kt(){for(;Pt.length;){var t=Pt.pop();t.Qb.ec=!1,t.delete()}}var Qt=void 0,Dt={};function Ft(t,n){return n.Tb&&n.Rb||yt("makeClassHandle requires ptr and ptrType"),!!n.Yb!=!!n.Vb&&yt("Both smartPtrType and smartPtr must be specified"),n.count={value:1},Et(Object.create(t,{Qb:{value:n}}))}function Et(t){return"undefined"==typeof FinalizationRegistry?(Et=t=>t,t):(Ct=new FinalizationRegistry(t=>{Wt(t.Qb)}),St=t=>{Ct.unregister(t)},(Et=t=>{var n=t.Qb;return n.Vb&&Ct.register(t,{Qb:n},t),t})(t))}function Ot(){}function Ut(t,n,r){if(void 0===t[n].Ub){var e=t[n];t[n]=function(){return t[n].Ub.hasOwnProperty(arguments.length)||_t("Function '"+r+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+t[n].Ub+")!"),t[n].Ub[arguments.length].apply(this,arguments)},t[n].Ub=[],t[n].Ub[e.oc]=e}}function Mt(t,r,e){n.hasOwnProperty(t)?((void 0===e||void 0!==n[t].Ub&&void 0!==n[t].Ub[e])&&_t("Cannot register public name '"+t+"' twice"),Ut(n,t,t),n.hasOwnProperty(e)&&_t("Cannot register multiple overloads of a function with the same number of arguments ("+e+")!"),n[t].Ub[e]=r):(n[t]=r,void 0!==e&&(n[t].kd=e))}function xt(t,n,r,e,i,a,o,c){this.name=t,this.constructor=n,this.ic=r,this.$b=e,this.Zb=i,this.Mc=a,this.nc=o,this.Kc=c,this.Wc=[]}function Yt(t,n,r){for(;n!==r;)n.nc||_t("Expected null or instance of "+r.name+", got an instance of "+n.name),t=n.nc(t),n=n.Zb;return t}function It(t,n){return null===n?(this.zc&&_t("null is not a valid "+this.name),0):(n.Qb||_t('Cannot pass "'+on(n)+'" as a '+this.name),n.Qb.Rb||_t("Cannot pass deleted object as a pointer of type "+this.name),Yt(n.Qb.Rb,n.Qb.Tb.Sb,this.Sb))}function Vt(t,n){if(null===n){if(this.zc&&_t("null is not a valid "+this.name),this.qc){var r=this.Ac();return null!==t&&t.push(this.$b,r),r}return 0}if(n.Qb||_t('Cannot pass "'+on(n)+'" as a '+this.name),n.Qb.Rb||_t("Cannot pass deleted object as a pointer of type "+this.name),!this.pc&&n.Qb.Tb.pc&&_t("Cannot convert argument of type "+(n.Qb.Yb?n.Qb.Yb.name:n.Qb.Tb.name)+" to parameter type "+this.name),r=Yt(n.Qb.Rb,n.Qb.Tb.Sb,this.Sb),this.qc)switch(void 0===n.Qb.Vb&&_t("Passing raw pointer to smart pointer is illegal"),this.bd){case 0:n.Qb.Yb===this?r=n.Qb.Vb:_t("Cannot convert argument of type "+(n.Qb.Yb?n.Qb.Yb.name:n.Qb.Tb.name)+" to parameter type "+this.name);break;case 1:r=n.Qb.Vb;break;case 2:if(n.Qb.Yb===this)r=n.Qb.Vb;else{var e=n.clone();r=this.Xc(r,rn((function(){e.delete()}))),null!==t&&t.push(this.$b,r)}break;default:_t("Unsupporting sharing policy")}return r}function Ht(t,n){return null===n?(this.zc&&_t("null is not a valid "+this.name),0):(n.Qb||_t('Cannot pass "'+on(n)+'" as a '+this.name),n.Qb.Rb||_t("Cannot pass deleted object as a pointer of type "+this.name),n.Qb.Tb.pc&&_t("Cannot convert argument of type "+n.Qb.Tb.name+" to parameter type "+this.name),Yt(n.Qb.Rb,n.Qb.Tb.Sb,this.Sb))}function Bt(t,n,r,e,i,a,o,c,u,f,s){this.name=t,this.Sb=n,this.zc=r,this.pc=e,this.qc=i,this.Vc=a,this.bd=o,this.Hc=c,this.Ac=u,this.Xc=f,this.$b=s,i||void 0!==n.Zb?this.toWireType=Vt:(this.toWireType=e?It:Ht,this.Xb=null)}function Xt(t,r,e){n.hasOwnProperty(t)||yt("Replacing nonexistant public symbol"),void 0!==n[t].Ub&&void 0!==e?n[t].Ub[e]=r:(n[t]=r,n[t].oc=e)}function Zt(t,r){var e=(t=wt(t)).includes("j")?function(t,r){var e=[];return function(){if(e.length=0,Object.assign(e,arguments),t.includes("j")){var i=n["dynCall_"+t];i=e&&e.length?i.apply(null,[r].concat(e)):i.call(null,r)}else i=L(r).apply(null,e);return i}}(t,r):L(r);return"function"!=typeof e&&_t("unknown function pointer with signature "+t+": "+r),e}var $t=void 0;function zt(t){var n=wt(t=Qn(t));return Pn(t),n}function qt(t,n){var r=[],e={};throw n.forEach((function t(n){e[n]||st[n]||(lt[n]?lt[n].forEach(t):(r.push(n),e[n]=!0))})),new $t(t+": "+r.map(zt).join([", "]))}function Nt(t,n){for(var r=[],e=0;e<t;e++)r.push(A[(n>>2)+e]);return r}function Kt(t){var n=Function;if(!(n instanceof Function))throw new TypeError("new_ called with constructor type "+typeof n+" which is not a function");var r=bt(n.name||"unknownFunctionName",(function(){}));return r.prototype=n.prototype,r=new r,(t=n.apply(r,t))instanceof Object?t:r}function Lt(t,n,r,e,i){var a=n.length;2>a&&_t("argTypes array size mismatch! Must at least get return value and 'this' types!");var o=null!==n[1]&&null!==r,c=!1;for(r=1;r<n.length;++r)if(null!==n[r]&&void 0===n[r].Xb){c=!0;break}var u="void"!==n[0].name,f="",s="";for(r=0;r<a-2;++r)f+=(0!==r?", ":"")+"arg"+r,s+=(0!==r?", ":"")+"arg"+r+"Wired";t="return function "+ht(t)+"("+f+") {\nif (arguments.length !== "+(a-2)+") {\nthrowBindingError('function "+t+" called with ' + arguments.length + ' arguments, expected "+(a-2)+" args!');\n}\n",c&&(t+="var destructors = [];\n");var l=c?"destructors":"null";for(f="throwBindingError invoker fn runDestructors retType classParam".split(" "),e=[_t,e,i,ct,n[0],n[1]],o&&(t+="var thisWired = classParam.toWireType("+l+", this);\n"),r=0;r<a-2;++r)t+="var arg"+r+"Wired = argType"+r+".toWireType("+l+", arg"+r+"); // "+n[r+2].name+"\n",f.push("argType"+r),e.push(n[r+2]);if(o&&(s="thisWired"+(0<s.length?", ":"")+s),t+=(u?"var rv = ":"")+"invoker(fn"+(0<s.length?", ":"")+s+");\n",c)t+="runDestructors(destructors);\n";else for(r=o?1:2;r<n.length;++r)a=1===r?"thisWired":"arg"+(r-2)+"Wired",null!==n[r].Xb&&(t+=a+"_dtor("+a+"); // "+n[r].name+"\n",f.push(a+"_dtor"),e.push(n[r].Xb));return u&&(t+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),f.push(t+"}\n"),Kt(f).apply(null,e)}var Gt=[],Jt=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function tn(t){4<t&&0==--Jt[t].Bc&&(Jt[t]=void 0,Gt.push(t))}function nn(t){return t||_t("Cannot use deleted val. handle = "+t),Jt[t].value}function rn(t){switch(t){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var n=Gt.length?Gt.pop():Jt.length;return Jt[n]={Bc:1,value:t},n}}function en(t,n,r){switch(n){case 0:return function(t){return this.fromWireType((r?w:T)[t])};case 1:return function(t){return this.fromWireType((r?_:R)[t>>1])};case 2:return function(t){return this.fromWireType((r?A:C)[t>>2])};default:throw new TypeError("Unknown integer type: "+t)}}function an(t,n){var r=st[t];return void 0===r&&_t(n+" has unknown type "+zt(t)),r}function on(t){if(null===t)return"null";var n=typeof t;return"object"===n||"array"===n||"function"===n?t.toString():""+t}function cn(t,n){switch(n){case 2:return function(t){return this.fromWireType(S[t>>2])};case 3:return function(t){return this.fromWireType(W[t>>3])};default:throw new TypeError("Unknown float type: "+t)}}function un(t,n,r){switch(n){case 0:return r?function(t){return w[t]}:function(t){return T[t]};case 1:return r?function(t){return _[t>>1]}:function(t){return R[t>>1]};case 2:return r?function(t){return A[t>>2]}:function(t){return C[t>>2]};default:throw new TypeError("Unknown integer type: "+t)}}function fn(t,n){for(var r=Array(t),e=0;e<t;++e)r[e]=an(A[(n>>2)+e],"parameter "+e);return r}var sn={};function ln(t){var n=sn[t];return void 0===n?wt(t):n}var hn=[];function bn(){return"object"==typeof globalThis?globalThis:Function("return this")()}var vn=[],pn={},yn={};function dn(){if(!gn){var t,n={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:a||"./this.program"};for(t in yn)void 0===yn[t]?delete n[t]:n[t]=yn[t];var r=[];for(t in n)r.push(t+"="+n[t]);gn=r}return gn}var gn,mn=[null,[],[]],wn={};function Tn(t){return 0==t%4&&(0!=t%100||0==t%400)}function _n(t,n){for(var r=0,e=0;e<=n;r+=t[e++]);return r}var Rn=[31,29,31,30,31,30,31,31,30,31,30,31],An=[31,28,31,30,31,30,31,31,30,31,30,31];function Cn(t,n){for(t=new Date(t.getTime());0<n;){var r=t.getMonth(),e=(Tn(t.getFullYear())?Rn:An)[r];if(!(n>e-t.getDate())){t.setDate(t.getDate()+n);break}n-=e-t.getDate()+1,t.setDate(1),11>r?t.setMonth(r+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return t}pt=n.InternalError=vt("InternalError");for(var Sn=Array(256),Wn=0;256>Wn;++Wn)Sn[Wn]=String.fromCharCode(Wn);mt=Sn,Tt=n.BindingError=vt("BindingError"),Ot.prototype.isAliasOf=function(t){if(!(this instanceof Ot&&t instanceof Ot))return!1;var n=this.Qb.Tb.Sb,r=this.Qb.Rb,e=t.Qb.Tb.Sb;for(t=t.Qb.Rb;n.Zb;)r=n.nc(r),n=n.Zb;for(;e.Zb;)t=e.nc(t),e=e.Zb;return n===e&&r===t},Ot.prototype.clone=function(){if(this.Qb.Rb||At(this),this.Qb.lc)return this.Qb.count.value+=1,this;var t=Et,n=Object,r=n.create,e=Object.getPrototypeOf(this),i=this.Qb;return(t=t(r.call(n,e,{Qb:{value:{count:i.count,ec:i.ec,lc:i.lc,Rb:i.Rb,Tb:i.Tb,Vb:i.Vb,Yb:i.Yb}}}))).Qb.count.value+=1,t.Qb.ec=!1,t},Ot.prototype.delete=function(){this.Qb.Rb||At(this),this.Qb.ec&&!this.Qb.lc&&_t("Object already scheduled for deletion"),St(this),Wt(this.Qb),this.Qb.lc||(this.Qb.Vb=void 0,this.Qb.Rb=void 0)},Ot.prototype.isDeleted=function(){return!this.Qb.Rb},Ot.prototype.deleteLater=function(){return this.Qb.Rb||At(this),this.Qb.ec&&!this.Qb.lc&&_t("Object already scheduled for deletion"),Pt.push(this),1===Pt.length&&Qt&&Qt(kt),this.Qb.ec=!0,this},n.getInheritedInstanceCount=function(){return Object.keys(Dt).length},n.getLiveInheritedInstances=function(){var t,n=[];for(t in Dt)Dt.hasOwnProperty(t)&&n.push(Dt[t]);return n},n.flushPendingDeletes=kt,n.setDelayFunction=function(t){Qt=t,Pt.length&&Qt&&Qt(kt)},Bt.prototype.Nc=function(t){return this.Hc&&(t=this.Hc(t)),t},Bt.prototype.Dc=function(t){this.$b&&this.$b(t)},Bt.prototype.argPackAdvance=8,Bt.prototype.readValueFromPointer=ut,Bt.prototype.deleteObject=function(t){null!==t&&t.delete()},Bt.prototype.fromWireType=function(t){function n(){return this.qc?Ft(this.Sb.ic,{Tb:this.Vc,Rb:r,Yb:this,Vb:t}):Ft(this.Sb.ic,{Tb:this,Rb:t})}var r=this.Nc(t);if(!r)return this.Dc(t),null;var e=function(t,n){for(void 0===n&&_t("ptr should not be undefined");t.Zb;)n=t.nc(n),t=t.Zb;return Dt[n]}(this.Sb,r);if(void 0!==e)return 0===e.Qb.count.value?(e.Qb.Rb=r,e.Qb.Vb=t,e.clone()):(e=e.clone(),this.Dc(t),e);if(e=this.Sb.Mc(r),!(e=jt[e]))return n.call(this);e=this.pc?e.Jc:e.pointerType;var i=function t(n,r,e){return r===e?n:void 0===e.Zb||null===(n=t(n,r,e.Zb))?null:e.Kc(n)}(r,this.Sb,e.Sb);return null===i?n.call(this):this.qc?Ft(e.Sb.ic,{Tb:e,Rb:i,Yb:this,Vb:t}):Ft(e.Sb.ic,{Tb:e,Rb:i})},$t=n.UnboundTypeError=vt("UnboundTypeError"),n.count_emval_handles=function(){for(var t=0,n=5;n<Jt.length;++n)void 0!==Jt[n]&&++t;return t},n.get_first_emval=function(){for(var t=5;t<Jt.length;++t)if(void 0!==Jt[t])return Jt[t];return null};var jn={n:function(t){return kn(t+16)+16},p:function(t){var n=(t=new J(t)).hc();return n.Oc()||(n.Cc(!0),nt--),n.rc(!1),tt.push(t),n.wc(),t.Ic()},Na:function(t){throw f("Unexpected exception thrown, this is not properly supported - aborting"),v=!0,t},Ta:function(){if(!tt.length)return 0;var t=tt[tt.length-1];return t.hc().wc(),t.fc()},ta:function(t){t&&et(new G(t))},u:function(){Fn(0);var t=tt.pop();et(t.hc()),t.yc(),it=0},b:function(){var t=it;if(!t)return l=0;var n=new G(t).kc(),r=new J;if(r.bc(t),r.ac(t),!n)return l=0,0|r.Rb;t=Array.prototype.slice.call(arguments);for(var e=0;e<t.length;e++){var i=t[e];if(0===i||i===n)break;if(Un(i,n,r.dc()))return l=i,0|r.Rb}return l=n,0|r.Rb},h:function(){var t=it;if(!t)return l=0;var n=new G(t).kc(),r=new J;if(r.bc(t),r.ac(t),!n)return l=0,0|r.Rb;t=Array.prototype.slice.call(arguments);for(var e=0;e<t.length;e++){var i=t[e];if(0===i||i===n)break;if(Un(i,n,r.dc()))return l=i,0|r.Rb}return l=n,0|r.Rb},G:function(){var t=it;if(!t)return l=0;var n=new G(t).kc(),r=new J;if(r.bc(t),r.ac(t),!n)return l=0,0|r.Rb;t=Array.prototype.slice.call(arguments);for(var e=0;e<t.length;e++){var i=t[e];if(0===i||i===n)break;if(Un(i,n,r.dc()))return l=i,0|r.Rb}return l=n,0|r.Rb},za:function(){var t=it;if(!t)return l=0;var n=new G(t).kc(),r=new J;if(r.bc(t),r.ac(t),!n)return l=0,0|r.Rb;t=Array.prototype.slice.call(arguments);for(var e=0;e<t.length;e++){var i=t[e];if(0===i||i===n)break;if(Un(i,n,r.dc()))return l=i,0|r.Rb}return l=n,0|r.Rb},o:rt,sa:function(t){t&&new G(t).wc()},ra:at,Sa:function(t){if(t){var n=new J;n.bc(t),t=n.hc(),tt.push(n),t.rc(!0),at()}},F:function(t,n,r){throw new G(t).ac(n,r),it=t,nt++,t},Ua:function(){return nt},e:function(t){var n=(t=new J(t)).fc();throw it||(it=n),t.yc(),n},ab:function(t){var n=ot[t];delete ot[t];var r=n.Ac,e=n.$b,i=n.Fc;dt([t],i.map((function(t){return t.Sc})).concat(i.map((function(t){return t.$c}))),(function(t){var a={};return i.forEach((function(n,r){var e=t[r],o=n.Qc,c=n.Rc,u=t[r+i.length],f=n.Zc,s=n.ad;a[n.Lc]={read:function(t){return e.fromWireType(o(c,t))},write:function(t,n){var r=[];f(s,t,u.toWireType(r,n)),ct(r)}}})),[{name:n.name,fromWireType:function(t){var n,r={};for(n in a)r[n]=a[n].read(t);return e(t),r},toWireType:function(t,n){for(var i in a)if(!(i in n))throw new TypeError('Missing field: "'+i+'"');var o=r();for(i in a)a[i].write(o,n[i]);return null!==t&&t.push(e,o),o},argPackAdvance:8,readValueFromPointer:ut,Xb:e}]}))},kb:function(){},Ya:function(t,n,r,e,i){var a=gt(r);Rt(t,{name:n=wt(n),fromWireType:function(t){return!!t},toWireType:function(t,n){return n?e:i},argPackAdvance:8,readValueFromPointer:function(t){if(1===r)var e=w;else if(2===r)e=_;else{if(4!==r)throw new TypeError("Unknown boolean type size: "+n);e=A}return this.fromWireType(e[t>>a])},Xb:null})},y:function(t,n,r,e,i,a,o,c,u,f,s,l,h){s=wt(s),a=Zt(i,a),c&&(c=Zt(o,c)),f&&(f=Zt(u,f)),h=Zt(l,h);var b=ht(s);Mt(b,(function(){qt("Cannot construct "+s+" due to unbound types",[e])})),dt([t,n,r],e?[e]:[],(function(n){if(n=n[0],e)var r=n.Sb,i=r.ic;else i=Ot.prototype;n=bt(b,(function(){if(Object.getPrototypeOf(this)!==o)throw new Tt("Use 'new' to construct "+s);if(void 0===u.cc)throw new Tt(s+" has no accessible constructor");var t=u.cc[arguments.length];if(void 0===t)throw new Tt("Tried to invoke ctor of "+s+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(u.cc).toString()+") parameters instead!");return t.apply(this,arguments)}));var o=Object.create(i,{constructor:{value:n}});n.prototype=o;var u=new xt(s,n,o,h,r,a,c,f);r=new Bt(s,u,!0,!1,!1),i=new Bt(s+"*",u,!1,!1,!1);var l=new Bt(s+" const*",u,!1,!0,!1);return jt[t]={pointerType:i,Jc:l},Xt(b,n),[r,i,l]}))},x:function(t,n,r,e,i,a){0<n||$(void 0);var o=Nt(n,r);i=Zt(e,i),dt([],[t],(function(t){var r="constructor "+(t=t[0]).name;if(void 0===t.Sb.cc&&(t.Sb.cc=[]),void 0!==t.Sb.cc[n-1])throw new Tt("Cannot register multiple constructors with identical number of parameters ("+(n-1)+") for class '"+t.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return t.Sb.cc[n-1]=()=>{qt("Cannot construct "+t.name+" due to unbound types",o)},dt([],o,(function(e){return e.splice(1,0,null),t.Sb.cc[n-1]=Lt(r,e,null,i,a),[]})),[]}))},m:function(t,n,r,e,i,a,o,c){var u=Nt(r,e);n=wt(n),a=Zt(i,a),dt([],[t],(function(t){function e(){qt("Cannot call "+i+" due to unbound types",u)}var i=(t=t[0]).name+"."+n;n.startsWith("@@")&&(n=Symbol[n.substring(2)]),c&&t.Sb.Wc.push(n);var f=t.Sb.ic,s=f[n];return void 0===s||void 0===s.Ub&&s.className!==t.name&&s.oc===r-2?(e.oc=r-2,e.className=t.name,f[n]=e):(Ut(f,n,i),f[n].Ub[r-2]=e),dt([],u,(function(e){return e=Lt(i,e,t,a,o),void 0===f[n].Ub?(e.oc=r-2,f[n]=e):f[n].Ub[r-2]=e,[]})),[]}))},Xa:function(t,n){Rt(t,{name:n=wt(n),fromWireType:function(t){var n=nn(t);return tn(t),n},toWireType:function(t,n){return rn(n)},argPackAdvance:8,readValueFromPointer:ut,Xb:null})},Z:function(t,n,r,e){function i(){}r=gt(r),n=wt(n),i.values={},Rt(t,{name:n,constructor:i,fromWireType:function(t){return this.constructor.values[t]},toWireType:function(t,n){return n.value},argPackAdvance:8,readValueFromPointer:en(n,r,e),Xb:null}),Mt(n,i)},Y:function(t,n,r){var e=an(t,"enum");n=wt(n),t=e.constructor,e=Object.create(e.constructor.prototype,{value:{value:r},constructor:{value:bt(e.name+"_"+n,(function(){}))}}),t.values[r]=e,t[n]=e},ua:function(t,n,r){r=gt(r),Rt(t,{name:n=wt(n),fromWireType:function(t){return t},toWireType:function(t,n){return n},argPackAdvance:8,readValueFromPointer:cn(n,r),Xb:null})},X:function(t,n,r,e,i,a){var o=Nt(n,r);t=wt(t),i=Zt(e,i),Mt(t,(function(){qt("Cannot call "+t+" due to unbound types",o)}),n-1),dt([],o,(function(r){return Xt(t,Lt(t,[r[0],null].concat(r.slice(1)),null,i,a),n-1),[]}))},M:function(t,n,r,e,i){n=wt(n),-1===i&&(i=4294967295),i=gt(r);var a=t=>t;if(0===e){var o=32-8*r;a=t=>t<<o>>>o}r=n.includes("unsigned")?function(t,n){return n>>>0}:function(t,n){return n},Rt(t,{name:n,fromWireType:a,toWireType:r,argPackAdvance:8,readValueFromPointer:un(n,i,0!==e),Xb:null})},H:function(t,n,r){function e(t){var n=C;return new i(m,n[1+(t>>=2)],n[t])}var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][n];Rt(t,{name:r=wt(r),fromWireType:e,argPackAdvance:8,readValueFromPointer:e},{Tc:!0})},wa:function(t,n,r,e,i,a,o,c,u,f,s,l){r=wt(r),a=Zt(i,a),c=Zt(o,c),f=Zt(u,f),l=Zt(s,l),dt([t],[n],(function(t){return t=t[0],[new Bt(r,t.Sb,!1,!1,!0,t,e,a,c,f,l)]}))},va:function(t,n){var r="std::string"===(n=wt(n));Rt(t,{name:n,fromWireType:function(t){var n=C[t>>2];if(r)for(var e=t+4,i=0;i<=n;++i){var a=t+4+i;if(i==n||0==T[a]){if(e=e?y(T,e,a-e):"",void 0===o)var o=e;else o+=String.fromCharCode(0),o+=e;e=a+1}}else{for(o=Array(n),i=0;i<n;++i)o[i]=String.fromCharCode(T[t+4+i]);o=o.join("")}return Pn(t),o},toWireType:function(t,n){n instanceof ArrayBuffer&&(n=new Uint8Array(n));var e="string"==typeof n;e||n instanceof Uint8Array||n instanceof Uint8ClampedArray||n instanceof Int8Array||_t("Cannot pass non-string to std::string");var i=(r&&e?()=>g(n):()=>n.length)(),a=kn(4+i+1);if(C[a>>2]=i,r&&e)d(n,T,a+4,i+1);else if(e)for(e=0;e<i;++e){var o=n.charCodeAt(e);255<o&&(Pn(a),_t("String has UTF-16 code units that do not fit in 8 bits")),T[a+4+e]=o}else for(e=0;e<i;++e)T[a+4+e]=n[e];return null!==t&&t.push(Pn,a),a},argPackAdvance:8,readValueFromPointer:ut,Xb:function(t){Pn(t)}})},ha:function(t,n,r){if(r=wt(r),2===n)var e=P,i=k,a=Q,o=()=>R,c=1;else 4===n&&(e=D,i=F,a=E,o=()=>C,c=2);Rt(t,{name:r,fromWireType:function(t){for(var r,i=C[t>>2],a=o(),u=t+4,f=0;f<=i;++f){var s=t+4+f*n;f!=i&&0!=a[s>>c]||(u=e(u,s-u),void 0===r?r=u:(r+=String.fromCharCode(0),r+=u),u=s+n)}return Pn(t),r},toWireType:function(t,e){"string"!=typeof e&&_t("Cannot pass non-string to C++ string type "+r);var o=a(e),u=kn(4+o+n);return C[u>>2]=o>>c,i(e,u+4,o+n),null!==t&&t.push(Pn,u),u},argPackAdvance:8,readValueFromPointer:ut,Xb:function(t){Pn(t)}})},z:function(t,n,r,e,i,a){ot[t]={name:wt(n),Ac:Zt(r,e),$b:Zt(i,a),Fc:[]}},s:function(t,n,r,e,i,a,o,c,u,f){ot[t].Fc.push({Lc:wt(n),Sc:r,Qc:Zt(e,i),Rc:a,$c:o,Zc:Zt(c,u),ad:f})},Za:function(t,n){Rt(t,{Uc:!0,name:n=wt(n),argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},db:function(t,n,r){t=nn(t),n=an(n,"emval::as");var e=[],i=rn(e);return A[r>>2]=i,n.toWireType(e,t)},$a:function(t,n,r,e){t=nn(t),r=fn(n,r);for(var i=Array(n),a=0;a<n;++a){var o=r[a];i[a]=o.readValueFromPointer(e),e+=o.argPackAdvance}return rn(t=t.apply(void 0,i))},Q:function(t,n,r,e,i){t=hn[t],n=nn(n),r=ln(r);var a=[];return A[e>>2]=rn(a),t(n,r,a,i)},E:function(t,n,r,e){(t=hn[t])(n=nn(n),r=ln(r),null,e)},ia:tn,Ha:function(t){return 0===t?rn(bn()):(t=ln(t),rn(bn()[t]))},v:function(t,n){var r=fn(t,n),e=r[0];n=e.name+"_$"+r.slice(1).map((function(t){return t.name})).join("_")+"$";var i=vn[n];if(void 0!==i)return i;i=["retType"];for(var a=[e],o="",c=0;c<t-1;++c)o+=(0!==c?", ":"")+"arg"+c,i.push("argType"+c),a.push(r[1+c]);var u="return function "+ht("methodCaller_"+n)+"(handle, name, destructors, args) {\n",f=0;for(c=0;c<t-1;++c)u+=" var arg"+c+" = argType"+c+".readValueFromPointer(args"+(f?"+"+f:"")+");\n",f+=r[c+1].argPackAdvance;for(u+=" var rv = handle[name]("+o+");\n",c=0;c<t-1;++c)r[c+1].deleteObject&&(u+=" argType"+c+".deleteObject(arg"+c+");\n");return e.Uc||(u+=" return retType.toWireType(destructors, rv);\n"),i.push(u+"};\n"),i=function(t){var n=hn.length;return hn.push(t),n}(t=Kt(i).apply(null,a)),vn[n]=i},eb:function(t){return t=ln(t),rn(n[t])},ob:function(t,n){return rn((t=nn(t))[n=nn(n)])},Ca:function(t){4<t&&(Jt[t].Bc+=1)},cb:function(t,r,e,i){t=nn(t);var a=pn[r];if(!a){a="";for(var o=0;o<r;++o)a+=(0!==o?", ":"")+"arg"+o;var c="return function emval_allocator_"+r+"(constructor, argTypes, args) {\n";for(o=0;o<r;++o)c+="var argType"+o+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+o+'], "parameter '+o+'");\nvar arg'+o+" = argType"+o+".readValueFromPointer(args);\nargs += argType"+o+"['argPackAdvance'];\n";a=new Function("requireRegisteredType","Module","valueToHandle",c+"var obj = new constructor("+a+");\nreturn valueToHandle(obj);\n}\n")(an,n,rn),pn[r]=a}return a(t,e,i)},_a:function(){return rn([])},lb:function(t){return rn(ln(t))},La:function(t){ct(nn(t)),tn(t)},bb:function(t,n){return(t=nn(t))===nn(n)},A:function(t,n){return rn(t=(t=an(t,"_emval_take_value")).readValueFromPointer(n))},fa:function(){$("")},ga:function(t){var n=T.length;if(2147483648<(t>>>=0))return!1;for(var r=1;4>=r;r*=2){var e=n*(1+.2/r);e=Math.min(e,t+100663296);var i=Math;e=Math.max(t,e),i=i.min.call(i,2147483648,e+(65536-e%65536)%65536);t:{try{b.grow(i-m.byteLength+65535>>>16),O();var a=1;break t}catch(t){}a=void 0}if(a)return!0}return!1},Va:function(t,n){var r=0;return dn().forEach((function(e,i){var a=n+r;for(i=A[t+4*i>>2]=a,a=0;a<e.length;++a)w[i++>>0]=e.charCodeAt(a);w[i>>0]=0,r+=e.length+1})),0},Wa:function(t,n){var r=dn();A[t>>2]=r.length;var e=0;return r.forEach((function(t){e+=t.length+1})),A[n>>2]=e,0},Pa:function(){return 0},Ra:function(t,n,r,e){return t=wn.jd(t),n=wn.gd(t,n,r),A[e>>2]=n,0},jb:function(){},Qa:function(t,n,r,e){for(var i=0,a=0;a<r;a++){var o=A[n>>2],c=A[n+4>>2];n+=8;for(var s=0;s<c;s++){var l=T[o+s],h=mn[t];0===l||10===l?((1===t?u:f)(y(h,0)),h.length=0):h.push(l)}i+=c}return A[e>>2]=i,0},a:function(){return l},Ma:function(t,n){var r=En();try{return L(t)(n)}catch(t){if(On(r),t!==t+0)throw t;Fn(1,0)}},ma:function(t,n,r){var e=En();try{return L(t)(n,r)}catch(t){if(On(e),t!==t+0)throw t;Fn(1,0)}},mb:function(t,n,r,e){var i=En();try{return L(t)(n,r,e)}catch(t){if(On(i),t!==t+0)throw t;Fn(1,0)}},B:function(t,n){var r=En();try{return L(t)(n)}catch(t){if(On(r),t!==t+0)throw t;Fn(1,0)}},pb:function(t,n,r){var e=En();try{return L(t)(n,r)}catch(t){if(On(e),t!==t+0)throw t;Fn(1,0)}},sb:function(t,n,r,e){var i=En();try{return L(t)(n,r,e)}catch(t){if(On(i),t!==t+0)throw t;Fn(1,0)}},R:function(t,n,r){var e=En();try{return L(t)(n,r)}catch(t){if(On(e),t!==t+0)throw t;Fn(1,0)}},J:function(t,n,r,e){var i=En();try{return L(t)(n,r,e)}catch(t){if(On(i),t!==t+0)throw t;Fn(1,0)}},W:function(t){var n=En();try{return L(t)()}catch(t){if(On(n),t!==t+0)throw t;Fn(1,0)}},S:function(t,n){var r=En();try{return L(t)(n)}catch(t){if(On(r),t!==t+0)throw t;Fn(1,0)}},Ja:function(t,n,r,e){var i=En();try{return L(t)(n,r,e)}catch(t){if(On(i),t!==t+0)throw t;Fn(1,0)}},g:function(t,n){var r=En();try{return L(t)(n)}catch(t){if(On(r),t!==t+0)throw t;Fn(1,0)}},ea:function(t,n,r){var e=En();try{return L(t)(n,r)}catch(t){if(On(e),t!==t+0)throw t;Fn(1,0)}},O:function(t,n,r){var e=En();try{return L(t)(n,r)}catch(t){if(On(e),t!==t+0)throw t;Fn(1,0)}},rb:function(t,n,r,e){var i=En();try{return L(t)(n,r,e)}catch(t){if(On(i),t!==t+0)throw t;Fn(1,0)}},c:function(t,n,r){var e=En();try{return L(t)(n,r)}catch(t){if(On(e),t!==t+0)throw t;Fn(1,0)}},qb:function(t,n,r,e){var i=En();try{return L(t)(n,r,e)}catch(t){if(On(i),t!==t+0)throw t;Fn(1,0)}},oa:function(t,n,r,e,i,a,o){var c=En();try{return L(t)(n,r,e,i,a,o)}catch(t){if(On(c),t!==t+0)throw t;Fn(1,0)}},i:function(t,n,r,e){var i=En();try{return L(t)(n,r,e)}catch(t){if(On(i),t!==t+0)throw t;Fn(1,0)}},Ga:function(t,n,r,e,i,a,o,c,u,f,s,l,h,b){var v=En();try{return L(t)(n,r,e,i,a,o,c,u,f,s,l,h,b)}catch(t){if(On(v),t!==t+0)throw t;Fn(1,0)}},r:function(t,n,r,e,i){var a=En();try{return L(t)(n,r,e,i)}catch(t){if(On(a),t!==t+0)throw t;Fn(1,0)}},ya:function(t,n,r,e,i,a){var o=En();try{return L(t)(n,r,e,i,a)}catch(t){if(On(o),t!==t+0)throw t;Fn(1,0)}},w:function(t,n,r,e,i,a){var o=En();try{return L(t)(n,r,e,i,a)}catch(t){if(On(o),t!==t+0)throw t;Fn(1,0)}},D:function(t,n,r,e,i,a,o){var c=En();try{return L(t)(n,r,e,i,a,o)}catch(t){if(On(c),t!==t+0)throw t;Fn(1,0)}},L:function(t,n,r,e,i,a,o,c){var u=En();try{return L(t)(n,r,e,i,a,o,c)}catch(t){if(On(u),t!==t+0)throw t;Fn(1,0)}},ba:function(t,n,r,e,i,a,o,c,u){var f=En();try{return L(t)(n,r,e,i,a,o,c,u)}catch(t){if(On(f),t!==t+0)throw t;Fn(1,0)}},_:function(t,n,r,e,i,a,o,c,u,f){var s=En();try{return L(t)(n,r,e,i,a,o,c,u,f)}catch(t){if(On(s),t!==t+0)throw t;Fn(1,0)}},aa:function(t,n,r,e,i,a,o,c,u,f,s,l){var h=En();try{return L(t)(n,r,e,i,a,o,c,u,f,s,l)}catch(t){if(On(h),t!==t+0)throw t;Fn(1,0)}},fb:function(t,n,r,e){var i=En();try{return In(t,n,r,e)}catch(t){if(On(i),t!==t+0)throw t;Fn(1,0)}},ib:function(t,n,r){var e=En();try{return xn(t,n,r)}catch(t){if(On(e),t!==t+0)throw t;Fn(1,0)}},k:function(t){var n=En();try{L(t)()}catch(t){if(On(n),t!==t+0)throw t;Fn(1,0)}},l:function(t,n){var r=En();try{L(t)(n)}catch(t){if(On(r),t!==t+0)throw t;Fn(1,0)}},tb:function(t,n,r){var e=En();try{L(t)(n,r)}catch(t){if(On(e),t!==t+0)throw t;Fn(1,0)}},pa:function(t,n,r,e){var i=En();try{L(t)(n,r,e)}catch(t){if(On(i),t!==t+0)throw t;Fn(1,0)}},ja:function(t,n,r){var e=En();try{L(t)(n,r)}catch(t){if(On(e),t!==t+0)throw t;Fn(1,0)}},qa:function(t,n,r,e,i,a,o,c,u,f){var s=En();try{L(t)(n,r,e,i,a,o,c,u,f)}catch(t){if(On(s),t!==t+0)throw t;Fn(1,0)}},Ea:function(t,n,r,e){var i=En();try{L(t)(n,r,e)}catch(t){if(On(i),t!==t+0)throw t;Fn(1,0)}},Da:function(t,n,r,e,i,a,o,c){var u=En();try{L(t)(n,r,e,i,a,o,c)}catch(t){if(On(u),t!==t+0)throw t;Fn(1,0)}},ka:function(t,n,r,e,i,a,o){var c=En();try{L(t)(n,r,e,i,a,o)}catch(t){if(On(c),t!==t+0)throw t;Fn(1,0)}},d:function(t,n,r){var e=En();try{L(t)(n,r)}catch(t){if(On(e),t!==t+0)throw t;Fn(1,0)}},na:function(t,n,r,e){var i=En();try{L(t)(n,r,e)}catch(t){if(On(i),t!==t+0)throw t;Fn(1,0)}},U:function(t,n,r,e,i){var a=En();try{L(t)(n,r,e,i)}catch(t){if(On(a),t!==t+0)throw t;Fn(1,0)}},T:function(t,n,r,e,i,a){var o=En();try{L(t)(n,r,e,i,a)}catch(t){if(On(o),t!==t+0)throw t;Fn(1,0)}},Ba:function(t,n,r,e){var i=En();try{L(t)(n,r,e)}catch(t){if(On(i),t!==t+0)throw t;Fn(1,0)}},Ka:function(t,n,r,e,i,a){var o=En();try{L(t)(n,r,e,i,a)}catch(t){if(On(o),t!==t+0)throw t;Fn(1,0)}},da:function(t,n,r,e,i){var a=En();try{L(t)(n,r,e,i)}catch(t){if(On(a),t!==t+0)throw t;Fn(1,0)}},Ia:function(t,n,r,e,i,a,o){var c=En();try{L(t)(n,r,e,i,a,o)}catch(t){if(On(c),t!==t+0)throw t;Fn(1,0)}},f:function(t,n,r,e){var i=En();try{L(t)(n,r,e)}catch(t){if(On(i),t!==t+0)throw t;Fn(1,0)}},nb:function(t,n,r,e,i){var a=En();try{L(t)(n,r,e,i)}catch(t){if(On(a),t!==t+0)throw t;Fn(1,0)}},K:function(t,n,r,e,i,a,o){var c=En();try{L(t)(n,r,e,i,a,o)}catch(t){if(On(c),t!==t+0)throw t;Fn(1,0)}},Fa:function(t,n,r,e,i,a){var o=En();try{L(t)(n,r,e,i,a)}catch(t){if(On(o),t!==t+0)throw t;Fn(1,0)}},j:function(t,n,r,e,i){var a=En();try{L(t)(n,r,e,i)}catch(t){if(On(a),t!==t+0)throw t;Fn(1,0)}},ca:function(t,n,r,e,i,a){var o=En();try{L(t)(n,r,e,i,a)}catch(t){if(On(o),t!==t+0)throw t;Fn(1,0)}},la:function(t,n,r,e,i,a,o){var c=En();try{L(t)(n,r,e,i,a,o)}catch(t){if(On(c),t!==t+0)throw t;Fn(1,0)}},t:function(t,n,r,e,i,a){var o=En();try{L(t)(n,r,e,i,a)}catch(t){if(On(o),t!==t+0)throw t;Fn(1,0)}},I:function(t,n,r,e,i,a,o){var c=En();try{L(t)(n,r,e,i,a,o)}catch(t){if(On(c),t!==t+0)throw t;Fn(1,0)}},C:function(t,n,r,e,i,a,o,c){var u=En();try{L(t)(n,r,e,i,a,o,c)}catch(t){if(On(u),t!==t+0)throw t;Fn(1,0)}},P:function(t,n,r,e,i,a,o,c,u){var f=En();try{L(t)(n,r,e,i,a,o,c,u)}catch(t){if(On(f),t!==t+0)throw t;Fn(1,0)}},V:function(t,n,r,e,i,a,o,c,u,f){var s=En();try{L(t)(n,r,e,i,a,o,c,u,f)}catch(t){if(On(s),t!==t+0)throw t;Fn(1,0)}},N:function(t,n,r,e,i,a,o,c,u,f,s){var l=En();try{L(t)(n,r,e,i,a,o,c,u,f,s)}catch(t){if(On(l),t!==t+0)throw t;Fn(1,0)}},Aa:function(t,n,r,e,i,a,o,c,u,f,s,l){var h=En();try{L(t)(n,r,e,i,a,o,c,u,f,s,l)}catch(t){if(On(h),t!==t+0)throw t;Fn(1,0)}},$:function(t,n,r,e,i,a,o,c,u,f,s,l,h,b,v,p){var y=En();try{L(t)(n,r,e,i,a,o,c,u,f,s,l,h,b,v,p)}catch(t){if(On(y),t!==t+0)throw t;Fn(1,0)}},gb:function(t,n,r,e,i,a){var o=En();try{Yn(t,n,r,e,i,a)}catch(t){if(On(o),t!==t+0)throw t;Fn(1,0)}},hb:function(t,n,r,e){var i=En();try{Vn(t,n,r,e)}catch(t){if(On(i),t!==t+0)throw t;Fn(1,0)}},q:function(t){return t},xa:function(t){l=t},Oa:function(t,n,r,e){return function(t,n,r,e){function i(t,n,r){for(t="number"==typeof t?t.toString():t||"";t.length<n;)t=r[0]+t;return t}function a(t,n){return i(t,n,"0")}function o(t,n){function r(t){return 0>t?-1:0<t?1:0}var e;return 0===(e=r(t.getFullYear()-n.getFullYear()))&&0===(e=r(t.getMonth()-n.getMonth()))&&(e=r(t.getDate()-n.getDate())),e}function c(t){switch(t.getDay()){case 0:return new Date(t.getFullYear()-1,11,29);case 1:return t;case 2:return new Date(t.getFullYear(),0,3);case 3:return new Date(t.getFullYear(),0,2);case 4:return new Date(t.getFullYear(),0,1);case 5:return new Date(t.getFullYear()-1,11,31);case 6:return new Date(t.getFullYear()-1,11,30)}}function u(t){t=Cn(new Date(t.Wb+1900,0,1),t.uc);var n=new Date(t.getFullYear()+1,0,4),r=c(new Date(t.getFullYear(),0,4));return n=c(n),0>=o(r,t)?0>=o(n,t)?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var f=A[e+40>>2];for(var s in e={ed:A[e>>2],dd:A[e+4>>2],sc:A[e+8>>2],mc:A[e+12>>2],jc:A[e+16>>2],Wb:A[e+20>>2],tc:A[e+24>>2],uc:A[e+28>>2],ld:A[e+32>>2],cd:A[e+36>>2],fd:f&&f?y(T,f,void 0):""},r=r?y(T,r,void 0):"",f={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"})r=r.replace(new RegExp(s,"g"),f[s]);var l="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),h="January February March April May June July August September October November December".split(" ");for(s in f={"%a":function(t){return l[t.tc].substring(0,3)},"%A":function(t){return l[t.tc]},"%b":function(t){return h[t.jc].substring(0,3)},"%B":function(t){return h[t.jc]},"%C":function(t){return a((t.Wb+1900)/100|0,2)},"%d":function(t){return a(t.mc,2)},"%e":function(t){return i(t.mc,2," ")},"%g":function(t){return u(t).toString().substring(2)},"%G":function(t){return u(t)},"%H":function(t){return a(t.sc,2)},"%I":function(t){return 0==(t=t.sc)?t=12:12<t&&(t-=12),a(t,2)},"%j":function(t){return a(t.mc+_n(Tn(t.Wb+1900)?Rn:An,t.jc-1),3)},"%m":function(t){return a(t.jc+1,2)},"%M":function(t){return a(t.dd,2)},"%n":function(){return"\n"},"%p":function(t){return 0<=t.sc&&12>t.sc?"AM":"PM"},"%S":function(t){return a(t.ed,2)},"%t":function(){return"\t"},"%u":function(t){return t.tc||7},"%U":function(t){var n=new Date(t.Wb+1900,0,1),r=0===n.getDay()?n:Cn(n,7-n.getDay());return 0>o(r,t=new Date(t.Wb+1900,t.jc,t.mc))?a(Math.ceil((31-r.getDate()+(_n(Tn(t.getFullYear())?Rn:An,t.getMonth()-1)-31)+t.getDate())/7),2):0===o(r,n)?"01":"00"},"%V":function(t){var n=new Date(t.Wb+1901,0,4),r=c(new Date(t.Wb+1900,0,4));n=c(n);var e=Cn(new Date(t.Wb+1900,0,1),t.uc);return 0>o(e,r)?"53":0>=o(n,e)?"01":a(Math.ceil((r.getFullYear()<t.Wb+1900?t.uc+32-r.getDate():t.uc+1-r.getDate())/7),2)},"%w":function(t){return t.tc},"%W":function(t){var n=new Date(t.Wb,0,1),r=1===n.getDay()?n:Cn(n,0===n.getDay()?1:7-n.getDay()+1);return 0>o(r,t=new Date(t.Wb+1900,t.jc,t.mc))?a(Math.ceil((31-r.getDate()+(_n(Tn(t.getFullYear())?Rn:An,t.getMonth()-1)-31)+t.getDate())/7),2):0===o(r,n)?"01":"00"},"%y":function(t){return(t.Wb+1900).toString().substring(2)},"%Y":function(t){return t.Wb+1900},"%z":function(t){var n=0<=(t=t.cd);return t=Math.abs(t)/60,(n?"+":"-")+String("0000"+(t/60*100+t%60)).slice(-4)},"%Z":function(t){return t.fd},"%%":function(){return"%"}},r=r.replace(/%%/g,"\0\0"),f)r.includes(s)&&(r=r.replace(new RegExp(s,"g"),f[s](e)));return(s=function(t){var n=Array(g(t)+1);return d(t,n,0,n.length),n}(r=r.replace(/\0\0/g,"%"))).length>n?0:(w.set(s,t),s.length-1)}(t,n,r,e)}};!function(){function t(t){n.asm=t.exports,b=n.asm.ub,O(),U=n.asm.Bb,x.unshift(n.asm.vb),B--,n.monitorRunDependencies&&n.monitorRunDependencies(B),0==B&&(null!==X&&(clearInterval(X),X=null),Z&&(t=Z,Z=null,t()))}function r(n){t(n.instance)}function i(t){return(s||"function"!=typeof fetch?Promise.resolve().then((function(){return N()})):fetch(H,{credentials:"same-origin"}).then((function(t){if(!t.ok)throw"failed to load wasm binary file at '"+H+"'";return t.arrayBuffer()})).catch((function(){return N()}))).then((function(t){return WebAssembly.instantiate(t,a)})).then((function(t){return t})).then(t,(function(t){f("failed to asynchronously prepare wasm: "+t),$(t)}))}var a={a:jn};if(B++,n.monitorRunDependencies&&n.monitorRunDependencies(B),n.instantiateWasm)try{return n.instantiateWasm(a,t)}catch(t){return f("Module.instantiateWasm callback failed with error: "+t),!1}(s||"function"!=typeof WebAssembly.instantiateStreaming||z()||"function"!=typeof fetch?i(r):fetch(H,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,a).then(r,(function(t){return f("wasm streaming compile failed: "+t),f("falling back to ArrayBuffer instantiation"),i(r)}))}))).catch(e)}(),n.___wasm_call_ctors=function(){return(n.___wasm_call_ctors=n.asm.vb).apply(null,arguments)};var Pn=n._free=function(){return(Pn=n._free=n.asm.wb).apply(null,arguments)},kn=n._malloc=function(){return(kn=n._malloc=n.asm.xb).apply(null,arguments)};n._main=function(){return(n._main=n.asm.yb).apply(null,arguments)};var Qn=n.___getTypeName=function(){return(Qn=n.___getTypeName=n.asm.zb).apply(null,arguments)};n.___embind_register_native_and_builtin_types=function(){return(n.___embind_register_native_and_builtin_types=n.asm.Ab).apply(null,arguments)};var Dn,Fn=n._setThrew=function(){return(Fn=n._setThrew=n.asm.Cb).apply(null,arguments)},En=n.stackSave=function(){return(En=n.stackSave=n.asm.Db).apply(null,arguments)},On=n.stackRestore=function(){return(On=n.stackRestore=n.asm.Eb).apply(null,arguments)},Un=n.___cxa_can_catch=function(){return(Un=n.___cxa_can_catch=n.asm.Fb).apply(null,arguments)},Mn=n.___cxa_is_pointer_type=function(){return(Mn=n.___cxa_is_pointer_type=n.asm.Gb).apply(null,arguments)},xn=n.dynCall_jii=function(){return(xn=n.dynCall_jii=n.asm.Hb).apply(null,arguments)},Yn=n.dynCall_viiji=function(){return(Yn=n.dynCall_viiji=n.asm.Ib).apply(null,arguments)},In=n.dynCall_iij=function(){return(In=n.dynCall_iij=n.asm.Jb).apply(null,arguments)},Vn=n.dynCall_vij=function(){return(Vn=n.dynCall_vij=n.asm.Kb).apply(null,arguments)};function Hn(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t}function Bn(){function t(){if(!Dn&&(Dn=!0,n.calledRun=!0,!v)){if(K(x),K(Y),r(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),Xn){var t=n._main;try{var e=t(0,0);h||(n.onExit&&n.onExit(e),v=!0),o(e,new Hn(e))}catch(t){t instanceof Hn||"unwind"==t||o(1,t)}}if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)t=n.postRun.shift(),I.unshift(t);K(I)}}if(!(0<B)){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)V();K(M),0<B||(n.setStatus?(n.setStatus("Running..."),setTimeout((function(){setTimeout((function(){n.setStatus("")}),1),t()}),1)):t())}}if(n.dynCall_viijii=function(){return(n.dynCall_viijii=n.asm.Lb).apply(null,arguments)},n.dynCall_jiji=function(){return(n.dynCall_jiji=n.asm.Mb).apply(null,arguments)},n.dynCall_iiiiij=function(){return(n.dynCall_iiiiij=n.asm.Nb).apply(null,arguments)},n.dynCall_iiiiijj=function(){return(n.dynCall_iiiiijj=n.asm.Ob).apply(null,arguments)},n.dynCall_iiiiiijj=function(){return(n.dynCall_iiiiiijj=n.asm.Pb).apply(null,arguments)},Z=function t(){Dn||Bn(),Dn||(Z=t)},n.run=Bn,n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);0<n.preInit.length;)n.preInit.pop()();var Xn=!0;return n.noInitialRun&&(Xn=!1),Bn(),t.ready});"object"==typeof exports&&"object"==typeof module?module.exports=ConfiguratorKernel:"function"==typeof define&&define.amd?define([],(function(){return ConfiguratorKernel})):"object"==typeof exports&&(exports.ConfiguratorKernel=ConfiguratorKernel);
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["0"],"names":["_scriptDir","ConfiguratorKernel","document","currentScript","src","undefined","k","aa","ba","ready","Promise","a","b","ca","Object","assign","da","ea","q","indexOf","substr","replace","lastIndexOf","fa","print","console","log","bind","r","printErr","warn","thisProgram","quit","ha","t","wasmBinary","noExitRuntime","WebAssembly","ia","ja","ka","la","TextDecoder","ma","c","d","subarray","decode","e","f","String","fromCharCode","h","na","length","charCodeAt","oa","xa","B","u","x","ra","A","D","ya","za","pa","qa","sa","ta","ua","va","wa","Aa","buffer","HEAP8","Int8Array","HEAP16","Int16Array","HEAP32","Int32Array","HEAPU8","Uint8Array","HEAPU16","Uint16Array","HEAPU32","Uint32Array","HEAPF32","Float32Array","HEAPF64","Float64Array","Ba","Ca","Da","Ea","Fa","Ga","preRun","shift","unshift","F","E","Ha","Ia","onAbort","RuntimeError","Ja","startsWith","preloadedImages","preloadedAudios","Ka","locateFile","La","Na","hd","xc","G","get","H","this","Ec","Rb","vc","kc","bc","Pc","dc","Cc","Oc","rc","Gc","ac","wc","Yc","Oa","yc","J","fc","Ic","Pa","hc","Qa","K","Ra","Sa","Ta","L","Ua","pop","push","Va","Wa","Xa","fromWireType","Ya","Za","$a","ab","bb","Function","cb","Error","name","message","stack","toString","prototype","create","constructor","db","eb","M","g","m","N","forEach","Array","hasOwnProperty","fb","TypeError","gb","O","hb","P","Tc","ib","Qb","Tb","Sb","jb","kb","lb","count","value","Vb","Yb","$b","nb","ob","pb","ec","qb","rb","tb","ub","FinalizationRegistry","unregister","register","Q","vb","Ub","arguments","apply","oc","wb","kd","xb","ic","Zb","Mc","nc","Kc","Wc","yb","zb","zc","Ab","Bb","qc","Ac","pc","bd","clone","Xc","R","Cb","S","n","p","Vc","Hc","toWireType","Xb","Db","U","includes","concat","call","Eb","Fb","Gb","Hb","Ib","map","join","Jb","Kb","Lb","w","split","Mb","V","Nb","Bc","W","Ob","Pb","Wb","globalThis","cc","USER","LOGNAME","PATH","PWD","HOME","LANG","navigator","languages","_","gc","jc","Date","getTime","getMonth","getFullYear","getDate","setDate","setMonth","setFullYear","InternalError","BindingError","isAliasOf","lc","getPrototypeOf","isDeleted","deleteLater","getInheritedInstanceCount","keys","getLiveInheritedInstances","flushPendingDeletes","setDelayFunction","Nc","Dc","argPackAdvance","readValueFromPointer","deleteObject","sb","Jc","pointerType","mb","UnboundTypeError","count_emval_handles","get_first_emval","Cd","X","slice","o","Fc","Sc","$c","Qc","y","Rc","l","v","Zc","z","ad","Lc","read","C","write","I","T","splice","Symbol","substring","className","Z","values","Y","ArrayBuffer","Uint8ClampedArray","s","Uc","_a","ga","Math","min","max","grow","byteLength","jd","gd","Ma","i","Fd","Dd","j","$","Ed","Gd","getDay","uc","ed","dd","sc","mc","tc","ld","cd","fd","%c","%D","%F","%h","%r","%R","%T","%x","%X","%Ec","%EC","%Ex","%EX","%Ey","%EY","%Od","%Oe","%OH","%OI","%Om","%OM","%OS","%Ou","%OU","%OV","%Ow","%OW","%Oy","RegExp","%a","%A","%b","%B","%C","%d","%e","%g","%G","%H","%I","%j","%m","%M","%n","%p","%S","%t","%u","%U","ceil","%V","%w","%W","%y","%Y","%z","abs","%Z","%%","set","asm","exports","monitorRunDependencies","clearInterval","instance","fetch","resolve","then","credentials","ok","arrayBuffer","catch","instantiate","instantiateWasm","instantiateStreaming","___wasm_call_ctors","_free","_malloc","_main","___getTypeName","___embind_register_native_and_builtin_types","Hd","_setThrew","stackSave","stackRestore","___cxa_can_catch","___cxa_is_pointer_type","dynCall_jii","dynCall_viiji","dynCall_iij","dynCall_vij","Id","status","Kd","calledRun","onRuntimeInitialized","Ld","onExit","postRun","setStatus","setTimeout","dynCall_viijii","dynCall_jiji","dynCall_iiiiij","dynCall_iiiiijj","dynCall_iiiiiijj","Jd","run","preInit","noInitialRun","module","define"],"mappings":"AACA,IACMA,WADFC,oBACED,WAAiC,oBAAbE,UAA4BA,SAASC,cAAgBD,SAASC,cAAcC,SAAMC,EAEnG,SACAJ,GAIT,IAAIK,EAAiFC,EAAGC,EAHtFP,EAAqBA,GAAsB,GAGvCK,IAAIA,OAAgC,IAAvBL,EAAqCA,EAAqB,IAAcK,EAAEG,MAAM,IAAIC,SAAQ,SAASC,EAAEC,GAAGL,EAAGI,EAAEH,EAAGI,KAAI,IAAIC,EAAGC,OAAOC,OAAO,GAAGT,GAAGU,EAAG,iBAAiBC,EAAG,CAACN,EAAEC,KAAK,MAAMA,GAAIM,EAAE,GAAG,oBAAoBhB,UAAUA,SAASC,gBAAgBe,EAAEhB,SAASC,cAAcC,KAAKJ,aAAakB,EAAElB,YAAmCkB,EAAvB,IAAIA,EAAEC,QAAQ,SAAWD,EAAEE,OAAO,EAAEF,EAAEG,QAAQ,SAAS,IAAIC,YAAY,KAAK,GAAK,GAAG,IAAIC,EAAGjB,EAAEkB,OAAOC,QAAQC,IAAIC,KAAKF,SAASG,EAAEtB,EAAEuB,UAAUJ,QAAQK,KAAKH,KAAKF,SAASX,OAAOC,OAAOT,EAAEO,GACzfA,EAAG,KAAKP,EAAEyB,cAAcf,EAAGV,EAAEyB,aAAazB,EAAE0B,OAAOf,EAAGX,EAAE0B,MAAM,IAAQC,EAAJC,EAAE,EAAK5B,EAAE6B,aAAaF,EAAG3B,EAAE6B,YAAY,IAAIC,EAAc9B,EAAE8B,gBAAe,EAAG,iBAAiBC,aAAaC,EAAG,mCAAmC,IAAIC,EAAGC,GAAG,EAAGC,EAAG,oBAAoBC,YAAY,IAAIA,YAAY,aAAQ,EAC3R,SAASC,EAAGhC,EAAEC,EAAEgC,GAAG,IAAIC,EAAEjC,EAAEgC,EAAE,IAAIA,EAAEhC,EAAED,EAAEiC,MAAMA,GAAGC,MAAMD,EAAE,GAAG,GAAGA,EAAEhC,GAAGD,EAAEmC,UAAUL,EAAG,OAAOA,EAAGM,OAAOpC,EAAEmC,SAASlC,EAAEgC,IAAI,IAAIC,EAAE,GAAGjC,EAAEgC,GAAG,CAAC,IAAII,EAAErC,EAAEC,KAAK,GAAK,IAAFoC,EAAM,CAAC,IAAIC,EAAS,GAAPtC,EAAEC,KAAQ,GAAG,MAAQ,IAAFoC,GAAOH,GAAGK,OAAOC,cAAgB,GAAFH,IAAO,EAAEC,OAAO,CAAC,IAAIG,EAAS,GAAPzC,EAAEC,KAAwE,OAAhEoC,EAAE,MAAQ,IAAFA,IAAU,GAAFA,IAAO,GAAGC,GAAG,EAAEG,GAAK,EAAFJ,IAAM,GAAGC,GAAG,GAAGG,GAAG,EAAS,GAAPzC,EAAEC,MAAgBiC,GAAGK,OAAOC,aAAaH,IAAIA,GAAG,MAAMH,GAAGK,OAAOC,aAAa,MAAMH,GAAG,GAAG,MAAQ,KAAFA,UAAeH,GAAGK,OAAOC,aAAaH,GAAG,OAAOH,EACxb,SAASQ,EAAG1C,EAAEC,EAAEgC,EAAEC,GAAG,GAAG,EAAEA,EAAE,CAACA,EAAED,EAAEC,EAAE,EAAE,IAAI,IAAIG,EAAE,EAAEA,EAAErC,EAAE2C,SAASN,EAAE,CAAC,IAAIC,EAAEtC,EAAE4C,WAAWP,GAAgF,GAA1E,OAAOC,GAAG,OAAOA,IAA2BA,EAAE,QAAU,KAAFA,IAAS,IAAM,KAA3CtC,EAAE4C,aAAaP,IAAoC,KAAKC,EAAE,CAAC,GAAGL,GAAGC,EAAE,MAAMjC,EAAEgC,KAAKK,MAAM,CAAC,GAAG,MAAMA,EAAE,CAAC,GAAGL,EAAE,GAAGC,EAAE,MAAMjC,EAAEgC,KAAK,IAAIK,GAAG,MAAM,CAAC,GAAG,OAAOA,EAAE,CAAC,GAAGL,EAAE,GAAGC,EAAE,MAAMjC,EAAEgC,KAAK,IAAIK,GAAG,OAAO,CAAC,GAAGL,EAAE,GAAGC,EAAE,MAAMjC,EAAEgC,KAAK,IAAIK,GAAG,GAAGrC,EAAEgC,KAAK,IAAIK,GAAG,GAAG,GAAGrC,EAAEgC,KAAK,IAAIK,GAAG,EAAE,GAAGrC,EAAEgC,KAAK,IAAM,GAAFK,GAAMrC,EAAEgC,GAAG,GAC7Y,SAASY,EAAG7C,GAAG,IAAI,IAAIC,EAAE,EAAEgC,EAAE,EAAEA,EAAEjC,EAAE2C,SAASV,EAAE,CAAC,IAAIC,EAAElC,EAAE4C,WAAWX,GAAG,OAAOC,GAAG,OAAOA,IAAIA,EAAE,QAAU,KAAFA,IAAS,IAAsB,KAAlBlC,EAAE4C,aAAaX,IAAS,KAAKC,IAAIjC,EAAEA,EAAE,MAAMiC,EAAEjC,EAAE,EAAE,OAAOiC,EAAEjC,EAAE,EAAEA,EAAE,EAAE,OAAOA,EAAE,IAEmL6C,EAAGC,EAAEC,EAAEC,EAAEC,EAAGC,EAAEC,EAAEC,EAAGC,EAFlMC,EAAG,oBAAoBxB,YAAY,IAAIA,YAAY,iBAAY,EAAO,SAASyB,EAAGxD,EAAEC,GAAc,IAAX,IAAIgC,EAAEjC,GAAG,EAAUkC,EAAED,EAAEhC,EAAE,IAAIgC,GAAGC,IAAIgB,EAAGjB,MAAMA,EAAQ,GAAG,IAATA,IAAI,GAAUjC,GAAGuD,EAAG,OAAOA,EAAGnB,OAAOY,EAAEb,SAASnC,EAAEiC,IAAS,IAALA,EAAE,GAAOC,EAAE,IAAIA,GAAGjC,EAAE,KAAKiC,EAAE,CAAC,IAAIG,EAAEY,EAAEjD,EAAE,EAAEkC,GAAG,GAAG,GAAG,GAAGG,EAAE,MAAMJ,GAAGM,OAAOC,aAAaH,GAAG,OAAOJ,EACzd,SAASwB,EAAGzD,EAAEC,EAAEgC,GAA8B,QAA3B,IAASA,IAAIA,EAAE,YAAe,EAAEA,EAAE,OAAO,EAAO,IAAIC,EAAEjC,EAAEgC,GAAbA,GAAG,GAAc,EAAEjC,EAAE2C,OAAOV,EAAE,EAAEjC,EAAE2C,OAAO,IAAI,IAAIN,EAAE,EAAEA,EAAEJ,IAAII,EAAEY,EAAEhD,GAAG,GAAGD,EAAE4C,WAAWP,GAAGpC,GAAG,EAAY,OAAVgD,EAAEhD,GAAG,GAAG,EAASA,EAAEiC,EAAE,SAASwB,EAAG1D,GAAG,OAAO,EAAEA,EAAE2C,OAAO,SAASgB,EAAG3D,EAAEC,GAAG,IAAI,IAAIgC,EAAE,EAAEC,EAAE,KAAKD,GAAGhC,EAAE,IAAI,CAAC,IAAIoC,EAAEc,EAAEnD,EAAE,EAAEiC,GAAG,GAAG,GAAG,GAAGI,EAAE,QAAQJ,EAAE,OAAOI,GAAGA,GAAG,MAAMH,GAAGK,OAAOC,aAAa,MAAMH,GAAG,GAAG,MAAQ,KAAFA,IAASH,GAAGK,OAAOC,aAAaH,GAAG,OAAOH,EACtY,SAAS0B,EAAG5D,EAAEC,EAAEgC,GAA8B,QAA3B,IAASA,IAAIA,EAAE,YAAe,EAAEA,EAAE,OAAO,EAAE,IAAIC,EAAEjC,EAAEgC,EAAEC,EAAED,EAAE,EAAE,IAAI,IAAII,EAAE,EAAEA,EAAErC,EAAE2C,SAASN,EAAE,CAAC,IAAIC,EAAEtC,EAAE4C,WAAWP,GAA+F,GAAzF,OAAOC,GAAG,OAAOA,IAA2BA,EAAE,QAAU,KAAFA,IAAS,IAAM,KAA3CtC,EAAE4C,aAAaP,IAAiCc,EAAElD,GAAG,GAAGqC,GAAErC,GAAG,GAAO,EAAEgC,EAAE,MAAgB,OAAVkB,EAAElD,GAAG,GAAG,EAASA,EAAEiC,EAAE,SAAS2B,EAAG7D,GAAG,IAAI,IAAIC,EAAE,EAAEgC,EAAE,EAAEA,EAAEjC,EAAE2C,SAASV,EAAE,CAAC,IAAIC,EAAElC,EAAE4C,WAAWX,GAAG,OAAOC,GAAG,OAAOA,KAAKD,EAAEhC,GAAG,EAAE,OAAOA,EACzW,SAAS6D,IAAK,IAAI9D,EAAE4B,EAAGmC,OAAOjB,EAAG9C,EAAEL,EAAEqE,MAAMjB,EAAE,IAAIkB,UAAUjE,GAAGL,EAAEuE,OAAOjB,EAAE,IAAIkB,WAAWnE,GAAGL,EAAEyE,OAAOjB,EAAE,IAAIkB,WAAWrE,GAAGL,EAAE2E,OAAOtB,EAAE,IAAIuB,WAAWvE,GAAGL,EAAE6E,QAAQtB,EAAG,IAAIuB,YAAYzE,GAAGL,EAAE+E,QAAQtB,EAAE,IAAIuB,YAAY3E,GAAGL,EAAEiF,QAAQvB,EAAG,IAAIwB,aAAa7E,GAAGL,EAAEmF,QAAQxB,EAAG,IAAIyB,aAAa/E,GAAG,IAAIgF,EAAGC,EAAG,GAAGC,EAAG,GAAGC,EAAG,GAAGC,EAAG,GAAG,SAASC,IAAK,IAAIrF,EAAEL,EAAE2F,OAAOC,QAAQN,EAAGO,QAAQxF,GAAG,IACnHyF,EADuHC,EAAE,EAAEC,EAAG,KAAKC,EAAG,KAC3X,SAASjE,EAAG3B,GAAiJ,MAA3IL,EAAEkG,SAAQlG,EAAEkG,QAAQ7F,GAAsBiB,EAAnBjB,EAAE,WAAWA,EAAE,KAAS6B,GAAG,EAAG7B,EAAE,IAAI0B,YAAYoE,aAAa9F,EAAE,+CAA+CH,EAAGG,GAASA,EAAG,SAAS+F,IAAK,OAAON,EAAEO,WAAW,yCAA2E,GAD6GrG,EAAEsG,gBAAgB,GAAGtG,EAAEuG,gBAAgB,GAChLT,EAAE,2BAA8BM,IAAK,CAAC,IAAII,EAAGV,EAAEA,EAAE9F,EAAEyG,WAAWzG,EAAEyG,WAAWD,EAAG5F,GAAGA,EAAE4F,EAAG,SAASE,IAAK,IAAIrG,EAAEyF,EAAE,IAAI,GAAGzF,GAAGyF,GAAGnE,EAAG,OAAO,IAAIiD,WAAWjD,GAAI,KAAK,kDAAmD,MAAMrB,GAAG0B,EAAG1B,IACtM,SAASqG,EAAGtG,GAAG,KAAK,EAAEA,EAAE2C,QAAQ,CAAC,IAAI1C,EAAED,EAAEuF,QAAQ,GAAG,mBAAmBtF,EAAEA,EAAEN,OAAO,CAAC,IAAIsC,EAAEhC,EAAEsG,GAAG,iBAAiBtE,OAAE,IAAShC,EAAEuG,GAAGC,EAAExE,EAAFwE,GAAOA,EAAExE,EAAFwE,CAAKxG,EAAEuG,IAAIvE,OAAE,IAAShC,EAAEuG,GAAG,KAAKvG,EAAEuG,MAAM,SAASC,EAAEzG,GAAG,OAAOgF,EAAG0B,IAAI1G,GACrd,SAAS2G,EAAE3G,GAAG4G,KAAKC,GAAG7G,EAAE4G,KAAKE,GAAG9G,EAAE,GAAG4G,KAAKG,GAAG,SAAS9G,GAAGkD,EAAEyD,KAAKE,GAAG,GAAG,GAAG7G,GAAG2G,KAAKI,GAAG,WAAW,OAAO7D,EAAEyD,KAAKE,GAAG,GAAG,IAAIF,KAAKK,GAAG,SAAShH,GAAGkD,EAAEyD,KAAKE,GAAG,GAAG,GAAG7G,GAAG2G,KAAKM,GAAG,WAAW,OAAO/D,EAAEyD,KAAKE,GAAG,GAAG,IAAIF,KAAKO,GAAG,WAAWhE,EAAEyD,KAAKE,IAAI,GAAG,GAAGF,KAAKQ,GAAG,SAASnH,GAAG8C,EAAE6D,KAAKE,GAAG,IAAI,GAAG7G,EAAE,EAAE,GAAG2G,KAAKS,GAAG,WAAW,OAAO,GAAGtE,EAAE6D,KAAKE,GAAG,IAAI,IAAIF,KAAKU,GAAG,SAASrH,GAAG8C,EAAE6D,KAAKE,GAAG,IAAI,GAAG7G,EAAE,EAAE,GAAG2G,KAAKW,GAAG,WAAW,OAAO,GAAGxE,EAAE6D,KAAKE,GAAG,IAAI,IAAIF,KAAKY,GAAG,SAASvH,EAAEgC,GAAG2E,KAAKG,GAAG9G,GAAG2G,KAAKK,GAAGhF,GAAG2E,KAAKO,KAAKP,KAAKQ,IAAG,GAAIR,KAAKU,IAAG,IAAKV,KAAKa,GACvf,WAAWtE,EAAEyD,KAAKE,IAAI,IAAI,GAAGF,KAAKc,GAAG,WAAW,IAAIzH,EAAEkD,EAAEyD,KAAKE,IAAI,GAAqB,OAAlB3D,EAAEyD,KAAKE,IAAI,GAAG7G,EAAE,EAAS,IAAIA,GACjG,SAAS0H,EAAG3H,GAAG4G,KAAKgB,GAAG,WAAWC,GAAEjB,KAAKE,IAAIF,KAAKE,GAAG,GAAGF,KAAKK,GAAG,SAAShH,GAAGkD,EAAEyD,KAAKE,IAAI,GAAG7G,GAAG2G,KAAKkB,GAAG,WAAW,OAAO3E,EAAEyD,KAAKE,IAAI,IAAIF,KAAKY,GAAG,SAASvH,GAAGkD,EAAEyD,KAAKE,GAAG,GAAG,GAAG7G,GAAG2G,KAAKO,GAAG,WAAW,OAAOP,KAAKE,GAAG,GAAGF,KAAKG,GAAG,WAAW,OAAO5D,EAAEyD,KAAKE,GAAG,GAAG,IAAIF,KAAKmB,GAAG,WAAW,GAAGC,GAAGpB,KAAKqB,KAAKjB,MAAM,OAAO7D,EAAEyD,KAAKkB,MAAM,GAAG,IAAI7H,EAAE2G,KAAKG,KAAK,OAAO,IAAI9G,EAAEA,EAAE2G,KAAKkB,MAAMlB,KAAKqB,GAAG,WAAW,OAAO,IAAItB,EAAEC,KAAKkB,YAAO,IAAS9H,GAAG4G,KAAKE,GAAGoB,GAAG,GAAGtB,KAAKY,GAAG,IAAIZ,KAAKE,GAAG9G,EAAE,IAAImI,GAAE,GAAGC,GAAG,EAC/c,SAASC,GAAGrI,GAAG,OAAO6H,GAAE,IAAKlB,EAAE3G,GAAI8G,IAAI,SAASwB,GAAGtI,GAAG,GAAGA,EAAE0H,OAAO1H,EAAEuH,KAAK,CAAC,IAAItH,EAAED,EAAEkH,KAAKjH,GAAGwG,EAAExG,EAAFwG,CAAKzG,EAAE6G,IAAIwB,GAAGrI,EAAE6G,KAAK,IAAI0B,GAAE,EAAE,SAASC,KAAK,IAAIxI,EAAEmI,GAAEM,MAAMzI,GAAG2B,EAAG,yBAAyB,IAAI1B,EAAED,EAAEiI,KAAKhG,EAAEjC,EAAE8H,KAA0D,MAArD7H,EAAEsH,KAAKvH,EAAE4H,MAAMO,GAAEO,KAAK1I,GAAGC,EAAEqH,IAAG,GAAIrH,EAAEmH,IAAG,GAAIgB,MAAMG,GAAEtG,EAAQA,EAAG,IAAI0G,GAAG,GAAG,SAASC,GAAG5I,GAAG,KAAKA,EAAE2C,QAAQ,CAAC,IAAI1C,EAAED,EAAEyI,MAAMzI,EAAEyI,KAAFzI,CAAQC,IAAI,SAAS4I,GAAG7I,GAAG,OAAO4G,KAAKkC,aAAa1F,EAAEpD,GAAG,IAAI,IAAI+I,GAAG,GAAGC,GAAG,GAAGC,GAAG,GAC7Y,SAASC,GAAGlJ,GAAG,QAAG,IAASA,EAAE,MAAM,WAA6C,IAAIC,GAAtCD,EAAEA,EAAEU,QAAQ,iBAAiB,MAAakC,WAAW,GAAG,OAAO,IAAI3C,GAAG,IAAIA,EAAE,IAAID,EAAEA,EAAE,SAASmJ,GAAGnJ,EAAEC,GAAW,OAARD,EAAEkJ,GAAGlJ,GAAS,IAAKoJ,SAAS,OAAO,mBAAmBpJ,EAAE,uEAA1C,CAAmHC,GACpR,SAASoJ,GAAGrJ,GAAG,IAAIC,EAAEqJ,MAAMrH,EAAEkH,GAAGnJ,GAAE,SAASkC,GAAG0E,KAAK2C,KAAKvJ,EAAE4G,KAAK4C,QAAQtH,OAAmB,KAAjBA,EAAEoH,MAAMpH,GAAGuH,SAAmB7C,KAAK6C,MAAM7C,KAAK8C,WAAW,KAAKxH,EAAExB,QAAQ,qBAAqB,QAA4K,OAArKuB,EAAE0H,UAAUxJ,OAAOyJ,OAAO3J,EAAE0J,WAAW1H,EAAE0H,UAAUE,YAAY5H,EAAEA,EAAE0H,UAAUD,SAAS,WAAW,YAAO,IAAS9C,KAAK4C,QAAQ5C,KAAK2C,KAAK3C,KAAK2C,KAAK,KAAK3C,KAAK4C,SAAgBvH,EAAE,IAAI6H,QAAG,EAAO,SAASC,GAAG/J,GAAG,MAAM,IAAI8J,GAAG9J,GACrY,SAASgK,GAAEhK,EAAEC,EAAEgC,GAAG,SAASC,EAAE+H,IAAGA,EAAEhI,EAAEgI,IAAKtH,SAAS3C,EAAE2C,QAAQoH,GAAG,mCAAmC,IAAI,IAAIG,EAAE,EAAEA,EAAElK,EAAE2C,SAASuH,EAAEC,GAAEnK,EAAEkK,GAAGD,EAAEC,IAAIlK,EAAEoK,SAAQ,SAASH,GAAGhB,GAAGgB,GAAGhK,KAAI,IAAIoC,EAAEgI,MAAMpK,EAAE0C,QAAQL,EAAE,GAAGG,EAAE,EAAExC,EAAEmK,SAAQ,SAASH,EAAEC,GAAGlB,GAAGsB,eAAeL,GAAG5H,EAAE6H,GAAGlB,GAAGiB,IAAI3H,EAAEoG,KAAKuB,GAAGlB,GAAGuB,eAAeL,KAAKlB,GAAGkB,GAAG,IAAIlB,GAAGkB,GAAGvB,MAAK,WAAWrG,EAAE6H,GAAGlB,GAAGiB,KAAKxH,IAAMH,EAAEK,QAAQT,EAAEG,UAAQ,IAAIC,EAAEK,QAAQT,EAAEG,GAC1X,SAASkI,GAAGvK,GAAG,OAAOA,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,MAAM,IAAIwK,UAAU,sBAAsBxK,IAAK,IAAIyK,QAAG,EAAO,SAASC,GAAE1K,GAAG,IAAI,IAAIC,EAAE,GAAG+C,EAAEhD,IAAIC,GAAGwK,GAAGzH,EAAEhD,MAAM,OAAOC,EAAE,IAAI0K,QAAG,EAAO,SAASC,GAAE5K,GAAG,MAAM,IAAI2K,GAAG3K,GAC/P,SAASmK,GAAEnK,EAAEC,EAAEgC,EAAE,IAAI,KAAK,mBAAmBhC,GAAG,MAAM,IAAIuK,UAAU,2DAA2D,IAAItI,EAAEjC,EAAEsJ,KAAsE,GAAjEvJ,GAAG4K,GAAE,SAAS1I,EAAE,iDAAoD8G,GAAGsB,eAAetK,GAAG,CAAC,GAAGiC,EAAE4I,GAAG,OAAOD,GAAE,yBAAyB1I,EAAE,WAAW8G,GAAGhJ,GAAGC,SAASgJ,GAAGjJ,GAAG+I,GAAGuB,eAAetK,KAAKC,EAAE8I,GAAG/I,UAAU+I,GAAG/I,GAAGC,EAAEmK,SAAQ,SAAS/H,GAAGA,QAAO,SAASyI,GAAG9K,GAAG4K,GAAE5K,EAAE+K,GAAGC,GAAGC,GAAG1B,KAAK,6BAA6B,IAAI2B,IAAG,EAAG,SAASC,MAC5c,SAASC,GAAGpL,KAAKA,EAAEqL,MAAMC,MAAM,IAAItL,EAAEqL,MAAMC,QAAQtL,EAAEuL,GAAGvL,EAAEwL,GAAGC,GAAGzL,EAAEuL,IAAIvL,EAAEgL,GAAGC,GAAGQ,GAAGzL,EAAE8G,KAAmH,IAAI4E,GAAG,GAAGC,GAAG,GAAG,SAASC,KAAK,KAAKD,GAAGhJ,QAAQ,CAAC,IAAI3C,EAAE2L,GAAGlD,MAAMzI,EAAE+K,GAAGc,IAAG,EAAG7L,EAAU,UAAK,IAAI8L,QAAG,EAAOC,GAAG,GAC/S,SAASC,GAAGhM,EAAEC,GAAwJ,OAArJA,EAAE+K,IAAI/K,EAAE6G,IAAIiD,GAAG,8CAA8C9J,EAAEuL,MAAOvL,EAAEsL,IAAIxB,GAAG,oDAAoD9J,EAAEoL,MAAM,CAACC,MAAM,GAAUW,GAAG9L,OAAOyJ,OAAO5J,EAAE,CAAC+K,GAAG,CAACO,MAAMrL,MAAM,SAASgM,GAAGjM,GAAG,MAAG,oBAAqBkM,sBAA4BD,GAAGhM,GAAGA,EAAED,IAAEkL,GAAG,IAAIgB,qBAAqBjM,IAAImL,GAAGnL,EAAE8K,MAAgEI,GAAGlL,IAAIiL,GAAGiB,WAAWlM,KAA/EgM,GAAGhM,IAAI,IAAIgC,EAAEhC,EAAE8K,GAAiC,OAA9B9I,EAAEsJ,IAAIL,GAAGkB,SAASnM,EAAE,CAAC8K,GAAG9I,GAAGhC,GAAUA,IAAsCD,IAAG,SAASqM,MAClb,SAASC,GAAGtM,EAAEC,EAAEgC,GAAG,QAAG,IAASjC,EAAEC,GAAGsM,GAAG,CAAC,IAAIrK,EAAElC,EAAEC,GAAGD,EAAEC,GAAG,WAA6K,OAAlKD,EAAEC,GAAGsM,GAAGjC,eAAekC,UAAU7J,SAASiI,GAAE,aAAa3I,EAAE,iDAAiDuK,UAAU7J,OAAO,uBAAuB3C,EAAEC,GAAGsM,GAAG,MAAavM,EAAEC,GAAGsM,GAAGC,UAAU7J,QAAQ8J,MAAM7F,KAAK4F,YAAYxM,EAAEC,GAAGsM,GAAG,GAAGvM,EAAEC,GAAGsM,GAAGrK,EAAEwK,IAAIxK,GACtT,SAASyK,GAAG3M,EAAEC,EAAEgC,GAAGtC,EAAE2K,eAAetK,UAAK,IAASiC,QAAG,IAAStC,EAAEK,GAAGuM,SAAI,IAAS5M,EAAEK,GAAGuM,GAAGtK,KAAK2I,GAAE,gCAAgC5K,EAAE,WAAWsM,GAAG3M,EAAEK,EAAEA,GAAGL,EAAE2K,eAAerI,IAAI2I,GAAE,uFAAuF3I,EAAE,MAAMtC,EAAEK,GAAGuM,GAAGtK,GAAGhC,IAAIN,EAAEK,GAAGC,OAAE,IAASgC,IAAItC,EAAEK,GAAG4M,GAAG3K,IAAI,SAAS4K,GAAG7M,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,GAAGrD,KAAK2C,KAAKvJ,EAAE4G,KAAKiD,YAAY5J,EAAE2G,KAAKkG,GAAG7K,EAAE2E,KAAK6E,GAAGvJ,EAAE0E,KAAKmG,GAAG1K,EAAEuE,KAAKoG,GAAG1K,EAAEsE,KAAKqG,GAAGxK,EAAEmE,KAAKsG,GAAGjD,EAAErD,KAAKuG,GAAG,GAC3b,SAASC,GAAGpN,EAAEC,EAAEgC,GAAG,KAAKhC,IAAIgC,GAAGhC,EAAEgN,IAAIrC,GAAE,gCAAgC3I,EAAEsH,KAAK,wBAAwBtJ,EAAEsJ,MAAMvJ,EAAEC,EAAEgN,GAAGjN,GAAGC,EAAEA,EAAE8M,GAAG,OAAO/M,EAAE,SAASqN,GAAGrN,EAAEC,GAAG,OAAG,OAAOA,GAAS2G,KAAK0G,IAAI1C,GAAE,uBAAuBhE,KAAK2C,MAAM,IAAEtJ,EAAE8K,IAAIH,GAAE,gBAAgB2C,GAAGtN,GAAG,UAAU2G,KAAK2C,MAAMtJ,EAAE8K,GAAGjE,IAAI8D,GAAE,mDAAmDhE,KAAK2C,MAAa6D,GAAGnN,EAAE8K,GAAGjE,GAAG7G,EAAE8K,GAAGC,GAAGC,GAAGrE,KAAKqE,KACzX,SAASuC,GAAGxN,EAAEC,GAAG,GAAG,OAAOA,EAAE,CAA8C,GAA7C2G,KAAK0G,IAAI1C,GAAE,uBAAuBhE,KAAK2C,MAAS3C,KAAK6G,GAAG,CAAC,IAAIxL,EAAE2E,KAAK8G,KAAiC,OAA5B,OAAO1N,GAAGA,EAAE0I,KAAK9B,KAAK6E,GAAGxJ,GAAUA,EAAE,OAAO,EAA+R,GAA7RhC,EAAE8K,IAAIH,GAAE,gBAAgB2C,GAAGtN,GAAG,UAAU2G,KAAK2C,MAAMtJ,EAAE8K,GAAGjE,IAAI8D,GAAE,mDAAmDhE,KAAK2C,OAAO3C,KAAK+G,IAAI1N,EAAE8K,GAAGC,GAAG2C,IAAI/C,GAAE,oCAAoC3K,EAAE8K,GAAGS,GAAGvL,EAAE8K,GAAGS,GAAGjC,KAAKtJ,EAAE8K,GAAGC,GAAGzB,MAAM,sBAAsB3C,KAAK2C,MAAMtH,EAAEmL,GAAGnN,EAAE8K,GAAGjE,GAAG7G,EAAE8K,GAAGC,GAAGC,GAAGrE,KAAKqE,IAAOrE,KAAK6G,GAAG,YAAO,IAASxN,EAAE8K,GAAGQ,IAAIX,GAAE,mDACxdhE,KAAKgH,IAAI,KAAK,EAAE3N,EAAE8K,GAAGS,KAAK5E,KAAK3E,EAAEhC,EAAE8K,GAAGQ,GAAGX,GAAE,oCAAoC3K,EAAE8K,GAAGS,GAAGvL,EAAE8K,GAAGS,GAAGjC,KAAKtJ,EAAE8K,GAAGC,GAAGzB,MAAM,sBAAsB3C,KAAK2C,MAAM,MAAM,KAAK,EAAEtH,EAAEhC,EAAE8K,GAAGQ,GAAG,MAAM,KAAK,EAAE,GAAGtL,EAAE8K,GAAGS,KAAK5E,KAAK3E,EAAEhC,EAAE8K,GAAGQ,OAAO,CAAC,IAAIrJ,EAAEjC,EAAE4N,QAAQ5L,EAAE2E,KAAKkH,GAAG7L,EAAE8L,IAAE,WAAW7L,EAAU,aAAO,OAAOlC,GAAGA,EAAE0I,KAAK9B,KAAK6E,GAAGxJ,GAAG,MAAM,QAAQ2I,GAAE,+BAA+B,OAAO3I,EACpW,SAAS+L,GAAGhO,EAAEC,GAAG,OAAG,OAAOA,GAAS2G,KAAK0G,IAAI1C,GAAE,uBAAuBhE,KAAK2C,MAAM,IAAEtJ,EAAE8K,IAAIH,GAAE,gBAAgB2C,GAAGtN,GAAG,UAAU2G,KAAK2C,MAAMtJ,EAAE8K,GAAGjE,IAAI8D,GAAE,mDAAmDhE,KAAK2C,MAAMtJ,EAAE8K,GAAGC,GAAG2C,IAAI/C,GAAE,mCAAmC3K,EAAE8K,GAAGC,GAAGzB,KAAK,sBAAsB3C,KAAK2C,MAAa6D,GAAGnN,EAAE8K,GAAGjE,GAAG7G,EAAE8K,GAAGC,GAAGC,GAAGrE,KAAKqE,KAChV,SAASgD,GAAEjO,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,EAAEC,EAAEgE,EAAEC,GAAGvH,KAAK2C,KAAKvJ,EAAE4G,KAAKqE,GAAGhL,EAAE2G,KAAK0G,GAAGrL,EAAE2E,KAAK+G,GAAGzL,EAAE0E,KAAK6G,GAAGpL,EAAEuE,KAAKwH,GAAG9L,EAAEsE,KAAKgH,GAAGnL,EAAEmE,KAAKyH,GAAGpE,EAAErD,KAAK8G,GAAGxD,EAAEtD,KAAKkH,GAAGI,EAAEtH,KAAK6E,GAAG0C,EAAE9L,QAAG,IAASpC,EAAE8M,GAAGnG,KAAK0H,WAAWd,IAAI5G,KAAK0H,WAAWpM,EAAEmL,GAAGW,GAAGpH,KAAK2H,GAAG,MAAM,SAASC,GAAGxO,EAAEC,EAAEgC,GAAGtC,EAAE2K,eAAetK,IAAI+J,GAAG,4CAAuC,IAASpK,EAAEK,GAAGuM,SAAI,IAAStK,EAAEtC,EAAEK,GAAGuM,GAAGtK,GAAGhC,GAAGN,EAAEK,GAAGC,EAAEN,EAAEK,GAAG0M,GAAGzK,GAChJ,SAASwM,GAAEzO,EAAEC,GAAU,IAAIgC,GAAXjC,EAAE0K,GAAE1K,IAAW0O,SAAS,KAAjQ,SAAY1O,EAAEC,GAAG,IAAIgC,EAAE,GAAG,OAAO,WAAiD,GAAtCA,EAAEU,OAAO,EAAExC,OAAOC,OAAO6B,EAAEuK,WAAcxM,EAAE0O,SAAS,KAAK,CAAC,IAAIxM,EAAEvC,EAAE,WAAWK,GAAGkC,EAAED,GAAGA,EAAEU,OAAOT,EAAEuK,MAAM,KAAK,CAACxM,GAAG0O,OAAO1M,IAAIC,EAAE0M,KAAK,KAAK3O,QAAQiC,EAAEuE,EAAExG,GAAGwM,MAAM,KAAKxK,GAAG,OAAOC,GAAgD2M,CAAG7O,EAAEC,GAAGwG,EAAExG,GAAgF,MAA7E,mBAAmBgC,GAAG2I,GAAE,2CAA2C5K,EAAE,KAAKC,GAAUgC,EAAE,IAAI6M,QAAG,EAAO,SAASC,GAAG/O,GAAW,IAAIC,EAAEyK,GAAd1K,EAAEgP,GAAGhP,IAAmB,OAAL6H,GAAE7H,GAAUC,EACra,SAASgP,GAAGjP,EAAEC,GAA2E,IAAIiC,EAAE,GAAGG,EAAE,GAAgB,MAAbpC,EAAEmK,SAAxF,SAASnI,EAAEK,GAAGD,EAAEC,IAAI0G,GAAG1G,KAAK2G,GAAG3G,GAAG2G,GAAG3G,GAAG8H,QAAQnI,IAAIC,EAAEwG,KAAKpG,GAAGD,EAAEC,IAAG,OAAsC,IAAIwM,GAAG9O,EAAE,KAAKkC,EAAEgN,IAAIH,IAAII,KAAK,CAAC,QAAS,SAASC,GAAGpP,EAAEC,GAAG,IAAI,IAAIgC,EAAE,GAAGC,EAAE,EAAEA,EAAElC,EAAEkC,IAAID,EAAEyG,KAAKvF,GAAGlD,GAAG,GAAGiC,IAAI,OAAOD,EACtO,SAASoN,GAAGrP,GAAG,IAAIC,EAAEmJ,SAAS,KAAKnJ,aAAamJ,UAAU,MAAM,IAAIoB,UAAU,4CAA4CvK,EAAE,4BAA4B,IAAIgC,EAAEkH,GAAGlJ,EAAEsJ,MAAM,uBAAsB,eAA6D,OAA/CtH,EAAE0H,UAAU1J,EAAE0J,UAAU1H,EAAE,IAAIA,GAAEjC,EAAEC,EAAEwM,MAAMxK,EAAEjC,cAAuBG,OAAOH,EAAEiC,EACzR,SAASqN,GAAGtP,EAAEC,EAAEgC,EAAEC,EAAEG,GAAG,IAAIC,EAAErC,EAAE0C,OAAO,EAAEL,GAAGsI,GAAE,kFAAkF,IAAInI,EAAE,OAAOxC,EAAE,IAAI,OAAOgC,EAAEgI,GAAE,EAAG,IAAIhI,EAAE,EAAEA,EAAEhC,EAAE0C,SAASV,EAAE,GAAG,OAAOhC,EAAEgC,SAAI,IAAShC,EAAEgC,GAAGsM,GAAG,CAACtE,GAAE,EAAG,MAAM,IAAIC,EAAE,SAASjK,EAAE,GAAGsJ,KAAK2E,EAAE,GAAGC,EAAE,GAAG,IAAIlM,EAAE,EAAEA,EAAEK,EAAE,IAAIL,EAAEiM,IAAI,IAAIjM,EAAE,KAAK,IAAI,MAAMA,EAAEkM,IAAI,IAAIlM,EAAE,KAAK,IAAI,MAAMA,EAAE,QAAQjC,EAAE,mBAAmBkJ,GAAGlJ,GAAG,IAAIkO,EAAE,kCAAkC5L,EAAE,GAAG,oCAAoCtC,EAAE,8DACpcsC,EAAE,GAAG,iBAAiB2H,IAAIjK,GAAG,2BAA2B,IAAIuP,EAAEtF,EAAE,cAAc,OAA4K,IAArKiE,EAAE,iEAAiEsB,MAAM,KAAKtN,EAAE,CAAC0I,GAAE1I,EAAEG,EAAEuG,GAAG3I,EAAE,GAAGA,EAAE,IAAIwC,IAAIzC,GAAG,yCAAyCuP,EAAE,cAAkBtN,EAAE,EAAEA,EAAEK,EAAE,IAAIL,EAAEjC,GAAG,UAAUiC,EAAE,kBAAkBA,EAAE,eAAesN,EAAE,QAAQtN,EAAE,SAAShC,EAAEgC,EAAE,GAAGsH,KAAK,KAAK2E,EAAExF,KAAK,UAAUzG,GAAGC,EAAEwG,KAAKzI,EAAEgC,EAAE,IAA+G,GAA3GQ,IAAI0L,EAAE,aAAa,EAAEA,EAAExL,OAAO,KAAK,IAAIwL,GAAGnO,IAAIkK,EAAE,YAAY,IAAI,cAAc,EAAEiE,EAAExL,OAAO,KAAK,IAAIwL,EAAE,OAAUlE,EAAEjK,GACxf,sCAAsC,IAAIiC,EAAEQ,EAAE,EAAE,EAAER,EAAEhC,EAAE0C,SAASV,EAAEK,EAAE,IAAIL,EAAE,YAAY,OAAOA,EAAE,GAAG,QAAQ,OAAOhC,EAAEgC,GAAGsM,KAAKvO,GAAGsC,EAAE,SAASA,EAAE,SAASrC,EAAEgC,GAAGsH,KAAK,KAAK2E,EAAExF,KAAKpG,EAAE,SAASJ,EAAEwG,KAAKzI,EAAEgC,GAAGsM,KAAkF,OAA7ErE,IAAIlK,GAAG,sDAAsDkO,EAAExF,KAAK1I,EAAE,OAAcqP,GAAGnB,GAAGzB,MAAM,KAAKvK,GAAG,IAAIuN,GAAG,GAAGC,GAAE,CAAC,GAAG,CAACpE,WAAM,GAAQ,CAACA,MAAM,MAAM,CAACA,OAAM,GAAI,CAACA,OAAM,IAAK,SAASqE,GAAG3P,GAAG,EAAEA,GAAG,KAAM0P,GAAE1P,GAAG4P,KAAKF,GAAE1P,QAAG,EAAOyP,GAAG/G,KAAK1I,IACxa,SAAS6P,GAAE7P,GAA+C,OAA5CA,GAAG4K,GAAE,oCAAoC5K,GAAU0P,GAAE1P,GAAGsL,MAAM,SAASyC,GAAE/N,GAAG,OAAOA,GAAG,UAAK,EAAO,OAAO,EAAE,KAAK,KAAK,OAAO,EAAE,KAAK,EAAG,OAAO,EAAE,KAAK,EAAG,OAAO,EAAE,QAAQ,IAAIC,EAAEwP,GAAG9M,OAAO8M,GAAGhH,MAAMiH,GAAE/M,OAA2B,OAApB+M,GAAEzP,GAAG,CAAC2P,GAAG,EAAEtE,MAAMtL,GAAUC,GACnP,SAAS6P,GAAG9P,EAAEC,EAAEgC,GAAG,OAAOhC,GAAG,KAAK,EAAE,OAAO,SAASiC,GAAG,OAAO0E,KAAKkC,cAAc7G,EAAEc,EAAEC,GAAGd,KAAK,KAAK,EAAE,OAAO,SAASA,GAAG,OAAO0E,KAAKkC,cAAc7G,EAAEgB,EAAEC,GAAIhB,GAAG,KAAK,KAAK,EAAE,OAAO,SAASA,GAAG,OAAO0E,KAAKkC,cAAc7G,EAAEkB,EAAEC,GAAGlB,GAAG,KAAK,QAAQ,MAAM,IAAIsI,UAAU,yBAAyBxK,IAAK,SAAS+P,GAAG/P,EAAEC,GAAG,IAAIgC,EAAE+G,GAAGhJ,GAA+C,YAA5C,IAASiC,GAAG2I,GAAE3K,EAAE,qBAAqB8O,GAAG/O,IAAWiC,EAAE,SAASsL,GAAGvN,GAAG,GAAG,OAAOA,EAAE,MAAM,OAAO,IAAIC,SAASD,EAAE,MAAM,WAAWC,GAAG,UAAUA,GAAG,aAAaA,EAAED,EAAE0J,WAAW,GAAG1J,EACve,SAAS+K,GAAG/K,EAAEC,GAAG,OAAOA,GAAG,KAAK,EAAE,OAAO,SAASgC,GAAG,OAAO2E,KAAKkC,aAAazF,EAAGpB,GAAG,KAAK,KAAK,EAAE,OAAO,SAASA,GAAG,OAAO2E,KAAKkC,aAAaxF,EAAGrB,GAAG,KAAK,QAAQ,MAAM,IAAIuI,UAAU,uBAAuBxK,IAC1M,SAAS8G,GAAG9G,EAAEC,EAAEgC,GAAG,OAAOhC,GAAG,KAAK,EAAE,OAAOgC,EAAE,SAASC,GAAG,OAAOa,EAAEb,IAAI,SAASA,GAAG,OAAOc,EAAEd,IAAI,KAAK,EAAE,OAAOD,EAAE,SAASC,GAAG,OAAOe,EAAEf,GAAG,IAAI,SAASA,GAAG,OAAOgB,EAAGhB,GAAG,IAAI,KAAK,EAAE,OAAOD,EAAE,SAASC,GAAG,OAAOiB,EAAEjB,GAAG,IAAI,SAASA,GAAG,OAAOkB,EAAElB,GAAG,IAAI,QAAQ,MAAM,IAAIsI,UAAU,yBAAyBxK,IAAK,SAASiL,GAAGjL,EAAEC,GAAG,IAAI,IAAIgC,EAAEoI,MAAMrK,GAAGkC,EAAE,EAAEA,EAAElC,IAAIkC,EAAED,EAAEC,GAAG6N,GAAG5M,GAAGlD,GAAG,GAAGiC,GAAG,aAAaA,GAAG,OAAOD,EAAE,IAAIsJ,GAAG,GAAG,SAASyE,GAAGhQ,GAAG,IAAIC,EAAEsL,GAAGvL,GAAG,YAAO,IAASC,EAAEyK,GAAE1K,GAAGC,EAAE,IAAIsO,GAAG,GAC5c,SAAS/C,KAAK,MAAM,iBAAiByE,WAAWA,WAAW7G,SAAS,cAATA,GAA6E,IAAIqC,GAAG,GAAGjE,GAAG,GAAGP,GAAG,GAC3J,SAASiJ,KAAK,IAAI/I,GAAG,CAAC,IAAuNlH,EAAnND,EAAE,CAACmQ,KAAK,WAAWC,QAAQ,WAAWC,KAAK,IAAIC,IAAI,IAAIC,KAAK,iBAAiBC,MAAM,iBAAiBC,WAAWA,UAAUC,WAAWD,UAAUC,UAAU,IAAI,KAAKhQ,QAAQ,IAAI,KAAK,SAASiQ,EAAEtQ,GAAI,kBAAoB,IAAIJ,KAAKgH,QAAG,IAASA,GAAGhH,UAAUD,EAAEC,GAAGD,EAAEC,GAAGgH,GAAGhH,GAAG,IAAIgC,EAAE,GAAG,IAAIhC,KAAKD,EAAEiC,EAAEyG,KAAKzI,EAAE,IAAID,EAAEC,IAAIkH,GAAGlF,EAAE,OAAOkF,GAAG,IAAIA,GAAG0E,GAAG,CAAC,KAAK,GAAG,IAAI/D,GAAG,GAAG,SAAS8I,GAAG5Q,GAAG,OAAO,GAAIA,EAAE,IAAI,GAAIA,EAAE,KAAK,GAAIA,EAAE,KAAK,SAASiI,GAAGjI,EAAEC,GAAG,IAAI,IAAIgC,EAAE,EAAEC,EAAE,EAAEA,GAAGjC,EAAEgC,GAAGjC,EAAEkC,MAAM,OAAOD,EACle,IAAI6K,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI+D,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,SAAS7J,GAAGhH,EAAEC,GAAG,IAAID,EAAE,IAAI8Q,KAAK9Q,EAAE+Q,WAAW,EAAE9Q,GAAG,CAAC,IAAIgC,EAAEjC,EAAEgR,WAAW9O,GAAG0O,GAAG5Q,EAAEiR,eAAenE,GAAG+D,IAAI5O,GAAG,KAAGhC,EAAEiC,EAAElC,EAAEkR,WAAoH,CAAClR,EAAEmR,QAAQnR,EAAEkR,UAAUjR,GAAG,MAApIA,GAAGiC,EAAElC,EAAEkR,UAAU,EAAElR,EAAEmR,QAAQ,GAAG,GAAGlP,EAAEjC,EAAEoR,SAASnP,EAAE,IAAIjC,EAAEoR,SAAS,GAAGpR,EAAEqR,YAAYrR,EAAEiR,cAAc,IAAyC,OAAOjR,EAQ9P8J,GAAGnK,EAAE2R,cAAcjI,GAAG,iBAAiB,IAAI,IAAI4D,GAAG5C,MAAM,KAAKqC,GAAG,EAAE,IAAIA,KAAKA,GAAGO,GAAGP,IAAInK,OAAOC,aAAakK,IAAIjC,GAAGwC,GAAGtC,GAAGhL,EAAE4R,aAAalI,GAAG,gBAAgBgD,GAAE1C,UAAU6H,UAAU,SAASxR,GAAG,KAAK4G,gBAAgByF,IAAGrM,aAAaqM,IAAG,OAAM,EAAG,IAAIpM,EAAE2G,KAAKmE,GAAGC,GAAGC,GAAGhJ,EAAE2E,KAAKmE,GAAGjE,GAAG5E,EAAElC,EAAE+K,GAAGC,GAAGC,GAAG,IAAIjL,EAAEA,EAAE+K,GAAGjE,GAAG7G,EAAE8M,IAAI9K,EAAEhC,EAAEgN,GAAGhL,GAAGhC,EAAEA,EAAE8M,GAAG,KAAK7K,EAAE6K,IAAI/M,EAAEkC,EAAE+K,GAAGjN,GAAGkC,EAAEA,EAAE6K,GAAG,OAAO9M,IAAIiC,GAAGD,IAAIjC,GAChdqM,GAAE1C,UAAUkE,MAAM,WAAgC,GAArBjH,KAAKmE,GAAGjE,IAAIgE,GAAGlE,MAASA,KAAKmE,GAAG0G,GAAG,OAAO7K,KAAKmE,GAAGM,MAAMC,OAAO,EAAE1E,KAAK,IAAI5G,EAAEiM,GAAGhM,EAAEE,OAAO8B,EAAEhC,EAAE2J,OAAO1H,EAAE/B,OAAOuR,eAAe9K,MAAMvE,EAAEuE,KAAKmE,GAAgI,OAA7H/K,EAAEA,EAAEiC,EAAE2M,KAAK3O,EAAEiC,EAAE,CAAC6I,GAAG,CAACO,MAAM,CAACD,MAAMhJ,EAAEgJ,MAAMQ,GAAGxJ,EAAEwJ,GAAG4F,GAAGpP,EAAEoP,GAAG3K,GAAGzE,EAAEyE,GAAGkE,GAAG3I,EAAE2I,GAAGO,GAAGlJ,EAAEkJ,GAAGC,GAAGnJ,EAAEmJ,SAAUT,GAAGM,MAAMC,OAAO,EAAEtL,EAAE+K,GAAGc,IAAG,EAAU7L,GAAGqM,GAAE1C,UAAkB,OAAE,WAAW/C,KAAKmE,GAAGjE,IAAIgE,GAAGlE,MAAMA,KAAKmE,GAAGc,KAAKjF,KAAKmE,GAAG0G,IAAI7G,GAAE,yCAAyCO,GAAGvE,MAAMwE,GAAGxE,KAAKmE,IAAInE,KAAKmE,GAAG0G,KAAK7K,KAAKmE,GAAGQ,QAAG,EAAO3E,KAAKmE,GAAGjE,QAAG,IACxeuF,GAAE1C,UAAUgI,UAAU,WAAW,OAAO/K,KAAKmE,GAAGjE,IAAIuF,GAAE1C,UAAUiI,YAAY,WAA0J,OAA/IhL,KAAKmE,GAAGjE,IAAIgE,GAAGlE,MAAMA,KAAKmE,GAAGc,KAAKjF,KAAKmE,GAAG0G,IAAI7G,GAAE,yCAAyCe,GAAGjD,KAAK9B,MAAM,IAAI+E,GAAGhJ,QAAQmJ,IAAIA,GAAGF,IAAIhF,KAAKmE,GAAGc,IAAG,EAAUjF,MAAMjH,EAAEkS,0BAA0B,WAAW,OAAO1R,OAAO2R,KAAK/F,IAAIpJ,QAAQhD,EAAEoS,0BAA0B,WAAW,IAAS9R,EAALD,EAAE,GAAK,IAAIC,KAAK8L,GAAGA,GAAGzB,eAAerK,IAAID,EAAE0I,KAAKqD,GAAG9L,IAAI,OAAOD,GAAGL,EAAEqS,oBAAoBpG,GAAGjM,EAAEsS,iBAAiB,SAASjS,GAAG8L,GAAG9L,EAAE2L,GAAGhJ,QAAQmJ,IAAIA,GAAGF,KACpfqC,GAAEtE,UAAUuI,GAAG,SAASlS,GAA2B,OAAxB4G,KAAKyH,KAAKrO,EAAE4G,KAAKyH,GAAGrO,IAAWA,GAAGiO,GAAEtE,UAAUwI,GAAG,SAASnS,GAAG4G,KAAK6E,IAAI7E,KAAK6E,GAAGzL,IAAIiO,GAAEtE,UAAUyI,eAAe,EAAEnE,GAAEtE,UAAU0I,qBAAqBxJ,GAAGoF,GAAEtE,UAAU2I,aAAa,SAAStS,GAAM,OAAOA,GAAEA,EAAU,UACzOiO,GAAEtE,UAAUb,aAAa,SAAS9I,GAAG,SAASC,IAAI,OAAO2G,KAAK6G,GAAGzB,GAAGpF,KAAKqE,GAAG6B,GAAG,CAAC9B,GAAGpE,KAAKwH,GAAGtH,GAAG7E,EAAEuJ,GAAG5E,KAAK2E,GAAGvL,IAAIgM,GAAGpF,KAAKqE,GAAG6B,GAAG,CAAC9B,GAAGpE,KAAKE,GAAG9G,IAAI,IAAIiC,EAAE2E,KAAKsL,GAAGlS,GAAG,IAAIiC,EAAE,OAAO2E,KAAKuL,GAAGnS,GAAG,KAAK,IAAIkC,EAjCmH,SAAYlC,EAAEC,GAAG,SAAI,IAASA,GAAG2K,GAAE,+BAA+B5K,EAAE+M,IAAI9M,EAAED,EAAEiN,GAAGhN,GAAGD,EAAEA,EAAE+M,GAAG,OAAOhB,GAAG9L,GAiCpNsS,CAAG3L,KAAKqE,GAAGhJ,GAAG,QAAG,IAASC,EAAG,OAAG,IAAIA,EAAE6I,GAAGM,MAAMC,OAAapJ,EAAE6I,GAAGjE,GAAG7E,EAAEC,EAAE6I,GAAGQ,GAAGvL,EAAEkC,EAAE2L,UAAQ3L,EAAEA,EAAE2L,QAAQjH,KAAKuL,GAAGnS,GAAUkC,GAA0B,GAAxBA,EAAE0E,KAAKqE,GAAG+B,GAAG/K,KAAGC,EAAEwJ,GAAGxJ,IAAS,OAAOjC,EAAE2O,KAAKhI,MAAM1E,EAAE0E,KAAK+G,GAAGzL,EAAEsQ,GAAGtQ,EAAEuQ,YAAY,IAAIpQ,EAjCtT,SAASqQ,EAAG1S,EAAEC,EAAEgC,GAAG,OAAGhC,IAAIgC,EAASjC,OAAK,IAASiC,EAAE8K,IAAqC,QAAtB/M,EAAE0S,EAAG1S,EAAEC,EAAEgC,EAAE8K,KAAhB,KAAyC9K,EAAEiL,GAAGlN,GAiC6M0S,CAAGzQ,EAAE2E,KAAKqE,GAAG/I,EAAE+I,IAAI,OAAO,OAAO5I,EAAEpC,EAAE2O,KAAKhI,MAAMA,KAAK6G,GAAGzB,GAAG9J,EAAE+I,GAAG6B,GAAG,CAAC9B,GAAG9I,EAAE4E,GAAGzE,EAAEmJ,GAAG5E,KAAK2E,GAAGvL,IAAIgM,GAAG9J,EAAE+I,GAAG6B,GACrf,CAAC9B,GAAG9I,EAAE4E,GAAGzE,KAAKyM,GAAGnP,EAAEgT,iBAAiBtJ,GAAG,oBAAoB1J,EAAEiT,oBAAoB,WAAW,IAAI,IAAI5S,EAAE,EAAEC,EAAE,EAAEA,EAAEyP,GAAE/M,SAAS1C,OAAE,IAASyP,GAAEzP,MAAMD,EAAE,OAAOA,GAAGL,EAAEkT,gBAAgB,WAAW,IAAI,IAAI7S,EAAE,EAAEA,EAAE0P,GAAE/M,SAAS3C,EAAE,QAAG,IAAS0P,GAAE1P,GAAG,OAAO0P,GAAE1P,GAAG,OAAO,MACpP,IAAI8S,GAAG,CAAC5E,EAAE,SAASlO,GAAG,OAAOkI,GAAGlI,EAAE,IAAI,IAAImO,EAAE,SAASnO,GAAe,IAAIC,GAAhBD,EAAE,IAAI2H,EAAG3H,IAAWiI,KAAuD,OAAlDhI,EAAEoH,OAAOpH,EAAEmH,IAAG,GAAIgB,MAAMnI,EAAEqH,IAAG,GAAIa,GAAEO,KAAK1I,GAAGC,EAAEwH,KAAYzH,EAAE+H,MAAMzB,GAAG,SAAStG,GAAqF,MAAlFiB,EAAE,0EAA0EY,GAAG,EAAS7B,GAAIsI,GAAG,WAAW,IAAIH,GAAExF,OAAO,OAAO,EAAE,IAAI3C,EAAEmI,GAAEA,GAAExF,OAAO,GAAe,OAAZ3C,EAAEiI,KAAKR,KAAYzH,EAAE8H,MAAMpE,GAAG,SAAS1D,GAAGA,GAAGsI,GAAG,IAAI3B,EAAE3G,KAAKgD,EAAE,WAAW+P,GAAE,GAAG,IAAI/S,EAAEmI,GAAEM,MAAMH,GAAGtI,EAAEiI,MAAMjI,EAAE4H,KAAKW,GAAE,GAAGtI,EAAE,WAAW,IAAID,EAAEuI,GAAE,IAAIvI,EAAE,OAAOuB,EAAE,EAAE,IAAItB,EAAE,IAAK0G,EAAE3G,GAAIgH,KAAK/E,EAAE,IAAI0F,EACze,GAD4e1F,EAAEgF,GAAGjH,GAAGiC,EAAEuF,GAAGxH,IACrfC,EAAE,OAAOsB,EAAE,EAAO,EAALU,EAAE6E,GAAK9G,EAAEqK,MAAMV,UAAUqJ,MAAMpE,KAAKpC,WAAW,IAAI,IAAItK,EAAE,EAAEA,EAAElC,EAAE2C,OAAOT,IAAI,CAAC,IAAIG,EAAErC,EAAEkC,GAAG,GAAG,IAAIG,GAAGA,IAAIpC,EAAE,MAAM,GAAG0N,GAAGtL,EAAEpC,EAAEgC,EAAEkF,MAAM,OAAO5F,EAAEc,EAAO,EAALJ,EAAE6E,GAAS,OAAJvF,EAAEtB,EAAc,EAALgC,EAAE6E,IAAMrE,EAAE,WAAW,IAAIzC,EAAEuI,GAAE,IAAIvI,EAAE,OAAOuB,EAAE,EAAE,IAAItB,EAAE,IAAK0G,EAAE3G,GAAIgH,KAAK/E,EAAE,IAAI0F,EAAmB,GAAhB1F,EAAEgF,GAAGjH,GAAGiC,EAAEuF,GAAGxH,IAAOC,EAAE,OAAOsB,EAAE,EAAO,EAALU,EAAE6E,GAAK9G,EAAEqK,MAAMV,UAAUqJ,MAAMpE,KAAKpC,WAAW,IAAI,IAAItK,EAAE,EAAEA,EAAElC,EAAE2C,OAAOT,IAAI,CAAC,IAAIG,EAAErC,EAAEkC,GAAG,GAAG,IAAIG,GAAGA,IAAIpC,EAAE,MAAM,GAAG0N,GAAGtL,EAAEpC,EAAEgC,EAAEkF,MAAM,OAAO5F,EAAEc,EAAO,EAALJ,EAAE6E,GAAS,OAAJvF,EAAEtB,EAAc,EAALgC,EAAE6E,IAAML,EAAE,WAAW,IAAIzG,EAAEuI,GAAE,IAAIvI,EAAE,OAAOuB,EAAE,EAAE,IAAItB,EAAE,IAAK0G,EAAE3G,GAAIgH,KACpf/E,EAAE,IAAI0F,EAAmB,GAAhB1F,EAAEgF,GAAGjH,GAAGiC,EAAEuF,GAAGxH,IAAOC,EAAE,OAAOsB,EAAE,EAAO,EAALU,EAAE6E,GAAK9G,EAAEqK,MAAMV,UAAUqJ,MAAMpE,KAAKpC,WAAW,IAAI,IAAItK,EAAE,EAAEA,EAAElC,EAAE2C,OAAOT,IAAI,CAAC,IAAIG,EAAErC,EAAEkC,GAAG,GAAG,IAAIG,GAAGA,IAAIpC,EAAE,MAAM,GAAG0N,GAAGtL,EAAEpC,EAAEgC,EAAEkF,MAAM,OAAO5F,EAAEc,EAAO,EAALJ,EAAE6E,GAAS,OAAJvF,EAAEtB,EAAc,EAALgC,EAAE6E,IAAMxD,GAAG,WAAW,IAAItD,EAAEuI,GAAE,IAAIvI,EAAE,OAAOuB,EAAE,EAAE,IAAItB,EAAE,IAAK0G,EAAE3G,GAAIgH,KAAK/E,EAAE,IAAI0F,EAAmB,GAAhB1F,EAAEgF,GAAGjH,GAAGiC,EAAEuF,GAAGxH,IAAOC,EAAE,OAAOsB,EAAE,EAAO,EAALU,EAAE6E,GAAK9G,EAAEqK,MAAMV,UAAUqJ,MAAMpE,KAAKpC,WAAW,IAAI,IAAItK,EAAE,EAAEA,EAAElC,EAAE2C,OAAOT,IAAI,CAAC,IAAIG,EAAErC,EAAEkC,GAAG,GAAG,IAAIG,GAAGA,IAAIpC,EAAE,MAAM,GAAG0N,GAAGtL,EAAEpC,EAAEgC,EAAEkF,MAAM,OAAO5F,EAAEc,EAAO,EAALJ,EAAE6E,GAAS,OAAJvF,EAAEtB,EAAc,EAALgC,EAAE6E,IAAMmM,EAAE5K,GAAG5E,GAAG,SAASzD,GAAGA,GAAG,IAAK2G,EAAE3G,GAAIyH,MACzfvE,GAAGsF,GAAGH,GAAG,SAASrI,GAAG,GAAGA,EAAE,CAAC,IAAIC,EAAE,IAAI0H,EAAG1H,EAAEgH,GAAGjH,GAAGA,EAAEC,EAAEgI,KAAKE,GAAEO,KAAKzI,GAAGD,EAAEsH,IAAG,GAAIkB,OAAO/C,EAAE,SAASzF,EAAEC,EAAEgC,GAA+B,MAA5B,IAAK0E,EAAE3G,GAAIwH,GAAGvH,EAAEgC,GAAGsG,GAAEvI,EAAEoI,KAAWpI,GAAIwI,GAAG,WAAW,OAAOJ,IAAI/F,EAAE,SAASrC,GAAe,IAAIC,GAAhBD,EAAE,IAAI2H,EAAG3H,IAAW8H,KAAqB,MAAhBS,KAAIA,GAAEtI,GAAGD,EAAE4H,KAAW3H,GAAIiJ,GAAG,SAASlJ,GAAG,IAAIC,EAAE0I,GAAG3I,UAAU2I,GAAG3I,GAAG,IAAIiC,EAAEhC,EAAEyN,GAAGxL,EAAEjC,EAAEwL,GAAGpJ,EAAEpC,EAAEiT,GAA6ElJ,GAAE,CAAChK,GAA3EqC,EAAE6M,KAAI,SAASzM,GAAG,OAAOA,EAAE0Q,MAAKxE,OAAOtM,EAAE6M,KAAI,SAASzM,GAAG,OAAOA,EAAE2Q,QAAc,SAAS3Q,GAAG,IAAIwH,EAAE,GACrU,OADwU5H,EAAE+H,SAAQ,SAASF,EAAEgE,GAAG,IAAIC,EAAE1L,EAAEyL,GAAGqB,EAAErF,EAAEmJ,GAAGC,EAAEpJ,EAAEqJ,GAAGC,EAAE/Q,EAAEyL,EAAE7L,EAAEM,QAAQ8Q,EAAEvJ,EAAEwJ,GAAGC,EAAEzJ,EAAE0J,GAAG3J,EAAEC,EAAE2J,IAAI,CAACC,KAAK,SAASC,GAAG,OAAO5F,EAAErF,aAAayG,EAAE+D,EAC9gBS,KAAKC,MAAM,SAASD,EAAEE,GAAG,IAAIC,EAAE,GAAGT,EAAEE,EAAEI,EAAEP,EAAElF,WAAW4F,EAAED,IAAIrL,GAAGsL,QAAa,CAAC,CAAC3K,KAAKtJ,EAAEsJ,KAAKT,aAAa,SAASoB,GAAG,IAASiE,EAALD,EAAE,GAAK,IAAIC,KAAKlE,EAAEiE,EAAEC,GAAGlE,EAAEkE,GAAG2F,KAAK5J,GAAQ,OAALhI,EAAEgI,GAAUgE,GAAGI,WAAW,SAASpE,EAAEgE,GAAG,IAAI,IAAIC,KAAKlE,EAAE,KAAKkE,KAAKD,GAAG,MAAM,IAAI1D,UAAU,oBAAoB2D,EAAE,KAAK,IAAIoB,EAAEtN,IAAI,IAAIkM,KAAKlE,EAAEA,EAAEkE,GAAG6F,MAAMzE,EAAErB,EAAEC,IAA0B,OAAtB,OAAOjE,GAAGA,EAAExB,KAAKxG,EAAEqN,GAAUA,GAAG6C,eAAe,EAAEC,qBAAqBxJ,GAAG0F,GAAGrM,QAAOiJ,GAAG,aAAapC,GAAG,SAAS/I,EAAEC,EAAEgC,EAAEC,EAAEG,GAAG,IAAIC,EAAEiI,GAAGtI,GAAUkI,GAAEnK,EAAE,CAACuJ,KAAZtJ,EAAEyK,GAAEzK,GAAe6I,aAAa,SAASrG,GAAG,QAAQA,GAAG6L,WAAW,SAAS7L,EACtgBwH,GAAG,OAAOA,EAAE/H,EAAEG,GAAG+P,eAAe,EAAEC,qBAAqB,SAAS5P,GAAG,GAAG,IAAIR,EAAE,IAAIgI,EAAElH,OAAO,GAAG,IAAId,EAAEgI,EAAEhH,MAAO,CAAA,GAAG,IAAIhB,EAAW,MAAM,IAAIuI,UAAU,8BAA8BvK,GAA3DgK,EAAE9G,EAA4D,OAAOyD,KAAKkC,aAAamB,EAAExH,GAAGH,KAAKiM,GAAG,QAAQ+E,EAAE,SAAStT,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,EAAEC,EAAEgE,EAAEC,EAAEoB,EAAE+D,GAAGnF,EAAEzD,GAAEyD,GAAG7L,EAAEmM,GAAEpM,EAAEC,GAAG2H,IAAIA,EAAEwE,GAAEhM,EAAEwH,IAAIiE,IAAIA,EAAEO,GAAEvE,EAAEgE,IAAIoF,EAAE7E,GAAEc,EAAE+D,GAAG,IAAIE,EAAEtK,GAAGiF,GAAGxB,GAAG6G,GAAE,WAAWvE,GAAG,oBAAoBd,EAAE,wBAAwB,CAACjM,OAAM8H,GAAE,CAAChK,EAAEC,EAAEgC,GAAGC,EAAE,CAACA,GAAG,IAAG,SAASuR,GAAU,GAAPA,EAAEA,EAAE,GAAMvR,EAAG,IAAIyR,EAAEF,EAAExI,GAAO8I,EAAEJ,EAAE7G,QAAQiH,EAAE1H,GAAE1C,UAAU8J,EAAEtK,GAAGqK,GAAE,WAAW,GAAGrT,OAAOuR,eAAe9K,QAC/gBqN,EAAE,MAAM,IAAItJ,GAAG,0BAA0BwD,GAAG,QAAG,IAAS+F,EAAEhE,GAAG,MAAM,IAAIvF,GAAGwD,EAAE,kCAAkC,IAAInD,EAAGkJ,EAAEhE,GAAG1D,UAAU7J,QAAQ,QAAG,IAASqI,EAAG,MAAM,IAAIL,GAAG,2BAA2BwD,EAAE,uCAAuC3B,UAAU7J,OAAO,iBAAiBxC,OAAO2R,KAAKoC,EAAEhE,IAAIxG,WAAW,yBAAyB,OAAOsB,EAAGyB,MAAM7F,KAAK4F,cAAa,IAAIyH,EAAE9T,OAAOyJ,OAAOmK,EAAE,CAAClK,YAAY,CAACyB,MAAMmI,KAAKA,EAAE9J,UAAUsK,EAAE,IAAIC,EAAE,IAAIrH,GAAGsB,EAAEsF,EAAEQ,EAAEX,EAAEK,EAAErR,EAAE2H,EAAEiE,GAAGyF,EAAE,IAAI1F,GAAEE,EAAE+F,GAAE,GAAG,GAAG,GAAIH,EAAE,IAAI9F,GAAEE,EAAE,IAAI+F,GAAE,GAAG,GAAG,GAAI,IAAI3H,EACrf,IAAI0B,GAAEE,EAAE,UAAU+F,GAAE,GAAG,GAAG,GAAwC,OAApCxI,GAAG1L,GAAG,CAACyS,YAAYsB,EAAEvB,GAAGjG,GAAIiC,GAAGgF,EAAEC,GAAS,CAACE,EAAEI,EAAExH,OAAOtJ,EAAE,SAASjD,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,GAAG,EAAErC,GAAG0B,OAAG,GAAQ,IAAIc,EAAE2M,GAAGnP,EAAEgC,GAAGI,EAAEoM,GAAEvM,EAAEG,GAAG2H,GAAE,GAAG,CAAChK,IAAG,SAASiK,GAAU,IAAIC,EAAE,gBAAbD,EAAEA,EAAE,IAA0BV,KAAoC,QAA/B,IAASU,EAAEgB,GAAGiF,KAAKjG,EAAEgB,GAAGiF,GAAG,SAAO,IAASjG,EAAEgB,GAAGiF,GAAGjQ,EAAE,GAAG,MAAM,IAAI0K,GAAG,+EAA+E1K,EAAE,GAAG,gBAAgBgK,EAAEV,KAAK,uGACzQ,OADgXU,EAAEgB,GAAGiF,GAAGjQ,EAAE,GAAG,KAAKgP,GAAG,oBACvfhF,EAAEV,KAAK,wBAAwB9G,IAAIuH,GAAE,GAAGvH,GAAE,SAASyL,GAAoD,OAAjDA,EAAEiG,OAAO,EAAE,EAAE,MAAMlK,EAAEgB,GAAGiF,GAAGjQ,EAAE,GAAGqP,GAAGpF,EAAEgE,EAAE,KAAK7L,EAAEC,GAAS,MAAW,OAAM4H,EAAE,SAASlK,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,GAAG,IAAIC,EAAEkF,GAAGnN,EAAEC,GAAGjC,EAAEyK,GAAEzK,GAAGqC,EAAEmM,GAAEpM,EAAEC,GAAG0H,GAAE,GAAG,CAAChK,IAAG,SAASkO,GAAG,SAASC,IAAIc,GAAG,eAAeM,EAAE,wBAAwBrF,GAAU,IAAIqF,GAAXrB,EAAEA,EAAE,IAAW3E,KAAK,IAAItJ,EAAEA,EAAE+F,WAAW,QAAQ/F,EAAEmU,OAAOnU,EAAEoU,UAAU,KAAKpK,GAAGiE,EAAEjD,GAAGkC,GAAGzE,KAAKzI,GAAG,IAAIqT,EAAEpF,EAAEjD,GAAG6B,GAAG0G,EAAEF,EAAErT,GACvR,YAD0R,IAASuT,QAAG,IAASA,EAAEjH,IAAIiH,EAAEc,YAAYpG,EAAE3E,MAAMiK,EAAE9G,KAAKzK,EAAE,GAAGkM,EAAEzB,GAAGzK,EAAE,EAAEkM,EAAEmG,UAAUpG,EAAE3E,KAAK+J,EAAErT,GAAGkO,IAAI7B,GAAGgH,EAAErT,EAAEsP,GAAG+D,EAAErT,GAAGsM,GAAGtK,EAAE,GAAGkM,GACnfnE,GAAE,GAAGE,GAAE,SAASuJ,GAAqE,OAAlEA,EAAEnE,GAAGC,EAAEkE,EAAEvF,EAAE5L,EAAEG,QAAG,IAAS6Q,EAAErT,GAAGsM,IAAIkH,EAAE/G,GAAGzK,EAAE,EAAEqR,EAAErT,GAAGwT,GAAGH,EAAErT,GAAGsM,GAAGtK,EAAE,GAAGwR,EAAQ,MAAW,OAAM5K,GAAG,SAAS7I,EAAEC,GAAUkK,GAAEnK,EAAE,CAACuJ,KAAZtJ,EAAEyK,GAAEzK,GAAe6I,aAAa,SAAS7G,GAAG,IAAIC,EAAE2N,GAAE5N,GAAS,OAAN0N,GAAG1N,GAAUC,GAAGoM,WAAW,SAASrM,EAAEC,GAAG,OAAO6L,GAAE7L,IAAIkQ,eAAe,EAAEC,qBAAqBxJ,GAAG0F,GAAG,QAAQgG,EAAE,SAASvU,EAAEC,EAAEgC,EAAEC,GAAG,SAASG,KAAKJ,EAAEsI,GAAGtI,GAAGhC,EAAEyK,GAAEzK,GAAGoC,EAAEmS,OAAO,GAAGrK,GAAEnK,EAAE,CAACuJ,KAAKtJ,EAAE4J,YAAYxH,EAAEyG,aAAa,SAASxG,GAAG,OAAOsE,KAAKiD,YAAY2K,OAAOlS,IAAIgM,WAAW,SAAShM,EAAEG,GAAG,OAAOA,EAAE6I,OAAO8G,eAAe,EAAEC,qBAAqBvC,GAAG7P,EACngBgC,EAAEC,GAAGqM,GAAG,OAAO5B,GAAG1M,EAAEoC,IAAIoS,EAAE,SAASzU,EAAEC,EAAEgC,GAAG,IAAIC,EAAE6N,GAAG/P,EAAE,QAAQC,EAAEyK,GAAEzK,GAAGD,EAAEkC,EAAE2H,YAAY3H,EAAE/B,OAAOyJ,OAAO1H,EAAE2H,YAAYF,UAAU,CAAC2B,MAAM,CAACA,MAAMrJ,GAAG4H,YAAY,CAACyB,MAAMnC,GAAGjH,EAAEqH,KAAK,IAAItJ,GAAE,kBAAiBD,EAAEwU,OAAOvS,GAAGC,EAAElC,EAAEC,GAAGiC,GAAGyB,GAAG,SAAS3D,EAAEC,EAAEgC,GAAGA,EAAEsI,GAAGtI,GAAUkI,GAAEnK,EAAE,CAACuJ,KAAZtJ,EAAEyK,GAAEzK,GAAe6I,aAAa,SAAS5G,GAAG,OAAOA,GAAGoM,WAAW,SAASpM,EAAEG,GAAG,OAAOA,GAAG+P,eAAe,EAAEC,qBAAqBtH,GAAG9K,EAAEgC,GAAGsM,GAAG,QAAQwE,EAAE,SAAS/S,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,GAAG,IAAIG,EAAE2M,GAAGnP,EAAEgC,GAAGjC,EAAE0K,GAAE1K,GAAGqC,EAAEoM,GAAEvM,EAAEG,GAAGsK,GAAG3M,GAAE,WAAWiP,GAAG,eAAejP,EAAE,wBAC9dyC,KAAIxC,EAAE,GAAG+J,GAAE,GAAGvH,GAAE,SAASwH,GAA2D,OAAxDuE,GAAGxO,EAAEsP,GAAGtP,EAAE,CAACiK,EAAE,GAAG,MAAM0E,OAAO1E,EAAE+I,MAAM,IAAI,KAAK3Q,EAAEC,GAAGrC,EAAE,GAAS,OAAM+J,EAAE,SAAShK,EAAEC,EAAEgC,EAAEC,EAAEG,GAAGpC,EAAEyK,GAAEzK,IAAI,IAAIoC,IAAIA,EAAE,YAAYA,EAAEkI,GAAGtI,GAAG,IAAIK,EAAE2H,GAAGA,EAAE,GAAG,IAAI/H,EAAE,CAAC,IAAIO,EAAE,GAAG,EAAER,EAAEK,EAAE2H,GAAGA,GAAGxH,IAAIA,EAAER,EAAEhC,EAAEyO,SAAS,YAAY,SAASzE,EAAEC,GAAG,OAAOA,IAAI,GAAG,SAASD,EAAEC,GAAG,OAAOA,GAAGC,GAAEnK,EAAE,CAACuJ,KAAKtJ,EAAE6I,aAAaxG,EAAEgM,WAAWrM,EAAEmQ,eAAe,EAAEC,qBAAqBvL,GAAG7G,EAAEoC,EAAE,IAAIH,GAAGqM,GAAG,QAAQ5H,EAAE,SAAS3G,EAAEC,EAAEgC,GAAG,SAASC,EAAEI,GAAS,IAAIG,EAAEW,EAAE,OAAO,IAAIf,EAAES,EAAGL,EAAI,GAAlCH,IAAI,IAAiCG,EAAEH,IAAI,IAAID,EAAE,CAAC4B,UAAUM,WAAWJ,WAAWM,YAClfJ,WAAWM,YAAYE,aAAaE,cAAc9E,GAAUkK,GAAEnK,EAAE,CAACuJ,KAAZtH,EAAEyI,GAAEzI,GAAe6G,aAAa5G,EAAEkQ,eAAe,EAAEC,qBAAqBnQ,GAAG,CAAC2I,IAAG,KAAMhH,GAAG,SAAS7D,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,EAAEC,EAAEgE,EAAEC,EAAEoB,GAAGtN,EAAEyI,GAAEzI,GAAGK,EAAEmM,GAAEpM,EAAEC,GAAG2H,EAAEwE,GAAEhM,EAAEwH,GAAGiE,EAAEO,GAAEvE,EAAEgE,GAAGqB,EAAEd,GAAEN,EAAEoB,GAAGvF,GAAE,CAAChK,GAAG,CAACC,IAAG,SAASqT,GAAU,OAAPA,EAAEA,EAAE,GAAS,CAAC,IAAIrF,GAAEhM,EAAEqR,EAAErI,IAAG,GAAG,GAAG,EAAGqI,EAAEpR,EAAEI,EAAE2H,EAAEiE,EAAEqB,QAAO3L,GAAG,SAAS5D,EAAEC,GAAU,IAAIgC,EAAE,iBAAbhC,EAAEyK,GAAEzK,IAA2BkK,GAAEnK,EAAE,CAACuJ,KAAKtJ,EAAE6I,aAAa,SAAS5G,GAAG,IAAIG,EAAEe,EAAElB,GAAG,GAAG,GAAGD,EAAE,IAAI,IAAIK,EAAEJ,EAAE,EAAEO,EAAE,EAAEA,GAAGJ,IAAII,EAAE,CAAC,IAAIwH,EAAE/H,EAAE,EAAEO,EAAE,GAAGA,GAAGJ,GAAG,GAAGW,EAAEiH,GAAG,CAAoB,GAAnB3H,EAAEA,EAAEN,EAAGgB,EAAEV,EAAE2H,EAAE3H,GAAG,QAAM,IAAS4H,EAAE,IAAIA,EAAE5H,OAAO4H,GACrf3H,OAAOC,aAAa,GAAG0H,GAAG5H,EAAEA,EAAE2H,EAAE,OAAO,CAAY,IAAXC,EAAEG,MAAMhI,GAAOI,EAAE,EAAEA,EAAEJ,IAAII,EAAEyH,EAAEzH,GAAGF,OAAOC,aAAaQ,EAAEd,EAAE,EAAEO,IAAIyH,EAAEA,EAAEiF,KAAK,IAAS,OAALtH,GAAE3F,GAAUgI,GAAGoE,WAAW,SAASpM,EAAEG,GAAGA,aAAaqS,cAAcrS,EAAE,IAAIkC,WAAWlC,IAAI,IAAIC,EAAE,iBAAiBD,EAAEC,GAAGD,aAAakC,YAAYlC,aAAasS,mBAAmBtS,aAAa4B,WAAW2G,GAAE,yCAAyC,IAAInI,GAAGR,GAAGK,EAAE,IAAIO,EAAGR,GAAG,IAAIA,EAAEM,UAAUsH,EAAE/B,GAAG,EAAEzF,EAAE,GAAa,GAAVW,EAAE6G,GAAG,GAAGxH,EAAKR,GAAGK,EAAEI,EAAGL,EAAEW,EAAEiH,EAAE,EAAExH,EAAE,QAAQ,GAAGH,EAAE,IAAIA,EAAE,EAAEA,EAAEG,IAAIH,EAAE,CAAC,IAAI4H,EAAE7H,EAAEO,WAAWN,GAAG,IAAI4H,IAAIrC,GAAEoC,GAClfW,GAAE,2DAA2D5H,EAAEiH,EAAE,EAAE3H,GAAG4H,OAAO,IAAI5H,EAAE,EAAEA,EAAEG,IAAIH,EAAEU,EAAEiH,EAAE,EAAE3H,GAAGD,EAAEC,GAAyB,OAAtB,OAAOJ,GAAGA,EAAEwG,KAAKb,GAAEoC,GAAUA,GAAGmI,eAAe,EAAEC,qBAAqBxJ,GAAG0F,GAAG,SAASrM,GAAG2F,GAAE3F,OAAOZ,GAAG,SAAStB,EAAEC,EAAEgC,GAAU,GAAPA,EAAEyI,GAAEzI,GAAM,IAAIhC,EAAG,IAAIiC,EAAEsB,EAAOnB,EAAEoB,EAAOnB,EAAEoB,EAAOjB,EAAE,IAAIS,EAAO+G,EAAE,OAAO,IAAIhK,IAAIiC,EAAEyB,EAAGtB,EAAEuB,EAAGtB,EAAEuB,EAAGpB,EAAE,IAAIW,EAAE6G,EAAE,GAAGE,GAAEnK,EAAE,CAACuJ,KAAKtH,EAAE6G,aAAa,SAASoB,GAAG,IAAI,IAAoBqF,EAAhBrB,EAAE9K,EAAE8G,GAAG,GAAGiE,EAAE1L,IAAM6Q,EAAEpJ,EAAE,EAAEsJ,EAAE,EAAEA,GAAGtF,IAAIsF,EAAE,CAAC,IAAIC,EAAEvJ,EAAE,EAAEsJ,EAAEvT,EAAKuT,GAAGtF,GAAG,GAAGC,EAAEsF,GAAGxJ,KAAGqJ,EAAEpR,EAAEoR,EAAEG,EAAEH,QAAG,IAAS/D,EAAEA,EAAE+D,GAAG/D,GAAGhN,OAAOC,aAAa,GAAG+M,GACnf+D,GAAGA,EAAEG,EAAExT,GAAO,OAAL4H,GAAEqC,GAAUqF,GAAGjB,WAAW,SAASpE,EAAEgE,GAAG,iBAAiBA,GAAGtD,GAAE,6CAA6C3I,GAAG,IAAIkM,EAAE7L,EAAE4L,GAAGqB,EAAErH,GAAG,EAAEiG,EAAElO,GAAmD,OAAhDmD,EAAEmM,GAAG,GAAGpB,GAAGlE,EAAE5H,EAAE6L,EAAEqB,EAAE,EAAEpB,EAAElO,GAAG,OAAOiK,GAAGA,EAAExB,KAAKb,GAAE0H,GAAUA,GAAG6C,eAAe,EAAEC,qBAAqBxJ,GAAG0F,GAAG,SAASrE,GAAGrC,GAAEqC,OAAOyJ,EAAE,SAAS3T,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,GAAGqG,GAAG3I,GAAG,CAACuJ,KAAKmB,GAAEzK,GAAGyN,GAAGe,GAAExM,EAAEC,GAAGuJ,GAAGgD,GAAEpM,EAAEC,GAAG4Q,GAAG,KAAK0B,EAAE,SAAS5U,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,EAAEC,EAAEgE,GAAGvF,GAAG3I,GAAGkT,GAAGxK,KAAK,CAACmL,GAAGnJ,GAAEzK,GAAGkT,GAAGlR,EAAEoR,GAAG5E,GAAEvM,EAAEG,GAAGkR,GAAGjR,EAAE8Q,GAAG3Q,EAAEiR,GAAGjF,GAAExE,EAAEC,GAAG0J,GAAG1F,KAAKlF,GAAG,SAAShJ,EAAEC,GAAUkK,GAAEnK,EAAE,CAAC6U,IAAG,EAAGtL,KAAlBtJ,EAAEyK,GAAEzK,GAAqBmS,eAAe,EAAEtJ,aAAa,aACxfwF,WAAW,gBAAgBxE,GAAG,SAAS9J,EAAEC,EAAEgC,GAAGjC,EAAE6P,GAAE7P,GAAGC,EAAE8P,GAAG9P,EAAE,aAAa,IAAIiC,EAAE,GAAGG,EAAE0L,GAAE7L,GAAa,OAAViB,EAAElB,GAAG,GAAGI,EAASpC,EAAEqO,WAAWpM,EAAElC,IAAIiJ,GAAG,SAASjJ,EAAEC,EAAEgC,EAAEC,GAAGlC,EAAE6P,GAAE7P,GAAGiC,EAAEgJ,GAAGhL,EAAEgC,GAAG,IAAI,IAAII,EAAEgI,MAAMpK,GAAGqC,EAAE,EAAEA,EAAErC,IAAIqC,EAAE,CAAC,IAAIG,EAAER,EAAEK,GAAGD,EAAEC,GAAGG,EAAE4P,qBAAqBnQ,GAAGA,GAAGO,EAAE2P,eAAmC,OAAOrE,GAA3B/N,EAAEA,EAAEyM,WAAM,EAAOpK,KAAgBgK,EAAE,SAASrM,EAAEC,EAAEgC,EAAEC,EAAEG,GAAGrC,EAAEuO,GAAGvO,GAAGC,EAAE4P,GAAE5P,GAAGgC,EAAE+N,GAAG/N,GAAG,IAAIK,EAAE,GAAgB,OAAba,EAAEjB,GAAG,GAAG6L,GAAEzL,GAAUtC,EAAEC,EAAEgC,EAAEK,EAAED,IAAIqD,EAAE,SAAS1F,EAAEC,EAAEgC,EAAEC,IAAGlC,EAAEuO,GAAGvO,IAAGC,EAAE4P,GAAE5P,GAAGgC,EAAE+N,GAAG/N,GAAS,KAAKC,IAAIP,GAAGgO,GAAGhK,GAAG,SAAS3F,GAAG,OAAG,IAAIA,EAAS+N,GAAEvC,OAAMxL,EAAEgQ,GAAGhQ,GAAU+N,GAAEvC,KAAKxL,MACrfyT,EAAE,SAASzT,EAAEC,GAAG,IAAIgC,EAAEgJ,GAAGjL,EAAEC,GAAGiC,EAAED,EAAE,GAAGhC,EAAEiC,EAAEqH,KAAK,KAAKtH,EAAE+Q,MAAM,GAAG9D,KAAI,SAASf,GAAG,OAAOA,EAAE5E,QAAO4F,KAAK,KAAK,IAAI,IAAI9M,EAAEoJ,GAAGxL,GAAG,QAAG,IAASoC,EAAE,OAAOA,EAAEA,EAAE,CAAC,WAAW,IAAI,IAAIC,EAAE,CAACJ,GAAGO,EAAE,GAAGwH,EAAE,EAAEA,EAAEjK,EAAE,IAAIiK,EAAExH,IAAI,IAAIwH,EAAE,KAAK,IAAI,MAAMA,EAAE5H,EAAEqG,KAAK,UAAUuB,GAAG3H,EAAEoG,KAAKzG,EAAE,EAAEgI,IAAI,IAAIC,EAAE,mBAAmBhB,GAAG,gBAAgBjJ,GAAG,wCAAwCiO,EAAE,EAAE,IAAIjE,EAAE,EAAEA,EAAEjK,EAAE,IAAIiK,EAAEC,GAAG,cAAcD,EAAE,aAAaA,EAAE,8BAA8BiE,EAAE,IAAIA,EAAE,IAAI,OAAOA,GAAGjM,EAAEgI,EAAE,GAAGmI,eAC7b,IAD4clI,GAAG,6BACxdzH,EAAE,OAAWwH,EAAE,EAAEA,EAAEjK,EAAE,IAAIiK,EAAEhI,EAAEgI,EAAE,GAAGqI,eAAepI,GAAG,cAAcD,EAAE,oBAAoBA,EAAE,QAAsH,OAA9G/H,EAAE2S,KAAK3K,GAAG,qDAAqD7H,EAAEqG,KAAKwB,EAAE,QAA8B7H,EAlCnH,SAAYrC,GAAG,IAAIC,EAAEsO,GAAG5L,OAAkB,OAAX4L,GAAG7F,KAAK1I,GAAUC,EAkCoE8M,CAAxB/M,EAAEqP,GAAGhN,GAAGoK,MAAM,KAAKnK,IAAkBmJ,GAAGxL,GAAGoC,GAAG0H,GAAG,SAAS/J,GAAW,OAARA,EAAEgQ,GAAGhQ,GAAU+N,GAAEpO,EAAEK,KAAK2L,GAAG,SAAS3L,EAAEC,GAAiB,OAAO8N,IAArB/N,EAAE6P,GAAE7P,IAAGC,EAAE4P,GAAE5P,MAAmBgF,GAAG,SAASjF,GAAG,EAAEA,IAAI0P,GAAE1P,GAAG4P,IAAI,IAAIvG,GAAG,SAASrJ,EAAEC,EAAEgC,EAAEC,GAAGlC,EAAE6P,GAAE7P,GAAG,IAAIqC,EAAEmF,GAAGvH,GAAG,IAAIoC,EAAE,CAACA,EAAE,GAAG,IAAI,IAAIC,EAAE,EAAEA,EAAErC,IAAIqC,EAAED,IAAI,IAAIC,EAAE,KAAK,IAAI,MAAMA,EAAE,IAAIG,EAAE,mCAAmCxC,EAAE,oCACte,IAAIqC,EAAE,EAAEA,EAAErC,IAAIqC,EAAEG,GAAG,cAAcH,EAAE,gEAAgEA,EAAE,iBAAiBA,EAAE,eAAeA,EAAE,aAAaA,EAAE,gDAAgDA,EAAE,wBAAwBD,EAAE,IAAK+G,SAAS,wBAAwB,SAAS,gBAAgB3G,EAAG,6BAA6BJ,EAAE,sCAAjG,CAA0I0N,GAAGpQ,EAAEoO,IAAGvG,GAAGvH,GAAGoC,EAAE,OAAOA,EAAErC,EAAEiC,EAAEC,IAAI4S,GAAG,WAAW,OAAO/G,GAAE,KAAK3C,GAAG,SAASpL,GAAG,OAAO+N,GAAEiC,GAAGhQ,KAAKqG,GAAG,SAASrG,GAAc4I,GAALiH,GAAE7P,IAAS2P,GAAG3P,IAAImJ,GAAG,SAASnJ,EAC9fC,GAAiB,OAAdD,EAAE6P,GAAE7P,MAAK6P,GAAE5P,IAAiBkD,EAAE,SAASnD,EAAEC,GAA2D,OAAO8N,GAAnC/N,GAA5BA,EAAE+P,GAAG/P,EAAE,sBAAyBqS,qBAAqBpS,KAAgBW,GAAG,WAAWe,EAAG,KAAKoT,GAAG,SAAS/U,GAAG,IAAIC,EAAE+C,EAAEL,OAAc,GAAG,YAAV3C,KAAK,GAAkB,OAAM,EAAG,IAAI,IAAIiC,EAAE,EAAE,GAAGA,EAAEA,GAAG,EAAE,CAAC,IAAIC,EAAEjC,GAAG,EAAE,GAAGgC,GAAGC,EAAE8S,KAAKC,IAAI/S,EAAElC,EAAE,WAAW,IAAIqC,EAAE2S,KAAK9S,EAAE8S,KAAKE,IAAIlV,EAAEkC,GAAGG,EAAEA,EAAE4S,IAAIrG,KAAKvM,EAAE,WAAWH,GAAG,MAAMA,EAAE,OAAO,OAAOlC,EAAE,CAAC,IAAI4B,EAAGuT,KAAK9S,EAAES,EAAGsS,WAAW,QAAQ,IAAItR,IAAK,IAAIxB,EAAE,EAAE,MAAMtC,EAAE,MAAMyC,IAAIH,OAAE,EAAO,GAAGA,EAAE,OAAM,EAAG,OAAM,GAAIqG,GAAG,SAAS3I,EAAEC,GAAG,IAAIgC,EAAE,EAC3X,OAD6XiO,KAAK9F,SAAQ,SAASlI,EAAEG,GAAG,IAAIC,EAC3frC,EAAEgC,EAAkB,IAAhBI,EAAEc,EAAEnD,EAAE,EAAEqC,GAAG,GAAGC,EAAMA,EAAE,EAAEA,EAAEJ,EAAES,SAASL,EAAES,EAAEV,KAAK,GAAGH,EAAEU,WAAWN,GAAGS,EAAEV,GAAG,GAAG,EAAEJ,GAAGC,EAAES,OAAO,KAAW,GAAGiG,GAAG,SAAS5I,EAAEC,GAAG,IAAIgC,EAAEiO,KAAK/M,EAAEnD,GAAG,GAAGiC,EAAEU,OAAO,IAAIT,EAAE,EAAkD,OAAhDD,EAAEmI,SAAQ,SAAS/H,GAAGH,GAAGG,EAAEM,OAAO,KAAIQ,EAAElD,GAAG,GAAGiC,EAAS,GAAG8F,GAAG,WAAW,OAAO,GAAGI,GAAG,SAASpI,EAAEC,EAAEgC,EAAEC,GAAuC,OAApClC,EAAE8H,GAAGuN,GAAGrV,GAAGC,EAAE6H,GAAGwN,GAAGtV,EAAEC,EAAEgC,GAAGkB,EAAEjB,GAAG,GAAGjC,EAAS,GAAGiL,GAAG,aAAahD,GAAG,SAASlI,EAAEC,EAAEgC,EAAEC,GAAG,IAAI,IAAIG,EAAE,EAAEC,EAAE,EAAEA,EAAEL,EAAEK,IAAI,CAAC,IAAIG,EAAEU,EAAElD,GAAG,GAAGgK,EAAE9G,EAAElD,EAAE,GAAG,GAAGA,GAAG,EAAE,IAAI,IAAIiK,EAAE,EAAEA,EAAED,EAAEC,IAAI,CAAC,IAAIgE,EAAElL,EAAEP,EAAEyH,GAAGiE,EAAEtC,GAAG7L,GAAG,IAAIkO,GAAG,KAAKA,IAAI,IAAIlO,EAAEY,EAAGK,GAAGe,EAAGmM,EAAE,IAAIA,EAAExL,OAAO,GAAGwL,EAAEzF,KAAKwF,GAAG7L,GACrf4H,EAAY,OAAV9G,EAAEjB,GAAG,GAAGG,EAAS,GAAGrC,EAAE,WAAW,OAAOuB,GAAGgU,GAUmD,SAAYvV,EAAEC,GAAG,IAAIgC,EAAEwS,KAAI,IAAI,OAAOhO,EAAEzG,EAAFyG,CAAKxG,GAAG,MAAMiC,GAAQ,GAALqS,GAAEtS,GAAMC,IAAIA,EAAE,EAAE,MAAMA,EAAE6Q,GAAE,EAAE,KAVhI/Q,GAaqV,SAAYhC,EAAEC,EAAEgC,GAAG,IAAIC,EAAEuS,KAAI,IAAI,OAAOhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,GAAG,MAAMI,GAAQ,GAALkS,GAAErS,GAAMG,IAAIA,EAAE,EAAE,MAAMA,EAAE0Q,GAAE,EAAE,KAbtaL,GAkBkJ,SAAY1S,EAAEC,EAAEgC,EAAEC,GAAG,IAAIG,EAAEoS,KAAI,IAAI,OAAOhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,GAAG,MAAMI,GAAQ,GAALiS,GAAElS,GAAMC,IAAIA,EAAE,EAAE,MAAMA,EAAEyQ,GAAE,EAAE,KAlBvOhQ,EAUwH,SAAY/C,EAAEC,GAAG,IAAIgC,EAAEwS,KAAI,IAAI,OAAOhO,EAAEzG,EAAFyG,CAAKxG,GAAG,MAAMiC,GAAQ,GAALqS,GAAEtS,GAAMC,IAAIA,EAAE,EAAE,MAAMA,EAAE6Q,GAAE,EAAE,KAVtMnH,GAiByN,SAAY5L,EAAEC,EAAEgC,GAAG,IAAIC,EAAEuS,KAAI,IAAI,OAAOhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,GAAG,MAAMI,GAAQ,GAALkS,GAAErS,GAAMG,IAAIA,EAAE,EAAE,MAAMA,EAAE0Q,GAAE,EAAE,KAjB1SR,GAiB1E,SAAYvS,EAAEC,EAAEgC,EAAEC,GAAG,IAAIG,EAAEoS,KAAI,IAAI,OAAOhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,GAAG,MAAMI,GAAQ,GAALiS,GAAElS,GAAMC,IAAIA,EAAE,EAAE,MAAMA,EAAEyQ,GAAE,EAAE,KAjBXhF,EAgBgT,SAAY/N,EAAEC,EAAEgC,GAAG,IAAIC,EAAEuS,KAAI,IAAI,OAAOhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,GAAG,MAAMI,GAAQ,GAALkS,GAAErS,GAAMG,IAAIA,EAAE,EAAE,MAAMA,EAAE0Q,GAAE,EAAE,KAhBlYlL,EAYqT,SAAY7H,EAAEC,EAAEgC,EAAEC,GAAG,IAAIG,EAAEoS,KAAI,IAAI,OAAOhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,GAAG,MAAMI,GAAQ,GAALiS,GAAElS,GAAMC,IAAIA,EAAE,EAAE,MAAMA,EAAEyQ,GAAE,EAAE,KAZ3YlD,EAWgT,SAAY7P,GAAG,IAAIC,EAAEwU,KAAI,IAAI,OAAOhO,EAAEzG,EAAFyG,GAAO,MAAMxE,GAAQ,GAALsS,GAAEtU,GAAMgC,IAAIA,EAAE,EAAE,MAAMA,EAAE8Q,GAAE,EAAE,KAX3X9E,EAeiG,SAAYjO,EAAEC,GAAG,IAAIgC,EAAEwS,KAAI,IAAI,OAAOhO,EAAEzG,EAAFyG,CAAKxG,GAAG,MAAMiC,GAAQ,GAALqS,GAAEtS,GAAMC,IAAIA,EAAE,EAAE,MAAMA,EAAE6Q,GAAE,EAAE,KAf/KhN,GAYuM,SAAY/F,EAAEC,EAAEgC,EAAEC,GAAG,IAAIG,EAAEoS,KAAI,IAAI,OAAOhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,GAAG,MAAMI,GAAQ,GAALiS,GAAElS,GAAMC,IAAIA,EAAE,EAAE,MAAMA,EAAEyQ,GAAE,EAAE,KAZ5R9I,EAQyE,SAAYjK,EAAEC,GAAG,IAAIgC,EAAEwS,KAAI,IAAI,OAAOhO,EAAEzG,EAAFyG,CAAKxG,GAAG,MAAMiC,GAAQ,GAALqS,GAAEtS,GAAMC,IAAIA,EAAE,EAAE,MAAMA,EAAE6Q,GAAE,EAAE,KARvJzS,GAQvB,SAAYN,EAAEC,EAAEgC,GAAG,IAAIC,EAAEuS,KAAI,IAAI,OAAOhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,GAAG,MAAMI,GAAQ,GAALkS,GAAErS,GAAMG,IAAIA,EAAE,EAAE,MAAMA,EAAE0Q,GAAE,EAAE,KAR1DrI,EAUyJ,SAAY1K,EAAEC,EAAEgC,GAAG,IAAIC,EAAEuS,KAAI,IAAI,OAAOhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,GAAG,MAAMI,GAAQ,GAALkS,GAAErS,GAAMG,IAAIA,EAAE,EAAE,MAAMA,EAAE0Q,GAAE,EAAE,KAV3OhH,GAiB3B,SAAY/L,EAAEC,EAAEgC,EAAEC,GAAG,IAAIG,EAAEoS,KAAI,IAAI,OAAOhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,GAAG,MAAMI,GAAQ,GAALiS,GAAElS,GAAMC,IAAIA,EAAE,EAAE,MAAMA,EAAEyQ,GAAE,EAAE,KAjB1D9Q,EAOyN,SAAYjC,EAAEC,EAAEgC,GAAG,IAAIC,EAAEuS,KAAI,IAAI,OAAOhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,GAAG,MAAMI,GAAQ,GAALkS,GAAErS,GAAMG,IAAIA,EAAE,EAAE,MAAMA,EAAE0Q,GAAE,EAAE,KAP3SjH,GAiByD,SAAY9L,EAAEC,EAAEgC,EAAEC,GAAG,IAAIG,EAAEoS,KAAI,IAAI,OAAOhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,GAAG,MAAMI,GAAQ,GAALiS,GAAElS,GAAMC,IAAIA,EAAE,EAAE,MAAMA,EAAEyQ,GAAE,EAAE,KAjB9IlQ,GAWoD,SAAY7C,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,GAAG,IAAIwH,EAAEwK,KAAI,IAAI,OAAOhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,GAAG,MAAMyH,GAAQ,GAALqK,GAAEtK,GAAMC,IAAIA,EAAE,EAAE,MAAMA,EAAE6I,GAAE,EAAE,KAXrJyC,EASpE,SAAYxV,EAAEC,EAAEgC,EAAEC,GAAG,IAAIG,EAAEoS,KAAI,IAAI,OAAOhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,GAAG,MAAMI,GAAQ,GAALiS,GAAElS,GAAMC,IAAIA,EAAE,EAAE,MAAMA,EAAEyQ,GAAE,EAAE,KATlB1N,GActJ,SAAYrF,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,EAAEC,EAAEgE,EAAEC,EAAEoB,EAAE+D,EAAEE,GAAG,IAAIC,EAAEgB,KAAI,IAAI,OAAOhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,EAAEC,EAAEgE,EAAEC,EAAEoB,EAAE+D,EAAEE,GAAG,MAAMG,GAAQ,GAALY,GAAEd,GAAME,IAAIA,EAAE,EAAE,MAAMA,EAAEZ,GAAE,EAAE,KAdyB9R,EAW5J,SAAYjB,EAAEC,EAAEgC,EAAEC,EAAEG,GAAG,IAAIC,EAAEmS,KAAI,IAAI,OAAOhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,GAAG,MAAMI,GAAQ,GAAL8R,GAAEjS,GAAMG,IAAIA,EAAE,EAAE,MAAMA,EAAEsQ,GAAE,EAAE,KAXkE1P,GAmBsE,SAAYrD,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,GAAG,IAAIG,EAAEgS,KAAI,IAAI,OAAOhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,EAAEC,GAAG,MAAM2H,GAAQ,GAALsK,GAAE9R,GAAMwH,IAAIA,EAAE,EAAE,MAAMA,EAAE8I,GAAE,EAAE,KAnBnKxD,EAYvK,SAAYvP,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,GAAG,IAAIG,EAAEgS,KAAI,IAAI,OAAOhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,EAAEC,GAAG,MAAM2H,GAAQ,GAALsK,GAAE9R,GAAMwH,IAAIA,EAAE,EAAE,MAAMA,EAAE8I,GAAE,EAAE,KAZyE3P,EAQ8F,SAAYpD,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,GAAG,IAAIwH,EAAEwK,KAAI,IAAI,OAAOhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,GAAG,MAAMyH,GAAQ,GAALqK,GAAEtK,GAAMC,IAAIA,EAAE,EAAE,MAAMA,EAAE6I,GAAE,EAAE,KARhMxK,EAc1C,SAAYvI,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,GAAG,IAAIC,EAAEuK,KAAI,IAAI,OAAOhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,GAAG,MAAMiE,GAAQ,GAALqG,GAAErK,GAAMgE,IAAIA,EAAE,EAAE,MAAMA,EAAE6E,GAAE,EAAE,KAd5DlT,GAkB9F,SAAYG,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,EAAEC,GAAG,IAAIgE,EAAEuG,KAAI,IAAI,OAAOhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,EAAEC,GAAG,MAAMiE,GAAQ,GAALoG,GAAErG,GAAMC,IAAIA,EAAE,EAAE,MAAMA,EAAE4E,GAAE,EAAE,KAlBXpC,EAmB5E,SAAY3Q,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,EAAEC,EAAEgE,GAAG,IAAIC,EAAEsG,KAAI,IAAI,OAAOhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,EAAEC,EAAEgE,GAAG,MAAMqB,GAAQ,GAALgF,GAAEpG,GAAMoB,IAAIA,EAAE,EAAE,MAAMA,EAAEwD,GAAE,EAAE,KAnBlCnT,GAmB6I,SAAYI,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,EAAEC,EAAEgE,EAAEC,EAAEoB,GAAG,IAAI+D,EAAEmB,KAAI,IAAI,OAAOhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,EAAEC,EAAEgE,EAAEC,EAAEoB,GAAG,MAAMiE,GAAQ,GAALe,GAAEjB,GAAME,IAAIA,EAAE,EAAE,MAAMA,EAAET,GAAE,EAAE,KAnBlQxI,GAqBvM,SAAYvK,EAAEC,EAAEgC,EAAEC,GAAG,IAAIG,EAAEoS,KAAI,IAAI,OAAOgB,GAAGzV,EAAEC,EAAEgC,EAAEC,GAAG,MAAMI,GAAQ,GAALiS,GAAElS,GAAMC,IAAIA,EAAE,EAAE,MAAMA,EAAEyQ,GAAE,EAAE,KArBkHjI,GAoBrE,SAAY9K,EAAEC,EAAEgC,GAAG,IAAIC,EAAEuS,KAAI,IAAI,OAAOiB,GAAG1V,EAAEC,EAAEgC,GAAG,MAAMI,GAAQ,GAALkS,GAAErS,GAAMG,IAAIA,EAAE,EAAE,MAAMA,EAAE0Q,GAAE,EAAE,KApBZpT,EASnN,SAAYK,GAAG,IAAIC,EAAEwU,KAAI,IAAIhO,EAAEzG,EAAFyG,GAAO,MAAMxE,GAAQ,GAALsS,GAAEtU,GAAMgC,IAAIA,EAAE,EAAE,MAAMA,EAAE8Q,GAAE,EAAE,KAT+IS,EAQ6J,SAAYxT,EAAEC,GAAG,IAAIgC,EAAEwS,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,GAAG,MAAMiC,GAAQ,GAALqS,GAAEtS,GAAMC,IAAIA,EAAE,EAAE,MAAMA,EAAE6Q,GAAE,EAAE,KARpO/G,GAgBL,SAAYhM,EAAEC,EAAEgC,GAAG,IAAIC,EAAEuS,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,GAAG,MAAMI,GAAQ,GAALkS,GAAErS,GAAMG,IAAIA,EAAE,EAAE,MAAMA,EAAE0Q,GAAE,EAAE,KAhBrExP,GAUsI,SAAYvD,EAAEC,EAAEgC,EAAEC,GAAG,IAAIG,EAAEoS,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,GAAG,MAAMI,GAAQ,GAALiS,GAAElS,GAAMC,IAAIA,EAAE,EAAE,MAAMA,EAAEyQ,GAAE,EAAE,KAVpNnR,GAgBmE,SAAY5B,EAAEC,EAAEgC,GAAG,IAAIC,EAAEuS,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,GAAG,MAAMI,GAAQ,GAALkS,GAAErS,GAAMG,IAAIA,EAAE,EAAE,MAAMA,EAAE0Q,GAAE,EAAE,KAhB7IvP,GASyB,SAAYxD,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,EAAEC,EAAEgE,GAAG,IAAIC,EAAEsG,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,EAAEC,EAAEgE,GAAG,MAAMqB,GAAQ,GAALgF,GAAEpG,GAAMoB,IAAIA,EAAE,EAAE,MAAMA,EAAEwD,GAAE,EAAE,KAT/H5N,GAerP,SAAYnF,EAAEC,EAAEgC,EAAEC,GAAG,IAAIG,EAAEoS,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,GAAG,MAAMI,GAAQ,GAALiS,GAAElS,GAAMC,IAAIA,EAAE,EAAE,MAAMA,EAAEyQ,GAAE,EAAE,KAfuK7N,GAenK,SAAYlF,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,GAAG,IAAIC,EAAEuK,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,GAAG,MAAMiE,GAAQ,GAALqG,GAAErK,GAAMgE,IAAIA,EAAE,EAAE,MAAMA,EAAE6E,GAAE,EAAE,KAfqElR,GAesB,SAAY7B,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,GAAG,IAAIwH,EAAEwK,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,GAAG,MAAMyH,GAAQ,GAALqK,GAAEtK,GAAMC,IAAIA,EAAE,EAAE,MAAMA,EAAE6I,GAAE,EAAE,KAfhH7Q,EAOF,SAAYlC,EAAEC,EAAEgC,GAAG,IAAIC,EAAEuS,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,GAAG,MAAMI,GAAQ,GAALkS,GAAErS,GAAMG,IAAIA,EAAE,EAAE,MAAMA,EAAE0Q,GAAE,EAAE,KAPzErQ,GAa5D,SAAY1C,EAAEC,EAAEgC,EAAEC,GAAG,IAAIG,EAAEoS,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,GAAG,MAAMI,GAAQ,GAALiS,GAAElS,GAAMC,IAAIA,EAAE,EAAE,MAAMA,EAAEyQ,GAAE,EAAE,KAblBtE,EASsG,SAAYzO,EAAEC,EAAEgC,EAAEC,EAAEG,GAAG,IAAIC,EAAEmS,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,GAAG,MAAMI,GAAQ,GAAL8R,GAAEjS,GAAMG,IAAIA,EAAE,EAAE,MAAMA,EAAEsQ,GAAE,EAAE,KATzLmB,EAUvR,SAAYlU,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,GAAG,IAAIG,EAAEgS,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,EAAEC,GAAG,MAAM2H,GAAQ,GAALsK,GAAE9R,GAAMwH,IAAIA,EAAE,EAAE,MAAMA,EAAE8I,GAAE,EAAE,KAVgM/N,GAkB5R,SAAYhF,EAAEC,EAAEgC,EAAEC,GAAG,IAAIG,EAAEoS,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,GAAG,MAAMI,GAAQ,GAALiS,GAAElS,GAAMC,IAAIA,EAAE,EAAE,MAAMA,EAAEyQ,GAAE,EAAE,KAlB8M5M,GAYvF,SAAYnG,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,GAAG,IAAIG,EAAEgS,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,EAAEC,GAAG,MAAM2H,GAAQ,GAALsK,GAAE9R,GAAMwH,IAAIA,EAAE,EAAE,MAAMA,EAAE8I,GAAE,EAAE,KAZC1S,GAWrM,SAAYL,EAAEC,EAAEgC,EAAEC,EAAEG,GAAG,IAAIC,EAAEmS,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,GAAG,MAAMI,GAAQ,GAAL8R,GAAEjS,GAAMG,IAAIA,EAAE,EAAE,MAAMA,EAAEsQ,GAAE,EAAE,KAXmHnN,GAalM,SAAY5F,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,GAAG,IAAIwH,EAAEwK,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,GAAG,MAAMyH,GAAQ,GAALqK,GAAEtK,GAAMC,IAAIA,EAAE,EAAE,MAAMA,EAAE6I,GAAE,EAAE,KAbwGzQ,EAQpT,SAAYtC,EAAEC,EAAEgC,EAAEC,GAAG,IAAIG,EAAEoS,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,GAAG,MAAMI,GAAQ,GAALiS,GAAElS,GAAMC,IAAIA,EAAE,EAAE,MAAMA,EAAEyQ,GAAE,EAAE,KARqOrH,GAiB+D,SAAY1L,EAAEC,EAAEgC,EAAEC,EAAEG,GAAG,IAAIC,EAAEmS,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,GAAG,MAAMI,GAAQ,GAAL8R,GAAEjS,GAAMG,IAAIA,EAAE,EAAE,MAAMA,EAAEsQ,GAAE,EAAE,KAjBjJ5K,EAYxN,SAAYnI,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,GAAG,IAAIwH,EAAEwK,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,GAAG,MAAMyH,GAAQ,GAALqK,GAAEtK,GAAMC,IAAIA,EAAE,EAAE,MAAMA,EAAE6I,GAAE,EAAE,KAZ6H3N,GAcsB,SAAYpF,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,GAAG,IAAIG,EAAEgS,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,EAAEC,GAAG,MAAM2H,GAAQ,GAALsK,GAAE9R,GAAMwH,IAAIA,EAAE,EAAE,MAAMA,EAAE8I,GAAE,EAAE,KAd5G4C,EAS9J,SAAY3V,EAAEC,EAAEgC,EAAEC,EAAEG,GAAG,IAAIC,EAAEmS,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,GAAG,MAAMI,GAAQ,GAAL8R,GAAEjS,GAAMG,IAAIA,EAAE,EAAE,MAAMA,EAAEsQ,GAAE,EAAE,KAT2E7S,GAavC,SAAYF,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,GAAG,IAAIG,EAAEgS,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,EAAEC,GAAG,MAAM2H,GAAQ,GAALsK,GAAE9R,GAAMwH,IAAIA,EAAE,EAAE,MAAMA,EAAE8I,GAAE,EAAE,KAb/CjR,GAc/F,SAAY9B,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,GAAG,IAAIwH,EAAEwK,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,GAAG,MAAMyH,GAAQ,GAALqK,GAAEtK,GAAMC,IAAIA,EAAE,EAAE,MAAMA,EAAE6I,GAAE,EAAE,KAdKxR,EAWjD,SAAYvB,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,GAAG,IAAIG,EAAEgS,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,EAAEC,GAAG,MAAM2H,GAAQ,GAALsK,GAAE9R,GAAMwH,IAAIA,EAAE,EAAE,MAAMA,EAAE8I,GAAE,EAAE,KAXtCkB,EAgBhW,SAAYjU,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,GAAG,IAAIwH,EAAEwK,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,GAAG,MAAMyH,GAAQ,GAALqK,GAAEtK,GAAMC,IAAIA,EAAE,EAAE,MAAMA,EAAE6I,GAAE,EAAE,KAhBqQgB,EAesB,SAAY/T,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,GAAG,IAAIC,EAAEuK,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,GAAG,MAAMiE,GAAQ,GAALqG,GAAErK,GAAMgE,IAAIA,EAAE,EAAE,MAAMA,EAAE6E,GAAE,EAAE,KAfrHnI,EAa1W,SAAY5K,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,EAAEC,GAAG,IAAIgE,EAAEuG,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,EAAEC,GAAG,MAAMiE,GAAQ,GAALoG,GAAErG,GAAMC,IAAIA,EAAE,EAAE,MAAMA,EAAE4E,GAAE,EAAE,KAbuQrD,EAmB/W,SAAY1P,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,EAAEC,EAAEgE,GAAG,IAAIC,EAAEsG,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,EAAEC,EAAEgE,GAAG,MAAMqB,GAAQ,GAALgF,GAAEpG,GAAMoB,IAAIA,EAAE,EAAE,MAAMA,EAAEwD,GAAE,EAAE,KAnBwQ5I,EAgBhR,SAAYnK,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,EAAEC,EAAEgE,EAAEC,GAAG,IAAIoB,EAAEkF,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,EAAEC,EAAEgE,EAAEC,GAAG,MAAMmF,GAAQ,GAALiB,GAAEhF,GAAM+D,IAAIA,EAAE,EAAE,MAAMA,EAAEP,GAAE,EAAE,KAhBqKjP,GAkB/E,SAAY9D,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,EAAEC,EAAEgE,EAAEC,EAAEoB,GAAG,IAAI+D,EAAEmB,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,EAAEC,EAAEgE,EAAEC,EAAEoB,GAAG,MAAMiE,GAAQ,GAALe,GAAEjB,GAAME,IAAIA,EAAE,EAAE,MAAMA,EAAET,GAAE,EAAE,KAlB/B6C,EAoB/X,SAAY5V,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,EAAEC,EAAEgE,EAAEC,EAAEoB,EAAE+D,EAAEE,EAAEC,EAAEE,GAAG,IAAII,EAAEU,KAAI,IAAIhO,EAAEzG,EAAFyG,CAAKxG,EAAEgC,EAAEC,EAAEG,EAAEC,EAAEG,EAAEwH,EAAEC,EAAEgE,EAAEC,EAAEoB,EAAE+D,EAAEE,EAAEC,EAAEE,GAAG,MAAMM,GAAQ,GAALM,GAAER,GAAME,IAAIA,EAAE,EAAE,MAAMA,EAAElB,GAAE,EAAE,KApBgQtI,GAoBzE,SAAYzK,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,GAAG,IAAIG,EAAEgS,KAAI,IAAIoB,GAAG7V,EAAEC,EAAEgC,EAAEC,EAAEG,EAAEC,GAAG,MAAM2H,GAAQ,GAALsK,GAAE9R,GAAMwH,IAAIA,EAAE,EAAE,MAAMA,EAAE8I,GAAE,EAAE,KApBbpI,GAoBvK,SAAY3K,EAAEC,EAAEgC,EAAEC,GAAG,IAAIG,EAAEoS,KAAI,IAAIqB,GAAG9V,EAAEC,EAAEgC,EAAEC,GAAG,MAAMI,GAAQ,GAALiS,GAAElS,GAAMC,IAAIA,EAAE,EAAE,MAAMA,EAAEyQ,GAAE,EAAE,KApByFxS,EAAE,SAASP,GAAG,OAAOA,GAAG8C,GAAG,SAAS9C,GAAGuB,EAAEvB,GAAG2H,GAAG,SAAS3H,EAAEC,EAAEgC,EAAEC,GAAG,OAnCjd,SAAYlC,EAAEC,EAAEgC,EAAEC,GAAG,SAASG,EAAEmR,EAAEC,EAAEE,GAAG,IAAIH,EAAE,iBAAiBA,EAAEA,EAAE9J,WAAW8J,GAAG,GAAGA,EAAE7Q,OAAO8Q,GAAGD,EAAEG,EAAE,GAAGH,EAAE,OAAOA,EAAE,SAASlR,EAAEkR,EAAEC,GAAG,OAAOpR,EAAEmR,EAAEC,EAAE,KAAK,SAAShR,EAAE+Q,EAAEC,GAAG,SAASE,EAAEM,GAAG,OAAO,EAAEA,GAAG,EAAE,EAAEA,EAAE,EAAE,EAAE,IAAIF,EAAmH,OAAjH,KAAKA,EAAEJ,EAAEH,EAAEvC,cAAcwC,EAAExC,iBAAiB,KAAK8C,EAAEJ,EAAEH,EAAExC,WAAWyC,EAAEzC,eAAe+C,EAAEJ,EAAEH,EAAEtC,UAAUuC,EAAEvC,YAAmB6C,EAAE,SAAS9J,EAAEuJ,GAAG,OAAOA,EAAEuC,UAAU,KAAK,EAAE,OAAO,IAAIjF,KAAK0C,EAAEvC,cAAc,EAAE,GAAG,IAAI,KAAK,EAAE,OAAOuC,EAAE,KAAK,EAAE,OAAO,IAAI1C,KAAK0C,EAAEvC,cAAc,EAAE,GAAG,KAAK,EAAE,OAAO,IAAIH,KAAK0C,EAAEvC,cAC7e,EAAE,GAAG,KAAK,EAAE,OAAO,IAAIH,KAAK0C,EAAEvC,cAAc,EAAE,GAAG,KAAK,EAAE,OAAO,IAAIH,KAAK0C,EAAEvC,cAAc,EAAE,GAAG,IAAI,KAAK,EAAE,OAAO,IAAIH,KAAK0C,EAAEvC,cAAc,EAAE,GAAG,KAAK,SAAS/G,EAAEsJ,GAAGA,EAAExM,GAAG,IAAI8J,KAAK0C,EAAExD,GAAG,KAAK,EAAE,GAAGwD,EAAEwC,IAAI,IAAIvC,EAAE,IAAI3C,KAAK0C,EAAEvC,cAAc,EAAE,EAAE,GAAG0C,EAAE1J,EAAE,IAAI6G,KAAK0C,EAAEvC,cAAc,EAAE,IAAW,OAAPwC,EAAExJ,EAAEwJ,GAAU,GAAGhR,EAAEkR,EAAEH,GAAG,GAAG/Q,EAAEgR,EAAED,GAAGA,EAAEvC,cAAc,EAAEuC,EAAEvC,cAAcuC,EAAEvC,cAAc,EAAE,IAAI/C,EAAE/K,EAAEjB,EAAE,IAAI,GACiE,IAAI,IAAIiM,KADtEjM,EAAE,CAAC+T,GAAG9S,EAAEjB,GAAG,GAAGgU,GAAG/S,EAAEjB,EAAE,GAAG,GAAGiU,GAAGhT,EAAEjB,EAAE,GAAG,GAAGkU,GAAGjT,EAAEjB,EAAE,IAAI,GAAG2O,GAAG1N,EAAEjB,EAAE,IAAI,GAAG8N,GAAG7M,EAAEjB,EAAE,IAAI,GAAGmU,GAAGlT,EAAEjB,EAAE,IAAI,GAAG8T,GAAG7S,EAAEjB,EAAE,IAAI,GAAGoU,GAAGnT,EAAEjB,EAAE,IAAI,GAAGqU,GAAGpT,EAAEjB,EACpf,IAAI,GAAGsU,GAAGtI,GAAEA,EAAElM,EAAGgB,EAAEkL,OAAE,GAAW,IAAIjM,EAAEA,EAAED,EAAGgB,EAAEf,OAAE,GAAQ,GAAGiM,EAAE,CAACuI,KAAK,uBAAuBC,KAAK,WAAWC,KAAK,WAAWC,KAAK,KAAKC,KAAK,cAAcC,KAAK,QAAQC,KAAK,WAAWC,KAAK,WAAWC,KAAK,WAAWC,MAAM,KAAKC,MAAM,KAAKC,MAAM,WAAWC,MAAM,WAAWC,MAAM,KAAKC,MAAM,KAAKC,MAAM,KAAKC,MAAM,KAAKC,MAAM,KAAKC,MAAM,KAAKC,MAAM,KAAKC,MAAM,KAAKC,MAAM,KAAKC,MAAM,KAAKC,MAAM,KAAKC,MAAM,KAAKC,MAAM,KAAKC,MAAM,KAAKC,MAAM,MAAqBnW,EAAEA,EAAEvB,QAAQ,IAAI2X,OAAOlK,EAAE,KAAKD,EAAEC,IAAI,IAAIoB,EAAE,2DAA2DC,MAAM,KAC3iB8D,EAAE,wFAAwF9D,MAAM,KAG4W,IAAIrB,KAH3WD,EAAE,CAACoK,KAAK,SAAS9E,GAAG,OAAOjE,EAAEiE,EAAE6C,IAAIhC,UAAU,EAAE,IAAIkE,KAAK,SAAS/E,GAAG,OAAOjE,EAAEiE,EAAE6C,KAAKmC,KAAK,SAAShF,GAAG,OAAOF,EAAEE,EAAE3C,IAAIwD,UAAU,EAAE,IAAIoE,KAAK,SAASjF,GAAG,OAAOF,EAAEE,EAAE3C,KAAK6H,KAAK,SAASlF,GAAG,OAAOlR,GAAGkR,EAAExD,GAAG,MAAM,IAAI,EAAE,IAAI2I,KAAK,SAASnF,GAAG,OAAOlR,EAAEkR,EAAE4C,GAAG,IAAIwC,KAAK,SAASpF,GAAG,OAAOnR,EAAEmR,EAAE4C,GAAG,EAAE,MAAMyC,KAAK,SAASrF,GAAG,OAAOtJ,EAAEsJ,GAAG9J,WAAW2K,UAAU,IAAIyE,KAAK,SAAStF,GAAG,OAAOtJ,EAAEsJ,IAAIuF,KAAK,SAASvF,GAAG,OAAOlR,EAAEkR,EAAE2C,GACpf,IAAI6C,KAAK,SAASxF,GAAkC,OAAxB,IAAPA,EAAEA,EAAE2C,IAAQ3C,EAAE,GAAG,GAAGA,IAAIA,GAAG,IAAWlR,EAAEkR,EAAE,IAAIyF,KAAK,SAASzF,GAAG,OAAOlR,EAAEkR,EAAE4C,GAAGnO,GAAG2I,GAAG4C,EAAExD,GAAG,MAAMlD,GAAG+D,GAAG2C,EAAE3C,GAAG,GAAG,IAAIqI,KAAK,SAAS1F,GAAG,OAAOlR,EAAEkR,EAAE3C,GAAG,EAAE,IAAIsI,KAAK,SAAS3F,GAAG,OAAOlR,EAAEkR,EAAE0C,GAAG,IAAIkD,KAAK,WAAW,MAAM,MAAMC,KAAK,SAAS7F,GAAG,OAAO,GAAGA,EAAE2C,IAAI,GAAG3C,EAAE2C,GAAG,KAAK,MAAMmD,KAAK,SAAS9F,GAAG,OAAOlR,EAAEkR,EAAEyC,GAAG,IAAIsD,KAAK,WAAW,MAAM,MAAMC,KAAK,SAAShG,GAAG,OAAOA,EAAE6C,IAAI,GAAGoD,KAAK,SAASjG,GAAG,IAAIC,EAAE,IAAI3C,KAAK0C,EAAExD,GAAG,KAAK,EAAE,GAAG2D,EAAE,IAAIF,EAAEsC,SAAStC,EAAEzM,GAAGyM,EAAE,EAAEA,EAAEsC,UAA0C,OAAO,EACzftT,EAAEkR,EADgdH,EAAE,IAAI1C,KAAK0C,EAAExD,GAAG,KAAKwD,EAAE3C,GAAG2C,EAAE4C,KACve9T,EAAE0S,KAAK0E,MAAM,GAAG/F,EAAEzC,WAAWjJ,GAAG2I,GAAG4C,EAAEvC,eAAenE,GAAG+D,GAAG2C,EAAExC,WAAW,GAAG,IAAIwC,EAAEtC,WAAW,GAAG,GAAG,IAAIzO,EAAEkR,EAAEF,GAAG,KAAK,MAAMkG,KAAK,SAASnG,GAAG,IAAIC,EAAE,IAAI3C,KAAK0C,EAAExD,GAAG,KAAK,EAAE,GAAG2D,EAAE1J,EAAE,IAAI6G,KAAK0C,EAAExD,GAAG,KAAK,EAAE,IAAIyD,EAAExJ,EAAEwJ,GAAG,IAAIM,EAAE/M,GAAG,IAAI8J,KAAK0C,EAAExD,GAAG,KAAK,EAAE,GAAGwD,EAAEwC,IAAI,OAAO,EAAEvT,EAAEsR,EAAEJ,GAAG,KAAK,GAAGlR,EAAEgR,EAAEM,GAAG,KAAKzR,EAAE0S,KAAK0E,MAAM/F,EAAE1C,cAAcuC,EAAExD,GAAG,KAAKwD,EAAEwC,GAAG,GAAGrC,EAAEzC,UAAUsC,EAAEwC,GAAG,EAAErC,EAAEzC,WAAW,GAAG,IAAI0I,KAAK,SAASpG,GAAG,OAAOA,EAAE6C,IAAIwD,KAAK,SAASrG,GAAG,IAAIC,EAAE,IAAI3C,KAAK0C,EAAExD,GAAG,EAAE,GAAG2D,EAAE,IAAIF,EAAEsC,SAAStC,EAAEzM,GAAGyM,EAAE,IAAIA,EAAEsC,SAAS,EAAE,EAAEtC,EAAEsC,SAAS,GACld,OAAO,EAAEtT,EAAEkR,EAD0cH,EACnf,IAAI1C,KAAK0C,EAAExD,GAAG,KAAKwD,EAAE3C,GAAG2C,EAAE4C,KAAoB9T,EAAE0S,KAAK0E,MAAM,GAAG/F,EAAEzC,WAAWjJ,GAAG2I,GAAG4C,EAAEvC,eAAenE,GAAG+D,GAAG2C,EAAExC,WAAW,GAAG,IAAIwC,EAAEtC,WAAW,GAAG,GAAG,IAAIzO,EAAEkR,EAAEF,GAAG,KAAK,MAAMqG,KAAK,SAAStG,GAAG,OAAOA,EAAExD,GAAG,MAAMtG,WAAW2K,UAAU,IAAI0F,KAAK,SAASvG,GAAG,OAAOA,EAAExD,GAAG,MAAMgK,KAAK,SAASxG,GAAU,IAAIC,EAAE,IAAbD,EAAEA,EAAE+C,IAA+B,OAAjB/C,EAAEwB,KAAKiF,IAAIzG,GAAG,IAAUC,EAAE,IAAI,KAAKlR,OAAO,QAAQiR,EAAE,GAAG,IAAIA,EAAE,KAAKR,OAAO,IAAIkH,KAAK,SAAS1G,GAAG,OAAOA,EAAEgD,IAAI2D,KAAK,WAAW,MAAM,MAAMlY,EAAEA,EAAEvB,QAAQ,MAAM,QAAqBwN,EAAEjM,EAAEyM,SAASP,KAAKlM,EAAEA,EAAEvB,QAAQ,IAAI2X,OAAOlK,EAC9f,KAAKD,EAAEC,GAAGjM,KAAsC,OAARiM,EAKkN,SAAYnO,GAAG,IAAIC,EAAEoK,MAAMxH,EAAG7C,GAAG,GAAsB,OAAnB0C,EAAG1C,EAAEC,EAAE,EAAEA,EAAE0C,QAAe1C,EAL9QmW,CAA3BnU,EAAEA,EAAEvB,QAAQ,QAAQ,OAAkBiC,OAAO1C,EAAS,GAAE8C,EAAEqX,IAAIjM,EAAEnO,GAAUmO,EAAExL,OAAO,GA4BsX8O,CAAGzR,EAAEC,EAAEgC,EAAEC,MACje,WAAY,SAASlC,EAAEqC,GAAG1C,EAAE0a,IAAIhY,EAAEiY,QAAQ1Y,EAAGjC,EAAE0a,IAAIpO,GAAGnI,IAAKkB,EAAGrF,EAAE0a,IAAI7M,GAAGtI,EAAGM,QAAQ7F,EAAE0a,IAAI/N,IAAI5G,IAAI/F,EAAE4a,wBAAwB5a,EAAE4a,uBAAuB7U,GAAG,GAAGA,IAAI,OAAOC,IAAK6U,cAAc7U,GAAIA,EAAG,MAAMC,IAAKvD,EAAEuD,EAAGA,EAAG,KAAKvD,MAAM,SAASpC,EAAEoC,GAAGrC,EAAEqC,EAAEoY,UAAU,SAASxY,EAAEI,GAAG,OApEjPf,GAAI,mBAAmBoZ,MAAM3a,QAAQ4a,UAAUC,MAAK,WAAW,OAAOvU,OAAOqU,MAAMjV,EAAE,CAACoV,YAAY,gBAAgBD,MAAK,SAAS5a,GAAG,IAAIA,EAAE8a,GAAG,KAAK,uCAAuCrV,EAAE,IAAI,OAAOzF,EAAE+a,iBAAgBC,OAAM,WAAW,OAAO3U,QAoEcuU,MAAK,SAAStY,GAAG,OAAOZ,YAAYuZ,YAAY3Y,EAAEJ,MAAK0Y,MAAK,SAAStY,GAAG,OAAOA,KAAIsY,KAAKvY,GAAE,SAASC,GAAGrB,EAAE,0CAA0CqB,GAAGX,EAAGW,MAAK,IAAIJ,EAAE,CAAClC,EAAE8S,IACxb,GAD4bpN,IAAI/F,EAAE4a,wBAAwB5a,EAAE4a,uBAAuB7U,GAChf/F,EAAEub,gBAAgB,IAAI,OAAOvb,EAAEub,gBAAgBhZ,EAAElC,GAAG,MAAMqC,GAAG,OAAOpB,EAAE,sDAAsDoB,IAAG,GAAsBf,GAAI,mBAAmBI,YAAYyZ,sBAAsBpV,KAAM,mBAAmB2U,MAAMzY,EAAEhC,GAAGya,MAAMjV,EAAE,CAACoV,YAAY,gBAAgBD,MAAK,SAASvY,GAAG,OAAOX,YAAYyZ,qBAAqB9Y,EAAEH,GAAG0Y,KAAK3a,GAAE,SAASqC,GAAyF,OAAtFrB,EAAE,kCAAkCqB,GAAGrB,EAAE,6CAAoDgB,EAAEhC,UAAW+a,MAAMnb,GAD3d,GAEAF,EAAEyb,mBAAmB,WAAW,OAAOzb,EAAEyb,mBAAmBzb,EAAE0a,IAAI/N,IAAIG,MAAM,KAAKD,YAAY,IAAI3E,GAAElI,EAAE0b,MAAM,WAAW,OAAOxT,GAAElI,EAAE0b,MAAM1b,EAAE0a,IAAI1N,IAAIF,MAAM,KAAKD,YAAYtE,GAAGvI,EAAE2b,QAAQ,WAAW,OAAOpT,GAAGvI,EAAE2b,QAAQ3b,EAAE0a,IAAIxN,IAAIJ,MAAM,KAAKD,YAAY7M,EAAE4b,MAAM,WAAW,OAAO5b,EAAE4b,MAAM5b,EAAE0a,IAAIjN,IAAIX,MAAM,KAAKD,YAAY,IAAIwC,GAAGrP,EAAE6b,eAAe,WAAW,OAAOxM,GAAGrP,EAAE6b,eAAe7b,EAAE0a,IAAIhN,IAAIZ,MAAM,KAAKD,YAC3Y7M,EAAE8b,4CAA4C,WAAW,OAAO9b,EAAE8b,4CAA4C9b,EAAE0a,IAAI9M,IAAId,MAAM,KAAKD,YACnI,IAgBmGkP,GAhB/F3I,GAAEpT,EAAEgc,UAAU,WAAW,OAAO5I,GAAEpT,EAAEgc,UAAUhc,EAAE0a,IAAIrM,IAAIvB,MAAM,KAAKD,YAAYiI,GAAE9U,EAAEic,UAAU,WAAW,OAAOnH,GAAE9U,EAAEic,UAAUjc,EAAE0a,IAAI7L,IAAI/B,MAAM,KAAKD,YAAY+H,GAAE5U,EAAEkc,aAAa,WAAW,OAAOtH,GAAE5U,EAAEkc,aAAalc,EAAE0a,IAAIxL,IAAIpC,MAAM,KAAKD,YAAYmB,GAAGhO,EAAEmc,iBAAiB,WAAW,OAAOnO,GAAGhO,EAAEmc,iBAAiBnc,EAAE0a,IAAIvL,IAAIrC,MAAM,KAAKD,YAAYxE,GAAGrI,EAAEoc,uBAAuB,WAAW,OAAO/T,GAAGrI,EAAEoc,uBAAuBpc,EAAE0a,IAAItL,IAAItC,MAAM,KAAKD,YAAYkJ,GAAG/V,EAAEqc,YAAY,WAAW,OAAOtG,GAAG/V,EAAEqc,YACzerc,EAAE0a,IAAIrL,IAAIvC,MAAM,KAAKD,YAAYqJ,GAAGlW,EAAEsc,cAAc,WAAW,OAAOpG,GAAGlW,EAAEsc,cAActc,EAAE0a,IAAIpL,IAAIxC,MAAM,KAAKD,YAAYiJ,GAAG9V,EAAEuc,YAAY,WAAW,OAAOzG,GAAG9V,EAAEuc,YAAYvc,EAAE0a,IAAIjL,IAAI3C,MAAM,KAAKD,YAAYsJ,GAAGnW,EAAEwc,YAAY,WAAW,OAAOrG,GAAGnW,EAAEwc,YAAYxc,EAAE0a,IAAIhL,IAAI5C,MAAM,KAAKD,YAelL,SAAS4P,GAAGpc,GAAG4G,KAAK2C,KAAK,aAAa3C,KAAK4C,QAAQ,gCAAgCxJ,EAAE,IAAI4G,KAAKyV,OAAOrc,EAC3M,SAASsc,KAAK,SAAStc,IAAI,IAAI0b,KAAKA,IAAG,EAAG/b,EAAE4c,WAAU,GAAI1a,GAAI,CAAwE,GAAvEyE,EAAGpB,GAAIoB,EAAGnB,GAAIvF,EAAGD,GAAMA,EAAE6c,sBAAqB7c,EAAE6c,uBAA0BC,GAAG,CAAC,IAAIxc,EAAEN,EAAE4b,MAAM,IAAI,IAAItZ,EAAEhC,EAAE,EAAE,GAAOwB,IAAkB9B,EAAE+c,QAAO/c,EAAE+c,OAAOza,GAAGJ,GAAG,GAAGvB,EAAG2B,EAAE,IAAIma,GAAGna,IAAI,MAAMC,GAAGA,aAAaka,IAAI,UAAUla,GAAG5B,EAAG,EAAE4B,IAAa,GAAGvC,EAAEgd,QAAQ,IAAI,mBAAmBhd,EAAEgd,UAAUhd,EAAEgd,QAAQ,CAAChd,EAAEgd,UAAUhd,EAAEgd,QAAQha,QAAQ1C,EAAEN,EAAEgd,QAAQpX,QAAQH,EAAGI,QAAQvF,GAAGqG,EAAGlB,IAAK,KAAK,EAAEM,GAAG,CAAC,GAAG/F,EAAE2F,OAAO,IAAI,mBAAmB3F,EAAE2F,SAAS3F,EAAE2F,OAAO,CAAC3F,EAAE2F,SAAS3F,EAAE2F,OAAO3C,QAAQ0C,IACxgBiB,EAAGrB,GAAI,EAAES,IAAI/F,EAAEid,WAAWjd,EAAEid,UAAU,cAAcC,YAAW,WAAWA,YAAW,WAAWld,EAAEid,UAAU,MAAK,GAAG5c,MAAK,IAAIA,MAAe,GAjBwJL,EAAEmd,eAAe,WAAW,OAAOnd,EAAEmd,eAAend,EAAE0a,IAAI/K,IAAI7C,MAAM,KAAKD,YAAY7M,EAAEod,aAAa,WAAW,OAAOpd,EAAEod,aAAapd,EAAE0a,IAAI5K,IAAIhD,MAAM,KAAKD,YAC9b7M,EAAEqd,eAAe,WAAW,OAAOrd,EAAEqd,eAAerd,EAAE0a,IAAI1K,IAAIlD,MAAM,KAAKD,YAAY7M,EAAEsd,gBAAgB,WAAW,OAAOtd,EAAEsd,gBAAgBtd,EAAE0a,IAAIvK,IAAIrD,MAAM,KAAKD,YAAY7M,EAAEud,iBAAiB,WAAW,OAAOvd,EAAEud,iBAAiBvd,EAAE0a,IAAItK,IAAItD,MAAM,KAAKD,YAc5C5G,EAAG,SAASuX,IAAKzB,IAAIY,KAAKZ,KAAK9V,EAAGuX,IAE5Gxd,EAAEyd,IAAId,GAAM3c,EAAE0d,QAAQ,IAAI,mBAAmB1d,EAAE0d,UAAU1d,EAAE0d,QAAQ,CAAC1d,EAAE0d,UAAU,EAAE1d,EAAE0d,QAAQ1a,QAAQhD,EAAE0d,QAAQ5U,KAAV9I,GAAkB,IAAI8c,IAAG,EAG9P,OAHiQ9c,EAAE2d,eAAeb,IAAG,GAAIH,KAGlRhd,EAAmBQ,QAIL,iBAAZwa,SAA0C,iBAAXiD,OACxCA,OAAOjD,QAAUhb,mBACQ,mBAAXke,QAAyBA,OAAY,IACnDA,OAAO,IAAI,WAAa,OAAOle,sBACL,iBAAZgb,UACdA,QAA4B,mBAAIhb"}