@arcgis/core 4.28.0-next.20230621 → 4.28.0-next.20230623

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 (249) hide show
  1. package/Basemap.js +1 -1
  2. package/arcade/ArcadeModuleResolver.js +1 -1
  3. package/arcade/Feature.js +1 -1
  4. package/arcade/arcadeCompiler.js +1 -1
  5. package/arcade/arcadeTimeUtils.js +1 -1
  6. package/arcade/featureset/actions/GroupBy.js +1 -1
  7. package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
  8. package/arcade/featureset/support/sqlUtils.js +1 -1
  9. package/arcade/functions/date.js +1 -1
  10. package/arcade/functions/geomasync.js +1 -1
  11. package/arcade/functions/geometry.js +1 -1
  12. package/arcade/functions/geomsync.js +1 -1
  13. package/arcade/functions/string.js +1 -1
  14. package/arcade/languageUtils.js +1 -1
  15. package/assets/esri/core/workers/RemoteClient.js +1 -1
  16. package/assets/esri/core/workers/chunks/0380e9f61b6f3ca85139.js +1 -0
  17. package/assets/esri/core/workers/chunks/0bd95f46a0a9005a19f9.js +1 -0
  18. package/assets/esri/core/workers/chunks/0c621046b7211cdde980.js +1 -0
  19. package/assets/esri/core/workers/chunks/0e0267739728e5413f1d.js +1 -0
  20. package/assets/esri/core/workers/chunks/{39079bcfd35ed73c4e34.js → 156e801a3262f0ac79c0.js} +1 -1
  21. package/assets/esri/core/workers/chunks/19b4f02fb2392d964582.js +1 -0
  22. package/assets/esri/core/workers/chunks/1ae75f5282e983f6d768.js +1 -0
  23. package/assets/esri/core/workers/chunks/2179b3e9e532ca8ef982.js +1 -0
  24. package/assets/esri/core/workers/chunks/21aaa7fa0e5482670010.js +1 -0
  25. package/assets/esri/core/workers/chunks/26212a08ea383547335b.js +1 -0
  26. package/assets/esri/core/workers/chunks/{2420ec029236ab31d908.js → 2882a55a971af1f7858b.js} +1 -1
  27. package/assets/esri/core/workers/chunks/294285f2822c101326ec.js +1 -0
  28. package/assets/esri/core/workers/chunks/29f9a380610e4fd98a7c.js +1 -0
  29. package/assets/esri/core/workers/chunks/303238fc2fcdbb277981.js +1 -0
  30. package/assets/esri/core/workers/chunks/{3db8ae98799c752afe60.js → 34958516e604d487c625.js} +1 -1
  31. package/assets/esri/core/workers/chunks/3bee743f4c9370045a5d.js +1 -0
  32. package/assets/esri/core/workers/chunks/{8e08968505483dc58e00.js → 40ee4e0a5000a08c3abd.js} +1 -1
  33. package/assets/esri/core/workers/chunks/4128e45e17c9e5280e11.js +1 -0
  34. package/assets/esri/core/workers/chunks/4f88c4d1d2103843aca8.js +1 -0
  35. package/assets/esri/core/workers/chunks/505792ce8cbbddd2e815.js +1 -0
  36. package/assets/esri/core/workers/chunks/{3d42fa4ab5f8632d690a.js → 5237b3938be0d4bc6045.js} +1 -1
  37. package/assets/esri/core/workers/chunks/{57077e608f20d3a931e8.js → 570e94f4fbefc856d303.js} +1 -1
  38. package/assets/esri/core/workers/chunks/{4b235d1b6a72773cd4f4.js → 57bb8516fa998a0fba78.js} +1 -1
  39. package/assets/esri/core/workers/chunks/57bf3ff01d738cedc292.js +1 -0
  40. package/assets/esri/core/workers/chunks/{1e9e68312cd865358260.js → 60486acc5dacf73f851a.js} +1 -1
  41. package/assets/esri/core/workers/chunks/6208f2dfa9dfd3bca000.js +1 -0
  42. package/assets/esri/core/workers/chunks/64008bde5d3ffd9f2499.js +1 -0
  43. package/assets/esri/core/workers/chunks/69f51a7768bf51c9e346.js +1 -0
  44. package/assets/esri/core/workers/chunks/719f741a0e45c3e694ba.js +1 -0
  45. package/assets/esri/core/workers/chunks/{cfe379a78a983373b3ac.js → 7304f45f5622a68253e4.js} +1 -1
  46. package/assets/esri/core/workers/chunks/733b70d6e5c466a67e9c.js +1 -0
  47. package/assets/esri/core/workers/chunks/7694521b44681d52b713.js +1 -0
  48. package/assets/esri/core/workers/chunks/840fd05ceaa038c476d6.js +1 -0
  49. package/assets/esri/core/workers/chunks/89f7fd2ab92aa14fe0c0.js +1 -0
  50. package/assets/esri/core/workers/chunks/8a6f29f2ebd59783bb1b.js +1 -0
  51. package/assets/esri/core/workers/chunks/9d487b7817ccf5bceff6.js +1 -0
  52. package/assets/esri/core/workers/chunks/{42b6315e21c4c1345ba5.js → 9f5337a80963e0b3c009.js} +1 -1
  53. package/assets/esri/core/workers/chunks/a0face18b3ea567999ef.js +1 -0
  54. package/assets/esri/core/workers/chunks/b773c8854e98384ac8ac.js +1 -0
  55. package/assets/esri/core/workers/chunks/{fb44d872b9dbadcf8ccf.js → b9ef05c22bc3e395bcb3.js} +1 -1
  56. package/assets/esri/core/workers/chunks/bc5e34200776cfc83d5b.js +1 -0
  57. package/assets/esri/core/workers/chunks/{cfc3dcca2b69d20d5375.js → c0b9cc091efd5db827de.js} +1 -1
  58. package/assets/esri/core/workers/chunks/c9f5e949830196ad9458.js +1 -0
  59. package/assets/esri/core/workers/chunks/{036301f545aba2b8e485.js → cc15e28a99694120556d.js} +1 -1
  60. package/assets/esri/core/workers/chunks/ce7f575a6c2053c7ca17.js +1 -0
  61. package/assets/esri/core/workers/chunks/ce9c99cee3d1a3963e7c.js +1 -0
  62. package/assets/esri/core/workers/chunks/cf9a87b53ea74bae6a37.js +1 -0
  63. package/assets/esri/core/workers/chunks/d16850b98a53ade0de10.js +1 -0
  64. package/assets/esri/core/workers/chunks/d24f7ef6eca8c91b90b4.js +1 -0
  65. package/assets/esri/core/workers/chunks/dbd86e4b7983873cbe7c.js +1 -0
  66. package/assets/esri/core/workers/chunks/{3c3f65913006b84b2289.js → de20572d334abd4a7d82.js} +1 -1
  67. package/assets/esri/core/workers/chunks/e009e7f074a572894f48.js +1 -0
  68. package/assets/esri/core/workers/chunks/{cb004c492e22c50f9bfa.js → f3eb89cff63e00f036c6.js} +1 -1
  69. package/assets/esri/core/workers/chunks/{b2a423d9ce8bb784267c.js → f53f20c7100092823487.js} +1 -1
  70. package/assets/esri/core/workers/chunks/f6040205c50e2795a1a0.js +1 -0
  71. package/assets/esri/core/workers/chunks/{915734255a79bff3ef0f.js → fcd54e9e64c2864f183c.js} +1 -1
  72. package/assets/esri/t9n/common.json +1 -1
  73. package/assets/esri/t9n/common_en.json +1 -1
  74. package/assets/esri/themes/base/_core.scss +6 -2
  75. package/assets/esri/themes/base/_mixins.scss +0 -147
  76. package/assets/esri/themes/base/widgets/_AreaMeasurement2D.scss +0 -8
  77. package/assets/esri/themes/base/widgets/_AreaMeasurement3D.scss +0 -8
  78. package/assets/esri/themes/base/widgets/_DirectLineMeasurement3D.scss +0 -1
  79. package/assets/esri/themes/base/widgets/_DistanceMeasurement2D.scss +0 -1
  80. package/assets/esri/themes/base/widgets/_MeasurementWidgetContent.scss +67 -0
  81. package/assets/esri/themes/base/widgets/_Slice.scss +17 -54
  82. package/assets/esri/themes/base/widgets/_UnitSelect.scss +14 -0
  83. package/assets/esri/themes/dark/main.css +1 -1
  84. package/assets/esri/themes/light/main.css +1 -1
  85. package/assets/esri/themes/light/view.css +1 -1
  86. package/assets/esri/widgets/AreaMeasurement2D/t9n/AreaMeasurement2D.json +1 -1
  87. package/assets/esri/widgets/AreaMeasurement2D/t9n/AreaMeasurement2D_en.json +1 -1
  88. package/assets/esri/widgets/AreaMeasurement3D/t9n/AreaMeasurement3D.json +1 -1
  89. package/assets/esri/widgets/AreaMeasurement3D/t9n/AreaMeasurement3D_en.json +1 -1
  90. package/assets/esri/widgets/DirectLineMeasurement3D/t9n/DirectLineMeasurement3D.json +1 -1
  91. package/assets/esri/widgets/DirectLineMeasurement3D/t9n/DirectLineMeasurement3D_en.json +1 -1
  92. package/assets/esri/widgets/DistanceMeasurement2D/t9n/DistanceMeasurement2D.json +1 -1
  93. package/assets/esri/widgets/DistanceMeasurement2D/t9n/DistanceMeasurement2D_en.json +1 -1
  94. package/chunks/HUDMaterial.glsl.js +39 -39
  95. package/chunks/HighlightBlur.glsl.js +2 -2
  96. package/chunks/ShadowHighlight.glsl.js +1 -1
  97. package/chunks/arcade.js +1 -1
  98. package/chunks/languageUtils.js +1 -1
  99. package/core/HandleOwner.js +1 -1
  100. package/core/promiseUtils.js +1 -1
  101. package/core/support/{WatchUpdatingTracking.js → UpdatingHandles.js} +1 -1
  102. package/core/workers/workerFactory.js +1 -1
  103. package/geometry/projection.js +1 -1
  104. package/interfaces.d.ts +270 -5
  105. package/kernel.js +1 -1
  106. package/layers/Layer.js +1 -1
  107. package/layers/LinkChartLayer.d.ts +4 -0
  108. package/layers/LinkChartLayer.js +1 -1
  109. package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
  110. package/layers/mixins/PortalLayer.js +1 -1
  111. package/layers/support/TileInfoTilemapCache.js +1 -1
  112. package/package.json +1 -1
  113. package/support/revision.js +1 -1
  114. package/symbols/cim/cimAnalyzer.js +1 -1
  115. package/views/2d/layers/features/controllers/FeatureController2D.js +1 -1
  116. package/views/2d/layers/features/sources/DataTileSource.js +1 -1
  117. package/views/2d/layers/features/support/AttributeStore.js +1 -1
  118. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  119. package/views/2d/layers/imagery/ImageryTileView2D.js +1 -1
  120. package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
  121. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  122. package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
  123. package/views/3d/analysis/LineOfSight/LineOfSightVisualization.js +1 -1
  124. package/views/3d/environment/ChapmanAtmosphere.js +1 -1
  125. package/views/3d/environment/CloudsGenerator.js +1 -1
  126. package/views/3d/environment/EnvironmentRenderer.js +1 -1
  127. package/views/3d/environment/Precipitation.js +1 -1
  128. package/views/3d/environment/SceneViewEnvironmentManager.js +1 -1
  129. package/views/3d/environment/Stars.js +1 -1
  130. package/views/3d/interactive/editingTools/moveGraphic/GraphicMoveTool.js +1 -1
  131. package/views/3d/interactive/editingTools/reshapeGraphic/ReshapeOperation.js +1 -1
  132. package/views/3d/interactive/editingTools/transformGraphic/GraphicTransformTool.js +1 -1
  133. package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool.js +1 -1
  134. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
  135. package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
  136. package/views/3d/layers/I3SMeshView3D.js +1 -1
  137. package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
  138. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  139. package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
  140. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  141. package/views/3d/layers/graphics/Graphics3DLineCalloutSymbolLayer.js +1 -1
  142. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  143. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  144. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  145. package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
  146. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  147. package/views/3d/layers/graphics/Graphics3DScaleVisibility.js +1 -1
  148. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  149. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  150. package/views/3d/layers/graphics/Graphics3DWaterSymbolLayer.js +1 -1
  151. package/views/3d/layers/graphics/GraphicsProcessor.js +1 -1
  152. package/views/3d/layers/graphics/Labeler.js +1 -1
  153. package/views/3d/layers/graphics/labelPlacement.js +1 -1
  154. package/views/3d/layers/support/FeatureTileTree3DDebugger.js +1 -1
  155. package/views/3d/layers/support/FeatureVisibilityFilter.js +1 -1
  156. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  157. package/views/3d/state/ViewState.js +1 -1
  158. package/views/3d/state/ViewStateManager.js +1 -1
  159. package/views/3d/support/DisplayQualityProfile.js +1 -1
  160. package/views/3d/support/MemoryController.js +1 -1
  161. package/views/3d/support/SceneViewPerformanceInfo.js +1 -1
  162. package/views/3d/support/cameraUtils.js +1 -1
  163. package/views/3d/support/viewpointUtils.js +1 -1
  164. package/views/3d/terrain/OverlayFramebufferObject.js +1 -1
  165. package/views/3d/terrain/OverlayManager.js +1 -1
  166. package/views/3d/terrain/OverlayRenderer.js +1 -1
  167. package/views/3d/terrain/TerrainSurface.js +1 -1
  168. package/views/3d/webgl-engine/Stage.js +1 -1
  169. package/views/3d/webgl-engine/core/FBOCache.js +1 -1
  170. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUDOcclusionPass.glsl.js +6 -7
  171. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js +1 -1
  172. package/views/3d/webgl-engine/lib/Highlight.js +1 -1
  173. package/views/3d/webgl-engine/lib/OffscreenRendering.js +1 -1
  174. package/views/3d/webgl-engine/lib/RenderPluginManager.js +1 -1
  175. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  176. package/views/3d/webgl-engine/lib/SSAOHelper.js +1 -1
  177. package/views/3d/webgl-engine/lib/SmaaRenderPass.js +1 -1
  178. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  179. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  180. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  181. package/views/LayerViewManager.js +1 -1
  182. package/views/ToolViewManager.js +1 -1
  183. package/views/draw/DrawOperation.js +1 -1
  184. package/views/draw/PointDrawAction.js +1 -1
  185. package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
  186. package/views/interactive/snapping/featureSources/FeatureServiceSnappingSource.js +1 -1
  187. package/views/interactive/snapping/featureSources/GraphicsSnappingSource.js +1 -1
  188. package/views/interactive/snapping/featureSources/I3SSnappingSource.js +1 -1
  189. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorker.js +1 -1
  190. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorkerHandle.js +1 -1
  191. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
  192. package/views/layers/LayerView.js +1 -1
  193. package/views/overlay/ViewOverlay.js +1 -1
  194. package/views/webgl/Texture.js +1 -1
  195. package/widgets/AreaMeasurement2D.js +1 -1
  196. package/widgets/AreaMeasurement3D.js +1 -1
  197. package/widgets/DirectLineMeasurement3D.js +1 -1
  198. package/widgets/DistanceMeasurement2D.js +1 -1
  199. package/widgets/Editor/EditorViewModel.js +1 -1
  200. package/widgets/Editor/Workflow.js +1 -1
  201. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  202. package/widgets/FeatureForm/FieldInput.js +1 -1
  203. package/widgets/FeatureForm/FormExpressionArcadeExecutor.js +1 -1
  204. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  205. package/widgets/OrientedImageryViewer.js +1 -1
  206. package/widgets/Slice.js +1 -1
  207. package/widgets/UtilityNetworkValidateTopology/UtilityNetworkValidateTopologyViewModel.js +1 -1
  208. package/widgets/support/MeasurementWidgetContent.js +5 -0
  209. package/widgets/support/UnitSelect.js +5 -0
  210. package/assets/esri/core/workers/chunks/0254165377538522c830.js +0 -1
  211. package/assets/esri/core/workers/chunks/07f16ea775b39a1a4a7b.js +0 -1
  212. package/assets/esri/core/workers/chunks/170c72126d10b1fdb2b0.js +0 -1
  213. package/assets/esri/core/workers/chunks/1bbc868d2430103951eb.js +0 -1
  214. package/assets/esri/core/workers/chunks/1d2ef88a8d028adef102.js +0 -1
  215. package/assets/esri/core/workers/chunks/2ef70c9b2484a11b7435.js +0 -1
  216. package/assets/esri/core/workers/chunks/39ae4b9b766f674bc6f2.js +0 -1
  217. package/assets/esri/core/workers/chunks/3b3d676b609c47a77164.js +0 -1
  218. package/assets/esri/core/workers/chunks/3d9a8cb638cf9b8ca4b3.js +0 -1
  219. package/assets/esri/core/workers/chunks/42f3421740a5479559dc.js +0 -1
  220. package/assets/esri/core/workers/chunks/45629ff775e77234b227.js +0 -1
  221. package/assets/esri/core/workers/chunks/52315f93a6f0ad59bd90.js +0 -1
  222. package/assets/esri/core/workers/chunks/5bb96e602d7cecbecf54.js +0 -1
  223. package/assets/esri/core/workers/chunks/63322229183f1d4eaa70.js +0 -1
  224. package/assets/esri/core/workers/chunks/642510b0371311ff8e16.js +0 -1
  225. package/assets/esri/core/workers/chunks/6995ace1d25d67c98d0e.js +0 -1
  226. package/assets/esri/core/workers/chunks/7e4013f8c31c9a9438c6.js +0 -1
  227. package/assets/esri/core/workers/chunks/82939ead43848a13f765.js +0 -1
  228. package/assets/esri/core/workers/chunks/8b6b963230df56850580.js +0 -1
  229. package/assets/esri/core/workers/chunks/95ff92d7caa34664d58f.js +0 -1
  230. package/assets/esri/core/workers/chunks/9e570cd4a48c30c83ae6.js +0 -1
  231. package/assets/esri/core/workers/chunks/a9e9297267614c4c4f3b.js +0 -1
  232. package/assets/esri/core/workers/chunks/b052463ffb7cb32306dc.js +0 -1
  233. package/assets/esri/core/workers/chunks/b31974524932e638df8c.js +0 -1
  234. package/assets/esri/core/workers/chunks/b75b4b132dbd9cb9d372.js +0 -1
  235. package/assets/esri/core/workers/chunks/c1dfbda75abc748a6ca4.js +0 -1
  236. package/assets/esri/core/workers/chunks/c8702e53a8ad6cf6ab85.js +0 -1
  237. package/assets/esri/core/workers/chunks/c90416e7bf29eb1d4536.js +0 -1
  238. package/assets/esri/core/workers/chunks/cad7a2092ea7f51dbd8b.js +0 -1
  239. package/assets/esri/core/workers/chunks/d0e2b42dca51711f2c6f.js +0 -1
  240. package/assets/esri/core/workers/chunks/d2a127f7bb0e2ba14a13.js +0 -1
  241. package/assets/esri/core/workers/chunks/df96824a6f76bad1370c.js +0 -1
  242. package/assets/esri/core/workers/chunks/e097f41bbfac00250477.js +0 -1
  243. package/assets/esri/core/workers/chunks/e3243d120a23a9b48392.js +0 -1
  244. package/assets/esri/core/workers/chunks/e55f80b774e090a0aa04.js +0 -1
  245. package/assets/esri/core/workers/chunks/e668c7e2e61aae6ca6e0.js +0 -1
  246. package/assets/esri/core/workers/chunks/ef900614353505afb210.js +0 -1
  247. package/assets/esri/core/workers/chunks/f0299d93a95f40ea7cf7.js +0 -1
  248. package/assets/esri/core/workers/chunks/f23b95d7e51a144ad065.js +0 -1
  249. package/assets/esri/core/workers/chunks/f263e73a25fae4beffae.js +0 -1
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1412,3172,9880],{99880:(e,t,r)=>{r.d(t,{V:()=>c});var n=r(68773),o=(r(3172),r(20102)),s=r(92604),i=r(81271);const a=s.Z.getLogger("esri.assets");function c(e){if(!n.default.assetsPath)throw a.errorOnce("The API assets location needs to be set using config.assetsPath. More information: https://arcg.is/1OzLe50"),new o.Z("assets:path-not-set","config.assetsPath is not set");return(0,i.v_)(n.default.assetsPath,e)}},46521:(e,t,r)=>{function n(){return[1,0,0,0,1,0,0,0,1]}function o(e,t,r,n,o,s,i,a,c){return[e,t,r,n,o,s,i,a,c]}function s(e,t){return new Float64Array(e,t,9)}r.d(t,{a:()=>s,c:()=>n,f:()=>o}),Object.freeze(Object.defineProperty({__proto__:null,clone:function(e){return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},create:n,createView:s,fromValues:o},Symbol.toStringTag,{value:"Module"}))},52138:(e,t,r)=>{r.d(t,{A:()=>p,a:()=>c,d:()=>m,e:()=>h,f:()=>d,g:()=>b,h:()=>w,i:()=>i,j:()=>_,k:()=>f,m:()=>u,s:()=>s,t:()=>a,w:()=>l,y:()=>v,z:()=>S});var n=r(65617),o=r(46851);function s(e,t,r,n,o,s,i,a,c,u,l,f,h,d,m,p,y){return e[0]=t,e[1]=r,e[2]=n,e[3]=o,e[4]=s,e[5]=i,e[6]=a,e[7]=c,e[8]=u,e[9]=l,e[10]=f,e[11]=h,e[12]=d,e[13]=m,e[14]=p,e[15]=y,e}function i(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function a(e,t){if(e===t){const r=t[1],n=t[2],o=t[3],s=t[6],i=t[7],a=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=s,e[11]=t[14],e[12]=o,e[13]=i,e[14]=a}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function c(e,t){const r=t[0],n=t[1],o=t[2],s=t[3],i=t[4],a=t[5],c=t[6],u=t[7],l=t[8],f=t[9],h=t[10],d=t[11],m=t[12],p=t[13],y=t[14],g=t[15],b=r*a-n*i,M=r*c-o*i,w=r*u-s*i,_=n*c-o*a,S=n*u-s*a,v=o*u-s*c,E=l*p-f*m,T=l*y-h*m,O=l*g-d*m,P=f*y-h*p,x=f*g-d*p,q=h*g-d*y;let A=b*q-M*x+w*P+_*O-S*T+v*E;return A?(A=1/A,e[0]=(a*q-c*x+u*P)*A,e[1]=(o*x-n*q-s*P)*A,e[2]=(p*v-y*S+g*_)*A,e[3]=(h*S-f*v-d*_)*A,e[4]=(c*O-i*q-u*T)*A,e[5]=(r*q-o*O+s*T)*A,e[6]=(y*w-m*v-g*M)*A,e[7]=(l*v-h*w+d*M)*A,e[8]=(i*x-a*O+u*E)*A,e[9]=(n*O-r*x-s*E)*A,e[10]=(m*S-p*w+g*b)*A,e[11]=(f*w-l*S-d*b)*A,e[12]=(a*T-i*P-c*E)*A,e[13]=(r*P-n*T+o*E)*A,e[14]=(p*M-m*_-y*b)*A,e[15]=(l*_-f*M+h*b)*A,e):null}function u(e,t,r){const n=t[0],o=t[1],s=t[2],i=t[3],a=t[4],c=t[5],u=t[6],l=t[7],f=t[8],h=t[9],d=t[10],m=t[11],p=t[12],y=t[13],g=t[14],b=t[15];let M=r[0],w=r[1],_=r[2],S=r[3];return e[0]=M*n+w*a+_*f+S*p,e[1]=M*o+w*c+_*h+S*y,e[2]=M*s+w*u+_*d+S*g,e[3]=M*i+w*l+_*m+S*b,M=r[4],w=r[5],_=r[6],S=r[7],e[4]=M*n+w*a+_*f+S*p,e[5]=M*o+w*c+_*h+S*y,e[6]=M*s+w*u+_*d+S*g,e[7]=M*i+w*l+_*m+S*b,M=r[8],w=r[9],_=r[10],S=r[11],e[8]=M*n+w*a+_*f+S*p,e[9]=M*o+w*c+_*h+S*y,e[10]=M*s+w*u+_*d+S*g,e[11]=M*i+w*l+_*m+S*b,M=r[12],w=r[13],_=r[14],S=r[15],e[12]=M*n+w*a+_*f+S*p,e[13]=M*o+w*c+_*h+S*y,e[14]=M*s+w*u+_*d+S*g,e[15]=M*i+w*l+_*m+S*b,e}function l(e,t,r){const n=r[0],o=r[1],s=r[2];if(t===e)e[12]=t[0]*n+t[4]*o+t[8]*s+t[12],e[13]=t[1]*n+t[5]*o+t[9]*s+t[13],e[14]=t[2]*n+t[6]*o+t[10]*s+t[14],e[15]=t[3]*n+t[7]*o+t[11]*s+t[15];else{const r=t[0],i=t[1],a=t[2],c=t[3],u=t[4],l=t[5],f=t[6],h=t[7],d=t[8],m=t[9],p=t[10],y=t[11];e[0]=r,e[1]=i,e[2]=a,e[3]=c,e[4]=u,e[5]=l,e[6]=f,e[7]=h,e[8]=d,e[9]=m,e[10]=p,e[11]=y,e[12]=r*n+u*o+d*s+t[12],e[13]=i*n+l*o+m*s+t[13],e[14]=a*n+f*o+p*s+t[14],e[15]=c*n+h*o+y*s+t[15]}return e}function f(e,t,r){const n=r[0],o=r[1],s=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*o,e[5]=t[5]*o,e[6]=t[6]*o,e[7]=t[7]*o,e[8]=t[8]*s,e[9]=t[9]*s,e[10]=t[10]*s,e[11]=t[11]*s,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function h(e,t,r,n){let s,i,a,c,u,l,f,h,d,m,p,y,g,b,M,w,_,S,v,E,T,O,P,x,q=n[0],A=n[1],L=n[2],C=Math.sqrt(q*q+A*A+L*L);return C<(0,o.g)()?null:(C=1/C,q*=C,A*=C,L*=C,s=Math.sin(r),i=Math.cos(r),a=1-i,c=t[0],u=t[1],l=t[2],f=t[3],h=t[4],d=t[5],m=t[6],p=t[7],y=t[8],g=t[9],b=t[10],M=t[11],w=q*q*a+i,_=A*q*a+L*s,S=L*q*a-A*s,v=q*A*a-L*s,E=A*A*a+i,T=L*A*a+q*s,O=q*L*a+A*s,P=A*L*a-q*s,x=L*L*a+i,e[0]=c*w+h*_+y*S,e[1]=u*w+d*_+g*S,e[2]=l*w+m*_+b*S,e[3]=f*w+p*_+M*S,e[4]=c*v+h*E+y*T,e[5]=u*v+d*E+g*T,e[6]=l*v+m*E+b*T,e[7]=f*v+p*E+M*T,e[8]=c*O+h*P+y*x,e[9]=u*O+d*P+g*x,e[10]=l*O+m*P+b*x,e[11]=f*O+p*P+M*x,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function d(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}function m(e,t,r){if(0===t)return i(e);let n,s,a,c=r[0],u=r[1],l=r[2],f=Math.sqrt(c*c+u*u+l*l);return f<(0,o.g)()?null:(f=1/f,c*=f,u*=f,l*=f,n=Math.sin(t),s=Math.cos(t),a=1-s,e[0]=c*c*a+s,e[1]=u*c*a+l*n,e[2]=l*c*a-u*n,e[3]=0,e[4]=c*u*a-l*n,e[5]=u*u*a+s,e[6]=l*u*a+c*n,e[7]=0,e[8]=c*l*a+u*n,e[9]=u*l*a-c*n,e[10]=l*l*a+s,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function p(e,t){const r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function y(e,t,r){const n=t[0],o=t[1],s=t[2],i=t[3],a=n+n,c=o+o,u=s+s,l=n*a,f=n*c,h=n*u,d=o*c,m=o*u,p=s*u,y=i*a,g=i*c,b=i*u;return e[0]=1-(d+p),e[1]=f+b,e[2]=h-g,e[3]=0,e[4]=f-b,e[5]=1-(l+p),e[6]=m+y,e[7]=0,e[8]=h+g,e[9]=m-y,e[10]=1-(l+d),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}const g=(0,n.c)();function b(e,t,r,n){const o=t[0],s=t[1],i=t[2],a=t[3],c=o+o,u=s+s,l=i+i,f=o*c,h=o*u,d=o*l,m=s*u,p=s*l,y=i*l,g=a*c,b=a*u,M=a*l,w=n[0],_=n[1],S=n[2];return e[0]=(1-(m+y))*w,e[1]=(h+M)*w,e[2]=(d-b)*w,e[3]=0,e[4]=(h-M)*_,e[5]=(1-(f+y))*_,e[6]=(p+g)*_,e[7]=0,e[8]=(d+b)*S,e[9]=(p-g)*S,e[10]=(1-(f+m))*S,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function M(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}function w(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function _(e,t){if(e===t)return!0;const r=e[0],n=e[1],s=e[2],i=e[3],a=e[4],c=e[5],u=e[6],l=e[7],f=e[8],h=e[9],d=e[10],m=e[11],p=e[12],y=e[13],g=e[14],b=e[15],M=t[0],w=t[1],_=t[2],S=t[3],v=t[4],E=t[5],T=t[6],O=t[7],P=t[8],x=t[9],q=t[10],A=t[11],L=t[12],C=t[13],R=t[14],B=t[15],I=(0,o.g)();return Math.abs(r-M)<=I*Math.max(1,Math.abs(r),Math.abs(M))&&Math.abs(n-w)<=I*Math.max(1,Math.abs(n),Math.abs(w))&&Math.abs(s-_)<=I*Math.max(1,Math.abs(s),Math.abs(_))&&Math.abs(i-S)<=I*Math.max(1,Math.abs(i),Math.abs(S))&&Math.abs(a-v)<=I*Math.max(1,Math.abs(a),Math.abs(v))&&Math.abs(c-E)<=I*Math.max(1,Math.abs(c),Math.abs(E))&&Math.abs(u-T)<=I*Math.max(1,Math.abs(u),Math.abs(T))&&Math.abs(l-O)<=I*Math.max(1,Math.abs(l),Math.abs(O))&&Math.abs(f-P)<=I*Math.max(1,Math.abs(f),Math.abs(P))&&Math.abs(h-x)<=I*Math.max(1,Math.abs(h),Math.abs(x))&&Math.abs(d-q)<=I*Math.max(1,Math.abs(d),Math.abs(q))&&Math.abs(m-A)<=I*Math.max(1,Math.abs(m),Math.abs(A))&&Math.abs(p-L)<=I*Math.max(1,Math.abs(p),Math.abs(L))&&Math.abs(y-C)<=I*Math.max(1,Math.abs(y),Math.abs(C))&&Math.abs(g-R)<=I*Math.max(1,Math.abs(g),Math.abs(R))&&Math.abs(b-B)<=I*Math.max(1,Math.abs(b),Math.abs(B))}function S(e){const t=(0,o.g)(),r=e[0],n=e[1],s=e[2],i=e[4],a=e[5],c=e[6],u=e[8],l=e[9],f=e[10];return Math.abs(1-(r*r+i*i+u*u))<=t&&Math.abs(1-(n*n+a*a+l*l))<=t&&Math.abs(1-(s*s+c*c+f*f))<=t}function v(e){return 1===e[0]&&0===e[1]&&0===e[2]&&0===e[4]&&1===e[5]&&0===e[6]&&0===e[8]&&0===e[9]&&1===e[10]}const E=u,T=M;Object.freeze(Object.defineProperty({__proto__:null,add:function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e},adjoint:function(e,t){const r=t[0],n=t[1],o=t[2],s=t[3],i=t[4],a=t[5],c=t[6],u=t[7],l=t[8],f=t[9],h=t[10],d=t[11],m=t[12],p=t[13],y=t[14],g=t[15];return e[0]=a*(h*g-d*y)-f*(c*g-u*y)+p*(c*d-u*h),e[1]=-(n*(h*g-d*y)-f*(o*g-s*y)+p*(o*d-s*h)),e[2]=n*(c*g-u*y)-a*(o*g-s*y)+p*(o*u-s*c),e[3]=-(n*(c*d-u*h)-a*(o*d-s*h)+f*(o*u-s*c)),e[4]=-(i*(h*g-d*y)-l*(c*g-u*y)+m*(c*d-u*h)),e[5]=r*(h*g-d*y)-l*(o*g-s*y)+m*(o*d-s*h),e[6]=-(r*(c*g-u*y)-i*(o*g-s*y)+m*(o*u-s*c)),e[7]=r*(c*d-u*h)-i*(o*d-s*h)+l*(o*u-s*c),e[8]=i*(f*g-d*p)-l*(a*g-u*p)+m*(a*d-u*f),e[9]=-(r*(f*g-d*p)-l*(n*g-s*p)+m*(n*d-s*f)),e[10]=r*(a*g-u*p)-i*(n*g-s*p)+m*(n*u-s*a),e[11]=-(r*(a*d-u*f)-i*(n*d-s*f)+l*(n*u-s*a)),e[12]=-(i*(f*y-h*p)-l*(a*y-c*p)+m*(a*h-c*f)),e[13]=r*(f*y-h*p)-l*(n*y-o*p)+m*(n*h-o*f),e[14]=-(r*(a*y-c*p)-i*(n*y-o*p)+m*(n*c-o*a)),e[15]=r*(a*h-c*f)-i*(n*h-o*f)+l*(n*c-o*a),e},copy:function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},determinant:function(e){const t=e[0],r=e[1],n=e[2],o=e[3],s=e[4],i=e[5],a=e[6],c=e[7],u=e[8],l=e[9],f=e[10],h=e[11],d=e[12],m=e[13],p=e[14],y=e[15];return(t*i-r*s)*(f*y-h*p)-(t*a-n*s)*(l*y-h*m)+(t*c-o*s)*(l*p-f*m)+(r*a-n*i)*(u*y-h*d)-(r*c-o*i)*(u*p-f*d)+(n*c-o*a)*(u*m-l*d)},equals:_,exactEquals:w,frob:function(e){return Math.sqrt(e[0]**2+e[1]**2+e[2]**2+e[3]**2+e[4]**2+e[5]**2+e[6]**2+e[7]**2+e[8]**2+e[9]**2+e[10]**2+e[11]**2+e[12]**2+e[13]**2+e[14]**2+e[15]**2)},fromQuat:function(e,t){const r=t[0],n=t[1],o=t[2],s=t[3],i=r+r,a=n+n,c=o+o,u=r*i,l=n*i,f=n*a,h=o*i,d=o*a,m=o*c,p=s*i,y=s*a,g=s*c;return e[0]=1-f-m,e[1]=l+g,e[2]=h-y,e[3]=0,e[4]=l-g,e[5]=1-u-m,e[6]=d+p,e[7]=0,e[8]=h+y,e[9]=d-p,e[10]=1-u-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},fromQuat2:function(e,t){const r=g,n=-t[0],o=-t[1],s=-t[2],i=t[3],a=t[4],c=t[5],u=t[6],l=t[7],f=n*n+o*o+s*s+i*i;return f>0?(r[0]=2*(a*i+l*n+c*s-u*o)/f,r[1]=2*(c*i+l*o+u*n-a*s)/f,r[2]=2*(u*i+l*s+a*o-c*n)/f):(r[0]=2*(a*i+l*n+c*s-u*o),r[1]=2*(c*i+l*o+u*n-a*s),r[2]=2*(u*i+l*s+a*o-c*n)),y(e,t,r),e},fromRotation:m,fromRotationTranslation:y,fromRotationTranslationScale:b,fromRotationTranslationScaleOrigin:function(e,t,r,n,o){const s=t[0],i=t[1],a=t[2],c=t[3],u=s+s,l=i+i,f=a+a,h=s*u,d=s*l,m=s*f,p=i*l,y=i*f,g=a*f,b=c*u,M=c*l,w=c*f,_=n[0],S=n[1],v=n[2],E=o[0],T=o[1],O=o[2],P=(1-(p+g))*_,x=(d+w)*_,q=(m-M)*_,A=(d-w)*S,L=(1-(h+g))*S,C=(y+b)*S,R=(m+M)*v,B=(y-b)*v,I=(1-(h+p))*v;return e[0]=P,e[1]=x,e[2]=q,e[3]=0,e[4]=A,e[5]=L,e[6]=C,e[7]=0,e[8]=R,e[9]=B,e[10]=I,e[11]=0,e[12]=r[0]+E-(P*E+A*T+R*O),e[13]=r[1]+T-(x*E+L*T+B*O),e[14]=r[2]+O-(q*E+C*T+I*O),e[15]=1,e},fromScaling:function(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},fromTranslation:d,fromXRotation:p,fromYRotation:function(e,t){const r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},fromZRotation:function(e,t){const r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},frustum:function(e,t,r,n,o,s,i){const a=1/(r-t),c=1/(o-n),u=1/(s-i);return e[0]=2*s*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*s*c,e[6]=0,e[7]=0,e[8]=(r+t)*a,e[9]=(o+n)*c,e[10]=(i+s)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=i*s*2*u,e[15]=0,e},getRotation:function(e,t){const r=t[0]+t[5]+t[10];let n=0;return r>0?(n=2*Math.sqrt(r+1),e[3]=.25*n,e[0]=(t[6]-t[9])/n,e[1]=(t[8]-t[2])/n,e[2]=(t[1]-t[4])/n):t[0]>t[5]&&t[0]>t[10]?(n=2*Math.sqrt(1+t[0]-t[5]-t[10]),e[3]=(t[6]-t[9])/n,e[0]=.25*n,e[1]=(t[1]+t[4])/n,e[2]=(t[8]+t[2])/n):t[5]>t[10]?(n=2*Math.sqrt(1+t[5]-t[0]-t[10]),e[3]=(t[8]-t[2])/n,e[0]=(t[1]+t[4])/n,e[1]=.25*n,e[2]=(t[6]+t[9])/n):(n=2*Math.sqrt(1+t[10]-t[0]-t[5]),e[3]=(t[1]-t[4])/n,e[0]=(t[8]+t[2])/n,e[1]=(t[6]+t[9])/n,e[2]=.25*n),e},getScaling:function(e,t){const r=t[0],n=t[1],o=t[2],s=t[4],i=t[5],a=t[6],c=t[8],u=t[9],l=t[10];return e[0]=Math.sqrt(r*r+n*n+o*o),e[1]=Math.sqrt(s*s+i*i+a*a),e[2]=Math.sqrt(c*c+u*u+l*l),e},getTranslation:function(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e},hasIdentityRotation:v,identity:i,invert:c,invertOrIdentity:function(e,t){return c(e,t)||i(e),e},isOrthoNormal:S,lookAt:function(e,t,r,n){const s=t[0],a=t[1],c=t[2];let u=s-r[0],l=a-r[1],f=c-r[2];const h=(0,o.g)();if(Math.abs(u)<h&&Math.abs(l)<h&&Math.abs(f)<h)return void i(e);let d=1/Math.sqrt(u*u+l*l+f*f);u*=d,l*=d,f*=d;const m=n[0],p=n[1],y=n[2];let g=p*f-y*l,b=y*u-m*f,M=m*l-p*u;d=Math.sqrt(g*g+b*b+M*M),d?(d=1/d,g*=d,b*=d,M*=d):(g=0,b=0,M=0);let w=l*M-f*b,_=f*g-u*M,S=u*b-l*g;d=Math.sqrt(w*w+_*_+S*S),d?(d=1/d,w*=d,_*=d,S*=d):(w=0,_=0,S=0),e[0]=g,e[1]=w,e[2]=u,e[3]=0,e[4]=b,e[5]=_,e[6]=l,e[7]=0,e[8]=M,e[9]=S,e[10]=f,e[11]=0,e[12]=-(g*s+b*a+M*c),e[13]=-(w*s+_*a+S*c),e[14]=-(u*s+l*a+f*c),e[15]=1},mul:E,multiply:u,multiplyScalar:function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e},multiplyScalarAndAdd:function(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e},ortho:function(e,t,r,n,o,s,i){const a=1/(t-r),c=1/(n-o),u=1/(s-i);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*a,e[13]=(o+n)*c,e[14]=(i+s)*u,e[15]=1,e},perspective:function(e,t,r,n,o){const s=1/Math.tan(t/2);let i;return e[0]=s/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=o&&o!==1/0?(i=1/(n-o),e[10]=(o+n)*i,e[14]=2*o*n*i):(e[10]=-1,e[14]=-2*n),e},perspectiveFromFieldOfView:function(e,t,r,n){const o=Math.tan(t.upDegrees*Math.PI/180),s=Math.tan(t.downDegrees*Math.PI/180),i=Math.tan(t.leftDegrees*Math.PI/180),a=Math.tan(t.rightDegrees*Math.PI/180),c=2/(i+a),u=2/(o+s);return e[0]=c,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=u,e[6]=0,e[7]=0,e[8]=-(i-a)*c*.5,e[9]=(o-s)*u*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e},rotate:h,rotateX:function(e,t,r){const n=Math.sin(r),o=Math.cos(r),s=t[4],i=t[5],a=t[6],c=t[7],u=t[8],l=t[9],f=t[10],h=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=s*o+u*n,e[5]=i*o+l*n,e[6]=a*o+f*n,e[7]=c*o+h*n,e[8]=u*o-s*n,e[9]=l*o-i*n,e[10]=f*o-a*n,e[11]=h*o-c*n,e},rotateY:function(e,t,r){const n=Math.sin(r),o=Math.cos(r),s=t[0],i=t[1],a=t[2],c=t[3],u=t[8],l=t[9],f=t[10],h=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=s*o-u*n,e[1]=i*o-l*n,e[2]=a*o-f*n,e[3]=c*o-h*n,e[8]=s*n+u*o,e[9]=i*n+l*o,e[10]=a*n+f*o,e[11]=c*n+h*o,e},rotateZ:function(e,t,r){const n=Math.sin(r),o=Math.cos(r),s=t[0],i=t[1],a=t[2],c=t[3],u=t[4],l=t[5],f=t[6],h=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=s*o+u*n,e[1]=i*o+l*n,e[2]=a*o+f*n,e[3]=c*o+h*n,e[4]=u*o-s*n,e[5]=l*o-i*n,e[6]=f*o-a*n,e[7]=h*o-c*n,e},scale:f,set:s,str:function(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"},sub:T,subtract:M,targetTo:function(e,t,r,n){const o=t[0],s=t[1],i=t[2],a=n[0],c=n[1],u=n[2];let l=o-r[0],f=s-r[1],h=i-r[2],d=l*l+f*f+h*h;d>0&&(d=1/Math.sqrt(d),l*=d,f*=d,h*=d);let m=c*h-u*f,p=u*l-a*h,y=a*f-c*l;return d=m*m+p*p+y*y,d>0&&(d=1/Math.sqrt(d),m*=d,p*=d,y*=d),e[0]=m,e[1]=p,e[2]=y,e[3]=0,e[4]=f*y-h*p,e[5]=h*m-l*y,e[6]=l*p-f*m,e[7]=0,e[8]=l,e[9]=f,e[10]=h,e[11]=0,e[12]=o,e[13]=s,e[14]=i,e[15]=1,e},translate:l,transpose:a},Symbol.toStringTag,{value:"Module"}))},13598:(e,t,r)=>{function n(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function o(e){return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]}function s(e,t){return new Float64Array(e,t,16)}r.d(t,{I:()=>i,a:()=>s,b:()=>o,c:()=>n});const i=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:i,clone:o,create:n,createView:s,fromValues:function(e,t,r,n,o,s,i,a,c,u,l,f,h,d,m,p){return[e,t,r,n,o,s,i,a,c,u,l,f,h,d,m,p]}},Symbol.toStringTag,{value:"Module"}))},94961:(e,t,r)=>{function n(){return[0,0,0,1]}function o(e){return[e[0],e[1],e[2],e[3]]}function s(e,t){return new Float64Array(e,t,4)}r.d(t,{I:()=>i,a:()=>n,b:()=>o,c:()=>s});const i=[0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:i,clone:o,create:n,createView:s,fromValues:function(e,t,r,n){return[e,t,r,n]}},Symbol.toStringTag,{value:"Module"}))},8310:(e,t,r)=>{r.d(t,{a:()=>g,c:()=>p,g:()=>b,h:()=>y,j:()=>_,l:()=>x}),r(80442);var n=r(92604),o=r(22021),s=r(52138),i=r(17896),a=r(65617),c=r(98766),u=r(88669),l=r(62155),f=r(78341),h=r(61277),d=r(12981);const m=p();function p(){return(0,u.c)()}function y(e,t=p()){return(0,c.c)(t,e)}function g(e){return e[3]}function b(e){return e}function M(e,t,r){if(null==t)return!1;const{origin:n,direction:o}=t,s=w;s[0]=n[0]-e[0],s[1]=n[1]-e[1],s[2]=n[2]-e[2];const i=o[0]*o[0]+o[1]*o[1]+o[2]*o[2];if(0===i)return!1;const a=2*(o[0]*s[0]+o[1]*s[1]+o[2]*s[2]),c=a*a-4*i*(s[0]*s[0]+s[1]*s[1]+s[2]*s[2]-e[3]*e[3]);if(c<0)return!1;const u=Math.sqrt(c);let l=(-a-u)/(2*i);const f=(-a+u)/(2*i);return(l<0||f<l&&f>0)&&(l=f),!(l<0||(r&&(r[0]=n[0]+o[0]*l,r[1]=n[1]+o[1]*l,r[2]=n[2]+o[2]*l),0))}const w=(0,a.c)();function _(e,t){return M(e,t,null)}function S(e,t,r){const n=d.WM.get(),o=d.MP.get();(0,i.f)(n,t.origin,t.direction);const a=g(e);(0,i.f)(r,n,t.origin),(0,i.g)(r,r,1/(0,i.l)(r)*a);const c=E(e,t.origin),u=(0,h.EU)(t.origin,r);return(0,s.d)(o,u+c,n),(0,i.m)(r,r,o),r}function v(e,t,r){const n=(0,i.b)(d.WM.get(),t,e),o=(0,i.g)(d.WM.get(),n,e[3]/(0,i.l)(n));return(0,i.a)(r,o,e)}function E(e,t){const r=(0,i.b)(d.WM.get(),t,e),n=(0,i.l)(r),s=g(e),a=s+Math.abs(s-n);return(0,o.ZF)(s/a)}const T=(0,a.c)();function O(e,t,r,n){const s=(0,i.b)(T,t,e);switch(r){case l.R.X:{const e=(0,o.jE)(s,T)[2];return(0,i.s)(n,-Math.sin(e),Math.cos(e),0)}case l.R.Y:{const e=(0,o.jE)(s,T),t=e[1],r=e[2],a=Math.sin(t);return(0,i.s)(n,-a*Math.cos(r),-a*Math.sin(r),Math.cos(t))}case l.R.Z:return(0,i.n)(n,s);default:return}}function P(e,t){const r=(0,i.b)(q,t,e);return(0,i.l)(r)-e[3]}function x(e,t){const r=(0,i.d)(e,t),n=g(e);return r<=n*n}const q=(0,a.c)(),A=p();Object.freeze(Object.defineProperty({__proto__:null,NullSphere:m,altitudeAt:P,angleToSilhouette:E,axisAt:O,clear:function(e){e[0]=e[1]=e[2]=e[3]=0},closestPoint:function(e,t,r){return M(e,t,r)?r:((0,f.JI)(t,e,r),v(e,r,r))},closestPointOnSilhouette:S,containsPoint:x,copy:y,create:p,distanceToSilhouette:function(e,t){const r=(0,i.b)(d.WM.get(),t,e),n=(0,i.p)(r),o=e[3]*e[3];return Math.sqrt(Math.abs(n-o))},elevate:function(e,t,r){return e!==r&&(0,i.c)(r,e),r[3]=e[3]+t,r},fromCenterAndRadius:function(e,t){return(0,u.f)(e[0],e[1],e[2],t)},fromRadius:function(e,t){return e[0]=e[1]=e[2]=0,e[3]=t,e},fromValues:function(e,t,r,n){return(0,u.f)(e,t,r,n)},getCenter:b,getRadius:g,intersectRay:M,intersectRayClosestSilhouette:function(e,t,r){if(M(e,t,r))return r;const n=S(e,t,d.WM.get());return(0,i.a)(r,t.origin,(0,i.g)(d.WM.get(),t.direction,(0,i.i)(t.origin,n)/(0,i.l)(t.direction))),r},intersectsRay:_,projectPoint:v,setAltitudeAt:function(e,t,r,n){const o=P(e,t),s=O(e,t,l.R.Z,q),a=(0,i.g)(q,s,r-o);return(0,i.a)(n,t,a)},setExtent:function(e,t,r){return n.Z.getLogger("esri.geometry.support.sphere").error("sphere.setExtent is not yet supported"),e===r?r:y(e,r)},tmpSphere:A,union:function(e,t,r=p()){const n=(0,i.i)(e,t),o=e[3],s=t[3];return n+s<o?((0,c.c)(r,e),r):n+o<s?((0,c.c)(r,t),r):((0,i.h)(r,e,t,(n+s-o)/(2*n)),r[3]=(n+o+s)/2,r)},wrap:function(e){return e}},Symbol.toStringTag,{value:"Module"}))},97323:(e,t,r)=>{function n(){return[0,0]}function o(e,t){return[e,t]}function s(e,t){return new Float64Array(e,t,2)}function i(){return o(1,1)}function a(){return o(1,0)}function c(){return o(0,1)}r.d(t,{a:()=>n,c:()=>s,f:()=>o});const u=i(),l=a(),f=c();Object.freeze(Object.defineProperty({__proto__:null,ONES:u,UNIT_X:l,UNIT_Y:f,ZEROS:[0,0],clone:function(e){return[e[0],e[1]]},create:n,createView:s,fromArray:function(e){const t=[0,0],r=Math.min(2,e.length);for(let n=0;n<r;++n)t[n]=e[n];return t},fromValues:o,ones:i,unitX:a,unitY:c,zeros:function(){return[0,0]}},Symbol.toStringTag,{value:"Module"}))},20773:(e,t,r)=>{r.d(t,{a:()=>a,b:()=>i,c:()=>o,d:()=>l,e:()=>c,n:()=>f,s:()=>u,t:()=>s});var n=r(72220);function o(e,t,r){s(e.typedBuffer,t.typedBuffer,r,e.typedBufferStride,t.typedBufferStride)}function s(e,t,r,o=3,s=o){if(e.length/o!==Math.ceil(t.length/s))return n.c.error("source and destination buffers need to have the same number of elements"),e;const i=e.length/o,a=r[0],c=r[1],u=r[2],l=r[4],f=r[5],h=r[6],d=r[8],m=r[9],p=r[10],y=r[12],g=r[13],b=r[14];let M=0,w=0;for(let r=0;r<i;r++){const r=t[M],n=t[M+1],i=t[M+2];e[w]=a*r+l*n+d*i+y,e[w+1]=c*r+f*n+m*i+g,e[w+2]=u*r+h*n+p*i+b,M+=s,w+=o}return e}function i(e,t,r){a(e.typedBuffer,t.typedBuffer,r,e.typedBufferStride,t.typedBufferStride)}function a(e,t,r,o=3,s=o){if(e.length/o!==Math.ceil(t.length/s))return void n.c.error("source and destination buffers need to have the same number of elements");const i=e.length/o,a=r[0],c=r[1],u=r[2],l=r[3],f=r[4],h=r[5],d=r[6],m=r[7],p=r[8];let y=0,g=0;for(let r=0;r<i;r++){const r=t[y],n=t[y+1],i=t[y+2];e[g]=a*r+l*n+d*i,e[g+1]=c*r+f*n+m*i,e[g+2]=u*r+h*n+p*i,y+=s,g+=o}}function c(e,t,r){u(e.typedBuffer,t,r,e.typedBufferStride)}function u(e,t,r,n=3){const o=Math.min(e.length/n,t.count),s=t.typedBuffer,i=t.typedBufferStride;let a=0,c=0;for(let t=0;t<o;t++)e[c]=r*s[a],e[c+1]=r*s[a+1],e[c+2]=r*s[a+2],a+=i,c+=n}function l(e,t){f(e.typedBuffer,t.typedBuffer,e.typedBufferStride,t.typedBufferStride)}function f(e,t,r=3,n=r){const o=Math.min(e.length/r,t.length/n);let s=0,i=0;for(let a=0;a<o;a++){const o=t[s],a=t[s+1],c=t[s+2],u=o*o+a*a+c*c;if(u>0){const t=1/Math.sqrt(u);e[i]=t*o,e[i+1]=t*a,e[i+2]=t*c}s+=n,i+=r}}Object.freeze(Object.defineProperty({__proto__:null,normalize:f,normalizeView:l,scale:u,scaleView:c,shiftRight:function(e,t,r){const n=Math.min(e.count,t.count),o=e.typedBuffer,s=e.typedBufferStride,i=t.typedBuffer,a=t.typedBufferStride;let c=0,u=0;for(let e=0;e<n;e++)o[u]=i[c]>>r,o[u+1]=i[c+1]>>r,o[u+2]=i[c+2]>>r,c+=a,u+=s},transformMat3:a,transformMat3View:i,transformMat4:s,transformMat4View:o},Symbol.toStringTag,{value:"Module"}))},88669:(e,t,r)=>{function n(){return[0,0,0,0]}function o(e,t,r,n){return[e,t,r,n]}function s(e,t){return new Float64Array(e,t,4)}function i(){return o(1,1,1,1)}function a(){return o(1,0,0,0)}function c(){return o(0,1,0,0)}function u(){return o(0,0,1,0)}function l(){return o(0,0,0,1)}r.d(t,{a:()=>s,c:()=>n,f:()=>o});const f=i(),h=a(),d=c(),m=u(),p=l();Object.freeze(Object.defineProperty({__proto__:null,ONES:f,UNIT_W:p,UNIT_X:h,UNIT_Y:d,UNIT_Z:m,ZEROS:[0,0,0,0],clone:function(e){return[e[0],e[1],e[2],e[3]]},create:n,createView:s,fromArray:function(e){const t=[0,0,0,0],r=Math.min(4,e.length);for(let n=0;n<r;++n)t[n]=e[n];return t},fromValues:o,ones:i,unitW:l,unitX:a,unitY:c,unitZ:u,zeros:function(){return[0,0,0,0]}},Symbol.toStringTag,{value:"Module"}))},91303:(e,t,r)=>{var n;r.d(t,{Y:()=>n}),function(e){e[e.KILOBYTES=1024]="KILOBYTES",e[e.MEGABYTES=1048576]="MEGABYTES",e[e.GIGABYTES=1073741824]="GIGABYTES"}(n||(n={}))},2368:(e,t,r)=>{r.d(t,{J:()=>l,j:()=>f});var n=r(43697),o=r(92036),s=(r(80442),r(22974)),i=(r(92604),r(70586)),a=r(31263),c=r(1153),u=r(52011);const l=e=>{let t=class extends e{clone(){const e=(0,c.vw)(this);(0,i.O3)(e,"unable to clone instance of non-accessor class");const t=e.metadatas,r=e.store,n={},o=new Map;for(const e in t){const i=t[e],c=r?.originOf(e),u=i.clonable;if(i.readOnly||!1===u||c!==a.s3.USER&&c!==a.s3.DEFAULTS&&c!==a.s3.WEB_MAP&&c!==a.s3.WEB_SCENE)continue;const l=this[e];let f=null;f="function"==typeof u?u(l):"reference"===u?l:(0,s.Vo)(l),null!=l&&null==f||(c===a.s3.DEFAULTS?o.set(e,f):n[e]=f)}const u=new(0,Object.getPrototypeOf(this).constructor)(n);if(o.size){const e=(0,c.vw)(u)?.store;if(e)for(const[t,r]of o)e.set(t,r,a.s3.DEFAULTS)}return u}};return t=(0,n._)([(0,u.j)("esri.core.Clonable")],t),t};let f=class extends(l(o.Z)){};f=(0,n._)([(0,u.j)("esri.core.Clonable")],f)},22807:(e,t,r)=>{r.d(t,{x:()=>o});var n=r(41213);class o{constructor(e){this._allocator=e,this._items=[],this._itemsPtr=0,this._grow()}get(){return 0===this._itemsPtr&&(0,n.Y)((()=>this._reset())),this._itemsPtr===this._items.length&&this._grow(),this._items[this._itemsPtr++]}_reset(){const e=Math.min(3*Math.max(8,this._itemsPtr),this._itemsPtr+3*s);this._items.length=Math.min(e,this._items.length),this._itemsPtr=0}_grow(){for(let e=0;e<Math.max(8,Math.min(this._items.length,s));e++)this._items.push(this._allocator())}}const s=1024},83025:(e,t,r)=>{r.d(t,{JK:()=>a,QZ:()=>s,Rq:()=>i,bg:()=>o,mB:()=>c});var n=r(1533);function o(e,t=!1){return e<=n.DB?t?new Array(e).fill(0):new Array(e):new Float64Array(e)}function s(e){return((0,n.kJ)(e)?e.length:e.byteLength/8)<=n.DB?Array.from(e):new Float64Array(e)}function i(e,t,r){return Array.isArray(e)?e.slice(t,t+r):e.subarray(t,t+r)}function a(e,t){for(let r=0;r<t.length;++r)e[r]=t[r];return e}function c(e){return Array.isArray(e)?new Float64Array(e):e}},85872:(e,t,r)=>{r.d(t,{Z:()=>h});var n=r(43697),o=r(2368),s=r(96674),i=r(5600),a=(r(75215),r(67676),r(80442),r(36030)),c=r(52011),u=r(65617),l=r(94139);let f=class extends((0,o.J)(s.wq)){constructor(e){super(e),this.type="georeferenced-relative",this.isRelative=!0,this.isGeoreferenced=!0,this.origin=(0,u.c)()}getOriginPoint(e){const[t,r,n]=this.origin;return new l.Z({x:t,y:r,z:n,spatialReference:e})}setOriginFormPoint({x:e,y:t,z:r}){this.origin=(0,u.f)(e,t,r??0)}};(0,n._)([(0,a.J)({georeferencedRelative:"georeferenced-relative"},{readOnly:!0})],f.prototype,"type",void 0),(0,n._)([(0,i.Cb)({type:[Number],nonNullable:!0,json:{write:!0}})],f.prototype,"origin",void 0),f=(0,n._)([(0,c.j)("esri.geometry.support.MeshGeoreferencedRelativeVertexSpace")],f);const h=f},50567:(e,t,r)=>{r.d(t,{Z:()=>u});var n=r(43697),o=r(2368),s=r(96674),i=(r(92604),r(75215),r(67676),r(80442),r(20102),r(36030)),a=r(52011);let c=class extends((0,o.J)(s.wq)){constructor(){super({}),this.type="georeferenced",this.isRelative=!1,this.isGeoreferenced=!0}};(0,n._)([(0,i.J)({georeferenced:"georeferenced"},{readOnly:!0})],c.prototype,"type",void 0),c=(0,n._)([(0,a.j)("esri.geometry.support.MeshGeoreferencedVertexSpace")],c);const u=c},84555:(e,t,r)=>{r.d(t,{Z:()=>h});var n=r(43697),o=r(2368),s=r(96674),i=r(5600),a=(r(75215),r(67676),r(80442),r(36030)),c=r(52011),u=r(65617),l=r(94139);let f=class extends((0,o.J)(s.wq)){constructor(e){super(e),this.type="local",this.isRelative=!0,this.isGeoreferenced=!1,this.origin=(0,u.c)()}getOriginPoint(e){const[t,r,n]=this.origin;return new l.Z({x:t,y:r,z:n,spatialReference:e})}setOriginFormPoint({x:e,y:t,z:r}){this.origin=(0,u.f)(e,t,r??0)}};(0,n._)([(0,a.J)({local:"local"},{readOnly:!0})],f.prototype,"type",void 0),(0,n._)([(0,i.Cb)({type:[Number],nonNullable:!0,json:{write:!0}})],f.prototype,"origin",void 0),f=(0,n._)([(0,c.j)("esri.geometry.support.MeshLocalVertexSpace")],f);const h=f},72220:(e,t,r)=>{r.d(t,{c:()=>n});const n=r(92604).Z.getLogger("esri.views.3d.support.buffer.math")},78341:(e,t,r)=>{r.d(t,{JI:()=>u,Ue:()=>i,re:()=>c}),r(67676);var n=r(22807),o=r(17896),s=r(65617);function i(e){return e?a((0,s.a)(e.origin),(0,s.a)(e.direction)):a((0,s.c)(),(0,s.c)())}function a(e,t){return{origin:e,direction:t}}function c(e,t){const r=l.get();return r.origin=e,r.direction=t,r}function u(e,t,r){const n=(0,o.e)(e.direction,(0,o.b)(r,t,e.origin));return(0,o.a)(r,e.origin,(0,o.g)(r,e.direction,n)),r}r(12981);const l=new n.x((()=>i()))},61277:(e,t,r)=>{r.d(t,{EU:()=>i});var n=r(22021),o=r(17896),s=r(65617);function i(e,t){const r=(0,o.e)(e,t)/((0,o.l)(e)*(0,o.l)(t));return-(0,n.ZF)(r)}(0,s.c)(),(0,s.c)()},12981:(e,t,r)=>{r.d(t,{MP:()=>m,WM:()=>d});var n=r(91303),o=r(41213),s=r(46521),i=r(13598),a=r(94961),c=r(97323),u=r(65617),l=r(88669);class f{constructor(e,t,r){this._itemByteSize=e,this._itemCreate=t,this._buffers=new Array,this._items=new Array,this._itemsPtr=0,this._itemsPerBuffer=Math.ceil(r/this._itemByteSize)}get(){0===this._itemsPtr&&(0,o.Y)((()=>this._reset()));const e=Math.floor(this._itemsPtr/this._itemsPerBuffer);for(;this._buffers.length<=e;){const e=new ArrayBuffer(this._itemsPerBuffer*this._itemByteSize);for(let t=0;t<this._itemsPerBuffer;++t)this._items.push(this._itemCreate(e,t*this._itemByteSize));this._buffers.push(e)}return this._items[this._itemsPtr++]}_reset(){const e=2*(Math.floor(this._itemsPtr/this._itemsPerBuffer)+1);for(;this._buffers.length>e;)this._buffers.pop(),this._items.length=this._buffers.length*this._itemsPerBuffer;this._itemsPtr=0}static createVec2f64(e=h){return new f(16,c.c,e)}static createVec3f64(e=h){return new f(24,u.b,e)}static createVec4f64(e=h){return new f(32,l.a,e)}static createMat3f64(e=h){return new f(72,s.a,e)}static createMat4f64(e=h){return new f(128,i.a,e)}static createQuatf64(e=h){return new f(32,a.c,e)}get test(){return{size:this._buffers.length*this._itemsPerBuffer*this._itemByteSize}}}const h=4*n.Y.KILOBYTES,d=(f.createVec2f64(),f.createVec3f64()),m=(f.createVec4f64(),f.createMat3f64(),f.createMat4f64());f.createQuatf64()},3172:(e,t,r)=>{r.r(t),r.d(t,{default:()=>d});var n=r(68773),o=r(40330),s=r(20102),i=r(80442),a=r(22974),c=r(95330),u=r(81271),l=r(19745),f=r(71058),h=r(85958);async function d(e,t){e instanceof URL&&(e=e.toString()),t?.query instanceof URLSearchParams&&(t.query=(0,u.u0)(t.query.toString().replaceAll("+"," ")));const a=(0,u.HK)(e),l=(0,u.jc)(e);l||a||(e=(0,u.Fv)(e));const g={url:e,requestOptions:{...t}};let b=(0,u.oh)(e);if(b){const e=await async function(e,t){if(null!=e.responseData)return e.responseData;if(e.headers&&(t.requestOptions.headers={...t.requestOptions.headers,...e.headers}),e.query&&(t.requestOptions.query={...t.requestOptions.query,...e.query}),e.before){let r,n;try{n=await e.before(t)}catch(e){r=v("request:interceptor",e,t)}if((n instanceof Error||n instanceof s.Z)&&(r=v("request:interceptor",n,t)),r)throw e.error&&e.error(r),r;return n}}(b,g);if(null!=e)return{data:e,getHeader:w,httpStatus:200,requestOptions:g.requestOptions,url:g.url};b.after||b.error||(b=null)}if(e=g.url,"image"===(t=g.requestOptions).responseType&&((0,i.Z)("host-webworker")||(0,i.Z)("host-node")))throw v("request:invalid-parameters",new Error("responseType 'image' is not supported in Web Workers or Node environment"),g);if("head"===t.method){if(t.body)throw v("request:invalid-parameters",new Error("body parameter cannot be set when method is 'head'"),g);if(a||l)throw v("request:invalid-parameters",new Error("data and blob URLs are not supported for method 'head'"),g)}if(await async function(){(0,i.Z)("host-webworker")?m||(m=await r.e(9884).then(r.bind(r,29884))):d._abortableFetch||(d._abortableFetch=globalThis.fetch.bind(globalThis))}(),m)return m.execute(e,t);const M=new AbortController;(0,c.fu)(t,(()=>M.abort()));const _={controller:M,credential:void 0,credentialToken:void 0,fetchOptions:void 0,hasToken:!1,interceptor:b,params:g,redoRequest:!1,useIdentity:p.useIdentity,useProxy:!1,useSSL:!1,withCredentials:!1},S=await async function(e){let t,r;await async function(e){const t=e.params.url,r=e.params.requestOptions,s=e.controller.signal,i=r.body;let a=null,u=null;if(y&&"HTMLFormElement"in globalThis&&(i instanceof FormData?a=i:i instanceof HTMLFormElement&&(a=new FormData(i))),"string"==typeof i&&(u=i),e.fetchOptions={cache:r.cacheBust&&!("polyfill"in d._abortableFetch)?"no-cache":"default",credentials:"same-origin",headers:r.headers||{},method:"head"===r.method?"HEAD":"GET",mode:"cors",priority:p.priority,redirect:"follow",signal:s},(a||u)&&(e.fetchOptions.body=a||u),"anonymous"===r.authMode&&(e.useIdentity=!1),e.hasToken=!!(/token=/i.test(t)||r.query?.token||a?.get("token")),!e.hasToken&&n.default.apiKey&&(0,f.r)(t)&&(r.query||(r.query={}),r.query.token=n.default.apiKey,e.hasToken=!0),e.useIdentity&&!e.hasToken&&!e.credentialToken&&!T(t)&&!(0,c.Hc)(s)){let n;"immediate"===r.authMode?(await E(),n=await o.id.getCredential(t,{signal:s}),e.credential=n):"no-prompt"===r.authMode?(await E(),n=await o.id.getCredential(t,{prompt:!1,signal:s}).catch((()=>{})),e.credential=n):o.id&&(n=o.id.findCredential(t)),n&&(e.credentialToken=n.token,e.useSSL=!!n.ssl)}}(e);try{do{[t,r]=await O(e)}while(!await x(e,t,r))}catch(r){const n=v("request:server",r,e.params,t);throw n.details.ssl=e.useSSL,e.interceptor?.error&&e.interceptor.error(n),n}const s=e.params.url;if(r&&/\/sharing\/rest\/(accounts|portals)\/self/i.test(s)){if(!e.hasToken&&!e.credentialToken&&r.user?.username&&!(0,u.kl)(s)){const e=(0,u.P$)(s,!0);e&&p.trustedServers.push(e)}Array.isArray(r.authorizedCrossOriginNoCorsDomains)&&(0,h.Hu)(r.authorizedCrossOriginNoCorsDomains)}const i=e.credential;if(i&&o.id){const e=o.id.findServerInfo(i.server);let t=e?.owningSystemUrl;if(t){t=t.replace(/\/?$/,"/sharing");const e=o.id.findCredential(t,i.userId);e&&-1===o.id._getIdenticalSvcIdx(t,e)&&e.resources.unshift(t)}}return{data:r,getHeader:t?e=>t?.headers.get(e):w,httpStatus:t?.status??200,requestOptions:e.params.requestOptions,ssl:e.useSSL,url:e.params.url}}(_);return b?.after?.(S),S}let m;const p=n.default.request,y="FormData"in globalThis,g=[499,498,403,401],b=["COM_0056","COM_0057","SB_0008"],M=[/\/arcgis\/tokens/i,/\/sharing(\/rest)?\/generatetoken/i,/\/rest\/info/i],w=()=>null,_=Symbol();function S(e){const t=(0,u.P$)(e);return!t||t.endsWith(".arcgis.com")||d._corsServers.includes(t)||(0,u.kl)(t)}function v(e,t,r,n){let o="Error";const i={url:r.url,requestOptions:r.requestOptions,getHeader:w,ssl:!1};if(t instanceof s.Z)return t.details?(t.details=(0,a.d9)(t.details),t.details.url=r.url,t.details.requestOptions=r.requestOptions):t.details=i,t;if(t){const e=n&&(e=>n.headers.get(e)),r=n?.status,s=t.message;s&&(o=s),e&&(i.getHeader=e),i.httpStatus=(null!=t.httpCode?t.httpCode:t.code)||r||0,i.subCode=t.subcode,i.messageCode=t.messageCode,"string"==typeof t.details?i.messages=[t.details]:i.messages=t.details,i.raw=_ in t?t[_]:t}return(0,c.D_)(t)?(0,c.zE)():new s.Z(e,o,i)}async function E(){o.id||await Promise.all([r.e(7126),r.e(6261),r.e(9255),r.e(1400),r.e(450)]).then(r.bind(r,73660))}function T(e){return M.some((t=>t.test(e)))}async function O(e){let t=e.params.url;const r=e.params.requestOptions,n=e.fetchOptions??{},s=(0,u.jc)(t)||(0,u.HK)(t),a=r.responseType||"json",f=s?0:null!=r.timeout?r.timeout:p.timeout;let m=!1;if(!s){e.useSSL&&(t=(0,u.hO)(t)),r.cacheBust&&"default"===n.cache&&(t=(0,u.ZN)(t,"request.preventCache",Date.now()));let s={...r.query};e.credentialToken&&(s.token=e.credentialToken);let a=(0,u.B7)(s);(0,i.Z)("esri-url-encodes-apostrophe")&&(a=a.replaceAll("'","%27"));const c=t.length+1+a.length;let f;m="delete"===r.method||"post"===r.method||"put"===r.method||!!r.body||c>p.maxUrlLength;const d=r.useProxy||!!(0,u.ed)(t);if(d){const e=(0,u.b7)(t);f=e.path,!m&&f.length+1+c>p.maxUrlLength&&(m=!0),e.query&&(s={...e.query,...s})}if("HEAD"===n.method&&(m||d)){if(m){if(c>p.maxUrlLength)throw v("request:invalid-parameters",new Error("URL exceeds maximum length"),e.params);throw v("request:invalid-parameters",new Error("cannot use POST request when method is 'head'"),e.params)}if(d)throw v("request:invalid-parameters",new Error("cannot use proxy when method is 'head'"),e.params)}if(m?(n.method="delete"===r.method?"DELETE":"put"===r.method?"PUT":"POST",r.body?t=(0,u.fl)(t,s):(n.body=(0,u.B7)(s),n.headers||(n.headers={}),n.headers["Content-Type"]="application/x-www-form-urlencoded")):t=(0,u.fl)(t,s),d&&(e.useProxy=!0,t=`${f}?${t}`),s.token&&y&&n.body instanceof FormData&&!(0,l.P)(t)&&n.body.set("token",s.token),r.hasOwnProperty("withCredentials"))e.withCredentials=r.withCredentials;else if(!(0,u.D6)(t,(0,u.TI)()))if((0,u.kl)(t))e.withCredentials=!0;else if(o.id){const r=o.id.findServerInfo(t);r?.webTierAuth&&(e.withCredentials=!0)}e.withCredentials&&(n.credentials="include",(0,h.jH)(t)&&await(0,h.jz)(m?(0,u.fl)(t,s):t))}let g,b,M=0,w=!1;f>0&&(M=setTimeout((()=>{w=!0,e.controller.abort()}),f));try{if("native-request-init"===r.responseType)b=n,b.url=t;else if("image"!==r.responseType||"default"!==n.cache||"GET"!==n.method||m||function(e){if(e)for(const t of Object.getOwnPropertyNames(e))if(e[t])return!0;return!1}(r.headers)||!s&&!e.useProxy&&p.proxyUrl&&!S(t)){if(g=await d._abortableFetch(t,n),e.useProxy||function(e){const t=(0,u.P$)(e);t&&!d._corsServers.includes(t)&&d._corsServers.push(t)}(t),"native"===r.responseType)b=g;else if("HEAD"!==n.method)if(g.ok){switch(a){case"array-buffer":b=await g.arrayBuffer();break;case"blob":case"image":b=await g.blob();break;default:b=await g.text()}if(M&&(clearTimeout(M),M=0),"json"===a||"xml"===a||"document"===a)if(b)switch(a){case"json":b=JSON.parse(b);break;case"xml":b=P(b,"application/xml");break;case"document":b=P(b,"text/html")}else b=null;if(b){if("array-buffer"===a||"blob"===a){const e=g.headers.get("Content-Type");if(e&&/application\/json|text\/plain/i.test(e)&&b["blob"===a?"size":"byteLength"]<=750)try{const e=await new Response(b).json();e.error&&(b=e)}catch{}}"image"===a&&b instanceof Blob&&(b=await q(URL.createObjectURL(b),e,!0))}}else{b=await g.text();try{b=JSON.parse(b)}catch{}}}else b=await q(t,e)}catch(n){if("AbortError"===n.name){if(w)throw(0,h.Tf)();throw(0,c.zE)("Request canceled")}if(!(!g&&n instanceof TypeError&&p.proxyUrl)||r.body||"delete"===r.method||"head"===r.method||"post"===r.method||"put"===r.method||e.useProxy||S(t))throw n;e.redoRequest=!0,(0,u.tD)({proxyUrl:p.proxyUrl,urlPrefix:(0,u.P$)(t)??""})}finally{M&&clearTimeout(M)}return[g,b]}function P(e,t){let r;try{r=(new DOMParser).parseFromString(e,t)}catch{}if(!r||r.getElementsByTagName("parsererror").length)throw new SyntaxError("XML Parse error");return r}async function x(e,t,r){if(e.redoRequest)return e.redoRequest=!1,!1;const n=e.params.requestOptions;if(!t||"native"===n.responseType||"native-request-init"===n.responseType)return!0;let s,i;if(r&&(r.error?s=r.error:"error"===r.status&&Array.isArray(r.messages)&&(s={...r},s[_]=r,s.details=r.messages)),!s&&!t.ok)throw s=new Error(`Unable to load ${t.url} status: ${t.status}`),s[_]=r,s;let a,c=null;s&&(i=Number(s.code),c=s.hasOwnProperty("subcode")?Number(s.subcode):null,a=s.messageCode,a=a?.toUpperCase());const u=n.authMode;if(403===i&&(4===c||s.message?.toLowerCase().includes("ssl")&&!s.message.toLowerCase().includes("permission"))){if(!e.useSSL)return e.useSSL=!0,!1}else if(!e.hasToken&&e.useIdentity&&("no-prompt"!==u||498===i)&&void 0!==i&&g.includes(i)&&!T(e.params.url)&&(403!==i||a&&!b.includes(a)&&(null==c||2===c&&e.credentialToken))){await E();try{const t=await o.id.getCredential(e.params.url,{error:v("request:server",s,e.params),prompt:"no-prompt"!==u,signal:e.controller.signal,token:e.credentialToken});return e.credential=t,e.credentialToken=t.token,e.useSSL=e.useSSL||t.ssl,!1}catch(t){if("no-prompt"===u)return e.credential=void 0,e.credentialToken=void 0,!1;s=t}}if(s)throw s;return!0}function q(e,t,r=!1){const n=t.controller.signal,o=new Image;return t.withCredentials?o.crossOrigin="use-credentials":o.crossOrigin="anonymous",o.alt="",o.fetchPriority=p.priority,o.src=e,(0,h.fY)(o,e,r,n)}d._abortableFetch=null,d._corsServers=["https://server.arcgisonline.com","https://services.arcgisonline.com"]},71058:(e,t,r)=>{r.d(t,{r:()=>s});var n=r(81271);const o=["elevation3d.arcgis.com","js.arcgis.com","jsdev.arcgis.com","jsqa.arcgis.com","static.arcgis.com"];function s(e){const t=(0,n.P$)(e,!0);return!!t&&t.endsWith(".arcgis.com")&&!o.includes(t)&&!e.endsWith("/sharing/rest/generateToken")}},85958:(e,t,r)=>{r.d(t,{Hu:()=>f,Tf:()=>l,fY:()=>a,jH:()=>h,jz:()=>d});var n=r(68773),o=r(80442),s=r(95330),i=r(81271);function a(e,t,r=!1,n){return new Promise(((i,a)=>{if((0,s.Hc)(n))return void a(c());let u=()=>{h(),a(new Error(`Unable to load ${t}`))},l=()=>{const t=e;h(),i(t)},f=()=>{if(!e)return;const t=e;h(),t.src="",a(c())};const h=()=>{(0,o.Z)("esri-image-decode")||(e.removeEventListener("error",u),e.removeEventListener("load",l)),u=null,l=null,e=null,null!=n&&n.removeEventListener("abort",f),f=null,r&&URL.revokeObjectURL(t)};null!=n&&n.addEventListener("abort",f),(0,o.Z)("esri-image-decode")?e.decode().then(l,u):(e.addEventListener("error",u),e.addEventListener("load",l))}))}function c(){try{return new DOMException("Aborted","AbortError")}catch{const e=new Error;return e.name="AbortError",e}}const u="Timeout exceeded";function l(){return new Error(u)}function f(e){n.default.request.crossOriginNoCorsDomains||(n.default.request.crossOriginNoCorsDomains={});const t=n.default.request.crossOriginNoCorsDomains;for(let r of e)r=r.toLowerCase(),/^https?:\/\//.test(r)?t[(0,i.P$)(r)??""]=0:(t[(0,i.P$)("http://"+r)??""]=0,t[(0,i.P$)("https://"+r)??""]=0)}function h(e){const t=n.default.request.crossOriginNoCorsDomains;if(t){let r=(0,i.P$)(e);if(r)return r=r.toLowerCase(),!(0,i.D6)(r,(0,i.TI)())&&t[r]<Date.now()-36e5}return!1}async function d(e){const t=n.default.request.crossOriginNoCorsDomains,r=(0,i.P$)(e);t&&r&&(t[r.toLowerCase()]=Date.now());const o=(0,i.mN)(e);e=o.path,"json"===o.query?.f&&(e+="?f=json");try{await fetch(e,{mode:"no-cors",credentials:"include"})}catch{}}},31412:(e,t,r)=>{r.r(t),r.d(t,{destroyContext:()=>P,dracoDecompressPointCloudData:()=>_,filterObbsForModifications:()=>S,filterObbsForModificationsSync:()=>R,initialize:()=>k,interpretObbModificationResults:()=>C,process:()=>w,project:()=>T,setLegacySchema:()=>E,setModifications:()=>v,setModificationsSync:()=>A,test:()=>j,transformNormals:()=>O});var n,o,s=r(82971),i=r(83025),a=r(85872),c=r(50567),u=r(84555),l=r(20773);!function(e){e[e.None=0]="None",e[e.Int16=1]="Int16",e[e.Int32=2]="Int32"}(n||(n={})),function(e){e[e.Replace=0]="Replace",e[e.Outside=1]="Outside",e[e.Inside=2]="Inside",e[e.Finished=3]="Finished"}(o||(o={}));var f=r(99880);function h(e){return(0,f.V)(`esri/libs/i3s/${e}`)}let d;var m,p,y,g,b,M;async function w(e){await k();const t=[e.geometryBuffer];return{result:L(e,t),transferList:t}}async function _(e){await k();const t=[e.geometryBuffer],{geometryBuffer:r}=e,n=r.byteLength,o=q._malloc(n),s=new Uint8Array(q.HEAPU8.buffer,o,n);s.set(new Uint8Array(r));const i=q.dracoDecompressPointCloudData(o,s.byteLength);if(q._free(o),i.error.length>0)throw new Error(`i3s.wasm: ${i.error}`);const a=i.featureIds?.length>0?i.featureIds.slice():null,c=i.positions.slice();return a&&t.push(a.buffer),t.push(c.buffer),{result:{positions:c,featureIds:a},transferList:t}}async function S(e){await k(),R(e);const t={buffer:e.buffer};return{result:t,transferList:[t.buffer]}}async function v(e){await k(),A(e)}async function E(e){await k(),q.setLegacySchema(e.context,e.jsonSchema)}async function T(e){const{localMatrix:t,origin:n,positions:o,vertexSpace:l,local:f}=e,h=s.Z.fromJSON(e.inSpatialReference),d=s.Z.fromJSON(e.outSpatialReference),m={georeferenced:c.Z,georeferencedRelative:a.Z,local:u.Z}[l.type].fromJSON(l);let p;if("georeferenced"===m.type){const{projectBuffer:e,initializeProjection:t}=await Promise.all([r.e(4547),r.e(3215),r.e(661)]).then(r.bind(r,44547));await t(h,d),p=new Float64Array(o.length),e(o,h,0,p,d,0,p.length/3)}else{const{project:e}=await Promise.all([r.e(4547),r.e(3215),r.e(6481),r.e(6459),r.e(5234)]).then(r.bind(r,66459));p=(0,i.mB)(e({positions:o,transform:t?{localMatrix:t}:void 0,vertexSpace:m,inSpatialReference:h,outSpatialReference:d,local:f}))}const y=p.length,[g,b,M]=n;for(let e=0;e<y;e+=3)p[e]-=g,p[e+1]-=b,p[e+2]-=M;return{result:{projected:p,original:o},transferList:[p.buffer,o.buffer]}}async function O({normalMatrix:e,normals:t}){const r=new Float32Array(t.length);return(0,l.a)(r,t,e),(0,l.n)(r,r),{result:{transformed:r,original:t},transferList:[r.buffer,t.buffer]}}function P(e){B(e)}let x,q;function A(e){const t=e.modifications,r=q._malloc(8*t.length),n=new Float64Array(q.HEAPU8.buffer,r,t.length);for(let e=0;e<t.length;++e)n[e]=t[e];q.setModifications(e.context,r,t.length,e.isGeodetic),q._free(r)}function L(e,t){if(!q)return null;const{context:r,localOrigin:o,globalTrafo:s,mbs:i,obb:a,elevationOffset:c,geometryBuffer:u,geometryDescriptor:l,indexToVertexProjector:f,vertexToRenderProjector:h}=e,d=q._malloc(u.byteLength),m=q._malloc(33*Float64Array.BYTES_PER_ELEMENT),p=new Uint8Array(q.HEAPU8.buffer,d,u.byteLength);p.set(new Uint8Array(u));const y=new Float64Array(q.HEAPU8.buffer,m,33);I(y,o);let g=y.byteOffset+3*y.BYTES_PER_ELEMENT,b=new Float64Array(y.buffer,g);I(b,s),g+=16*y.BYTES_PER_ELEMENT,b=new Float64Array(y.buffer,g),I(b,i),g+=4*y.BYTES_PER_ELEMENT,null!=a&&(b=new Float64Array(y.buffer,g),I(b,a.center),g+=3*y.BYTES_PER_ELEMENT,b=new Float64Array(y.buffer,g),I(b,a.halfSize),g+=3*y.BYTES_PER_ELEMENT,b=new Float64Array(y.buffer,g),I(b,a.quaternion));const M=l,w={isDraco:!1,isLegacy:!1,color:e.layouts.some((e=>e.some((e=>"color"===e.name)))),normal:e.needNormals&&e.layouts.some((e=>e.some((e=>"normalCompressed"===e.name)))),uv0:e.layouts.some((e=>e.some((e=>"uv0"===e.name)))),uvRegion:e.layouts.some((e=>e.some((e=>"uvRegion"===e.name)))),featureIndex:M.featureIndex},_=q.process(r,!!e.obb,d,p.byteLength,M,w,m,c,f,h,e.normalReferenceFrame);if(q._free(m),q._free(d),_.error.length>0)throw new Error(`i3s.wasm: ${_.error}`);if(_.discarded)return null;const S=_.componentOffsets.length>0?_.componentOffsets.slice():null,v=_.featureIds.length>0?_.featureIds.slice():null,E=_.anchorIds.length>0?Array.from(_.anchorIds):null,T=_.anchors.length>0?Array.from(_.anchors):null,O=_.interleavedVertedData.slice().buffer,P=_.indicesType===n.Int16?new Uint16Array(_.indices.buffer,_.indices.byteOffset,_.indices.byteLength/2).slice():new Uint32Array(_.indices.buffer,_.indices.byteOffset,_.indices.byteLength/4).slice(),x=_.positions.slice(),A=_.positionIndicesType===n.Int16?new Uint16Array(_.positionIndices.buffer,_.positionIndices.byteOffset,_.positionIndices.byteLength/2).slice():new Uint32Array(_.positionIndices.buffer,_.positionIndices.byteOffset,_.positionIndices.byteLength/4).slice(),L={layout:e.layouts[0],interleavedVertexData:O,indices:P,hasColors:_.hasColors,hasModifications:_.hasModifications,positionData:{data:x,indices:A}};return v&&t.push(v.buffer),S&&t.push(S.buffer),t.push(O),t.push(P.buffer),t.push(x.buffer),t.push(A.buffer),{componentOffsets:S,featureIds:v,anchorIds:E,anchors:T,transformedGeometry:L,obb:_.obb}}function C(e){return 0===e?p.Unmodified:1===e?p.PotentiallyModified:2===e?p.Culled:p.Unknown}function R(e){const{context:t,buffer:r}=e,n=q._malloc(r.byteLength),o=r.byteLength/Float64Array.BYTES_PER_ELEMENT,s=new Float64Array(q.HEAPU8.buffer,n,o),i=new Float64Array(r);s.set(i),q.filterOBBs(t,n,o),i.set(s),q._free(n)}function B(e){q&&(q.destroy(e),q=null)}function I(e,t){for(let r=0;r<t.length;++r)e[r]=t[r]}function k(){return q?Promise.resolve():(x||(x=(d||(d=new Promise((e=>r.e(6710).then(r.bind(r,26710)).then((e=>e.i)).then((({default:t})=>{const r=t({locateFile:h,onRuntimeInitialized:()=>e(r)});delete r.then})))).catch((e=>{throw e}))),d).then((e=>{q=e,x=null}))),x)}r(8310),(M=m||(m={}))[M.Unmodified=0]="Unmodified",M[M.Culled=1]="Culled",M[M.NotChecked=2]="NotChecked",function(e){e[e.Unmodified=0]="Unmodified",e[e.PotentiallyModified=1]="PotentiallyModified",e[e.Culled=2]="Culled",e[e.Unknown=3]="Unknown",e[e.NotChecked=4]="NotChecked"}(p||(p={})),function(e){e[e.Unknown=0]="Unknown",e[e.Uncached=1]="Uncached",e[e.Cached=2]="Cached"}(y||(y={})),function(e){e[e.None=0]="None",e[e.MaxScreenThreshold=1]="MaxScreenThreshold",e[e.ScreenSpaceRelative=2]="ScreenSpaceRelative",e[e.RemovedFeatureDiameter=3]="RemovedFeatureDiameter",e[e.DistanceRangeFromDefaultCamera=4]="DistanceRangeFromDefaultCamera"}(g||(g={})),function(e){e[e.Hole=0]="Hole",e[e.Leaf=1]="Leaf"}(b||(b={}));const j={transform:L,destroy:B}}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1412,3172,9880],{99880:(e,t,r)=>{r.d(t,{V:()=>c});var n=r(68773),o=(r(3172),r(20102)),s=r(92604),i=r(81271);const a=s.Z.getLogger("esri.assets");function c(e){if(!n.default.assetsPath)throw a.errorOnce("The API assets location needs to be set using config.assetsPath. More information: https://arcg.is/1OzLe50"),new o.Z("assets:path-not-set","config.assetsPath is not set");return(0,i.v_)(n.default.assetsPath,e)}},46521:(e,t,r)=>{function n(){return[1,0,0,0,1,0,0,0,1]}function o(e,t,r,n,o,s,i,a,c){return[e,t,r,n,o,s,i,a,c]}function s(e,t){return new Float64Array(e,t,9)}r.d(t,{a:()=>s,c:()=>n,f:()=>o}),Object.freeze(Object.defineProperty({__proto__:null,clone:function(e){return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},create:n,createView:s,fromValues:o},Symbol.toStringTag,{value:"Module"}))},52138:(e,t,r)=>{r.d(t,{A:()=>p,a:()=>c,d:()=>m,e:()=>h,f:()=>d,g:()=>b,h:()=>w,i:()=>i,j:()=>_,k:()=>f,m:()=>u,s:()=>s,t:()=>a,w:()=>l,y:()=>v,z:()=>S});var n=r(65617),o=r(46851);function s(e,t,r,n,o,s,i,a,c,u,l,f,h,d,m,p,y){return e[0]=t,e[1]=r,e[2]=n,e[3]=o,e[4]=s,e[5]=i,e[6]=a,e[7]=c,e[8]=u,e[9]=l,e[10]=f,e[11]=h,e[12]=d,e[13]=m,e[14]=p,e[15]=y,e}function i(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function a(e,t){if(e===t){const r=t[1],n=t[2],o=t[3],s=t[6],i=t[7],a=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=s,e[11]=t[14],e[12]=o,e[13]=i,e[14]=a}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function c(e,t){const r=t[0],n=t[1],o=t[2],s=t[3],i=t[4],a=t[5],c=t[6],u=t[7],l=t[8],f=t[9],h=t[10],d=t[11],m=t[12],p=t[13],y=t[14],g=t[15],b=r*a-n*i,M=r*c-o*i,w=r*u-s*i,_=n*c-o*a,S=n*u-s*a,v=o*u-s*c,E=l*p-f*m,T=l*y-h*m,O=l*g-d*m,P=f*y-h*p,x=f*g-d*p,q=h*g-d*y;let A=b*q-M*x+w*P+_*O-S*T+v*E;return A?(A=1/A,e[0]=(a*q-c*x+u*P)*A,e[1]=(o*x-n*q-s*P)*A,e[2]=(p*v-y*S+g*_)*A,e[3]=(h*S-f*v-d*_)*A,e[4]=(c*O-i*q-u*T)*A,e[5]=(r*q-o*O+s*T)*A,e[6]=(y*w-m*v-g*M)*A,e[7]=(l*v-h*w+d*M)*A,e[8]=(i*x-a*O+u*E)*A,e[9]=(n*O-r*x-s*E)*A,e[10]=(m*S-p*w+g*b)*A,e[11]=(f*w-l*S-d*b)*A,e[12]=(a*T-i*P-c*E)*A,e[13]=(r*P-n*T+o*E)*A,e[14]=(p*M-m*_-y*b)*A,e[15]=(l*_-f*M+h*b)*A,e):null}function u(e,t,r){const n=t[0],o=t[1],s=t[2],i=t[3],a=t[4],c=t[5],u=t[6],l=t[7],f=t[8],h=t[9],d=t[10],m=t[11],p=t[12],y=t[13],g=t[14],b=t[15];let M=r[0],w=r[1],_=r[2],S=r[3];return e[0]=M*n+w*a+_*f+S*p,e[1]=M*o+w*c+_*h+S*y,e[2]=M*s+w*u+_*d+S*g,e[3]=M*i+w*l+_*m+S*b,M=r[4],w=r[5],_=r[6],S=r[7],e[4]=M*n+w*a+_*f+S*p,e[5]=M*o+w*c+_*h+S*y,e[6]=M*s+w*u+_*d+S*g,e[7]=M*i+w*l+_*m+S*b,M=r[8],w=r[9],_=r[10],S=r[11],e[8]=M*n+w*a+_*f+S*p,e[9]=M*o+w*c+_*h+S*y,e[10]=M*s+w*u+_*d+S*g,e[11]=M*i+w*l+_*m+S*b,M=r[12],w=r[13],_=r[14],S=r[15],e[12]=M*n+w*a+_*f+S*p,e[13]=M*o+w*c+_*h+S*y,e[14]=M*s+w*u+_*d+S*g,e[15]=M*i+w*l+_*m+S*b,e}function l(e,t,r){const n=r[0],o=r[1],s=r[2];if(t===e)e[12]=t[0]*n+t[4]*o+t[8]*s+t[12],e[13]=t[1]*n+t[5]*o+t[9]*s+t[13],e[14]=t[2]*n+t[6]*o+t[10]*s+t[14],e[15]=t[3]*n+t[7]*o+t[11]*s+t[15];else{const r=t[0],i=t[1],a=t[2],c=t[3],u=t[4],l=t[5],f=t[6],h=t[7],d=t[8],m=t[9],p=t[10],y=t[11];e[0]=r,e[1]=i,e[2]=a,e[3]=c,e[4]=u,e[5]=l,e[6]=f,e[7]=h,e[8]=d,e[9]=m,e[10]=p,e[11]=y,e[12]=r*n+u*o+d*s+t[12],e[13]=i*n+l*o+m*s+t[13],e[14]=a*n+f*o+p*s+t[14],e[15]=c*n+h*o+y*s+t[15]}return e}function f(e,t,r){const n=r[0],o=r[1],s=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*o,e[5]=t[5]*o,e[6]=t[6]*o,e[7]=t[7]*o,e[8]=t[8]*s,e[9]=t[9]*s,e[10]=t[10]*s,e[11]=t[11]*s,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function h(e,t,r,n){let s,i,a,c,u,l,f,h,d,m,p,y,g,b,M,w,_,S,v,E,T,O,P,x,q=n[0],A=n[1],L=n[2],C=Math.sqrt(q*q+A*A+L*L);return C<(0,o.g)()?null:(C=1/C,q*=C,A*=C,L*=C,s=Math.sin(r),i=Math.cos(r),a=1-i,c=t[0],u=t[1],l=t[2],f=t[3],h=t[4],d=t[5],m=t[6],p=t[7],y=t[8],g=t[9],b=t[10],M=t[11],w=q*q*a+i,_=A*q*a+L*s,S=L*q*a-A*s,v=q*A*a-L*s,E=A*A*a+i,T=L*A*a+q*s,O=q*L*a+A*s,P=A*L*a-q*s,x=L*L*a+i,e[0]=c*w+h*_+y*S,e[1]=u*w+d*_+g*S,e[2]=l*w+m*_+b*S,e[3]=f*w+p*_+M*S,e[4]=c*v+h*E+y*T,e[5]=u*v+d*E+g*T,e[6]=l*v+m*E+b*T,e[7]=f*v+p*E+M*T,e[8]=c*O+h*P+y*x,e[9]=u*O+d*P+g*x,e[10]=l*O+m*P+b*x,e[11]=f*O+p*P+M*x,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function d(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}function m(e,t,r){if(0===t)return i(e);let n,s,a,c=r[0],u=r[1],l=r[2],f=Math.sqrt(c*c+u*u+l*l);return f<(0,o.g)()?null:(f=1/f,c*=f,u*=f,l*=f,n=Math.sin(t),s=Math.cos(t),a=1-s,e[0]=c*c*a+s,e[1]=u*c*a+l*n,e[2]=l*c*a-u*n,e[3]=0,e[4]=c*u*a-l*n,e[5]=u*u*a+s,e[6]=l*u*a+c*n,e[7]=0,e[8]=c*l*a+u*n,e[9]=u*l*a-c*n,e[10]=l*l*a+s,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function p(e,t){const r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function y(e,t,r){const n=t[0],o=t[1],s=t[2],i=t[3],a=n+n,c=o+o,u=s+s,l=n*a,f=n*c,h=n*u,d=o*c,m=o*u,p=s*u,y=i*a,g=i*c,b=i*u;return e[0]=1-(d+p),e[1]=f+b,e[2]=h-g,e[3]=0,e[4]=f-b,e[5]=1-(l+p),e[6]=m+y,e[7]=0,e[8]=h+g,e[9]=m-y,e[10]=1-(l+d),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}const g=(0,n.c)();function b(e,t,r,n){const o=t[0],s=t[1],i=t[2],a=t[3],c=o+o,u=s+s,l=i+i,f=o*c,h=o*u,d=o*l,m=s*u,p=s*l,y=i*l,g=a*c,b=a*u,M=a*l,w=n[0],_=n[1],S=n[2];return e[0]=(1-(m+y))*w,e[1]=(h+M)*w,e[2]=(d-b)*w,e[3]=0,e[4]=(h-M)*_,e[5]=(1-(f+y))*_,e[6]=(p+g)*_,e[7]=0,e[8]=(d+b)*S,e[9]=(p-g)*S,e[10]=(1-(f+m))*S,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function M(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}function w(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function _(e,t){if(e===t)return!0;const r=e[0],n=e[1],s=e[2],i=e[3],a=e[4],c=e[5],u=e[6],l=e[7],f=e[8],h=e[9],d=e[10],m=e[11],p=e[12],y=e[13],g=e[14],b=e[15],M=t[0],w=t[1],_=t[2],S=t[3],v=t[4],E=t[5],T=t[6],O=t[7],P=t[8],x=t[9],q=t[10],A=t[11],L=t[12],C=t[13],R=t[14],B=t[15],I=(0,o.g)();return Math.abs(r-M)<=I*Math.max(1,Math.abs(r),Math.abs(M))&&Math.abs(n-w)<=I*Math.max(1,Math.abs(n),Math.abs(w))&&Math.abs(s-_)<=I*Math.max(1,Math.abs(s),Math.abs(_))&&Math.abs(i-S)<=I*Math.max(1,Math.abs(i),Math.abs(S))&&Math.abs(a-v)<=I*Math.max(1,Math.abs(a),Math.abs(v))&&Math.abs(c-E)<=I*Math.max(1,Math.abs(c),Math.abs(E))&&Math.abs(u-T)<=I*Math.max(1,Math.abs(u),Math.abs(T))&&Math.abs(l-O)<=I*Math.max(1,Math.abs(l),Math.abs(O))&&Math.abs(f-P)<=I*Math.max(1,Math.abs(f),Math.abs(P))&&Math.abs(h-x)<=I*Math.max(1,Math.abs(h),Math.abs(x))&&Math.abs(d-q)<=I*Math.max(1,Math.abs(d),Math.abs(q))&&Math.abs(m-A)<=I*Math.max(1,Math.abs(m),Math.abs(A))&&Math.abs(p-L)<=I*Math.max(1,Math.abs(p),Math.abs(L))&&Math.abs(y-C)<=I*Math.max(1,Math.abs(y),Math.abs(C))&&Math.abs(g-R)<=I*Math.max(1,Math.abs(g),Math.abs(R))&&Math.abs(b-B)<=I*Math.max(1,Math.abs(b),Math.abs(B))}function S(e){const t=(0,o.g)(),r=e[0],n=e[1],s=e[2],i=e[4],a=e[5],c=e[6],u=e[8],l=e[9],f=e[10];return Math.abs(1-(r*r+i*i+u*u))<=t&&Math.abs(1-(n*n+a*a+l*l))<=t&&Math.abs(1-(s*s+c*c+f*f))<=t}function v(e){return 1===e[0]&&0===e[1]&&0===e[2]&&0===e[4]&&1===e[5]&&0===e[6]&&0===e[8]&&0===e[9]&&1===e[10]}const E=u,T=M;Object.freeze(Object.defineProperty({__proto__:null,add:function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e},adjoint:function(e,t){const r=t[0],n=t[1],o=t[2],s=t[3],i=t[4],a=t[5],c=t[6],u=t[7],l=t[8],f=t[9],h=t[10],d=t[11],m=t[12],p=t[13],y=t[14],g=t[15];return e[0]=a*(h*g-d*y)-f*(c*g-u*y)+p*(c*d-u*h),e[1]=-(n*(h*g-d*y)-f*(o*g-s*y)+p*(o*d-s*h)),e[2]=n*(c*g-u*y)-a*(o*g-s*y)+p*(o*u-s*c),e[3]=-(n*(c*d-u*h)-a*(o*d-s*h)+f*(o*u-s*c)),e[4]=-(i*(h*g-d*y)-l*(c*g-u*y)+m*(c*d-u*h)),e[5]=r*(h*g-d*y)-l*(o*g-s*y)+m*(o*d-s*h),e[6]=-(r*(c*g-u*y)-i*(o*g-s*y)+m*(o*u-s*c)),e[7]=r*(c*d-u*h)-i*(o*d-s*h)+l*(o*u-s*c),e[8]=i*(f*g-d*p)-l*(a*g-u*p)+m*(a*d-u*f),e[9]=-(r*(f*g-d*p)-l*(n*g-s*p)+m*(n*d-s*f)),e[10]=r*(a*g-u*p)-i*(n*g-s*p)+m*(n*u-s*a),e[11]=-(r*(a*d-u*f)-i*(n*d-s*f)+l*(n*u-s*a)),e[12]=-(i*(f*y-h*p)-l*(a*y-c*p)+m*(a*h-c*f)),e[13]=r*(f*y-h*p)-l*(n*y-o*p)+m*(n*h-o*f),e[14]=-(r*(a*y-c*p)-i*(n*y-o*p)+m*(n*c-o*a)),e[15]=r*(a*h-c*f)-i*(n*h-o*f)+l*(n*c-o*a),e},copy:function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},determinant:function(e){const t=e[0],r=e[1],n=e[2],o=e[3],s=e[4],i=e[5],a=e[6],c=e[7],u=e[8],l=e[9],f=e[10],h=e[11],d=e[12],m=e[13],p=e[14],y=e[15];return(t*i-r*s)*(f*y-h*p)-(t*a-n*s)*(l*y-h*m)+(t*c-o*s)*(l*p-f*m)+(r*a-n*i)*(u*y-h*d)-(r*c-o*i)*(u*p-f*d)+(n*c-o*a)*(u*m-l*d)},equals:_,exactEquals:w,frob:function(e){return Math.sqrt(e[0]**2+e[1]**2+e[2]**2+e[3]**2+e[4]**2+e[5]**2+e[6]**2+e[7]**2+e[8]**2+e[9]**2+e[10]**2+e[11]**2+e[12]**2+e[13]**2+e[14]**2+e[15]**2)},fromQuat:function(e,t){const r=t[0],n=t[1],o=t[2],s=t[3],i=r+r,a=n+n,c=o+o,u=r*i,l=n*i,f=n*a,h=o*i,d=o*a,m=o*c,p=s*i,y=s*a,g=s*c;return e[0]=1-f-m,e[1]=l+g,e[2]=h-y,e[3]=0,e[4]=l-g,e[5]=1-u-m,e[6]=d+p,e[7]=0,e[8]=h+y,e[9]=d-p,e[10]=1-u-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},fromQuat2:function(e,t){const r=g,n=-t[0],o=-t[1],s=-t[2],i=t[3],a=t[4],c=t[5],u=t[6],l=t[7],f=n*n+o*o+s*s+i*i;return f>0?(r[0]=2*(a*i+l*n+c*s-u*o)/f,r[1]=2*(c*i+l*o+u*n-a*s)/f,r[2]=2*(u*i+l*s+a*o-c*n)/f):(r[0]=2*(a*i+l*n+c*s-u*o),r[1]=2*(c*i+l*o+u*n-a*s),r[2]=2*(u*i+l*s+a*o-c*n)),y(e,t,r),e},fromRotation:m,fromRotationTranslation:y,fromRotationTranslationScale:b,fromRotationTranslationScaleOrigin:function(e,t,r,n,o){const s=t[0],i=t[1],a=t[2],c=t[3],u=s+s,l=i+i,f=a+a,h=s*u,d=s*l,m=s*f,p=i*l,y=i*f,g=a*f,b=c*u,M=c*l,w=c*f,_=n[0],S=n[1],v=n[2],E=o[0],T=o[1],O=o[2],P=(1-(p+g))*_,x=(d+w)*_,q=(m-M)*_,A=(d-w)*S,L=(1-(h+g))*S,C=(y+b)*S,R=(m+M)*v,B=(y-b)*v,I=(1-(h+p))*v;return e[0]=P,e[1]=x,e[2]=q,e[3]=0,e[4]=A,e[5]=L,e[6]=C,e[7]=0,e[8]=R,e[9]=B,e[10]=I,e[11]=0,e[12]=r[0]+E-(P*E+A*T+R*O),e[13]=r[1]+T-(x*E+L*T+B*O),e[14]=r[2]+O-(q*E+C*T+I*O),e[15]=1,e},fromScaling:function(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},fromTranslation:d,fromXRotation:p,fromYRotation:function(e,t){const r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},fromZRotation:function(e,t){const r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},frustum:function(e,t,r,n,o,s,i){const a=1/(r-t),c=1/(o-n),u=1/(s-i);return e[0]=2*s*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*s*c,e[6]=0,e[7]=0,e[8]=(r+t)*a,e[9]=(o+n)*c,e[10]=(i+s)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=i*s*2*u,e[15]=0,e},getRotation:function(e,t){const r=t[0]+t[5]+t[10];let n=0;return r>0?(n=2*Math.sqrt(r+1),e[3]=.25*n,e[0]=(t[6]-t[9])/n,e[1]=(t[8]-t[2])/n,e[2]=(t[1]-t[4])/n):t[0]>t[5]&&t[0]>t[10]?(n=2*Math.sqrt(1+t[0]-t[5]-t[10]),e[3]=(t[6]-t[9])/n,e[0]=.25*n,e[1]=(t[1]+t[4])/n,e[2]=(t[8]+t[2])/n):t[5]>t[10]?(n=2*Math.sqrt(1+t[5]-t[0]-t[10]),e[3]=(t[8]-t[2])/n,e[0]=(t[1]+t[4])/n,e[1]=.25*n,e[2]=(t[6]+t[9])/n):(n=2*Math.sqrt(1+t[10]-t[0]-t[5]),e[3]=(t[1]-t[4])/n,e[0]=(t[8]+t[2])/n,e[1]=(t[6]+t[9])/n,e[2]=.25*n),e},getScaling:function(e,t){const r=t[0],n=t[1],o=t[2],s=t[4],i=t[5],a=t[6],c=t[8],u=t[9],l=t[10];return e[0]=Math.sqrt(r*r+n*n+o*o),e[1]=Math.sqrt(s*s+i*i+a*a),e[2]=Math.sqrt(c*c+u*u+l*l),e},getTranslation:function(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e},hasIdentityRotation:v,identity:i,invert:c,invertOrIdentity:function(e,t){return c(e,t)||i(e),e},isOrthoNormal:S,lookAt:function(e,t,r,n){const s=t[0],a=t[1],c=t[2];let u=s-r[0],l=a-r[1],f=c-r[2];const h=(0,o.g)();if(Math.abs(u)<h&&Math.abs(l)<h&&Math.abs(f)<h)return void i(e);let d=1/Math.sqrt(u*u+l*l+f*f);u*=d,l*=d,f*=d;const m=n[0],p=n[1],y=n[2];let g=p*f-y*l,b=y*u-m*f,M=m*l-p*u;d=Math.sqrt(g*g+b*b+M*M),d?(d=1/d,g*=d,b*=d,M*=d):(g=0,b=0,M=0);let w=l*M-f*b,_=f*g-u*M,S=u*b-l*g;d=Math.sqrt(w*w+_*_+S*S),d?(d=1/d,w*=d,_*=d,S*=d):(w=0,_=0,S=0),e[0]=g,e[1]=w,e[2]=u,e[3]=0,e[4]=b,e[5]=_,e[6]=l,e[7]=0,e[8]=M,e[9]=S,e[10]=f,e[11]=0,e[12]=-(g*s+b*a+M*c),e[13]=-(w*s+_*a+S*c),e[14]=-(u*s+l*a+f*c),e[15]=1},mul:E,multiply:u,multiplyScalar:function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e},multiplyScalarAndAdd:function(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e},ortho:function(e,t,r,n,o,s,i){const a=1/(t-r),c=1/(n-o),u=1/(s-i);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*a,e[13]=(o+n)*c,e[14]=(i+s)*u,e[15]=1,e},perspective:function(e,t,r,n,o){const s=1/Math.tan(t/2);let i;return e[0]=s/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=o&&o!==1/0?(i=1/(n-o),e[10]=(o+n)*i,e[14]=2*o*n*i):(e[10]=-1,e[14]=-2*n),e},perspectiveFromFieldOfView:function(e,t,r,n){const o=Math.tan(t.upDegrees*Math.PI/180),s=Math.tan(t.downDegrees*Math.PI/180),i=Math.tan(t.leftDegrees*Math.PI/180),a=Math.tan(t.rightDegrees*Math.PI/180),c=2/(i+a),u=2/(o+s);return e[0]=c,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=u,e[6]=0,e[7]=0,e[8]=-(i-a)*c*.5,e[9]=(o-s)*u*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e},rotate:h,rotateX:function(e,t,r){const n=Math.sin(r),o=Math.cos(r),s=t[4],i=t[5],a=t[6],c=t[7],u=t[8],l=t[9],f=t[10],h=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=s*o+u*n,e[5]=i*o+l*n,e[6]=a*o+f*n,e[7]=c*o+h*n,e[8]=u*o-s*n,e[9]=l*o-i*n,e[10]=f*o-a*n,e[11]=h*o-c*n,e},rotateY:function(e,t,r){const n=Math.sin(r),o=Math.cos(r),s=t[0],i=t[1],a=t[2],c=t[3],u=t[8],l=t[9],f=t[10],h=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=s*o-u*n,e[1]=i*o-l*n,e[2]=a*o-f*n,e[3]=c*o-h*n,e[8]=s*n+u*o,e[9]=i*n+l*o,e[10]=a*n+f*o,e[11]=c*n+h*o,e},rotateZ:function(e,t,r){const n=Math.sin(r),o=Math.cos(r),s=t[0],i=t[1],a=t[2],c=t[3],u=t[4],l=t[5],f=t[6],h=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=s*o+u*n,e[1]=i*o+l*n,e[2]=a*o+f*n,e[3]=c*o+h*n,e[4]=u*o-s*n,e[5]=l*o-i*n,e[6]=f*o-a*n,e[7]=h*o-c*n,e},scale:f,set:s,str:function(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"},sub:T,subtract:M,targetTo:function(e,t,r,n){const o=t[0],s=t[1],i=t[2],a=n[0],c=n[1],u=n[2];let l=o-r[0],f=s-r[1],h=i-r[2],d=l*l+f*f+h*h;d>0&&(d=1/Math.sqrt(d),l*=d,f*=d,h*=d);let m=c*h-u*f,p=u*l-a*h,y=a*f-c*l;return d=m*m+p*p+y*y,d>0&&(d=1/Math.sqrt(d),m*=d,p*=d,y*=d),e[0]=m,e[1]=p,e[2]=y,e[3]=0,e[4]=f*y-h*p,e[5]=h*m-l*y,e[6]=l*p-f*m,e[7]=0,e[8]=l,e[9]=f,e[10]=h,e[11]=0,e[12]=o,e[13]=s,e[14]=i,e[15]=1,e},translate:l,transpose:a},Symbol.toStringTag,{value:"Module"}))},13598:(e,t,r)=>{function n(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function o(e){return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]}function s(e,t){return new Float64Array(e,t,16)}r.d(t,{I:()=>i,a:()=>s,b:()=>o,c:()=>n});const i=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:i,clone:o,create:n,createView:s,fromValues:function(e,t,r,n,o,s,i,a,c,u,l,f,h,d,m,p){return[e,t,r,n,o,s,i,a,c,u,l,f,h,d,m,p]}},Symbol.toStringTag,{value:"Module"}))},94961:(e,t,r)=>{function n(){return[0,0,0,1]}function o(e){return[e[0],e[1],e[2],e[3]]}function s(e,t){return new Float64Array(e,t,4)}r.d(t,{I:()=>i,a:()=>n,b:()=>o,c:()=>s});const i=[0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:i,clone:o,create:n,createView:s,fromValues:function(e,t,r,n){return[e,t,r,n]}},Symbol.toStringTag,{value:"Module"}))},8310:(e,t,r)=>{r.d(t,{a:()=>g,c:()=>p,g:()=>b,h:()=>y,j:()=>_,l:()=>x}),r(80442);var n=r(92604),o=r(22021),s=r(52138),i=r(17896),a=r(65617),c=r(98766),u=r(88669),l=r(62155),f=r(78341),h=r(61277),d=r(12981);const m=p();function p(){return(0,u.c)()}function y(e,t=p()){return(0,c.c)(t,e)}function g(e){return e[3]}function b(e){return e}function M(e,t,r){if(null==t)return!1;const{origin:n,direction:o}=t,s=w;s[0]=n[0]-e[0],s[1]=n[1]-e[1],s[2]=n[2]-e[2];const i=o[0]*o[0]+o[1]*o[1]+o[2]*o[2];if(0===i)return!1;const a=2*(o[0]*s[0]+o[1]*s[1]+o[2]*s[2]),c=a*a-4*i*(s[0]*s[0]+s[1]*s[1]+s[2]*s[2]-e[3]*e[3]);if(c<0)return!1;const u=Math.sqrt(c);let l=(-a-u)/(2*i);const f=(-a+u)/(2*i);return(l<0||f<l&&f>0)&&(l=f),!(l<0||(r&&(r[0]=n[0]+o[0]*l,r[1]=n[1]+o[1]*l,r[2]=n[2]+o[2]*l),0))}const w=(0,a.c)();function _(e,t){return M(e,t,null)}function S(e,t,r){const n=d.WM.get(),o=d.MP.get();(0,i.f)(n,t.origin,t.direction);const a=g(e);(0,i.f)(r,n,t.origin),(0,i.g)(r,r,1/(0,i.l)(r)*a);const c=E(e,t.origin),u=(0,h.EU)(t.origin,r);return(0,s.d)(o,u+c,n),(0,i.m)(r,r,o),r}function v(e,t,r){const n=(0,i.b)(d.WM.get(),t,e),o=(0,i.g)(d.WM.get(),n,e[3]/(0,i.l)(n));return(0,i.a)(r,o,e)}function E(e,t){const r=(0,i.b)(d.WM.get(),t,e),n=(0,i.l)(r),s=g(e),a=s+Math.abs(s-n);return(0,o.ZF)(s/a)}const T=(0,a.c)();function O(e,t,r,n){const s=(0,i.b)(T,t,e);switch(r){case l.R.X:{const e=(0,o.jE)(s,T)[2];return(0,i.s)(n,-Math.sin(e),Math.cos(e),0)}case l.R.Y:{const e=(0,o.jE)(s,T),t=e[1],r=e[2],a=Math.sin(t);return(0,i.s)(n,-a*Math.cos(r),-a*Math.sin(r),Math.cos(t))}case l.R.Z:return(0,i.n)(n,s);default:return}}function P(e,t){const r=(0,i.b)(q,t,e);return(0,i.l)(r)-e[3]}function x(e,t){const r=(0,i.d)(e,t),n=g(e);return r<=n*n}const q=(0,a.c)(),A=p();Object.freeze(Object.defineProperty({__proto__:null,NullSphere:m,altitudeAt:P,angleToSilhouette:E,axisAt:O,clear:function(e){e[0]=e[1]=e[2]=e[3]=0},closestPoint:function(e,t,r){return M(e,t,r)?r:((0,f.JI)(t,e,r),v(e,r,r))},closestPointOnSilhouette:S,containsPoint:x,copy:y,create:p,distanceToSilhouette:function(e,t){const r=(0,i.b)(d.WM.get(),t,e),n=(0,i.p)(r),o=e[3]*e[3];return Math.sqrt(Math.abs(n-o))},elevate:function(e,t,r){return e!==r&&(0,i.c)(r,e),r[3]=e[3]+t,r},fromCenterAndRadius:function(e,t){return(0,u.f)(e[0],e[1],e[2],t)},fromRadius:function(e,t){return e[0]=e[1]=e[2]=0,e[3]=t,e},fromValues:function(e,t,r,n){return(0,u.f)(e,t,r,n)},getCenter:b,getRadius:g,intersectRay:M,intersectRayClosestSilhouette:function(e,t,r){if(M(e,t,r))return r;const n=S(e,t,d.WM.get());return(0,i.a)(r,t.origin,(0,i.g)(d.WM.get(),t.direction,(0,i.i)(t.origin,n)/(0,i.l)(t.direction))),r},intersectsRay:_,projectPoint:v,setAltitudeAt:function(e,t,r,n){const o=P(e,t),s=O(e,t,l.R.Z,q),a=(0,i.g)(q,s,r-o);return(0,i.a)(n,t,a)},setExtent:function(e,t,r){return n.Z.getLogger("esri.geometry.support.sphere").error("sphere.setExtent is not yet supported"),e===r?r:y(e,r)},tmpSphere:A,union:function(e,t,r=p()){const n=(0,i.i)(e,t),o=e[3],s=t[3];return n+s<o?((0,c.c)(r,e),r):n+o<s?((0,c.c)(r,t),r):((0,i.h)(r,e,t,(n+s-o)/(2*n)),r[3]=(n+o+s)/2,r)},wrap:function(e){return e}},Symbol.toStringTag,{value:"Module"}))},97323:(e,t,r)=>{function n(){return[0,0]}function o(e,t){return[e,t]}function s(e,t){return new Float64Array(e,t,2)}function i(){return o(1,1)}function a(){return o(1,0)}function c(){return o(0,1)}r.d(t,{a:()=>n,c:()=>s,f:()=>o});const u=i(),l=a(),f=c();Object.freeze(Object.defineProperty({__proto__:null,ONES:u,UNIT_X:l,UNIT_Y:f,ZEROS:[0,0],clone:function(e){return[e[0],e[1]]},create:n,createView:s,fromArray:function(e){const t=[0,0],r=Math.min(2,e.length);for(let n=0;n<r;++n)t[n]=e[n];return t},fromValues:o,ones:i,unitX:a,unitY:c,zeros:function(){return[0,0]}},Symbol.toStringTag,{value:"Module"}))},20773:(e,t,r)=>{r.d(t,{a:()=>a,b:()=>i,c:()=>o,d:()=>l,e:()=>c,n:()=>f,s:()=>u,t:()=>s});var n=r(72220);function o(e,t,r){s(e.typedBuffer,t.typedBuffer,r,e.typedBufferStride,t.typedBufferStride)}function s(e,t,r,o=3,s=o){if(e.length/o!==Math.ceil(t.length/s))return n.c.error("source and destination buffers need to have the same number of elements"),e;const i=e.length/o,a=r[0],c=r[1],u=r[2],l=r[4],f=r[5],h=r[6],d=r[8],m=r[9],p=r[10],y=r[12],g=r[13],b=r[14];let M=0,w=0;for(let r=0;r<i;r++){const r=t[M],n=t[M+1],i=t[M+2];e[w]=a*r+l*n+d*i+y,e[w+1]=c*r+f*n+m*i+g,e[w+2]=u*r+h*n+p*i+b,M+=s,w+=o}return e}function i(e,t,r){a(e.typedBuffer,t.typedBuffer,r,e.typedBufferStride,t.typedBufferStride)}function a(e,t,r,o=3,s=o){if(e.length/o!==Math.ceil(t.length/s))return void n.c.error("source and destination buffers need to have the same number of elements");const i=e.length/o,a=r[0],c=r[1],u=r[2],l=r[3],f=r[4],h=r[5],d=r[6],m=r[7],p=r[8];let y=0,g=0;for(let r=0;r<i;r++){const r=t[y],n=t[y+1],i=t[y+2];e[g]=a*r+l*n+d*i,e[g+1]=c*r+f*n+m*i,e[g+2]=u*r+h*n+p*i,y+=s,g+=o}}function c(e,t,r){u(e.typedBuffer,t,r,e.typedBufferStride)}function u(e,t,r,n=3){const o=Math.min(e.length/n,t.count),s=t.typedBuffer,i=t.typedBufferStride;let a=0,c=0;for(let t=0;t<o;t++)e[c]=r*s[a],e[c+1]=r*s[a+1],e[c+2]=r*s[a+2],a+=i,c+=n}function l(e,t){f(e.typedBuffer,t.typedBuffer,e.typedBufferStride,t.typedBufferStride)}function f(e,t,r=3,n=r){const o=Math.min(e.length/r,t.length/n);let s=0,i=0;for(let a=0;a<o;a++){const o=t[s],a=t[s+1],c=t[s+2],u=o*o+a*a+c*c;if(u>0){const t=1/Math.sqrt(u);e[i]=t*o,e[i+1]=t*a,e[i+2]=t*c}s+=n,i+=r}}Object.freeze(Object.defineProperty({__proto__:null,normalize:f,normalizeView:l,scale:u,scaleView:c,shiftRight:function(e,t,r){const n=Math.min(e.count,t.count),o=e.typedBuffer,s=e.typedBufferStride,i=t.typedBuffer,a=t.typedBufferStride;let c=0,u=0;for(let e=0;e<n;e++)o[u]=i[c]>>r,o[u+1]=i[c+1]>>r,o[u+2]=i[c+2]>>r,c+=a,u+=s},transformMat3:a,transformMat3View:i,transformMat4:s,transformMat4View:o},Symbol.toStringTag,{value:"Module"}))},88669:(e,t,r)=>{function n(){return[0,0,0,0]}function o(e,t,r,n){return[e,t,r,n]}function s(e,t){return new Float64Array(e,t,4)}function i(){return o(1,1,1,1)}function a(){return o(1,0,0,0)}function c(){return o(0,1,0,0)}function u(){return o(0,0,1,0)}function l(){return o(0,0,0,1)}r.d(t,{a:()=>s,c:()=>n,f:()=>o});const f=i(),h=a(),d=c(),m=u(),p=l();Object.freeze(Object.defineProperty({__proto__:null,ONES:f,UNIT_W:p,UNIT_X:h,UNIT_Y:d,UNIT_Z:m,ZEROS:[0,0,0,0],clone:function(e){return[e[0],e[1],e[2],e[3]]},create:n,createView:s,fromArray:function(e){const t=[0,0,0,0],r=Math.min(4,e.length);for(let n=0;n<r;++n)t[n]=e[n];return t},fromValues:o,ones:i,unitW:l,unitX:a,unitY:c,unitZ:u,zeros:function(){return[0,0,0,0]}},Symbol.toStringTag,{value:"Module"}))},91303:(e,t,r)=>{var n;r.d(t,{Y:()=>n}),function(e){e[e.KILOBYTES=1024]="KILOBYTES",e[e.MEGABYTES=1048576]="MEGABYTES",e[e.GIGABYTES=1073741824]="GIGABYTES"}(n||(n={}))},2368:(e,t,r)=>{r.d(t,{J:()=>l,j:()=>f});var n=r(43697),o=r(92036),s=(r(80442),r(22974)),i=(r(92604),r(70586)),a=r(31263),c=r(1153),u=r(52011);const l=e=>{let t=class extends e{clone(){const e=(0,c.vw)(this);(0,i.O3)(e,"unable to clone instance of non-accessor class");const t=e.metadatas,r=e.store,n={},o=new Map;for(const e in t){const i=t[e],c=r?.originOf(e),u=i.clonable;if(i.readOnly||!1===u||c!==a.s3.USER&&c!==a.s3.DEFAULTS&&c!==a.s3.WEB_MAP&&c!==a.s3.WEB_SCENE)continue;const l=this[e];let f=null;f="function"==typeof u?u(l):"reference"===u?l:(0,s.Vo)(l),null!=l&&null==f||(c===a.s3.DEFAULTS?o.set(e,f):n[e]=f)}const u=new(0,Object.getPrototypeOf(this).constructor)(n);if(o.size){const e=(0,c.vw)(u)?.store;if(e)for(const[t,r]of o)e.set(t,r,a.s3.DEFAULTS)}return u}};return t=(0,n._)([(0,u.j)("esri.core.Clonable")],t),t};let f=class extends(l(o.Z)){};f=(0,n._)([(0,u.j)("esri.core.Clonable")],f)},22807:(e,t,r)=>{r.d(t,{x:()=>o});var n=r(41213);class o{constructor(e){this._allocator=e,this._items=[],this._itemsPtr=0,this._grow()}get(){return 0===this._itemsPtr&&(0,n.Y)((()=>this._reset())),this._itemsPtr===this._items.length&&this._grow(),this._items[this._itemsPtr++]}_reset(){const e=Math.min(3*Math.max(8,this._itemsPtr),this._itemsPtr+3*s);this._items.length=Math.min(e,this._items.length),this._itemsPtr=0}_grow(){for(let e=0;e<Math.max(8,Math.min(this._items.length,s));e++)this._items.push(this._allocator())}}const s=1024},83025:(e,t,r)=>{r.d(t,{JK:()=>a,QZ:()=>s,Rq:()=>i,bg:()=>o,mB:()=>c});var n=r(1533);function o(e,t=!1){return e<=n.DB?t?new Array(e).fill(0):new Array(e):new Float64Array(e)}function s(e){return((0,n.kJ)(e)?e.length:e.byteLength/8)<=n.DB?Array.from(e):new Float64Array(e)}function i(e,t,r){return Array.isArray(e)?e.slice(t,t+r):e.subarray(t,t+r)}function a(e,t){for(let r=0;r<t.length;++r)e[r]=t[r];return e}function c(e){return Array.isArray(e)?new Float64Array(e):e}},85872:(e,t,r)=>{r.d(t,{Z:()=>h});var n=r(43697),o=r(2368),s=r(96674),i=r(5600),a=(r(75215),r(67676),r(80442),r(36030)),c=r(52011),u=r(65617),l=r(94139);let f=class extends((0,o.J)(s.wq)){constructor(e){super(e),this.type="georeferenced-relative",this.isRelative=!0,this.isGeoreferenced=!0,this.origin=(0,u.c)()}getOriginPoint(e){const[t,r,n]=this.origin;return new l.Z({x:t,y:r,z:n,spatialReference:e})}setOriginFormPoint({x:e,y:t,z:r}){this.origin=(0,u.f)(e,t,r??0)}};(0,n._)([(0,a.J)({georeferencedRelative:"georeferenced-relative"},{readOnly:!0})],f.prototype,"type",void 0),(0,n._)([(0,i.Cb)({type:[Number],nonNullable:!0,json:{write:!0}})],f.prototype,"origin",void 0),f=(0,n._)([(0,c.j)("esri.geometry.support.MeshGeoreferencedRelativeVertexSpace")],f);const h=f},50567:(e,t,r)=>{r.d(t,{Z:()=>u});var n=r(43697),o=r(2368),s=r(96674),i=(r(92604),r(75215),r(67676),r(80442),r(20102),r(36030)),a=r(52011);let c=class extends((0,o.J)(s.wq)){constructor(){super({}),this.type="georeferenced",this.isRelative=!1,this.isGeoreferenced=!0}};(0,n._)([(0,i.J)({georeferenced:"georeferenced"},{readOnly:!0})],c.prototype,"type",void 0),c=(0,n._)([(0,a.j)("esri.geometry.support.MeshGeoreferencedVertexSpace")],c);const u=c},84555:(e,t,r)=>{r.d(t,{Z:()=>h});var n=r(43697),o=r(2368),s=r(96674),i=r(5600),a=(r(75215),r(67676),r(80442),r(36030)),c=r(52011),u=r(65617),l=r(94139);let f=class extends((0,o.J)(s.wq)){constructor(e){super(e),this.type="local",this.isRelative=!0,this.isGeoreferenced=!1,this.origin=(0,u.c)()}getOriginPoint(e){const[t,r,n]=this.origin;return new l.Z({x:t,y:r,z:n,spatialReference:e})}setOriginFormPoint({x:e,y:t,z:r}){this.origin=(0,u.f)(e,t,r??0)}};(0,n._)([(0,a.J)({local:"local"},{readOnly:!0})],f.prototype,"type",void 0),(0,n._)([(0,i.Cb)({type:[Number],nonNullable:!0,json:{write:!0}})],f.prototype,"origin",void 0),f=(0,n._)([(0,c.j)("esri.geometry.support.MeshLocalVertexSpace")],f);const h=f},72220:(e,t,r)=>{r.d(t,{c:()=>n});const n=r(92604).Z.getLogger("esri.views.3d.support.buffer.math")},78341:(e,t,r)=>{r.d(t,{JI:()=>u,Ue:()=>i,re:()=>c}),r(67676);var n=r(22807),o=r(17896),s=r(65617);function i(e){return e?a((0,s.a)(e.origin),(0,s.a)(e.direction)):a((0,s.c)(),(0,s.c)())}function a(e,t){return{origin:e,direction:t}}function c(e,t){const r=l.get();return r.origin=e,r.direction=t,r}function u(e,t,r){const n=(0,o.e)(e.direction,(0,o.b)(r,t,e.origin));return(0,o.a)(r,e.origin,(0,o.g)(r,e.direction,n)),r}r(12981);const l=new n.x((()=>i()))},61277:(e,t,r)=>{r.d(t,{EU:()=>i});var n=r(22021),o=r(17896),s=r(65617);function i(e,t){const r=(0,o.e)(e,t)/((0,o.l)(e)*(0,o.l)(t));return-(0,n.ZF)(r)}(0,s.c)(),(0,s.c)()},12981:(e,t,r)=>{r.d(t,{MP:()=>m,WM:()=>d});var n=r(91303),o=r(41213),s=r(46521),i=r(13598),a=r(94961),c=r(97323),u=r(65617),l=r(88669);class f{constructor(e,t,r){this._itemByteSize=e,this._itemCreate=t,this._buffers=new Array,this._items=new Array,this._itemsPtr=0,this._itemsPerBuffer=Math.ceil(r/this._itemByteSize)}get(){0===this._itemsPtr&&(0,o.Y)((()=>this._reset()));const e=Math.floor(this._itemsPtr/this._itemsPerBuffer);for(;this._buffers.length<=e;){const e=new ArrayBuffer(this._itemsPerBuffer*this._itemByteSize);for(let t=0;t<this._itemsPerBuffer;++t)this._items.push(this._itemCreate(e,t*this._itemByteSize));this._buffers.push(e)}return this._items[this._itemsPtr++]}_reset(){const e=2*(Math.floor(this._itemsPtr/this._itemsPerBuffer)+1);for(;this._buffers.length>e;)this._buffers.pop(),this._items.length=this._buffers.length*this._itemsPerBuffer;this._itemsPtr=0}static createVec2f64(e=h){return new f(16,c.c,e)}static createVec3f64(e=h){return new f(24,u.b,e)}static createVec4f64(e=h){return new f(32,l.a,e)}static createMat3f64(e=h){return new f(72,s.a,e)}static createMat4f64(e=h){return new f(128,i.a,e)}static createQuatf64(e=h){return new f(32,a.c,e)}get test(){return{size:this._buffers.length*this._itemsPerBuffer*this._itemByteSize}}}const h=4*n.Y.KILOBYTES,d=(f.createVec2f64(),f.createVec3f64()),m=(f.createVec4f64(),f.createMat3f64(),f.createMat4f64());f.createQuatf64()},3172:(e,t,r)=>{r.r(t),r.d(t,{default:()=>d});var n=r(68773),o=r(40330),s=r(20102),i=r(80442),a=r(22974),c=r(95330),u=r(81271),l=r(19745),f=r(71058),h=r(85958);async function d(e,t){e instanceof URL&&(e=e.toString()),t?.query instanceof URLSearchParams&&(t.query=(0,u.u0)(t.query.toString().replaceAll("+"," ")));const a=(0,u.HK)(e),l=(0,u.jc)(e);l||a||(e=(0,u.Fv)(e));const g={url:e,requestOptions:{...t}};let b=(0,u.oh)(e);if(b){const e=await async function(e,t){if(null!=e.responseData)return e.responseData;if(e.headers&&(t.requestOptions.headers={...t.requestOptions.headers,...e.headers}),e.query&&(t.requestOptions.query={...t.requestOptions.query,...e.query}),e.before){let r,n;try{n=await e.before(t)}catch(e){r=v("request:interceptor",e,t)}if((n instanceof Error||n instanceof s.Z)&&(r=v("request:interceptor",n,t)),r)throw e.error&&e.error(r),r;return n}}(b,g);if(null!=e)return{data:e,getHeader:w,httpStatus:200,requestOptions:g.requestOptions,url:g.url};b.after||b.error||(b=null)}if(e=g.url,"image"===(t=g.requestOptions).responseType&&((0,i.Z)("host-webworker")||(0,i.Z)("host-node")))throw v("request:invalid-parameters",new Error("responseType 'image' is not supported in Web Workers or Node environment"),g);if("head"===t.method){if(t.body)throw v("request:invalid-parameters",new Error("body parameter cannot be set when method is 'head'"),g);if(a||l)throw v("request:invalid-parameters",new Error("data and blob URLs are not supported for method 'head'"),g)}if(await async function(){(0,i.Z)("host-webworker")?m||(m=await r.e(9884).then(r.bind(r,29884))):d._abortableFetch||(d._abortableFetch=globalThis.fetch.bind(globalThis))}(),m)return m.execute(e,t);const M=new AbortController;(0,c.fu)(t,(()=>M.abort()));const _={controller:M,credential:void 0,credentialToken:void 0,fetchOptions:void 0,hasToken:!1,interceptor:b,params:g,redoRequest:!1,useIdentity:p.useIdentity,useProxy:!1,useSSL:!1,withCredentials:!1},S=await async function(e){let t,r;await async function(e){const t=e.params.url,r=e.params.requestOptions,s=e.controller.signal,i=r.body;let a=null,u=null;if(y&&"HTMLFormElement"in globalThis&&(i instanceof FormData?a=i:i instanceof HTMLFormElement&&(a=new FormData(i))),"string"==typeof i&&(u=i),e.fetchOptions={cache:r.cacheBust&&!("polyfill"in d._abortableFetch)?"no-cache":"default",credentials:"same-origin",headers:r.headers||{},method:"head"===r.method?"HEAD":"GET",mode:"cors",priority:p.priority,redirect:"follow",signal:s},(a||u)&&(e.fetchOptions.body=a||u),"anonymous"===r.authMode&&(e.useIdentity=!1),e.hasToken=!!(/token=/i.test(t)||r.query?.token||a?.get("token")),!e.hasToken&&n.default.apiKey&&(0,f.r)(t)&&(r.query||(r.query={}),r.query.token=n.default.apiKey,e.hasToken=!0),e.useIdentity&&!e.hasToken&&!e.credentialToken&&!T(t)&&!(0,c.Hc)(s)){let n;"immediate"===r.authMode?(await E(),n=await o.id.getCredential(t,{signal:s}),e.credential=n):"no-prompt"===r.authMode?(await E(),n=await o.id.getCredential(t,{prompt:!1,signal:s}).catch((()=>{})),e.credential=n):o.id&&(n=o.id.findCredential(t)),n&&(e.credentialToken=n.token,e.useSSL=!!n.ssl)}}(e);try{do{[t,r]=await O(e)}while(!await x(e,t,r))}catch(r){const n=v("request:server",r,e.params,t);throw n.details.ssl=e.useSSL,e.interceptor?.error&&e.interceptor.error(n),n}const s=e.params.url;if(r&&/\/sharing\/rest\/(accounts|portals)\/self/i.test(s)){if(!e.hasToken&&!e.credentialToken&&r.user?.username&&!(0,u.kl)(s)){const e=(0,u.P$)(s,!0);e&&p.trustedServers.push(e)}Array.isArray(r.authorizedCrossOriginNoCorsDomains)&&(0,h.Hu)(r.authorizedCrossOriginNoCorsDomains)}const i=e.credential;if(i&&o.id){const e=o.id.findServerInfo(i.server);let t=e?.owningSystemUrl;if(t){t=t.replace(/\/?$/,"/sharing");const e=o.id.findCredential(t,i.userId);e&&-1===o.id._getIdenticalSvcIdx(t,e)&&e.resources.unshift(t)}}return{data:r,getHeader:t?e=>t?.headers.get(e):w,httpStatus:t?.status??200,requestOptions:e.params.requestOptions,ssl:e.useSSL,url:e.params.url}}(_);return b?.after?.(S),S}let m;const p=n.default.request,y="FormData"in globalThis,g=[499,498,403,401],b=["COM_0056","COM_0057","SB_0008"],M=[/\/arcgis\/tokens/i,/\/sharing(\/rest)?\/generatetoken/i,/\/rest\/info/i],w=()=>null,_=Symbol();function S(e){const t=(0,u.P$)(e);return!t||t.endsWith(".arcgis.com")||d._corsServers.includes(t)||(0,u.kl)(t)}function v(e,t,r,n){let o="Error";const i={url:r.url,requestOptions:r.requestOptions,getHeader:w,ssl:!1};if(t instanceof s.Z)return t.details?(t.details=(0,a.d9)(t.details),t.details.url=r.url,t.details.requestOptions=r.requestOptions):t.details=i,t;if(t){const e=n&&(e=>n.headers.get(e)),r=n?.status,s=t.message;s&&(o=s),e&&(i.getHeader=e),i.httpStatus=(null!=t.httpCode?t.httpCode:t.code)||r||0,i.subCode=t.subcode,i.messageCode=t.messageCode,"string"==typeof t.details?i.messages=[t.details]:i.messages=t.details,i.raw=_ in t?t[_]:t}return(0,c.D_)(t)?(0,c.zE)():new s.Z(e,o,i)}async function E(){o.id||await Promise.all([r.e(7126),r.e(6261),r.e(9255),r.e(1400),r.e(450)]).then(r.bind(r,73660))}function T(e){return M.some((t=>t.test(e)))}async function O(e){let t=e.params.url;const r=e.params.requestOptions,n=e.fetchOptions??{},s=(0,u.jc)(t)||(0,u.HK)(t),a=r.responseType||"json",f=s?0:null!=r.timeout?r.timeout:p.timeout;let m=!1;if(!s){e.useSSL&&(t=(0,u.hO)(t)),r.cacheBust&&"default"===n.cache&&(t=(0,u.ZN)(t,"request.preventCache",Date.now()));let s={...r.query};e.credentialToken&&(s.token=e.credentialToken);let a=(0,u.B7)(s);(0,i.Z)("esri-url-encodes-apostrophe")&&(a=a.replaceAll("'","%27"));const c=t.length+1+a.length;let f;m="delete"===r.method||"post"===r.method||"put"===r.method||!!r.body||c>p.maxUrlLength;const d=r.useProxy||!!(0,u.ed)(t);if(d){const e=(0,u.b7)(t);f=e.path,!m&&f.length+1+c>p.maxUrlLength&&(m=!0),e.query&&(s={...e.query,...s})}if("HEAD"===n.method&&(m||d)){if(m){if(c>p.maxUrlLength)throw v("request:invalid-parameters",new Error("URL exceeds maximum length"),e.params);throw v("request:invalid-parameters",new Error("cannot use POST request when method is 'head'"),e.params)}if(d)throw v("request:invalid-parameters",new Error("cannot use proxy when method is 'head'"),e.params)}if(m?(n.method="delete"===r.method?"DELETE":"put"===r.method?"PUT":"POST",r.body?t=(0,u.fl)(t,s):(n.body=(0,u.B7)(s),n.headers||(n.headers={}),n.headers["Content-Type"]="application/x-www-form-urlencoded")):t=(0,u.fl)(t,s),d&&(e.useProxy=!0,t=`${f}?${t}`),s.token&&y&&n.body instanceof FormData&&!(0,l.P)(t)&&n.body.set("token",s.token),r.hasOwnProperty("withCredentials"))e.withCredentials=r.withCredentials;else if(!(0,u.D6)(t,(0,u.TI)()))if((0,u.kl)(t))e.withCredentials=!0;else if(o.id){const r=o.id.findServerInfo(t);r?.webTierAuth&&(e.withCredentials=!0)}e.withCredentials&&(n.credentials="include",(0,h.jH)(t)&&await(0,h.jz)(m?(0,u.fl)(t,s):t))}let g,b,M=0,w=!1;f>0&&(M=setTimeout((()=>{w=!0,e.controller.abort()}),f));try{if("native-request-init"===r.responseType)b=n,b.url=t;else if("image"!==r.responseType||"default"!==n.cache||"GET"!==n.method||m||function(e){if(e)for(const t of Object.getOwnPropertyNames(e))if(e[t])return!0;return!1}(r.headers)||!s&&!e.useProxy&&p.proxyUrl&&!S(t)){if(g=await d._abortableFetch(t,n),e.useProxy||function(e){const t=(0,u.P$)(e);t&&!d._corsServers.includes(t)&&d._corsServers.push(t)}(t),"native"===r.responseType)b=g;else if("HEAD"!==n.method)if(g.ok){switch(a){case"array-buffer":b=await g.arrayBuffer();break;case"blob":case"image":b=await g.blob();break;default:b=await g.text()}if(M&&(clearTimeout(M),M=0),"json"===a||"xml"===a||"document"===a)if(b)switch(a){case"json":b=JSON.parse(b);break;case"xml":b=P(b,"application/xml");break;case"document":b=P(b,"text/html")}else b=null;if(b){if("array-buffer"===a||"blob"===a){const e=g.headers.get("Content-Type");if(e&&/application\/json|text\/plain/i.test(e)&&b["blob"===a?"size":"byteLength"]<=750)try{const e=await new Response(b).json();e.error&&(b=e)}catch{}}"image"===a&&b instanceof Blob&&(b=await q(URL.createObjectURL(b),e,!0))}}else{b=await g.text();try{b=JSON.parse(b)}catch{}}}else b=await q(t,e)}catch(n){if("AbortError"===n.name){if(w)throw(0,h.Tf)();throw(0,c.zE)("Request canceled")}if(!(!g&&n instanceof TypeError&&p.proxyUrl)||r.body||"delete"===r.method||"head"===r.method||"post"===r.method||"put"===r.method||e.useProxy||S(t))throw n;e.redoRequest=!0,(0,u.tD)({proxyUrl:p.proxyUrl,urlPrefix:(0,u.P$)(t)??""})}finally{M&&clearTimeout(M)}return[g,b]}function P(e,t){let r;try{r=(new DOMParser).parseFromString(e,t)}catch{}if(!r||r.getElementsByTagName("parsererror").length)throw new SyntaxError("XML Parse error");return r}async function x(e,t,r){if(e.redoRequest)return e.redoRequest=!1,!1;const n=e.params.requestOptions;if(!t||"native"===n.responseType||"native-request-init"===n.responseType)return!0;let s,i;if(r&&(r.error?s=r.error:"error"===r.status&&Array.isArray(r.messages)&&(s={...r},s[_]=r,s.details=r.messages)),!s&&!t.ok)throw s=new Error(`Unable to load ${t.url} status: ${t.status}`),s[_]=r,s;let a,c=null;s&&(i=Number(s.code),c=s.hasOwnProperty("subcode")?Number(s.subcode):null,a=s.messageCode,a=a?.toUpperCase());const u=n.authMode;if(403===i&&(4===c||s.message?.toLowerCase().includes("ssl")&&!s.message.toLowerCase().includes("permission"))){if(!e.useSSL)return e.useSSL=!0,!1}else if(!e.hasToken&&e.useIdentity&&("no-prompt"!==u||498===i)&&void 0!==i&&g.includes(i)&&!T(e.params.url)&&(403!==i||a&&!b.includes(a)&&(null==c||2===c&&e.credentialToken))){await E();try{const t=await o.id.getCredential(e.params.url,{error:v("request:server",s,e.params),prompt:"no-prompt"!==u,signal:e.controller.signal,token:e.credentialToken});return e.credential=t,e.credentialToken=t.token,e.useSSL=e.useSSL||t.ssl,!1}catch(t){if("no-prompt"===u)return e.credential=void 0,e.credentialToken=void 0,!1;s=t}}if(s)throw s;return!0}function q(e,t,r=!1){const n=t.controller.signal,o=new Image;return t.withCredentials?o.crossOrigin="use-credentials":o.crossOrigin="anonymous",o.alt="",o.fetchPriority=p.priority,o.src=e,(0,h.fY)(o,e,r,n)}d._abortableFetch=null,d._corsServers=["https://server.arcgisonline.com","https://services.arcgisonline.com"]},71058:(e,t,r)=>{r.d(t,{r:()=>s});var n=r(81271);const o=["elevation3d.arcgis.com","js.arcgis.com","jsdev.arcgis.com","jsqa.arcgis.com","static.arcgis.com"];function s(e){const t=(0,n.P$)(e,!0);return!!t&&t.endsWith(".arcgis.com")&&!o.includes(t)&&!e.endsWith("/sharing/rest/generateToken")}},85958:(e,t,r)=>{r.d(t,{Hu:()=>f,Tf:()=>l,fY:()=>a,jH:()=>h,jz:()=>d});var n=r(68773),o=r(80442),s=r(95330),i=r(81271);function a(e,t,r=!1,n){return new Promise(((i,a)=>{if((0,s.Hc)(n))return void a(c());let u=()=>{h(),a(new Error(`Unable to load ${t}`))},l=()=>{const t=e;h(),i(t)},f=()=>{if(!e)return;const t=e;h(),t.src="",a(c())};const h=()=>{(0,o.Z)("esri-image-decode")||(e.removeEventListener("error",u),e.removeEventListener("load",l)),u=null,l=null,e=null,null!=n&&n.removeEventListener("abort",f),f=null,r&&URL.revokeObjectURL(t)};null!=n&&n.addEventListener("abort",f),(0,o.Z)("esri-image-decode")?e.decode().then(l,u):(e.addEventListener("error",u),e.addEventListener("load",l))}))}function c(){try{return new DOMException("Aborted","AbortError")}catch{const e=new Error;return e.name="AbortError",e}}const u="Timeout exceeded";function l(){return new Error(u)}function f(e){n.default.request.crossOriginNoCorsDomains||(n.default.request.crossOriginNoCorsDomains={});const t=n.default.request.crossOriginNoCorsDomains;for(let r of e)r=r.toLowerCase(),/^https?:\/\//.test(r)?t[(0,i.P$)(r)??""]=0:(t[(0,i.P$)("http://"+r)??""]=0,t[(0,i.P$)("https://"+r)??""]=0)}function h(e){const t=n.default.request.crossOriginNoCorsDomains;if(t){let r=(0,i.P$)(e);if(r)return r=r.toLowerCase(),!(0,i.D6)(r,(0,i.TI)())&&t[r]<Date.now()-36e5}return!1}async function d(e){const t=n.default.request.crossOriginNoCorsDomains,r=(0,i.P$)(e);t&&r&&(t[r.toLowerCase()]=Date.now());const o=(0,i.mN)(e);e=o.path,"json"===o.query?.f&&(e+="?f=json");try{await fetch(e,{mode:"no-cors",credentials:"include"})}catch{}}},31412:(e,t,r)=>{r.r(t),r.d(t,{destroyContext:()=>P,dracoDecompressPointCloudData:()=>_,filterObbsForModifications:()=>S,filterObbsForModificationsSync:()=>R,initialize:()=>k,interpretObbModificationResults:()=>C,process:()=>w,project:()=>T,setLegacySchema:()=>E,setModifications:()=>v,setModificationsSync:()=>A,test:()=>j,transformNormals:()=>O});var n,o,s=r(82971),i=r(83025),a=r(85872),c=r(50567),u=r(84555),l=r(20773);!function(e){e[e.None=0]="None",e[e.Int16=1]="Int16",e[e.Int32=2]="Int32"}(n||(n={})),function(e){e[e.Replace=0]="Replace",e[e.Outside=1]="Outside",e[e.Inside=2]="Inside",e[e.Finished=3]="Finished"}(o||(o={}));var f=r(99880);function h(e){return(0,f.V)(`esri/libs/i3s/${e}`)}let d;var m,p,y,g,b,M;async function w(e){await k();const t=[e.geometryBuffer];return{result:L(e,t),transferList:t}}async function _(e){await k();const t=[e.geometryBuffer],{geometryBuffer:r}=e,n=r.byteLength,o=q._malloc(n),s=new Uint8Array(q.HEAPU8.buffer,o,n);s.set(new Uint8Array(r));const i=q.dracoDecompressPointCloudData(o,s.byteLength);if(q._free(o),i.error.length>0)throw new Error(`i3s.wasm: ${i.error}`);const a=i.featureIds?.length>0?i.featureIds.slice():null,c=i.positions.slice();return a&&t.push(a.buffer),t.push(c.buffer),{result:{positions:c,featureIds:a},transferList:t}}async function S(e){await k(),R(e);const t={buffer:e.buffer};return{result:t,transferList:[t.buffer]}}async function v(e){await k(),A(e)}async function E(e){await k(),q.setLegacySchema(e.context,e.jsonSchema)}async function T(e){const{localMatrix:t,origin:n,positions:o,vertexSpace:l,local:f}=e,h=s.Z.fromJSON(e.inSpatialReference),d=s.Z.fromJSON(e.outSpatialReference),m={georeferenced:c.Z,georeferencedRelative:a.Z,local:u.Z}[l.type].fromJSON(l);let p;if("georeferenced"===m.type){const{projectBuffer:e,initializeProjection:t}=await Promise.all([r.e(4547),r.e(1622),r.e(1900)]).then(r.bind(r,44547));await t(h,d),p=new Float64Array(o.length),e(o,h,0,p,d,0,p.length/3)}else{const{project:e}=await Promise.all([r.e(4547),r.e(1622),r.e(6481),r.e(6459),r.e(4727)]).then(r.bind(r,66459));p=(0,i.mB)(e({positions:o,transform:t?{localMatrix:t}:void 0,vertexSpace:m,inSpatialReference:h,outSpatialReference:d,local:f}))}const y=p.length,[g,b,M]=n;for(let e=0;e<y;e+=3)p[e]-=g,p[e+1]-=b,p[e+2]-=M;return{result:{projected:p,original:o},transferList:[p.buffer,o.buffer]}}async function O({normalMatrix:e,normals:t}){const r=new Float32Array(t.length);return(0,l.a)(r,t,e),(0,l.n)(r,r),{result:{transformed:r,original:t},transferList:[r.buffer,t.buffer]}}function P(e){B(e)}let x,q;function A(e){const t=e.modifications,r=q._malloc(8*t.length),n=new Float64Array(q.HEAPU8.buffer,r,t.length);for(let e=0;e<t.length;++e)n[e]=t[e];q.setModifications(e.context,r,t.length,e.isGeodetic),q._free(r)}function L(e,t){if(!q)return null;const{context:r,localOrigin:o,globalTrafo:s,mbs:i,obb:a,elevationOffset:c,geometryBuffer:u,geometryDescriptor:l,indexToVertexProjector:f,vertexToRenderProjector:h}=e,d=q._malloc(u.byteLength),m=q._malloc(33*Float64Array.BYTES_PER_ELEMENT),p=new Uint8Array(q.HEAPU8.buffer,d,u.byteLength);p.set(new Uint8Array(u));const y=new Float64Array(q.HEAPU8.buffer,m,33);I(y,o);let g=y.byteOffset+3*y.BYTES_PER_ELEMENT,b=new Float64Array(y.buffer,g);I(b,s),g+=16*y.BYTES_PER_ELEMENT,b=new Float64Array(y.buffer,g),I(b,i),g+=4*y.BYTES_PER_ELEMENT,null!=a&&(b=new Float64Array(y.buffer,g),I(b,a.center),g+=3*y.BYTES_PER_ELEMENT,b=new Float64Array(y.buffer,g),I(b,a.halfSize),g+=3*y.BYTES_PER_ELEMENT,b=new Float64Array(y.buffer,g),I(b,a.quaternion));const M=l,w={isDraco:!1,isLegacy:!1,color:e.layouts.some((e=>e.some((e=>"color"===e.name)))),normal:e.needNormals&&e.layouts.some((e=>e.some((e=>"normalCompressed"===e.name)))),uv0:e.layouts.some((e=>e.some((e=>"uv0"===e.name)))),uvRegion:e.layouts.some((e=>e.some((e=>"uvRegion"===e.name)))),featureIndex:M.featureIndex},_=q.process(r,!!e.obb,d,p.byteLength,M,w,m,c,f,h,e.normalReferenceFrame);if(q._free(m),q._free(d),_.error.length>0)throw new Error(`i3s.wasm: ${_.error}`);if(_.discarded)return null;const S=_.componentOffsets.length>0?_.componentOffsets.slice():null,v=_.featureIds.length>0?_.featureIds.slice():null,E=_.anchorIds.length>0?Array.from(_.anchorIds):null,T=_.anchors.length>0?Array.from(_.anchors):null,O=_.interleavedVertedData.slice().buffer,P=_.indicesType===n.Int16?new Uint16Array(_.indices.buffer,_.indices.byteOffset,_.indices.byteLength/2).slice():new Uint32Array(_.indices.buffer,_.indices.byteOffset,_.indices.byteLength/4).slice(),x=_.positions.slice(),A=_.positionIndicesType===n.Int16?new Uint16Array(_.positionIndices.buffer,_.positionIndices.byteOffset,_.positionIndices.byteLength/2).slice():new Uint32Array(_.positionIndices.buffer,_.positionIndices.byteOffset,_.positionIndices.byteLength/4).slice(),L={layout:e.layouts[0],interleavedVertexData:O,indices:P,hasColors:_.hasColors,hasModifications:_.hasModifications,positionData:{data:x,indices:A}};return v&&t.push(v.buffer),S&&t.push(S.buffer),t.push(O),t.push(P.buffer),t.push(x.buffer),t.push(A.buffer),{componentOffsets:S,featureIds:v,anchorIds:E,anchors:T,transformedGeometry:L,obb:_.obb}}function C(e){return 0===e?p.Unmodified:1===e?p.PotentiallyModified:2===e?p.Culled:p.Unknown}function R(e){const{context:t,buffer:r}=e,n=q._malloc(r.byteLength),o=r.byteLength/Float64Array.BYTES_PER_ELEMENT,s=new Float64Array(q.HEAPU8.buffer,n,o),i=new Float64Array(r);s.set(i),q.filterOBBs(t,n,o),i.set(s),q._free(n)}function B(e){q&&(q.destroy(e),q=null)}function I(e,t){for(let r=0;r<t.length;++r)e[r]=t[r]}function k(){return q?Promise.resolve():(x||(x=(d||(d=new Promise((e=>r.e(6710).then(r.bind(r,26710)).then((e=>e.i)).then((({default:t})=>{const r=t({locateFile:h,onRuntimeInitialized:()=>e(r)});delete r.then})))).catch((e=>{throw e}))),d).then((e=>{q=e,x=null}))),x)}r(8310),(M=m||(m={}))[M.Unmodified=0]="Unmodified",M[M.Culled=1]="Culled",M[M.NotChecked=2]="NotChecked",function(e){e[e.Unmodified=0]="Unmodified",e[e.PotentiallyModified=1]="PotentiallyModified",e[e.Culled=2]="Culled",e[e.Unknown=3]="Unknown",e[e.NotChecked=4]="NotChecked"}(p||(p={})),function(e){e[e.Unknown=0]="Unknown",e[e.Uncached=1]="Uncached",e[e.Cached=2]="Cached"}(y||(y={})),function(e){e[e.None=0]="None",e[e.MaxScreenThreshold=1]="MaxScreenThreshold",e[e.ScreenSpaceRelative=2]="ScreenSpaceRelative",e[e.RemovedFeatureDiameter=3]="RemovedFeatureDiameter",e[e.DistanceRangeFromDefaultCamera=4]="DistanceRangeFromDefaultCamera"}(g||(g={})),function(e){e[e.Hole=0]="Hole",e[e.Leaf=1]="Leaf"}(b||(b={}));const j={transform:L,destroy:B}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[5995,5732,9880],{92835:(e,t,s)=>{s.d(t,{Z:()=>f});var i,n=s(43697),r=s(96674),o=s(35463),a=s(5600),l=(s(75215),s(67676),s(80442),s(71715)),h=s(52011),u=s(30556);let c=i=class extends r.wq{static get allTime(){return d}static get empty(){return _}constructor(e){super(e),this.end=null,this.start=null}readEnd(e,t){return null!=t.end?new Date(t.end):null}writeEnd(e,t){t.end=e?e.getTime():null}get isAllTime(){return this.equals(i.allTime)}get isEmpty(){return this.equals(i.empty)}readStart(e,t){return null!=t.start?new Date(t.start):null}writeStart(e,t){t.start=e?e.getTime():null}clone(){return new i({end:this.end,start:this.start})}equals(e){if(!e)return!1;const t=null!=this.start?this.start.getTime():this.start,s=null!=this.end?this.end.getTime():this.end,i=null!=e.start?e.start.getTime():e.start,n=null!=e.end?e.end.getTime():e.end;return t===i&&s===n}expandTo(e){if(this.isEmpty||this.isAllTime)return this.clone();let t=this.start;t&&(t=(0,o.JE)(t,e));let s=this.end;if(s){const t=(0,o.JE)(s,e);s=s.getTime()===t.getTime()?t:(0,o.Nm)(t,1,e)}return new i({start:t,end:s})}intersection(e){if(!e)return this.clone();if(this.isEmpty||e.isEmpty)return i.empty;if(this.isAllTime)return e.clone();if(e.isAllTime)return this.clone();const t=this.start?.getTime()??-1/0,s=this.end?.getTime()??1/0,n=e.start?.getTime()??-1/0,r=e.end?.getTime()??1/0;let o,a;if(n>=t&&n<=s?o=n:t>=n&&t<=r&&(o=t),s>=n&&s<=r?a=s:r>=t&&r<=s&&(a=r),null!=o&&null!=a&&!isNaN(o)&&!isNaN(a)){const e=new i;return e.start=o===-1/0?null:new Date(o),e.end=a===1/0?null:new Date(a),e}return i.empty}offset(e,t){if(this.isEmpty||this.isAllTime)return this.clone();const s=new i,{start:n,end:r}=this;return null!=n&&(s.start=(0,o.Nm)(n,e,t)),null!=r&&(s.end=(0,o.Nm)(r,e,t)),s}union(e){if(!e||e.isEmpty)return this.clone();if(this.isEmpty)return e.clone();if(this.isAllTime||e.isAllTime)return d.clone();const t=null!=this.start&&null!=e.start?new Date(Math.min(this.start.getTime(),e.start.getTime())):null,s=null!=this.end&&null!=e.end?new Date(Math.max(this.end.getTime(),e.end.getTime())):null;return new i({start:t,end:s})}};(0,n._)([(0,a.Cb)({type:Date,json:{write:{allowNull:!0}}})],c.prototype,"end",void 0),(0,n._)([(0,l.r)("end")],c.prototype,"readEnd",null),(0,n._)([(0,u.c)("end")],c.prototype,"writeEnd",null),(0,n._)([(0,a.Cb)({readOnly:!0,json:{read:!1}})],c.prototype,"isAllTime",null),(0,n._)([(0,a.Cb)({readOnly:!0,json:{read:!1}})],c.prototype,"isEmpty",null),(0,n._)([(0,a.Cb)({type:Date,json:{write:{allowNull:!0}}})],c.prototype,"start",void 0),(0,n._)([(0,l.r)("start")],c.prototype,"readStart",null),(0,n._)([(0,u.c)("start")],c.prototype,"writeStart",null),c=i=(0,n._)([(0,h.j)("esri.TimeExtent")],c);const d=new c,_=new c({start:void 0,end:void 0}),f=c},99880:(e,t,s)=>{s.d(t,{V:()=>l});var i=s(68773),n=(s(3172),s(20102)),r=s(92604),o=s(81271);const a=r.Z.getLogger("esri.assets");function l(e){if(!i.default.assetsPath)throw a.errorOnce("The API assets location needs to be set using config.assetsPath. More information: https://arcg.is/1OzLe50"),new n.Z("assets:path-not-set","config.assetsPath is not set");return(0,o.v_)(i.default.assetsPath,e)}},5732:(e,t,s)=>{s.d(t,{c:()=>i,g:()=>n});var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function n(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}},91303:(e,t,s)=>{var i;s.d(t,{Y:()=>i}),function(e){e[e.KILOBYTES=1024]="KILOBYTES",e[e.MEGABYTES=1048576]="MEGABYTES",e[e.GIGABYTES=1073741824]="GIGABYTES"}(i||(i={}))},2368:(e,t,s)=>{s.d(t,{J:()=>u,j:()=>c});var i=s(43697),n=s(92036),r=(s(80442),s(22974)),o=(s(92604),s(70586)),a=s(31263),l=s(1153),h=s(52011);const u=e=>{let t=class extends e{clone(){const e=(0,l.vw)(this);(0,o.O3)(e,"unable to clone instance of non-accessor class");const t=e.metadatas,s=e.store,i={},n=new Map;for(const e in t){const o=t[e],l=s?.originOf(e),h=o.clonable;if(o.readOnly||!1===h||l!==a.s3.USER&&l!==a.s3.DEFAULTS&&l!==a.s3.WEB_MAP&&l!==a.s3.WEB_SCENE)continue;const u=this[e];let c=null;c="function"==typeof h?h(u):"reference"===h?u:(0,r.Vo)(u),null!=u&&null==c||(l===a.s3.DEFAULTS?n.set(e,c):i[e]=c)}const h=new(0,Object.getPrototypeOf(this).constructor)(i);if(n.size){const e=(0,l.vw)(h)?.store;if(e)for(const[t,s]of n)e.set(t,s,a.s3.DEFAULTS)}return h}};return t=(0,i._)([(0,h.j)("esri.core.Clonable")],t),t};let c=class extends(u(n.Z)){};c=(0,i._)([(0,h.j)("esri.core.Clonable")],c)},32448:(e,t,s)=>{s.d(t,{Z:()=>l});var i=s(43697),n=s(92036),r=s(50758),o=s(52011);class a{constructor(){this._emitter=new a.EventEmitter(this)}emit(e,t){return this._emitter.emit(e,t)}on(e,t){return this._emitter.on(e,t)}once(e,t){return this._emitter.once(e,t)}hasEventListener(e){return this._emitter.hasEventListener(e)}}!function(e){class t{constructor(e=null){this._target=e,this._listenersMap=null}clear(){this._listenersMap?.clear(),this._listenersMap=null}destroy(){this.clear()}emit(e,t){const s=this._listenersMap&&this._listenersMap.get(e);if(!s)return!1;const i=this._target||this;return[...s].forEach((e=>{e.call(i,t)})),s.length>0}on(e,t){if(Array.isArray(e)){const s=e.map((e=>this.on(e,t)));return(0,r.AL)(s)}if(e.includes(","))throw new TypeError("Evented.on() with a comma delimited string of event types is not supported");this._listenersMap||(this._listenersMap=new Map);const s=this._listenersMap.get(e)||[];return s.push(t),this._listenersMap.set(e,s),(0,r.kB)((()=>{const s=this._listenersMap&&this._listenersMap.get(e)||[],i=s.indexOf(t);i>=0&&s.splice(i,1)}))}once(e,t){const s=this.on(e,(e=>{s.remove(),t.call(null,e)}));return s}hasEventListener(e){const t=this._listenersMap&&this._listenersMap.get(e);return null!=t&&t.length>0}}e.EventEmitter=t,e.EventedMixin=e=>{let s=class extends e{constructor(){super(...arguments),this._emitter=new t}destroy(){this._emitter.clear()}emit(e,t){return this._emitter.emit(e,t)}on(e,t){return this._emitter.on(e,t)}once(e,t){return this._emitter.once(e,t)}hasEventListener(e){return this._emitter.hasEventListener(e)}};return s=(0,i._)([(0,o.j)("esri.core.Evented")],s),s};let s=class extends n.Z{constructor(){super(...arguments),this._emitter=new a.EventEmitter(this)}destroy(){this._emitter.clear()}emit(e,t){return this._emitter.emit(e,t)}on(e,t){return this._emitter.on(e,t)}once(e,t){return this._emitter.once(e,t)}hasEventListener(e){return this._emitter.hasEventListener(e)}};s=(0,i._)([(0,o.j)("esri.core.Evented")],s),e.EventedAccessor=s}(a||(a={}));const l=a},13867:(e,t,s)=>{s.d(t,{z:()=>n});var i=s(69801);class n{constructor(e,t){this._storage=new i.WJ,this.id="",this.name="",this.size=0,this._storage.maxSize=e,this._storage.register(this),t&&this._storage.registerRemoveFunc("",t)}destroy(){this._storage.deregister(this),this._storage.destroy()}put(e,t,s=1){this._storage.put(this,e,t,s,1)}pop(e){return this._storage.pop(this,e)}get(e){return this._storage.get(this,e)}clear(){this._storage.clearAll()}get maxSize(){return this._storage.maxSize}set maxSize(e){this._storage.maxSize=e}resetHitRate(){}}},69801:(e,t,s)=>{s.d(t,{WJ:()=>a,Xq:()=>o});var i,n,r=s(44553);(n=i||(i={}))[n.ALL=0]="ALL",n[n.SOME=1]="SOME";class o{constructor(e,t,s){this.name=e,this._storage=t,this.id=l+++":",this.size=0,this.maxSize=0,this._removeFunc=!1,this._hit=0,this._miss=0,this._storage.register(this),s&&(this._storage.registerRemoveFunc(this.id,s),this._removeFunc=!0)}destroy(){this._storage.clear(this),this._removeFunc&&this._storage.deregisterRemoveFunc(this.id),this._storage.deregister(this),this._storage=null}get hitRate(){return this._hit/(this._hit+this._miss)}get sizeAll(){return this._storage.size}resetHitRate(){this._hit=this._miss=0}put(e,t,s,i=0){this._storage.put(this,e,t,s,i)}get(e){const t=this._storage.get(this,e);return void 0===t?++this._miss:++this._hit,t}peek(e){return this._storage.peek(this,e)}pop(e){const t=this._storage.pop(this,e);return void 0===t?++this._miss:++this._hit,t}updateSize(e,t,s){this._storage.updateSize(this,e,t,s)}clear(){this._storage.clear(this)}clearAll(){this._storage.clearAll()}get performanceInfo(){return this._storage.performanceInfo}resetStats(){this._storage.resetStats()}}class a{get size(){return this._size}constructor(e=10485760){this._maxSize=e,this._db=new Map,this._size=0,this._hit=0,this._miss=0,this._removeFuncs=new r.Z,this._users=new r.Z}destroy(){this.clearAll(),this._removeFuncs.clear(),this._users.clear(),this._db=null}register(e){this._users.push(e)}deregister(e){this._users.removeUnordered(e)}registerRemoveFunc(e,t){this._removeFuncs.push([e,t])}deregisterRemoveFunc(e){this._removeFuncs.filterInPlace((t=>t[0]!==e))}get maxSize(){return this._maxSize}set maxSize(e){this._maxSize=Math.max(e,0),this._checkSizeLimits()}put(e,t,s,n,r){t=e.id+t;const o=this._db.get(t);if(o&&(this._size-=o.size,e.size-=o.size,this._db.delete(t),o.entry!==s&&this._notifyRemove(t,o.entry,i.ALL)),n>this._maxSize)return void this._notifyRemove(t,s,i.ALL);if(void 0===s)return void console.warn("Refusing to cache undefined entry ");if(!n||n<0)return void console.warn("Refusing to cache entry with invalid size "+n);const a=1+Math.max(r,-3)- -3;this._db.set(t,{entry:s,size:n,lifetime:a,lives:a}),this._size+=n,e.size+=n,this._checkSizeLimits()}updateSize(e,t,s,n){t=e.id+t;const r=this._db.get(t);if(r&&r.entry===s){for(this._size-=r.size,e.size-=r.size;n>this._maxSize;){const e=this._notifyRemove(t,s,i.SOME);if(!(null!=e&&e>0))return void this._db.delete(t);n=e}r.size=n,this._size+=n,e.size+=n,this._checkSizeLimits()}}pop(e,t){t=e.id+t;const s=this._db.get(t);if(s)return this._size-=s.size,e.size-=s.size,this._db.delete(t),++this._hit,s.entry;++this._miss}get(e,t){t=e.id+t;const s=this._db.get(t);if(void 0!==s)return this._db.delete(t),s.lives=s.lifetime,this._db.set(t,s),++this._hit,s.entry;++this._miss}peek(e,t){const s=this._db.get(e.id+t);return s?++this._hit:++this._miss,s?.entry}get performanceInfo(){const e={Size:Math.round(this._size/1048576)+"/"+Math.round(this._maxSize/1048576)+"MB","Hit rate":Math.round(100*this._getHitRate())+"%",Entries:this._db.size.toString()},t={},s=new Array;this._db.forEach(((e,i)=>{const n=e.lifetime;s[n]=(s[n]||0)+e.size,this._users.forAll((s=>{const{id:n,name:r}=s;if(i.startsWith(n)){const s=t[r]||0;t[r]=s+e.size}}))}));const i={};this._users.forAll((e=>{const s=e.name;if("hitRate"in e&&"number"==typeof e.hitRate&&!isNaN(e.hitRate)&&e.hitRate>0){const n=t[s]||0;t[s]=n,i[s]=Math.round(100*e.hitRate)+"%"}else i[s]="0%"}));const n=Object.keys(t);n.sort(((e,s)=>t[s]-t[e])),n.forEach((s=>e[s]=Math.round(t[s]/2**20)+"MB / "+i[s]));for(let t=s.length-1;t>=0;--t){const i=s[t];i&&(e["Priority "+(t+-3-1)]=Math.round(i/this._size*100)+"%")}return e}resetStats(){this._hit=this._miss=0,this._users.forAll((e=>e.resetHitRate()))}clear(e){const t=e.id;this._db.forEach(((e,s)=>{s.startsWith(t)&&(this._size-=e.size,this._db.delete(s),this._notifyRemove(s,e.entry,i.ALL))})),e.size=0}clearAll(){this._db.forEach(((e,t)=>this._notifyRemove(t,e.entry,i.ALL))),this._users.forEach((e=>e.size=0)),this._size=0,this._db.clear()}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(e,t,s){let i;return this._removeFuncs.some((n=>{if(e.startsWith(n[0])){const e=n[1](t,s);return"number"==typeof e&&(i=e),!0}return!1})),i}_checkSizeLimits(){if(this._size>this._maxSize)for(const[e,t]of this._db)if(this._purgeItem(e,t),this._size<=.9*this.maxSize)return;this._users.forEach((e=>{if(e.maxSize>0&&e.size>e.maxSize)for(const[t,s]of this._db)if(t.startsWith(e.id)&&(this._purgeItem(t,s,e),e.size<=.9*e.maxSize))return}))}_purgeItem(e,t,s=this._users.find((t=>e.startsWith(t.id)))){if(this._db.delete(e),t.lives<=1){this._size-=t.size,s&&(s.size-=t.size);const n=this._notifyRemove(e,t.entry,i.SOME);null!=n&&n>0&&(this._size+=n,s&&(s.size+=n),t.lives=t.lifetime,t.size=n,this._db.set(e,t))}else--t.lives,this._db.set(e,t)}}let l=0},10661:(e,t,s)=>{s.d(t,{s:()=>n});var i=s(42100);class n extends i.s{notify(){const e=this._observers;if(e&&e.length>0){const t=e.slice();for(const e of t)e.onInvalidated(),e.onCommitted()}}}},66643:(e,t,s)=>{s.d(t,{Ed:()=>h,UI:()=>u,mt:()=>f,q6:()=>_,vr:()=>p});var i=s(43697),n=s(92036),r=s(70586),o=s(95330),a=s(5600),l=s(52011);function h(e,t,s){return(0,o.as)(e.map(((e,i)=>t.apply(s,[e,i]))))}async function u(e,t,s){return(await(0,o.as)(e.map(((e,i)=>t.apply(s,[e,i]))))).map((e=>e.value))}function c(e){return{ok:!0,value:e}}function d(e){return{ok:!1,error:e}}async function _(e){if(null==e)return{ok:!1,error:new Error("no promise provided")};try{return c(await e)}catch(e){return d(e)}}async function f(e){try{return c(await e)}catch(e){return(0,o.r9)(e),d(e)}}function p(e,t){return new g(e,t)}let g=class extends n.Z{get value(){return null!=(e=this._result)&&!0===e.ok?e.value:null;var e}get error(){return null!=(e=this._result)&&!1===e.ok?e.error:null;var e}get finished(){return null!=this._result}constructor(e,t){super({}),this._result=null,this._abortHandle=null,this.abort=()=>{this._abortController=(0,r.IM)(this._abortController)},this.remove=this.abort,this._abortController=new AbortController;const{signal:s}=this._abortController;this.promise=e(s),this.promise.then((e=>{this._result=c(e),this._cleanup()}),(e=>{this._result=d(e),this._cleanup()})),this._abortHandle=(0,o.fu)(t,this.abort)}normalizeCtorArgs(){return{}}destroy(){this.abort()}_cleanup(){this._abortHandle=(0,r.hw)(this._abortHandle),this._abortController=null}};(0,i._)([(0,a.Cb)()],g.prototype,"value",null),(0,i._)([(0,a.Cb)()],g.prototype,"error",null),(0,i._)([(0,a.Cb)()],g.prototype,"finished",null),(0,i._)([(0,a.Cb)()],g.prototype,"promise",void 0),(0,i._)([(0,a.Cb)()],g.prototype,"_result",void 0),g=(0,i._)([(0,l.j)("esri.core.asyncUtils.ReactiveTask")],g)},43090:(e,t,s)=>{function i(e){return 32+e.length}function n(e){if(!e)return 0;let t=l;for(const s in e)if(e.hasOwnProperty(s)){const n=e[s];switch(typeof n){case"string":t+=i(n);break;case"number":t+=16;break;case"boolean":t+=4}}return t}function r(e){if(!e)return 0;if(Array.isArray(e))return function(e){const t=e.length;if(0===t||"number"==typeof e[0])return 32+8*t;let s=h;for(let i=0;i<t;i++)s+=o(e[i]);return s}(e);let t=l;for(const s in e)e.hasOwnProperty(s)&&(t+=o(e[s]));return t}function o(e){switch(typeof e){case"object":return r(e);case"string":return i(e);case"number":return 16;case"boolean":return 4;default:return 8}}function a(e,t){return h+e.length*t}s.d(t,{Ul:()=>r,do:()=>a,f2:()=>n});const l=32,h=32},24133:(e,t,s)=>{s.d(t,{Q:()=>o});var i=s(67676),n=s(44553),r=s(88764);class o{constructor(e=9,t){this._compareMinX=u,this._compareMinY=c,this._toBBox=e=>e,this._maxEntries=Math.max(4,e||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),t&&("function"==typeof t?this._toBBox=t:this._initFormat(t)),this.clear()}destroy(){this.clear(),v.prune(),E.prune(),b.prune(),x.prune()}all(e){this._all(this._data,e)}search(e,t){let s=this._data;const i=this._toBBox;if(m(e,s))for(v.clear();s;){for(let n=0,r=s.children.length;n<r;n++){const r=s.children[n],o=s.leaf?i(r):r;m(e,o)&&(s.leaf?t(r):g(e,o)?this._all(r,t):v.push(r))}s=v.pop()}}collides(e){let t=this._data;const s=this._toBBox;if(!m(e,t))return!1;for(v.clear();t;){for(let i=0,n=t.children.length;i<n;i++){const n=t.children[i],r=t.leaf?s(n):n;if(m(e,r)){if(t.leaf||g(e,r))return!0;v.push(n)}}t=v.pop()}return!1}load(e){if(!e.length)return this;if(e.length<this._minEntries){for(let t=0,s=e.length;t<s;t++)this.insert(e[t]);return this}let t=this._build(e.slice(0,e.length),0,e.length-1,0);if(this._data.children.length)if(this._data.height===t.height)this._splitRoot(this._data,t);else{if(this._data.height<t.height){const e=this._data;this._data=t,t=e}this._insert(t,this._data.height-t.height-1,!0)}else this._data=t;return this}insert(e){return e&&this._insert(e,this._data.height-1),this}clear(){return this._data=new F([]),this}remove(e){if(!e)return this;let t,s=this._data,n=null,r=0,o=!1;const a=this._toBBox(e);for(b.clear(),x.clear();s||b.length>0;){if(s||(s=b.pop(),n=b.data[b.length-1],r=x.pop()??0,o=!0),s.leaf&&(t=(0,i.cq)(s.children,e,s.children.length,s.indexHint),-1!==t))return s.children.splice(t,1),b.push(s),this._condense(b),this;o||s.leaf||!g(s,a)?n?(r++,s=n.children[r],o=!1):s=null:(b.push(s),x.push(r),r=0,n=s,s=s.children[0])}return this}toJSON(){return this._data}fromJSON(e){return this._data=e,this}_all(e,t){let s=e;for(E.clear();s;){if(!0===s.leaf)for(const e of s.children)t(e);else E.pushArray(s.children);s=E.pop()??null}}_build(e,t,s,i){const n=s-t+1;let r=this._maxEntries;if(n<=r){const i=new F(e.slice(t,s+1));return a(i,this._toBBox),i}i||(i=Math.ceil(Math.log(n)/Math.log(r)),r=Math.ceil(n/r**(i-1)));const o=new S([]);o.height=i;const l=Math.ceil(n/r),h=l*Math.ceil(Math.sqrt(r));y(e,t,s,h,this._compareMinX);for(let n=t;n<=s;n+=h){const t=Math.min(n+h-1,s);y(e,n,t,l,this._compareMinY);for(let s=n;s<=t;s+=l){const n=Math.min(s+l-1,t);o.children.push(this._build(e,s,n,i-1))}}return a(o,this._toBBox),o}_chooseSubtree(e,t,s,i){for(;i.push(t),!0!==t.leaf&&i.length-1!==s;){let s,i=1/0,n=1/0;for(let r=0,o=t.children.length;r<o;r++){const o=t.children[r],a=d(o),l=f(e,o)-a;l<n?(n=l,i=a<i?a:i,s=o):l===n&&a<i&&(i=a,s=o)}t=s||t.children[0]}return t}_insert(e,t,s){const i=this._toBBox,n=s?e:i(e);b.clear();const r=this._chooseSubtree(n,this._data,t,b);for(r.children.push(e),h(r,n);t>=0&&b.data[t].children.length>this._maxEntries;)this._split(b,t),t--;this._adjustParentBBoxes(n,b,t)}_split(e,t){const s=e.data[t],i=s.children.length,n=this._minEntries;this._chooseSplitAxis(s,n,i);const r=this._chooseSplitIndex(s,n,i);if(!r)return void console.log(" Error: assertion failed at PooledRBush._split: no valid split index");const o=s.children.splice(r,s.children.length-r),l=s.leaf?new F(o):new S(o);l.height=s.height,a(s,this._toBBox),a(l,this._toBBox),t?e.data[t-1].children.push(l):this._splitRoot(s,l)}_splitRoot(e,t){this._data=new S([e,t]),this._data.height=e.height+1,a(this._data,this._toBBox)}_chooseSplitIndex(e,t,s){let i,n,r;i=n=1/0;for(let o=t;o<=s-t;o++){const t=l(e,0,o,this._toBBox),a=l(e,o,s,this._toBBox),h=p(t,a),u=d(t)+d(a);h<i?(i=h,r=o,n=u<n?u:n):h===i&&u<n&&(n=u,r=o)}return r}_chooseSplitAxis(e,t,s){const i=e.leaf?this._compareMinX:u,n=e.leaf?this._compareMinY:c;this._allDistMargin(e,t,s,i)<this._allDistMargin(e,t,s,n)&&e.children.sort(i)}_allDistMargin(e,t,s,i){e.children.sort(i);const n=this._toBBox,r=l(e,0,t,n),o=l(e,s-t,s,n);let a=_(r)+_(o);for(let i=t;i<s-t;i++){const t=e.children[i];h(r,e.leaf?n(t):t),a+=_(r)}for(let i=s-t-1;i>=t;i--){const t=e.children[i];h(o,e.leaf?n(t):t),a+=_(o)}return a}_adjustParentBBoxes(e,t,s){for(let i=s;i>=0;i--)h(t.data[i],e)}_condense(e){for(let t=e.length-1;t>=0;t--){const s=e.data[t];if(0===s.children.length)if(t>0){const n=e.data[t-1],r=n.children;r.splice((0,i.cq)(r,s,r.length,n.indexHint),1)}else this.clear();else a(s,this._toBBox)}}_initFormat(e){const t=["return a"," - b",";"];this._compareMinX=new Function("a","b",t.join(e[0])),this._compareMinY=new Function("a","b",t.join(e[1])),this._toBBox=new Function("a","return {minX: a"+e[0]+", minY: a"+e[1]+", maxX: a"+e[2]+", maxY: a"+e[3]+"};")}}function a(e,t){l(e,0,e.children.length,t,e)}function l(e,t,s,i,n){n||(n=new F([])),n.minX=1/0,n.minY=1/0,n.maxX=-1/0,n.maxY=-1/0;for(let r,o=t;o<s;o++)r=e.children[o],h(n,e.leaf?i(r):r);return n}function h(e,t){e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY)}function u(e,t){return e.minX-t.minX}function c(e,t){return e.minY-t.minY}function d(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function _(e){return e.maxX-e.minX+(e.maxY-e.minY)}function f(e,t){return(Math.max(t.maxX,e.maxX)-Math.min(t.minX,e.minX))*(Math.max(t.maxY,e.maxY)-Math.min(t.minY,e.minY))}function p(e,t){const s=Math.max(e.minX,t.minX),i=Math.max(e.minY,t.minY),n=Math.min(e.maxX,t.maxX),r=Math.min(e.maxY,t.maxY);return Math.max(0,n-s)*Math.max(0,r-i)}function g(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function m(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function y(e,t,s,i,n){const o=[t,s];for(;o.length;){const t=o.pop(),s=o.pop();if(t-s<=i)continue;const a=s+Math.ceil((t-s)/i/2)*i;(0,r.q)(e,a,s,t,n),o.push(s,a,a,t)}}const v=new n.Z,E=new n.Z,b=new n.Z,x=new n.Z({deallocator:void 0});class w{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}}class C extends w{constructor(){super(...arguments),this.height=1,this.indexHint=new i.SO}}class F extends C{constructor(e){super(),this.children=e,this.leaf=!0}}class S extends C{constructor(e){super(),this.children=e,this.leaf=!1}}},17445:(e,t,s)=>{s.d(t,{N1:()=>d,YP:()=>l,Z_:()=>p,gx:()=>h,nn:()=>g,on:()=>c,tX:()=>m});var i=s(91460),n=s(50758),r=s(70586),o=s(95330),a=s(26258);function l(e,t,s={}){return u(e,t,s,_)}function h(e,t,s={}){return u(e,t,s,f)}function u(e,t,s={},i){let n=null;const o=s.once?(e,s)=>{i(e)&&((0,r.hw)(n),t(e,s))}:(e,s)=>{i(e)&&t(e,s)};if(n=(0,a.aQ)(e,o,s.sync,s.equals),s.initial){const t=e();o(t,t)}return n}function c(e,t,s,o={}){let a=null,h=null,u=null;function c(){a&&h&&(h.remove(),o.onListenerRemove?.(a),a=null,h=null)}function d(e){o.once&&o.once&&(0,r.hw)(u),s(e)}const _=l(e,((e,s)=>{c(),(0,i.vT)(e)&&(a=e,h=(0,i.on)(e,t,d),o.onListenerAdd?.(e))}),{sync:o.sync,initial:!0});return u=(0,n.kB)((()=>{_.remove(),c()})),u}function d(e,t){return function(e,t,s){if((0,o.Hc)(s))return Promise.reject((0,o.zE)());const i=e();if(t?.(i))return Promise.resolve(i);let a=null;function l(){a=(0,r.hw)(a)}return new Promise(((i,r)=>{a=(0,n.AL)([(0,o.fu)(s,(()=>{l(),r((0,o.zE)())})),u(e,(e=>{l(),i(e)}),{sync:!1,once:!0},t??_)])}))}(e,f,t)}function _(e){return!0}function f(e){return!!e}s(87538);const p={sync:!0},g={initial:!0},m={sync:!0,initial:!0}},19402:(e,t,s)=>{s.d(t,{R:()=>u});var i=s(43697),n=s(92036),r=s(50758),o=s(17445),a=s(1654),l=s(5600),h=s(52011);let u=class extends n.Z{constructor(){super(...arguments),this.updating=!1,this._handleId=0,this._scheduleHandleId=0,this._pendingPromises=new Set}destroy(){this.removeAll()}add(e,t,s={}){return this._installWatch(e,t,s,o.YP)}addWhen(e,t,s={}){return this._installWatch(e,t,s,o.gx)}addOnCollectionChange(e,t,{initial:s=!1,final:i=!1}={}){const n=++this._handleId;return this.addHandles([(0,o.on)(e,"after-changes",this._createSyncUpdatingCallback(),o.Z_),(0,o.on)(e,"change",t,{onListenerAdd:s?e=>t({added:e.toArray(),removed:[]}):void 0,onListenerRemove:i?e=>t({added:[],removed:e.toArray()}):void 0})],n),(0,r.kB)((()=>this.removeHandles(n)))}addPromise(e){if(null==e)return e;const t=++this._handleId;this.addHandles((0,r.kB)((()=>{this._pendingPromises.delete(e)&&(0!==this._pendingPromises.size||this.hasHandles(c)||this._set("updating",!1))})),t),this._pendingPromises.add(e),this._set("updating",!0);const s=()=>this.removeHandles(t);return e.then(s,s),e}removeAll(){this._pendingPromises.clear(),this.removeAllHandles(),this._set("updating",!1)}_installWatch(e,t,s={},i){const n=++this._handleId;s.sync||this._installSyncUpdatingWatch(e,n);const o=i(e,t,s);return this.addHandles(o,n),(0,r.kB)((()=>this.removeHandles(n)))}_installSyncUpdatingWatch(e,t){const s=this._createSyncUpdatingCallback(),i=(0,o.YP)(e,s,{sync:!0,equals:()=>!1});return this.addHandles(i,t),i}_createSyncUpdatingCallback(){return()=>{this.removeHandles(c),++this._scheduleHandleId;const e=this._scheduleHandleId;this._get("updating")||this._set("updating",!0),this.addHandles((0,a.Os)((()=>{e===this._scheduleHandleId&&(this._set("updating",this._pendingPromises.size>0),this.removeHandles(c))})),c)}}};(0,i._)([(0,l.Cb)({readOnly:!0})],u.prototype,"updating",void 0),u=(0,i._)([(0,h.j)("esri.core.support.UpdatingHandles")],u);const c=-42},35463:(e,t,s)=>{s.d(t,{JE:()=>o,Nm:()=>r,rJ:()=>a}),s(80442);const i={milliseconds:1,seconds:1e3,minutes:6e4,hours:36e5,days:864e5,weeks:6048e5,months:26784e5,years:31536e6,decades:31536e7,centuries:31536e8},n={milliseconds:{getter:"getMilliseconds",setter:"setMilliseconds",multiplier:1},seconds:{getter:"getSeconds",setter:"setSeconds",multiplier:1},minutes:{getter:"getMinutes",setter:"setMinutes",multiplier:1},hours:{getter:"getHours",setter:"setHours",multiplier:1},days:{getter:"getDate",setter:"setDate",multiplier:1},weeks:{getter:"getDate",setter:"setDate",multiplier:7},months:{getter:"getMonth",setter:"setMonth",multiplier:1},years:{getter:"getFullYear",setter:"setFullYear",multiplier:1},decades:{getter:"getFullYear",setter:"setFullYear",multiplier:10},centuries:{getter:"getFullYear",setter:"setFullYear",multiplier:100}};function r(e,t,s){const i=new Date(e.getTime());if(t&&s){const e=n[s],{getter:r,setter:o,multiplier:a}=e;if("months"===s){const e=function(e,t){const s=new Date(e,t+1,1);return s.setDate(0),s.getDate()}(i.getFullYear(),i.getMonth()+t);i.getDate()>e&&i.setDate(e)}i[o](i[r]()+t*a)}return i}function o(e,t){switch(t){case"milliseconds":return new Date(e.getTime());case"seconds":return new Date(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds());case"minutes":return new Date(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes());case"hours":return new Date(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours());case"days":return new Date(e.getFullYear(),e.getMonth(),e.getDate());case"weeks":return new Date(e.getFullYear(),e.getMonth(),e.getDate()-e.getDay());case"months":return new Date(e.getFullYear(),e.getMonth(),1);case"years":return new Date(e.getFullYear(),0,1);case"decades":return new Date(e.getFullYear()-e.getFullYear()%10,0,1);case"centuries":return new Date(e.getFullYear()-e.getFullYear()%100,0,1);default:return new Date}}function a(e,t,s){return 0===e?0:e*i[t]/i[s]}},37549:(e,t,s)=>{s.d(t,{H:()=>a});var i=s(80442),n=s(24133),r=s(24470);const o={minX:0,minY:0,maxX:0,maxY:0};class a{constructor(){this._indexInvalid=!1,this._boundsToLoad=[],this._boundsById=new Map,this._idByBounds=new Map,this._index=new n.Q(9,(0,i.Z)("esri-csp-restrictions")?e=>({minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]}):["[0]","[1]","[2]","[3]"]),this._loadIndex=()=>{if(this._indexInvalid){const e=new Array(this._idByBounds.size);let t=0;this._idByBounds.forEach(((s,i)=>{e[t++]=i})),this._indexInvalid=!1,this._index.clear(),this._index.load(e)}else this._boundsToLoad.length&&(this._index.load(Array.from(new Set(this._boundsToLoad.filter((e=>this._idByBounds.has(e)))))),this._boundsToLoad.length=0)}}get fullBounds(){if(!this._boundsById.size)return null;const e=(0,r.cS)();for(const t of this._boundsById.values())t&&(e[0]=Math.min(t[0],e[0]),e[1]=Math.min(t[1],e[1]),e[2]=Math.max(t[2],e[2]),e[3]=Math.max(t[3],e[3]));return e}get valid(){return!this._indexInvalid}clear(){this._indexInvalid=!1,this._boundsToLoad.length=0,this._boundsById.clear(),this._idByBounds.clear(),this._index.clear()}delete(e){const t=this._boundsById.get(e);this._boundsById.delete(e),t&&(this._idByBounds.delete(t),this._indexInvalid||this._index.remove(t))}forEachInBounds(e,t){this._loadIndex(),function(e,t,s){(function(e){o.minX=e[0],o.minY=e[1],o.maxX=e[2],o.maxY=e[3]})(t),e.search(o,s)}(this._index,e,(e=>t(this._idByBounds.get(e))))}get(e){return this._boundsById.get(e)}has(e){return this._boundsById.has(e)}invalidateIndex(){this._indexInvalid||(this._indexInvalid=!0,this._boundsToLoad.length=0)}set(e,t){if(!this._indexInvalid){const t=this._boundsById.get(e);t&&(this._index.remove(t),this._idByBounds.delete(t))}this._boundsById.set(e,t),t&&(this._idByBounds.set(t,e),this._indexInvalid||(this._boundsToLoad.push(t),this._boundsToLoad.length>5e4&&this._loadIndex()))}}},57191:(e,t,s)=>{s.d(t,{Z:()=>g});var i=s(20102),n=s(32448),r=s(92604),o=s(60437),a=s(24470),l=s(98732),h=s(37549),u=s(29730),c=s(70272),d=s(5428);const _={getObjectId:e=>e.objectId,getAttributes:e=>e.attributes,getAttribute:(e,t)=>e.attributes[t],cloneWithGeometry:(e,t)=>new c.u_(t,e.attributes,null,e.objectId),getGeometry:e=>e.geometry,getCentroid:(e,t)=>(null==e.centroid&&(e.centroid=(0,u.Y)(new d.Z,e.geometry,t.hasZ,t.hasM)),e.centroid)};var f=s(11490);const p=(0,o.Ue)();class g{constructor(e){this.geometryInfo=e,this._boundsStore=new h.H,this._featuresById=new Map,this._markedIds=new Set,this.events=new n.Z,this.featureAdapter=_}get geometryType(){return this.geometryInfo.geometryType}get hasM(){return this.geometryInfo.hasM}get hasZ(){return this.geometryInfo.hasZ}get numFeatures(){return this._featuresById.size}get fullBounds(){return this._boundsStore.fullBounds}get storeStatistics(){let e=0;return this._featuresById.forEach((t=>{null!=t.geometry&&t.geometry.coords&&(e+=t.geometry.coords.length)})),{featureCount:this._featuresById.size,vertexCount:e/(this.hasZ?this.hasM?4:3:this.hasM?3:2)}}getFullExtent(e){if(null==this.fullBounds)return null;const[t,s,i,n]=this.fullBounds;return{xmin:t,ymin:s,xmax:i,ymax:n,spatialReference:(0,f.S2)(e)}}add(e){this._add(e),this._emitChanged()}addMany(e){for(const t of e)this._add(t);this._emitChanged()}clear(){this._featuresById.clear(),this._boundsStore.clear(),this._emitChanged()}removeById(e){const t=this._featuresById.get(e);return t?(this._remove(t),this._emitChanged(),t):null}removeManyById(e){this._boundsStore.invalidateIndex();for(const t of e){const e=this._featuresById.get(t);e&&this._remove(e)}this._emitChanged()}forEachBounds(e,t){for(const s of e){const e=this._boundsStore.get(s.objectId);e&&t((0,o.JR)(p,e))}}getFeature(e){return this._featuresById.get(e)}has(e){return this._featuresById.has(e)}forEach(e){this._featuresById.forEach((t=>e(t)))}forEachInBounds(e,t){this._boundsStore.forEachInBounds(e,(e=>{t(this._featuresById.get(e))}))}startMarkingUsedFeatures(){this._boundsStore.invalidateIndex(),this._markedIds.clear()}sweep(){let e=!1;this._featuresById.forEach(((t,s)=>{this._markedIds.has(s)||(e=!0,this._remove(t))})),this._markedIds.clear(),e&&this._emitChanged()}_emitChanged(){this.events.emit("changed",void 0)}_add(e){if(!e)return;const t=e.objectId;if(null==t)return void r.Z.getLogger("esri.layers.graphics.data.FeatureStore").error(new i.Z("featurestore:invalid-feature","feature id is missing",{feature:e}));const s=this._featuresById.get(t);let n;if(this._markedIds.add(t),s?(e.displayId=s.displayId,n=this._boundsStore.get(t),this._boundsStore.delete(t)):null!=this.onFeatureAdd&&this.onFeatureAdd(e),null==e.geometry||!e.geometry.coords||!e.geometry.coords.length)return this._boundsStore.set(t,null),void this._featuresById.set(t,e);n=(0,l.$)(null!=n?n:(0,a.Ue)(),e.geometry,this.geometryInfo.hasZ,this.geometryInfo.hasM),null!=n&&this._boundsStore.set(t,n),this._featuresById.set(t,e)}_remove(e){null!=this.onFeatureRemove&&this.onFeatureRemove(e);const t=e.objectId;return this._markedIds.delete(t),this._boundsStore.delete(t),this._featuresById.delete(t),e}}},39450:(e,t,s)=>{s.d(t,{Z:()=>u});var i,n=s(43697),r=s(96674),o=s(5600),a=s(75215),l=(s(67676),s(80442),s(52011));let h=i=class extends r.wq{constructor(e){super(e),this.cols=null,this.level=0,this.levelValue=null,this.origin=null,this.resolution=0,this.rows=null,this.scale=0}clone(){return new i({cols:this.cols,level:this.level,levelValue:this.levelValue,resolution:this.resolution,rows:this.rows,scale:this.scale})}};(0,n._)([(0,o.Cb)({json:{write:!0,origins:{"web-document":{read:!1,write:!1},"portal-item":{read:!1,write:!1}}}})],h.prototype,"cols",void 0),(0,n._)([(0,o.Cb)({type:a.z8,json:{write:!0}})],h.prototype,"level",void 0),(0,n._)([(0,o.Cb)({type:String,json:{write:!0}})],h.prototype,"levelValue",void 0),(0,n._)([(0,o.Cb)({json:{write:!0,origins:{"web-document":{read:!1,write:!1},"portal-item":{read:!1,write:!1}}}})],h.prototype,"origin",void 0),(0,n._)([(0,o.Cb)({type:Number,json:{write:!0}})],h.prototype,"resolution",void 0),(0,n._)([(0,o.Cb)({json:{write:!0,origins:{"web-document":{read:!1,write:!1},"portal-item":{read:!1,write:!1}}}})],h.prototype,"rows",void 0),(0,n._)([(0,o.Cb)({type:Number,json:{write:!0}})],h.prototype,"scale",void 0),h=i=(0,n._)([(0,l.j)("esri.layers.support.LOD")],h);const u=h},11145:(e,t,s)=>{s.d(t,{Z:()=>C});var i,n=s(43697),r=s(35454),o=s(96674),a=s(67900),l=s(5600),h=s(75215),u=(s(67676),s(80442),s(71715)),c=s(52011),d=s(30556),_=s(94139),f=s(82971),p=s(24470),g=s(8744),m=s(40488),y=s(39450),v=s(43077);const E=new r.X({PNG:"png",PNG8:"png8",PNG24:"png24",PNG32:"png32",JPEG:"jpg",JPG:"jpg",DIB:"dib",TIFF:"tiff",EMF:"emf",PS:"ps",PDF:"pdf",GIF:"gif",SVG:"svg",SVGZ:"svgz",Mixed:"mixed",MIXED:"mixed",LERC:"lerc",LERC2D:"lerc2d",RAW:"raw",pbf:"pbf"});let b=i=class extends o.wq{static create(e={}){const{resolutionFactor:t=1,scales:s,size:n=256,spatialReference:r=f.Z.WebMercator,numLODs:o=24}=e;if(!(0,g.JY)(r)){const e=[];if(s)for(let t=0;t<s.length;t++){const i=s[t];e.push(new y.Z({level:t,scale:i,resolution:i}))}else{let t=5e-4;for(let s=o-1;s>=0;s--)e.unshift(new y.Z({level:s,scale:t,resolution:t})),t*=2}return new i({dpi:96,lods:e,origin:new _.Z(0,0,r),size:[n,n],spatialReference:r})}const l=(0,g.C5)(r),h=e.origin?new _.Z({x:e.origin.x,y:e.origin.y,spatialReference:r}):new _.Z(l?{x:l.origin[0],y:l.origin[1],spatialReference:r}:{x:0,y:0,spatialReference:r}),u=1/(39.37*(0,a.c9)(r)*96),c=[];if(s)for(let e=0;e<s.length;e++){const t=s[e],i=t*u;c.push(new y.Z({level:e,scale:t,resolution:i}))}else{let e=(0,g.sT)(r)?512/n*591657527.5917094:256/n*591657527.591555;const s=Math.ceil(o/t);c.push(new y.Z({level:0,scale:e,resolution:e*u}));for(let i=1;i<s;i++){const s=e/2**t,n=s*u;c.push(new y.Z({level:i,scale:s,resolution:n})),e=s}}return new i({dpi:96,lods:c,origin:h,size:[n,n],spatialReference:r})}constructor(e){super(e),this.dpi=96,this.format=null,this.origin=null,this.size=null,this.spatialReference=null}get isWrappable(){const{spatialReference:e,origin:t}=this;if(e&&t){const s=(0,g.C5)(e);return e.isWrappable&&!!s&&Math.abs(s.origin[0]-t.x)<=s.dx}return!1}readOrigin(e,t){return _.Z.fromJSON({spatialReference:t.spatialReference,...e})}set lods(e){let t=0,s=0;const i=[],n=this._levelToLOD={};e&&(t=-1/0,s=1/0,e.forEach((e=>{i.push(e.scale),t=e.scale>t?e.scale:t,s=e.scale<s?e.scale:s,n[e.level]=e}))),this._set("scales",i),this._set("lods",e),this._initializeUpsampleLevels()}readSize(e,t){return[t.cols,t.rows]}writeSize(e,t){t.cols=e[0],t.rows=e[1]}zoomToScale(e){const t=this.scales;if(e<=0)return t[0];if(e>=t.length-1)return t[t.length-1];const s=Math.floor(e),i=s+1;return t[s]/(t[s]/t[i])**(e-s)}scaleToZoom(e){const t=this.scales,s=t.length-1;let i=0;for(;i<s;i++){const s=t[i],n=t[i+1];if(s<=e)return i;if(n===e)return i+1;if(s>e&&n<e)return i+Math.log(s/e)/Math.log(s/n)}return i}snapScale(e,t=.95){const s=this.scaleToZoom(e);return s%Math.floor(s)>=t?this.zoomToScale(Math.ceil(s)):this.zoomToScale(Math.floor(s))}tileAt(e,t,s,i){const n=this.lodAt(e);if(!n)return null;let r,o;if("number"==typeof t)r=t,o=s;else if((0,g.fS)(t.spatialReference,this.spatialReference))r=t.x,o=t.y,i=s;else{const e=(0,m.iV)(t,this.spatialReference);if(null==e)return null;r=e.x,o=e.y,i=s}const a=n.resolution*this.size[0],l=n.resolution*this.size[1];return i||(i=new v.f(null,0,0,0,(0,p.Ue)())),i.level=e,i.row=Math.floor((this.origin.y-o)/l+.001),i.col=Math.floor((r-this.origin.x)/a+.001),this.updateTileInfo(i),i}updateTileInfo(e,t=i.ExtrapolateOptions.NONE){let s=this.lodAt(e.level);if(!s&&t===i.ExtrapolateOptions.POWER_OF_TWO){const t=this.lods[this.lods.length-1];t.level<e.level&&(s=t)}if(!s)return;const n=e.level-s.level,r=s.resolution*this.size[0]/2**n,o=s.resolution*this.size[1]/2**n;e.id=`${e.level}/${e.row}/${e.col}`,e.extent||(e.extent=(0,p.Ue)()),e.extent[0]=this.origin.x+e.col*r,e.extent[1]=this.origin.y-(e.row+1)*o,e.extent[2]=e.extent[0]+r,e.extent[3]=e.extent[1]+o}upsampleTile(e){const t=this._upsampleLevels[e.level];return!(!t||-1===t.parentLevel||(e.level=t.parentLevel,e.row=Math.floor(e.row/t.factor+.001),e.col=Math.floor(e.col/t.factor+.001),this.updateTileInfo(e),0))}getTileBounds(e,t){const s=this.lodAt(t.level);if(null==s)return null;const{resolution:i}=s,n=i*this.size[0],r=i*this.size[1];return e[0]=this.origin.x+t.col*n,e[1]=this.origin.y-(t.row+1)*r,e[2]=e[0]+n,e[3]=e[1]+r,e}lodAt(e){return this._levelToLOD?.[e]??null}clone(){return i.fromJSON(this.write({}))}getOrCreateCompatible(e,t){if(256===this.size[0]&&256===this.size[1])return 256===e?this:null;const s=[],n=this.lods.length;for(let e=0;e<n;e++){const i=this.lods[e],n=i.resolution*t;s.push(new y.Z({level:i.level,scale:i.scale,resolution:n}))}return new i({size:[e,e],dpi:this.dpi,format:this.format,compressionQuality:this.compressionQuality,origin:this.origin,spatialReference:this.spatialReference,lods:s})}_initializeUpsampleLevels(){const e=this.lods;this._upsampleLevels=[];let t=null;for(let s=0;s<e.length;s++){const i=e[s];this._upsampleLevels[i.level]={parentLevel:t?t.level:-1,factor:t?t.resolution/i.resolution:0},t=i}}};var x,w;(0,n._)([(0,l.Cb)({type:Number,json:{write:!0}})],b.prototype,"compressionQuality",void 0),(0,n._)([(0,l.Cb)({type:Number,json:{write:!0}})],b.prototype,"dpi",void 0),(0,n._)([(0,l.Cb)({type:String,json:{read:E.read,write:E.write,origins:{"web-scene":{read:!1,write:!1}}}})],b.prototype,"format",void 0),(0,n._)([(0,l.Cb)({readOnly:!0})],b.prototype,"isWrappable",null),(0,n._)([(0,l.Cb)({type:_.Z,json:{write:!0}})],b.prototype,"origin",void 0),(0,n._)([(0,u.r)("origin")],b.prototype,"readOrigin",null),(0,n._)([(0,l.Cb)({type:[y.Z],value:null,json:{write:!0}})],b.prototype,"lods",null),(0,n._)([(0,l.Cb)({readOnly:!0})],b.prototype,"scales",void 0),(0,n._)([(0,l.Cb)({cast:e=>Array.isArray(e)?e:"number"==typeof e?[e,e]:[256,256]})],b.prototype,"size",void 0),(0,n._)([(0,u.r)("size",["rows","cols"])],b.prototype,"readSize",null),(0,n._)([(0,d.c)("size",{cols:{type:h.z8},rows:{type:h.z8}})],b.prototype,"writeSize",null),(0,n._)([(0,l.Cb)({type:f.Z,json:{write:!0}})],b.prototype,"spatialReference",void 0),b=i=(0,n._)([(0,c.j)("esri.layers.support.TileInfo")],b),x=b||(b={}),(w=x.ExtrapolateOptions||(x.ExtrapolateOptions={}))[w.NONE=0]="NONE",w[w.POWER_OF_TWO=1]="POWER_OF_TWO";const C=b},43077:(e,t,s)=>{s.d(t,{f:()=>i});class i{constructor(e,t,s,i,n=void 0){this.id=e,this.level=t,this.row=s,this.col=i,this.extent=n}}},99282:(e,t,s)=>{s.d(t,{a:()=>r});var i=s(67900),n=s(68441);const r={unknown:1,inches:(0,i.En)(1,"meters","inches"),feet:(0,i.En)(1,"meters","feet"),"us-feet":(0,i.En)(1,"meters","us-feet"),yards:(0,i.En)(1,"meters","yards"),miles:(0,i.En)(1,"meters","miles"),"nautical-miles":(0,i.En)(1,"meters","nautical-miles"),millimeters:(0,i.En)(1,"meters","millimeters"),centimeters:(0,i.En)(1,"meters","centimeters"),decimeters:(0,i.En)(1,"meters","decimeters"),meters:(0,i.En)(1,"meters","meters"),kilometers:(0,i.En)(1,"meters","kilometers"),"decimal-degrees":1/(0,i.ty)(1,"meters",n.sv.radius)}},28694:(e,t,s)=>{s.d(t,{p:()=>n});var i=s(69285);function n(e,t,s){if(!s||!s.features||!s.hasZ)return;const n=(0,i.k)(s.geometryType,t,e.outSpatialReference);if(null!=n)for(const e of s.features)n(e.geometry)}},86787:(e,t,s)=>{s.d(t,{Z:()=>E});var i,n=s(43697),r=s(35454),o=s(96674),a=s(70586),l=s(5600),h=(s(75215),s(67676),s(80442),s(71715)),u=s(52011),c=s(30556),d=s(35671);let _=i=class extends o.wq{constructor(e){super(e)}async collectRequiredFields(e,t){return(0,d.io)(e,t,this.expression)}clone(){return new i({expression:this.expression,title:this.title})}equals(e){return this.expression===e.expression&&this.title===e.title}};(0,n._)([(0,l.Cb)({type:String,json:{write:!0}})],_.prototype,"expression",void 0),(0,n._)([(0,l.Cb)({type:String,json:{write:!0}})],_.prototype,"title",void 0),_=i=(0,n._)([(0,u.j)("esri.layers.support.FeatureExpressionInfo")],_);const f=_;var p,g=s(12541);const m=(0,r.w)()({onTheGround:"on-the-ground",relativeToGround:"relative-to-ground",relativeToScene:"relative-to-scene",absoluteHeight:"absolute-height"}),y=new r.X({foot:"feet",kilometer:"kilometers",meter:"meters",mile:"miles","us-foot":"us-feet",yard:"yards"});let v=p=class extends o.wq{constructor(e){super(e),this.offset=null}readFeatureExpressionInfo(e,t){return null!=e?e:t.featureExpression&&0===t.featureExpression.value?{expression:"0"}:void 0}writeFeatureExpressionInfo(e,t,s,i){t[s]=e.write({},i),"0"===e.expression&&(t.featureExpression={value:0})}get mode(){const{offset:e,featureExpressionInfo:t}=this;return this._isOverridden("mode")?this._get("mode"):null!=e||t?"relative-to-ground":"on-the-ground"}set mode(e){this._override("mode",e)}set unit(e){this._set("unit",e)}write(e,t){return this.offset||this.mode||this.featureExpressionInfo||this.unit?super.write(e,t):null}clone(){return new p({mode:this.mode,offset:this.offset,featureExpressionInfo:this.featureExpressionInfo?this.featureExpressionInfo.clone():void 0,unit:this.unit})}equals(e){return this.mode===e.mode&&this.offset===e.offset&&this.unit===e.unit&&(0,a._W)(this.featureExpressionInfo,e.featureExpressionInfo)}};(0,n._)([(0,l.Cb)({type:f,json:{write:!0}})],v.prototype,"featureExpressionInfo",void 0),(0,n._)([(0,h.r)("featureExpressionInfo",["featureExpressionInfo","featureExpression"])],v.prototype,"readFeatureExpressionInfo",null),(0,n._)([(0,c.c)("featureExpressionInfo",{featureExpressionInfo:{type:f},"featureExpression.value":{type:[0]}})],v.prototype,"writeFeatureExpressionInfo",null),(0,n._)([(0,l.Cb)({type:m.apiValues,nonNullable:!0,json:{type:m.jsonValues,read:m.read,write:{writer:m.write,isRequired:!0}}})],v.prototype,"mode",null),(0,n._)([(0,l.Cb)({type:Number,json:{write:!0}})],v.prototype,"offset",void 0),(0,n._)([(0,l.Cb)({type:g.f9,json:{type:String,read:y.read,write:y.write}})],v.prototype,"unit",null),v=p=(0,n._)([(0,u.j)("esri.layers.support.ElevationInfo")],v);const E=v},12541:(e,t,s)=>{s.d(t,{Z7:()=>n,f9:()=>r});var i=s(99282);function n(e){return 1/(i.a[e]||1)}const r=function(){const e=Object.keys(i.a);return e.sort(),e}()},65967:(e,t,s)=>{s.r(t),s.d(t,{default:()=>ve});var i=s(43697),n=s(32448),r=s(95330),o=s(17445),a=s(5600),l=(s(75215),s(67676)),h=(s(80442),s(52011)),u=s(19402),c=s(82971),d=s(57191),_=s(64106),f=s(11145),p=s(14165),g=s(86787),m=s(13867),y=s(30175),v=s(67900),E=s(12541);function b(e=!1,t){if(e){const{elevationInfo:e,alignPointsInFeatures:s,spatialReference:i}=t;return new w(e,s,i)}return new x}class x{async alignCandidates(e,t){return e}notifyElevationSourceChange(){}}class w{constructor(e,t,s){this._elevationInfo=e,this._alignPointsInFeatures=t,this.spatialReference=s,this._alignmentsCache=new m.z(1024),this._cacheVersion=0,this._metersPerVerticalUnit=(0,v._R)(s)}async alignCandidates(e,t){const s=this._elevationInfo;return null==s||"absolute-height"!==s.mode||s.featureExpressionInfo?this._alignComputedElevationCandidates(e,t):(this._alignAbsoluteElevationCandidates(e,s),e)}notifyElevationSourceChange(){this._alignmentsCache.clear(),this._cacheVersion++}_alignAbsoluteElevationCandidates(e,t){const{offset:s,unit:i}=t;if(null==s)return;const n=s*((0,E.Z7)(i??"meters")/this._metersPerVerticalUnit);for(const t of e)switch(t.type){case"edge":t.start.z+=n,t.end.z+=n;continue;case"vertex":t.target.z+=n;continue}}async _alignComputedElevationCandidates(e,t){const s=new Map;for(const t of e)(0,y.s1)(s,t.objectId,S).push(t);const[i,n,o]=this._prepareQuery(s),a=await this._alignPointsInFeatures(i,t);if((0,r.k_)(t),o!==this._cacheVersion)return this._alignComputedElevationCandidates(e,t);this._applyCacheAndResponse(i,a,n);const{drapedObjectIds:l,failedObjectIds:h}=a,u=[];for(const t of e){const{objectId:e}=t;l.has(e)&&"edge"===t.type&&(t.draped=!0),h.has(e)||u.push(t)}return u}_prepareQuery(e){const t=[],s=[];for(const[i,n]of e){const e=[];for(const t of n)this._addToQueriesOrCachedResult(i,t.target,e,s),"edge"===t.type&&(this._addToQueriesOrCachedResult(i,t.start,e,s),this._addToQueriesOrCachedResult(i,t.end,e,s));0!==e.length&&t.push({objectId:i,points:e})}return[t,s,this._cacheVersion]}_addToQueriesOrCachedResult(e,t,s,i){const n=F(e,t),r=this._alignmentsCache.get(n);null==r?s.push(t):i.push(new C(t,r))}_applyCacheAndResponse(e,{elevations:t,drapedObjectIds:s,failedObjectIds:i},n){for(const e of n)e.apply();let r=0;const o=this._alignmentsCache;for(const{objectId:n,points:a}of e){if(i.has(n)){r+=a.length;continue}const e=!s.has(n);for(const s of a){const i=F(n,s),a=t[r++];s.z=a,e&&o.put(i,a,1)}}}}class C{constructor(e,t){this.point=e,this.z=t}apply(){this.point.z=this.z}}function F(e,{x:t,y:s,z:i}){return`${e}-${t}-${s}-${i??0}}`}function S(){return[]}class T{filter(e,t){return t}notifyElevationSourceChange(){}}class I{filter(e,t){const{point:s,distance:i}=e,{z:n}=s;if(null==n)return t;if(0===t.length)return t;const r=function(e){return"number"==typeof e?{x:e,y:e,z:e}:e}(i),o=this._updateCandidatesTo3D(t,s,r).filter(z);return o.sort(R),o}_updateCandidatesTo3D(e,t,s){for(const i of e)switch(i.type){case"edge":A(i,t,s);continue;case"vertex":O(i,t,s);continue}return e}}function z(e){return e.distance<=1}function M(e=!1){return e?new I:new T}function A(e,t,{x:s,y:i,z:n}){const{start:r,end:o,target:a}=e;e.draped||function(e,t,s,i){const n=i.x-s.x,r=i.y-s.y,o=i.z-s.z,a=n*n+r*r+o*o,l=(t.x-s.x)*n+(t.y-s.y)*r+o*(t.z-s.z),h=Math.min(1,Math.max(0,l/a)),u=s.x+n*h,c=s.y+r*h,d=s.z+o*h;e.x=u,e.y=c,e.z=d}(a,t,r,o);const l=(t.x-a.x)/s,h=(t.y-a.y)/i,u=(t.z-a.z)/n;e.distance=Math.sqrt(l*l+h*h+u*u)}function O(e,t,{x:s,y:i,z:n}){const{target:r}=e,o=(t.x-r.x)/s,a=(t.y-r.y)/i,l=(t.z-r.z)/n,h=Math.sqrt(o*o+a*a+l*l);e.distance=h}function R(e,t){return e.distance-t.distance}var B=s(22974),D=s(19153);function P(e=!1,t){return e?new j(t):new H}class H{async fetch(){return[]}notifySymbologyChange(){}}class j{constructor(e){this._getSymbologyCandidates=e,this._candidatesCache=new m.z(1024),this._cacheVersion=0}async fetch(e,t){if(0===e.length)return[];const s=[],i=[],n=this._candidatesCache;for(const t of e){const e=N(t),r=n.get(e);if(r)for(const e of r)i.push((0,B.d9)(e));else s.push(t),n.put(e,[],1)}if(0===s.length)return i;const o=this._cacheVersion,{candidates:a,sourceCandidateIndices:l}=await this._getSymbologyCandidates(s,t);if((0,r.k_)(t),o!==this._cacheVersion)return this.fetch(e,t);const h=[],{length:u}=a;for(let e=0;e<u;++e){const t=a[e],i=N(s[l[e]]),r=n.get(i);r.push(t),n.put(i,r,r.length),h.push((0,B.d9)(t))}return i.concat(h)}notifySymbologyChange(){this._candidatesCache.clear(),this._cacheVersion++}}function N(e){switch(e.type){case"vertex":{const{objectId:t,target:s}=e,i=`${t}-vertex-${s.x}-${s.y}-${s.z??0}`;return(0,D.hP)(i).toString()}case"edge":{const{objectId:t,start:s,end:i}=e,n=`${t}-edge-${s.x}-${s.y}-${s.z??0}-to-${i.x}-${i.y}-${i.z??0}`;return(0,D.hP)(n).toString()}default:return""}}var k=s(92036);let Z=class extends k.Z{constructor(){super(...arguments),this.updating=!1,this._pending=[]}push(e,t){this._pending.push({promise:e,callback:t}),1===this._pending.length&&this._process()}_process(){if(!this._pending.length)return void(this.updating=!1);this.updating=!0;const e=this._pending[0];e.promise.then((t=>e.callback(t))).catch((()=>{})).then((()=>{this._pending.shift(),this._process()}))}};(0,i._)([(0,a.Cb)()],Z.prototype,"updating",void 0),Z=(0,i._)([(0,h.j)("esri.core.AsyncSequence")],Z);var Y,L=s(66643),U=s(50758),X=s(92604),q=s(6570),V=s(24470),J=s(98732),W=s(66677),G=s(78760),$=s(34599);class Q{constructor(e,t){this.data=e,this.resolution=t,this.state={type:Y.CREATED},this.alive=!0}process(e){switch(this.state.type){case Y.CREATED:return this.state=this._gotoFetchCount(this.state,e),this.state.task.promise.then(e.resume,e.resume);case Y.FETCH_COUNT:break;case Y.FETCHED_COUNT:return this.state=this._gotoFetchFeatures(this.state,e),this.state.task.promise.then(e.resume,e.resume);case Y.FETCH_FEATURES:break;case Y.FETCHED_FEATURES:this.state=this._goToDone(this.state,e);case Y.DONE:}return null}get debugInfo(){return{data:this.data,featureCount:this._featureCount,state:this._stateToString}}get _featureCount(){switch(this.state.type){case Y.CREATED:case Y.FETCH_COUNT:return 0;case Y.FETCHED_COUNT:return this.state.featureCount;case Y.FETCH_FEATURES:return this.state.previous.featureCount;case Y.FETCHED_FEATURES:return this.state.features.length;case Y.DONE:return this.state.previous.features.length}}get _stateToString(){switch(this.state.type){case Y.CREATED:return"created";case Y.FETCH_COUNT:return"fetch-count";case Y.FETCHED_COUNT:return"fetched-count";case Y.FETCH_FEATURES:return"fetch-features";case Y.FETCHED_FEATURES:return"fetched-features";case Y.DONE:return"done"}}_gotoFetchCount(e,t){return{type:Y.FETCH_COUNT,previous:e,task:(0,L.vr)((async e=>{const s=await(0,L.mt)(t.fetchCount(this,e));this.state.type===Y.FETCH_COUNT&&(this.state=this._gotoFetchedCount(this.state,s.ok?s.value:1/0))}))}}_gotoFetchedCount(e,t){return{type:Y.FETCHED_COUNT,featureCount:t,previous:e}}_gotoFetchFeatures(e,t){return{type:Y.FETCH_FEATURES,previous:e,task:(0,L.vr)((async s=>{const i=await(0,L.mt)(t.fetchFeatures(this,e.featureCount,s));this.state.type===Y.FETCH_FEATURES&&(this.state=this._gotoFetchedFeatures(this.state,i.ok?i.value:[]))}))}}_gotoFetchedFeatures(e,t){return{type:Y.FETCHED_FEATURES,previous:e,features:t}}_goToDone(e,t){return t.finish(this,e.features),{type:Y.DONE,previous:e}}reset(){const e=this.state;switch(this.state={type:Y.CREATED},e.type){case Y.CREATED:case Y.FETCHED_COUNT:case Y.FETCHED_FEATURES:case Y.DONE:break;case Y.FETCH_COUNT:case Y.FETCH_FEATURES:e.task.abort()}}intersects(e){return null==e||!this.data.extent||((0,V.oJ)(e,K),(0,V.kK)(this.data.extent,K))}}!function(e){e[e.CREATED=0]="CREATED",e[e.FETCH_COUNT=1]="FETCH_COUNT",e[e.FETCHED_COUNT=2]="FETCHED_COUNT",e[e.FETCH_FEATURES=3]="FETCH_FEATURES",e[e.FETCHED_FEATURES=4]="FETCHED_FEATURES",e[e.DONE=5]="DONE"}(Y||(Y={}));const K=(0,V.Ue)();let ee=class extends k.Z{get _minimumVerticesPerFeature(){switch(this.store?.featureStore.geometryType){case"esriGeometryPoint":case"esriGeometryMultipoint":return 1;case"esriGeometryPolygon":return 4;case"esriGeometryPolyline":return 2}}set filter(e){const t=this._get("filter"),s=this._filterProperties(e);JSON.stringify(t)!==JSON.stringify(s)&&this._set("filter",s)}set customParameters(e){const t=this._get("customParameters");JSON.stringify(t)!==JSON.stringify(e)&&this._set("customParameters",e)}get _configuration(){return{filter:this.filter,customParameters:this.customParameters,tileInfo:this.tileInfo,tileSize:this.tileSize}}set tileInfo(e){const t=this._get("tileInfo");t!==e&&(null!=e&&null!=t&&JSON.stringify(e)===JSON.stringify(t)||(this._set("tileInfo",e),this.store.tileInfo=e))}set tileSize(e){this._get("tileSize")!==e&&this._set("tileSize",e)}get updating(){return this.updatingExcludingEdits||this._pendingEdits.updating}get updatingExcludingEdits(){return this._updatingHandles.updating}get hasZ(){return this.store.featureStore.hasZ}constructor(e){super(e),this.tilesOfInterest=[],this.availability=0,this._pendingTiles=new Map,this._updatingHandles=new u.R,this._pendingEdits=new Z,this._pendingEditsAbortController=new AbortController}initialize(){this._initializeFetchExtent(),this._updatingHandles.add((()=>this._configuration),(()=>this.refresh())),this._updatingHandles.add((()=>this.tilesOfInterest),((e,t)=>{(0,l.fS)(e,t,(({id:e},{id:t})=>e===t))||this._process()}),o.Z_)}destroy(){this._pendingTiles.forEach((e=>this._deletePendingTile(e))),this._pendingTiles.clear(),this.store.destroy(),this.tilesOfInterest.length=0,this._pendingEditsAbortController.abort(),this._pendingEditsAbortController=null,this._updatingHandles.destroy()}refresh(){this.store.refresh(),this._pendingTiles.forEach((e=>this._deletePendingTile(e))),this._process()}applyEdits(e){this._pendingEdits.push(e,(async e=>{if(0===e.addedFeatures.length&&0===e.updatedFeatures.length&&0===e.deletedFeatures.length)return;for(const[,e]of this._pendingTiles)e.reset();const t={...e,deletedFeatures:e.deletedFeatures.map((({objectId:e,globalId:t})=>e&&-1!==e?e:this._lookupObjectIdByGlobalId(t)))};await this._updatingHandles.addPromise(this.store.processEdits(t,((e,t)=>this._queryFeaturesById(e,t)),this._pendingEditsAbortController.signal)),this._processPendingTiles()}))}_initializeFetchExtent(){if(!this.capabilities.query.supportsExtent||!(0,W.M8)(this.url))return;const e=(0,L.vr)((async e=>{try{const t=await(0,$.Vr)(this.url,new p.Z({where:"1=1",outSpatialReference:this.spatialReference,cacheHint:this.capabilities.query.supportsCacheHint??void 0}),{query:this._configuration.customParameters,signal:e});this.store.extent=q.Z.fromJSON(t.data?.extent)}catch(e){(0,r.r9)(e),X.Z.getLogger(this).warn("Failed to fetch data extent",e)}}));this._updatingHandles.addPromise(e.promise.then((()=>this._process()))),this.addHandles((0,U.kB)((()=>e.abort())))}get debugInfo(){return{numberOfFeatures:this.store.featureStore.numFeatures,tilesOfInterest:this.tilesOfInterest,pendingTiles:Array.from(this._pendingTiles.values()).map((e=>e.debugInfo)),storedTiles:this.store.debugInfo}}_process(){this._markTilesNotAlive(),this._createPendingTiles(),this._deletePendingTiles(),this._processPendingTiles()}_markTilesNotAlive(){for(const[,e]of this._pendingTiles)e.alive=!1}_createPendingTiles(){const e=this._collectMissingTilesInfo();if(this._setAvailability(null==e?1:e.coveredArea/e.fullArea),null!=e)for(const{data:t,resolution:s}of e.missingTiles){const e=this._pendingTiles.get(t.id);e?(e.resolution=s,e.alive=!0):this._createPendingTile(t,s)}}_collectMissingTilesInfo(){let e=null;for(let t=this.tilesOfInterest.length-1;t>=0;t--){const s=this.tilesOfInterest[t],i=this.store.process(s,((e,t)=>this._verifyTileComplexity(e,t)));null==e?e=i:e.prepend(i)}return e}_deletePendingTiles(){for(const[,e]of this._pendingTiles)e.alive||this._deletePendingTile(e)}_processPendingTiles(){const e={fetchCount:(e,t)=>this._fetchCount(e,t),fetchFeatures:(e,t,s)=>this._fetchFeatures(e,t,s),finish:(e,t)=>this._finishPendingTile(e,t),resume:()=>this._processPendingTiles()};if(this._ensureFetchAllCounts(e))for(const[,t]of this._pendingTiles)this._verifyTileComplexity(this.store.getFeatureCount(t.data),t.resolution)&&this._updatingHandles.addPromise(t.process(e))}_verifyTileComplexity(e,t){return this._verifyVertexComplexity(e)&&this._verifyFeatureDensity(e,t)}_verifyVertexComplexity(e){return e*this._minimumVerticesPerFeature<ie}_verifyFeatureDensity(e,t){if(null==this.tileInfo)return!1;const s=this.tileSize*t;return e*(ne/(s*s))<re}_ensureFetchAllCounts(e){let t=!0;for(const[,s]of this._pendingTiles)s.state.type<Y.FETCHED_COUNT&&this._updatingHandles.addPromise(s.process(e)),s.state.type<=Y.FETCH_COUNT&&(t=!1);return t}_finishPendingTile(e,t){this.store.add(e.data,t),this._deletePendingTile(e),this._updateAvailability()}_updateAvailability(){const e=this._collectMissingTilesInfo();this._setAvailability(null==e?1:e.coveredArea/e.fullArea)}_setAvailability(e){this._set("availability",e)}_createPendingTile(e,t){const s=new Q(e,t);return this._pendingTiles.set(e.id,s),s}_deletePendingTile(e){e.reset(),this._pendingTiles.delete(e.data.id)}async _fetchCount(e,t){return this.store.fetchCount(e.data,this.url,this._createCountQuery(e),{query:this.customParameters,timeout:se,signal:t})}async _fetchFeatures(e,t,s){let i=0;const n=[];let r=0,o=t;for(;;){const a=this._createFeaturesQuery(e),l=this._setPagingParameters(a,i,o),{features:h,exceededTransferLimit:u}=await this._queryFeatures(a,s);l&&(i+=a.num),r+=h.length;for(const e of h)n.push(e);if(o=t-r,!l||!u||o<=0)return n}}_filterProperties(e){return null==e?{where:"1=1",gdbVersion:void 0,timeExtent:void 0}:{where:e.where||"1=1",timeExtent:e.timeExtent,gdbVersion:e.gdbVersion}}_lookupObjectIdByGlobalId(e){const t=this.globalIdField,s=this.objectIdField;if(null==t)throw new Error("Expected globalIdField to be defined");let i=null;if(this.store.featureStore.forEach((n=>{e===n.attributes[t]&&(i=n.objectId??n.attributes[s])})),null==i)throw new Error(`Expected to find a feature with globalId ${e}`);return i}_queryFeaturesById(e,t){const s=this._createFeaturesQuery();return s.objectIds=e,this._queryFeatures(s,t)}_queryFeatures(e,t){return this.capabilities.query.supportsFormatPBF?this._queryFeaturesPBF(e,t):this._queryFeaturesJSON(e,t)}async _queryFeaturesPBF(e,t){const{sourceSpatialReference:s}=this,{data:i}=await(0,$.qp)(this.url,e,new G.J({sourceSpatialReference:s}),{query:this._configuration.customParameters,timeout:se,signal:t});return(0,J.lM)(i)}async _queryFeaturesJSON(e,t){const{sourceSpatialReference:s}=this,{data:i}=await(0,$.JT)(this.url,e,s,{query:this._configuration.customParameters,timeout:se,signal:t});return(0,J.h_)(i,this.objectIdField)}_createCountQuery(e){const t=this._createBaseQuery(e);return this.capabilities.query.supportsCacheHint&&(t.cacheHint=!0),t}_createFeaturesQuery(e=null){const t=this._createBaseQuery(e);return t.outFields=this.globalIdField?[this.globalIdField,this.objectIdField]:[this.objectIdField],t.returnGeometry=!0,null!=e&&(this.capabilities.query.supportsResultType?t.resultType="tile":this.capabilities.query.supportsCacheHint&&(t.cacheHint=!0)),t}_createBaseQuery(e){const t=new p.Z({returnZ:this.hasZ,returnM:!1,geometry:null!=this.tileInfo&&null!=e?(0,V.HH)(e.data.extent,this.tileInfo.spatialReference):void 0}),s=this._configuration.filter;return null!=s&&(t.where=s.where,t.gdbVersion=s.gdbVersion,t.timeExtent=s.timeExtent),t.outSpatialReference=this.spatialReference,t}_setPagingParameters(e,t,s){if(!this.capabilities.query.supportsPagination)return!1;const{supportsMaxRecordCountFactor:i,supportsCacheHint:n,tileMaxRecordCount:r,maxRecordCount:o,supportsResultType:a}=this.capabilities.query,l=i?p.Z.MAX_MAX_RECORD_COUNT_FACTOR:1,h=l*((a||n)&&r?r:o||te);return e.start=t,i?(e.maxRecordCountFactor=Math.min(l,Math.ceil(s/h)),e.num=Math.min(s,e.maxRecordCountFactor*h)):e.num=Math.min(s,h),!0}};(0,i._)([(0,a.Cb)({constructOnly:!0})],ee.prototype,"url",void 0),(0,i._)([(0,a.Cb)({constructOnly:!0})],ee.prototype,"objectIdField",void 0),(0,i._)([(0,a.Cb)({constructOnly:!0})],ee.prototype,"globalIdField",void 0),(0,i._)([(0,a.Cb)({constructOnly:!0})],ee.prototype,"capabilities",void 0),(0,i._)([(0,a.Cb)({constructOnly:!0})],ee.prototype,"sourceSpatialReference",void 0),(0,i._)([(0,a.Cb)({constructOnly:!0})],ee.prototype,"spatialReference",void 0),(0,i._)([(0,a.Cb)({constructOnly:!0})],ee.prototype,"store",void 0),(0,i._)([(0,a.Cb)({readOnly:!0})],ee.prototype,"_minimumVerticesPerFeature",null),(0,i._)([(0,a.Cb)()],ee.prototype,"filter",null),(0,i._)([(0,a.Cb)()],ee.prototype,"customParameters",null),(0,i._)([(0,a.Cb)({readOnly:!0})],ee.prototype,"_configuration",null),(0,i._)([(0,a.Cb)()],ee.prototype,"tileInfo",null),(0,i._)([(0,a.Cb)()],ee.prototype,"tileSize",null),(0,i._)([(0,a.Cb)()],ee.prototype,"tilesOfInterest",void 0),(0,i._)([(0,a.Cb)({readOnly:!0})],ee.prototype,"updating",null),(0,i._)([(0,a.Cb)({readOnly:!0})],ee.prototype,"updatingExcludingEdits",null),(0,i._)([(0,a.Cb)({readOnly:!0})],ee.prototype,"availability",void 0),(0,i._)([(0,a.Cb)()],ee.prototype,"hasZ",null),ee=(0,i._)([(0,h.j)("esri.views.interactive.snapping.featureSources.featureServiceSource.FeatureServiceTiledFetcher")],ee);const te=2e3,se=6e5,ie=1e6,ne=25,re=1;var oe=s(43090),ae=s(91303),le=s(37549),he=s(43077);class ue{constructor(){this._store=new Map,this._byteSize=0}set(e,t){this.delete(e),this._store.set(e,t),this._byteSize+=t.byteSize}delete(e){const t=this._store.get(e);return!!this._store.delete(e)&&(null!=t&&(this._byteSize-=t.byteSize),!0)}get(e){return this._used(e),this._store.get(e)}has(e){return this._used(e),this._store.has(e)}clear(){this._store.clear()}applyByteSizeLimit(e,t){for(const[s,i]of this._store){if(this._byteSize<=e)break;this.delete(s),t(i)}}values(){return this._store.values()}[Symbol.iterator](){return this._store[Symbol.iterator]()}_used(e){const t=this._store.get(e);t&&(this._store.delete(e),this._store.set(e,t))}}let ce=class extends k.Z{constructor(e){super(e),this.tileInfo=null,this.extent=null,this.maximumByteSize=10*ae.Y.MEGABYTES,this._tileBounds=new le.H,this._tiles=new ue,this._refCounts=new Map,this._tileFeatureCounts=new Map,this._tmpBoundingRect=(0,V.Ue)()}add(e,t){const s=[];for(const e of t)this._referenceFeature(e.objectId)===me.ADDED&&s.push(e);this._addTileStorage(e,new Set(t.map((e=>e.objectId))),function(e){return e.reduce(((e,t)=>e+function(e){return 32+function(e){if(null==e)return 0;const t=(0,oe.do)(e.lengths,4);return 32+(0,oe.do)(e.coords,8)+t}(e.geometry)+(0,oe.f2)(e.attributes)}(t)),0)}(t)),this.featureStore.addMany(s),this._tiles.applyByteSizeLimit(this.maximumByteSize,(e=>this._removeTileStorage(e)))}destroy(){this.clear(),this._tileFeatureCounts.clear()}clear(){this.featureStore.clear(),this._tileBounds.clear(),this._tiles.clear(),this._refCounts.clear()}refresh(){this.clear(),this._tileFeatureCounts.clear()}processEdits(e,t,s){return this._processEditsDelete(e.deletedFeatures.concat(e.updatedFeatures)),this._processEditsRefetch(e.addedFeatures.concat(e.updatedFeatures),t,s)}_addTileStorage(e,t,s){const i=e.id;this._tiles.set(i,new de(e,t,s)),this._tileBounds.set(i,e.extent),this._tileFeatureCounts.set(i,t.size)}_remove({id:e}){const t=this._tiles.get(e);t&&this._removeTileStorage(t)}_removeTileStorage(e){const t=[];for(const s of e.objectIds)this._unreferenceFeature(s)===me.REMOVED&&t.push(s);this.featureStore.removeManyById(t);const s=e.data.id;this._tiles.delete(s),this._tileBounds.delete(s)}_processEditsDelete(e){this.featureStore.removeManyById(e);for(const[,t]of this._tiles){for(const s of e)t.objectIds.delete(s);this._tileFeatureCounts.set(t.data.id,t.objectIds.size)}for(const t of e)this._refCounts.delete(t)}async _processEditsRefetch(e,t,s){const i=(await t(e,s)).features,{hasZ:n,hasM:r}=this.featureStore;for(const e of i){const t=(0,J.$)(this._tmpBoundingRect,e.geometry,n,r);null!=t&&this._tileBounds.forEachInBounds(t,(t=>{const s=this._tiles.get(t);this.featureStore.add(e);const i=e.objectId;s.objectIds.has(i)||(s.objectIds.add(i),this._referenceFeature(i),this._tileFeatureCounts.set(s.data.id,s.objectIds.size))}))}}process(e,t=(()=>!0)){if(null==this.tileInfo||!e.extent||null!=this.extent&&!(0,V.kK)((0,V.oJ)(this.extent,this._tmpBoundingRect),e.extent))return new fe(e);if(this._tiles.has(e.id))return new fe(e);const s=this._createTileTree(e,this.tileInfo);return this._simplify(s,t,null,0,1),this._collectMissingTiles(e,s,this.tileInfo)}get debugInfo(){return Array.from(this._tiles.values()).map((({data:e})=>({data:e,featureCount:this._tileFeatureCounts.get(e.id)||0})))}getFeatureCount(e){return this._tileFeatureCounts.get(e.id)??0}async fetchCount(e,t,s,i){const n=this._tileFeatureCounts.get(e.id);if(null!=n)return n;const r=await(0,$.hH)(t,s,i);return this._tileFeatureCounts.set(e.id,r.data.count),r.data.count}_createTileTree(e,t){const s=new _e(e.level,e.row,e.col);return t.updateTileInfo(s,f.Z.ExtrapolateOptions.POWER_OF_TWO),this._tileBounds.forEachInBounds(e.extent,(i=>{const n=this._tiles.get(i)?.data;n&&this._tilesAreRelated(e,n)&&this._populateChildren(s,n,t,this._tileFeatureCounts.get(n.id)||0)})),s}_tilesAreRelated(e,t){if(!e||!t)return!1;if(e.level===t.level)return e.row===t.row&&e.col===t.col;const s=e.level<t.level,i=s?e:t,n=s?t:e,r=1<<n.level-i.level;return Math.floor(n.row/r)===i.row&&Math.floor(n.col/r)===i.col}_populateChildren(e,t,s,i){const n=t.level-e.level-1;if(n<0)return void(e.isLeaf=!0);const r=t.row>>n,o=t.col>>n,a=e.row<<1,l=o-(e.col<<1)+(r-a<<1),h=e.children[l];if(null!=h)this._populateChildren(h,t,s,i);else{const n=new _e(e.level+1,r,o);s.updateTileInfo(n,f.Z.ExtrapolateOptions.POWER_OF_TWO),e.children[l]=n,this._populateChildren(n,t,s,i)}}_simplify(e,t,s,i,n){const r=n*n;if(e.isLeaf)return t(this.getFeatureCount(e),n)?0:(this._remove(e),null!=s&&(s.children[i]=null),r);const o=n/2,a=o*o;let l=0;for(let s=0;s<e.children.length;s++){const i=e.children[s];l+=null!=i?this._simplify(i,t,e,s,o):a}return 0===l?this._mergeChildren(e):1-l/r<ge&&(this._purge(e),null!=s&&(s.children[i]=null),l=r),l}_mergeChildren(e){const t=new Set;let s=0;this._forEachLeaf(e,(e=>{const i=this._tiles.get(e.id);if(i){s+=i.byteSize;for(const e of i.objectIds)t.has(e)||(t.add(e),this._referenceFeature(e));this._remove(e)}})),this._addTileStorage(e,t,s),e.isLeaf=!0,e.children[0]=e.children[1]=e.children[2]=e.children[3]=null,this._tileFeatureCounts.set(e.id,t.size)}_forEachLeaf(e,t){for(const s of e.children)null!=s&&(s.isLeaf?t(s):this._forEachLeaf(s,t))}_purge(e){if(null!=e)if(e.isLeaf)this._remove(e);else for(let t=0;t<e.children.length;t++){const s=e.children[t];this._purge(s),e.children[t]=null}}_collectMissingTiles(e,t,s){const i=new pe(s,e,this.extent);return this._collectMissingTilesRecurse(t,i,1),i.info}_collectMissingTilesRecurse(e,t,s){if(e.isLeaf)return;if(!e.hasChildren)return void t.addMissing(e.level,e.row,e.col,s);const i=s/2;for(let s=0;s<e.children.length;s++){const n=e.children[s];null==n?t.addMissing(e.level+1,(e.row<<1)+((2&s)>>1),(e.col<<1)+(1&s),i):this._collectMissingTilesRecurse(n,t,i)}}_referenceFeature(e){const t=(this._refCounts.get(e)||0)+1;return this._refCounts.set(e,t),1===t?me.ADDED:me.UNCHANGED}_unreferenceFeature(e){const t=(this._refCounts.get(e)||0)-1;return 0===t?(this._refCounts.delete(e),me.REMOVED):(t>0&&this._refCounts.set(e,t),me.UNCHANGED)}get test(){return{tiles:Array.from(this._tiles.values()).map((e=>`${e.data.id}:[${Array.from(e.objectIds)}]`)),featureReferences:Array.from(this._refCounts.keys()).map((e=>`${e}:${this._refCounts.get(e)}`))}}};(0,i._)([(0,a.Cb)({constructOnly:!0})],ce.prototype,"featureStore",void 0),(0,i._)([(0,a.Cb)()],ce.prototype,"tileInfo",void 0),(0,i._)([(0,a.Cb)()],ce.prototype,"extent",void 0),(0,i._)([(0,a.Cb)()],ce.prototype,"maximumByteSize",void 0),ce=(0,i._)([(0,h.j)("esri.views.interactive.snapping.featureSources.featureServiceSource.FeatureServiceTileStore")],ce);class de{constructor(e,t,s){this.data=e,this.objectIds=t,this.byteSize=s}}class _e{constructor(e,t,s){this.level=e,this.row=t,this.col=s,this.isLeaf=!1,this.extent=null,this.children=[null,null,null,null]}get hasChildren(){return!this.isLeaf&&(null!=this.children[0]||null!=this.children[1]||null!=this.children[2]||null!=this.children[3])}}class fe{constructor(e,t=[]){this.missingTiles=t,this.fullArea=0,this.coveredArea=0,this.fullArea=(0,V.SO)(e.extent),this.coveredArea=this.fullArea}prepend(e){this.missingTiles=e.missingTiles.concat(this.missingTiles),this.coveredArea+=e.coveredArea,this.fullArea+=e.fullArea}}class pe{constructor(e,t,s){this._tileInfo=e,this._extent=null,this.info=new fe(t),null!=s&&(this._extent=(0,V.oJ)(s))}addMissing(e,t,s,i){const n=new he.f(null,e,t,s);this._tileInfo.updateTileInfo(n,f.Z.ExtrapolateOptions.POWER_OF_TWO),null==n.extent||null!=this._extent&&!(0,V.kK)(this._extent,n.extent)||(this.info.missingTiles.push({data:n,resolution:i}),this.info.coveredArea-=(0,V.SO)(n.extent))}}const ge=.18751;var me;!function(e){e[e.ADDED=0]="ADDED",e[e.REMOVED=1]="REMOVED",e[e.UNCHANGED=2]="UNCHANGED"}(me||(me={}));let ye=class extends n.Z.EventedAccessor{constructor(){super(...arguments),this._isInitializing=!0,this.remoteClient=null,this._whenSetup=(0,r.hh)(),this._elevationAligner=b(),this._elevationFilter=M(),this._symbologyCandidatesFetcher=P(),this._updatingHandles=new u.R,this._editsUpdatingHandles=new u.R,this._pendingApplyEdits=new Map,this._alignPointsInFeatures=async(e,t)=>{const s={points:e},i=await this.remoteClient.invoke("alignElevation",s,{signal:t});return(0,r.k_)(t),i},this._getSymbologyCandidates=async(e,t)=>{const s={candidates:e,spatialReference:this._spatialReference.toJSON()},i=await this.remoteClient.invoke("getSymbologyCandidates",s,{signal:t});return(0,r.k_)(t),i}}get updating(){return this.updatingExcludingEdits||this._editsUpdatingHandles.updating||this._featureFetcher.updating}get updatingExcludingEdits(){return this._featureFetcher.updatingExcludingEdits||this._isInitializing||this._updatingHandles.updating}destroy(){this._featureFetcher?.destroy(),this._queryEngine?.destroy(),this._featureStore?.clear()}async setup(e){if(this.destroyed)return{result:{}};const{geometryType:t,objectIdField:s,timeInfo:i,fields:n}=e.serviceInfo,{hasZ:r}=e,a=c.Z.fromJSON(e.spatialReference);this._spatialReference=a,this._featureStore=new d.Z({...e.serviceInfo,hasZ:r,hasM:!1}),this._queryEngine=new _.q({spatialReference:e.spatialReference,featureStore:this._featureStore,geometryType:t,fields:n,hasZ:r,hasM:!1,objectIdField:s,timeInfo:i}),this._featureFetcher=new ee({store:new ce({featureStore:this._featureStore}),url:e.serviceInfo.url,objectIdField:e.serviceInfo.objectIdField,globalIdField:e.serviceInfo.globalIdField,capabilities:e.serviceInfo.capabilities,spatialReference:a,sourceSpatialReference:c.Z.fromJSON(e.serviceInfo.spatialReference)});const l="3d"===e.configuration.viewType;return this._elevationAligner=b(l,{elevationInfo:null!=e.elevationInfo?g.Z.fromJSON(e.elevationInfo):null,alignPointsInFeatures:this._alignPointsInFeatures,spatialReference:a}),this._elevationFilter=M(l),this.addHandles([(0,o.YP)((()=>this._featureFetcher.availability),(e=>this.emit("notify-availability",{availability:e})),o.Z_),(0,o.YP)((()=>this.updating),(()=>this._notifyUpdating()))]),this._whenSetup.resolve(),this._isInitializing=!1,this.configure(e.configuration)}async configure(e){return await this._updatingHandles.addPromise(this._whenSetup.promise),this._updateFeatureFetcherConfiguration(e),{result:{}}}async fetchCandidates(e,t){await this._whenSetup.promise,(0,r.k_)(t);const s=function(e){return{point:e.point,mode:e.mode,distance:e.distance,returnEdge:e.returnEdge,returnVertex:e.returnVertex,query:null!=e.filter?e.filter:{where:"1=1"}}}(e),i=null!=t?t.signal:null,n=await this._queryEngine.executeQueryForSnapping(s,i);(0,r.k_)(i);const o=await this._elevationAligner.alignCandidates(n.candidates,i);(0,r.k_)(i);const a=await this._symbologyCandidatesFetcher.fetch(o,i);(0,r.k_)(i);const l=0===a.length?o:o.concat(a);return{result:{candidates:this._elevationFilter.filter(s,l)}}}async updateTiles(e,t){return await this._updatingHandles.addPromise(this._whenSetup.promise),(0,r.k_)(t),this._featureFetcher.tileSize=e.tileSize,this._featureFetcher.tilesOfInterest=e.tiles,this._featureFetcher.tileInfo=null!=e.tileInfo?f.Z.fromJSON(e.tileInfo):null,Ee}async refresh(e,t){return await this._updatingHandles.addPromise(this._whenSetup.promise),(0,r.k_)(t),this._featureFetcher.refresh(),Ee}async whenNotUpdating(e,t){return await this._updatingHandles.addPromise(this._whenSetup.promise),(0,r.k_)(t),await(0,o.N1)((()=>!this.updatingExcludingEdits),t),(0,r.k_)(t),Ee}async getDebugInfo(e,t){return(0,r.k_)(t),{result:this._featureFetcher.debugInfo}}async beginApplyEdits(e,t){this._updatingHandles.addPromise(this._whenSetup.promise),(0,r.k_)(t);const s=(0,r.hh)();return this._pendingApplyEdits.set(e.id,s),this._featureFetcher.applyEdits(s.promise),this._editsUpdatingHandles.addPromise(s.promise),Ee}async endApplyEdits(e,t){const s=this._pendingApplyEdits.get(e.id);return s&&s.resolve(e.edits),(0,r.k_)(t),Ee}async notifyElevationSourceChange(e,t){return this._elevationAligner.notifyElevationSourceChange(),Ee}async notifySymbologyChange(e,t){return this._symbologyCandidatesFetcher.notifySymbologyChange(),Ee}async setSymbologySnappingSupported(e){return this._symbologyCandidatesFetcher=P(e,this._getSymbologyCandidates),Ee}_updateFeatureFetcherConfiguration(e){this._featureFetcher.filter=null!=e.filter?p.Z.fromJSON(e.filter):null,this._featureFetcher.customParameters=e.customParameters}_notifyUpdating(){this.emit("notify-updating",{updating:this.updating})}};(0,i._)([(0,a.Cb)({readOnly:!0})],ye.prototype,"updating",null),(0,i._)([(0,a.Cb)({readOnly:!0})],ye.prototype,"updatingExcludingEdits",null),(0,i._)([(0,a.Cb)()],ye.prototype,"_isInitializing",void 0),ye=(0,i._)([(0,h.j)("esri.views.interactive.snapping.featureSources.featureServiceSource.FeatureServiceSnappingSourceWorker")],ye);const ve=ye,Ee={result:{}}}}]);