@arcgis/core 4.34.0-next.24 → 4.34.0-next.26

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 (384) hide show
  1. package/Basemap.js +1 -1
  2. package/analysis/VolumeMeasurement/CutFillOptions.d.ts +4 -0
  3. package/analysis/VolumeMeasurement/CutFillOptions.js +1 -1
  4. package/analysis/VolumeMeasurementAnalysis.js +1 -1
  5. package/applications/Components/imageryUtils.d.ts +7 -0
  6. package/applications/Components/imageryUtils.js +5 -0
  7. package/assets/esri/core/workers/RemoteClient.js +1 -1
  8. package/assets/esri/core/workers/chunks/{0867aa688fa8938906da.js → 03bef3f4b6b09b1e864b.js} +1 -1
  9. package/assets/esri/core/workers/chunks/03ee4d63aa8de44958ab.js +1 -0
  10. package/assets/esri/core/workers/chunks/06cdbccc9f325dcc303d.js +1 -0
  11. package/assets/esri/core/workers/chunks/09618761df5c4fdd52a0.js +1 -0
  12. package/assets/esri/core/workers/chunks/0ae00339991f5387203e.js +1 -0
  13. package/assets/esri/core/workers/chunks/0b4b294f3ce74fde5620.js +1 -0
  14. package/assets/esri/core/workers/chunks/{146520d263b910b5bdc7.js → 0e96a3b7228f1ff8e6c5.js} +1 -1
  15. package/assets/esri/core/workers/chunks/109ef17dd4f9430bb686.js +1 -0
  16. package/assets/esri/core/workers/chunks/1597aca21334cab3b802.js +1 -0
  17. package/assets/esri/core/workers/chunks/196564ad230bef6b59cf.js +1 -0
  18. package/assets/esri/core/workers/chunks/19f8d551cbebc11db1eb.js +1 -0
  19. package/assets/esri/core/workers/chunks/1ceee047e3fa617b0600.js +1 -0
  20. package/assets/esri/core/workers/chunks/1d27701832ea139fcc20.js +1 -0
  21. package/assets/esri/core/workers/chunks/1f296f85becf1ca6714d.js +1 -0
  22. package/assets/esri/core/workers/chunks/1f8d7bd44d53c30df383.js +1 -0
  23. package/assets/esri/core/workers/chunks/1fabb5ec59da698c1618.js +1 -0
  24. package/assets/esri/core/workers/chunks/{919d2fd7ebc0c840a759.js → 219b2911668db120452b.js} +1 -1
  25. package/assets/esri/core/workers/chunks/21a8ae88cfa644a30058.js +1 -0
  26. package/assets/esri/core/workers/chunks/2b4b073254fe8b6a081c.js +1 -0
  27. package/assets/esri/core/workers/chunks/2c2128201c80a1b1aeb6.js +1 -0
  28. package/assets/esri/core/workers/chunks/2d3679289b34b7da6bf4.js +1 -0
  29. package/assets/esri/core/workers/chunks/30293b88501b5d6162fc.js +1 -0
  30. package/assets/esri/core/workers/chunks/31533f5e8b76b307f61c.js +1 -0
  31. package/assets/esri/core/workers/chunks/347117e61e1c6edd074f.js +1 -0
  32. package/assets/esri/core/workers/chunks/3616eb2607843524483f.js +1 -0
  33. package/assets/esri/core/workers/chunks/36648facd56ee91afc7c.js +1 -0
  34. package/assets/esri/core/workers/chunks/394477e88be0c6790f02.js +1 -0
  35. package/assets/esri/core/workers/chunks/3b80b01551d124534a1b.js +1 -0
  36. package/assets/esri/core/workers/chunks/{89d91ce2f566dd3f57f7.js → 3be9ec0503a669bcfce6.js} +1 -1
  37. package/assets/esri/core/workers/chunks/3c9cf06ac6aa1db6c4f6.js +1 -0
  38. package/assets/esri/core/workers/chunks/40fc7c43feaeef8b814d.js +1 -0
  39. package/assets/esri/core/workers/chunks/42cddc8f8c8d73e22ee2.js +1 -0
  40. package/assets/esri/core/workers/chunks/437a4100a837ee16df7c.js +1 -0
  41. package/assets/esri/core/workers/chunks/472c677a74d779ce62d7.js +1 -0
  42. package/assets/esri/core/workers/chunks/4ce671bc4d36387b55fa.js +1 -0
  43. package/assets/esri/core/workers/chunks/4de6c479df609398dee0.js +1 -0
  44. package/assets/esri/core/workers/chunks/51cfa2f70ec222e1582b.js +1 -0
  45. package/assets/esri/core/workers/chunks/5284d46aecd6fe0345b8.js +1 -0
  46. package/assets/esri/core/workers/chunks/567385709e18ace93b1e.js +1 -0
  47. package/assets/esri/core/workers/chunks/{4c2f3e43992a918e4c2d.js → 5ef3256c32c4b622bd11.js} +1 -1
  48. package/assets/esri/core/workers/chunks/{55e9b02d70812f7cdac2.js → 63966066a963e9a1fb14.js} +1 -1
  49. package/assets/esri/core/workers/chunks/63f50ff2ae94f684d56b.js +1 -0
  50. package/assets/esri/core/workers/chunks/6b6ab092f578b20c8e56.js +1 -0
  51. package/assets/esri/core/workers/chunks/6deaa08e3a61a455e564.js +1 -0
  52. package/assets/esri/core/workers/chunks/6e9b4bfe2a1497c96100.js +1 -0
  53. package/assets/esri/core/workers/chunks/6efc3d120c9c2c09cb06.js +1 -0
  54. package/assets/esri/core/workers/chunks/7338ce95bceb2c7fab87.js +1 -0
  55. package/assets/esri/core/workers/chunks/7359652de3d7f969a712.js +1 -0
  56. package/assets/esri/core/workers/chunks/{c64fa94cba71ba2794e2.js → 771012f129890f9a089c.js} +1 -1
  57. package/assets/esri/core/workers/chunks/{d1b363c418a67b087306.js → 780ff9314f26ae62f75f.js} +1 -1
  58. package/assets/esri/core/workers/chunks/{04c17957c15234ca0321.js → 7b736885278af9676f3a.js} +1 -1
  59. package/assets/esri/core/workers/chunks/8161b0a674ef9bf536a2.js +1 -0
  60. package/assets/esri/core/workers/chunks/820cf4337b248a0cb63c.js +1 -0
  61. package/assets/esri/core/workers/chunks/{fedbf639a0788417a70f.js → 86abfce1f2ac93cc4d54.js} +1 -1
  62. package/assets/esri/core/workers/chunks/{c94cc026c4ed330408fb.js → 8894483b91bcda845b6f.js} +1 -1
  63. package/assets/esri/core/workers/chunks/{f050ab9d100012b77bb9.js → 8c5b1114cc2a58305a81.js} +1 -1
  64. package/assets/esri/core/workers/chunks/908ec8165d567f052155.js +1 -0
  65. package/assets/esri/core/workers/chunks/{97324f030738fc0d456b.js → 9182fe69b9863e1de714.js} +1 -1
  66. package/assets/esri/core/workers/chunks/91e6030a2845f5404e82.js +1 -0
  67. package/assets/esri/core/workers/chunks/9511e55e4fabb3235eac.js +1 -0
  68. package/assets/esri/core/workers/chunks/9d85e20a3d6ca1161c26.js +1 -0
  69. package/assets/esri/core/workers/chunks/9f8341caab3b1d02f387.js +1 -0
  70. package/assets/esri/core/workers/chunks/a08d018d8c137fc4ca17.js +1 -0
  71. package/assets/esri/core/workers/chunks/a19689f8d1ef48fd2159.js +1 -0
  72. package/assets/esri/core/workers/chunks/{7051bcc178eb512819f6.js → a55338add265d330124b.js} +1 -1
  73. package/assets/esri/core/workers/chunks/a8f37681f8f6feebbd50.js +1 -0
  74. package/assets/esri/core/workers/chunks/{6ca764b4baadef5c1515.js → aeedc543320ee307d14a.js} +1 -1
  75. package/assets/esri/core/workers/chunks/afe4fd3b1b3521712edd.js +1 -0
  76. package/assets/esri/core/workers/chunks/b3794c513a13facc98d3.js +1 -0
  77. package/assets/esri/core/workers/chunks/{9991bd3c7991bffd8260.js → b37f3c416cefc1a6ea2c.js} +1 -1
  78. package/assets/esri/core/workers/chunks/bb50b4a3af627f91d789.js +1 -0
  79. package/assets/esri/core/workers/chunks/{f42155b7a4e6c5e80757.js → bbc2a4976d044b990193.js} +1 -1
  80. package/assets/esri/core/workers/chunks/bbf2c31d217de1b8ba6e.js +1 -0
  81. package/assets/esri/core/workers/chunks/be3977f7fe0c46a1b493.js +1 -0
  82. package/assets/esri/core/workers/chunks/befba7ceeb26a38732c1.js +1 -0
  83. package/assets/esri/core/workers/chunks/bf3fc71881aa559fc931.js +1 -0
  84. package/assets/esri/core/workers/chunks/c1fb5290e0e259b74389.js +1 -0
  85. package/assets/esri/core/workers/chunks/c361bf4d41a1843d4640.js +1 -0
  86. package/assets/esri/core/workers/chunks/c51099eab5a99c88e5de.js +1 -0
  87. package/assets/esri/core/workers/chunks/{909a6218db87cba2c9ba.js → c6c0263fbcf2ca245c1b.js} +3 -3
  88. package/assets/esri/core/workers/chunks/c6c3e703b18e1bb7113a.js +1 -0
  89. package/assets/esri/core/workers/chunks/c82e78590c2fabc67609.js +1 -0
  90. package/assets/esri/core/workers/chunks/{7d7f8f2936ddee65e3da.js → c9e580867f7ac17be329.js} +1 -1
  91. package/assets/esri/core/workers/chunks/d29ae64703a947bfb83b.js +1 -0
  92. package/assets/esri/core/workers/chunks/de1457b07f4e263f1524.js +1 -0
  93. package/assets/esri/core/workers/chunks/{6bf43bc3714d7b3878fa.js → e547318638c8f496c1a0.js} +1 -1
  94. package/assets/esri/core/workers/chunks/{53781ccca16e53d4a8c3.js → f291ccf9da6aa7d7ae23.js} +1 -1
  95. package/assets/esri/core/workers/chunks/f5ee10a8afb7f70833bb.js +346 -0
  96. package/assets/esri/core/workers/chunks/f61a8cc7e2b198e521ba.js +1 -0
  97. package/assets/esri/core/workers/chunks/f9442a281cb91c64c7cd.js +1 -0
  98. package/assets/esri/core/workers/chunks/{4f14e78d0560050c1a81.js → fa7243f080bcf6444929.js} +1 -1
  99. package/assets/esri/core/workers/chunks/{c3213b487c11076985af.js → fbf3240b36718fa5dc76.js} +1 -1
  100. package/assets/esri/rest/knowledgeGraph/wasmInterface/arcgis-knowledge-client-core-simd.wasm +0 -0
  101. package/assets/esri/rest/knowledgeGraph/wasmInterface/arcgis-knowledge-client-core.wasm +0 -0
  102. package/chunks/ComponentShader.glsl.js +36 -36
  103. package/chunks/RibbonLine.glsl.js +40 -33
  104. package/chunks/persistableUrlUtils.js +1 -1
  105. package/config.js +1 -1
  106. package/core/AsyncUpdate.js +1 -1
  107. package/core/Clonable.js +1 -1
  108. package/core/Evented.js +1 -1
  109. package/core/Identifiable.js +1 -1
  110. package/core/JSONSupport.js +1 -1
  111. package/core/Loadable.js +1 -1
  112. package/core/MapUtils.js +1 -1
  113. package/core/MemCache.js +1 -1
  114. package/core/MultiOriginJSONSupport.js +1 -1
  115. package/core/ObjectPool.js +1 -1
  116. package/core/PooledArray.js +1 -1
  117. package/core/Promise.js +1 -1
  118. package/core/ReadOnlyMultiOriginJSONSupport.js +1 -1
  119. package/core/heapSort.js +5 -0
  120. package/core/mathUtils.js +1 -1
  121. package/core/quantity.d.ts +1 -0
  122. package/geometry/support/buffer/BufferPool.js +1 -1
  123. package/geometry/support/meshUtils/loadGLTFMesh.js +1 -1
  124. package/interfaces.d.ts +202 -12
  125. package/kernel.js +1 -1
  126. package/layers/CatalogLayer.js +1 -1
  127. package/layers/FeatureLayer.js +1 -1
  128. package/layers/GeoJSONLayer.js +1 -1
  129. package/layers/SubtypeGroupLayer.js +1 -1
  130. package/layers/knowledgeGraph/KnowledgeGraphSublayerBase.js +1 -1
  131. package/layers/mixins/APIKeyMixin.js +1 -1
  132. package/layers/mixins/ArcGISCachedService.js +1 -1
  133. package/layers/mixins/ArcGISImageService.js +1 -1
  134. package/layers/mixins/ArcGISMapService.js +1 -1
  135. package/layers/mixins/ArcGISService.js +1 -1
  136. package/layers/mixins/BlendLayer.js +1 -1
  137. package/layers/mixins/CustomParametersMixin.js +1 -1
  138. package/layers/mixins/DisplayFilteredLayer.js +1 -1
  139. package/layers/mixins/EditBusLayer.js +1 -1
  140. package/layers/mixins/FeatureEffectLayer.js +1 -1
  141. package/layers/mixins/FeatureLayerBase.js +1 -1
  142. package/layers/mixins/FeatureReductionLayer.js +1 -1
  143. package/layers/mixins/ImageryTileMixin.js +1 -1
  144. package/layers/mixins/OperationalLayer.js +1 -1
  145. package/layers/mixins/OrderedLayer.js +1 -1
  146. package/layers/mixins/PortalLayer.js +1 -1
  147. package/layers/mixins/PublishableLayer.js +1 -1
  148. package/layers/mixins/RasterJobHandlerMixin.js +1 -1
  149. package/layers/mixins/RasterPresetRendererMixin.js +1 -1
  150. package/layers/mixins/RefreshableLayer.js +1 -1
  151. package/layers/mixins/ScaleRangeLayer.js +1 -1
  152. package/layers/mixins/SceneService.js +1 -1
  153. package/layers/mixins/SublayersOwner.js +1 -1
  154. package/layers/mixins/TemporalLayer.js +1 -1
  155. package/layers/mixins/TemporalSceneLayer.js +1 -1
  156. package/layers/mixins/TrackableLayer.js +1 -1
  157. package/layers/ogc/wfsUtils.js +1 -1
  158. package/layers/support/RasterJobHandler.js +1 -1
  159. package/layers/support/RasterWorker.js +1 -1
  160. package/layers/support/Sublayer.js +1 -1
  161. package/layers/support/arcgisLayerUrl.js +1 -1
  162. package/layers/support/multiLayerServiceUtils.js +1 -1
  163. package/layers/support/rasterDatasets/pixelReader.js +5 -0
  164. package/layers/support/rasterFormats/pixelRangeUtils.js +1 -1
  165. package/layers/support/rasterFunctions/pixelUtils.js +1 -1
  166. package/layers/support/rasterFunctions/stretchUtils.js +1 -1
  167. package/package.json +1 -1
  168. package/renderers/mixins/VisualVariablesMixin.js +1 -1
  169. package/rest/support/CameraInfoMixin.js +1 -1
  170. package/rest/support/NormalizationBinParametersMixin.js +1 -1
  171. package/smartMapping/renderers/color.js +1 -1
  172. package/smartMapping/renderers/heatmap.js +1 -1
  173. package/smartMapping/renderers/pieChart.js +1 -1
  174. package/smartMapping/renderers/size.js +1 -1
  175. package/smartMapping/renderers/support/regenerateUtils.js +1 -1
  176. package/smartMapping/renderers/support/rendererUtils.js +1 -1
  177. package/smartMapping/renderers/support/spikeUtils.js +1 -1
  178. package/smartMapping/renderers/type.js +1 -1
  179. package/smartMapping/symbology/color.js +1 -1
  180. package/smartMapping/symbology/support/utils.js +1 -1
  181. package/support/LayersMixin.js +1 -1
  182. package/support/TablesMixin.js +1 -1
  183. package/support/revision.js +1 -1
  184. package/symbols/support/utils.js +1 -1
  185. package/views/2d/engine/ParentChildStage.js +1 -1
  186. package/views/2d/engine/webgl/FeatureTile.js +1 -1
  187. package/views/2d/engine/webgl/VideoScreenRenderer.js +1 -1
  188. package/views/2d/engine/webgl/meshing/Mesh.js +1 -1
  189. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/MultiRasterMixin.js +1 -1
  190. package/views/2d/engine/webgl/shaderGraph/techniques/videoScreenRenderer/VideoScreenTechnique.js +1 -1
  191. package/views/2d/engine/webgl/shaderGraph/typed/TypedShaderProgram.js +1 -1
  192. package/views/2d/engine/webgl/textureUtils.js +1 -1
  193. package/views/2d/layers/BitmapTileLayerView2D.js +1 -1
  194. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  195. package/views/2d/layers/LayerView2D.js +1 -1
  196. package/views/2d/layers/MediaLayerView2D.js +1 -1
  197. package/views/2d/layers/TileLayerView2D.js +1 -1
  198. package/views/2d/layers/features/support/AttributeStore.js +1 -1
  199. package/views/2d/layers/support/DebugOverlay.js +1 -1
  200. package/views/2d/tiling/FeatureTileSubscriptionManager.js +1 -1
  201. package/views/3d/analysis/AnalysisView3D.js +1 -1
  202. package/views/3d/analysis/VolumeMeasurement/CutFillVolumeMeasurementController.js +5 -0
  203. package/views/3d/analysis/VolumeMeasurementAnalysisView3D.js +1 -1
  204. package/views/3d/glTF/DefaultLoadingContext.js +1 -1
  205. package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool.js +1 -1
  206. package/views/3d/layers/BuildingSublayerView3D.js +1 -1
  207. package/views/3d/layers/ElevationLayerView3D.js +1 -1
  208. package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
  209. package/views/3d/layers/FlowSubView3D.js +1 -1
  210. package/views/3d/layers/I3SMeshView3D.js +1 -1
  211. package/views/3d/layers/ImageryLayerView3D.js +1 -1
  212. package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
  213. package/views/3d/layers/LayerView3D.js +1 -1
  214. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  215. package/views/3d/layers/StreamLayerView3D.js +1 -1
  216. package/views/3d/layers/TiledLayerView3D.js +1 -1
  217. package/views/3d/layers/graphics/DeconflictAABR.js +1 -1
  218. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  219. package/views/3d/layers/graphics/Graphics3DWaterSymbolLayer.js +1 -1
  220. package/views/3d/layers/graphics/Labeler.js +1 -1
  221. package/views/3d/layers/graphics/StreamController.js +5 -0
  222. package/views/3d/layers/graphics/StreamGraphics3DGraphicsPipeline.js +1 -1
  223. package/views/3d/layers/graphics/defaultSymbolComplexity.js +1 -1
  224. package/views/3d/layers/graphics/wosrLoader.js +1 -1
  225. package/views/3d/layers/i3s/I3SIndex.js +1 -1
  226. package/views/3d/layers/i3s/I3SNodeLoader.js +1 -1
  227. package/views/3d/layers/support/DefinitionExpressionSceneLayerView.js +1 -1
  228. package/views/3d/layers/support/PopupSceneLayerView.js +1 -1
  229. package/views/3d/layers/support/TemporalSceneLayerView.js +1 -1
  230. package/views/3d/layers/support/fetchTile.js +1 -1
  231. package/views/3d/support/MemoryController.js +1 -1
  232. package/views/3d/support/ResourceController.js +1 -1
  233. package/views/3d/support/StreamDataLoader.js +1 -1
  234. package/views/3d/support/StreamDataRequester.js +5 -0
  235. package/views/3d/support/StreamTextureCollection.js +1 -1
  236. package/views/3d/support/engineContent/line.js +1 -1
  237. package/views/3d/support/flow/FlowSubViewExtent3D.js +1 -1
  238. package/views/3d/support/flow/FlowSubViewTiles3D.js +1 -1
  239. package/views/3d/support/flow/StreamlinesResources3D.js +1 -1
  240. package/views/3d/support/flow/geometryUtils.js +1 -1
  241. package/views/3d/support/index.js +1 -1
  242. package/views/3d/terrain/OverlayRenderer.js +1 -1
  243. package/views/3d/terrain/TerrainRenderer.js +1 -1
  244. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  245. package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentShader.glsl.js +1 -1
  246. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +3 -3
  247. package/views/3d/webgl-engine/lib/DrapedHeatmapRenderer.js +1 -1
  248. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  249. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  250. package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
  251. package/views/3d/webgl-engine/lib/VertexAttribute.js +1 -1
  252. package/views/3d/webgl-engine/materials/DefaultLayouts.js +1 -1
  253. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  254. package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
  255. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  256. package/views/3d/webgl-engine/shaders/AnimatedLine.glsl.js +17 -0
  257. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  258. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  259. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  260. package/views/BreakpointsOwner.js +1 -1
  261. package/views/DOMContainer.js +1 -1
  262. package/views/PopupView.js +1 -1
  263. package/views/VideoView.js +1 -1
  264. package/views/Viewport2DBaseMixin.js +1 -1
  265. package/views/Viewport2DMixin.js +1 -1
  266. package/views/draw/DrawGraphicTool.js +1 -1
  267. package/views/draw/DrawScreenTool.js +1 -1
  268. package/views/draw/DrawTool.js +1 -1
  269. package/views/interactive/tooltip/infos/TooltipInfoWithCoordinates.js +1 -1
  270. package/views/layers/CatalogDynamicGroupLayerView.js +1 -1
  271. package/views/layers/CatalogFootprintLayerView.js +1 -1
  272. package/views/layers/CatalogLayerView.js +1 -1
  273. package/views/layers/DimensionLayerView.js +1 -1
  274. package/views/layers/FeatureLayerView.js +1 -1
  275. package/views/layers/ImageryLayerView.js +1 -1
  276. package/views/layers/ImageryTileLayerView.js +1 -1
  277. package/views/layers/LineOfSightLayerView.js +1 -1
  278. package/views/layers/MapImageLayerView.js +1 -1
  279. package/views/layers/MediaLayerView.js +1 -1
  280. package/views/layers/OGCFeatureLayerView.js +1 -1
  281. package/views/layers/PointCloudLayerView.js +1 -1
  282. package/views/layers/RefreshableLayerView.js +1 -1
  283. package/views/layers/StreamLayerView.js +1 -1
  284. package/views/layers/ViewshedLayerView.js +1 -1
  285. package/views/layers/WMSLayerView.js +1 -1
  286. package/views/support/Scheduler.js +1 -1
  287. package/views/video/VideoOperationalDataView.js +1 -1
  288. package/views/webgl/BufferObject.js +1 -1
  289. package/views/webgl/Program.js +1 -1
  290. package/views/webgl/Renderbuffer.js +1 -1
  291. package/views/webgl/Texture.js +1 -1
  292. package/views/webgl/Util.js +1 -1
  293. package/webscene/SunLighting.js +1 -1
  294. package/webscene/VirtualLighting.js +1 -1
  295. package/widgets/BasemapGallery/support/PortalBasemapsSource.js +1 -1
  296. package/widgets/Directions/DirectionsSearchTool.js +1 -1
  297. package/widgets/Editor/EditorViewModel.js +1 -1
  298. package/widgets/Editor/UpdateFeaturesWorkflow.js +1 -1
  299. package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
  300. package/widgets/Feature/FeatureExpression/FeatureExpressionViewModel.js +1 -1
  301. package/widgets/Feature/support/FeatureContentMixin.js +1 -1
  302. package/widgets/Feature/support/arcadeFeatureUtils.js +1 -1
  303. package/widgets/FeatureTable/support/EditableColumnTemplateMixin.js +1 -1
  304. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  305. package/widgets/OrientedImageryViewer/mixins/ImageMeasurementMixin.js +1 -1
  306. package/widgets/OrientedImageryViewer/mixins/SketchHandlerMixin.js +1 -1
  307. package/widgets/OrientedImageryViewer/mixins/TriangulatedImageMeasurementMixin.js +1 -1
  308. package/widgets/OrientedImageryViewer/mixins/TriangulatedSketchHandlerMixin.js +1 -1
  309. package/widgets/PanoramicViewer/PanoramicViewerViewModel.js +1 -1
  310. package/widgets/PanoramicViewer/PanoramicZoomConditions.js +1 -1
  311. package/widgets/PanoramicViewer.js +1 -1
  312. package/widgets/Sketch/support/ResponsiveToolbar/ToolbarGroupBase.js +1 -1
  313. package/widgets/support/GoTo.js +1 -1
  314. package/assets/esri/core/workers/chunks/0202c2ac73354e3970b2.js +0 -1
  315. package/assets/esri/core/workers/chunks/02dc6e31b1244e5bb785.js +0 -1
  316. package/assets/esri/core/workers/chunks/080c79d6caca3b6a2db2.js +0 -1
  317. package/assets/esri/core/workers/chunks/084236ca316aad980192.js +0 -1
  318. package/assets/esri/core/workers/chunks/0b484224a92b52c34330.js +0 -1
  319. package/assets/esri/core/workers/chunks/0f6203ae32663b2b52db.js +0 -1
  320. package/assets/esri/core/workers/chunks/16a78f5a82f5ca163816.js +0 -1
  321. package/assets/esri/core/workers/chunks/1cc30073f8200b67cff6.js +0 -1
  322. package/assets/esri/core/workers/chunks/1d75cb1747ffb7b8b050.js +0 -1
  323. package/assets/esri/core/workers/chunks/242b216d61940aebe8e1.js +0 -1
  324. package/assets/esri/core/workers/chunks/32756905bcf11699b3f7.js +0 -1
  325. package/assets/esri/core/workers/chunks/35d238a5a6501f89bed7.js +0 -1
  326. package/assets/esri/core/workers/chunks/36a2a8b6547604bad2ab.js +0 -1
  327. package/assets/esri/core/workers/chunks/3fcd73ba832cb53d3a07.js +0 -1
  328. package/assets/esri/core/workers/chunks/40c1d65039c8f1d6afa0.js +0 -1
  329. package/assets/esri/core/workers/chunks/49dce142ad1ea4c01d00.js +0 -1
  330. package/assets/esri/core/workers/chunks/4b89d5b9e35bf79b321e.js +0 -1
  331. package/assets/esri/core/workers/chunks/4c47d327815e281c457e.js +0 -1
  332. package/assets/esri/core/workers/chunks/4ea96aff38bb301dc40d.js +0 -346
  333. package/assets/esri/core/workers/chunks/54a49a25845897a15ab1.js +0 -1
  334. package/assets/esri/core/workers/chunks/576e408fb0834f3948e8.js +0 -1
  335. package/assets/esri/core/workers/chunks/5ce62d9fff80d014d186.js +0 -1
  336. package/assets/esri/core/workers/chunks/5e805c9e9012dd39ec86.js +0 -1
  337. package/assets/esri/core/workers/chunks/6136bf09950adc46bc33.js +0 -1
  338. package/assets/esri/core/workers/chunks/666afe669866c44830bd.js +0 -1
  339. package/assets/esri/core/workers/chunks/6a0fbc54638f7de138c1.js +0 -1
  340. package/assets/esri/core/workers/chunks/7d0c4e1518a6a63a3f87.js +0 -1
  341. package/assets/esri/core/workers/chunks/843b6029d4c13115e1ac.js +0 -1
  342. package/assets/esri/core/workers/chunks/86d6007c45f2aa643ac8.js +0 -1
  343. package/assets/esri/core/workers/chunks/8bf04be4052bf148777a.js +0 -1
  344. package/assets/esri/core/workers/chunks/8ea34878a1ef24b4ded3.js +0 -1
  345. package/assets/esri/core/workers/chunks/8eea6251aa09725e654e.js +0 -1
  346. package/assets/esri/core/workers/chunks/90145d49a0cec902435c.js +0 -1
  347. package/assets/esri/core/workers/chunks/916691122d7fb38497d6.js +0 -1
  348. package/assets/esri/core/workers/chunks/92ad9098006568358550.js +0 -1
  349. package/assets/esri/core/workers/chunks/9ae18a17f62d91167202.js +0 -1
  350. package/assets/esri/core/workers/chunks/9c510df592befb9ff892.js +0 -1
  351. package/assets/esri/core/workers/chunks/a273f80298417edecc07.js +0 -1
  352. package/assets/esri/core/workers/chunks/a2ed7a3cd518dd136ec7.js +0 -1
  353. package/assets/esri/core/workers/chunks/a6a7279b09d7962147ec.js +0 -1
  354. package/assets/esri/core/workers/chunks/aba520714efc01bead36.js +0 -1
  355. package/assets/esri/core/workers/chunks/acb9c166259872828646.js +0 -1
  356. package/assets/esri/core/workers/chunks/accff253af360c34e8a8.js +0 -1
  357. package/assets/esri/core/workers/chunks/ae6eed26fc932bc08356.js +0 -1
  358. package/assets/esri/core/workers/chunks/b32c1b60896a72e0ae90.js +0 -1
  359. package/assets/esri/core/workers/chunks/b4bb461955a4c2bce072.js +0 -1
  360. package/assets/esri/core/workers/chunks/b98279213f45a0c27600.js +0 -1
  361. package/assets/esri/core/workers/chunks/ba5b24beebeb703b5919.js +0 -1
  362. package/assets/esri/core/workers/chunks/bd7d19ba0c7d9143a455.js +0 -1
  363. package/assets/esri/core/workers/chunks/bffaf1f20f18c75fad4e.js +0 -1
  364. package/assets/esri/core/workers/chunks/c4f8da6c238eb5e91f91.js +0 -1
  365. package/assets/esri/core/workers/chunks/cdabea4718a7e7d34cb8.js +0 -1
  366. package/assets/esri/core/workers/chunks/ce7155ae63e7bb74be00.js +0 -1
  367. package/assets/esri/core/workers/chunks/d45383d76ba99718b6d9.js +0 -1
  368. package/assets/esri/core/workers/chunks/d915d0a30d9beb24bd3a.js +0 -1
  369. package/assets/esri/core/workers/chunks/d9a23fb0c6c936d5e8ec.js +0 -1
  370. package/assets/esri/core/workers/chunks/dc6538a2d5a1e60d0209.js +0 -1
  371. package/assets/esri/core/workers/chunks/dca633ae3bfd4a3f9bb3.js +0 -1
  372. package/assets/esri/core/workers/chunks/dfa7976085f7408a366c.js +0 -1
  373. package/assets/esri/core/workers/chunks/e0a5b499b3ae38c21278.js +0 -1
  374. package/assets/esri/core/workers/chunks/e1a20ba7d6279f59adc0.js +0 -1
  375. package/assets/esri/core/workers/chunks/e49a135a2933306a6105.js +0 -1
  376. package/assets/esri/core/workers/chunks/e9a9174c4d1a0a9effb6.js +0 -1
  377. package/assets/esri/core/workers/chunks/edead1a123860cc74b1b.js +0 -1
  378. package/assets/esri/core/workers/chunks/f90573c9dc36e51cd588.js +0 -1
  379. package/assets/esri/core/workers/chunks/fa9658dbfb921f9c13af.js +0 -1
  380. package/assets/esri/core/workers/chunks/fb5e2b1ced03eef28e96.js +0 -1
  381. package/assets/esri/core/workers/chunks/fd8f4eabb8bbc593dd9c.js +0 -1
  382. package/assets/esri/core/workers/chunks/fe1902d63f610cebd947.js +0 -1
  383. package/core/HeapSort.js +0 -5
  384. package/layers/graphics/controllers/StreamController.js +0 -5
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[3562],{751:(e,t,r)=>{r.d(t,{CJ:()=>d});var a=r(49186),n=r(4718),s=r(93637),i=r(67124),o=r(77548);const l=new Set(["bing-maps","imagery","imagery-tile","map-image","open-street-map","tile","unknown","unsupported","vector-tile","web-tile","wcs","wms","wmts"]),c=new Set(["catalog","csv","feature","geo-rss","geojson","group","imagery","imagery-tile","kml","knowledge-graph","map-image","map-notes","media","ogc-feature","oriented-imagery","route","stream","subtype-group","tile","unknown","unsupported","vector-tile","video","web-tile","wcs","wfs","wms","wmts"]),u=new Set([...c,"link-chart"]);function y(e,t){if(t.restrictedWebMapWriting){const r=function(e){switch(e.layerContainerType){case"basemap":return l;case"operational-layers":return"link-chart"===e.origin?u:c;default:return null}}(t);return null==r||r.has(e.type)&&!(0,o.Ov)(e)}return!0}function p(e,t){"maxScale"in e&&(t.maxScale=(0,i.B)(e.maxScale)??void 0),"minScale"in e&&(t.minScale=(0,i.B)(e.minScale)??void 0)}function d(e,t,r){if(!e.persistenceEnabled)return null;if(!("write"in e)||!e.write)return r?.messages&&r.messages.push(new a.A("layer:unsupported",`Layers (${e.title}, ${e.id}) of type '${e.declaredClass}' cannot be persisted`,{layer:e})),null;if((0,o.Ov)(e)&&!e.isTable)t=e.resourceInfo;else if(y(e,r)){const t={};return e.write(t,r)?t:null}return null!=t&&function(e,t){if(function(e,t){if(t)if((0,o.Ov)(e)){const r=(0,s.wc)("featureCollection.layers",t),a=r?.[0]?.layerDefinition;a&&p(e,a)}else"group"!==e.type&&p(e,t)}(e,t),t&&(t.id=e.id,"blendMode"in e&&(t.blendMode=e.blendMode,"normal"===t.blendMode&&delete t.blendMode),t.opacity=(0,i.B)(e.opacity)??void 0,t.title=e.title||"Layer",t.visibility=e.visible,"legendEnabled"in e&&"wmts"!==e.type))if((0,o.Ov)(e)){const r=t.featureCollection;r&&(r.showLegend=e.legendEnabled)}else t.showLegend=e.legendEnabled}(e,t=(0,n.o8)(t)),t}},8303:(e,t,r)=>{r.d(t,{A:()=>S});var a=r(90237),n=r(92602),s=r(70333),i=r(78888),o=r(60999),l=r(49186),c=r(53966),u=r(97768),y=r(74887),p=r(84952),d=r(10107),f=(r(44208),r(87811),r(36005)),h=r(40608),m=r(43937),g=r(77548),v=r(20655),L=r(80812),b=r(41318),w=r(10407);const S=e=>{const t=e;let S=class extends t{constructor(){super(...arguments),this.resourceReferences={portalItem:null,paths:[]},this.userHasEditingPrivileges=!0,this.userHasFullEditingPrivileges=!1,this.userHasUpdateItemPrivileges=!1}destroy(){this.portalItem=(0,u.pR)(this.portalItem),this.resourceReferences.portalItem=null,this.resourceReferences.paths.length=0}set portalItem(e){e!==this._get("portalItem")&&(this.removeOrigin("portal-item"),this._set("portalItem",e))}readPortalItem(e,t,r){if(t.itemId)return new L.default({id:t.itemId,portal:r?.portal})}writePortalItem(e,t){e?.id&&(t.itemId=e.id)}async loadFromPortal(e,t){if(this.portalItem?.id)try{const{load:a}=await r.e(1204).then(r.bind(r,41204));return(0,y.Te)(t),await a({instance:this,supportedTypes:e.supportedTypes,validateItem:e.validateItem,supportsData:e.supportsData,layerModuleTypeMap:e.layerModuleTypeMap,populateGroupLayer:e.populateGroupLayer},t)}catch(e){throw(0,y.zf)(e)||c.A.getLogger(this).warn(`Failed to load layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${e}`),e}}async finishLoadEditablePortalLayer(e){this._set("userHasEditingPrivileges",await this._fetchUserHasEditingPrivileges(e).catch(e=>((0,y.QP)(e),!0)))}async setUserPrivileges(e,t){if(!n.A.userPrivilegesApplied)return this.finishLoadEditablePortalLayer(t);if(this.url)try{const{features:{edit:r,fullEdit:a},content:{updateItem:n}}=await this._fetchUserPrivileges(e,t);this._set("userHasEditingPrivileges",r),this._set("userHasFullEditingPrivileges",a),this._set("userHasUpdateItemPrivileges",n)}catch(e){(0,y.QP)(e)}}async _fetchUserPrivileges(e,t){let r=this.portalItem;if(!e||!r||!r.loaded||r.sourceUrl)return this._fetchFallbackUserPrivileges(t);const a=!s.id?.findCredential(this.url),n=e===r.id;if(n&&r.portal.user)return this._getUserPrivileges(r,a);let i,o;if(n)i=r.portal.url;else try{i=await(0,g.wI)(this.url,t)}catch(e){(0,y.QP)(e)}if(!i||!(0,p.b8)(i,r.portal.url))return this._fetchFallbackUserPrivileges(t);try{const e=null!=t?t.signal:null;o=await(s.id?.getCredential(`${i}/sharing`,{prompt:!1,signal:e}))}catch(e){(0,y.QP)(e)}const l=!0,c=!1,u=!1;if(!o)return{features:{edit:l,fullEdit:c},content:{updateItem:u}};try{if(n?await r.reload():(r=new L.default({id:e,portal:{url:i}}),await r.load(t)),r.portal.user)return this._getUserPrivileges(r,a)}catch(e){(0,y.QP)(e)}return{features:{edit:l,fullEdit:c},content:{updateItem:u}}}_getUserPrivileges(e,t){const r=(0,w.It)(e);return t&&(r.features.edit=!0),r}async _fetchFallbackUserPrivileges(e){let t=!0;try{t=await this._fetchUserHasEditingPrivileges(e)}catch(e){(0,y.QP)(e)}return{features:{edit:t,fullEdit:!1},content:{updateItem:!1}}}async _fetchUserHasEditingPrivileges(e){const t=this.url?s.id?.findCredential(this.url):null;if(!t)return!0;const r=M.credential===t?M.user:await this._fetchEditingUser(e);return M.credential=t,M.user=r,null==r?.privileges||r.privileges.includes("features:user:edit")}async _fetchEditingUser(e){const t=this.portalItem?.portal?.user;if(t)return t;const r=s.id?.findServerInfo(this.url??"");if(!r?.owningSystemUrl)return null;const a=`${r.owningSystemUrl}/sharing/rest`,n=v.A.getDefault();if(n&&n.loaded&&(0,p.S8)(n.restUrl)===(0,p.S8)(a))return n.user;const l=`${a}/community/self`,c=null!=e?e.signal:null,u=await(0,o.Ke)((0,i.A)(l,{authMode:"no-prompt",query:{f:"json"},signal:c}));return u.ok?b.A.fromJSON(u.value.data):null}read(e,t){t&&(t.layer=this),super.read(e,t)}write(e,t){const r=t?.portal,a=this.portalItem?.id&&(this.portalItem.portal||v.A.getDefault());return r&&a&&!(0,p.ut)(a.restUrl,r.restUrl)?(t.messages&&t.messages.push(new l.A("layer:cross-portal",`The layer '${this.title} (${this.id})' cannot be persisted because it refers to an item on a different portal than the one being saved to. To save, set layer.portalItem to null or save to the same portal as the item associated with the layer`,{layer:this})),null):super.write(e,{...t,layer:this})}};return(0,a._)([(0,d.MZ)({type:L.default})],S.prototype,"portalItem",null),(0,a._)([(0,f.w)("web-document","portalItem",["itemId"])],S.prototype,"readPortalItem",null),(0,a._)([(0,m.K)("web-document","portalItem",{itemId:{type:String}})],S.prototype,"writePortalItem",null),(0,a._)([(0,d.MZ)({clonable:!1})],S.prototype,"resourceReferences",void 0),(0,a._)([(0,d.MZ)({type:Boolean,readOnly:!0})],S.prototype,"userHasEditingPrivileges",void 0),(0,a._)([(0,d.MZ)({type:Boolean,readOnly:!0})],S.prototype,"userHasFullEditingPrivileges",void 0),(0,a._)([(0,d.MZ)({type:Boolean,readOnly:!0})],S.prototype,"userHasUpdateItemPrivileges",void 0),S=(0,a._)([(0,h.$)("esri.layers.mixins.PortalLayer")],S),S},M={credential:null,user:null}},8947:(e,t,r)=>{r.d(t,{L:()=>i});var a=r(60999),n=r(74887),s=r(67076);async function i(e,t,r){const i=e&&e.getAtOrigin&&e.getAtOrigin("renderer",t.origin);if(i&&"unique-value"===i.type&&i.styleOrigin){const o=await(0,a.Ke)(i.populateFromStyle());if((0,n.Te)(r),!1===o.ok){const r=o.error;t?.messages&&t.messages.push(new s.A("renderer:style-reference",`Failed to create unique value renderer from style reference: ${r.message}`,{error:r,context:t})),e.clear("renderer",t?.origin)}}}},22429:(e,t,r)=>{r.d(t,{v:()=>n});var a=r(24183);class n{constructor(){this._serviceMetadatas=new Map,this._itemDatas=new Map}async fetchServiceMetadata(e,t){const r=this._serviceMetadatas.get(e);if(r)return r;const n=await(0,a.V)(e,t);return this._serviceMetadatas.set(e,n),n}async fetchItemData(e){const{id:t}=e;if(!t)return null;const{_itemDatas:r}=this;if(r.has(t))return r.get(t);const a=await e.fetchData();return r.set(t,a),a}async fetchCustomParameters(e,t){const r=await this.fetchItemData(e);return r&&"object"==typeof r&&(t?t(r):r.customParameters)||null}}},25036:(e,t,r)=>{r.d(t,{j:()=>i});var a=r(90237),n=r(10107),s=(r(44208),r(53966),r(87811),r(40608));const i=e=>{const t=e;let r=class extends t{constructor(){super(...arguments),this.minScale=0,this.maxScale=0}get effectiveScaleRange(){const e={minScale:this.minScale,maxScale:this.maxScale},t=this.parent;t&&"effectiveScaleRange"in t&&function(e,t){e.minScale=e.minScale>0?t.minScale>0?Math.min(e.minScale,t.minScale):e.minScale:t.minScale,e.maxScale=e.maxScale>0?t.maxScale>0?Math.max(e.maxScale,t.maxScale):e.maxScale:t.maxScale}(e,t.effectiveScaleRange);const r=this._get("effectiveScaleRange");return r&&r.minScale===e.minScale&&r.maxScale===e.maxScale?r:e}};return(0,a._)([(0,n.MZ)({type:Number,nonNullable:!0,json:{write:!0}})],r.prototype,"minScale",void 0),(0,a._)([(0,n.MZ)({type:Number,nonNullable:!0,json:{write:!0}})],r.prototype,"maxScale",void 0),(0,a._)([(0,n.MZ)({readOnly:!0})],r.prototype,"effectiveScaleRange",null),r=(0,a._)([(0,s.$)("esri.layers.mixins.ScaleRangeLayer")],r),r}},26121:(e,t,r)=>{r.d(t,{ci:()=>i,dL:()=>n});var a=r(49186);async function n(e){const t=[];for(const r of e.allLayers)if("beforeSave"in r&&"function"==typeof r.beforeSave){const e=r.beforeSave();e&&t.push(e)}await Promise.allSettled(t)}r(77548);const s=new Set(["layer:unsupported","property:unsupported","symbol:unsupported","symbol-layer:unsupported","url:unsupported"]);function i(e,t,r){let n=(e.messages??[]).filter(({type:e})=>"error"===e).map(({name:e,message:t,details:r})=>new a.A(e,t,r));if(e.blockedRelativeUrls&&(n=n.concat(e.blockedRelativeUrls.map(e=>new a.A("url:unsupported",`Relative url '${e}' is not supported`)))),r){const{ignoreUnsupported:e,supplementalUnsupportedErrors:t=[],requiredPropertyChecksDisabled:a}=r;e&&(n=n.filter(({name:e})=>!(s.has(e)||t.includes(e)))),a&&(n=n.filter(e=>"web-document-write:property-required"!==e.name))}if(n.length>0)throw new a.A(t.errorName,"Failed to save due to unsupported or invalid content. See 'details.errors' for more detailed information",{errors:n})}},27865:(e,t,r)=>{r.d(t,{O9:()=>s,dw:()=>i,mj:()=>n});var a=r(59247);function n(e,t){const r=e.length>t.length?e:t;return(e.length>t.length?t:e).every((e,t)=>e.type===r[t].type)}function s(e,t){const r=e.length>t.length?e:t,n=e.length>t.length?t:e;for(let e=n.length;e<r.length;e++)n.push((0,a.sK)(r[e]))}function i(e){const t=e[0];return!!t&&"type"in t}},38961:(e,t,r)=>{r.d(t,{A:()=>c});var a=r(90237),n=r(5503),s=r(36708),i=r(10107),o=r(40608),l=r(80559);let c=class extends n.A{constructor(e){super(e),this.getCollections=null}initialize(){this.addHandles((0,l.fm)(()=>this._refresh(),s.OH))}destroy(){this.getCollections=null}_refresh(){const e=null!=this.getCollections?this.getCollections():null;if(null==e)return void this.removeAll();let t=0;for(const r of e)null!=r&&(t=this._processCollection(t,r));this.splice(t)}_createNewInstance(e){return new n.A(e)}_processCollection(e,t){if(!t)return e;const r=this.itemFilterFunction??(e=>!!e);for(const a of t)if(a){if(r(a)){const t=this.indexOf(a,e);t>=0?t!==e&&this.reorder(a,e):this.add(a,e),++e}if(this.getChildrenFunction){const t=this.getChildrenFunction(a);if(Array.isArray(t))for(const r of t)e=this._processCollection(e,r);else e=this._processCollection(e,t)}}return e}};(0,a._)([(0,i.MZ)()],c.prototype,"getCollections",void 0),(0,a._)([(0,i.MZ)()],c.prototype,"getChildrenFunction",void 0),(0,a._)([(0,i.MZ)()],c.prototype,"itemFilterFunction",void 0),c=(0,a._)([(0,o.$)("esri.core.CollectionFlattener")],c)},45613:(e,t,r)=>{r.d(t,{fromItem:()=>p,n:()=>d});var a=r(49186),n=r(92009),s=r(23154),i=r(22429),o=r(77548),l=r(4513),c=r(80812),u=r(66964),y=r(10407);async function p(e){let{portalItem:t}=e;!t||t instanceof c.default||(t=new c.default(t));const r=await async function(e){await e.load();const t=new i.v;return async function(e){const t=e.className,r=l.S[t];return{constructor:await r(),properties:e.properties}}(await d(e,t))}(t);return new(0,r.constructor)({portalItem:t,...r.properties})}async function d(e,t){switch(e.type){case"3DTiles Service":return e.typeKeywords.includes("3DObject")?{className:"UnsupportedLayer"}:{className:"IntegratedMesh3DTilesLayer"};case"CSV":return{className:"CSVLayer"};case"Feature Collection":return async function(e){await e.load();const t=(0,y.Y)(e,"Map Notes"),r=(0,y.Y)(e,"Markup");if(t||r)return{className:"MapNotesLayer"};if((0,y.Y)(e,"Route Layer"))return{className:"RouteLayer"};const a=await e.fetchData();return 1===(0,u.XH)(a)?{className:"FeatureLayer"}:{className:"GroupLayer"}}(e);case"Feature Service":return async function(e,t){const r=await f(e,t);if("object"==typeof r){const{sourceJSON:e,className:t}=r,a={sourceJSON:e};return null!=r.id&&(a.layerId=r.id),{className:t||"FeatureLayer",properties:a}}return{className:"GroupLayer"}}(e,t);case"Feed":case"Stream Service":return{className:"StreamLayer"};case"GeoJson":return{className:"GeoJSONLayer"};case"Group Layer":return{className:"GroupLayer"};case"Image Service":return async function(e,t){await e.load();const r=e.typeKeywords?.map(e=>e.toLowerCase())??[];if(r.includes("elevation 3d layer"))return{className:"ElevationLayer"};if(r.includes("tiled imagery"))return{className:"ImageryTileLayer"};const a=await t.fetchItemData(e),n=a?.layerType;if("ArcGISTiledImageServiceLayer"===n)return{className:"ImageryTileLayer"};if("ArcGISImageServiceLayer"===n)return{className:"ImageryLayer"};const s=await t.fetchServiceMetadata(e.url,{customParameters:await t.fetchCustomParameters(e)}),i=s.cacheType?.toLowerCase(),o=s.capabilities?.toLowerCase().includes("tilesonly"),l=s.tileInfo?.format?.toLowerCase()??"",c=null==i&&["jpg","jpeg","png","png8","png24","png32","mixed"].includes(l);return"map"===i||c||o?{className:"ImageryTileLayer"}:{className:"ImageryLayer"}}(e,t);case"KML":return{className:"KMLLayer"};case"Knowledge Graph Layer":return{className:"KnowledgeGraphLayer"};case"Map Service":return async function(e,t){return await async function(e,t){const{tileInfo:r}=await t.fetchServiceMetadata(e.url,{customParameters:await t.fetchCustomParameters(e)});return r}(e,t)?{className:"TileLayer"}:{className:"MapImageLayer"}}(e,t);case"Media Layer":return{className:"MediaLayer"};case"Scene Service":return async function(e,t){const r=await f(e,t,async()=>{try{if(!e.url)return[];const{serverUrl:r}=await(0,n.L)(e.url,{sceneLayerItem:e}),a=await t.fetchServiceMetadata(r);return a?.tables??[]}catch{return[]}});if("object"==typeof r){const a={};let n;if(null!=r.id?(a.layerId=r.id,n=`${e.url}/layers/${r.id}`):n=e.url,e.typeKeywords?.length)for(const t of Object.keys(o.XX))if(e.typeKeywords.includes(t))return{className:o.XX[t]};const s=await t.fetchServiceMetadata(n,{customParameters:await t.fetchCustomParameters(e,e=>(0,u.pJ)(e)?.customParameters)});return{className:o.XX[s?.layerType]||"SceneLayer",properties:a}}if(!1===r){const r=await t.fetchServiceMetadata(e.url);if("Voxel"===r?.layerType)return{className:"VoxelLayer"}}return{className:"GroupLayer"}}(e,t);case"Video Service":return async function(e,t){return"object"==typeof await f(e,t)?{className:"VideoLayer"}:{className:"GroupLayer"}}(e,t);case"Vector Tile Service":return{className:"VectorTileLayer"};case"WCS":return{className:"WCSLayer"};case"WFS":return{className:"WFSLayer"};case"WMS":return{className:"WMSLayer"};case"WMTS":return{className:"WMTSLayer"};default:throw new a.A("portal:unknown-item-type","Unknown item type '${type}'",{type:e.type})}}async function f(e,t,r){const{url:a,type:n}=e,i="Feature Service"===n;if(!a)return{};if(/\/\d+$/.test(a)){if(i){const r=await t.fetchServiceMetadata(a,{customParameters:await t.fetchCustomParameters(e,e=>(0,u.pJ)(e)?.customParameters)});return(0,o.Gh)(e,(0,o.G$)()),{id:r.id,className:(0,s.K)(r.type),sourceJSON:r}}return{}}if("Video Service"===n){const e=await t.fetchServiceMetadata(a);return!((e.layers?.length??0)>1)&&{}}await e.load();let l=await t.fetchItemData(e);if(i){const{data:r,preferredHost:n}=await(0,u.bO)(l,a,t);(0,o.Gh)(e,n);const s=h(r);if("object"==typeof s){const e=(0,u.rc)(r,s.id);s.className=(0,u.K8)(e?.layerType)}return s}if("Scene Service"===n&&(l=await(0,u.nu)(e,l,t)),(0,u.XH)(l)>0)return h(l);const c=await t.fetchServiceMetadata(a);return r&&(c.tables=await r()),h(c)}function h(e){return 1===(0,u.XH)(e)&&{id:(0,u.pJ)(e)?.id}}},59247:(e,t,r)=>{r.d(t,{bv:()=>l,Fk:()=>c,yG:()=>u,$b:()=>y,Nd:()=>p,jm:()=>d,sK:()=>m});var a=r(40876),n=r(90629);function s(){const e=new Float32Array(16);return e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}const i=s();Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:i,clone:function(e){const t=new Float32Array(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},create:s,fromValues:function(e,t,r,a,n,s,i,o,l,c,u,y,p,d,f,h){const m=new Float32Array(16);return m[0]=e,m[1]=t,m[2]=r,m[3]=a,m[4]=n,m[5]=s,m[6]=i,m[7]=o,m[8]=l,m[9]=c,m[10]=u,m[11]=y,m[12]=p,m[13]=d,m[14]=f,m[15]=h,m}},Symbol.toStringTag,{value:"Module"}));var o=r(58083);class l{constructor(e,t,r){this.strength=e,this.radius=t,this.threshold=r,this.type="bloom"}interpolate(e,t,r){this.strength=f(e.strength,t.strength,r),this.radius=f(e.radius,t.radius,r),this.threshold=f(e.threshold,t.threshold,r)}clone(){return new l(this.strength,this.radius,this.threshold)}toJSON(){return{type:"bloom",radius:h(this.radius),strength:this.strength,threshold:this.threshold}}}class c{constructor(e){this.radius=e,this.type="blur"}interpolate(e,t,r){this.radius=Math.round(f(e.radius,t.radius,r))}clone(){return new c(this.radius)}toJSON(){return{type:"blur",radius:h(this.radius)}}}class u{constructor(e,t){this.type=e,this.amount=t,"invert"!==this.type&&"grayscale"!==this.type&&"sepia"!==this.type||(this.amount=Math.min(this.amount,1))}get colorMatrix(){return this._colorMatrix||this._updateMatrix(),this._colorMatrix}interpolate(e,t,r){this.amount=f(e.amount,t.amount,r),this._updateMatrix()}clone(){return new u(this.type,this.amount)}toJSON(){return{type:this.type,amount:this.amount}}_updateMatrix(){const e=this._colorMatrix||s();switch(this.type){case"brightness":this._colorMatrix=((e,t)=>{const r=(0,o.hZ)(e,t,0,0,0,0,t,0,0,0,0,t,0,0,0,0,1);return(0,o.mg)(r,r)})(e,this.amount);break;case"contrast":this._colorMatrix=((e,t)=>{const r=(0,o.hZ)(e,t,0,0,.5-.5*t,0,t,0,.5-.5*t,0,0,t,.5-.5*t,0,0,0,1);return(0,o.mg)(r,r)})(e,this.amount);break;case"grayscale":this._colorMatrix=(e=>{const t=1-this.amount,r=(0,o.hZ)(e,.2126+.7874*t,.7152-.7152*t,.0722-.0722*t,0,.2126-.2126*t,.7152+.2848*t,.0722-.0722*t,0,.2126-.2126*t,.7152-.7152*t,.0722+.9278*t,0,0,0,0,1);return(0,o.mg)(r,r)})(e);break;case"invert":this._colorMatrix=((e,t)=>{const r=1-2*t,a=(0,o.hZ)(e,r,0,0,t,0,r,0,t,0,0,r,t,0,0,0,1);return(0,o.mg)(a,a)})(e,this.amount);break;case"saturate":this._colorMatrix=((e,t)=>{const r=(0,o.hZ)(e,.213+.787*t,.715-.715*t,.072-.072*t,0,.213-.213*t,.715+.285*t,.072-.072*t,0,.213-.213*t,.715-.715*t,.072+.928*t,0,0,0,0,1);return(0,o.mg)(r,r)})(e,this.amount);break;case"sepia":this._colorMatrix=(e=>{const t=1-this.amount,r=(0,o.hZ)(e,.393+.607*t,.769-.769*t,.189-.189*t,0,.349-.349*t,.686+.314*t,.168-.168*t,0,.272-.272*t,.534-.534*t,.131+.869*t,0,0,0,0,1);return(0,o.mg)(r,r)})(e)}}}class y{constructor(e,t,r,a){this.offsetX=e,this.offsetY=t,this.blurRadius=r,this.color=a,this.type="drop-shadow"}interpolate(e,t,r){this.offsetX=f(e.offsetX,t.offsetX,r),this.offsetY=f(e.offsetY,t.offsetY,r),this.blurRadius=f(e.blurRadius,t.blurRadius,r),this.color[0]=Math.round(f(e.color[0],t.color[0],r)),this.color[1]=Math.round(f(e.color[1],t.color[1],r)),this.color[2]=Math.round(f(e.color[2],t.color[2],r)),this.color[3]=f(e.color[3],t.color[3],r)}clone(){return new y(this.offsetX,this.offsetY,this.blurRadius,[...this.color])}toJSON(){const e=[...this.color];return e[3]*=255,{type:"drop-shadow",xoffset:h(this.offsetX),yoffset:h(this.offsetY),blurRadius:h(this.blurRadius),color:e}}}class p{constructor(e){this.angle=e,this.type="hue-rotate"}get colorMatrix(){return this._colorMatrix||this._updateMatrix(),this._colorMatrix}interpolate(e,t,r){this.angle=f(e.angle,t.angle,r),this._updateMatrix()}clone(){return new p(this.angle)}toJSON(){return{type:"hue-rotate",angle:this.angle}}_updateMatrix(){const e=this._colorMatrix||s();this._colorMatrix=((e,t)=>{const r=Math.sin(t*Math.PI/180),a=Math.cos(t*Math.PI/180),n=(0,o.hZ)(e,.213+.787*a-.213*r,.715-.715*a-.715*r,.072-.072*a+.928*r,0,.213-.213*a+.143*r,.715+.285*a+.14*r,.072-.072*a-.283*r,0,.213-.213*a-.787*r,.715-.715*a+.715*r,.072+.928*a+.072*r,0,0,0,0,1);return(0,o.mg)(n,n)})(e,this.angle)}}class d{constructor(e){this.amount=e,this.type="opacity",this.amount=Math.min(this.amount,1)}interpolate(e,t,r){this.amount=f(e.amount,t.amount,r)}clone(){return new d(this.amount)}toJSON(){return{type:"opacity",amount:this.amount}}}function f(e,t,r){return e+(t-e)*r}function h(e){return Math.round(1e3*(0,n.PN)(e))/1e3}function m(e){switch(e.type){case"grayscale":case"sepia":case"invert":return new u(e.type,0);case"saturate":case"brightness":case"contrast":return new u(e.type,1);case"opacity":return new d(1);case"hue-rotate":return new p(0);case"blur":return new c(0);case"drop-shadow":return new y(0,0,0,[...(0,a.TS)("transparent")]);case"bloom":return new l(0,0,1)}}},62885:(e,t,r)=>{r.d(t,{H:()=>s,V:()=>n});var a=r(5503);function n(e,t,r=a.A){return t||(t=new r),t===e||(t.removeAll(),(n=e)&&(Array.isArray(n)||"items"in n&&Array.isArray(n.items))?t.addMany(e):e&&t.add(e)),t;var n}function s(e){return e}},63074:(e,t,r)=>{r.d(t,{LF:()=>u,dM:()=>y,sU:()=>l});var a=r(90237),n=r(10107),s=(r(44208),r(53966),r(87811),r(40608)),i=r(89317),o=r(76369);const l={type:["average","color-burn","color-dodge","color","darken","destination-atop","destination-in","destination-out","destination-over","difference","exclusion","hard-light","hue","invert","lighten","lighter","luminosity","minus","multiply","normal","overlay","plus","reflect","saturation","screen","soft-light","source-atop","source-in","source-out","vivid-light","xor"],nonNullable:!0,json:{read:!1,write:!1,origins:{"web-map":{read:!0,write:{layerContainerTypes:i.K}},"portal-item":{read:!0,write:{layerContainerTypes:i.K}}}}},c={read:{reader:o.LF},write:{allowNull:!0,writer:o.M9,layerContainerTypes:i.K}},u={json:{read:!1,write:!1,origins:{"web-map":c,"portal-item":c}}},y=e=>{const t=e;let r=class extends t{constructor(){super(...arguments),this.blendMode="normal",this.effect=null}};return(0,a._)([(0,n.MZ)(l)],r.prototype,"blendMode",void 0),(0,a._)([(0,n.MZ)(u)],r.prototype,"effect",void 0),r=(0,a._)([(0,s.$)("esri.layers.mixins.BlendLayer")],r),r}},66964:(e,t,r)=>{r.d(t,{Ju:()=>u,K8:()=>d,XH:()=>y,_r:()=>i,bO:()=>o,l:()=>p,nu:()=>f,pJ:()=>l,rc:()=>c});var a=r(92009),n=r(23154),s=r(77548);function i(e){const t={id:e.id,name:e.name},r=(0,n.K)(e.type);return"FeatureLayer"!==r&&(t.layerType=r),t}async function o(e,t,r){let a;if(null==e?.layers||null==e?.tables){const n=await r.fetchServiceMetadata(t,{customParameters:l(e)?.customParameters});a=(0,s.G$)(),(e=e||{}).layers=e.layers||n?.layers?.map(i),e.tables=e.tables||n?.tables?.map(i)}return{data:e,preferredHost:a}}function l(e){if(!e)return null;const{layers:t,tables:r}=e;return t?.length?t[0]:r?.length?r[0]:null}function c(e,t){return null==t?null:[...e.layers||[],...e.tables||[]].find(e=>e.id===t)}function u(e,t){return[...e.layers||[],...e.tables||[]].filter(({layerType:e})=>e?t.includes(e):t.includes("ArcGISFeatureLayer"))}function y(e){return(e?.layers?.length??0)+(e?.tables?.length??0)}function p(e){switch(e){case"catalog":return["CatalogLayer"];case"feature":return["ArcGISFeatureLayer"];case"oriented-imagery":return["OrientedImageryLayer"];case"subtype-group":return["SubtypeGroupLayer","SubtypeGroupTable"]}return null}function d(e){switch(e){case"CatalogLayer":return"CatalogLayer";case"OrientedImageryLayer":return"OrientedImageryLayer";case"SubtypeGroupLayer":case"SubtypeGroupTable":return"SubtypeGroupLayer"}return"FeatureLayer"}async function f(e,t,r){if(!e?.url)return t??{};if(t??={},!t.layers){const a=await r.fetchServiceMetadata(e.url);t.layers=a.layers?.map(i)}const{serverUrl:n,portalItem:s}=await(0,a.L)(e.url,{sceneLayerItem:e,customParameters:l(t)?.customParameters}).catch(()=>({serverUrl:null,portalItem:null}));if(null==n)return t.tables=[],t;if(!t.tables&&s){const e=await s.fetchData().catch(()=>null);if(e?.tables)t.tables=e.tables.map(i);else{const a=await r.fetchServiceMetadata(n,{customParameters:l(e)?.customParameters}).catch(()=>null);t.tables=a?.tables?.map(i)}}if(t.tables)for(const e of t.tables)e.url=`${n}/${e.id}`;return t}},69540:(e,t,r)=>{r.d(t,{A:()=>p});var a=r(90237),n=r(69622),s=(r(44208),r(4718)),i=(r(53966),r(97768)),o=r(35666),l=r(88620),c=r(40608);const u=e=>{const t=e;let r=class extends t{clone(e){const t=(0,l.oY)(this);(0,i.Lw)(t,"unable to clone instance of non-accessor class");const r=t.metadata,a=t.store,n={},c=new Map;for(const t in r){const i=r[t],l=a?.originOf(t),u=i.clonable;if(i.readOnly||!1===u||l!==o.Gr.USER&&l!==o.Gr.DEFAULTS&&l!==o.Gr.WEB_MAP&&l!==o.Gr.WEB_SCENE)continue;const y=this[t];let p=null;p="function"==typeof u?u(y,e):"reference"===u?y:(0,s.TU)(y,e),null!=y&&null==p||(l===o.Gr.DEFAULTS?c.set(t,p):n[t]=p)}const u=new(0,Object.getPrototypeOf(this).constructor)(n);if(c.size){const e=(0,l.oY)(u)?.store;if(e)for(const[t,r]of c)e.set(t,r,o.Gr.DEFAULTS)}return u}};return r=(0,a._)([(0,c.$)("esri.core.Clonable")],r),r};let y=class extends(u(n.A)){};y=(0,a._)([(0,c.$)("esri.core.Clonable")],y),(y||(y={})).ClonableMixin=u;const p=y},75356:(e,t,r)=>{r.d(t,{N:()=>I,populateOperationalLayers:()=>u});var a=r(5503),n=(r(44208),r(22429)),s=r(4513),i=r(80812);function o(e,t){return!(!e.layerType||"ArcGISFeatureLayer"!==e.layerType)&&e.featureCollectionType===t}var l=r(45613),c=r(8947);async function u(e,t,r){if(!t)return;const a=t.map(e=>async function(e,t){return async function(e,t,r){const a=new e;return a.read(t,r.context),"group"===a.type&&("GroupLayer"===t.layerType?await I(a,t,r):M(t)?function(e,t,r){t.itemId&&(e.portalItem=new i.default({id:t.itemId,portal:r?.portal}),e.when(()=>{const a=a=>{const n=a.layerId;x(a,e,t,n,r);const s=t.featureCollection?.layers?.[n];s&&a.read(s,r)};e.layers?.forEach(a),e.tables?.forEach(a)}))}(a,t,r.context):S(t)&&await async function(e,t,r){const a=s.S.FeatureLayer,n=await a(),i=t.featureCollection,o=i?.showLegend,l=i?.layers?.map((a,s)=>{const i=new n;i.read(a,r);const l={...r,ignoreDefaults:!0};return x(i,e,t,s,l),null!=o&&i.read({showLegend:o},l),i});e.layers.addMany(l??[])}(a,t,r.context)),await(0,c.L)(a,r.context),a}(await w(e,t),e,t)}(e,r)),n=await Promise.allSettled(a);for(const t of n)"rejected"===t.status||t.value&&e.add(t.value)}const y={ArcGISDimensionLayer:"DimensionLayer",ArcGISFeatureLayer:"FeatureLayer",ArcGISImageServiceLayer:"ImageryLayer",ArcGISMapServiceLayer:"MapImageLayer",ArcGISSceneServiceLayer:"SceneLayer",ArcGISTiledElevationServiceLayer:"ElevationLayer",ArcGISTiledImageServiceLayer:"ImageryTileLayer",ArcGISTiledMapServiceLayer:"TileLayer",BuildingSceneLayer:"BuildingSceneLayer",CatalogLayer:"CatalogLayer",CSV:"CSVLayer",DefaultTileLayer:"TileLayer",GeoJSON:"GeoJSONLayer",GroupLayer:"GroupLayer",IntegratedMesh3DTilesLayer:"IntegratedMesh3DTilesLayer",Object3DTilesLayer:"UnsupportedLayer",IntegratedMeshLayer:"IntegratedMeshLayer",KML:"KMLLayer",LineOfSightLayer:"LineOfSightLayer",MediaLayer:"MediaLayer",OGCFeatureLayer:"OGCFeatureLayer",OrientedImageryLayer:"OrientedImageryLayer",PointCloudLayer:"PointCloudLayer",RasterDataLayer:"UnsupportedLayer",VectorTileLayer:"VectorTileLayer",ViewshedLayer:"ViewshedLayer",Voxel:"VoxelLayer",WCS:"WCSLayer",WFS:"WFSLayer",WMS:"WMSLayer",WebTiledLayer:"WebTileLayer"},p={ArcGISTiledElevationServiceLayer:"ElevationLayer",DefaultTileLayer:"ElevationLayer",RasterDataElevationLayer:"UnsupportedLayer"},d={ArcGISFeatureLayer:"FeatureLayer"},f={ArcGISImageServiceLayer:"UnsupportedLayer",ArcGISMapServiceLayer:"UnsupportedLayer",ArcGISSceneServiceLayer:"SceneLayer",ArcGISTiledImageServiceLayer:"ImageryTileLayer",ArcGISTiledMapServiceLayer:"TileLayer",DefaultTileLayer:"TileLayer",OpenStreetMap:"OpenStreetMapLayer",VectorTileLayer:"VectorTileLayer",WCS:"UnsupportedLayer",WMS:"UnsupportedLayer",WebTiledLayer:"WebTileLayer"},h={ArcGISAnnotationLayer:"UnsupportedLayer",ArcGISDimensionLayer:"UnsupportedLayer",ArcGISFeatureLayer:"FeatureLayer",ArcGISImageServiceLayer:"ImageryLayer",ArcGISImageServiceVectorLayer:"ImageryLayer",ArcGISMapServiceLayer:"MapImageLayer",ArcGISStreamLayer:"StreamLayer",ArcGISTiledImageServiceLayer:"ImageryTileLayer",ArcGISTiledMapServiceLayer:"TileLayer",ArcGISVideoLayer:"VideoLayer",BingMapsAerial:"BingMapsLayer",BingMapsHybrid:"BingMapsLayer",BingMapsRoad:"BingMapsLayer",CatalogLayer:"CatalogLayer",CSV:"CSVLayer",DefaultTileLayer:"TileLayer",GeoJSON:"GeoJSONLayer",GeoRSS:"GeoRSSLayer",GroupLayer:"GroupLayer",KML:"KMLLayer",KnowledgeGraphLayer:"KnowledgeGraphLayer",MediaLayer:"MediaLayer",OGCFeatureLayer:"OGCFeatureLayer",OrientedImageryLayer:"OrientedImageryLayer",SubtypeGroupLayer:"SubtypeGroupLayer",VectorTileLayer:"VectorTileLayer",WCS:"WCSLayer",WFS:"WFSLayer",WMS:"WMSLayer",WebTiledLayer:"WebTileLayer"},m={ArcGISFeatureLayer:"FeatureLayer",SubtypeGroupTable:"SubtypeGroupLayer"},g={ArcGISImageServiceLayer:"ImageryLayer",ArcGISImageServiceVectorLayer:"ImageryLayer",ArcGISMapServiceLayer:"MapImageLayer",ArcGISTiledImageServiceLayer:"ImageryTileLayer",ArcGISTiledMapServiceLayer:"TileLayer",BingMapsAerial:"BingMapsLayer",BingMapsHybrid:"BingMapsLayer",BingMapsRoad:"BingMapsLayer",DefaultTileLayer:"TileLayer",OpenStreetMap:"OpenStreetMapLayer",VectorTileLayer:"VectorTileLayer",WCS:"WCSLayer",WMS:"WMSLayer",WebTiledLayer:"WebTileLayer"},v={...h,LinkChartLayer:"LinkChartLayer"},L={...m},b={...g};async function w(e,t){const r=t.context,a=A(r);let c=e.layerType||e.type;!c&&t?.defaultLayerType&&(c=t.defaultLayerType);const u=a[c];let y=u?s.S[u]:s.S.UnknownLayer;if(M(e)){const t=r?.portal;if(e.itemId){const r=new i.default({id:e.itemId,portal:t});await r.load();const a=(await(0,l.n)(r,new n.v)).className||"UnknownLayer";y=s.S[a]}}else"ArcGISFeatureLayer"===c?function(e){return o(e,"notes")}(e)||function(e){return o(e,"markup")}(e)?y=s.S.MapNotesLayer:function(e){return o(e,"route")}(e)?y=s.S.RouteLayer:S(e)&&(y=s.S.GroupLayer):e.wmtsInfo?.url&&e.wmtsInfo.layerIdentifier?y=s.S.WMTSLayer:"WFS"===c&&"2.0.0"!==e.wfsInfo?.version&&(y=s.S.UnsupportedLayer);return y()}function S(e){return"ArcGISFeatureLayer"===e.layerType&&!M(e)&&(e.featureCollection?.layers?.length??0)>1}function M(e){return"Feature Collection"===e.type}function A(e){let t;switch(e.origin){case"web-scene":switch(e.layerContainerType){case"basemap":t=f;break;case"ground":t=p;break;case"tables":t=d;break;default:t=y}break;case"link-chart":switch(e.layerContainerType){case"basemap":t=b;break;case"tables":t=L;break;default:t=v}break;default:switch(e.layerContainerType){case"basemap":t=g;break;case"tables":t=m;break;default:t=h}}return t}async function I(e,t,r){const n=new a.A,s=u(n,Array.isArray(t.layers)?t.layers:[],r);try{try{if(await s,"group"===e.type)return e.layers.addMany(n),e}catch(t){e.destroy();for(const e of n)e.destroy();throw t}}catch(e){throw e}}function x(e,t,r,a,n){e.read({id:`${t.id}-sublayer-${a}`,visibility:r.visibleLayers?.includes(a)??!0},n)}},76369:(e,t,r)=>{r.d(t,{LF:()=>S,M9:()=>M});var a=r(49186),n=r(93637),s=r(40876),i=r(59247),o=r(27865);class l extends SyntaxError{constructor(e,t,r,a){super(e),this.expected=t,this.found=r,this.location=a,this.name="SyntaxError"}format(e){let t="Error: "+this.message;if(this.location){let r=null;const a=e.find(e=>e.source===this.location.source);a&&(r=a.text.split(/\r\n|\n|\r/g));const n=this.location.start,s=this.location.source&&"function"==typeof this.location.source.offset?this.location.source.offset(n):n,i=this.location.source+":"+s.line+":"+s.column;if(r){const e=this.location.end,a="".padEnd(s.line.toString().length," "),o=r[n.line-1],l=(n.line===e.line?e.column:o.length+1)-n.column||1;t+="\n --\x3e "+i+"\n"+a+" |\n"+s.line+" | "+o+"\n"+a+" | "+"".padEnd(n.column-1," ")+"".padEnd(l,"^")}else t+="\n at "+i}return t}static buildMessage(e,t){function r(e){return e.codePointAt(0).toString(16).toUpperCase()}const a=Object.prototype.hasOwnProperty.call(RegExp.prototype,"unicode")?new RegExp("[\\p{C}\\p{Mn}\\p{Mc}]","gu"):null;function n(e){return a?e.replace(a,e=>"\\u{"+r(e)+"}"):e}function s(e){return n(e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,e=>"\\x0"+r(e)).replace(/[\x10-\x1F\x7F-\x9F]/g,e=>"\\x"+r(e)))}function i(e){return n(e.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,e=>"\\x0"+r(e)).replace(/[\x10-\x1F\x7F-\x9F]/g,e=>"\\x"+r(e)))}const o={literal:e=>'"'+s(e.text)+'"',class(e){const t=e.parts.map(e=>Array.isArray(e)?i(e[0])+"-"+i(e[1]):i(e));return"["+(e.inverted?"^":"")+t.join("")+"]"+(e.unicode?"u":"")},any:()=>"any character",end:()=>"end of input",other:e=>e.description};function l(e){return o[e.type](e)}return"Expected "+function(e){const t=e.map(l);if(t.sort(),t.length>0){let e=1;for(let r=1;r<t.length;r++)t[r-1]!==t[r]&&(t[e]=t[r],e++);t.length=e}switch(t.length){case 1:return t[0];case 2:return t[0]+" or "+t[1];default:return t.slice(0,-1).join(", ")+", or "+t[t.length-1]}}(e)+" but "+function(e){return e?'"'+s(e)+'"':"end of input"}(t)+" found."}}function c(e){if(!e||0===e.length)return null;if("string"==typeof e){const t=u(e);return t&&0!==t.length?t:null}const t=e.map(e=>{if(!Number.isFinite(e.scale)||e.scale<=0)throw new a.A("effect:invalid-scale","scale must be finite and greater than 0",{stop:e});return{scale:e.scale,effects:u(e.value)}});t.sort((e,t)=>t.effects.length-e.effects.length);for(let e=0;e<t.length-1;e++){if(!(0,o.mj)(t[e].effects,t[e+1].effects))throw new a.A("effect:interpolation-impossible","Cannot interpolate by scale between 2 lists of mixed effects",{a:t[e].effects,b:t[e+1].effects});(0,o.O9)(t[e].effects,t[e+1].effects)}return t.sort((e,t)=>t.scale-e.scale),t}function u(e){let t;if(!e)return[];try{t=function(e,t){const r={},a=(t=void 0!==t?t:{}).grammarSource,n={start:we};let s=we;const i="none",o=")",c=",",u="(",y="%",p="px",d="cm",f="mm",h="in",m="pt",g="pc",v="deg",L="rad",b="grad",w="turn",S="#",M=".",A="e",I=/^[ \t\n\r]/,x=/^[a-z\-]/,_=/^[0-9a-fA-F]/,T=/^[+\-]/,C=/^[0-9]/,G=ge("none"),F=he("none",!1),P=he(")",!1),O=he(",",!1),N=me([" ","\t","\n","\r"],!1,!1,!1),E=ge("function"),$=he("(",!1),k=ge("identifier"),U=me([["a","z"],"-"],!1,!1,!1),V=ge("percentage"),R=he("%",!1),W=ge("length"),j=he("px",!1),D=he("cm",!1),H=he("mm",!1),Z=he("in",!1),B=he("pt",!1),K=he("pc",!1),J=ge("angle"),X=he("deg",!1),Y=he("rad",!1),z=he("grad",!1),q=he("turn",!1),Q=ge("number"),ee=ge("color"),te=he("#",!1),re=me([["0","9"],["a","f"],["A","F"]],!1,!1,!1),ae=me(["+","-"],!1,!1,!1),ne=me([["0","9"]],!1,!1,!1),se=he(".",!1),ie=he("e",!1);let oe=0|t.peg$currPos,le=oe;const ce=[{line:1,column:1}];let ue,ye=oe,pe=t.peg$maxFailExpected||[],de=0|t.peg$silentFails;if(t.startRule){if(!(t.startRule in n))throw new Error("Can't start parsing from rule \""+t.startRule+'".');s=n[t.startRule]}function fe(){return e.substring(le,oe)}function he(e,t){return{type:"literal",text:e,ignoreCase:t}}function me(e,t,r,a){return{type:"class",parts:e,inverted:t,ignoreCase:r,unicode:a}}function ge(e){return{type:"other",description:e}}function ve(t){let r,a=ce[t];if(a)return a;if(t>=ce.length)r=ce.length-1;else for(r=t;!ce[--r];);for(a=ce[r],a={line:a.line,column:a.column};r<t;)10===e.charCodeAt(r)?(a.line++,a.column=1):a.column++,r++;return ce[t]=a,a}function Le(e,t,r){const n=ve(e),s=ve(t);return{source:a,start:{offset:e,line:n.line,column:n.column},end:{offset:t,line:s.line,column:s.column}}}function be(e){oe<ye||(oe>ye&&(ye=oe,pe=[]),pe.push(e))}function we(){let e;return e=Se(),e===r&&(e=function(){let e,t;if(e=[],t=Me(),t!==r)for(;t!==r;)e.push(t),t=Me();else e=r;return e}()),e}function Se(){let t,a;return de++,t=oe,Ie(),e.substr(oe,4)===i?(a=i,oe+=4):(a=r,0===de&&be(F)),a!==r?(Ie(),le=t,t=[]):(oe=t,t=r),de--,t===r&&0===de&&be(G),t}function Me(){let t,a,n,s;return t=oe,Ie(),a=function(){let t,a,n;return de++,t=oe,a=xe(),a!==r?(40===e.charCodeAt(oe)?(n=u,oe++):(n=r,0===de&&be($)),n!==r?(le=t,t=a):(oe=t,t=r)):(oe=t,t=r),de--,t===r&&(a=r,0===de&&be(E)),t}(),a!==r?(Ie(),n=function(){let t,a,n,s,i,o,l,u;if(t=oe,a=Ae(),a!==r){for(n=[],s=oe,i=Ie(),44===e.charCodeAt(oe)?(o=c,oe++):(o=r,0===de&&be(O)),o===r&&(o=null),l=Ie(),u=Ae(),u!==r?(i=[i,o,l,u],s=i):(oe=s,s=r);s!==r;)n.push(s),s=oe,i=Ie(),44===e.charCodeAt(oe)?(o=c,oe++):(o=r,0===de&&be(O)),o===r&&(o=null),l=Ie(),u=Ae(),u!==r?(i=[i,o,l,u],s=i):(oe=s,s=r);le=t,t=function(e,t){return t.length>0?function(e,t){return[e].concat(function(e){return e.map(function(e){return e[3]})}(t))}(e,t):[e]}(a,n)}else oe=t,t=r;return t}(),n===r&&(n=null),Ie(),41===e.charCodeAt(oe)?(s=o,oe++):(s=r,0===de&&be(P)),s!==r?(Ie(),le=t,t=function(e,t){return{type:"function",name:e,parameters:t||[]}}(a,n)):(oe=t,t=r)):(oe=t,t=r),t}function Ae(){let e,t;return e=oe,t=_e(),t===r&&(t=Te(),t===r&&(t=Ce(),t===r&&(t=function(){let e,t;return de++,e=oe,Ie(),t=Fe(),t!==r?(le=e,e=function(e){return{value:e,unit:null}}(t)):(oe=e,e=r),de--,e===r&&0===de&&be(Q),e}()))),t!==r&&(le=e,t=function(e){return{type:"quantity",value:e.value,unit:e.unit}}(t)),e=t,e===r&&(e=oe,t=Ge(),t!==r&&(le=e,t=function(e){return{type:"color",colorType:e.type,value:e.value}}(t)),e=t),e}function Ie(){let t,a;for(de++,t=[],a=e.charAt(oe),I.test(a)?oe++:(a=r,0===de&&be(N));a!==r;)t.push(a),a=e.charAt(oe),I.test(a)?oe++:(a=r,0===de&&be(N));return de--,t}function xe(){let t,a,n;if(de++,t=oe,a=[],n=e.charAt(oe),x.test(n)?oe++:(n=r,0===de&&be(U)),n!==r)for(;n!==r;)a.push(n),n=e.charAt(oe),x.test(n)?oe++:(n=r,0===de&&be(U));else a=r;return a!==r&&(le=t,a=fe()),t=a,de--,t===r&&(a=r,0===de&&be(k)),t}function _e(){let t,a,n;return de++,t=oe,Ie(),a=Fe(),a!==r?(37===e.charCodeAt(oe)?(n=y,oe++):(n=r,0===de&&be(R)),n!==r?(le=t,t=function(e){return{value:e,unit:"%"}}(a)):(oe=t,t=r)):(oe=t,t=r),de--,t===r&&0===de&&be(V),t}function Te(){let t,a,n;return de++,t=oe,Ie(),a=Fe(),a!==r?(e.substr(oe,2)===p?(n=p,oe+=2):(n=r,0===de&&be(j)),n!==r?(le=t,t=function(e){return{value:e,unit:"px"}}(a)):(oe=t,t=r)):(oe=t,t=r),t===r&&(t=oe,Ie(),a=Fe(),a!==r?(e.substr(oe,2)===d?(n=d,oe+=2):(n=r,0===de&&be(D)),n!==r?(le=t,t=function(e){return{value:e,unit:"cm"}}(a)):(oe=t,t=r)):(oe=t,t=r),t===r&&(t=oe,Ie(),a=Fe(),a!==r?(e.substr(oe,2)===f?(n=f,oe+=2):(n=r,0===de&&be(H)),n!==r?(le=t,t=function(e){return{value:e,unit:"mm"}}(a)):(oe=t,t=r)):(oe=t,t=r),t===r&&(t=oe,Ie(),a=Fe(),a!==r?(e.substr(oe,2)===h?(n=h,oe+=2):(n=r,0===de&&be(Z)),n!==r?(le=t,t=function(e){return{value:e,unit:"in"}}(a)):(oe=t,t=r)):(oe=t,t=r),t===r&&(t=oe,Ie(),a=Fe(),a!==r?(e.substr(oe,2)===m?(n=m,oe+=2):(n=r,0===de&&be(B)),n!==r?(le=t,t=function(e){return{value:e,unit:"pt"}}(a)):(oe=t,t=r)):(oe=t,t=r),t===r&&(t=oe,Ie(),a=Fe(),a!==r?(e.substr(oe,2)===g?(n=g,oe+=2):(n=r,0===de&&be(K)),n!==r?(le=t,t=function(e){return{value:e,unit:"pc"}}(a)):(oe=t,t=r)):(oe=t,t=r)))))),de--,t===r&&0===de&&be(W),t}function Ce(){let t,a,n;return de++,t=oe,a=Fe(),a!==r?(e.substr(oe,3)===v?(n=v,oe+=3):(n=r,0===de&&be(X)),n!==r?(le=t,t=function(e){return{value:e,unit:"deg"}}(a)):(oe=t,t=r)):(oe=t,t=r),t===r&&(t=oe,a=Fe(),a!==r?(e.substr(oe,3)===L?(n=L,oe+=3):(n=r,0===de&&be(Y)),n!==r?(le=t,t=function(e){return{value:e,unit:"rad"}}(a)):(oe=t,t=r)):(oe=t,t=r),t===r&&(t=oe,a=Fe(),a!==r?(e.substr(oe,4)===b?(n=b,oe+=4):(n=r,0===de&&be(z)),n!==r?(le=t,t=function(e){return{value:e,unit:"grad"}}(a)):(oe=t,t=r)):(oe=t,t=r),t===r&&(t=oe,a=Fe(),a!==r?(e.substr(oe,4)===w?(n=w,oe+=4):(n=r,0===de&&be(q)),n!==r?(le=t,t=function(e){return{value:e,unit:"turn"}}(a)):(oe=t,t=r)):(oe=t,t=r)))),de--,t===r&&(a=r,0===de&&be(J)),t}function Ge(){let t,a,n,s;if(de++,t=oe,35===e.charCodeAt(oe)?(a=S,oe++):(a=r,0===de&&be(te)),a!==r){if(n=[],s=e.charAt(oe),_.test(s)?oe++:(s=r,0===de&&be(re)),s!==r)for(;s!==r;)n.push(s),s=e.charAt(oe),_.test(s)?oe++:(s=r,0===de&&be(re));else n=r;n!==r?(le=t,t={type:"hex",value:fe()}):(oe=t,t=r)}else oe=t,t=r;return t===r&&(t=oe,a=Me(),a!==r&&(le=t,a=function(e){return{type:"function",value:e}}(a)),t=a,t===r&&(t=oe,a=xe(),a!==r&&(le=t,a={type:"named",value:fe()}),t=a)),de--,t===r&&(a=r,0===de&&be(ee)),t}function Fe(){let t,a,n,s,i,o,l,c;for(t=oe,a=e.charAt(oe),T.test(a)?oe++:(a=r,0===de&&be(ae)),a===r&&(a=null),n=oe,s=[],i=e.charAt(oe),C.test(i)?oe++:(i=r,0===de&&be(ne));i!==r;)s.push(i),i=e.charAt(oe),C.test(i)?oe++:(i=r,0===de&&be(ne));if(46===e.charCodeAt(oe)?(i=M,oe++):(i=r,0===de&&be(se)),i!==r){if(o=[],l=e.charAt(oe),C.test(l)?oe++:(l=r,0===de&&be(ne)),l!==r)for(;l!==r;)o.push(l),l=e.charAt(oe),C.test(l)?oe++:(l=r,0===de&&be(ne));else o=r;o!==r?(s=[s,i,o],n=s):(oe=n,n=r)}else oe=n,n=r;if(n===r)if(n=[],s=e.charAt(oe),C.test(s)?oe++:(s=r,0===de&&be(ne)),s!==r)for(;s!==r;)n.push(s),s=e.charAt(oe),C.test(s)?oe++:(s=r,0===de&&be(ne));else n=r;if(n!==r){if(s=oe,101===e.charCodeAt(oe)?(i=A,oe++):(i=r,0===de&&be(ie)),i!==r){if(o=e.charAt(oe),T.test(o)?oe++:(o=r,0===de&&be(ae)),o===r&&(o=null),l=[],c=e.charAt(oe),C.test(c)?oe++:(c=r,0===de&&be(ne)),c!==r)for(;c!==r;)l.push(c),c=e.charAt(oe),C.test(c)?oe++:(c=r,0===de&&be(ne));else l=r;l!==r?(i=[i,o,l],s=i):(oe=s,s=r)}else oe=s,s=r;s===r&&(s=null),le=t,t=parseFloat(fe())}else oe=t,t=r;return t}ue=s();const Pe=ue!==r&&oe===e.length;function Oe(){throw ue!==r&&oe<e.length&&be({type:"end"}),function(e,t,r){return new l(l.buildMessage(e,t),e,t,r)}(pe,ye<e.length?function(t=oe){const r=e.codePointAt(t);return void 0===r?"":String.fromCodePoint(r)}(ye):null,ye<e.length?Le(ye,ye+1):Le(ye,ye))}return t.peg$library?{peg$result:ue,peg$currPos:oe,peg$FAILED:r,peg$maxFailExpected:pe,peg$maxFailPos:ye,peg$success:Pe,peg$throw:Pe?void 0:Oe}:Pe?ue:void Oe()}(e)}catch(t){throw new a.A("effect:invalid-syntax","Invalid effect syntax",{value:e,error:t})}return t.map(e=>function(e){try{switch(e.name){case"grayscale":case"sepia":case"saturate":case"invert":case"brightness":case"contrast":return function(e){let t=1;return y(e.parameters,1),1===e.parameters.length&&(t=m(e.parameters[0])),new i.yG(e.name,t)}(e);case"opacity":return function(e){let t=1;return y(e.parameters,1),1===e.parameters.length&&(t=m(e.parameters[0])),new i.jm(t)}(e);case"hue-rotate":return function(e){let t=0;return y(e.parameters,1),1===e.parameters.length&&(t=function(e){return function(e){if("quantity"!==e.type||!(0===e.value&&null===e.unit||e.unit&&null!=f[e.unit]))throw new a.A("effect:type-error",`Expected <angle>, Actual: ${p(e)}`,{term:e})}(e),e.value*f[e.unit]||0}(e.parameters[0])),new i.Nd(t)}(e);case"blur":return function(e){let t=0;return y(e.parameters,1),1===e.parameters.length&&(t=g(e.parameters[0]),d(t,e.parameters[0])),new i.Fk(t)}(e);case"drop-shadow":return function(e){const t=[];let r=null;for(const n of e.parameters)if("color"===n.type){if(t.length&&Object.freeze(t),r)throw new a.A("effect:type-error","Accepts only one color",{});r=v(n)}else{const e=g(n);if(Object.isFrozen(t))throw new a.A("effect:type-error","<length> parameters not consecutive",{lengths:t});t.push(e),3===t.length&&d(e,n)}if(t.length<2||t.length>3)throw new a.A("effect:type-error",`Expected <length>{2,3}, Actual: <length>{${t.length}}`,{lengths:t});return new i.$b(t[0],t[1],t[2]||0,r||L("black"))}(e);case"bloom":return function(e){let t=1,r=0,a=0;return y(e.parameters,3),e.parameters[0]&&(t=m(e.parameters[0])),e.parameters[1]&&(r=g(e.parameters[1]),d(r,e.parameters[1])),e.parameters[2]&&(a=m(e.parameters[2])),new i.bv(t,r,a)}(e)}}catch(t){throw t.details.filter=e,t}throw new a.A("effect:unknown-effect",`Effect '${e.name}' is not supported`,{effect:e})}(e))}function y(e,t){if(e.length>t)throw new a.A("effect:type-error",`Function supports up to ${t} parameters, Actual: ${e.length}`,{parameters:e})}function p(e){if("color"===e.type)return"<color>";if(e.unit){if(e.unit in h)return"<length>";if(e.unit in f)return"<angle>";if("%"===e.unit)return"<percentage>"}return"<double>"}function d(e,t){if(e<0)throw new a.A("effect:type-error",`Negative values are not allowed, Actual: ${e}`,{term:t})}const f={deg:1,grad:.9,rad:180/Math.PI,turn:360},h={px:1,cm:96/2.54,mm:96/2.54/10,in:96,pc:16,pt:96/72};function m(e){!function(e){if("quantity"!==e.type||null!==e.unit&&"%"!==e.unit)throw new a.A("effect:type-error",`Expected <double> or <percentage>, Actual: ${p(e)}`,{term:e})}(e);const t=e.value;return d(t,e),"%"===e.unit?.01*t:t}function g(e){return function(e){if("quantity"!==e.type||!(0===e.value&&null===e.unit||e.unit&&null!=h[e.unit]))throw new a.A("effect:type-error",`Expected <length>, Actual: ${p(e)}`,{term:e})}(e),e.value*h[e.unit]||0}function v(e){switch(e.colorType){case"hex":return(0,s.j5)(e.value);case"named":return L(e.value);case"function":return function(e){if(y(e.parameters,4),b.test(e.name))return[m(e.parameters[0]),m(e.parameters[1]),m(e.parameters[2]),e.parameters[3]?m(e.parameters[3]):1];if(w.test(e.name))return(0,s.ay)(function(e){return function(e){if("quantity"!==e.type||null!==e.unit)throw new a.A("effect:type-error",`Expected <double>, Actual: ${p(e)}`,{term:e})}(e),d(e.value,e),e.value}(e.parameters[0]),m(e.parameters[1]),m(e.parameters[2]),e.parameters[3]?m(e.parameters[3]):1);throw new a.A("effect:syntax-error",`Invalid color function '${e.name}'`,{colorFunction:e})}(e.value)}}function L(e){if(!(0,s.V6)(e))throw new a.A("effect:unknown-color",`color '${e}' isn't valid`,{namedColor:e});return(0,s.c4)(e)}const b=/^rgba?/i,w=/^hsla?/i;function S(e,t,r){try{return function(e){if(!e||0===e.length)return null;if(function(e){const t=e[0];return!!t&&"scale"in t}(e)){const t=[];for(const r of e)t.push({scale:r.scale,value:A(r.value)});return t}return A(e)}(e)}catch(e){r?.messages?.push(e)}return null}function M(e,t,r,a){try{const a=function(e){const t=c(e);return t?(0,o.dw)(t)?t.map(e=>e.toJSON()):t.map(({scale:e,effects:t})=>({scale:e,value:t.map(e=>e.toJSON())})):null}(e);(0,n.sM)(r,a,t)}catch(e){a.messages&&a.messages.push(e)}}function A(e){if(!e?.length)return"";const t=[];for(const r of e){let e=[];switch(r.type){case"grayscale":case"sepia":case"saturate":case"invert":case"brightness":case"contrast":case"opacity":e=[I(r,"amount")];break;case"blur":e=[I(r,"radius","pt")];break;case"hue-rotate":e=[I(r,"angle","deg")];break;case"drop-shadow":e=[I(r,"xoffset","pt"),I(r,"yoffset","pt"),I(r,"blurRadius","pt"),x(r,"color")];break;case"bloom":e=[I(r,"strength"),I(r,"radius","pt"),I(r,"threshold")]}const a=`${r.type}(${e.filter(Boolean).join(" ")})`;c(a),t.push(a)}return t.join(" ")}function I(e,t,r){if(null==e[t])throw new a.A("effect:missing-parameter",`Missing parameter '${t}' in ${e.type} effect`,{effect:e});return r?e[t]+r:""+e[t]}function x(e,t){if(null==e[t])throw new a.A("effect:missing-parameter",`Missing parameter '${t}' in ${e.type} effect`,{effect:e});const r=e[t];return`rgba(${r[0]||0}, ${r[1]||0}, ${r[2]||0}, ${r[3]/255||0})`}},78553:(e,t,r)=>{r.d(t,{D:()=>s,p:()=>n});var a=r(56507);function n(e){const t=(0,a.Vr)(100*(1-e));return Math.max(0,Math.min(t,100))}function s(e){const t=1-e/100;return Math.max(0,Math.min(t,1))}},81583:(e,t,r)=>{r.d(t,{L:()=>o,g:()=>i});var a=r(60999),n=r(5503),s=r(92474);async function i(e,t){return await e.load(),o(e,t)}async function o(e,t){const r=[],i=(...e)=>{for(const t of e)null!=t&&(Array.isArray(t)?i(...t):n.A.isCollection(t)?t.forEach(e=>i(e)):s.A.isLoadable(t)&&r.push(t))};t(i);let o=null;if(await(0,a.Tj)(r,async e=>{const t=await(0,a.Ke)(function(e){return"loadAll"in e&&"function"==typeof e.loadAll}(e)?e.loadAll():e.load());!1!==t.ok||o||(o=t)}),o)throw o.error;return e}},85989:(e,t,r)=>{r.r(t),r.d(t,{default:()=>$});var a=r(90237),n=r(38961),s=r(81583),i=r(53966),o=r(92071),l=r(74887),c=r(36708),u=r(10107),y=(r(44208),r(87811),r(88620)),p=r(36005),d=r(40608),f=r(43937),h=r(35666),m=r(4146),g=r(63074),v=r(16131),L=r(8303),b=r(25036),w=r(75356),S=r(4513),M=r(80812),A=r(5503),I=r(62885);function x(e,t,r){let a,n;if(e)for(let s=0,i=e.length;s<i;s++){if(a=e.at(s),a?.[t]===r)return a;if("group"===a?.type&&(n=x(a.layers,t,r),n))return n}}const _=e=>{const t=e;let r=class extends t{constructor(...e){super(...e),this.layers=new A.A;const t=e=>{e.parent=this,this.layerAdded(e),"elevation"!==e.type&&"base-elevation"!==e.type||i.A.getLogger(this).error(`Layer 'title:${e.title}, id:${e.id}' of type '${e.type}' is not supported as an operational layer and will therefore be ignored.`)},r=e=>{e.parent=null,this.layerRemoved(e)};this.addHandles([this.layers.on("before-add",e=>{if(e.item===this)return e.preventDefault(),void i.A.getLogger(this).error("#add()","Cannot add layer to itself.");(e=>{e.parent&&"remove"in e.parent&&e.parent.remove(e)})(e.item)}),this.layers.on("after-add",e=>t(e.item)),this.layers.on("after-remove",e=>r(e.item))])}destroy(){const e=this.layers.toArray();for(const t of e)t.destroy();this.layers.destroy()}set layers(e){this._set("layers",(0,I.V)(e,this._get("layers")))}add(e,t){const r=this.layers;if(t=r.getNextIndex(t),e instanceof m.A){const a=e;a.parent===this?this.reorder(a,t):r.add(a,t)}else(0,l.$X)(e)?e.then(e=>{this.destroyed||this.add(e,t)}):i.A.getLogger(this).error("#add()","The item being added is not a Layer or a Promise that resolves to a Layer.")}addMany(e,t){const r=this.layers;let a=r.getNextIndex(t);e.slice().forEach(e=>{e.parent!==this?(r.add(e,a),a+=1):this.reorder(e,a)})}findLayerById(e){return x(this.layers,"id",e)}findLayerByUid(e){return x(this.layers,"uid",e)}remove(e){return this.layers.remove(e)}removeMany(e){return this.layers.removeMany(e)}removeAll(){return this.layers.removeAll()}reorder(e,t){return this.layers.reorder(e,t)}layerAdded(e){}layerRemoved(e){}};return(0,a._)([(0,u.MZ)()],r.prototype,"layers",null),r=(0,a._)([(0,d.$)("esri.support.LayersMixin")],r),r},T=new Set(["feature","subtype-group"]);function C(e,t,r){if(e)for(let a=0,n=e.length;a<n;a++){const n=e.at(a);if(n[t]===r)return n;if("group"===n?.type){const e=C(n.tables,t,r);if(e)return e}}}const G=e=>{const t=e;let r=class extends t{constructor(...e){super(...e),this.tables=new A.A,this.addHandles([this.tables.on("after-add",e=>{const t=e.item;t.parent&&t.parent!==this&&"tables"in t.parent&&t.parent.tables.remove(t),t.parent=this,T.has(t.type)||i.A.getLogger(this).error(`Layer 'title:${t.title}, id:${t.id}' of type '${t.type}' is not supported as a table and will therefore be ignored.`)}),this.tables.on("after-remove",e=>{e.item.parent=null})])}destroy(){const e=this.tables.toArray();for(const t of e)t.destroy();this.tables.destroy()}set tables(e){this._set("tables",(0,I.V)(e,this._get("tables")))}findTableById(e){return C(this.tables,"id",e)}findTableByUid(e){return C(this.tables,"uid",e)}};return(0,a._)([(0,u.MZ)()],r.prototype,"tables",null),r=(0,a._)([(0,d.$)("esri.support.TablesMixin")],r),r},F=Symbol("WebScene");var P=r(92935),O=r(26121),N=r(751);let E=class extends((0,g.dM)((0,b.j)((0,v.q)((0,L.A)(G(_((0,o.P)(m.A)))))))){constructor(e){var t;super(e),this.allLayers=new n.A({getCollections:()=>[this.layers],getChildrenFunction:e=>"layers"in e?e.layers:null}),this.allTables=(t=this,new n.A({getCollections:()=>[t.tables,t.layers],getChildrenFunction:e=>{const t=[];return"tables"in e&&t.push(e.tables),"layers"in e&&t.push(e.layers),t},itemFilterFunction:e=>{const t=e.parent;return!!t&&"tables"in t&&t.tables.includes(e)}})),this.fullExtent=void 0,this.operationalLayerType="GroupLayer",this.spatialReference=void 0,this.type="group",this._debouncedSaveOperations=(0,l.sg)(async(e,t,a)=>{const{save:n,saveAs:s}=await r.e(2958).then(r.bind(r,32958));switch(e){case P.X.SAVE:return n(this,t);case P.X.SAVE_AS:return s(this,a,t)}})}initialize(){this._enforceVisibility(this.visibilityMode,this.visible),this.addHandles([(0,c.wB)(()=>{let e=this.parent;for(;e&&"parent"in e&&e.parent;)e=e.parent;return e&&F in e},e=>{const t="prevent-adding-tables";this.removeHandles(t),e&&(this.tables.removeAll(),this.addHandles((0,c.on)(()=>this.tables,"before-add",e=>{e.preventDefault(),i.A.getLogger(this).errorOnce("tables","tables in group layers in a webscene are not supported. Please move the tables from the group layer to the webscene if you want to persist them.")}),t))},c.pc),(0,c.wB)(()=>this.visible,this._onVisibilityChange.bind(this),c.OH)])}destroy(){this.allLayers.destroy(),this.allTables.destroy()}get sourceIsPortalItem(){return this.portalItem&&this.originIdOf("portalItem")===h.Gr.USER}_writeLayers(e,t,r,a){const n=[];if(!e)return n;e.forEach(e=>{const t=(0,N.CJ)(e,a.webmap?a.webmap.getLayerJSONFromResourceInfo(e):null,a);t?.layerType&&n.push(t)}),t.layers=n}set portalItem(e){this._set("portalItem",e)}readPortalItem(e,t,r){const{itemId:a,layerType:n}=t;if("GroupLayer"===n&&a)return new M.default({id:a,portal:r?.portal})}writePortalItem(e,t){e?.id&&(t.itemId=e.id)}set visibilityMode(e){const t=this._get("visibilityMode")!==e;this._set("visibilityMode",e),t&&this._enforceVisibility(e,this.visible)}async beforeSave(){return(0,O.dL)(this)}load(e){const t=this.loadFromPortal({supportedTypes:["Feature Service","Feature Collection","Group Layer","Scene Service","Video Service"],layerModuleTypeMap:S.S,populateGroupLayer:w.N},e).catch(e=>{if((0,l.QP)(e),this.sourceIsPortalItem)throw e});return this.addResolvingPromise(t),Promise.resolve(this)}async loadAll(){return(0,s.g)(this,e=>{e(this.layers,this.tables)})}async save(e){return this._debouncedSaveOperations(P.X.SAVE,e)}async saveAs(e,t){return this._debouncedSaveOperations(P.X.SAVE_AS,t,e)}layerAdded(e){e.visible&&"exclusive"===this.visibilityMode?this._turnOffOtherLayers(e):"inherited"===this.visibilityMode&&(e.visible=this.visible),this.hasHandles(e.uid)?console.error(`Layer read to Grouplayer: uid=${e.uid}`):this.addHandles((0,c.wB)(()=>e.visible,t=>this._onChildVisibilityChange(e,t),c.OH),e.uid)}layerRemoved(e){this.removeHandles(e.uid),this._enforceVisibility(this.visibilityMode,this.visible)}_turnOffOtherLayers(e){this.layers.forEach(t=>{t!==e&&(t.visible=!1)})}_enforceVisibility(e,t){if(!(0,y.oY)(this).initialized)return;const r=this.layers;let a=r.find(e=>e.visible);switch(e){case"exclusive":r.length&&!a&&(a=r.at(0),a.visible=!0),this._turnOffOtherLayers(a);break;case"inherited":r.forEach(e=>{e.visible=t})}}_onVisibilityChange(e){"inherited"===this.visibilityMode&&this.layers.forEach(t=>{t.visible=e})}_onChildVisibilityChange(e,t){switch(this.visibilityMode){case"exclusive":t?this._turnOffOtherLayers(e):this._isAnyLayerVisible()||(e.visible=!0);break;case"inherited":e.visible=this.visible}}_isAnyLayerVisible(){return this.layers.some(e=>e.visible)}};(0,a._)([(0,u.MZ)({readOnly:!0,dependsOn:[]})],E.prototype,"allLayers",void 0),(0,a._)([(0,u.MZ)({readOnly:!0})],E.prototype,"allTables",void 0),(0,a._)([(0,u.MZ)({json:{read:!0,write:!0}})],E.prototype,"blendMode",void 0),(0,a._)([(0,u.MZ)()],E.prototype,"fullExtent",void 0),(0,a._)([(0,u.MZ)({readOnly:!0})],E.prototype,"sourceIsPortalItem",null),(0,a._)([(0,u.MZ)({json:{read:!1,write:{ignoreOrigin:!0}}})],E.prototype,"layers",void 0),(0,a._)([(0,f.K)("layers")],E.prototype,"_writeLayers",null),(0,a._)([(0,u.MZ)({type:["GroupLayer"]})],E.prototype,"operationalLayerType",void 0),(0,a._)([(0,u.MZ)({json:{origins:{"web-map":{read:!1,write:{overridePolicy(e,t,r){return{enabled:"Group Layer"===e?.type&&r?.initiator!==this}}}},"web-scene":{read:!1,write:!1}}}})],E.prototype,"portalItem",null),(0,a._)([(0,p.w)("web-map","portalItem",["itemId"])],E.prototype,"readPortalItem",null),(0,a._)([(0,f.K)("web-map","portalItem",{itemId:{type:String}})],E.prototype,"writePortalItem",null),(0,a._)([(0,u.MZ)()],E.prototype,"spatialReference",void 0),(0,a._)([(0,u.MZ)({json:{read:!1},readOnly:!0,value:"group"})],E.prototype,"type",void 0),(0,a._)([(0,u.MZ)({type:["independent","inherited","exclusive"],value:"independent",json:{write:!0,origins:{"web-map":{type:["independent","exclusive"],write:(e,t,r)=>{"inherited"!==e&&(t[r]=e)}}}}})],E.prototype,"visibilityMode",null),E=(0,a._)([(0,d.$)("esri.layers.GroupLayer")],E);const $=E},90629:(e,t,r)=>{r.d(t,{Lz:()=>i,PN:()=>o,cr:()=>l,gs:()=>u,r_:()=>y,tc:()=>c});const a=/^-?(\d+(\.\d+)?)\s*((px)|(pt))?$/i,n="screenUtils.toPt: input not recognized!",s=96;function i(e){return e?e/72*s:0}function o(e){return e?72*e/s:0}function l(e){if("string"==typeof e){const t=e.match(a);if(t){const r=Number(t[1]),a=t[3]&&t[3].toLowerCase(),n="-"===e.charAt(0),s="px"===a?o(r):r;return n?-s:s}return console.warn(n),null}return e}function c(e=0,t=0){return{x:e,y:t}}function u(e=0,t=0){return[e,t]}function y(e=0,t=0,r=0){return[e,t,r]}},92935:(e,t,r)=>{var a;r.d(t,{X:()=>a}),function(e){e[e.SAVE=0]="SAVE",e[e.SAVE_AS=1]="SAVE_AS"}(a||(a={}))}}]);
@@ -87,7 +87,7 @@ return fallOffFunction(vv, vn, 0.1);
87
87
  A = (pow(A, 0.2) + 1.2 * A * A * A * A) / 2.2;
88
88
 
89
89
  fragOcclusion = A;
90
- `),e}function g(e){return Math.max(10,20*e.computeScreenPixelSizeAtDist(Math.abs(4*e.relativeElevation)))}const _=(0,n.vt)(),T=Object.freeze(Object.defineProperty({__proto__:null,build:v,getRadius:g},Symbol.toStringTag,{value:"Module"}))},15976:(e,t,r)=>{r.d(t,{o:()=>o});var i=r(69270),n=r(74333);class o extends n.n{constructor(e,t){super(e,"sampler2D",i.c.Draw,(r,i,n)=>r.bindTexture(e,t(i,n)))}}},16396:(e,t,r)=>{r.d(t,{ou:()=>c}),r(77690),r(29242),r(58083),r(9093);var i=r(38954),n=r(51850),o=r(97937),a=r(24151),s=r(57005);const l=new class{constructor(e=0){this.offset=e,this.sphere=(0,o.c)(),this.tmpVertex=(0,n.vt)()}applyToVertex(e,t,r){const n=this.objectTransform.transform,o=(0,i.i)(d,e,t,r),a=(0,i.t)(o,o,n),s=this.offset/(0,i.l)(a);(0,i.b)(a,a,a,s);const l=this.objectTransform.inverse;return(0,i.t)(this.tmpVertex,a,l),this.tmpVertex}applyToMinMax(e,t){const r=this.offset/(0,i.l)(e);(0,i.b)(e,e,e,r);const n=this.offset/(0,i.l)(t);(0,i.b)(t,t,t,n)}applyToAabb(e){const t=this.offset/Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]+=e[0]*t,e[1]+=e[1]*t,e[2]+=e[2]*t;const r=this.offset/Math.sqrt(e[3]*e[3]+e[4]*e[4]+e[5]*e[5]);return e[3]+=e[3]*r,e[4]+=e[4]*r,e[5]+=e[5]*r,e}applyToBoundingSphere(e){const t=(0,i.l)((0,o.a)(e)),r=this.offset/t;return(0,i.b)((0,o.a)(this.sphere),(0,o.a)(e),(0,o.a)(e),r),this.sphere[3]=e[3]+e[3]*this.offset/t,this.sphere}};function c(e){return null!=e?(l.offset=e,l):null}new class{constructor(e=0){this.componentLocalOriginLength=0,this._totalOffset=0,this._offset=0,this._tmpVertex=(0,n.vt)(),this._tmpMbs=(0,o.c)(),this._tmpObb=new s.ab,this._resetOffset(e)}_resetOffset(e){this._offset=e,this._totalOffset=e}set offset(e){this._resetOffset(e)}get offset(){return this._offset}set componentOffset(e){this._totalOffset=this._offset+e}set localOrigin(e){this.componentLocalOriginLength=(0,i.l)(e)}applyToVertex(e,t,r){const n=(0,i.i)(d,e,t,r),o=(0,i.i)(u,e,t,r+this.componentLocalOriginLength),a=this._totalOffset/(0,i.l)(o);return(0,i.b)(this._tmpVertex,n,o,a),this._tmpVertex}applyToAabb(e){const t=this.componentLocalOriginLength,r=e[0],i=e[1],n=e[2]+t,o=e[3],a=e[4],s=e[5]+t,l=Math.abs(r),c=Math.abs(i),d=Math.abs(n),u=Math.abs(o),h=Math.abs(a),m=Math.abs(s),p=.5*(1+Math.sign(r*o))*Math.min(l,u),f=.5*(1+Math.sign(i*a))*Math.min(c,h),v=.5*(1+Math.sign(n*s))*Math.min(d,m),g=Math.max(l,u),_=Math.max(c,h),T=Math.max(d,m),x=Math.sqrt(p*p+f*f+v*v),E=Math.sign(l+r),M=Math.sign(c+i),A=Math.sign(d+n),w=Math.sign(u+o),b=Math.sign(h+a),R=Math.sign(m+s),O=this._totalOffset;if(x<O)return e[0]-=(1-E)*O,e[1]-=(1-M)*O,e[2]-=(1-A)*O,e[3]+=w*O,e[4]+=b*O,e[5]+=R*O,e;const S=O/Math.sqrt(g*g+_*_+T*T),y=O/x,C=y-S,I=-C;return e[0]+=r*(E*I+y),e[1]+=i*(M*I+y),e[2]+=n*(A*I+y),e[3]+=o*(w*C+S),e[4]+=a*(b*C+S),e[5]+=s*(R*C+S),e}applyToMbs(e){const t=(0,i.l)((0,o.a)(e)),r=this._totalOffset/t;return(0,i.b)((0,o.a)(this._tmpMbs),(0,o.a)(e),(0,o.a)(e),r),this._tmpMbs[3]=e[3]+e[3]*this._totalOffset/t,this._tmpMbs}applyToObb(e){return(0,s.gm)(e,this._totalOffset,this._totalOffset,a.RT.Global,this._tmpObb),this._tmpObb}},new class{constructor(e=0){this.offset=e,this.tmpVertex=(0,n.vt)()}applyToVertex(e,t,r){const n=(0,i.i)(d,e,t,r),o=(0,i.f)(u,n,this.localOrigin),a=this.offset/(0,i.l)(o);return(0,i.b)(this.tmpVertex,n,o,a),this.tmpVertex}applyToAabb(e){const t=h,r=m,i=p;for(let n=0;n<3;++n)t[n]=e[0+n]+this.localOrigin[n],r[n]=e[3+n]+this.localOrigin[n],i[n]=t[n];const n=this.applyToVertex(t[0],t[1],t[2]);for(let t=0;t<3;++t)e[t]=n[t],e[t+3]=n[t];const o=t=>{const r=this.applyToVertex(t[0],t[1],t[2]);for(let t=0;t<3;++t)e[t]=Math.min(e[t],r[t]),e[t+3]=Math.max(e[t+3],r[t])};for(let e=1;e<8;++e){for(let n=0;n<3;++n)i[n]=e&1<<n?r[n]:t[n];o(i)}let a=0;for(let e=0;e<3;++e)t[e]*r[e]<0&&(a|=1<<e);if(0!==a&&7!==a)for(let e=0;e<8;++e)if(0===(a&e)){for(let n=0;n<3;++n)i[n]=a&1<<n?0:e&1<<n?t[n]:r[n];o(i)}for(let t=0;t<3;++t)e[t]-=this.localOrigin[t],e[t+3]-=this.localOrigin[t];return e}};const d=(0,n.vt)(),u=(0,n.vt)(),h=(0,n.vt)(),m=(0,n.vt)(),p=(0,n.vt)()},16943:(e,t,r)=>{r.d(t,{E:()=>n});var i=r(44208);function n(){return!!(0,i.A)("enable-feature:objectAndLayerId-rendering")}},17352:(e,t,r)=>{r.d(t,{b:()=>j,f:()=>x}),r(44208);var i=r(53966),n=r(34727),o=r(4341),a=r(58083),s=r(9093),l=r(38954),c=r(51850),d=r(19419),u=r(88582),h=r(11964),m=r(27921),p=r(71351),f=r(44280),v=r(32114);const g=()=>i.A.getLogger("esri.views.3d.support.geometryUtils.boundedPlane");function _(e=L){return{plane:(0,m.vt)(e.plane),origin:(0,c.o8)(e.origin),basis1:(0,c.o8)(e.basis1),basis2:(0,c.o8)(e.basis2)}}function T(e,t=_()){return x(e.origin,e.basis1,e.basis2,t)}function x(e,t,r,i=_()){return(0,l.c)(i.origin,e),(0,l.c)(i.basis1,t),(0,l.c)(i.basis2,r),E(i),function(e,t){Math.abs((0,l.e)(e.basis1,e.basis2)/((0,l.l)(e.basis1)*(0,l.l)(e.basis2)))>1e-6&&g().warn(t,"Provided basis vectors are not perpendicular"),Math.abs((0,l.e)(e.basis1,I(e)))>1e-6&&g().warn(t,"Basis vectors and plane normal are not perpendicular"),Math.abs(-(0,l.e)(I(e),e.origin)-e.plane[3])>1e-6&&g().warn(t,"Plane offset is not consistent with plane origin")}(i,"fromValues()"),i}function E(e){(0,m.mR)(e.basis2,e.basis1,e.origin,e.plane)}function M(e,t,r){e!==r&&T(e,r);const i=(0,l.g)(v.rq.get(),I(e),t);return(0,l.f)(r.origin,r.origin,i),r.plane[3]-=t,r}function A(e,t=_()){const r=(e[2]-e[0])/2,i=(e[3]-e[1])/2;return(0,l.i)(t.origin,e[0]+r,e[1]+i,0),(0,l.i)(t.basis1,r,0,0),(0,l.i)(t.basis2,0,i,0),(0,m.fA)(0,0,1,0,t.plane),t}function w(e,t,r){return!!(0,m.Ui)(e.plane,t,r)&&N(e,r)}function b(e,t,r){const i=H.get();F(e,t,i,H.get());let o=Number.POSITIVE_INFINITY;for(const a of z){const s=D(e,a,B.get()),c=v.rq.get();if((0,m.T7)(i,s,c)){const e=(0,l.E)(v.rq.get(),t.origin,c),i=Math.abs((0,n.XM)((0,l.e)(t.direction,e)));i<o&&(o=i,(0,l.c)(r,c))}}return o===Number.POSITIVE_INFINITY?R(e,t,r):r}function R(e,t,r){if(w(e,t,r))return r;const i=H.get(),n=H.get();F(e,t,i,n);let o=Number.POSITIVE_INFINITY;for(const a of z){const s=D(e,a,B.get()),c=v.rq.get();if((0,m.gv)(i,s,c)){const e=(0,p.kb)(t,c);if(!(0,m.Tj)(n,c))continue;e<o&&(o=e,(0,l.c)(r,c))}}return y(e,t.origin)<o&&O(e,t.origin,r),r}function O(e,t,r){const i=(0,m._I)(e.plane,t,v.rq.get()),n=(0,h.H6)(P(e,e.basis1),i,-1,1,v.rq.get()),o=(0,h.H6)(P(e,e.basis2),i,-1,1,v.rq.get());return(0,l.d)(r,(0,l.f)(v.rq.get(),n,o),e.origin),r}function S(e,t,r){const{origin:i,basis1:n,basis2:o}=e,a=(0,l.d)(v.rq.get(),t,i),s=(0,f.gr)(n,a),c=(0,f.gr)(o,a),d=(0,f.gr)(I(e),a);return(0,l.i)(r,s,c,d)}function y(e,t){const r=S(e,t,v.rq.get()),{basis1:i,basis2:n}=e,o=(0,l.l)(i),a=(0,l.l)(n),s=Math.max(Math.abs(r[0])-o,0),c=Math.max(Math.abs(r[1])-a,0),d=r[2];return s*s+c*c+d*d}function C(e,t){const r=-e.plane[3];return(0,f.gr)(I(e),t)-r}function I(e){return(0,m.Qj)(e.plane)}function N(e,t){const r=(0,l.d)(v.rq.get(),t,e.origin),i=(0,l.k)(e.basis1),n=(0,l.k)(e.basis2),o=(0,l.e)(e.basis1,r),a=(0,l.e)(e.basis2,r);return-o-i<0&&o-i<0&&-a-n<0&&a-n<0}function P(e,t){const r=B.get();return(0,l.c)(r.origin,e.origin),(0,l.c)(r.vector,t),r}function D(e,t,r){const{basis1:i,basis2:n,origin:o}=e,a=(0,l.g)(v.rq.get(),i,t.origin[0]),s=(0,l.g)(v.rq.get(),n,t.origin[1]);(0,l.f)(r.origin,a,s),(0,l.f)(r.origin,r.origin,o);const c=(0,l.g)(v.rq.get(),i,t.direction[0]),d=(0,l.g)(v.rq.get(),n,t.direction[1]);return(0,l.g)(r.vector,(0,l.f)(c,c,d),2),r}function F(e,t,r,i){const n=I(e);(0,m.mR)(n,t.direction,t.origin,r),(0,m.mR)((0,m.Qj)(r),n,t.origin,i)}const L={plane:(0,m.vt)(),origin:(0,c.fA)(0,0,0),basis1:(0,c.fA)(1,0,0),basis2:(0,c.fA)(0,1,0)},H=new o.I(m.vt),B=new o.I(h.vt),G=(0,c.vt)(),U=new o.I(()=>_()),z=[{origin:[-1,-1],direction:[1,0]},{origin:[1,-1],direction:[0,1]},{origin:[1,1],direction:[-1,0]},{origin:[-1,1],direction:[0,-1]}],V=(0,s.vt)(),W=(0,s.vt)(),j=Object.freeze(Object.defineProperty({__proto__:null,BoundedPlaneClass:class{constructor(){this.plane=(0,m.vt)(),this.origin=(0,c.vt)(),this.basis1=(0,c.vt)(),this.basis2=(0,c.vt)()}},altitudeAt:C,axisAt:function(e,t,r,i){return function(e,t,r){switch(t){case u._.X:(0,l.c)(r,e.basis1),(0,l.n)(r,r);break;case u._.Y:(0,l.c)(r,e.basis2),(0,l.n)(r,r);break;case u._.Z:(0,l.c)(r,I(e))}return r}(e,r,i)},cameraFrustumCoverage:function(e,t){return(t-e)/t},closestPoint:R,closestPointOnSilhouette:b,copy:T,copyWithoutVerify:function(e,t){(0,l.c)(t.origin,e.origin),(0,l.c)(t.basis1,e.basis1),(0,l.c)(t.basis2,e.basis2),(0,m.C)(t.plane,e.plane)},create:_,distance:function(e,t){return Math.sqrt(y(e,t))},distance2:y,distanceToSilhouette:function(e,t){let r=Number.NEGATIVE_INFINITY;for(const i of z){const n=D(e,i,B.get()),o=(0,h.kb)(n,t);o>r&&(r=o)}return Math.sqrt(r)},elevate:M,equals:function(e,t){return(0,l.q)(e.basis1,t.basis1)&&(0,l.q)(e.basis2,t.basis2)&&(0,l.q)(e.origin,t.origin)},extrusionContainsPoint:function(e,t){return(0,m.Tj)(e.plane,t)&&N(e,t)},fromAABoundingRect:A,fromValues:x,getExtent:function(e,t){const r=e.basis1[0],i=e.basis2[1],[n,o]=e.origin;return(0,d.fA)(n-r,o-i,n+r,o+i,t)},intersectRay:w,intersectRayClosestSilhouette:function(e,t,r){if(w(e,t,r))return r;const i=b(e,t,v.rq.get());return(0,l.f)(r,t.origin,(0,l.g)(v.rq.get(),t.direction,(0,l.j)(t.origin,i)/(0,l.l)(t.direction))),r},normal:I,projectPoint:O,projectPointLocal:S,rotate:function(e,t,r,i){return e!==i&&T(e,i),(0,a.$0)(W,t,r),(0,l.t)(i.basis1,e.basis1,W),(0,l.t)(i.basis2,e.basis2,W),E(i),i},setAltitudeAt:function(e,t,r,i){const n=C(e,t),o=(0,l.g)(G,I(e),r-n);return(0,l.f)(i,t,o),i},setExtent:function(e,t,r){return A(t,r),M(r,C(e,e.origin),r),r},transform:function(e,t,r){return e!==r&&T(e,r),(0,a.B8)(V,t),(0,a.mg)(V,V),(0,l.t)(r.basis1,e.basis1,V),(0,l.t)(r.basis2,e.basis2,V),(0,l.t)((0,m.Qj)(r.plane),(0,m.Qj)(e.plane),V),(0,l.t)(r.origin,e.origin,t),(0,m.mP)(r.plane,r.plane,r.origin),r},up:L,updateUnboundedPlane:E,wrap:function(e,t,r){const i=U.get();return i.origin=e,i.basis1=t,i.basis2=r,i.plane=(0,m.LV)(0,0,0,0),E(i),i}},Symbol.toStringTag,{value:"Module"}))},20304:(e,t,r)=>{r.d(t,{m:()=>o});var i=r(69270),n=r(74333);class o extends n.n{constructor(e,t,r){super(e,"float",i.c.Pass,(i,n,o)=>i.setUniform1f(e,t(n,o),r))}}},20693:(e,t,r)=>{r.d(t,{yu:()=>p,Nz:()=>T,NB:()=>f,S7:()=>_});var i=r(58083),n=r(9093),o=r(38954),a=r(51850),s=r(23205),l=r(40710),c=r(33094),d=r(58029),u=r(69270),h=r(74333);class m extends h.n{constructor(e,t,r){super(e,"mat4",u.c.Draw,(i,n,o)=>i.setUniformMatrix4fv(e,t(n,o),r))}}function p(e,t){t.instancedDoublePrecision?e.constants.add("cameraPosition","vec3",a.uY):e.uniforms.add(new l.W("cameraPosition",(e,t)=>(0,o.i)(g,t.camera.viewInverseTransposeMatrix[3]-e.origin[0],t.camera.viewInverseTransposeMatrix[7]-e.origin[1],t.camera.viewInverseTransposeMatrix[11]-e.origin[2])))}function f(e,t){if(!t.instancedDoublePrecision)return void e.uniforms.add(new d.F("proj",e=>e.camera.projectionMatrix),new m("view",(e,t)=>(0,i.Tl)(v,t.camera.viewMatrix,e.origin)),new l.W("localOrigin",e=>e.origin));const r=({camera:e})=>(0,o.i)(g,e.viewInverseTransposeMatrix[3],e.viewInverseTransposeMatrix[7],e.viewInverseTransposeMatrix[11]);e.uniforms.add(new d.F("proj",e=>e.camera.projectionMatrix),new d.F("view",e=>(0,i.Tl)(v,e.camera.viewMatrix,r(e))),new s.d("localOrigin",e=>r(e)))}const v=(0,n.vt)(),g=(0,a.vt)();function _(e){e.uniforms.add(new d.F("viewNormal",e=>e.camera.viewInverseTransposeMatrix))}function T(e){e.uniforms.add(new c.U("pixelRatio",e=>e.camera.pixelRatio/e.overlayStretch))}},21231:(e,t,r)=>{r.d(t,{g:()=>p});var i=r(49186),n=(r(44208),r(53966)),o=r(97768),a=r(74887),s=r(94656),l=r(63907),c=r(6625),d=r(67171),u=r(12541);class h extends d.R{constructor(e,t){switch(super(),this.context=e,Object.assign(this,t),this.internalFormat){case l.H0.R16F:case l.H0.R32F:case l.H0.R8_SNORM:case l.H0.R8:this.pixelFormat=l.Ab.RED;break;case l.H0.R8I:case l.H0.R8UI:case l.H0.R16I:case l.H0.R16UI:case l.H0.R32I:case l.H0.R32UI:this.pixelFormat=l.Ab.RED_INTEGER}}static validate(e,t){return new h(e,t)}}const m=()=>n.A.getLogger("esri/views/webgl/Texture");let p=class e{static{this.TEXTURE_UNIT_FOR_UPDATES=0}static{this.compressionWorkerHandle=null}constructor(e,t=null,r=null){if(this.type=c.d.Texture,this._glName=null,this._samplingModeDirty=!1,this._wrapModeDirty=!1,this._shadowFilterDirty=!1,this._wasImmutablyAllocated=!1,"context"in e)this._descriptor=e,r=t;else{const r=h.validate(e,t);if(!r)throw new i.A("texture:invalid-descriptor","Texture descriptor invalid");this._descriptor=r}this._descriptor.target===l.Ap.TEXTURE_CUBE_MAP?this._setDataCubeMap(r):this.setData(r)}get glName(){return this._glName}get descriptor(){return this._descriptor}get usedMemory(){return(0,d.e)(this._descriptor)}get cachedMemory(){return this.usedMemory}get isDirty(){return this._samplingModeDirty||this._wrapModeDirty||this._shadowFilterDirty}get hasWebGLTextureObject(){return!!this._glName}dispose(){this.abortCompression(),this._descriptor.context.gl&&this.hasWebGLTextureObject&&(this._descriptor.context.instanceCounter.decrement(l.vt.Texture,this),this._descriptor.context.unbindTexture(this),this._descriptor.context.gl.deleteTexture(this._glName),this._glName=null)}release(){this.dispose()}[Symbol.dispose](){this.dispose()}resize(e,t){const r=this._descriptor;if(r.width!==e||r.height!==t){if(this._wasImmutablyAllocated)throw new i.A("texture:immutable-resize","Immutable textures can't be resized!");r.width=e,r.height=t,this._descriptor.target===l.Ap.TEXTURE_CUBE_MAP?this._setDataCubeMap(null):this.setData(null)}}enableCompression(e){this._descriptor.compress=e}disableCompression(){this._descriptor.compress=void 0}setData(e){this.abortCompression(),!(0,u.Qp)(e)&&this._descriptor.internalFormat&&this._descriptor.internalFormat in l.CQ&&(this._descriptor.internalFormat=void 0),this._setData(e),!(0,u.Qp)(e)&&this._descriptor.compress&&this._compressOnWorker(e)}updateData(t,r,n,o,a,s,l=0){s||m().error("An attempt to use uninitialized data!"),this.hasWebGLTextureObject||m().error("An attempt to update uninitialized texture!");const c=this._descriptor;c.internalFormat=(0,u.mq)(c);const{context:d,pixelFormat:h,dataType:p,target:f,isImmutable:v}=c;if(v&&!this._wasImmutablyAllocated)throw new i.A("texture:uninitialized","Cannot update immutable texture before allocation!");const g=d.bindTexture(this,e.TEXTURE_UNIT_FOR_UPDATES,!0);(r<0||n<0||r+o>c.width||n+a>c.height)&&m().error("An attempt to update out of bounds of the texture!"),this._configurePixelStorage();const{gl:_}=d;l&&(o&&a||m().warn("Must pass width and height if `UNPACK_SKIP_ROWS` is used"),_.pixelStorei(_.UNPACK_SKIP_ROWS,l)),(0,u.Kv)(s)?_.texSubImage2D(f,t,r,n,o,a,h,p,s):(0,u.Qp)(s)?_.compressedTexSubImage2D(f,t,r,n,o,a,c.internalFormat,s.levels[t]):_.texSubImage2D(f,t,r,n,o,a,h,p,s),l&&_.pixelStorei(_.UNPACK_SKIP_ROWS,0),d.bindTexture(g,e.TEXTURE_UNIT_FOR_UPDATES)}updateData3D(t,r,n,o,a,s,l,c){c||m().error("An attempt to use uninitialized data!"),this.hasWebGLTextureObject||m().error("An attempt to update an uninitialized texture!");const d=this._descriptor;d.internalFormat=(0,u.mq)(d);const{context:h,pixelFormat:p,dataType:f,isImmutable:v,target:g}=d;if(v&&!this._wasImmutablyAllocated)throw new i.A("texture:uninitialized","Cannot update immutable texture before allocation!");(0,u.re)(g)||m().warn("Attempting to set 3D texture data on a non-3D texture");const _=h.bindTexture(this,e.TEXTURE_UNIT_FOR_UPDATES);h.setActiveTexture(e.TEXTURE_UNIT_FOR_UPDATES),(r<0||n<0||o<0||r+a>d.width||n+s>d.height||o+l>d.depth)&&m().error("An attempt to update out of bounds of the texture!"),this._configurePixelStorage();const{gl:T}=h;if((0,u.Qp)(c))c=c.levels[t],T.compressedTexSubImage3D(g,t,r,n,o,a,s,l,d.internalFormat,c);else{const e=c;T.texSubImage3D(g,t,r,n,o,a,s,l,p,f,e)}h.bindTexture(_,e.TEXTURE_UNIT_FOR_UPDATES)}generateMipmap(){const t=this._descriptor;if(0===t.width||0===t.height)return;if(!t.hasMipmap){if(this._wasImmutablyAllocated)throw new i.A("texture:immutable-change","Cannot add mipmaps to immutable texture after allocation");t.hasMipmap=!0,this._samplingModeDirty=!0,(0,u.QE)(t)}t.samplingMode===l.Cj.LINEAR?(this._samplingModeDirty=!0,t.samplingMode=l.Cj.LINEAR_MIPMAP_NEAREST):t.samplingMode===l.Cj.NEAREST&&(this._samplingModeDirty=!0,t.samplingMode=l.Cj.NEAREST_MIPMAP_NEAREST);const r=this._descriptor.context.bindTexture(this,e.TEXTURE_UNIT_FOR_UPDATES);this._descriptor.context.setActiveTexture(e.TEXTURE_UNIT_FOR_UPDATES),this._descriptor.context.gl.generateMipmap(t.target),this._descriptor.context.bindTexture(r,e.TEXTURE_UNIT_FOR_UPDATES)}clearMipmap(){const e=this._descriptor;if(e.hasMipmap){if(this._wasImmutablyAllocated)throw new i.A("texture:immutable-change","Cannot delete mipmaps to immutable texture after allocation");e.hasMipmap=!1,this._samplingModeDirty=!0,(0,u.QE)(e)}e.samplingMode===l.Cj.LINEAR_MIPMAP_NEAREST?(this._samplingModeDirty=!0,e.samplingMode=l.Cj.LINEAR):e.samplingMode===l.Cj.NEAREST_MIPMAP_NEAREST&&(this._samplingModeDirty=!0,e.samplingMode=l.Cj.NEAREST)}setSamplingMode(e){e!==this._descriptor.samplingMode&&(this._descriptor.samplingMode=e,this._samplingModeDirty=!0)}setWrapMode(e){e!==this._descriptor.wrapMode&&(this._descriptor.wrapMode=e,(0,u.QE)(this._descriptor),this._wrapModeDirty=!0)}setShadowFiltering(e){e!==this._descriptor.linearFilterDepth&&(this._descriptor.linearFilterDepth=this._descriptor.compareEnabled=e,this.setSamplingMode(e?l.Cj.LINEAR:l.Cj.NEAREST),(0,u.QE)(this._descriptor),this._shadowFilterDirty=!0)}applyChanges(){this._samplingModeDirty&&(this._applySamplingMode(),this._samplingModeDirty=!1),this._wrapModeDirty&&(this._applyWrapMode(),this._wrapModeDirty=!1),this._shadowFilterDirty&&(this._applyShadowMode(),this._shadowFilterDirty=!1)}abortCompression(){this._compressionAbortController=(0,o.DC)(this._compressionAbortController)}_setData(t,r){const n=this._descriptor,o=n.context?.gl;if(!o)return;(0,s.Y2)(o),this.hasWebGLTextureObject||(this._glName=o.createTexture(),n.context.instanceCounter.increment(l.vt.Texture,this)),(0,u.QE)(n);const a=n.context.bindTexture(this,e.TEXTURE_UNIT_FOR_UPDATES);n.context.setActiveTexture(e.TEXTURE_UNIT_FOR_UPDATES),this._configurePixelStorage(),(0,s.Y2)(o);const c=r??n.target,d=(0,u.re)(c);if((0,u.Kv)(t))this._setDataFromTexImageSource(t,c);else{const{width:e,height:r,depth:a}=n;if(null==e||null==r)throw new i.A("texture:missing-size","Width and height must be specified!");if(d&&null==a)throw new i.A("texture:missing-depth","Depth must be specified!");if(n.internalFormat=(0,u.mq)(n),n.isImmutable&&!this._wasImmutablyAllocated&&this._texStorage(c,n.internalFormat,n.hasMipmap,e,r,a),(0,u.Qp)(t)){if(!(0,u.tl)(n.internalFormat))throw new i.A("texture:format-mismatch","Attempting to use compressed data with an uncompressed format!");this._setDataFromCompressedSource(t,n.internalFormat,c)}else this._texImage(c,0,n.internalFormat,e,r,a,t),(0,s.Y2)(o),n.hasMipmap&&this.generateMipmap()}this._applySamplingMode(),this._applyWrapMode(),this._applyAnisotropicFilteringParameters(),this._applyShadowMode(),(0,s.Y2)(o),n.context.bindTexture(a,e.TEXTURE_UNIT_FOR_UPDATES)}_setDataCubeMap(e=null){for(let t=l.Ap.TEXTURE_CUBE_MAP_POSITIVE_X;t<=l.Ap.TEXTURE_CUBE_MAP_NEGATIVE_Z;t++)this._setData(e,t)}_configurePixelStorage(){const e=this._descriptor.context.gl,{unpackAlignment:t,flipped:r,preMultiplyAlpha:i}=this._descriptor;e.pixelStorei(e.UNPACK_ALIGNMENT,t),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,r?1:0),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i?1:0)}_setDataFromTexImageSource(e,t){const{gl:r}=this._descriptor.context,i=this._descriptor;i.internalFormat=(0,u.mq)(i);const n=(0,u.re)(t),{width:o,height:a,depth:l}=(0,u.Eo)(e);i.width&&i.height,i.width||(i.width=o),i.height||(i.height=a),n&&i.depth,n&&(i.depth=l),i.isImmutable&&!this._wasImmutablyAllocated&&this._texStorage(t,i.internalFormat,i.hasMipmap,o,a,l),this._texImage(t,0,i.internalFormat,o,a,l,e),(0,s.Y2)(r),i.hasMipmap&&(this.generateMipmap(),(0,s.Y2)(r))}_setDataFromCompressedSource(e,t,r){const i=this._descriptor,{width:n,height:o,depth:a}=i,s=e.levels,c=(0,u.FV)(r,n,o,a),d=Math.min(c,s.length)-1;this._descriptor.context.gl.texParameteri(i.target,l.H3.MAX_LEVEL,d),this._forEachMipmapLevel((e,i,n,o)=>{const a=s[Math.min(e,s.length-1)];this._compressedTexImage(r,e,t,i,n,o,a)},d)}_texStorage(e,t,r,n,o,a){const{gl:s}=this._descriptor.context;if(!(0,u.tr)(t)&&!(0,u.CR)(t)&&!(0,u.QJ)(t))throw new i.A("texture:missing-format","Immutable textures must have a sized internal format");if(!this._descriptor.isImmutable)return;const l=r?(0,u.FV)(e,n,o,a):1;if((0,u.re)(e)){if(null==a)throw new i.A("texture:missing-depth","Missing depth dimension for 3D texture upload");s.texStorage3D(e,l,t,n,o,a)}else s.texStorage2D(e,l,t,n,o);this._wasImmutablyAllocated=!0}_texImage(e,t,r,n,o,a,s){const l=this._descriptor.context.gl,c=(0,u.re)(e),{isImmutable:d,pixelFormat:h,dataType:m}=this._descriptor;if(d){if(null!=s){const r=s;if(c){if(null==a)throw new i.A("texture:missing-depth","Missing depth dimension for 3D texture upload");l.texSubImage3D(e,t,0,0,0,n,o,a,h,m,r)}else l.texSubImage2D(e,t,0,0,n,o,h,m,r)}}else{const d=s;if(c){if(null==a)throw new i.A("texture:missing-depth","Missing depth dimension for 3D texture upload");l.texImage3D(e,t,r,n,o,a,0,h,m,d)}else l.texImage2D(e,t,r,n,o,0,h,m,d)}}_compressedTexImage(e,t,r,n,o,a,s){const l=this._descriptor.context.gl,c=(0,u.re)(e);if(this._descriptor.isImmutable){if(null!=s)if(c){if(null==a)throw new i.A("texture:missing-depth","Missing depth dimension for 3D texture upload");l.compressedTexSubImage3D(e,t,0,0,0,n,o,a,r,s)}else l.compressedTexSubImage2D(e,t,0,0,n,o,r,s)}else if(c){if(null==a)throw new i.A("texture:missing-depth","Missing depth dimension for 3D texture upload");l.compressedTexImage3D(e,t,r,n,o,a,0,s)}else l.compressedTexImage2D(e,t,r,n,o,0,s)}async _compressOnWorker(t){const{width:r,height:i,context:n,flipped:o,preMultiplyAlpha:s,hasMipmap:c}=this._descriptor,d=this._descriptor.compress?.compressionTracker,u=this._descriptor.compress?.compressionCallback,{compressedTextureETC:h,compressedTextureS3TC:p}=n.capabilities;if(!e.compressionWorkerHandle?.isCompressible(t,this._descriptor)||!h&&!p)return;this.abortCompression();const f=new AbortController;this._compressionAbortController=f,d?.increment();try{let n;t instanceof Uint8Array?n=t.buffer:(n=await createImageBitmap(t,{imageOrientation:o?"flipY":"none"}),(0,a.Te)(f));const d={data:n,width:r,height:i,needsFlip:t instanceof Uint8Array&&this.descriptor.flipped,components:this._descriptor.pixelFormat===l.Ab.RGBA?4:3,preMultiplyAlpha:s,hasMipmap:c,hasETC:!!h,hasS3TC:!!p},m=await e.compressionWorkerHandle.invoke(d,f.signal,"low");if((0,a.Te)(f),m.compressedTexture&&this.hasWebGLTextureObject){const e=this.usedMemory;this._descriptor.internalFormat=m.internalFormat,this._setData(m.compressedTexture),u?.(e-this.usedMemory)}}catch(e){(0,a.zf)(e)||m().error("Texture compression failed!")}finally{d?.decrement(),this._compressionAbortController?.signal.aborted&&(this._compressionAbortController=null)}}_forEachMipmapLevel(e,t=1/0){let{width:r,height:n,depth:o,hasMipmap:a,target:s}=this._descriptor;const c=s===l.Ap.TEXTURE_3D;if(null==r||null==n||c&&null==o)throw new i.A("texture:missing-size","Missing texture dimensions for mipmap calculation");for(let i=0;e(i,r,n,o),a&&(1!==r||1!==n||c&&1!==o)&&!(i>=t);++i)r=Math.max(1,r>>1),n=Math.max(1,n>>1),c&&(o=Math.max(1,o>>1))}_applySamplingMode(){const e=this._descriptor,t=e.context?.gl;let r=e.samplingMode,i=e.samplingMode;r===l.Cj.LINEAR_MIPMAP_NEAREST||r===l.Cj.LINEAR_MIPMAP_LINEAR?(r=l.Cj.LINEAR,e.hasMipmap||(i=l.Cj.LINEAR)):r!==l.Cj.NEAREST_MIPMAP_NEAREST&&r!==l.Cj.NEAREST_MIPMAP_LINEAR||(r=l.Cj.NEAREST,e.hasMipmap||(i=l.Cj.NEAREST)),t.texParameteri(e.target,t.TEXTURE_MAG_FILTER,r),t.texParameteri(e.target,t.TEXTURE_MIN_FILTER,i)}_applyWrapMode(){const e=this._descriptor,t=e.context?.gl;"number"==typeof e.wrapMode?(t.texParameteri(e.target,t.TEXTURE_WRAP_S,e.wrapMode),t.texParameteri(e.target,t.TEXTURE_WRAP_T,e.wrapMode)):(t.texParameteri(e.target,t.TEXTURE_WRAP_S,e.wrapMode.s),t.texParameteri(e.target,t.TEXTURE_WRAP_T,e.wrapMode.t))}_applyShadowMode(){const e=this._descriptor,t=e.context?.gl,r=e.compareEnabled?t.COMPARE_REF_TO_TEXTURE:t.NONE;t.texParameteri(e.target,t.TEXTURE_COMPARE_MODE,r),e.compareEnabled&&t.texParameteri(e.target,t.TEXTURE_COMPARE_FUNC,t.GREATER),(0,s.Y2)(t)}_applyAnisotropicFilteringParameters(){const e=this._descriptor,t=e.context.capabilities.textureFilterAnisotropic;t&&e.context.gl.texParameterf(e.target,t.TEXTURE_MAX_ANISOTROPY,e.maxAnisotropy??1)}}},22393:(e,t,r)=>{r.d(t,{c:()=>s});var i=r(31821);function n(e){e.code.add(i.H`vec3 evaluateDiffuseIlluminationHemisphere(vec3 ambientGround, vec3 ambientSky, float NdotNG) {
90
+ `),e}function g(e){return Math.max(10,20*e.computeScreenPixelSizeAtDist(Math.abs(4*e.relativeElevation)))}const _=(0,n.vt)(),T=Object.freeze(Object.defineProperty({__proto__:null,build:v,getRadius:g},Symbol.toStringTag,{value:"Module"}))},15976:(e,t,r)=>{r.d(t,{o:()=>o});var i=r(69270),n=r(74333);class o extends n.n{constructor(e,t){super(e,"sampler2D",i.c.Draw,(r,i,n)=>r.bindTexture(e,t(i,n)))}}},16396:(e,t,r)=>{r.d(t,{ou:()=>c}),r(77690),r(29242),r(58083),r(9093);var i=r(38954),n=r(51850),o=r(97937),a=r(24151),s=r(57005);const l=new class{constructor(e=0){this.offset=e,this.sphere=(0,o.c)(),this.tmpVertex=(0,n.vt)()}applyToVertex(e,t,r){const n=this.objectTransform.transform,o=(0,i.i)(d,e,t,r),a=(0,i.t)(o,o,n),s=this.offset/(0,i.l)(a);(0,i.b)(a,a,a,s);const l=this.objectTransform.inverse;return(0,i.t)(this.tmpVertex,a,l),this.tmpVertex}applyToMinMax(e,t){const r=this.offset/(0,i.l)(e);(0,i.b)(e,e,e,r);const n=this.offset/(0,i.l)(t);(0,i.b)(t,t,t,n)}applyToAabb(e){const t=this.offset/Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]+=e[0]*t,e[1]+=e[1]*t,e[2]+=e[2]*t;const r=this.offset/Math.sqrt(e[3]*e[3]+e[4]*e[4]+e[5]*e[5]);return e[3]+=e[3]*r,e[4]+=e[4]*r,e[5]+=e[5]*r,e}applyToBoundingSphere(e){const t=(0,i.l)((0,o.a)(e)),r=this.offset/t;return(0,i.b)((0,o.a)(this.sphere),(0,o.a)(e),(0,o.a)(e),r),this.sphere[3]=e[3]+e[3]*this.offset/t,this.sphere}};function c(e){return null!=e?(l.offset=e,l):null}new class{constructor(e=0){this.componentLocalOriginLength=0,this._totalOffset=0,this._offset=0,this._tmpVertex=(0,n.vt)(),this._tmpMbs=(0,o.c)(),this._tmpObb=new s.ab,this._resetOffset(e)}_resetOffset(e){this._offset=e,this._totalOffset=e}set offset(e){this._resetOffset(e)}get offset(){return this._offset}set componentOffset(e){this._totalOffset=this._offset+e}set localOrigin(e){this.componentLocalOriginLength=(0,i.l)(e)}applyToVertex(e,t,r){const n=(0,i.i)(d,e,t,r),o=(0,i.i)(u,e,t,r+this.componentLocalOriginLength),a=this._totalOffset/(0,i.l)(o);return(0,i.b)(this._tmpVertex,n,o,a),this._tmpVertex}applyToAabb(e){const t=this.componentLocalOriginLength,r=e[0],i=e[1],n=e[2]+t,o=e[3],a=e[4],s=e[5]+t,l=Math.abs(r),c=Math.abs(i),d=Math.abs(n),u=Math.abs(o),h=Math.abs(a),m=Math.abs(s),p=.5*(1+Math.sign(r*o))*Math.min(l,u),f=.5*(1+Math.sign(i*a))*Math.min(c,h),v=.5*(1+Math.sign(n*s))*Math.min(d,m),g=Math.max(l,u),_=Math.max(c,h),T=Math.max(d,m),x=Math.sqrt(p*p+f*f+v*v),E=Math.sign(l+r),M=Math.sign(c+i),A=Math.sign(d+n),w=Math.sign(u+o),b=Math.sign(h+a),R=Math.sign(m+s),O=this._totalOffset;if(x<O)return e[0]-=(1-E)*O,e[1]-=(1-M)*O,e[2]-=(1-A)*O,e[3]+=w*O,e[4]+=b*O,e[5]+=R*O,e;const S=O/Math.sqrt(g*g+_*_+T*T),y=O/x,C=y-S,I=-C;return e[0]+=r*(E*I+y),e[1]+=i*(M*I+y),e[2]+=n*(A*I+y),e[3]+=o*(w*C+S),e[4]+=a*(b*C+S),e[5]+=s*(R*C+S),e}applyToMbs(e){const t=(0,i.l)((0,o.a)(e)),r=this._totalOffset/t;return(0,i.b)((0,o.a)(this._tmpMbs),(0,o.a)(e),(0,o.a)(e),r),this._tmpMbs[3]=e[3]+e[3]*this._totalOffset/t,this._tmpMbs}applyToObb(e){return(0,s.gm)(e,this._totalOffset,this._totalOffset,a.RT.Global,this._tmpObb),this._tmpObb}},new class{constructor(e=0){this.offset=e,this.tmpVertex=(0,n.vt)()}applyToVertex(e,t,r){const n=(0,i.i)(d,e,t,r),o=(0,i.f)(u,n,this.localOrigin),a=this.offset/(0,i.l)(o);return(0,i.b)(this.tmpVertex,n,o,a),this.tmpVertex}applyToAabb(e){const t=h,r=m,i=p;for(let n=0;n<3;++n)t[n]=e[0+n]+this.localOrigin[n],r[n]=e[3+n]+this.localOrigin[n],i[n]=t[n];const n=this.applyToVertex(t[0],t[1],t[2]);for(let t=0;t<3;++t)e[t]=n[t],e[t+3]=n[t];const o=t=>{const r=this.applyToVertex(t[0],t[1],t[2]);for(let t=0;t<3;++t)e[t]=Math.min(e[t],r[t]),e[t+3]=Math.max(e[t+3],r[t])};for(let e=1;e<8;++e){for(let n=0;n<3;++n)i[n]=e&1<<n?r[n]:t[n];o(i)}let a=0;for(let e=0;e<3;++e)t[e]*r[e]<0&&(a|=1<<e);if(0!==a&&7!==a)for(let e=0;e<8;++e)if(0===(a&e)){for(let n=0;n<3;++n)i[n]=a&1<<n?0:e&1<<n?t[n]:r[n];o(i)}for(let t=0;t<3;++t)e[t]-=this.localOrigin[t],e[t+3]-=this.localOrigin[t];return e}};const d=(0,n.vt)(),u=(0,n.vt)(),h=(0,n.vt)(),m=(0,n.vt)(),p=(0,n.vt)()},16943:(e,t,r)=>{r.d(t,{E:()=>n});var i=r(44208);function n(){return!!(0,i.A)("enable-feature:objectAndLayerId-rendering")}},17352:(e,t,r)=>{r.d(t,{b:()=>j,f:()=>x}),r(44208);var i=r(53966),n=r(34727),o=r(4341),a=r(58083),s=r(9093),l=r(38954),c=r(51850),d=r(19419),u=r(88582),h=r(11964),m=r(27921),p=r(71351),f=r(44280),v=r(32114);const g=()=>i.A.getLogger("esri.views.3d.support.geometryUtils.boundedPlane");function _(e=L){return{plane:(0,m.vt)(e.plane),origin:(0,c.o8)(e.origin),basis1:(0,c.o8)(e.basis1),basis2:(0,c.o8)(e.basis2)}}function T(e,t=_()){return x(e.origin,e.basis1,e.basis2,t)}function x(e,t,r,i=_()){return(0,l.c)(i.origin,e),(0,l.c)(i.basis1,t),(0,l.c)(i.basis2,r),E(i),function(e,t){Math.abs((0,l.e)(e.basis1,e.basis2)/((0,l.l)(e.basis1)*(0,l.l)(e.basis2)))>1e-6&&g().warn(t,"Provided basis vectors are not perpendicular"),Math.abs((0,l.e)(e.basis1,I(e)))>1e-6&&g().warn(t,"Basis vectors and plane normal are not perpendicular"),Math.abs(-(0,l.e)(I(e),e.origin)-e.plane[3])>1e-6&&g().warn(t,"Plane offset is not consistent with plane origin")}(i,"fromValues()"),i}function E(e){(0,m.mR)(e.basis2,e.basis1,e.origin,e.plane)}function M(e,t,r){e!==r&&T(e,r);const i=(0,l.g)(v.rq.get(),I(e),t);return(0,l.f)(r.origin,r.origin,i),r.plane[3]-=t,r}function A(e,t=_()){const r=(e[2]-e[0])/2,i=(e[3]-e[1])/2;return(0,l.i)(t.origin,e[0]+r,e[1]+i,0),(0,l.i)(t.basis1,r,0,0),(0,l.i)(t.basis2,0,i,0),(0,m.fA)(0,0,1,0,t.plane),t}function w(e,t,r){return!!(0,m.Ui)(e.plane,t,r)&&N(e,r)}function b(e,t,r){const i=H.get();F(e,t,i,H.get());let o=Number.POSITIVE_INFINITY;for(const a of z){const s=D(e,a,B.get()),c=v.rq.get();if((0,m.T7)(i,s,c)){const e=(0,l.E)(v.rq.get(),t.origin,c),i=Math.abs((0,n.XM)((0,l.e)(t.direction,e)));i<o&&(o=i,(0,l.c)(r,c))}}return o===Number.POSITIVE_INFINITY?R(e,t,r):r}function R(e,t,r){if(w(e,t,r))return r;const i=H.get(),n=H.get();F(e,t,i,n);let o=Number.POSITIVE_INFINITY;for(const a of z){const s=D(e,a,B.get()),c=v.rq.get();if((0,m.gv)(i,s,c)){const e=(0,p.kb)(t,c);if(!(0,m.Tj)(n,c))continue;e<o&&(o=e,(0,l.c)(r,c))}}return y(e,t.origin)<o&&O(e,t.origin,r),r}function O(e,t,r){const i=(0,m._I)(e.plane,t,v.rq.get()),n=(0,h.H6)(P(e,e.basis1),i,-1,1,v.rq.get()),o=(0,h.H6)(P(e,e.basis2),i,-1,1,v.rq.get());return(0,l.d)(r,(0,l.f)(v.rq.get(),n,o),e.origin),r}function S(e,t,r){const{origin:i,basis1:n,basis2:o}=e,a=(0,l.d)(v.rq.get(),t,i),s=(0,f.gr)(n,a),c=(0,f.gr)(o,a),d=(0,f.gr)(I(e),a);return(0,l.i)(r,s,c,d)}function y(e,t){const r=S(e,t,v.rq.get()),{basis1:i,basis2:n}=e,o=(0,l.l)(i),a=(0,l.l)(n),s=Math.max(Math.abs(r[0])-o,0),c=Math.max(Math.abs(r[1])-a,0),d=r[2];return s*s+c*c+d*d}function C(e,t){const r=-e.plane[3];return(0,f.gr)(I(e),t)-r}function I(e){return(0,m.Qj)(e.plane)}function N(e,t){const r=(0,l.d)(v.rq.get(),t,e.origin),i=(0,l.k)(e.basis1),n=(0,l.k)(e.basis2),o=(0,l.e)(e.basis1,r),a=(0,l.e)(e.basis2,r);return-o-i<0&&o-i<0&&-a-n<0&&a-n<0}function P(e,t){const r=B.get();return(0,l.c)(r.origin,e.origin),(0,l.c)(r.vector,t),r}function D(e,t,r){const{basis1:i,basis2:n,origin:o}=e,a=(0,l.g)(v.rq.get(),i,t.origin[0]),s=(0,l.g)(v.rq.get(),n,t.origin[1]);(0,l.f)(r.origin,a,s),(0,l.f)(r.origin,r.origin,o);const c=(0,l.g)(v.rq.get(),i,t.direction[0]),d=(0,l.g)(v.rq.get(),n,t.direction[1]);return(0,l.g)(r.vector,(0,l.f)(c,c,d),2),r}function F(e,t,r,i){const n=I(e);(0,m.mR)(n,t.direction,t.origin,r),(0,m.mR)((0,m.Qj)(r),n,t.origin,i)}const L={plane:(0,m.vt)(),origin:(0,c.fA)(0,0,0),basis1:(0,c.fA)(1,0,0),basis2:(0,c.fA)(0,1,0)},H=new o.I(m.vt),B=new o.I(h.vt),G=(0,c.vt)(),U=new o.I(()=>_()),z=[{origin:[-1,-1],direction:[1,0]},{origin:[1,-1],direction:[0,1]},{origin:[1,1],direction:[-1,0]},{origin:[-1,1],direction:[0,-1]}],V=(0,s.vt)(),W=(0,s.vt)(),j=Object.freeze(Object.defineProperty({__proto__:null,BoundedPlaneClass:class{constructor(){this.plane=(0,m.vt)(),this.origin=(0,c.vt)(),this.basis1=(0,c.vt)(),this.basis2=(0,c.vt)()}},altitudeAt:C,axisAt:function(e,t,r,i){return function(e,t,r){switch(t){case u._.X:(0,l.c)(r,e.basis1),(0,l.n)(r,r);break;case u._.Y:(0,l.c)(r,e.basis2),(0,l.n)(r,r);break;case u._.Z:(0,l.c)(r,I(e))}return r}(e,r,i)},cameraFrustumCoverage:function(e,t){return(t-e)/t},closestPoint:R,closestPointOnSilhouette:b,copy:T,copyWithoutVerify:function(e,t){(0,l.c)(t.origin,e.origin),(0,l.c)(t.basis1,e.basis1),(0,l.c)(t.basis2,e.basis2),(0,m.C)(t.plane,e.plane)},create:_,distance:function(e,t){return Math.sqrt(y(e,t))},distance2:y,distanceToSilhouette:function(e,t){let r=Number.NEGATIVE_INFINITY;for(const i of z){const n=D(e,i,B.get()),o=(0,h.kb)(n,t);o>r&&(r=o)}return Math.sqrt(r)},elevate:M,equals:function(e,t){return(0,l.q)(e.basis1,t.basis1)&&(0,l.q)(e.basis2,t.basis2)&&(0,l.q)(e.origin,t.origin)},extrusionContainsPoint:function(e,t){return(0,m.Tj)(e.plane,t)&&N(e,t)},fromAABoundingRect:A,fromValues:x,getExtent:function(e,t){const r=e.basis1[0],i=e.basis2[1],[n,o]=e.origin;return(0,d.fA)(n-r,o-i,n+r,o+i,t)},intersectRay:w,intersectRayClosestSilhouette:function(e,t,r){if(w(e,t,r))return r;const i=b(e,t,v.rq.get());return(0,l.f)(r,t.origin,(0,l.g)(v.rq.get(),t.direction,(0,l.j)(t.origin,i)/(0,l.l)(t.direction))),r},normal:I,projectPoint:O,projectPointLocal:S,rotate:function(e,t,r,i){return e!==i&&T(e,i),(0,a.$0)(W,t,r),(0,l.t)(i.basis1,e.basis1,W),(0,l.t)(i.basis2,e.basis2,W),E(i),i},setAltitudeAt:function(e,t,r,i){const n=C(e,t),o=(0,l.g)(G,I(e),r-n);return(0,l.f)(i,t,o),i},setExtent:function(e,t,r){return A(t,r),M(r,C(e,e.origin),r),r},transform:function(e,t,r){return e!==r&&T(e,r),(0,a.B8)(V,t),(0,a.mg)(V,V),(0,l.t)(r.basis1,e.basis1,V),(0,l.t)(r.basis2,e.basis2,V),(0,l.t)((0,m.Qj)(r.plane),(0,m.Qj)(e.plane),V),(0,l.t)(r.origin,e.origin,t),(0,m.mP)(r.plane,r.plane,r.origin),r},up:L,updateUnboundedPlane:E,wrap:function(e,t,r){const i=U.get();return i.origin=e,i.basis1=t,i.basis2=r,i.plane=(0,m.LV)(0,0,0,0),E(i),i}},Symbol.toStringTag,{value:"Module"}))},20304:(e,t,r)=>{r.d(t,{m:()=>o});var i=r(69270),n=r(74333);class o extends n.n{constructor(e,t,r){super(e,"float",i.c.Pass,(i,n,o)=>i.setUniform1f(e,t(n,o),r))}}},20693:(e,t,r)=>{r.d(t,{yu:()=>p,Nz:()=>T,NB:()=>f,S7:()=>_});var i=r(58083),n=r(9093),o=r(38954),a=r(51850),s=r(23205),l=r(40710),c=r(33094),d=r(58029),u=r(69270),h=r(74333);class m extends h.n{constructor(e,t,r){super(e,"mat4",u.c.Draw,(i,n,o)=>i.setUniformMatrix4fv(e,t(n,o),r))}}function p(e,t){t.instancedDoublePrecision?e.constants.add("cameraPosition","vec3",a.uY):e.uniforms.add(new l.W("cameraPosition",(e,t)=>(0,o.i)(g,t.camera.viewInverseTransposeMatrix[3]-e.origin[0],t.camera.viewInverseTransposeMatrix[7]-e.origin[1],t.camera.viewInverseTransposeMatrix[11]-e.origin[2])))}function f(e,t){if(!t.instancedDoublePrecision)return void e.uniforms.add(new d.F("proj",e=>e.camera.projectionMatrix),new m("view",(e,t)=>(0,i.Tl)(v,t.camera.viewMatrix,e.origin)),new l.W("localOrigin",e=>e.origin));const r=({camera:e})=>(0,o.i)(g,e.viewInverseTransposeMatrix[3],e.viewInverseTransposeMatrix[7],e.viewInverseTransposeMatrix[11]);e.uniforms.add(new d.F("proj",e=>e.camera.projectionMatrix),new d.F("view",e=>(0,i.Tl)(v,e.camera.viewMatrix,r(e))),new s.d("localOrigin",e=>r(e)))}const v=(0,n.vt)(),g=(0,a.vt)();function _(e){e.uniforms.add(new d.F("viewNormal",e=>e.camera.viewInverseTransposeMatrix))}function T(e){e.uniforms.add(new c.U("pixelRatio",e=>e.camera.pixelRatio/e.overlayStretch))}},21231:(e,t,r)=>{r.d(t,{g:()=>v});var i=r(49186),n=r(44208),o=r(53966),a=r(97768),s=r(74887),l=r(94656),c=r(63907),d=r(6625),u=r(67171),h=r(12541);class m extends u.R{constructor(e,t){switch(super(),this.context=e,Object.assign(this,t),this.internalFormat){case c.H0.R16F:case c.H0.R32F:case c.H0.R8_SNORM:case c.H0.R8:this.pixelFormat=c.Ab.RED;break;case c.H0.R8I:case c.H0.R8UI:case c.H0.R16I:case c.H0.R16UI:case c.H0.R32I:case c.H0.R32UI:this.pixelFormat=c.Ab.RED_INTEGER}}static validate(e,t){return new m(e,t)}}const p=!!(0,n.A)("esri-tests-disable-gpu-memory-measurements"),f=()=>o.A.getLogger("esri/views/webgl/Texture");let v=class e{static{this.TEXTURE_UNIT_FOR_UPDATES=0}static{this.compressionWorkerHandle=null}constructor(e,t=null,r=null){if(this.type=d.d.Texture,this._glName=null,this._samplingModeDirty=!1,this._wrapModeDirty=!1,this._shadowFilterDirty=!1,this._wasImmutablyAllocated=!1,"context"in e)this._descriptor=e,r=t;else{const r=m.validate(e,t);if(!r)throw new i.A("texture:invalid-descriptor","Texture descriptor invalid");this._descriptor=r}this._descriptor.target===c.Ap.TEXTURE_CUBE_MAP?this._setDataCubeMap(r):this.setData(r)}get glName(){return this._glName}get descriptor(){return this._descriptor}get usedMemory(){return p?0:(0,u.e)(this._descriptor)}get cachedMemory(){return this.usedMemory}get isDirty(){return this._samplingModeDirty||this._wrapModeDirty||this._shadowFilterDirty}get hasWebGLTextureObject(){return!!this._glName}dispose(){this.abortCompression(),this._descriptor.context.gl&&this.hasWebGLTextureObject&&(this._descriptor.context.instanceCounter.decrement(c.vt.Texture,this),this._descriptor.context.unbindTexture(this),this._descriptor.context.gl.deleteTexture(this._glName),this._glName=null)}release(){this.dispose()}[Symbol.dispose](){this.dispose()}resize(e,t){const r=this._descriptor;if(r.width!==e||r.height!==t){if(this._wasImmutablyAllocated)throw new i.A("texture:immutable-resize","Immutable textures can't be resized!");r.width=e,r.height=t,this._descriptor.target===c.Ap.TEXTURE_CUBE_MAP?this._setDataCubeMap(null):this.setData(null)}}enableCompression(e){this._descriptor.compress=e}disableCompression(){this._descriptor.compress=void 0}setData(e){this.abortCompression(),!(0,h.Qp)(e)&&this._descriptor.internalFormat&&this._descriptor.internalFormat in c.CQ&&(this._descriptor.internalFormat=void 0),this._setData(e),!(0,h.Qp)(e)&&this._descriptor.compress&&this._compressOnWorker(e)}updateData(t,r,n,o,a,s,l=0){s||f().error("An attempt to use uninitialized data!"),this.hasWebGLTextureObject||f().error("An attempt to update uninitialized texture!");const c=this._descriptor;c.internalFormat=(0,h.mq)(c);const{context:d,pixelFormat:u,dataType:m,target:p,isImmutable:v}=c;if(v&&!this._wasImmutablyAllocated)throw new i.A("texture:uninitialized","Cannot update immutable texture before allocation!");const g=d.bindTexture(this,e.TEXTURE_UNIT_FOR_UPDATES,!0);(r<0||n<0||r+o>c.width||n+a>c.height)&&f().error("An attempt to update out of bounds of the texture!"),this._configurePixelStorage();const{gl:_}=d;l&&(o&&a||f().warn("Must pass width and height if `UNPACK_SKIP_ROWS` is used"),_.pixelStorei(_.UNPACK_SKIP_ROWS,l)),(0,h.Kv)(s)?_.texSubImage2D(p,t,r,n,o,a,u,m,s):(0,h.Qp)(s)?_.compressedTexSubImage2D(p,t,r,n,o,a,c.internalFormat,s.levels[t]):_.texSubImage2D(p,t,r,n,o,a,u,m,s),l&&_.pixelStorei(_.UNPACK_SKIP_ROWS,0),d.bindTexture(g,e.TEXTURE_UNIT_FOR_UPDATES)}updateData3D(t,r,n,o,a,s,l,c){c||f().error("An attempt to use uninitialized data!"),this.hasWebGLTextureObject||f().error("An attempt to update an uninitialized texture!");const d=this._descriptor;d.internalFormat=(0,h.mq)(d);const{context:u,pixelFormat:m,dataType:p,isImmutable:v,target:g}=d;if(v&&!this._wasImmutablyAllocated)throw new i.A("texture:uninitialized","Cannot update immutable texture before allocation!");(0,h.re)(g)||f().warn("Attempting to set 3D texture data on a non-3D texture");const _=u.bindTexture(this,e.TEXTURE_UNIT_FOR_UPDATES);u.setActiveTexture(e.TEXTURE_UNIT_FOR_UPDATES),(r<0||n<0||o<0||r+a>d.width||n+s>d.height||o+l>d.depth)&&f().error("An attempt to update out of bounds of the texture!"),this._configurePixelStorage();const{gl:T}=u;if((0,h.Qp)(c))c=c.levels[t],T.compressedTexSubImage3D(g,t,r,n,o,a,s,l,d.internalFormat,c);else{const e=c;T.texSubImage3D(g,t,r,n,o,a,s,l,m,p,e)}u.bindTexture(_,e.TEXTURE_UNIT_FOR_UPDATES)}generateMipmap(){const t=this._descriptor;if(0===t.width||0===t.height)return;if(!t.hasMipmap){if(this._wasImmutablyAllocated)throw new i.A("texture:immutable-change","Cannot add mipmaps to immutable texture after allocation");t.hasMipmap=!0,this._samplingModeDirty=!0,(0,h.QE)(t)}t.samplingMode===c.Cj.LINEAR?(this._samplingModeDirty=!0,t.samplingMode=c.Cj.LINEAR_MIPMAP_NEAREST):t.samplingMode===c.Cj.NEAREST&&(this._samplingModeDirty=!0,t.samplingMode=c.Cj.NEAREST_MIPMAP_NEAREST);const r=this._descriptor.context.bindTexture(this,e.TEXTURE_UNIT_FOR_UPDATES);this._descriptor.context.setActiveTexture(e.TEXTURE_UNIT_FOR_UPDATES),this._descriptor.context.gl.generateMipmap(t.target),this._descriptor.context.bindTexture(r,e.TEXTURE_UNIT_FOR_UPDATES)}clearMipmap(){const e=this._descriptor;if(e.hasMipmap){if(this._wasImmutablyAllocated)throw new i.A("texture:immutable-change","Cannot delete mipmaps to immutable texture after allocation");e.hasMipmap=!1,this._samplingModeDirty=!0,(0,h.QE)(e)}e.samplingMode===c.Cj.LINEAR_MIPMAP_NEAREST?(this._samplingModeDirty=!0,e.samplingMode=c.Cj.LINEAR):e.samplingMode===c.Cj.NEAREST_MIPMAP_NEAREST&&(this._samplingModeDirty=!0,e.samplingMode=c.Cj.NEAREST)}setSamplingMode(e){e!==this._descriptor.samplingMode&&(this._descriptor.samplingMode=e,this._samplingModeDirty=!0)}setWrapMode(e){e!==this._descriptor.wrapMode&&(this._descriptor.wrapMode=e,(0,h.QE)(this._descriptor),this._wrapModeDirty=!0)}setShadowFiltering(e){e!==this._descriptor.linearFilterDepth&&(this._descriptor.linearFilterDepth=this._descriptor.compareEnabled=e,this.setSamplingMode(e?c.Cj.LINEAR:c.Cj.NEAREST),(0,h.QE)(this._descriptor),this._shadowFilterDirty=!0)}applyChanges(){this._samplingModeDirty&&(this._applySamplingMode(),this._samplingModeDirty=!1),this._wrapModeDirty&&(this._applyWrapMode(),this._wrapModeDirty=!1),this._shadowFilterDirty&&(this._applyShadowMode(),this._shadowFilterDirty=!1)}abortCompression(){this._compressionAbortController=(0,a.DC)(this._compressionAbortController)}_setData(t,r){const n=this._descriptor,o=n.context?.gl;if(!o)return;(0,l.Y2)(o),this.hasWebGLTextureObject||(this._glName=o.createTexture(),n.context.instanceCounter.increment(c.vt.Texture,this)),(0,h.QE)(n);const a=n.context.bindTexture(this,e.TEXTURE_UNIT_FOR_UPDATES);n.context.setActiveTexture(e.TEXTURE_UNIT_FOR_UPDATES),this._configurePixelStorage(),(0,l.Y2)(o);const s=r??n.target,d=(0,h.re)(s);if((0,h.Kv)(t))this._setDataFromTexImageSource(t,s);else{const{width:e,height:r,depth:a}=n;if(null==e||null==r)throw new i.A("texture:missing-size","Width and height must be specified!");if(d&&null==a)throw new i.A("texture:missing-depth","Depth must be specified!");if(n.internalFormat=(0,h.mq)(n),n.isImmutable&&!this._wasImmutablyAllocated&&this._texStorage(s,n.internalFormat,n.hasMipmap,e,r,a),(0,h.Qp)(t)){if(!(0,h.tl)(n.internalFormat))throw new i.A("texture:format-mismatch","Attempting to use compressed data with an uncompressed format!");this._setDataFromCompressedSource(t,n.internalFormat,s)}else this._texImage(s,0,n.internalFormat,e,r,a,t),(0,l.Y2)(o),n.hasMipmap&&this.generateMipmap()}this._applySamplingMode(),this._applyWrapMode(),this._applyAnisotropicFilteringParameters(),this._applyShadowMode(),(0,l.Y2)(o),n.context.bindTexture(a,e.TEXTURE_UNIT_FOR_UPDATES)}_setDataCubeMap(e=null){for(let t=c.Ap.TEXTURE_CUBE_MAP_POSITIVE_X;t<=c.Ap.TEXTURE_CUBE_MAP_NEGATIVE_Z;t++)this._setData(e,t)}_configurePixelStorage(){const e=this._descriptor.context.gl,{unpackAlignment:t,flipped:r,preMultiplyAlpha:i}=this._descriptor;e.pixelStorei(e.UNPACK_ALIGNMENT,t),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,r?1:0),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i?1:0)}_setDataFromTexImageSource(e,t){const{gl:r}=this._descriptor.context,i=this._descriptor;i.internalFormat=(0,h.mq)(i);const n=(0,h.re)(t),{width:o,height:a,depth:s}=(0,h.Eo)(e);i.width&&i.height,i.width||(i.width=o),i.height||(i.height=a),n&&i.depth,n&&(i.depth=s),i.isImmutable&&!this._wasImmutablyAllocated&&this._texStorage(t,i.internalFormat,i.hasMipmap,o,a,s),this._texImage(t,0,i.internalFormat,o,a,s,e),(0,l.Y2)(r),i.hasMipmap&&(this.generateMipmap(),(0,l.Y2)(r))}_setDataFromCompressedSource(e,t,r){const i=this._descriptor,{width:n,height:o,depth:a}=i,s=e.levels,l=(0,h.FV)(r,n,o,a),d=Math.min(l,s.length)-1;this._descriptor.context.gl.texParameteri(i.target,c.H3.MAX_LEVEL,d),this._forEachMipmapLevel((e,i,n,o)=>{const a=s[Math.min(e,s.length-1)];this._compressedTexImage(r,e,t,i,n,o,a)},d)}_texStorage(e,t,r,n,o,a){const{gl:s}=this._descriptor.context;if(!(0,h.tr)(t)&&!(0,h.CR)(t)&&!(0,h.QJ)(t))throw new i.A("texture:missing-format","Immutable textures must have a sized internal format");if(!this._descriptor.isImmutable)return;const l=r?(0,h.FV)(e,n,o,a):1;if((0,h.re)(e)){if(null==a)throw new i.A("texture:missing-depth","Missing depth dimension for 3D texture upload");s.texStorage3D(e,l,t,n,o,a)}else s.texStorage2D(e,l,t,n,o);this._wasImmutablyAllocated=!0}_texImage(e,t,r,n,o,a,s){const l=this._descriptor.context.gl,c=(0,h.re)(e),{isImmutable:d,pixelFormat:u,dataType:m}=this._descriptor;if(d){if(null!=s){const r=s;if(c){if(null==a)throw new i.A("texture:missing-depth","Missing depth dimension for 3D texture upload");l.texSubImage3D(e,t,0,0,0,n,o,a,u,m,r)}else l.texSubImage2D(e,t,0,0,n,o,u,m,r)}}else{const d=s;if(c){if(null==a)throw new i.A("texture:missing-depth","Missing depth dimension for 3D texture upload");l.texImage3D(e,t,r,n,o,a,0,u,m,d)}else l.texImage2D(e,t,r,n,o,0,u,m,d)}}_compressedTexImage(e,t,r,n,o,a,s){const l=this._descriptor.context.gl,c=(0,h.re)(e);if(this._descriptor.isImmutable){if(null!=s)if(c){if(null==a)throw new i.A("texture:missing-depth","Missing depth dimension for 3D texture upload");l.compressedTexSubImage3D(e,t,0,0,0,n,o,a,r,s)}else l.compressedTexSubImage2D(e,t,0,0,n,o,r,s)}else if(c){if(null==a)throw new i.A("texture:missing-depth","Missing depth dimension for 3D texture upload");l.compressedTexImage3D(e,t,r,n,o,a,0,s)}else l.compressedTexImage2D(e,t,r,n,o,0,s)}async _compressOnWorker(t){const{width:r,height:i,context:n,flipped:o,preMultiplyAlpha:a,hasMipmap:l}=this._descriptor,d=this._descriptor.compress?.compressionTracker,u=this._descriptor.compress?.compressionCallback,{compressedTextureETC:h,compressedTextureS3TC:m}=n.capabilities;if(!e.compressionWorkerHandle?.isCompressible(t,this._descriptor)||!h&&!m)return;this.abortCompression();const p=new AbortController;this._compressionAbortController=p,d?.increment();try{let n;t instanceof Uint8Array?n=t.buffer:(n=await createImageBitmap(t,{imageOrientation:o?"flipY":"none"}),(0,s.Te)(p));const d={data:n,width:r,height:i,needsFlip:t instanceof Uint8Array&&this.descriptor.flipped,components:this._descriptor.pixelFormat===c.Ab.RGBA?4:3,preMultiplyAlpha:a,hasMipmap:l,hasETC:!!h,hasS3TC:!!m},f=await e.compressionWorkerHandle.invoke(d,p.signal,"low");if((0,s.Te)(p),f.compressedTexture&&this.hasWebGLTextureObject){const e=this.usedMemory;this._descriptor.internalFormat=f.internalFormat,this._setData(f.compressedTexture),u?.(e-this.usedMemory)}}catch(e){(0,s.zf)(e)||f().error("Texture compression failed!")}finally{d?.decrement(),this._compressionAbortController?.signal.aborted&&(this._compressionAbortController=null)}}_forEachMipmapLevel(e,t=1/0){let{width:r,height:n,depth:o,hasMipmap:a,target:s}=this._descriptor;const l=s===c.Ap.TEXTURE_3D;if(null==r||null==n||l&&null==o)throw new i.A("texture:missing-size","Missing texture dimensions for mipmap calculation");for(let i=0;e(i,r,n,o),a&&(1!==r||1!==n||l&&1!==o)&&!(i>=t);++i)r=Math.max(1,r>>1),n=Math.max(1,n>>1),l&&(o=Math.max(1,o>>1))}_applySamplingMode(){const e=this._descriptor,t=e.context?.gl;let r=e.samplingMode,i=e.samplingMode;r===c.Cj.LINEAR_MIPMAP_NEAREST||r===c.Cj.LINEAR_MIPMAP_LINEAR?(r=c.Cj.LINEAR,e.hasMipmap||(i=c.Cj.LINEAR)):r!==c.Cj.NEAREST_MIPMAP_NEAREST&&r!==c.Cj.NEAREST_MIPMAP_LINEAR||(r=c.Cj.NEAREST,e.hasMipmap||(i=c.Cj.NEAREST)),t.texParameteri(e.target,t.TEXTURE_MAG_FILTER,r),t.texParameteri(e.target,t.TEXTURE_MIN_FILTER,i)}_applyWrapMode(){const e=this._descriptor,t=e.context?.gl;"number"==typeof e.wrapMode?(t.texParameteri(e.target,t.TEXTURE_WRAP_S,e.wrapMode),t.texParameteri(e.target,t.TEXTURE_WRAP_T,e.wrapMode)):(t.texParameteri(e.target,t.TEXTURE_WRAP_S,e.wrapMode.s),t.texParameteri(e.target,t.TEXTURE_WRAP_T,e.wrapMode.t))}_applyShadowMode(){const e=this._descriptor,t=e.context?.gl,r=e.compareEnabled?t.COMPARE_REF_TO_TEXTURE:t.NONE;t.texParameteri(e.target,t.TEXTURE_COMPARE_MODE,r),e.compareEnabled&&t.texParameteri(e.target,t.TEXTURE_COMPARE_FUNC,t.GREATER),(0,l.Y2)(t)}_applyAnisotropicFilteringParameters(){const e=this._descriptor,t=e.context.capabilities.textureFilterAnisotropic;t&&e.context.gl.texParameterf(e.target,t.TEXTURE_MAX_ANISOTROPY,e.maxAnisotropy??1)}}},22393:(e,t,r)=>{r.d(t,{c:()=>s});var i=r(31821);function n(e){e.code.add(i.H`vec3 evaluateDiffuseIlluminationHemisphere(vec3 ambientGround, vec3 ambientSky, float NdotNG) {
91
91
  return ((1.0 - NdotNG) * ambientGround + (1.0 + NdotNG) * ambientSky) * 0.5;
92
92
  }`),e.code.add(i.H`float integratedRadiance(float cosTheta2, float roughness) {
93
93
  return (cosTheta2 - 1.0) / (cosTheta2 * (1.0 - roughness * roughness) - 1.0);
@@ -264,7 +264,7 @@ return dpDummy * hiD + loD;
264
264
  vec3 shadedColor = evaluateSceneLightingPBR(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight, shadingParams.viewDirection, normalGround, mrr, emission, additionalAmbientIrradiance);`:F.H`vec3 shadedColor = evaluateSceneLighting(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight);`}
265
265
  vec4 finalColor = vec4(shadedColor, opacity_);
266
266
  outputColorHighlightOID(finalColor, vpos, albedo ${(0,F.If)(J,", snow")});
267
- `),t}const j=Object.freeze(Object.defineProperty({__proto__:null,build:W},Symbol.toStringTag,{value:"Module"}))},29878:(e,t,r)=>{var i;r.d(t,{d:()=>i}),function(e){e[e.OBJECT=0]="OBJECT",e[e.HUD=1]="HUD",e[e.TERRAIN=2]="TERRAIN",e[e.OVERLAY=3]="OVERLAY",e[e.I3S=4]="I3S",e[e.PCL=5]="PCL",e[e.LOD=6]="LOD",e[e.VOXEL=7]="VOXEL",e[e.TILES3D=8]="TILES3D"}(i||(i={}))},29920:(e,t,r)=>{r.d(t,{j:()=>s});var i=r(3694),n=r(38954),o=r(51850),a=r(620);class s{constructor(e,t,r){this.primitiveIndices=e,this._numIndexPerPrimitive=t,this.position=r,this._children=void 0,(0,a.vA)(e.length>=1),(0,a.vA)(3===r.size||4===r.size);const{data:i,size:s,indices:c}=r;(0,a.vA)(c.length%this._numIndexPerPrimitive===0),(0,a.vA)(c.length>=e.length*this._numIndexPerPrimitive);const d=e.length;let u=s*c[this._numIndexPerPrimitive*e[0]];l.clear(),l.push(u);const h=(0,o.fA)(i[u],i[u+1],i[u+2]),m=(0,o.o8)(h);for(let t=0;t<d;++t){const r=this._numIndexPerPrimitive*e[t];for(let e=0;e<this._numIndexPerPrimitive;++e){u=s*c[r+e],l.push(u);let t=i[u];h[0]=Math.min(t,h[0]),m[0]=Math.max(t,m[0]),t=i[u+1],h[1]=Math.min(t,h[1]),m[1]=Math.max(t,m[1]),t=i[u+2],h[2]=Math.min(t,h[2]),m[2]=Math.max(t,m[2])}}this.bbMin=h,this.bbMax=m;const p=(0,n.m)((0,o.vt)(),this.bbMin,this.bbMax,.5);this.radius=.5*Math.max(Math.max(m[0]-h[0],m[1]-h[1]),m[2]-h[2]);let f=this.radius*this.radius;for(let e=0;e<l.length;++e){u=l.at(e);const t=i[u]-p[0],r=i[u+1]-p[1],n=i[u+2]-p[2],o=t*t+r*r+n*n;if(o<=f)continue;const a=Math.sqrt(o),s=.5*(a-this.radius);this.radius=this.radius+s,f=this.radius*this.radius;const c=s/a;p[0]+=t*c,p[1]+=r*c,p[2]+=n*c}this.center=p,l.clear()}getChildren(){if(this._children||(0,n.s)(this.bbMin,this.bbMax)<=1)return this._children;const e=(0,n.m)((0,o.vt)(),this.bbMin,this.bbMax,.5),t=this.primitiveIndices.length,r=new Uint8Array(t),i=new Array(8);for(let e=0;e<8;++e)i[e]=0;const{data:a,size:l,indices:c}=this.position;for(let n=0;n<t;++n){let t=0;const o=this._numIndexPerPrimitive*this.primitiveIndices[n];let s=l*c[o],d=a[s],u=a[s+1],h=a[s+2];for(let e=1;e<this._numIndexPerPrimitive;++e){s=l*c[o+e];const t=a[s],r=a[s+1],i=a[s+2];t<d&&(d=t),r<u&&(u=r),i<h&&(h=i)}d<e[0]&&(t|=1),u<e[1]&&(t|=2),h<e[2]&&(t|=4),r[n]=t,++i[t]}let d=0;for(let e=0;e<8;++e)i[e]>0&&++d;if(d<2)return;const u=new Array(8);for(let e=0;e<8;++e)u[e]=i[e]>0?new Uint32Array(i[e]):void 0;for(let e=0;e<8;++e)i[e]=0;for(let e=0;e<t;++e){const t=r[e];u[t][i[t]++]=this.primitiveIndices[e]}this._children=new Array;for(let e=0;e<8;++e)void 0!==u[e]&&this._children.push(new s(u[e],this._numIndexPerPrimitive,this.position));return this._children}static prune(){l.prune()}}const l=new i.A({deallocator:null})},31821:(e,t,r)=>{function i(e,...t){let r="";for(let i=0;i<t.length;i++)r+=e[i]+t[i];return r+=e[e.length-1],r}function n(e,t,r=""){return e?t:r}r.d(t,{H:()=>i,If:()=>n}),function(e){e.int=function(e){return Math.round(e).toString()},e.float=function(e){return e.toPrecision(8)}}(i||(i={}))},32680:(e,t,r)=>{r.d(t,{M:()=>n});var i=r(31821);function n(e){e.vertex.code.add(i.H`vec4 offsetBackfacingClipPosition(vec4 posClip, vec3 posWorld, vec3 normalWorld, vec3 camPosWorld) {
267
+ `),t}const j=Object.freeze(Object.defineProperty({__proto__:null,build:W},Symbol.toStringTag,{value:"Module"}))},29878:(e,t,r)=>{var i;r.d(t,{d:()=>i}),function(e){e[e.OBJECT=0]="OBJECT",e[e.HUD=1]="HUD",e[e.TERRAIN=2]="TERRAIN",e[e.OVERLAY=3]="OVERLAY",e[e.I3S=4]="I3S",e[e.PCL=5]="PCL",e[e.LOD=6]="LOD",e[e.VOXEL=7]="VOXEL",e[e.TILES3D=8]="TILES3D"}(i||(i={}))},29920:(e,t,r)=>{r.d(t,{j:()=>s});var i=r(15142),n=r(38954),o=r(51850),a=r(620);class s{constructor(e,t,r){this.primitiveIndices=e,this._numIndexPerPrimitive=t,this.position=r,this._children=void 0,(0,a.vA)(e.length>=1),(0,a.vA)(3===r.size||4===r.size);const{data:i,size:s,indices:c}=r;(0,a.vA)(c.length%this._numIndexPerPrimitive===0),(0,a.vA)(c.length>=e.length*this._numIndexPerPrimitive);const d=e.length;let u=s*c[this._numIndexPerPrimitive*e[0]];l.clear(),l.push(u);const h=(0,o.fA)(i[u],i[u+1],i[u+2]),m=(0,o.o8)(h);for(let t=0;t<d;++t){const r=this._numIndexPerPrimitive*e[t];for(let e=0;e<this._numIndexPerPrimitive;++e){u=s*c[r+e],l.push(u);let t=i[u];h[0]=Math.min(t,h[0]),m[0]=Math.max(t,m[0]),t=i[u+1],h[1]=Math.min(t,h[1]),m[1]=Math.max(t,m[1]),t=i[u+2],h[2]=Math.min(t,h[2]),m[2]=Math.max(t,m[2])}}this.bbMin=h,this.bbMax=m;const p=(0,n.m)((0,o.vt)(),this.bbMin,this.bbMax,.5);this.radius=.5*Math.max(Math.max(m[0]-h[0],m[1]-h[1]),m[2]-h[2]);let f=this.radius*this.radius;for(let e=0;e<l.length;++e){u=l.at(e);const t=i[u]-p[0],r=i[u+1]-p[1],n=i[u+2]-p[2],o=t*t+r*r+n*n;if(o<=f)continue;const a=Math.sqrt(o),s=.5*(a-this.radius);this.radius=this.radius+s,f=this.radius*this.radius;const c=s/a;p[0]+=t*c,p[1]+=r*c,p[2]+=n*c}this.center=p,l.clear()}getChildren(){if(this._children||(0,n.s)(this.bbMin,this.bbMax)<=1)return this._children;const e=(0,n.m)((0,o.vt)(),this.bbMin,this.bbMax,.5),t=this.primitiveIndices.length,r=new Uint8Array(t),i=new Array(8);for(let e=0;e<8;++e)i[e]=0;const{data:a,size:l,indices:c}=this.position;for(let n=0;n<t;++n){let t=0;const o=this._numIndexPerPrimitive*this.primitiveIndices[n];let s=l*c[o],d=a[s],u=a[s+1],h=a[s+2];for(let e=1;e<this._numIndexPerPrimitive;++e){s=l*c[o+e];const t=a[s],r=a[s+1],i=a[s+2];t<d&&(d=t),r<u&&(u=r),i<h&&(h=i)}d<e[0]&&(t|=1),u<e[1]&&(t|=2),h<e[2]&&(t|=4),r[n]=t,++i[t]}let d=0;for(let e=0;e<8;++e)i[e]>0&&++d;if(d<2)return;const u=new Array(8);for(let e=0;e<8;++e)u[e]=i[e]>0?new Uint32Array(i[e]):void 0;for(let e=0;e<8;++e)i[e]=0;for(let e=0;e<t;++e){const t=r[e];u[t][i[t]++]=this.primitiveIndices[e]}this._children=new Array;for(let e=0;e<8;++e)void 0!==u[e]&&this._children.push(new s(u[e],this._numIndexPerPrimitive,this.position));return this._children}static prune(){l.prune()}}const l=new i.A({deallocator:null})},31821:(e,t,r)=>{function i(e,...t){let r="";for(let i=0;i<t.length;i++)r+=e[i]+t[i];return r+=e[e.length-1],r}function n(e,t,r=""){return e?t:r}r.d(t,{H:()=>i,If:()=>n}),function(e){e.int=function(e){return Math.round(e).toString()},e.float=function(e){return e.toPrecision(8)}}(i||(i={}))},32680:(e,t,r)=>{r.d(t,{M:()=>n});var i=r(31821);function n(e){e.vertex.code.add(i.H`vec4 offsetBackfacingClipPosition(vec4 posClip, vec3 posWorld, vec3 normalWorld, vec3 camPosWorld) {
268
268
  vec3 camToVert = posWorld - camPosWorld;
269
269
  bool isBackface = dot(camToVert, normalWorld) > 0.0;
270
270
  if (isBackface) {
@@ -564,7 +564,7 @@ return applyScreenSizePerspectiveScaleFactorVec2(size, screenSizePerspectiveScal
564
564
  }`)}function l(e){e.uniforms.add(new o.t("screenSizePerspective",e=>d(e.screenSizePerspective)))}function c(e){e.uniforms.add(new o.t("screenSizePerspectiveAlignment",e=>d(e.screenSizePerspectiveAlignment||e.screenSizePerspective)))}function d(e){return(0,i.i)(u,e.parameters.divisor,e.parameters.offset,e.minScaleFactor)}const u=(0,n.vt)()},53466:(e,t,r)=>{r.d(t,{I:()=>i,U:()=>l});var i,n,o=r(21818),a=r(31821),s=r(46540);function l(e,t){switch(t.textureCoordinateType){case i.Default:return e.attributes.add(s.r.UV0,"vec2"),e.varyings.add("vuv0","vec2"),void e.vertex.code.add(a.H`void forwardTextureCoordinates() { vuv0 = uv0; }`);case i.Atlas:return e.attributes.add(s.r.UV0,"vec2"),e.attributes.add(s.r.UVREGION,"vec4"),e.varyings.add("vuv0","vec2"),e.varyings.add("vuvRegion","vec4"),void e.vertex.code.add(a.H`void forwardTextureCoordinates() {
565
565
  vuv0 = uv0;
566
566
  vuvRegion = uvRegion;
567
- }`);default:(0,o.Xb)(t.textureCoordinateType);case i.None:return void e.vertex.code.add(a.H`void forwardTextureCoordinates() {}`);case i.COUNT:return}}(n=i||(i={}))[n.None=0]="None",n[n.Default=1]="Default",n[n.Atlas=2]="Atlas",n[n.COUNT=3]="COUNT"},53802:(e,t,r)=>{r.d(t,{n:()=>zt});var i=r(31821),n=r(12791),o=r(90237),a=r(34727),s=r(97768),l=r(36708),c=r(78659),d=r(10107),u=(r(44208),r(53966)),h=(r(87811),r(40608)),m=r(37585),p=r(69540);let f=class extends p.A{constructor(e){super(e),this.row=0,this.column=0,this.rows=1,this.columns=1}equals(e){return null!=e&&this.row===e.row&&this.rows===e.rows&&this.column===e.column&&this.columns===e.columns}};(0,o._)([(0,d.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],f.prototype,"row",void 0),(0,o._)([(0,d.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],f.prototype,"column",void 0),(0,o._)([(0,d.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],f.prototype,"rows",void 0),(0,o._)([(0,d.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],f.prototype,"columns",void 0),f=(0,o._)([(0,h.$)("esri.CameraLayout")],f);const v=f;var g=r(69052),_=r(25482),T=r(79901),x=r(36005),E=r(43937),M=r(56507),A=r(86738);let w=class extends(p.A.ClonableMixin(_.A)){constructor(...e){super(...e),this.position=new A.A([0,0,0]),this.heading=0,this.tilt=0,this.fov=55,this.layout=new v}normalizeCtorArgs(e,t,r,i){if(e&&"object"==typeof e&&("x"in e||Array.isArray(e))){const n={position:e};return null!=t&&(n.heading=t),null!=r&&(n.tilt=r),null!=i&&(n.fov=i),n}return e}writePosition(e,t,r,i){const n=e.clone();n.x=(0,M.GB)(e.x||0),n.y=(0,M.GB)(e.y||0),n.z=e.hasZ?(0,M.GB)(e.z||0):e.z,t[r]=n.write({},i)}readPosition(e,t){const r=new A.A;return r.read(e,t),r.x=(0,M.GB)(r.x||0),r.y=(0,M.GB)(r.y||0),r.z=r.hasZ?(0,M.GB)(r.z||0):r.z,r}equals(e){return null!=e&&this.tilt===e.tilt&&this.heading===e.heading&&this.fov===e.fov&&this.position.equals(e.position)&&this.layout.equals(e.layout)}};(0,o._)([(0,d.MZ)({type:A.A,json:{write:{isRequired:!0}}})],w.prototype,"position",void 0),(0,o._)([(0,E.K)("position")],w.prototype,"writePosition",null),(0,o._)([(0,x.w)("position")],w.prototype,"readPosition",null),(0,o._)([(0,d.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),(0,T.w)(e=>g.ie.normalize((0,M.GB)(e)))],w.prototype,"heading",void 0),(0,o._)([(0,d.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),(0,T.w)(e=>(0,a.qE)((0,M.GB)(e),-180,180))],w.prototype,"tilt",void 0),(0,o._)([(0,d.MZ)({type:Number,nonNullable:!0,json:{default:55,write:!0}}),(0,T.w)(e=>(0,a.qE)((0,M.GB)(e,55),1,170))],w.prototype,"fov",void 0),(0,o._)([(0,d.MZ)({type:v,nonNullable:!0,json:{read:!1,write:!1}})],w.prototype,"layout",void 0),w=(0,o._)([(0,h.$)("esri.Camera")],w);var b,R,O,S,y=r(9093),C=r(38954),I=r(51850),N=r(16930),P=(r(48353),r(9762),r(65806)),D=r(27993),F=r(73941),L=(r(19419),r(69622)),H=r(90629),B=r(58083),G=r(48163),U=r(87317),z=r(91829),V=r(82919),W=r(71351),j=r(44280),k=r(24151);r(3694),(S=b||(b={}))[S.Default=0]="Default",S[S.Screenshot=1]="Screenshot",S[S.ObjectAndLayerID=2]="ObjectAndLayerID",function(e){e[e.TOP=0]="TOP",e[e.RIGHT=1]="RIGHT",e[e.BOTTOM=2]="BOTTOM",e[e.LEFT=3]="LEFT"}(R||(R={}));let q=O=class extends L.A{constructor(e){super(e),this._ray=(0,W.vt)(),this._viewport=(0,z.fA)(0,0,1,1),this._padding=(0,z.fA)(0,0,0,0),this._fov=55/180*Math.PI,this._nearFar=(0,G.fA)(1,1e3),this._viewDirty=!0,this._viewMatrix=(0,y.vt)(),this._viewProjectionDirty=!0,this._viewProjectionMatrix=(0,y.vt)(),this._viewInverseTransposeMatrixDirty=!0,this._viewInverseTransposeMatrix=(0,y.vt)(),this._frustumDirty=!0,this._frustum=(0,V.vt)(),this._fullViewport=(0,z.vt)(),this._pixelRatio=1,this.row=0,this.column=0,this._rows=1,this._columns=1,this._center=(0,I.vt)(),this._up=(0,I.vt)(),this.relativeElevation=0}get pixelRatio(){return this._pixelRatio}set pixelRatio(e){this._pixelRatio=e>0?e:1}get rows(){return this._rows}set rows(e){this._rows=Math.max(1,e)}get columns(){return this._columns}set columns(e){this._columns=Math.max(1,e)}get eye(){return this._ray.origin}set eye(e){this._compareAndSetView(e,this._ray.origin)}get center(){return this._center}set center(e){this._compareAndSetView(e,this._center,"_center")}get ray(){return(0,C.d)(this._ray.direction,this.center,this.eye),this._ray}get up(){return this._up}set up(e){this._compareAndSetView(e,this._up,"_up")}get viewMatrix(){return this._ensureViewClean(),this._viewMatrix}set viewMatrix(e){(0,B.C)(this._viewMatrix,e),this.notifyChange("_viewMatrix"),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0}get viewForward(){return this._ensureViewClean(),(0,C.i)((0,I.vt)(),-this._viewMatrix[2],-this._viewMatrix[6],-this._viewMatrix[10])}get viewUp(){return this._ensureViewClean(),(0,C.i)((0,I.vt)(),this._viewMatrix[1],this._viewMatrix[5],this._viewMatrix[9])}get viewRight(){return this._ensureViewClean(),(0,C.i)((0,I.vt)(),this._viewMatrix[0],this._viewMatrix[4],this._viewMatrix[8])}get nearFar(){return this._nearFar}get near(){return this._nearFar[0]}set near(e){this._nearFar[0]!==e&&(this._nearFar[0]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_nearFar"))}get far(){return this._nearFar[1]}set far(e){this._nearFar[1]!==e&&(this._nearFar[1]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_nearFar"))}get viewport(){return this._viewport}set viewport(e){this.x=e[0],this.y=e[1],this.width=e[2],this.height=e[3]}get screenViewport(){if(1===this.pixelRatio)return this._viewport;const e=(0,U.d)((0,z.vt)(),this._viewport,1/this.pixelRatio),t=this._get("screenViewport");return t&&(0,U.e)(e,t)?t:e}get screenPadding(){if(1===this.pixelRatio)return this._padding;const e=(0,U.d)((0,z.vt)(),this._padding,1/this.pixelRatio),t=this._get("screenPadding");return t&&(0,U.e)(e,t)?t:e}get x(){return this._viewport[0]}set x(e){e+=this._padding[R.LEFT],this._viewport[0]!==e&&(this._viewport[0]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get y(){return this._viewport[1]}set y(e){e+=this._padding[R.BOTTOM],this._viewport[1]!==e&&(this._viewport[1]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get width(){return this._viewport[2]}set width(e){this._viewport[2]!==e&&(this._viewport[2]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get height(){return this._viewport[3]}set height(e){this._viewport[3]!==e&&(this._viewport[3]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get fullWidth(){return this._viewport[2]+this._padding[R.RIGHT]+this._padding[R.LEFT]}set fullWidth(e){this.width=e-(this._padding[R.RIGHT]+this._padding[R.LEFT])}get fullHeight(){return this._viewport[3]+this._padding[R.TOP]+this._padding[R.BOTTOM]}set fullHeight(e){this.height=e-(this._padding[R.TOP]+this._padding[R.BOTTOM])}get fullViewport(){return this._fullViewport[0]=this._viewport[0]-this._padding[R.LEFT],this._fullViewport[1]=this._viewport[1]-this._padding[R.BOTTOM],this._fullViewport[2]=this.fullWidth,this._fullViewport[3]=this.fullHeight,this._fullViewport}get _aspect(){return this.width/this.height}get padding(){return this._padding}set padding(e){(0,U.a)(this._padding,e)||(this._viewport[0]+=e[R.LEFT]-this._padding[R.LEFT],this._viewport[1]+=e[R.BOTTOM]-this._padding[R.BOTTOM],this._viewport[2]-=e[R.RIGHT]+e[R.LEFT]-(this._padding[R.RIGHT]+this._padding[R.LEFT]),this._viewport[3]-=e[R.TOP]+e[R.BOTTOM]-(this._padding[R.TOP]+this._padding[R.BOTTOM]),(0,U.c)(this._padding,e),this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_padding"),this.notifyChange("_viewport"))}get viewProjectionMatrix(){return this._viewProjectionDirty&&((0,B.lw)(this._viewProjectionMatrix,this.projectionMatrix,this.viewMatrix),this._viewProjectionDirty=!1),this._viewProjectionMatrix}get projectionMatrix(){return this._projectionMatrixInternal}get inverseProjectionMatrix(){return(0,B.B8)((0,y.vt)(),this.projectionMatrix)||this._get("inverseProjectionMatrix")||(0,y.vt)()}get fov(){return this._fov}set fov(e){this._fov=e,this._viewProjectionDirty=!0,this._frustumDirty=!0}get fovX(){return e=this._fov,t=this.width,r=this.height,2*Math.atan(t*Math.tan(.5*e)/Math.sqrt(t*t+r*r));var e,t,r}set fovX(e){this._fov=function(e,t,r){return 2*Math.atan(Math.sqrt(t*t+r*r)*Math.tan(.5*e)/t)}(e,this.width,this.height),this._viewProjectionDirty=!0,this._frustumDirty=!0}get fovY(){return e=this._fov,t=this.width,r=this.height,2*Math.atan(r*Math.tan(.5*e)/Math.sqrt(t*t+r*r));var e,t,r}set fovY(e){this._fov=function(e,t,r){return 2*Math.atan(Math.sqrt(t*t+r*r)*Math.tan(.5*e)/r)}(e,this.width,this.height),this._viewProjectionDirty=!0,this._frustumDirty=!0}get distance(){return(0,C.j)(this.center,this.eye)}get frustum(){return this._recomputeFrustum(),this._frustum}get viewInverseTransposeMatrix(){return(this._viewInverseTransposeMatrixDirty||this._viewDirty)&&((0,B.B8)(this._viewInverseTransposeMatrix,this.viewMatrix),(0,B.mg)(this._viewInverseTransposeMatrix,this._viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=!1),this._viewInverseTransposeMatrix}depthNDCToWorld(e){const{near:t,far:r}=this;return 2*t*r/(r+t-e*(r-t))}get perRenderPixelRatio(){return Math.tan(this.fovX/2)/(this.width/2)}get perScreenPixelRatio(){return this.perRenderPixelRatio*this.pixelRatio}get aboveGround(){return null!=this.relativeElevation&&this.relativeElevation>=0}get _projectionMatrixInternal(){const e=this.width,t=this.height,r=this.near*Math.tan(this.fovY/2)*2,i=r*this._aspect,n=r/this.rows,o=i/this.columns,a=-i/2+this.column*o,s=a+o,l=-r/2+this.row*n,c=l+n,d=(0,B.$h)((0,y.vt)(),a*(1+2*this._padding[R.LEFT]/e),s*(1+2*this._padding[R.RIGHT]/e),l*(1+2*this._padding[R.BOTTOM]/t),c*(1+2*this._padding[R.TOP]/t),this.near,this.far),u=this._get("projectionMatrix");return u&&(0,B.aI)(u,d)?u:d}copyFrom(e){(0,C.c)(this._ray.origin,e.eye),this.center=e.center,this.up=e.up,(0,U.c)(this._viewport,e.viewport),this.notifyChange("_viewport"),(0,U.c)(this._padding,e.padding),this.notifyChange("_padding"),(0,m.C)(this._nearFar,e.nearFar),this.notifyChange("_nearFar"),this._fov=e.fov,this.row=e.row,this.column=e.column,this.rows=e.rows,this.columns=e.columns,this.relativeElevation=e.relativeElevation;const t=e;return this._viewDirty=t._viewDirty,this._viewDirty||((0,B.C)(this._viewMatrix,e.viewMatrix),this.notifyChange("_viewMatrix")),this._viewProjectionDirty=!0,this._frustumDirty=t._frustumDirty,this._frustumDirty||((0,V.C)(this._frustum,e.frustum),this._frustumDirty=!1),t._viewInverseTransposeMatrixDirty?this._viewInverseTransposeMatrixDirty=!0:((0,B.C)(this._viewInverseTransposeMatrix,e.viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=!1),(0,U.c)(this._fullViewport,e.fullViewport),this.pixelRatio=e.pixelRatio,this}copyViewFrom(e){this.eye=e.eye,this.center=e.center,this.up=e.up,this.fov=e.fov}clone(){return(new O).copyFrom(this)}equals(e){return(0,C.q)(this.eye,e.eye)&&(0,C.q)(this.center,e.center)&&(0,C.q)(this.up,e.up)&&(0,U.a)(this._viewport,e.viewport)&&(0,U.a)(this._padding,e.padding)&&(0,m.t2)(this.nearFar,e.nearFar)&&this._fov===e.fov&&this.pixelRatio===e.pixelRatio&&this.relativeElevation===e.relativeElevation&&this.row===e.row&&this.column===e.column&&this.rows===e.rows&&this.columns===e.columns}almostEquals(e){const t=Math.max(1,1/this.pixelRatio,1/e.pixelRatio);if(Math.abs(e.fov-this._fov)>=.001||(0,U.f)(e.screenPadding,this.screenPadding)>=t||(0,U.f)(this.screenViewport,e.screenViewport)>=t||this.row!==e.row||this.column!==e.column||this.rows!==e.rows||this.columns!==e.columns)return!1;(0,C.a)(Z,e.eye,e.center),(0,C.a)(X,this.eye,this.center);const r=(0,C.e)(Z,X),i=(0,C.y)(Z),n=(0,C.y)(X),o=5e-4;return r*r>=(1-1e-10)*i*n&&(0,C.x)(e.eye,this.eye)<Math.max(i,n)*o*o}computeRenderPixelSizeAt(e){return this.computeRenderPixelSizeAtDist(this._viewDirectionDistance(e))}computeRenderPixelSizeAtDist(e){return e*this.perRenderPixelRatio}computeScreenPixelSizeAt(e){return this.computeScreenPixelSizeAtDist(this._viewDirectionDistance(e))}_viewDirectionDistance(e){return Math.abs((0,j.gr)(this.viewForward,(0,C.d)(Z,e,this.eye)))}computeScreenPixelSizeAtDist(e){return e*this.perScreenPixelRatio}computeDistanceFromRadius(e,t){return e/Math.tan(Math.min(this.fovX,this.fovY)/(2*(t||1)))}getScreenCenter(e=(0,H.gs)()){return e[0]=(this.padding[R.LEFT]+this.width/2)/this.pixelRatio,e[1]=(this.padding[R.TOP]+this.height/2)/this.pixelRatio,e}getRenderCenter(e,t=.5,r=.5){return e[0]=this.padding[R.LEFT]+this.width*t,e[1]=this.padding[R.BOTTOM]+this.height*r,e[2]=.5,e}setGLViewport(e){const t=this.viewport,r=this.padding;e.setViewport(t[0]-r[3],t[1]-r[2],t[2]+r[1]+r[3],t[3]+r[0]+r[2])}applyProjection(e,t){e!==$&&(0,C.c)($,e),$[3]=1,(0,U.t)($,$,this.projectionMatrix);const r=Math.abs($[3]);(0,C.g)($,$,1/r);const i=this.fullViewport;t[0]=(0,a.Cc)(0,i[0]+i[2],.5+.5*$[0]),t[1]=(0,a.Cc)(0,i[1]+i[3],.5+.5*$[1]),t[2]=.5*($[2]+1),t[3]=r}unapplyProjection(e,t){const r=this.fullViewport;$[0]=(e[0]/(r[0]+r[2])*2-1)*e[3],$[1]=(e[1]/(r[1]+r[3])*2-1)*e[3],$[2]=(2*e[2]-1)*e[3],$[3]=e[3],null!=this.inverseProjectionMatrix&&((0,U.t)($,$,this.inverseProjectionMatrix),t[0]=$[0],t[1]=$[1],t[2]=$[2])}projectToScreen(e,t){return this.projectToRenderScreen(e,J),this.renderToScreen(J,t),t}projectToRenderScreen(e,t){if($[0]=e[0],$[1]=e[1],$[2]=e[2],$[3]=1,(0,U.t)($,$,this.viewProjectionMatrix),0===$[3])return null;const r=$;(0,C.g)(r,r,1/Math.abs($[3]));const i=this.fullViewport,n=(0,a.Cc)(0,i[0]+i[2],.5+.5*r[0]),o=(0,a.Cc)(0,i[1]+i[3],.5+.5*r[1]);return"x"in t?(t.x=n,t.y=o):(t[0]=n,t[1]=o,t.length>2&&(t[2]=.5*(r[2]+1))),t}unprojectFromScreen(e,t){return this.unprojectFromRenderScreen(this.screenToRender(e,J),t)}unprojectFromRenderScreen(e,t){if((0,B.lw)(Y,this.projectionMatrix,this.viewMatrix),!(0,B.B8)(Y,Y))return null;const r=this.fullViewport;return $[0]=2*(e[0]-r[0])/r[2]-1,$[1]=2*(e[1]-r[1])/r[3]-1,$[2]=2*e[2]-1,$[3]=1,(0,U.t)($,$,Y),0===$[3]?null:(t[0]=$[0]/$[3],t[1]=$[1]/$[3],t[2]=$[2]/$[3],t)}constrainWindowSize(e,t,r,i){const n=e*this.pixelRatio,o=t*this.pixelRatio,a=Math.max(n-r/2,0),s=Math.max(this.fullHeight-o-i/2,0),l=-Math.min(n-r/2,0),c=-Math.min(this.fullHeight-o-i/2,0),d=r-l- -Math.min(this.fullWidth-n-r/2,0),u=i-c- -Math.min(o-i/2,0);return[Math.round(a),Math.round(s),Math.round(d),Math.round(u)]}computeUp(e){e===k.RT.Global?this._computeUpGlobal():this._computeUpLocal()}screenToRender(e,t){const r=e[0]*this.pixelRatio,i=this.fullHeight-e[1]*this.pixelRatio;return t[0]=r,t[1]=i,t}renderToScreen(e,t){const r=e[0]/this.pixelRatio,i=(this.fullHeight-e[1])/this.pixelRatio;t[0]=r,t[1]=i}_computeUpGlobal(){(0,C.d)(Z,this.center,this.eye);const e=(0,C.l)(this.center);e<1?((0,C.i)(this._up,0,0,1),this._markViewDirty(),this.notifyChange("_up")):Math.abs((0,C.e)(Z,this.center))>.9999*(0,C.l)(Z)*e||((0,C.h)(this._up,Z,this.center),(0,C.h)(this._up,this._up,Z),(0,C.n)(this._up,this._up),this.notifyChange("_up"),this._markViewDirty())}_computeUpLocal(){(0,C.E)(Z,this.eye,this.center),Math.abs(Z[2])<=.9999&&((0,C.g)(Z,Z,Z[2]),(0,C.i)(this._up,-Z[0],-Z[1],1-Z[2]),(0,C.n)(this._up,this._up),this.notifyChange("_up"),this._markViewDirty())}_compareAndSetView(e,t,r=""){"number"==typeof e[0]&&isFinite(e[0])&&"number"==typeof e[1]&&isFinite(e[1])&&"number"==typeof e[2]&&isFinite(e[2])?(0,C.q)(e,t)||((0,C.c)(t,e),this._markViewDirty(),r.length&&this.notifyChange(r)):u.A.getLogger("esri.views.3d.webgl-engine.lib.RenderCamera").warn("RenderCamera vector contains invalid number, ignoring value")}_markViewDirty(){this._viewDirty=!0,this._frustumDirty=!0,this._viewProjectionDirty=!0}_recomputeFrustum(){this._frustumDirty&&((0,V.ui)(this.viewMatrix,this.projectionMatrix,this._frustum),this._frustumDirty=!1)}_ensureViewClean(){this._viewDirty&&((0,B.t5)(this._viewMatrix,this.eye,this.center,this.up),this.notifyChange("_viewMatrix"),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0)}};(0,o._)([(0,d.MZ)()],q.prototype,"_viewport",void 0),(0,o._)([(0,d.MZ)()],q.prototype,"_padding",void 0),(0,o._)([(0,d.MZ)()],q.prototype,"_fov",void 0),(0,o._)([(0,d.MZ)()],q.prototype,"_nearFar",void 0),(0,o._)([(0,d.MZ)()],q.prototype,"_viewDirty",void 0),(0,o._)([(0,d.MZ)()],q.prototype,"_viewMatrix",void 0),(0,o._)([(0,d.MZ)()],q.prototype,"_pixelRatio",void 0),(0,o._)([(0,d.MZ)()],q.prototype,"pixelRatio",null),(0,o._)([(0,d.MZ)()],q.prototype,"row",void 0),(0,o._)([(0,d.MZ)()],q.prototype,"column",void 0),(0,o._)([(0,d.MZ)()],q.prototype,"_rows",void 0),(0,o._)([(0,d.MZ)()],q.prototype,"rows",null),(0,o._)([(0,d.MZ)()],q.prototype,"_columns",void 0),(0,o._)([(0,d.MZ)()],q.prototype,"columns",null),(0,o._)([(0,d.MZ)()],q.prototype,"eye",null),(0,o._)([(0,d.MZ)()],q.prototype,"center",null),(0,o._)([(0,d.MZ)()],q.prototype,"_center",void 0),(0,o._)([(0,d.MZ)()],q.prototype,"up",null),(0,o._)([(0,d.MZ)()],q.prototype,"_up",void 0),(0,o._)([(0,d.MZ)()],q.prototype,"viewMatrix",null),(0,o._)([(0,d.MZ)({readOnly:!0})],q.prototype,"viewForward",null),(0,o._)([(0,d.MZ)({readOnly:!0})],q.prototype,"viewUp",null),(0,o._)([(0,d.MZ)({readOnly:!0})],q.prototype,"viewRight",null),(0,o._)([(0,d.MZ)({readOnly:!0})],q.prototype,"nearFar",null),(0,o._)([(0,d.MZ)()],q.prototype,"near",null),(0,o._)([(0,d.MZ)()],q.prototype,"far",null),(0,o._)([(0,d.MZ)()],q.prototype,"viewport",null),(0,o._)([(0,d.MZ)({readOnly:!0})],q.prototype,"screenViewport",null),(0,o._)([(0,d.MZ)({readOnly:!0})],q.prototype,"screenPadding",null),(0,o._)([(0,d.MZ)()],q.prototype,"x",null),(0,o._)([(0,d.MZ)()],q.prototype,"y",null),(0,o._)([(0,d.MZ)()],q.prototype,"width",null),(0,o._)([(0,d.MZ)()],q.prototype,"height",null),(0,o._)([(0,d.MZ)()],q.prototype,"fullWidth",null),(0,o._)([(0,d.MZ)()],q.prototype,"fullHeight",null),(0,o._)([(0,d.MZ)({readOnly:!0})],q.prototype,"_aspect",null),(0,o._)([(0,d.MZ)()],q.prototype,"padding",null),(0,o._)([(0,d.MZ)({readOnly:!0})],q.prototype,"projectionMatrix",null),(0,o._)([(0,d.MZ)({readOnly:!0})],q.prototype,"inverseProjectionMatrix",null),(0,o._)([(0,d.MZ)()],q.prototype,"fov",null),(0,o._)([(0,d.MZ)()],q.prototype,"fovX",null),(0,o._)([(0,d.MZ)()],q.prototype,"fovY",null),(0,o._)([(0,d.MZ)()],q.prototype,"viewInverseTransposeMatrix",null),(0,o._)([(0,d.MZ)({readOnly:!0})],q.prototype,"_projectionMatrixInternal",null),(0,o._)([(0,d.MZ)()],q.prototype,"relativeElevation",void 0),q=O=(0,o._)([(0,h.$)("esri.views.3d.webgl.RenderCamera")],q);const $=(0,z.vt)(),Y=(0,y.vt)(),Z=(0,I.vt)(),X=(0,I.vt)(),J=(0,H.r_)();class K{constructor(e=1/0,t=-1/0){this.near=e,this.far=t}set(e,t){this.near=e,this.far=t}union(e){null!=e&&(this.near=Math.min(this.near,e.near),this.far=Math.max(this.far,e.far))}within(e){return this.near<=e&&e<=this.far}equals(e){return this.near===e.near&&this.far===e.far}static{this.zero=new K(0,0)}static{this.infinite=new K}}r(49718),r(62258),r(6867),r(29878),r(16396),(0,I.vt)(),(0,I.vt)(),(0,I.vt)(),new WeakMap;var Q,ee,te,re,ie=r(5443),ne=r(39829),oe=r(95108);function ae(e,t,r,i){const n=function(e,t){const r=t===te.LEFT||t===te.RIGHT?0:1,i=e[t],n=t===te.LEFT||t===te.BOTTOM?Q.MIN:Q.MAX,o=0===r?1:0;return(e,t,a)=>{if(t[r]<i&&a[r]<i)return n===Q.MIN?ee.OUTSIDE:ee.INSIDE;if(t[r]>i&&a[r]>i)return n===Q.MIN?ee.INSIDE:ee.OUTSIDE;const s=(a[o]-t[o])/(a[r]-t[r]),l=t[o]+s*(i-t[r]);return e[r]=i,e[o]=l,(t[r]<i?1:-1)*n>0?ee.OUTSIDE_IN:ee.INSIDE_OUT}}(r,i);if(e.length=0,t.length){n(le,t[0],t[0])===ee.INSIDE&&se(e,t[0]);for(let r=0;r<t.length;r++){const i=t[r===t.length-1?0:r+1];switch(n(le,t[r],i)){case ee.INSIDE:se(e,i);break;case ee.INSIDE_OUT:se(e,(0,G.o8)(le));break;case ee.OUTSIDE_IN:se(e,(0,G.o8)(le)),se(e,i);case ee.OUTSIDE:}}}}function se(e,t){0!==e.length&&(0,m.aI)(e.at(-1),t)||e.push(t)}(re=Q||(Q={}))[re.MIN=1]="MIN",re[re.MAX=-1]="MAX",function(e){e[e.OUTSIDE=0]="OUTSIDE",e[e.INSIDE=1]="INSIDE",e[e.OUTSIDE_IN=2]="OUTSIDE_IN",e[e.INSIDE_OUT=3]="INSIDE_OUT"}(ee||(ee={})),function(e){e[e.LEFT=0]="LEFT",e[e.BOTTOM=1]="BOTTOM",e[e.RIGHT=2]="RIGHT",e[e.TOP=3]="TOP"}(te||(te={}));const le=(0,G.vt)();class ce{get planes(){return this.frustum}get points(){return this._points}get mutablePoints(){return this._points}get direction(){return this._direction}get origin(){return this._origin}constructor(e){this.renderCoordsHelper=e,this.frustum=(0,V.vt)(),this._points=(0,V.Qy)(),this.lines=new Array(12),this._origin=(0,I.vt)(),this._direction=(0,I.vt)(),this._altitude=null;for(let e=0;e<12;e++)this.lines[e]={origin:null,direction:(0,I.vt)(),endpoint:null}}update(e){(0,V.ui)(e.viewMatrix,e.projectionMatrix,this.frustum,this._points),(0,C.c)(this._origin,e.eye),(0,C.c)(this._direction,e.viewForward),this._altitude=this.renderCoordsHelper.getAltitude(this._origin),this._updateLines()}updatePoints(e){for(let t=0;t<this._points.length;t++)(0,C.c)(this._points[t],e[t]);(0,V.DV)(this.frustum,this._points),this._updateLines()}get altitude(){return this._altitude}intersectsSphere(e){return(0,V.m7)(this.frustum,e)}intersectsRay(e){return(0,V.pw)(this.frustum,e)}intersectsLineSegment(e,t){return(0,V.ST)(this.frustum,e,t)}intersectsPoint(e){return(0,V.bU)(this.frustum,e)}_updateLines(){const e=this._points;for(let t=0;t<4;t++){const r=t+4;he(this.lines[t],e[t],e[r]),he(this.lines[t+4],e[t],3===t?e[0]:e[t+1]),he(this.lines[t+8],e[r],3===t?e[4]:e[r+1])}}static{this.planePointIndices=V.c8}static{this.nearFarLineIndices=[[V.J7.NEAR_BOTTOM_LEFT,V.J7.FAR_BOTTOM_LEFT],[V.J7.NEAR_BOTTOM_RIGHT,V.J7.FAR_BOTTOM_RIGHT],[V.J7.NEAR_TOP_RIGHT,V.J7.FAR_TOP_RIGHT],[V.J7.NEAR_TOP_LEFT,V.J7.FAR_TOP_LEFT]]}}var de,ue;function he(e,t,r){e.origin=t,e.endpoint=r,(0,C.E)(e.direction,t,r)}(ue=de||(de={}))[ue.NEAR_FAR_BOTTOM_LEFT=0]="NEAR_FAR_BOTTOM_LEFT",ue[ue.NEAR_FAR_BOTTOM_RIGHT=1]="NEAR_FAR_BOTTOM_RIGHT",ue[ue.NEAR_FAR_TOP_RIGHT=2]="NEAR_FAR_TOP_RIGHT",ue[ue.NEAR_FAR_TOP_LEFT=3]="NEAR_FAR_TOP_LEFT",ue[ue.NEAR_BOTTOM=4]="NEAR_BOTTOM",ue[ue.NEAR_RIGHT=5]="NEAR_RIGHT",ue[ue.NEAR_TOP=6]="NEAR_TOP",ue[ue.NEAR_LEFT=7]="NEAR_LEFT",ue[ue.FAR_BOTTOM=8]="FAR_BOTTOM",ue[ue.FAR_RIGHT=9]="FAR_RIGHT",ue[ue.FAR_TOP=10]="FAR_TOP",ue[ue.FAR_LEFT=11]="FAR_LEFT";var me=r(11964),pe=r(27921);const fe=(0,I.vt)(),ve=(0,I.vt)();function ge(){return{direction:(0,I.vt)(),up:(0,I.vt)()}}function _e(e,t,r,i,n){let o=(0,C.n)(fe,e),s=(0,C.e)(o,i);const l=s>0;s=Math.abs(s),s>.99&&(s=Math.abs((0,C.e)(t,i)),s<.99?((0,C.c)(o,t),l&&(0,C.g)(o,o,-1)):o=null);let c=0;if(o){(0,C.g)(ve,i,(0,C.e)(i,o)),(0,C.d)(o,o,ve);const e=(0,C.e)(o,n)/((0,C.l)(o)*(0,C.l)(n));(0,C.h)(ve,o,n),c=((0,C.e)(ve,i)>0?1:-1)*(0,a.KJ)((0,a.XM)(e))}const d=(0,a.KJ)((0,a.XM)(-(0,C.e)(i,e)/(0,C.l)(e)));return r?(r.heading=c,r.tilt=d,r):{heading:c,tilt:d}}function Te(e,t,r,i){(0,C.d)(xe,r,t),(0,pe.T7)(i,(0,me.LV)(t,xe),e)||e===r||(0,C.c)(e,r)}const xe=(0,I.vt)(),Ee=(0,I.fA)(0,1,0),Me=(0,I.fA)(0,0,1),Ae=(0,y.vt)(),we=(0,I.vt)(),be=(0,I.vt)();function Re(e,t,r,i=ge()){const{direction:n,up:o}=i;return(0,B.N9)(Ae,-(0,a.kU)(t)),(0,B.eL)(Ae,Ae,(0,a.kU)(r)),(0,C.t)(n,Me,Ae),(0,C.g)(n,n,-1),(0,C.t)(o,Ee,Ae),i}function Oe(e,t,r,i,n){const o=t.lines[de.FAR_LEFT].direction,a=(n-r.getAltitude(i))/o[2];(0,C.b)(e,i,o,a)}const Se=(0,I.vt)();Object.freeze(Object.defineProperty({__proto__:null,directionToHeadingTilt:function(e,t,r,i){return _e(t,r,i,Me,Ee)},eyeForCenterWithHeadingTilt:function(e,t,r,i){const n=Re(0,r,i),o=(0,I.vt)();return(0,C.g)(o,n.direction,-t),(0,C.f)(o,o,e),{up:n.up,eye:o,heading:r,tilt:i}},eyeTiltToLookAtTilt:function(e){return(0,a.kU)(e)},headingTiltToDirectionUp:Re,lookAtTiltToEyeTilt:function(e){return(0,a.KJ)(e)},toArea:function(e,t){const r=e.frustum,{renderCoordsHelper:i}=e,n=i.getAltitude(t),o=e.spatialReference,a=e.state.camera.eye,s=[],l=r.planes[V.FB.FAR];for(let e=0;e<4;e++){const t=r.lines[e];i.intersectInfiniteManifold((0,W.LV)(t.origin,t.direction),n,Se)||Oe(Se,r,i,t.endpoint,n),Te(Se,a,Se,l),s.push((0,G.fA)(Se[0],Se[1]))}return function(e,t,r){const i=e.map(e=>((0,C.i)(Se,e[0],e[1],0),t.fromRenderCoords(Se,Se,r),[Se[0],Se[1]]));return i.length<=2?new ne.A({spatialReference:r}):(i.push(i[0].slice()),(0,oe.$3)(i)||i.reverse(),new ne.A({rings:[i],spatialReference:r}))}(function(e,t){const r=[],i=[];return ae(r,e,t,te.LEFT),ae(i,r,t,te.BOTTOM),ae(r,i,t,te.RIGHT),ae(i,r,t,te.TOP),i}(s,i.extent),i,o)},toExtent:function(e,t,r,i,n){const o=e.renderSpatialReference,a=e.spatialReference??t.spatialReference;return(0,P.g)(t,we,o),(0,P.g)(t,be,o),we[0]-=r/2,be[0]+=r/2,we[1]-=i/2,be[1]+=i/2,(0,D.F)(we,o,we,a),(0,D.F)(be,o,be,a),n?(n.xmin=we[0],n.ymin=we[1],n.xmax=be[0],n.ymax=be[1],n.spatialReference=a):n=new ie.A(we[0],we[1],be[0],be[1],a),n}},Symbol.toStringTag,{value:"Module"}));var ye=r(34304),Ce=r(97937),Ie=r(28735);r(83047);const Ne=(0,I.fA)(parseFloat(Number(5802e-9).toFixed(6)),parseFloat(Number(13558e-9).toFixed(6)),parseFloat(Number(331e-7).toFixed(6))),Pe=(0,I.fA)(3*parseFloat(Number(65e-8).toFixed(6)),3*parseFloat(Number(1881e-9).toFixed(6)),3*parseFloat(Number(85e-9).toFixed(6)));(0,I.fA)(parseFloat(Number(Ne[0]+Pe[0]).toFixed(6)),parseFloat(Number(Ne[1]+Pe[1]).toFixed(6)),parseFloat(Number(Ne[2]+Pe[2]).toFixed(6)));(0,I.vt)(),(0,I.vt)(),(0,Ce.c)(),(0,W.vt)();const De=(0,I.vt)(),Fe=(0,I.vt)();var Le=r(32728);const He=(0,I.fA)(0,0,1),Be=(0,C.n)((0,I.vt)(),(0,I.fA)(1,1,1)),Ge=new g.hr(-180,180),Ue=(0,y.vt)(),ze=(0,I.vt)(),Ve=(0,I.vt)();function We(e,t,r,i=ge()){(0,C.h)(ze,e,He),0===(0,C.e)(ze,ze)&&(0,C.h)(ze,e,Be),(0,B.$0)(Ue,-(0,a.kU)(t),e),(0,B.e$)(Ue,Ue,-(0,a.kU)(r),ze);const{up:n,direction:o}=i;return(0,C.h)(n,ze,e),(0,C.n)(n,n),(0,C.t)(n,n,Ue),(0,C.n)(o,e),(0,C.u)(o,o),(0,C.t)(o,o,Ue),i}function je(e){const t=e[1];e[1]=-e[2],e[2]=t}function ke(e,t){const r=We(t,e.heading,e.tilt);return e.up=r.up,e}function qe(e,t){const r=[],i=[],n=(0,ye.FD)();for(let o=0;o<e.length;o++){const a=e[o],s=o===e.length-1?e[0]:e[o+1],l=(0,me.Cr)(a,s,et),c=(0,pe.vE)(t,l.origin,l.vector,pe.v1.NONE,Ke);switch(c){case pe.Nj.INSIDE:r.push(a);break;case pe.Nj.OUTSIDE:i.push(a);break;case pe.Nj.INTERSECTS_INSIDE_OUT:case pe.Nj.INTERSECTS_OUTSIDE_IN:{const[e,o,s]=c===pe.Nj.INTERSECTS_INSIDE_OUT?[1,r,i]:[-1,i,r],l=(0,pe.Qj)(t),d=(0,C.b)((0,I.vt)(),Ke,l,e*n),u=(0,C.b)((0,I.vt)(),Ke,l,e*-n);o.push(a),o.push(d),s.push(u)}}}const o=[];return r.length&&o.push(r),i.length&&o.push(i),o}const $e={minCurvature:(0,a.kU)(5),maxCurvature:(0,a.kU)(50),minSamples:1,maxSamples:6},Ye=(0,I.fA)(1,0,0),Ze=(0,I.fA)(0,1,0),Xe=(0,I.vt)(),Je=(0,I.vt)(),Ke=(0,I.vt)(),Qe=(0,Ce.c)(),et=(0,me.vt)(),tt=(0,z.vt)();var rt,it,nt;Object.freeze(Object.defineProperty({__proto__:null,directionToHeadingTilt:function(e,t,r,i){const n=ze,o=Ve;return(0,C.n)(n,e),(0,C.h)(Ve,n,He),0===(0,C.e)(Ve,Ve)&&(0,C.h)(Ve,n,Be),(0,C.h)(o,Ve,n),_e(t,r,i,n,o)},eyeForCenterWithHeadingTilt:function(e,t,r,i){const n={eye:(0,I.vt)(),up:null,tilt:i,heading:r},o=ze;o[0]=e[0],o[1]=e[2],o[2]=-e[1];const s=t,l=(0,a.kU)(r),c=(0,a.kU)(i),d=Math.sin(l),u=Math.cos(l),h=Math.sin(c),m=Math.cos(c),p=(0,C.l)(o);let f;if(Math.abs(c)<1e-8)f=s+p;else{const e=p/h,t=(0,a.YN)(s/e),r=Math.PI-c-t;f=e*Math.sin(r)}const v=m*s,g=s*s*(h*h),_=u*u*g,T=f-v,x=T*T,E=_*(_+x-o[1]*o[1]);if(E<0)return(0,C.g)(n.eye,o,f/p),n.tilt=0,ke(n,e);const M=Math.sqrt(E),A=o[1]*T,w=_+x;let b;if(b=u>0?-M+A:M+A,Math.abs(w)<1e-8)return p<1e-8?(n.eye[0]=0,n.eye[1]=0,n.eye[2]=s):(0,C.g)(n.eye,o,f/p),n.tilt=0,je(n.eye),ke(n,e);n.eye[1]=b/w;const R=d*d*g,O=h*s,S=u*O*n.eye[1],y=n.eye[1]*n.eye[1],N=1-y,P=Math.sqrt(N),D=_*y+R-2*S*P*T+N*x;return Math.abs(D)<1e-8?((0,C.g)(n.eye,o,f/p),n.tilt=0,je(n.eye),ke(n,e)):(n.eye[0]=(N*(f*o[0]-v*o[0])-O*P*(o[0]*n.eye[1]*u+o[2]*d))/D,n.eye[2]=(N*(f*o[2]-v*o[2])-O*P*(o[2]*n.eye[1]*u-o[0]*d))/D,(0,C.g)(n.eye,n.eye,f),je(n.eye),ke(n,e))},eyeTiltToLookAtTilt:function(e,t,r){const i=(0,a.kU)(e),n=(0,C.l)(t);return(0,a.YN)(r/(n/Math.sin(i)))+i},headingTiltToDirectionUp:We,lookAtTiltToEyeTilt:function(e,t,r){const i=(0,C.l)(t),n=Math.sqrt(r*r+i*i-2*r*i*Math.cos(Math.PI-e)),o=(0,a.YN)(r/(n/Math.sin(e)));return(0,a.KJ)(e-o)},toArea:function(e,t){const{renderCoordsHelper:r}=e,i=e.state.camera.clone(),n=new ce(r);i.near=2,n.update(i);const o=r.getAltitude(t),s=e.spatialReference,l=r.referenceEllipsoid.radius,c=i.eye,d=1+(0,C.j)(c,t)/(l+o),u=Math.sqrt(d*d-1),{minCurvature:h,maxCurvature:m,minSamples:p,maxSamples:f}=$e,v=function(e){const{renderCoordsHelper:t,state:{camera:r}}=e,{center:i,eye:n}=r,o=Math.abs(t.getAltitude(i)),s=Math.abs(Math.PI/2-function(e,t,r){e.worldUpAtPosition(t,De),(0,C.d)(Fe,r,t);const i=(0,C.l)(Fe);return 0===i?0:(0,a.XM)((0,C.e)(Fe,De)/i)}(t,i,n));return(0,Ce.b)(Qe,t.referenceEllipsoid.radius+o),(0,Ce.d)(Qe,s,r.distance,r.fovY)}(e),g=(0,a.qE)((u-h)/(m-h),0,1),_=Math.round((0,a.Cc)(p,f,g)),T=i.aboveGround,x=n.planes[V.FB.FAR],E=[],M=(0,pe.O_)(I.uY,Ye,(0,pe.vt)()),A=(0,pe.O_)(I.uY,Ze,(0,pe.vt)());(0,U.s)(tt,0,0,0,0);const w=e=>{};for(let e=0;e<4;e++){const t=e===de.NEAR_FAR_BOTTOM_RIGHT&&!T||e===de.NEAR_FAR_TOP_LEFT&&T?1-v:0,i=e===de.NEAR_FAR_BOTTOM_RIGHT&&T||e===de.NEAR_FAR_TOP_LEFT&&!T?v:1,s=n.lines[e],l=n.lines[3===e?0:e+1];for(let n=0;n<_;n++){const d=n/_,u=e===de.NEAR_FAR_BOTTOM_RIGHT?1-(1-d)**2:e===de.NEAR_FAR_TOP_LEFT?d**2:d,h=0===n?0:(0,a.Cc)(t,i,u),m=(0,C.m)(Je,s.origin,l.origin,h),p=(0,Le.nu)(s.direction,l.direction,h,Xe);r.intersectManifoldClosestSilhouette((0,W.LV)(m,p),o,Ke),Te(Ke,c,Ke,x),E.push((0,I.o8)(Ke)),0!==E.length&&w((0,C.x)(E.at(-1),Ke));const f=((0,pe.Tj)(M,Ke)?1:0)|((0,pe.Tj)(A,Ke)?2:0);tt[f]=1}}E.length>2&&(0,C.x)(E[0],E.at(-1));const b=function(e,t,r){const i=2*(0,ye.FD)();return e.map(e=>{const n=[];let o=!1;for(const a of e)t.fromRenderCoords(a,Ke,r),Math.abs(a[0])<i&&Math.abs(a[1])<i?(n.push([null,Ke[1]]),n.push([null,Ke[1]]),o=!0):n.push([Ke[0],Ke[1]]);if(o)for(let e=0;e<n.length;e++){const t=n[e];if(null!=t[0])continue;const r=n[e+1],i=n.at(0===e?-1:e-1);t[0]=i[0],e++;const o=n.at(e===n.length-1?0:e+1);r[0]=o[0]}return n.push(n[0]),(0,oe.$3)(n)||n.reverse(),n})}((0,U.b)(tt)>1?function(e,t){const r=[];for(const i of e)r.push(...qe(i,t));return r}(qe(E,M),A):[E],r,s);return new ne.A({rings:b,spatialReference:s})},toExtent:function(e,t,r,i,n){let o,s,l,c;const d=t.latitude,u=(0,F.tO)(e.spatialReference).radius,h=t.longitude,m=function(e,t,r){const i=t/r,n=(0,a.kU)(e),o=Math.sin(i/2),s=Math.cos(n),l=2*(0,a.YN)(Math.sqrt(o*o/(s*s)));return(0,a.KJ)(l)}(d,r,u)/2;o=h-m,s=h+m;const p=(0,a.kU)(d),f=(1+Math.sin(p))/(1-Math.sin(p)),v=(f+1)*Math.tan(i/u/2),_=v*v;function T(e){const t=Math.PI/2;return(e=g.uC.normalize(e,-t))>t&&(e=Math.PI-e),e}if(l=1.5*Math.PI-2*Math.atan(.5*(v+Math.sqrt(4*f+_))),c=l+i/u,l=T(l),c=T(c),c<l){const e=c;c=l,l=e}if(l=Math.max((0,a.KJ)(l),-90),c=Math.min((0,a.KJ)(c),90),s=Ge.monotonic(o,s),s-o>180){const e=(s-o-180)/2;o+=e,s-=e}const x=e.spatialReference&&e.spatialReference.isGeographic?e.spatialReference:N.A.WGS84;return n?(n.xmin=o,n.ymin=l,n.xmax=s,n.ymax=c,n.spatialReference=x):n=new ie.A(o,l,s,c,x),e.spatialReference&&e.spatialReference.isWebMercator&&(0,Ie.Gh)(n,!1,n),n}},Symbol.toStringTag,{value:"Module"})),(nt=rt||(rt={})).OPAQUE="opaque-color",nt.TRANSPARENT="transparent-color",nt.COMPOSITE="composite-color",nt.FINAL="final-color",function(e){e.SSAO="ssao",e.LASERLINES="laserline-color",e.ANTIALIASING="aa-color",e.HIGHLIGHTS="highlight-color",e.MAGNIFIER="magnifier-color",e.OCCLUDED="occluded-color",e.VIEWSHED="viewshed-color",e.OPAQUE_TERRAIN="opaque-terrain-color",e.OPAQUE_ENVIRONMENT="opaque-environment-color",e.TRANSPARENT_ENVIRONMENT="transparent-environment-color",e.FOCUSAREA="focusarea",e.FOCUSAREA_COLOR="focusarea-color"}(it||(it={})),(0,I.vt)();var ot=r(49186),at=r(89192);let st=class extends L.A{constructor(e){super(e),this.view=null,this.consumes={required:[]},this.produces=rt.COMPOSITE,this.requireGeometryDepth=!1,this._dirty=!0}initialize(){this.addHandles([(0,l.wB)(()=>this.view.ready,e=>{e&&this.view.stage?.renderer.addRenderNode(this)},l.Vh)])}destroy(){this.view.stage?.renderer?.removeRenderNode(this)}precompile(){}render(){throw new ot.A("RenderNode:render-function-not-implemented","render() is not implemented.")}get camera(){return this.view.state.camera.clone()}get sunLight(){return this.bindParameters.lighting.legacy}get gl(){return this.view.stage.renderView.renderingContext.gl}get techniques(){return this.view.stage.renderView.techniques}acquireOutputFramebuffer(){const e=this._frameBuffer?.getTexture()?.descriptor,t=this.view.stage.renderer.fboCache.acquire(e?.width??640,e?.height??480,this.produces);return t.fbo?.initializeAndBind(),t}bindRenderTarget(){return this._frameBuffer?.fbo?.initializeAndBind(),this._frameBuffer}requestRender(e){e===at.C7.UPDATE&&this.view.stage?.renderView.requestRender(e),this._dirty=!0}resetWebGLState(){this.renderingContext.resetState(),this.renderingContext.bindFramebuffer(this._frameBuffer?.fbo)}get fboCache(){return this.view.stage.renderer.fboCache}get bindParameters(){return this.renderContext.bind}get renderingContext(){return this.view.stage.renderView.renderingContext}get renderContext(){return this.view.stage?.renderer.renderContext}updateAnimation(e){return!!this._dirty&&(this._dirty=!1,!0)}doRender(e){this._frameBuffer=e.find(({name:e})=>e===this.produces);try{return this.render(e)}finally{this._frameBuffer=null}}};(0,o._)([(0,d.MZ)({constructOnly:!0})],st.prototype,"view",void 0),(0,o._)([(0,d.MZ)({constructOnly:!0})],st.prototype,"consumes",void 0),(0,o._)([(0,d.MZ)()],st.prototype,"produces",void 0),(0,o._)([(0,d.MZ)({readOnly:!0})],st.prototype,"techniques",null),st=(0,o._)([(0,h.$)("esri.views.3d.webgl.RenderNode")],st);var lt,ct,dt,ut=r(63907),ht=r(67171),mt=r(12541);(dt=lt||(lt={}))[dt.R8UNORM=0]="R8UNORM",dt[dt.R8UINT=1]="R8UINT",dt[dt.RG8UNORM=2]="RG8UNORM",dt[dt.RG8UINT=3]="RG8UINT",dt[dt.RGBA4UNORM=4]="RGBA4UNORM",dt[dt.RGBA8UNORM=5]="RGBA8UNORM",dt[dt.RGBA8UNORM_MIPMAP=6]="RGBA8UNORM_MIPMAP",dt[dt.R16FLOAT=7]="R16FLOAT",dt[dt.RGBA16FLOAT=8]="RGBA16FLOAT",dt[dt.R32FLOAT=9]="R32FLOAT",dt[dt.COUNT=10]="COUNT",function(e){e[e.DEPTH16=10]="DEPTH16",e[e.DEPTH24_STENCIL8=11]="DEPTH24_STENCIL8"}(ct||(ct={})),lt.R8UNORM,lt.R8UINT,lt.R16FLOAT,lt.R32FLOAT,lt.RG8UNORM,lt.RG8UINT,lt.RGBA8UNORM,lt.RGBA4UNORM,lt.RGBA8UNORM_MIPMAP,lt.RGBA16FLOAT,ct.DEPTH16,ct.DEPTH24_STENCIL8;const pt=new ht.R;pt.pixelFormat=ut.Ab.RED,pt.internalFormat=ut.H0.R8,pt.wrapMode=ut.pF.CLAMP_TO_EDGE;const ft=new ht.R;ft.pixelFormat=ut.Ab.RED_INTEGER,ft.internalFormat=ut.H0.R8UI,ft.wrapMode=ut.pF.CLAMP_TO_EDGE,ft.samplingMode=ut.Cj.NEAREST;const vt=new ht.R;vt.pixelFormat=ut.Ab.RG,vt.internalFormat=ut.H0.RG8,vt.wrapMode=ut.pF.CLAMP_TO_EDGE;const gt=new ht.R;gt.pixelFormat=ut.Ab.RG_INTEGER,gt.internalFormat=ut.H0.RG8UI,gt.wrapMode=ut.pF.CLAMP_TO_EDGE,gt.samplingMode=ut.Cj.NEAREST;const _t=new ht.R;_t.internalFormat=ut.H0.RGBA4,_t.dataType=ut.ld.UNSIGNED_SHORT_4_4_4_4,_t.wrapMode=ut.pF.CLAMP_TO_EDGE;(new ht.R).wrapMode=ut.pF.CLAMP_TO_EDGE;const Tt=new ht.R;Tt.wrapMode=ut.pF.CLAMP_TO_EDGE,Tt.samplingMode=ut.Cj.LINEAR_MIPMAP_LINEAR,Tt.hasMipmap=!0,Tt.maxAnisotropy=8;const xt=new ht.R;xt.pixelFormat=ut.Ab.RED,xt.dataType=ut.ld.HALF_FLOAT,xt.internalFormat=ut.H0.R16F,xt.samplingMode=ut.Cj.NEAREST;const Et=new ht.R;Et.dataType=ut.ld.HALF_FLOAT,Et.internalFormat=ut.H0.RGBA16F,Et.wrapMode=ut.pF.CLAMP_TO_EDGE;const Mt=new ht.R;Mt.pixelFormat=ut.Ab.RED,Mt.dataType=ut.ld.FLOAT,Mt.internalFormat=ut.H0.R32F,Mt.samplingMode=ut.Cj.NEAREST,lt.R8UNORM,lt.R8UINT,lt.RG8UNORM,lt.RG8UINT,lt.RGBA4UNORM,lt.RGBA8UNORM,lt.RGBA8UNORM_MIPMAP,lt.R16FLOAT,lt.RGBA16FLOAT,lt.R32FLOAT,lt.COUNT;const At={[ut.SB.DEPTH_COMPONENT16]:ut.ld.UNSIGNED_SHORT,[ut.SB.DEPTH_COMPONENT24]:ut.ld.UNSIGNED_INT,[ut.SB.DEPTH_COMPONENT32F]:ut.ld.FLOAT,[ut.iE.DEPTH24_STENCIL8]:ut.ld.UNSIGNED_INT_24_8,[ut.iE.DEPTH32F_STENCIL8]:ut.ld.FLOAT_32_UNSIGNED_INT_24_8_REV};function wt(e){const t=new ht.R;return t.pixelFormat=(0,mt.CR)(e)?ut.j7.DEPTH_COMPONENT:ut.j7.DEPTH_STENCIL,t.dataType=At[e],t.samplingMode=ut.Cj.NEAREST,t.wrapMode=ut.pF.CLAMP_TO_EDGE,t.internalFormat=e,t.hasMipmap=!1,t.isImmutable=!0,t}ct.DEPTH24_STENCIL8,wt(ut.iE.DEPTH24_STENCIL8),ct.DEPTH16,wt(ut.SB.DEPTH_COMPONENT16);var bt=r(97220),Rt=r(98958),Ot=r(95774),St=r(90644);class yt extends Rt.w{constructor(e,t){super(e,t,new bt.$(Ot.S,()=>r.e(9384).then(r.bind(r,59384))))}initializePipeline(){return(0,St.Ey)({colorWrite:St.kn})}}var Ct=r(65786);class It extends Ct.Y{constructor(){super(...arguments),this.projScale=1}}class Nt extends It{constructor(){super(...arguments),this.intensity=1}}class Pt extends Ct.Y{}class Dt extends Pt{constructor(){super(...arguments),this.blurSize=(0,G.vt)()}}var Ft=r(15581);class Lt extends Rt.w{constructor(e,t){super(e,t,new bt.$(Ft.S,()=>r.e(191).then(r.bind(r,90191))))}initializePipeline(){return(0,St.Ey)({colorWrite:St.kn})}}var Ht=r(21231);const Bt=2;let Gt=class extends st{constructor(e){super(e),this.consumes={required:["normals"]},this.produces=it.SSAO,this.isEnabled=()=>!1,this._enableTime=(0,c.l5)(0),this._passParameters=new Nt,this._drawParameters=new Dt}initialize(){const e=Uint8Array.from(atob("eXKEvZaUc66cjIKElE1jlJ6MjJ6Ufkl+jn2fcXp5jBx7c6KEflSGiXuXeW6OWs+tfqZ2Yot2Y7Zzfo2BhniEj3xoiXuXj4eGZpqEaHKDWjSMe7palFlzc3BziYOGlFVzg6Zzg7CUY5JrjFF7eYJ4jIKEcyyEonSXe7qUfqZ7j3xofqZ2c4R5lFZ5Y0WUbppoe1l2cIh2ezyUho+BcHN2cG6DbpqJhqp2e1GcezhrdldzjFGUcyxjc3aRjDyEc1h7Sl17c6aMjH92pb6Mjpd4dnqBjMOEhqZleIOBYzB7gYx+fnqGjJuEkWlwnCx7fGl+c4hjfGyRe5qMlNOMfnqGhIWHc6OMi4GDc6aMfqZuc6aMzqJzlKZ+lJ6Me3qRfoFue0WUhoR5UraEa6qMkXiPjMOMlJOGe7JrUqKMjK6MeYRzdod+Sl17boiPc6qEeYBlcIh2c1WEe7GDiWCDa0WMjEmMdod+Y0WcdntzhmN8WjyMjKJjiXtzgYxYaGd+a89zlEV7e2GJfnd+lF1rcK5zc4p5cHuBhL6EcXp5eYB7fnh8iX6HjIKEeaxuiYOGc66RfG2Ja5hzjlGMjEmMe9OEgXuPfHyGhPeEdl6JY02McGuMfnqGhFiMa3WJfnx2l4hwcG1uhmN8c0WMc39og1GBbrCEjE2EZY+JcIh2cIuGhIWHe0mEhIVrc09+gY5+eYBlnCyMhGCDl3drfmmMgX15aGd+gYx+fnuRfnhzY1SMsluJfnd+hm98WtNrcIuGh4SEj0qPdkqOjFF7jNNjdnqBgaqUjMt7boeBhnZ4jDR7c5pze4GGjEFrhLqMjHyMc0mUhKZze4WEa117kWlwbpqJjHZ2eX2Bc09zeId+e0V7WlF7jHJ2l72BfId8l3eBgXyBe897jGl7c66cgW+Xc76EjKNbgaSEjGx4fId8jFFjgZB8cG6DhlFziZhrcIh2fH6HgUqBgXiPY8dahGFzjEmMhEFre2dxhoBzc5SGfleGe6alc7aUeYBlhKqUdlp+cH5za4OEczxza0Gcc4J2jHZ5iXuXjH2Jh5yRjH2JcFx+hImBjH+MpddCl3dreZeJjIt8ZW18bm1zjoSEeIOBlF9oh3N7hlqBY4+UeYFwhLJjeYFwaGd+gUqBYxiEYot2fqZ2ondzhL6EYyiEY02Ea0VjgZB8doaGjHxoc66cjEGEiXuXiXWMiZhreHx8frGMe75rY02Ec5pzfnhzlEp4a3VzjM+EhFFza3mUY7Zza1V5e2iMfGyRcziEhDyEkXZ2Y4OBnCx7g5t2eyBjgV6EhEFrcIh2dod+c4Z+nJ5zjm15jEmUeYxijJp7nL6clIpjhoR5WrZraGd+fnuRa6pzlIiMg6ZzfHx5foh+eX1ufnB5eX1ufnB5aJt7UqKMjIh+e3aBfm5lbYSBhGFze6J4c39oc0mUc4Z+e0V7fKFVe0WEdoaGY02Ec4Z+Y02EZYWBfH6HgU1+gY5+hIWUgW+XjJ57ebWRhFVScHuBfJ6PhBx7WqJzlM+Ujpd4gHZziX6HjHmEgZN+lJt5boiPe2GJgX+GjIGJgHZzeaxufnB5hF2JtdN7jJ57hp57hK6ElFVzg6ZzbmiEbndzhIWHe3uJfoFue3qRhJd2j3xoc65zlE1jc3p8lE1jhniEgXJ7e657vZaUc3qBh52BhIF4aHKDa9drgY5+c52GWqZzbpqJe8tjnM+UhIeMfo2BfGl+hG1zSmmMjKJjZVaGgX15c1lze0mEp4OHa3mUhIWHhDyclJ6MeYOJkXiPc0VzhFiMlKaEboSJa5Jze41re3qRhn+HZYWBe0mEc4p5fnORbox5lEp4hGFjhGGEjJuEc1WEhLZjeHeGa7KlfHx2hLaMeX1ugY5+hIWHhKGPjMN7c1WEho1zhoBzZYx7fnhzlJt5exyUhFFziXtzfmmMa6qMYyiEiXxweV12kZSMeWqXSl17fnhzxmmMrVGEe1mcc4p5eHeGjK6MgY5+doaGa6pzlGV7g1qBh4KHkXiPeW6OaKqafqZ2eXZ5e1V7jGd7boSJc3BzhJd2e0mcYot2h1RoY8dahK6EQmWEWjx7e1l2lL6UgXyBdnR4eU9zc0VreX1umqaBhld7fo2Bc6KEc5Z+hDyEcIeBWtNrfHyGe5qMhMuMe5qMhEGEbVVupcNzg3aHhIF4boeBe0mEdlptc39ofFl5Y8uUlJOGiYt2UmGEcyxjjGx4jFF7a657ZYWBnElzhp57iXtrgZN+tfOEhIOBjE2HgU1+e8tjjKNbiWCDhE15gUqBgYN7fnqGc66ce9d7iYSBj0qPcG6DnGGcT3eGa6qMZY+JlIiMl4hwc3aRdnqBlGV7eHJ2hLZjfnuRhDyEeX6MSk17g6Z+c6aUjHmEhIF4gXyBc76EZW18fGl+fkl+jCxrhoVwhDyUhIqGlL2DlI6EhJd2tdN7eYORhEGMa2Faa6pzc3Bzc4R5lIRznM+UY9eMhDycc5Z+c4p5c4iGY117pb6MgXuPrbJafnx2eYOJeXZ5e657hDyEcziElKZjfoB5eHeGj4WRhGGEe6KGeX1utTStc76EhFGJnCyMa5hzfH6HnNeceYB7hmN8gYuMhIVrczSMgYF8h3N7c5pza5hzjJqEYIRdgYuMlL2DeYRzhGGEeX1uhLaEc4iGeZ1zdl6JhrVteX6Me2iMfm5lWqJzSpqEa6pzdnmchHx2c6OMhNdrhoR5g3aHczxzeW52gV6Ejm15frGMc0Vzc4Z+l3drfniJe+9rWq5rlF1rhGGEhoVwe9OEfoh+e7pac09+c3qBY0lrhDycdnp2lJ6MiYOGhGCDc3aRlL2DlJt5doaGdnp2gYF8gWeOjF2Uc4R5c5Z+jEmMe7KEc4mEeYJ4dmyBe0mcgXiPbqJ7eYB7fmGGiYSJjICGlF1reZ2PnElzbpqJfH6Hc39oe4WEc5eJhK6EhqyJc3qBgZB8c09+hEmEaHKDhFGJc5SGiXWMUpaEa89zc6OMnCyMiXtrho+Be5qMc7KEjJ57dmN+hKGPjICGbmiEe7prdod+hGCDdnmchBx7eX6MkXZ2hGGEa657hm98jFFjY5JreYOJgY2EjHZ2a295Y3FajJ6Mc1J+YzB7e4WBjF2Uc4R5eV12gYxzg1qBeId+c9OUc5pzjFFjgY5+hFiMlIaPhoR5lIpjjIKBlNdSe7KEeX2BfrGMhIqGc65zjE2UhK6EklZ+QmWEeziMWqZza3VzdnR4foh+gYF8n3iJiZhrnKp7gYF8eId+lJ6Me1lrcIuGjKJjhmN8c66MjFF7a6prjJ6UnJ5zezyUfruRWlF7nI5zfHyGe657h4SEe8tjhBx7jFFjc09+c39ojICMeZeJeXt+YzRzjHZ2c0WEcIeBeXZ5onSXkVR+gYJ+eYFwdldzgYF7eX2BjJ6UiXuXlE1jh4SEe1mchLJjc4Z+hqZ7eXZ5bm1zlL6Ue5p7iWeGhKqUY5pzjKJjcIeBe8t7gXyBYIRdlEp4a3mGnK6EfmmMZpqEfFl5gYxzjKZuhGFjhoKGhHx2fnx2eXuMe3aBiWeGvbKMe6KGa5hzYzB7gZOBlGV7hmN8hqZlYot2Y117a6pzc6KEfId8foB5rctrfneJfJ6PcHN2hFiMc5pzjH92c0VzgY2EcElzdmCBlFVzg1GBc65zY4OBboeBcHiBeYJ4ewxzfHx5lIRzlEmEnLKEbk1zfJ6PhmN8eYBljBiEnMOEiXxwezyUcIeBe76EdsKEeX2BdnR4jGWUrXWMjGd7fkl+j4WRlEGMa5Jzho+BhDyEfnqMeXt+g3aHlE1jczClhNN7ZW18eHx8hGFjZW18iXWMjKJjhH57gYuMcIuGWjyMe4ZtjJuExmmMj4WRdntzi4GDhFFzYIRdnGGcjJp7Y0F7e4WEkbCGiX57fnSHa657a6prhBCMe3Z+SmmMjH92eHJ2hK6EY1FzexhrvbKMnI5za4OEfnd+eXuMhImBe897hLaMjN+EfG+BeIOBhF1+eZeJi4GDkXZ2eXKEgZ6Ejpd4c2GHa1V5e5KUfqZuhCx7jKp7lLZrg11+hHx2hFWUoot2nI5zgbh5mo9zvZaUe3qRbqKMfqZ2kbCGhFiM"),e=>e.charCodeAt(0)),t=new ht.R(32);t.wrapMode=ut.pF.CLAMP_TO_EDGE,t.pixelFormat=ut.Ab.RGB,t.wrapMode=ut.pF.REPEAT,t.hasMipmap=!0,this._passParameters.noiseTexture=new Ht.g(this.renderingContext,t,e),this.techniques.precompile(Lt),this.techniques.precompile(yt),this.addHandles((0,l.wB)(()=>this.isEnabled(),()=>this._enableTime=(0,c.l5)(0)))}destroy(){this._passParameters.noiseTexture=(0,s.WD)(this._passParameters.noiseTexture)}render(e){const t=e.find(({name:e})=>"normals"===e),r=t?.getTexture(),i=t?.getTexture(ut.nI);if(!r||!i)return;const n=this.techniques.get(Lt),o=this.techniques.get(yt);if(!n.compiled||!o.compiled)return this._enableTime=(0,c.l5)(performance.now()),void this.requestRender(at.C7.UPDATE);0===this._enableTime&&(this._enableTime=(0,c.l5)(performance.now()));const s=this.renderingContext,l=this.view.qualitySettings.fadeDuration,d=this.bindParameters,u=d.camera,h=u.relativeElevation,p=(0,a.qE)((5e5-h)/2e5,0,1),f=l>0?Math.min(l,performance.now()-this._enableTime)/l:1,v=f*p;this._passParameters.normalTexture=r,this._passParameters.depthTexture=i,this._passParameters.projScale=1/u.computeScreenPixelSizeAtDist(1),this._passParameters.intensity=4*Ut/(0,Ft.g)(u)**6*v;const g=u.fullViewport[2],_=u.fullViewport[3],T=this.fboCache.acquire(g,_,"ssao input",lt.RG8UNORM);s.bindFramebuffer(T.fbo),s.setViewport(0,0,g,_),s.bindTechnique(n,d,this._passParameters,this._drawParameters),s.screen.draw();const x=Math.round(g/Bt),E=Math.round(_/Bt),M=this.fboCache.acquire(x,E,"ssao blur",lt.R8UNORM);s.bindFramebuffer(M.fbo),this._drawParameters.colorTexture=T.getTexture(),(0,m.hZ)(this._drawParameters.blurSize,0,Bt/_),s.bindTechnique(o,d,this._passParameters,this._drawParameters),s.setViewport(0,0,x,E),s.screen.draw(),T.release();const A=this.fboCache.acquire(x,E,it.SSAO,lt.R8UNORM);return s.bindFramebuffer(A.fbo),s.setViewport(0,0,g,_),s.setClearColor(1,1,1,0),s.clear(ut.NV.COLOR),this._drawParameters.colorTexture=M.getTexture(),(0,m.hZ)(this._drawParameters.blurSize,Bt/g,0),s.bindTechnique(o,d,this._passParameters,this._drawParameters),s.setViewport(0,0,x,E),s.screen.draw(),s.setViewport4fv(u.fullViewport),M.release(),f<1&&this.requestRender(at.C7.UPDATE),A}};(0,o._)([(0,d.MZ)()],Gt.prototype,"consumes",void 0),(0,o._)([(0,d.MZ)()],Gt.prototype,"produces",void 0),(0,o._)([(0,d.MZ)({constructOnly:!0})],Gt.prototype,"isEnabled",void 0),Gt=(0,o._)([(0,h.$)("esri.views.3d.webgl-engine.effects.ssao.SSAO")],Gt);const Ut=.5;function zt(e,t){t.receiveAmbientOcclusion?(e.uniforms.add(new n.x("ssaoTex",e=>e.ssao?.getTexture())),e.constants.add("blurSizePixelsInverse","float",1/Bt),e.code.add(i.H`float evaluateAmbientOcclusionInverse() {
567
+ }`);default:(0,o.Xb)(t.textureCoordinateType);case i.None:return void e.vertex.code.add(a.H`void forwardTextureCoordinates() {}`);case i.COUNT:return}}(n=i||(i={}))[n.None=0]="None",n[n.Default=1]="Default",n[n.Atlas=2]="Atlas",n[n.COUNT=3]="COUNT"},53802:(e,t,r)=>{r.d(t,{n:()=>zt});var i=r(31821),n=r(12791),o=r(90237),a=r(34727),s=r(97768),l=r(36708),c=r(78659),d=r(10107),u=(r(44208),r(53966)),h=(r(87811),r(40608)),m=r(37585),p=r(69540);let f=class extends p.A{constructor(e){super(e),this.row=0,this.column=0,this.rows=1,this.columns=1}equals(e){return null!=e&&this.row===e.row&&this.rows===e.rows&&this.column===e.column&&this.columns===e.columns}};(0,o._)([(0,d.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],f.prototype,"row",void 0),(0,o._)([(0,d.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],f.prototype,"column",void 0),(0,o._)([(0,d.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],f.prototype,"rows",void 0),(0,o._)([(0,d.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],f.prototype,"columns",void 0),f=(0,o._)([(0,h.$)("esri.CameraLayout")],f);const v=f;var g=r(69052),_=r(25482),T=r(79901),x=r(36005),E=r(43937),M=r(56507),A=r(86738);let w=class extends(p.A.ClonableMixin(_.A)){constructor(...e){super(...e),this.position=new A.A([0,0,0]),this.heading=0,this.tilt=0,this.fov=55,this.layout=new v}normalizeCtorArgs(e,t,r,i){if(e&&"object"==typeof e&&("x"in e||Array.isArray(e))){const n={position:e};return null!=t&&(n.heading=t),null!=r&&(n.tilt=r),null!=i&&(n.fov=i),n}return e}writePosition(e,t,r,i){const n=e.clone();n.x=(0,M.GB)(e.x||0),n.y=(0,M.GB)(e.y||0),n.z=e.hasZ?(0,M.GB)(e.z||0):e.z,t[r]=n.write({},i)}readPosition(e,t){const r=new A.A;return r.read(e,t),r.x=(0,M.GB)(r.x||0),r.y=(0,M.GB)(r.y||0),r.z=r.hasZ?(0,M.GB)(r.z||0):r.z,r}equals(e){return null!=e&&this.tilt===e.tilt&&this.heading===e.heading&&this.fov===e.fov&&this.position.equals(e.position)&&this.layout.equals(e.layout)}};(0,o._)([(0,d.MZ)({type:A.A,json:{write:{isRequired:!0}}})],w.prototype,"position",void 0),(0,o._)([(0,E.K)("position")],w.prototype,"writePosition",null),(0,o._)([(0,x.w)("position")],w.prototype,"readPosition",null),(0,o._)([(0,d.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),(0,T.w)(e=>g.ie.normalize((0,M.GB)(e)))],w.prototype,"heading",void 0),(0,o._)([(0,d.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),(0,T.w)(e=>(0,a.qE)((0,M.GB)(e),-180,180))],w.prototype,"tilt",void 0),(0,o._)([(0,d.MZ)({type:Number,nonNullable:!0,json:{default:55,write:!0}}),(0,T.w)(e=>(0,a.qE)((0,M.GB)(e,55),1,170))],w.prototype,"fov",void 0),(0,o._)([(0,d.MZ)({type:v,nonNullable:!0,json:{read:!1,write:!1}})],w.prototype,"layout",void 0),w=(0,o._)([(0,h.$)("esri.Camera")],w);var b,R,O,S,y=r(9093),C=r(38954),I=r(51850),N=r(16930),P=(r(48353),r(9762),r(65806)),D=r(27993),F=r(73941),L=(r(19419),r(69622)),H=r(90629),B=r(58083),G=r(48163),U=r(87317),z=r(91829),V=r(82919),W=r(71351),j=r(44280),k=r(24151);r(15142),(S=b||(b={}))[S.Default=0]="Default",S[S.Screenshot=1]="Screenshot",S[S.ObjectAndLayerID=2]="ObjectAndLayerID",function(e){e[e.TOP=0]="TOP",e[e.RIGHT=1]="RIGHT",e[e.BOTTOM=2]="BOTTOM",e[e.LEFT=3]="LEFT"}(R||(R={}));let q=O=class extends L.A{constructor(e){super(e),this._ray=(0,W.vt)(),this._viewport=(0,z.fA)(0,0,1,1),this._padding=(0,z.fA)(0,0,0,0),this._fov=55/180*Math.PI,this._nearFar=(0,G.fA)(1,1e3),this._viewDirty=!0,this._viewMatrix=(0,y.vt)(),this._viewProjectionDirty=!0,this._viewProjectionMatrix=(0,y.vt)(),this._viewInverseTransposeMatrixDirty=!0,this._viewInverseTransposeMatrix=(0,y.vt)(),this._frustumDirty=!0,this._frustum=(0,V.vt)(),this._fullViewport=(0,z.vt)(),this._pixelRatio=1,this.row=0,this.column=0,this._rows=1,this._columns=1,this._center=(0,I.vt)(),this._up=(0,I.vt)(),this.relativeElevation=0}get pixelRatio(){return this._pixelRatio}set pixelRatio(e){this._pixelRatio=e>0?e:1}get rows(){return this._rows}set rows(e){this._rows=Math.max(1,e)}get columns(){return this._columns}set columns(e){this._columns=Math.max(1,e)}get eye(){return this._ray.origin}set eye(e){this._compareAndSetView(e,this._ray.origin)}get center(){return this._center}set center(e){this._compareAndSetView(e,this._center,"_center")}get ray(){return(0,C.d)(this._ray.direction,this.center,this.eye),this._ray}get up(){return this._up}set up(e){this._compareAndSetView(e,this._up,"_up")}get viewMatrix(){return this._ensureViewClean(),this._viewMatrix}set viewMatrix(e){(0,B.C)(this._viewMatrix,e),this.notifyChange("_viewMatrix"),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0}get viewForward(){return this._ensureViewClean(),(0,C.i)((0,I.vt)(),-this._viewMatrix[2],-this._viewMatrix[6],-this._viewMatrix[10])}get viewUp(){return this._ensureViewClean(),(0,C.i)((0,I.vt)(),this._viewMatrix[1],this._viewMatrix[5],this._viewMatrix[9])}get viewRight(){return this._ensureViewClean(),(0,C.i)((0,I.vt)(),this._viewMatrix[0],this._viewMatrix[4],this._viewMatrix[8])}get nearFar(){return this._nearFar}get near(){return this._nearFar[0]}set near(e){this._nearFar[0]!==e&&(this._nearFar[0]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_nearFar"))}get far(){return this._nearFar[1]}set far(e){this._nearFar[1]!==e&&(this._nearFar[1]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_nearFar"))}get viewport(){return this._viewport}set viewport(e){this.x=e[0],this.y=e[1],this.width=e[2],this.height=e[3]}get screenViewport(){if(1===this.pixelRatio)return this._viewport;const e=(0,U.d)((0,z.vt)(),this._viewport,1/this.pixelRatio),t=this._get("screenViewport");return t&&(0,U.e)(e,t)?t:e}get screenPadding(){if(1===this.pixelRatio)return this._padding;const e=(0,U.d)((0,z.vt)(),this._padding,1/this.pixelRatio),t=this._get("screenPadding");return t&&(0,U.e)(e,t)?t:e}get x(){return this._viewport[0]}set x(e){e+=this._padding[R.LEFT],this._viewport[0]!==e&&(this._viewport[0]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get y(){return this._viewport[1]}set y(e){e+=this._padding[R.BOTTOM],this._viewport[1]!==e&&(this._viewport[1]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get width(){return this._viewport[2]}set width(e){this._viewport[2]!==e&&(this._viewport[2]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get height(){return this._viewport[3]}set height(e){this._viewport[3]!==e&&(this._viewport[3]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get fullWidth(){return this._viewport[2]+this._padding[R.RIGHT]+this._padding[R.LEFT]}set fullWidth(e){this.width=e-(this._padding[R.RIGHT]+this._padding[R.LEFT])}get fullHeight(){return this._viewport[3]+this._padding[R.TOP]+this._padding[R.BOTTOM]}set fullHeight(e){this.height=e-(this._padding[R.TOP]+this._padding[R.BOTTOM])}get fullViewport(){return this._fullViewport[0]=this._viewport[0]-this._padding[R.LEFT],this._fullViewport[1]=this._viewport[1]-this._padding[R.BOTTOM],this._fullViewport[2]=this.fullWidth,this._fullViewport[3]=this.fullHeight,this._fullViewport}get _aspect(){return this.width/this.height}get padding(){return this._padding}set padding(e){(0,U.a)(this._padding,e)||(this._viewport[0]+=e[R.LEFT]-this._padding[R.LEFT],this._viewport[1]+=e[R.BOTTOM]-this._padding[R.BOTTOM],this._viewport[2]-=e[R.RIGHT]+e[R.LEFT]-(this._padding[R.RIGHT]+this._padding[R.LEFT]),this._viewport[3]-=e[R.TOP]+e[R.BOTTOM]-(this._padding[R.TOP]+this._padding[R.BOTTOM]),(0,U.c)(this._padding,e),this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_padding"),this.notifyChange("_viewport"))}get viewProjectionMatrix(){return this._viewProjectionDirty&&((0,B.lw)(this._viewProjectionMatrix,this.projectionMatrix,this.viewMatrix),this._viewProjectionDirty=!1),this._viewProjectionMatrix}get projectionMatrix(){return this._projectionMatrixInternal}get inverseProjectionMatrix(){return(0,B.B8)((0,y.vt)(),this.projectionMatrix)||this._get("inverseProjectionMatrix")||(0,y.vt)()}get fov(){return this._fov}set fov(e){this._fov=e,this._viewProjectionDirty=!0,this._frustumDirty=!0}get fovX(){return e=this._fov,t=this.width,r=this.height,2*Math.atan(t*Math.tan(.5*e)/Math.sqrt(t*t+r*r));var e,t,r}set fovX(e){this._fov=function(e,t,r){return 2*Math.atan(Math.sqrt(t*t+r*r)*Math.tan(.5*e)/t)}(e,this.width,this.height),this._viewProjectionDirty=!0,this._frustumDirty=!0}get fovY(){return e=this._fov,t=this.width,r=this.height,2*Math.atan(r*Math.tan(.5*e)/Math.sqrt(t*t+r*r));var e,t,r}set fovY(e){this._fov=function(e,t,r){return 2*Math.atan(Math.sqrt(t*t+r*r)*Math.tan(.5*e)/r)}(e,this.width,this.height),this._viewProjectionDirty=!0,this._frustumDirty=!0}get distance(){return(0,C.j)(this.center,this.eye)}get frustum(){return this._recomputeFrustum(),this._frustum}get viewInverseTransposeMatrix(){return(this._viewInverseTransposeMatrixDirty||this._viewDirty)&&((0,B.B8)(this._viewInverseTransposeMatrix,this.viewMatrix),(0,B.mg)(this._viewInverseTransposeMatrix,this._viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=!1),this._viewInverseTransposeMatrix}depthNDCToWorld(e){const{near:t,far:r}=this;return 2*t*r/(r+t-e*(r-t))}get perRenderPixelRatio(){return Math.tan(this.fovX/2)/(this.width/2)}get perScreenPixelRatio(){return this.perRenderPixelRatio*this.pixelRatio}get aboveGround(){return null!=this.relativeElevation&&this.relativeElevation>=0}get _projectionMatrixInternal(){const e=this.width,t=this.height,r=this.near*Math.tan(this.fovY/2)*2,i=r*this._aspect,n=r/this.rows,o=i/this.columns,a=-i/2+this.column*o,s=a+o,l=-r/2+this.row*n,c=l+n,d=(0,B.$h)((0,y.vt)(),a*(1+2*this._padding[R.LEFT]/e),s*(1+2*this._padding[R.RIGHT]/e),l*(1+2*this._padding[R.BOTTOM]/t),c*(1+2*this._padding[R.TOP]/t),this.near,this.far),u=this._get("projectionMatrix");return u&&(0,B.aI)(u,d)?u:d}copyFrom(e){(0,C.c)(this._ray.origin,e.eye),this.center=e.center,this.up=e.up,(0,U.c)(this._viewport,e.viewport),this.notifyChange("_viewport"),(0,U.c)(this._padding,e.padding),this.notifyChange("_padding"),(0,m.C)(this._nearFar,e.nearFar),this.notifyChange("_nearFar"),this._fov=e.fov,this.row=e.row,this.column=e.column,this.rows=e.rows,this.columns=e.columns,this.relativeElevation=e.relativeElevation;const t=e;return this._viewDirty=t._viewDirty,this._viewDirty||((0,B.C)(this._viewMatrix,e.viewMatrix),this.notifyChange("_viewMatrix")),this._viewProjectionDirty=!0,this._frustumDirty=t._frustumDirty,this._frustumDirty||((0,V.C)(this._frustum,e.frustum),this._frustumDirty=!1),t._viewInverseTransposeMatrixDirty?this._viewInverseTransposeMatrixDirty=!0:((0,B.C)(this._viewInverseTransposeMatrix,e.viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=!1),(0,U.c)(this._fullViewport,e.fullViewport),this.pixelRatio=e.pixelRatio,this}copyViewFrom(e){this.eye=e.eye,this.center=e.center,this.up=e.up,this.fov=e.fov}clone(){return(new O).copyFrom(this)}equals(e){return(0,C.q)(this.eye,e.eye)&&(0,C.q)(this.center,e.center)&&(0,C.q)(this.up,e.up)&&(0,U.a)(this._viewport,e.viewport)&&(0,U.a)(this._padding,e.padding)&&(0,m.t2)(this.nearFar,e.nearFar)&&this._fov===e.fov&&this.pixelRatio===e.pixelRatio&&this.relativeElevation===e.relativeElevation&&this.row===e.row&&this.column===e.column&&this.rows===e.rows&&this.columns===e.columns}almostEquals(e){const t=Math.max(1,1/this.pixelRatio,1/e.pixelRatio);if(Math.abs(e.fov-this._fov)>=.001||(0,U.f)(e.screenPadding,this.screenPadding)>=t||(0,U.f)(this.screenViewport,e.screenViewport)>=t||this.row!==e.row||this.column!==e.column||this.rows!==e.rows||this.columns!==e.columns)return!1;(0,C.a)(Z,e.eye,e.center),(0,C.a)(X,this.eye,this.center);const r=(0,C.e)(Z,X),i=(0,C.y)(Z),n=(0,C.y)(X),o=5e-4;return r*r>=(1-1e-10)*i*n&&(0,C.x)(e.eye,this.eye)<Math.max(i,n)*o*o}computeRenderPixelSizeAt(e){return this.computeRenderPixelSizeAtDist(this._viewDirectionDistance(e))}computeRenderPixelSizeAtDist(e){return e*this.perRenderPixelRatio}computeScreenPixelSizeAt(e){return this.computeScreenPixelSizeAtDist(this._viewDirectionDistance(e))}_viewDirectionDistance(e){return Math.abs((0,j.gr)(this.viewForward,(0,C.d)(Z,e,this.eye)))}computeScreenPixelSizeAtDist(e){return e*this.perScreenPixelRatio}computeDistanceFromRadius(e,t){return e/Math.tan(Math.min(this.fovX,this.fovY)/(2*(t||1)))}getScreenCenter(e=(0,H.gs)()){return e[0]=(this.padding[R.LEFT]+this.width/2)/this.pixelRatio,e[1]=(this.padding[R.TOP]+this.height/2)/this.pixelRatio,e}getRenderCenter(e,t=.5,r=.5){return e[0]=this.padding[R.LEFT]+this.width*t,e[1]=this.padding[R.BOTTOM]+this.height*r,e[2]=.5,e}setGLViewport(e){const t=this.viewport,r=this.padding;e.setViewport(t[0]-r[3],t[1]-r[2],t[2]+r[1]+r[3],t[3]+r[0]+r[2])}applyProjection(e,t){e!==$&&(0,C.c)($,e),$[3]=1,(0,U.t)($,$,this.projectionMatrix);const r=Math.abs($[3]);(0,C.g)($,$,1/r);const i=this.fullViewport;t[0]=(0,a.Cc)(0,i[0]+i[2],.5+.5*$[0]),t[1]=(0,a.Cc)(0,i[1]+i[3],.5+.5*$[1]),t[2]=.5*($[2]+1),t[3]=r}unapplyProjection(e,t){const r=this.fullViewport;$[0]=(e[0]/(r[0]+r[2])*2-1)*e[3],$[1]=(e[1]/(r[1]+r[3])*2-1)*e[3],$[2]=(2*e[2]-1)*e[3],$[3]=e[3],null!=this.inverseProjectionMatrix&&((0,U.t)($,$,this.inverseProjectionMatrix),t[0]=$[0],t[1]=$[1],t[2]=$[2])}projectToScreen(e,t){return this.projectToRenderScreen(e,J),this.renderToScreen(J,t),t}projectToRenderScreen(e,t){if($[0]=e[0],$[1]=e[1],$[2]=e[2],$[3]=1,(0,U.t)($,$,this.viewProjectionMatrix),0===$[3])return null;const r=$;(0,C.g)(r,r,1/Math.abs($[3]));const i=this.fullViewport,n=(0,a.Cc)(0,i[0]+i[2],.5+.5*r[0]),o=(0,a.Cc)(0,i[1]+i[3],.5+.5*r[1]);return"x"in t?(t.x=n,t.y=o):(t[0]=n,t[1]=o,t.length>2&&(t[2]=.5*(r[2]+1))),t}unprojectFromScreen(e,t){return this.unprojectFromRenderScreen(this.screenToRender(e,J),t)}unprojectFromRenderScreen(e,t){if((0,B.lw)(Y,this.projectionMatrix,this.viewMatrix),!(0,B.B8)(Y,Y))return null;const r=this.fullViewport;return $[0]=2*(e[0]-r[0])/r[2]-1,$[1]=2*(e[1]-r[1])/r[3]-1,$[2]=2*e[2]-1,$[3]=1,(0,U.t)($,$,Y),0===$[3]?null:(t[0]=$[0]/$[3],t[1]=$[1]/$[3],t[2]=$[2]/$[3],t)}constrainWindowSize(e,t,r,i){const n=e*this.pixelRatio,o=t*this.pixelRatio,a=Math.max(n-r/2,0),s=Math.max(this.fullHeight-o-i/2,0),l=-Math.min(n-r/2,0),c=-Math.min(this.fullHeight-o-i/2,0),d=r-l- -Math.min(this.fullWidth-n-r/2,0),u=i-c- -Math.min(o-i/2,0);return[Math.round(a),Math.round(s),Math.round(d),Math.round(u)]}computeUp(e){e===k.RT.Global?this._computeUpGlobal():this._computeUpLocal()}screenToRender(e,t){const r=e[0]*this.pixelRatio,i=this.fullHeight-e[1]*this.pixelRatio;return t[0]=r,t[1]=i,t}renderToScreen(e,t){const r=e[0]/this.pixelRatio,i=(this.fullHeight-e[1])/this.pixelRatio;t[0]=r,t[1]=i}_computeUpGlobal(){(0,C.d)(Z,this.center,this.eye);const e=(0,C.l)(this.center);e<1?((0,C.i)(this._up,0,0,1),this._markViewDirty(),this.notifyChange("_up")):Math.abs((0,C.e)(Z,this.center))>.9999*(0,C.l)(Z)*e||((0,C.h)(this._up,Z,this.center),(0,C.h)(this._up,this._up,Z),(0,C.n)(this._up,this._up),this.notifyChange("_up"),this._markViewDirty())}_computeUpLocal(){(0,C.E)(Z,this.eye,this.center),Math.abs(Z[2])<=.9999&&((0,C.g)(Z,Z,Z[2]),(0,C.i)(this._up,-Z[0],-Z[1],1-Z[2]),(0,C.n)(this._up,this._up),this.notifyChange("_up"),this._markViewDirty())}_compareAndSetView(e,t,r=""){"number"==typeof e[0]&&isFinite(e[0])&&"number"==typeof e[1]&&isFinite(e[1])&&"number"==typeof e[2]&&isFinite(e[2])?(0,C.q)(e,t)||((0,C.c)(t,e),this._markViewDirty(),r.length&&this.notifyChange(r)):u.A.getLogger("esri.views.3d.webgl-engine.lib.RenderCamera").warn("RenderCamera vector contains invalid number, ignoring value")}_markViewDirty(){this._viewDirty=!0,this._frustumDirty=!0,this._viewProjectionDirty=!0}_recomputeFrustum(){this._frustumDirty&&((0,V.ui)(this.viewMatrix,this.projectionMatrix,this._frustum),this._frustumDirty=!1)}_ensureViewClean(){this._viewDirty&&((0,B.t5)(this._viewMatrix,this.eye,this.center,this.up),this.notifyChange("_viewMatrix"),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0)}};(0,o._)([(0,d.MZ)()],q.prototype,"_viewport",void 0),(0,o._)([(0,d.MZ)()],q.prototype,"_padding",void 0),(0,o._)([(0,d.MZ)()],q.prototype,"_fov",void 0),(0,o._)([(0,d.MZ)()],q.prototype,"_nearFar",void 0),(0,o._)([(0,d.MZ)()],q.prototype,"_viewDirty",void 0),(0,o._)([(0,d.MZ)()],q.prototype,"_viewMatrix",void 0),(0,o._)([(0,d.MZ)()],q.prototype,"_pixelRatio",void 0),(0,o._)([(0,d.MZ)()],q.prototype,"pixelRatio",null),(0,o._)([(0,d.MZ)()],q.prototype,"row",void 0),(0,o._)([(0,d.MZ)()],q.prototype,"column",void 0),(0,o._)([(0,d.MZ)()],q.prototype,"_rows",void 0),(0,o._)([(0,d.MZ)()],q.prototype,"rows",null),(0,o._)([(0,d.MZ)()],q.prototype,"_columns",void 0),(0,o._)([(0,d.MZ)()],q.prototype,"columns",null),(0,o._)([(0,d.MZ)()],q.prototype,"eye",null),(0,o._)([(0,d.MZ)()],q.prototype,"center",null),(0,o._)([(0,d.MZ)()],q.prototype,"_center",void 0),(0,o._)([(0,d.MZ)()],q.prototype,"up",null),(0,o._)([(0,d.MZ)()],q.prototype,"_up",void 0),(0,o._)([(0,d.MZ)()],q.prototype,"viewMatrix",null),(0,o._)([(0,d.MZ)({readOnly:!0})],q.prototype,"viewForward",null),(0,o._)([(0,d.MZ)({readOnly:!0})],q.prototype,"viewUp",null),(0,o._)([(0,d.MZ)({readOnly:!0})],q.prototype,"viewRight",null),(0,o._)([(0,d.MZ)({readOnly:!0})],q.prototype,"nearFar",null),(0,o._)([(0,d.MZ)()],q.prototype,"near",null),(0,o._)([(0,d.MZ)()],q.prototype,"far",null),(0,o._)([(0,d.MZ)()],q.prototype,"viewport",null),(0,o._)([(0,d.MZ)({readOnly:!0})],q.prototype,"screenViewport",null),(0,o._)([(0,d.MZ)({readOnly:!0})],q.prototype,"screenPadding",null),(0,o._)([(0,d.MZ)()],q.prototype,"x",null),(0,o._)([(0,d.MZ)()],q.prototype,"y",null),(0,o._)([(0,d.MZ)()],q.prototype,"width",null),(0,o._)([(0,d.MZ)()],q.prototype,"height",null),(0,o._)([(0,d.MZ)()],q.prototype,"fullWidth",null),(0,o._)([(0,d.MZ)()],q.prototype,"fullHeight",null),(0,o._)([(0,d.MZ)({readOnly:!0})],q.prototype,"_aspect",null),(0,o._)([(0,d.MZ)()],q.prototype,"padding",null),(0,o._)([(0,d.MZ)({readOnly:!0})],q.prototype,"projectionMatrix",null),(0,o._)([(0,d.MZ)({readOnly:!0})],q.prototype,"inverseProjectionMatrix",null),(0,o._)([(0,d.MZ)()],q.prototype,"fov",null),(0,o._)([(0,d.MZ)()],q.prototype,"fovX",null),(0,o._)([(0,d.MZ)()],q.prototype,"fovY",null),(0,o._)([(0,d.MZ)()],q.prototype,"viewInverseTransposeMatrix",null),(0,o._)([(0,d.MZ)({readOnly:!0})],q.prototype,"_projectionMatrixInternal",null),(0,o._)([(0,d.MZ)()],q.prototype,"relativeElevation",void 0),q=O=(0,o._)([(0,h.$)("esri.views.3d.webgl.RenderCamera")],q);const $=(0,z.vt)(),Y=(0,y.vt)(),Z=(0,I.vt)(),X=(0,I.vt)(),J=(0,H.r_)();class K{constructor(e=1/0,t=-1/0){this.near=e,this.far=t}set(e,t){this.near=e,this.far=t}union(e){null!=e&&(this.near=Math.min(this.near,e.near),this.far=Math.max(this.far,e.far))}within(e){return this.near<=e&&e<=this.far}equals(e){return this.near===e.near&&this.far===e.far}static{this.zero=new K(0,0)}static{this.infinite=new K}}r(49718),r(62258),r(6867),r(29878),r(16396),(0,I.vt)(),(0,I.vt)(),(0,I.vt)(),new WeakMap;var Q,ee,te,re,ie=r(5443),ne=r(39829),oe=r(95108);function ae(e,t,r,i){const n=function(e,t){const r=t===te.LEFT||t===te.RIGHT?0:1,i=e[t],n=t===te.LEFT||t===te.BOTTOM?Q.MIN:Q.MAX,o=0===r?1:0;return(e,t,a)=>{if(t[r]<i&&a[r]<i)return n===Q.MIN?ee.OUTSIDE:ee.INSIDE;if(t[r]>i&&a[r]>i)return n===Q.MIN?ee.INSIDE:ee.OUTSIDE;const s=(a[o]-t[o])/(a[r]-t[r]),l=t[o]+s*(i-t[r]);return e[r]=i,e[o]=l,(t[r]<i?1:-1)*n>0?ee.OUTSIDE_IN:ee.INSIDE_OUT}}(r,i);if(e.length=0,t.length){n(le,t[0],t[0])===ee.INSIDE&&se(e,t[0]);for(let r=0;r<t.length;r++){const i=t[r===t.length-1?0:r+1];switch(n(le,t[r],i)){case ee.INSIDE:se(e,i);break;case ee.INSIDE_OUT:se(e,(0,G.o8)(le));break;case ee.OUTSIDE_IN:se(e,(0,G.o8)(le)),se(e,i);case ee.OUTSIDE:}}}}function se(e,t){0!==e.length&&(0,m.aI)(e.at(-1),t)||e.push(t)}(re=Q||(Q={}))[re.MIN=1]="MIN",re[re.MAX=-1]="MAX",function(e){e[e.OUTSIDE=0]="OUTSIDE",e[e.INSIDE=1]="INSIDE",e[e.OUTSIDE_IN=2]="OUTSIDE_IN",e[e.INSIDE_OUT=3]="INSIDE_OUT"}(ee||(ee={})),function(e){e[e.LEFT=0]="LEFT",e[e.BOTTOM=1]="BOTTOM",e[e.RIGHT=2]="RIGHT",e[e.TOP=3]="TOP"}(te||(te={}));const le=(0,G.vt)();class ce{get planes(){return this.frustum}get points(){return this._points}get mutablePoints(){return this._points}get direction(){return this._direction}get origin(){return this._origin}constructor(e){this.renderCoordsHelper=e,this.frustum=(0,V.vt)(),this._points=(0,V.Qy)(),this.lines=new Array(12),this._origin=(0,I.vt)(),this._direction=(0,I.vt)(),this._altitude=null;for(let e=0;e<12;e++)this.lines[e]={origin:null,direction:(0,I.vt)(),endpoint:null}}update(e){(0,V.ui)(e.viewMatrix,e.projectionMatrix,this.frustum,this._points),(0,C.c)(this._origin,e.eye),(0,C.c)(this._direction,e.viewForward),this._altitude=this.renderCoordsHelper.getAltitude(this._origin),this._updateLines()}updatePoints(e){for(let t=0;t<this._points.length;t++)(0,C.c)(this._points[t],e[t]);(0,V.DV)(this.frustum,this._points),this._updateLines()}get altitude(){return this._altitude}intersectsSphere(e){return(0,V.m7)(this.frustum,e)}intersectsRay(e){return(0,V.pw)(this.frustum,e)}intersectsLineSegment(e,t){return(0,V.ST)(this.frustum,e,t)}intersectsPoint(e){return(0,V.bU)(this.frustum,e)}_updateLines(){const e=this._points;for(let t=0;t<4;t++){const r=t+4;he(this.lines[t],e[t],e[r]),he(this.lines[t+4],e[t],3===t?e[0]:e[t+1]),he(this.lines[t+8],e[r],3===t?e[4]:e[r+1])}}static{this.planePointIndices=V.c8}static{this.nearFarLineIndices=[[V.J7.NEAR_BOTTOM_LEFT,V.J7.FAR_BOTTOM_LEFT],[V.J7.NEAR_BOTTOM_RIGHT,V.J7.FAR_BOTTOM_RIGHT],[V.J7.NEAR_TOP_RIGHT,V.J7.FAR_TOP_RIGHT],[V.J7.NEAR_TOP_LEFT,V.J7.FAR_TOP_LEFT]]}}var de,ue;function he(e,t,r){e.origin=t,e.endpoint=r,(0,C.E)(e.direction,t,r)}(ue=de||(de={}))[ue.NEAR_FAR_BOTTOM_LEFT=0]="NEAR_FAR_BOTTOM_LEFT",ue[ue.NEAR_FAR_BOTTOM_RIGHT=1]="NEAR_FAR_BOTTOM_RIGHT",ue[ue.NEAR_FAR_TOP_RIGHT=2]="NEAR_FAR_TOP_RIGHT",ue[ue.NEAR_FAR_TOP_LEFT=3]="NEAR_FAR_TOP_LEFT",ue[ue.NEAR_BOTTOM=4]="NEAR_BOTTOM",ue[ue.NEAR_RIGHT=5]="NEAR_RIGHT",ue[ue.NEAR_TOP=6]="NEAR_TOP",ue[ue.NEAR_LEFT=7]="NEAR_LEFT",ue[ue.FAR_BOTTOM=8]="FAR_BOTTOM",ue[ue.FAR_RIGHT=9]="FAR_RIGHT",ue[ue.FAR_TOP=10]="FAR_TOP",ue[ue.FAR_LEFT=11]="FAR_LEFT";var me=r(11964),pe=r(27921);const fe=(0,I.vt)(),ve=(0,I.vt)();function ge(){return{direction:(0,I.vt)(),up:(0,I.vt)()}}function _e(e,t,r,i,n){let o=(0,C.n)(fe,e),s=(0,C.e)(o,i);const l=s>0;s=Math.abs(s),s>.99&&(s=Math.abs((0,C.e)(t,i)),s<.99?((0,C.c)(o,t),l&&(0,C.g)(o,o,-1)):o=null);let c=0;if(o){(0,C.g)(ve,i,(0,C.e)(i,o)),(0,C.d)(o,o,ve);const e=(0,C.e)(o,n)/((0,C.l)(o)*(0,C.l)(n));(0,C.h)(ve,o,n),c=((0,C.e)(ve,i)>0?1:-1)*(0,a.KJ)((0,a.XM)(e))}const d=(0,a.KJ)((0,a.XM)(-(0,C.e)(i,e)/(0,C.l)(e)));return r?(r.heading=c,r.tilt=d,r):{heading:c,tilt:d}}function Te(e,t,r,i){(0,C.d)(xe,r,t),(0,pe.T7)(i,(0,me.LV)(t,xe),e)||e===r||(0,C.c)(e,r)}const xe=(0,I.vt)(),Ee=(0,I.fA)(0,1,0),Me=(0,I.fA)(0,0,1),Ae=(0,y.vt)(),we=(0,I.vt)(),be=(0,I.vt)();function Re(e,t,r,i=ge()){const{direction:n,up:o}=i;return(0,B.N9)(Ae,-(0,a.kU)(t)),(0,B.eL)(Ae,Ae,(0,a.kU)(r)),(0,C.t)(n,Me,Ae),(0,C.g)(n,n,-1),(0,C.t)(o,Ee,Ae),i}function Oe(e,t,r,i,n){const o=t.lines[de.FAR_LEFT].direction,a=(n-r.getAltitude(i))/o[2];(0,C.b)(e,i,o,a)}const Se=(0,I.vt)();Object.freeze(Object.defineProperty({__proto__:null,directionToHeadingTilt:function(e,t,r,i){return _e(t,r,i,Me,Ee)},eyeForCenterWithHeadingTilt:function(e,t,r,i){const n=Re(0,r,i),o=(0,I.vt)();return(0,C.g)(o,n.direction,-t),(0,C.f)(o,o,e),{up:n.up,eye:o,heading:r,tilt:i}},eyeTiltToLookAtTilt:function(e){return(0,a.kU)(e)},headingTiltToDirectionUp:Re,lookAtTiltToEyeTilt:function(e){return(0,a.KJ)(e)},toArea:function(e,t){const r=e.frustum,{renderCoordsHelper:i}=e,n=i.getAltitude(t),o=e.spatialReference,a=e.state.camera.eye,s=[],l=r.planes[V.FB.FAR];for(let e=0;e<4;e++){const t=r.lines[e];i.intersectInfiniteManifold((0,W.LV)(t.origin,t.direction),n,Se)||Oe(Se,r,i,t.endpoint,n),Te(Se,a,Se,l),s.push((0,G.fA)(Se[0],Se[1]))}return function(e,t,r){const i=e.map(e=>((0,C.i)(Se,e[0],e[1],0),t.fromRenderCoords(Se,Se,r),[Se[0],Se[1]]));return i.length<=2?new ne.A({spatialReference:r}):(i.push(i[0].slice()),(0,oe.$3)(i)||i.reverse(),new ne.A({rings:[i],spatialReference:r}))}(function(e,t){const r=[],i=[];return ae(r,e,t,te.LEFT),ae(i,r,t,te.BOTTOM),ae(r,i,t,te.RIGHT),ae(i,r,t,te.TOP),i}(s,i.extent),i,o)},toExtent:function(e,t,r,i,n){const o=e.renderSpatialReference,a=e.spatialReference??t.spatialReference;return(0,P.g)(t,we,o),(0,P.g)(t,be,o),we[0]-=r/2,be[0]+=r/2,we[1]-=i/2,be[1]+=i/2,(0,D.F)(we,o,we,a),(0,D.F)(be,o,be,a),n?(n.xmin=we[0],n.ymin=we[1],n.xmax=be[0],n.ymax=be[1],n.spatialReference=a):n=new ie.A(we[0],we[1],be[0],be[1],a),n}},Symbol.toStringTag,{value:"Module"}));var ye=r(34304),Ce=r(97937),Ie=r(28735);r(83047);const Ne=(0,I.fA)(parseFloat(Number(5802e-9).toFixed(6)),parseFloat(Number(13558e-9).toFixed(6)),parseFloat(Number(331e-7).toFixed(6))),Pe=(0,I.fA)(3*parseFloat(Number(65e-8).toFixed(6)),3*parseFloat(Number(1881e-9).toFixed(6)),3*parseFloat(Number(85e-9).toFixed(6)));(0,I.fA)(parseFloat(Number(Ne[0]+Pe[0]).toFixed(6)),parseFloat(Number(Ne[1]+Pe[1]).toFixed(6)),parseFloat(Number(Ne[2]+Pe[2]).toFixed(6)));(0,I.vt)(),(0,I.vt)(),(0,Ce.c)(),(0,W.vt)();const De=(0,I.vt)(),Fe=(0,I.vt)();var Le=r(32728);const He=(0,I.fA)(0,0,1),Be=(0,C.n)((0,I.vt)(),(0,I.fA)(1,1,1)),Ge=new g.hr(-180,180),Ue=(0,y.vt)(),ze=(0,I.vt)(),Ve=(0,I.vt)();function We(e,t,r,i=ge()){(0,C.h)(ze,e,He),0===(0,C.e)(ze,ze)&&(0,C.h)(ze,e,Be),(0,B.$0)(Ue,-(0,a.kU)(t),e),(0,B.e$)(Ue,Ue,-(0,a.kU)(r),ze);const{up:n,direction:o}=i;return(0,C.h)(n,ze,e),(0,C.n)(n,n),(0,C.t)(n,n,Ue),(0,C.n)(o,e),(0,C.u)(o,o),(0,C.t)(o,o,Ue),i}function je(e){const t=e[1];e[1]=-e[2],e[2]=t}function ke(e,t){const r=We(t,e.heading,e.tilt);return e.up=r.up,e}function qe(e,t){const r=[],i=[],n=(0,ye.FD)();for(let o=0;o<e.length;o++){const a=e[o],s=o===e.length-1?e[0]:e[o+1],l=(0,me.Cr)(a,s,et),c=(0,pe.vE)(t,l.origin,l.vector,pe.v1.NONE,Ke);switch(c){case pe.Nj.INSIDE:r.push(a);break;case pe.Nj.OUTSIDE:i.push(a);break;case pe.Nj.INTERSECTS_INSIDE_OUT:case pe.Nj.INTERSECTS_OUTSIDE_IN:{const[e,o,s]=c===pe.Nj.INTERSECTS_INSIDE_OUT?[1,r,i]:[-1,i,r],l=(0,pe.Qj)(t),d=(0,C.b)((0,I.vt)(),Ke,l,e*n),u=(0,C.b)((0,I.vt)(),Ke,l,e*-n);o.push(a),o.push(d),s.push(u)}}}const o=[];return r.length&&o.push(r),i.length&&o.push(i),o}const $e={minCurvature:(0,a.kU)(5),maxCurvature:(0,a.kU)(50),minSamples:1,maxSamples:6},Ye=(0,I.fA)(1,0,0),Ze=(0,I.fA)(0,1,0),Xe=(0,I.vt)(),Je=(0,I.vt)(),Ke=(0,I.vt)(),Qe=(0,Ce.c)(),et=(0,me.vt)(),tt=(0,z.vt)();var rt,it,nt;Object.freeze(Object.defineProperty({__proto__:null,directionToHeadingTilt:function(e,t,r,i){const n=ze,o=Ve;return(0,C.n)(n,e),(0,C.h)(Ve,n,He),0===(0,C.e)(Ve,Ve)&&(0,C.h)(Ve,n,Be),(0,C.h)(o,Ve,n),_e(t,r,i,n,o)},eyeForCenterWithHeadingTilt:function(e,t,r,i){const n={eye:(0,I.vt)(),up:null,tilt:i,heading:r},o=ze;o[0]=e[0],o[1]=e[2],o[2]=-e[1];const s=t,l=(0,a.kU)(r),c=(0,a.kU)(i),d=Math.sin(l),u=Math.cos(l),h=Math.sin(c),m=Math.cos(c),p=(0,C.l)(o);let f;if(Math.abs(c)<1e-8)f=s+p;else{const e=p/h,t=(0,a.YN)(s/e),r=Math.PI-c-t;f=e*Math.sin(r)}const v=m*s,g=s*s*(h*h),_=u*u*g,T=f-v,x=T*T,E=_*(_+x-o[1]*o[1]);if(E<0)return(0,C.g)(n.eye,o,f/p),n.tilt=0,ke(n,e);const M=Math.sqrt(E),A=o[1]*T,w=_+x;let b;if(b=u>0?-M+A:M+A,Math.abs(w)<1e-8)return p<1e-8?(n.eye[0]=0,n.eye[1]=0,n.eye[2]=s):(0,C.g)(n.eye,o,f/p),n.tilt=0,je(n.eye),ke(n,e);n.eye[1]=b/w;const R=d*d*g,O=h*s,S=u*O*n.eye[1],y=n.eye[1]*n.eye[1],N=1-y,P=Math.sqrt(N),D=_*y+R-2*S*P*T+N*x;return Math.abs(D)<1e-8?((0,C.g)(n.eye,o,f/p),n.tilt=0,je(n.eye),ke(n,e)):(n.eye[0]=(N*(f*o[0]-v*o[0])-O*P*(o[0]*n.eye[1]*u+o[2]*d))/D,n.eye[2]=(N*(f*o[2]-v*o[2])-O*P*(o[2]*n.eye[1]*u-o[0]*d))/D,(0,C.g)(n.eye,n.eye,f),je(n.eye),ke(n,e))},eyeTiltToLookAtTilt:function(e,t,r){const i=(0,a.kU)(e),n=(0,C.l)(t);return(0,a.YN)(r/(n/Math.sin(i)))+i},headingTiltToDirectionUp:We,lookAtTiltToEyeTilt:function(e,t,r){const i=(0,C.l)(t),n=Math.sqrt(r*r+i*i-2*r*i*Math.cos(Math.PI-e)),o=(0,a.YN)(r/(n/Math.sin(e)));return(0,a.KJ)(e-o)},toArea:function(e,t){const{renderCoordsHelper:r}=e,i=e.state.camera.clone(),n=new ce(r);i.near=2,n.update(i);const o=r.getAltitude(t),s=e.spatialReference,l=r.referenceEllipsoid.radius,c=i.eye,d=1+(0,C.j)(c,t)/(l+o),u=Math.sqrt(d*d-1),{minCurvature:h,maxCurvature:m,minSamples:p,maxSamples:f}=$e,v=function(e){const{renderCoordsHelper:t,state:{camera:r}}=e,{center:i,eye:n}=r,o=Math.abs(t.getAltitude(i)),s=Math.abs(Math.PI/2-function(e,t,r){e.worldUpAtPosition(t,De),(0,C.d)(Fe,r,t);const i=(0,C.l)(Fe);return 0===i?0:(0,a.XM)((0,C.e)(Fe,De)/i)}(t,i,n));return(0,Ce.b)(Qe,t.referenceEllipsoid.radius+o),(0,Ce.d)(Qe,s,r.distance,r.fovY)}(e),g=(0,a.qE)((u-h)/(m-h),0,1),_=Math.round((0,a.Cc)(p,f,g)),T=i.aboveGround,x=n.planes[V.FB.FAR],E=[],M=(0,pe.O_)(I.uY,Ye,(0,pe.vt)()),A=(0,pe.O_)(I.uY,Ze,(0,pe.vt)());(0,U.s)(tt,0,0,0,0);const w=e=>{};for(let e=0;e<4;e++){const t=e===de.NEAR_FAR_BOTTOM_RIGHT&&!T||e===de.NEAR_FAR_TOP_LEFT&&T?1-v:0,i=e===de.NEAR_FAR_BOTTOM_RIGHT&&T||e===de.NEAR_FAR_TOP_LEFT&&!T?v:1,s=n.lines[e],l=n.lines[3===e?0:e+1];for(let n=0;n<_;n++){const d=n/_,u=e===de.NEAR_FAR_BOTTOM_RIGHT?1-(1-d)**2:e===de.NEAR_FAR_TOP_LEFT?d**2:d,h=0===n?0:(0,a.Cc)(t,i,u),m=(0,C.m)(Je,s.origin,l.origin,h),p=(0,Le.nu)(s.direction,l.direction,h,Xe);r.intersectManifoldClosestSilhouette((0,W.LV)(m,p),o,Ke),Te(Ke,c,Ke,x),E.push((0,I.o8)(Ke)),0!==E.length&&w((0,C.x)(E.at(-1),Ke));const f=((0,pe.Tj)(M,Ke)?1:0)|((0,pe.Tj)(A,Ke)?2:0);tt[f]=1}}E.length>2&&(0,C.x)(E[0],E.at(-1));const b=function(e,t,r){const i=2*(0,ye.FD)();return e.map(e=>{const n=[];let o=!1;for(const a of e)t.fromRenderCoords(a,Ke,r),Math.abs(a[0])<i&&Math.abs(a[1])<i?(n.push([null,Ke[1]]),n.push([null,Ke[1]]),o=!0):n.push([Ke[0],Ke[1]]);if(o)for(let e=0;e<n.length;e++){const t=n[e];if(null!=t[0])continue;const r=n[e+1],i=n.at(0===e?-1:e-1);t[0]=i[0],e++;const o=n.at(e===n.length-1?0:e+1);r[0]=o[0]}return n.push(n[0]),(0,oe.$3)(n)||n.reverse(),n})}((0,U.b)(tt)>1?function(e,t){const r=[];for(const i of e)r.push(...qe(i,t));return r}(qe(E,M),A):[E],r,s);return new ne.A({rings:b,spatialReference:s})},toExtent:function(e,t,r,i,n){let o,s,l,c;const d=t.latitude,u=(0,F.tO)(e.spatialReference).radius,h=t.longitude,m=function(e,t,r){const i=t/r,n=(0,a.kU)(e),o=Math.sin(i/2),s=Math.cos(n),l=2*(0,a.YN)(Math.sqrt(o*o/(s*s)));return(0,a.KJ)(l)}(d,r,u)/2;o=h-m,s=h+m;const p=(0,a.kU)(d),f=(1+Math.sin(p))/(1-Math.sin(p)),v=(f+1)*Math.tan(i/u/2),_=v*v;function T(e){const t=Math.PI/2;return(e=g.uC.normalize(e,-t))>t&&(e=Math.PI-e),e}if(l=1.5*Math.PI-2*Math.atan(.5*(v+Math.sqrt(4*f+_))),c=l+i/u,l=T(l),c=T(c),c<l){const e=c;c=l,l=e}if(l=Math.max((0,a.KJ)(l),-90),c=Math.min((0,a.KJ)(c),90),s=Ge.monotonic(o,s),s-o>180){const e=(s-o-180)/2;o+=e,s-=e}const x=e.spatialReference&&e.spatialReference.isGeographic?e.spatialReference:N.A.WGS84;return n?(n.xmin=o,n.ymin=l,n.xmax=s,n.ymax=c,n.spatialReference=x):n=new ie.A(o,l,s,c,x),e.spatialReference&&e.spatialReference.isWebMercator&&(0,Ie.Gh)(n,!1,n),n}},Symbol.toStringTag,{value:"Module"})),(nt=rt||(rt={})).OPAQUE="opaque-color",nt.TRANSPARENT="transparent-color",nt.COMPOSITE="composite-color",nt.FINAL="final-color",function(e){e.SSAO="ssao",e.LASERLINES="laserline-color",e.ANTIALIASING="aa-color",e.HIGHLIGHTS="highlight-color",e.MAGNIFIER="magnifier-color",e.OCCLUDED="occluded-color",e.VIEWSHED="viewshed-color",e.OPAQUE_TERRAIN="opaque-terrain-color",e.OPAQUE_ENVIRONMENT="opaque-environment-color",e.TRANSPARENT_ENVIRONMENT="transparent-environment-color",e.FOCUSAREA="focusarea",e.FOCUSAREA_COLOR="focusarea-color"}(it||(it={})),(0,I.vt)();var ot=r(49186),at=r(89192);let st=class extends L.A{constructor(e){super(e),this.view=null,this.consumes={required:[]},this.produces=rt.COMPOSITE,this.requireGeometryDepth=!1,this._dirty=!0}initialize(){this.addHandles([(0,l.wB)(()=>this.view.ready,e=>{e&&this.view.stage?.renderer.addRenderNode(this)},l.Vh)])}destroy(){this.view.stage?.renderer?.removeRenderNode(this)}precompile(){}render(){throw new ot.A("RenderNode:render-function-not-implemented","render() is not implemented.")}get camera(){return this.view.state.camera.clone()}get sunLight(){return this.bindParameters.lighting.legacy}get gl(){return this.view.stage.renderView.renderingContext.gl}get techniques(){return this.view.stage.renderView.techniques}acquireOutputFramebuffer(){const e=this._frameBuffer?.getTexture()?.descriptor,t=this.view.stage.renderer.fboCache.acquire(e?.width??640,e?.height??480,this.produces);return t.fbo?.initializeAndBind(),t}bindRenderTarget(){return this._frameBuffer?.fbo?.initializeAndBind(),this._frameBuffer}requestRender(e){e===at.C7.UPDATE&&this.view.stage?.renderView.requestRender(e),this._dirty=!0}resetWebGLState(){this.renderingContext.resetState(),this.renderingContext.bindFramebuffer(this._frameBuffer?.fbo)}get fboCache(){return this.view.stage.renderer.fboCache}get bindParameters(){return this.renderContext.bind}get renderingContext(){return this.view.stage.renderView.renderingContext}get renderContext(){return this.view.stage?.renderer.renderContext}updateAnimation(e){return!!this._dirty&&(this._dirty=!1,!0)}doRender(e){this._frameBuffer=e.find(({name:e})=>e===this.produces);try{return this.render(e)}finally{this._frameBuffer=null}}};(0,o._)([(0,d.MZ)({constructOnly:!0})],st.prototype,"view",void 0),(0,o._)([(0,d.MZ)({constructOnly:!0})],st.prototype,"consumes",void 0),(0,o._)([(0,d.MZ)()],st.prototype,"produces",void 0),(0,o._)([(0,d.MZ)({readOnly:!0})],st.prototype,"techniques",null),st=(0,o._)([(0,h.$)("esri.views.3d.webgl.RenderNode")],st);var lt,ct,dt,ut=r(63907),ht=r(67171),mt=r(12541);(dt=lt||(lt={}))[dt.R8UNORM=0]="R8UNORM",dt[dt.R8UINT=1]="R8UINT",dt[dt.RG8UNORM=2]="RG8UNORM",dt[dt.RG8UINT=3]="RG8UINT",dt[dt.RGBA4UNORM=4]="RGBA4UNORM",dt[dt.RGBA8UNORM=5]="RGBA8UNORM",dt[dt.RGBA8UNORM_MIPMAP=6]="RGBA8UNORM_MIPMAP",dt[dt.R16FLOAT=7]="R16FLOAT",dt[dt.RGBA16FLOAT=8]="RGBA16FLOAT",dt[dt.R32FLOAT=9]="R32FLOAT",dt[dt.COUNT=10]="COUNT",function(e){e[e.DEPTH16=10]="DEPTH16",e[e.DEPTH24_STENCIL8=11]="DEPTH24_STENCIL8"}(ct||(ct={})),lt.R8UNORM,lt.R8UINT,lt.R16FLOAT,lt.R32FLOAT,lt.RG8UNORM,lt.RG8UINT,lt.RGBA8UNORM,lt.RGBA4UNORM,lt.RGBA8UNORM_MIPMAP,lt.RGBA16FLOAT,ct.DEPTH16,ct.DEPTH24_STENCIL8;const pt=new ht.R;pt.pixelFormat=ut.Ab.RED,pt.internalFormat=ut.H0.R8,pt.wrapMode=ut.pF.CLAMP_TO_EDGE;const ft=new ht.R;ft.pixelFormat=ut.Ab.RED_INTEGER,ft.internalFormat=ut.H0.R8UI,ft.wrapMode=ut.pF.CLAMP_TO_EDGE,ft.samplingMode=ut.Cj.NEAREST;const vt=new ht.R;vt.pixelFormat=ut.Ab.RG,vt.internalFormat=ut.H0.RG8,vt.wrapMode=ut.pF.CLAMP_TO_EDGE;const gt=new ht.R;gt.pixelFormat=ut.Ab.RG_INTEGER,gt.internalFormat=ut.H0.RG8UI,gt.wrapMode=ut.pF.CLAMP_TO_EDGE,gt.samplingMode=ut.Cj.NEAREST;const _t=new ht.R;_t.internalFormat=ut.H0.RGBA4,_t.dataType=ut.ld.UNSIGNED_SHORT_4_4_4_4,_t.wrapMode=ut.pF.CLAMP_TO_EDGE;(new ht.R).wrapMode=ut.pF.CLAMP_TO_EDGE;const Tt=new ht.R;Tt.wrapMode=ut.pF.CLAMP_TO_EDGE,Tt.samplingMode=ut.Cj.LINEAR_MIPMAP_LINEAR,Tt.hasMipmap=!0,Tt.maxAnisotropy=8;const xt=new ht.R;xt.pixelFormat=ut.Ab.RED,xt.dataType=ut.ld.HALF_FLOAT,xt.internalFormat=ut.H0.R16F,xt.samplingMode=ut.Cj.NEAREST;const Et=new ht.R;Et.dataType=ut.ld.HALF_FLOAT,Et.internalFormat=ut.H0.RGBA16F,Et.wrapMode=ut.pF.CLAMP_TO_EDGE;const Mt=new ht.R;Mt.pixelFormat=ut.Ab.RED,Mt.dataType=ut.ld.FLOAT,Mt.internalFormat=ut.H0.R32F,Mt.samplingMode=ut.Cj.NEAREST,lt.R8UNORM,lt.R8UINT,lt.RG8UNORM,lt.RG8UINT,lt.RGBA4UNORM,lt.RGBA8UNORM,lt.RGBA8UNORM_MIPMAP,lt.R16FLOAT,lt.RGBA16FLOAT,lt.R32FLOAT,lt.COUNT;const At={[ut.SB.DEPTH_COMPONENT16]:ut.ld.UNSIGNED_SHORT,[ut.SB.DEPTH_COMPONENT24]:ut.ld.UNSIGNED_INT,[ut.SB.DEPTH_COMPONENT32F]:ut.ld.FLOAT,[ut.iE.DEPTH24_STENCIL8]:ut.ld.UNSIGNED_INT_24_8,[ut.iE.DEPTH32F_STENCIL8]:ut.ld.FLOAT_32_UNSIGNED_INT_24_8_REV};function wt(e){const t=new ht.R;return t.pixelFormat=(0,mt.CR)(e)?ut.j7.DEPTH_COMPONENT:ut.j7.DEPTH_STENCIL,t.dataType=At[e],t.samplingMode=ut.Cj.NEAREST,t.wrapMode=ut.pF.CLAMP_TO_EDGE,t.internalFormat=e,t.hasMipmap=!1,t.isImmutable=!0,t}ct.DEPTH24_STENCIL8,wt(ut.iE.DEPTH24_STENCIL8),ct.DEPTH16,wt(ut.SB.DEPTH_COMPONENT16);var bt=r(97220),Rt=r(98958),Ot=r(95774),St=r(90644);class yt extends Rt.w{constructor(e,t){super(e,t,new bt.$(Ot.S,()=>r.e(9384).then(r.bind(r,59384))))}initializePipeline(){return(0,St.Ey)({colorWrite:St.kn})}}var Ct=r(65786);class It extends Ct.Y{constructor(){super(...arguments),this.projScale=1}}class Nt extends It{constructor(){super(...arguments),this.intensity=1}}class Pt extends Ct.Y{}class Dt extends Pt{constructor(){super(...arguments),this.blurSize=(0,G.vt)()}}var Ft=r(15581);class Lt extends Rt.w{constructor(e,t){super(e,t,new bt.$(Ft.S,()=>r.e(191).then(r.bind(r,90191))))}initializePipeline(){return(0,St.Ey)({colorWrite:St.kn})}}var Ht=r(21231);const Bt=2;let Gt=class extends st{constructor(e){super(e),this.consumes={required:["normals"]},this.produces=it.SSAO,this.isEnabled=()=>!1,this._enableTime=(0,c.l5)(0),this._passParameters=new Nt,this._drawParameters=new Dt}initialize(){const e=Uint8Array.from(atob("eXKEvZaUc66cjIKElE1jlJ6MjJ6Ufkl+jn2fcXp5jBx7c6KEflSGiXuXeW6OWs+tfqZ2Yot2Y7Zzfo2BhniEj3xoiXuXj4eGZpqEaHKDWjSMe7palFlzc3BziYOGlFVzg6Zzg7CUY5JrjFF7eYJ4jIKEcyyEonSXe7qUfqZ7j3xofqZ2c4R5lFZ5Y0WUbppoe1l2cIh2ezyUho+BcHN2cG6DbpqJhqp2e1GcezhrdldzjFGUcyxjc3aRjDyEc1h7Sl17c6aMjH92pb6Mjpd4dnqBjMOEhqZleIOBYzB7gYx+fnqGjJuEkWlwnCx7fGl+c4hjfGyRe5qMlNOMfnqGhIWHc6OMi4GDc6aMfqZuc6aMzqJzlKZ+lJ6Me3qRfoFue0WUhoR5UraEa6qMkXiPjMOMlJOGe7JrUqKMjK6MeYRzdod+Sl17boiPc6qEeYBlcIh2c1WEe7GDiWCDa0WMjEmMdod+Y0WcdntzhmN8WjyMjKJjiXtzgYxYaGd+a89zlEV7e2GJfnd+lF1rcK5zc4p5cHuBhL6EcXp5eYB7fnh8iX6HjIKEeaxuiYOGc66RfG2Ja5hzjlGMjEmMe9OEgXuPfHyGhPeEdl6JY02McGuMfnqGhFiMa3WJfnx2l4hwcG1uhmN8c0WMc39og1GBbrCEjE2EZY+JcIh2cIuGhIWHe0mEhIVrc09+gY5+eYBlnCyMhGCDl3drfmmMgX15aGd+gYx+fnuRfnhzY1SMsluJfnd+hm98WtNrcIuGh4SEj0qPdkqOjFF7jNNjdnqBgaqUjMt7boeBhnZ4jDR7c5pze4GGjEFrhLqMjHyMc0mUhKZze4WEa117kWlwbpqJjHZ2eX2Bc09zeId+e0V7WlF7jHJ2l72BfId8l3eBgXyBe897jGl7c66cgW+Xc76EjKNbgaSEjGx4fId8jFFjgZB8cG6DhlFziZhrcIh2fH6HgUqBgXiPY8dahGFzjEmMhEFre2dxhoBzc5SGfleGe6alc7aUeYBlhKqUdlp+cH5za4OEczxza0Gcc4J2jHZ5iXuXjH2Jh5yRjH2JcFx+hImBjH+MpddCl3dreZeJjIt8ZW18bm1zjoSEeIOBlF9oh3N7hlqBY4+UeYFwhLJjeYFwaGd+gUqBYxiEYot2fqZ2ondzhL6EYyiEY02Ea0VjgZB8doaGjHxoc66cjEGEiXuXiXWMiZhreHx8frGMe75rY02Ec5pzfnhzlEp4a3VzjM+EhFFza3mUY7Zza1V5e2iMfGyRcziEhDyEkXZ2Y4OBnCx7g5t2eyBjgV6EhEFrcIh2dod+c4Z+nJ5zjm15jEmUeYxijJp7nL6clIpjhoR5WrZraGd+fnuRa6pzlIiMg6ZzfHx5foh+eX1ufnB5eX1ufnB5aJt7UqKMjIh+e3aBfm5lbYSBhGFze6J4c39oc0mUc4Z+e0V7fKFVe0WEdoaGY02Ec4Z+Y02EZYWBfH6HgU1+gY5+hIWUgW+XjJ57ebWRhFVScHuBfJ6PhBx7WqJzlM+Ujpd4gHZziX6HjHmEgZN+lJt5boiPe2GJgX+GjIGJgHZzeaxufnB5hF2JtdN7jJ57hp57hK6ElFVzg6ZzbmiEbndzhIWHe3uJfoFue3qRhJd2j3xoc65zlE1jc3p8lE1jhniEgXJ7e657vZaUc3qBh52BhIF4aHKDa9drgY5+c52GWqZzbpqJe8tjnM+UhIeMfo2BfGl+hG1zSmmMjKJjZVaGgX15c1lze0mEp4OHa3mUhIWHhDyclJ6MeYOJkXiPc0VzhFiMlKaEboSJa5Jze41re3qRhn+HZYWBe0mEc4p5fnORbox5lEp4hGFjhGGEjJuEc1WEhLZjeHeGa7KlfHx2hLaMeX1ugY5+hIWHhKGPjMN7c1WEho1zhoBzZYx7fnhzlJt5exyUhFFziXtzfmmMa6qMYyiEiXxweV12kZSMeWqXSl17fnhzxmmMrVGEe1mcc4p5eHeGjK6MgY5+doaGa6pzlGV7g1qBh4KHkXiPeW6OaKqafqZ2eXZ5e1V7jGd7boSJc3BzhJd2e0mcYot2h1RoY8dahK6EQmWEWjx7e1l2lL6UgXyBdnR4eU9zc0VreX1umqaBhld7fo2Bc6KEc5Z+hDyEcIeBWtNrfHyGe5qMhMuMe5qMhEGEbVVupcNzg3aHhIF4boeBe0mEdlptc39ofFl5Y8uUlJOGiYt2UmGEcyxjjGx4jFF7a657ZYWBnElzhp57iXtrgZN+tfOEhIOBjE2HgU1+e8tjjKNbiWCDhE15gUqBgYN7fnqGc66ce9d7iYSBj0qPcG6DnGGcT3eGa6qMZY+JlIiMl4hwc3aRdnqBlGV7eHJ2hLZjfnuRhDyEeX6MSk17g6Z+c6aUjHmEhIF4gXyBc76EZW18fGl+fkl+jCxrhoVwhDyUhIqGlL2DlI6EhJd2tdN7eYORhEGMa2Faa6pzc3Bzc4R5lIRznM+UY9eMhDycc5Z+c4p5c4iGY117pb6MgXuPrbJafnx2eYOJeXZ5e657hDyEcziElKZjfoB5eHeGj4WRhGGEe6KGeX1utTStc76EhFGJnCyMa5hzfH6HnNeceYB7hmN8gYuMhIVrczSMgYF8h3N7c5pza5hzjJqEYIRdgYuMlL2DeYRzhGGEeX1uhLaEc4iGeZ1zdl6JhrVteX6Me2iMfm5lWqJzSpqEa6pzdnmchHx2c6OMhNdrhoR5g3aHczxzeW52gV6Ejm15frGMc0Vzc4Z+l3drfniJe+9rWq5rlF1rhGGEhoVwe9OEfoh+e7pac09+c3qBY0lrhDycdnp2lJ6MiYOGhGCDc3aRlL2DlJt5doaGdnp2gYF8gWeOjF2Uc4R5c5Z+jEmMe7KEc4mEeYJ4dmyBe0mcgXiPbqJ7eYB7fmGGiYSJjICGlF1reZ2PnElzbpqJfH6Hc39oe4WEc5eJhK6EhqyJc3qBgZB8c09+hEmEaHKDhFGJc5SGiXWMUpaEa89zc6OMnCyMiXtrho+Be5qMc7KEjJ57dmN+hKGPjICGbmiEe7prdod+hGCDdnmchBx7eX6MkXZ2hGGEa657hm98jFFjY5JreYOJgY2EjHZ2a295Y3FajJ6Mc1J+YzB7e4WBjF2Uc4R5eV12gYxzg1qBeId+c9OUc5pzjFFjgY5+hFiMlIaPhoR5lIpjjIKBlNdSe7KEeX2BfrGMhIqGc65zjE2UhK6EklZ+QmWEeziMWqZza3VzdnR4foh+gYF8n3iJiZhrnKp7gYF8eId+lJ6Me1lrcIuGjKJjhmN8c66MjFF7a6prjJ6UnJ5zezyUfruRWlF7nI5zfHyGe657h4SEe8tjhBx7jFFjc09+c39ojICMeZeJeXt+YzRzjHZ2c0WEcIeBeXZ5onSXkVR+gYJ+eYFwdldzgYF7eX2BjJ6UiXuXlE1jh4SEe1mchLJjc4Z+hqZ7eXZ5bm1zlL6Ue5p7iWeGhKqUY5pzjKJjcIeBe8t7gXyBYIRdlEp4a3mGnK6EfmmMZpqEfFl5gYxzjKZuhGFjhoKGhHx2fnx2eXuMe3aBiWeGvbKMe6KGa5hzYzB7gZOBlGV7hmN8hqZlYot2Y117a6pzc6KEfId8foB5rctrfneJfJ6PcHN2hFiMc5pzjH92c0VzgY2EcElzdmCBlFVzg1GBc65zY4OBboeBcHiBeYJ4ewxzfHx5lIRzlEmEnLKEbk1zfJ6PhmN8eYBljBiEnMOEiXxwezyUcIeBe76EdsKEeX2BdnR4jGWUrXWMjGd7fkl+j4WRlEGMa5Jzho+BhDyEfnqMeXt+g3aHlE1jczClhNN7ZW18eHx8hGFjZW18iXWMjKJjhH57gYuMcIuGWjyMe4ZtjJuExmmMj4WRdntzi4GDhFFzYIRdnGGcjJp7Y0F7e4WEkbCGiX57fnSHa657a6prhBCMe3Z+SmmMjH92eHJ2hK6EY1FzexhrvbKMnI5za4OEfnd+eXuMhImBe897hLaMjN+EfG+BeIOBhF1+eZeJi4GDkXZ2eXKEgZ6Ejpd4c2GHa1V5e5KUfqZuhCx7jKp7lLZrg11+hHx2hFWUoot2nI5zgbh5mo9zvZaUe3qRbqKMfqZ2kbCGhFiM"),e=>e.charCodeAt(0)),t=new ht.R(32);t.wrapMode=ut.pF.CLAMP_TO_EDGE,t.pixelFormat=ut.Ab.RGB,t.wrapMode=ut.pF.REPEAT,t.hasMipmap=!0,this._passParameters.noiseTexture=new Ht.g(this.renderingContext,t,e),this.techniques.precompile(Lt),this.techniques.precompile(yt),this.addHandles((0,l.wB)(()=>this.isEnabled(),()=>this._enableTime=(0,c.l5)(0)))}destroy(){this._passParameters.noiseTexture=(0,s.WD)(this._passParameters.noiseTexture)}render(e){const t=e.find(({name:e})=>"normals"===e),r=t?.getTexture(),i=t?.getTexture(ut.nI);if(!r||!i)return;const n=this.techniques.get(Lt),o=this.techniques.get(yt);if(!n.compiled||!o.compiled)return this._enableTime=(0,c.l5)(performance.now()),void this.requestRender(at.C7.UPDATE);0===this._enableTime&&(this._enableTime=(0,c.l5)(performance.now()));const s=this.renderingContext,l=this.view.qualitySettings.fadeDuration,d=this.bindParameters,u=d.camera,h=u.relativeElevation,p=(0,a.qE)((5e5-h)/2e5,0,1),f=l>0?Math.min(l,performance.now()-this._enableTime)/l:1,v=f*p;this._passParameters.normalTexture=r,this._passParameters.depthTexture=i,this._passParameters.projScale=1/u.computeScreenPixelSizeAtDist(1),this._passParameters.intensity=4*Ut/(0,Ft.g)(u)**6*v;const g=u.fullViewport[2],_=u.fullViewport[3],T=this.fboCache.acquire(g,_,"ssao input",lt.RG8UNORM);s.bindFramebuffer(T.fbo),s.setViewport(0,0,g,_),s.bindTechnique(n,d,this._passParameters,this._drawParameters),s.screen.draw();const x=Math.round(g/Bt),E=Math.round(_/Bt),M=this.fboCache.acquire(x,E,"ssao blur",lt.R8UNORM);s.bindFramebuffer(M.fbo),this._drawParameters.colorTexture=T.getTexture(),(0,m.hZ)(this._drawParameters.blurSize,0,Bt/_),s.bindTechnique(o,d,this._passParameters,this._drawParameters),s.setViewport(0,0,x,E),s.screen.draw(),T.release();const A=this.fboCache.acquire(x,E,it.SSAO,lt.R8UNORM);return s.bindFramebuffer(A.fbo),s.setViewport(0,0,g,_),s.setClearColor(1,1,1,0),s.clear(ut.NV.COLOR),this._drawParameters.colorTexture=M.getTexture(),(0,m.hZ)(this._drawParameters.blurSize,Bt/g,0),s.bindTechnique(o,d,this._passParameters,this._drawParameters),s.setViewport(0,0,x,E),s.screen.draw(),s.setViewport4fv(u.fullViewport),M.release(),f<1&&this.requestRender(at.C7.UPDATE),A}};(0,o._)([(0,d.MZ)()],Gt.prototype,"consumes",void 0),(0,o._)([(0,d.MZ)()],Gt.prototype,"produces",void 0),(0,o._)([(0,d.MZ)({constructOnly:!0})],Gt.prototype,"isEnabled",void 0),Gt=(0,o._)([(0,h.$)("esri.views.3d.webgl-engine.effects.ssao.SSAO")],Gt);const Ut=.5;function zt(e,t){t.receiveAmbientOcclusion?(e.uniforms.add(new n.x("ssaoTex",e=>e.ssao?.getTexture())),e.constants.add("blurSizePixelsInverse","float",1/Bt),e.code.add(i.H`float evaluateAmbientOcclusionInverse() {
568
568
  vec2 ssaoTextureSizeInverse = 1.0 / vec2(textureSize(ssaoTex, 0));
569
569
  return texture(ssaoTex, gl_FragCoord.xy * blurSizePixelsInverse * ssaoTextureSizeInverse).r;
570
570
  }
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[9186],{25943:(e,t,i)=>{i.d(t,{d:()=>x});var l,s=i(90237),o=i(78888),r=i(69622),n=i(71903),a=i(49186),c=i(36563),h=(i(44208),i(66344)),p=i(15142),u=i(74887),f=i(36708),d=i(11932),v=i(84952),m=i(10107),y=(i(53966),i(87811),i(40608)),w=i(72802),g=i(4718),_=i(69397),A=i(34275);class b{constructor(e){!function(e){if(!e?.location)throw new a.A("tilemap:missing-location","Location missing from tilemap response");if(!1===e.valid)throw new a.A("tilemap:invalid","Tilemap response was marked as invalid");if(!e.data)throw new a.A("tilemap:missing-data","Data missing from tilemap response");if(!Array.isArray(e.data))throw new a.A("tilemap:data-mismatch","Data must be an array of numbers");if(e.data.length!==e.location.width*e.location.height)throw new a.A("tilemap:data-mismatch","Number of data items does not match width/height of tilemap")}(e);const{location:t,data:i}=e;this.location=Object.freeze((0,g.o8)(t));const l=this.location.width,s=this.location.height;let o=!0,r=!0;const n=function(e,t=!1){return e<=A.y9?t?new Array(e).fill(0):new Array(e):new Uint32Array(e)}(Math.ceil(l*s/32));let c=0;for(let e=0;e<i.length;e++){const t=e%32;i[e]?(r=!1,n[c]|=1<<t):o=!1,31===t&&++c}r?(this._availability="unavailable",this.byteSize=40):o?(this._availability="available",this.byteSize=40):(this._availability=n,this.byteSize=40+(0,_.Qf)(n))}getAvailability(e,t){if("unavailable"===this._availability||"available"===this._availability)return this._availability;const i=(e-this.location.top)*this.location.width+(t-this.location.left),l=i%32,s=i>>5,o=this._availability;return s<0||s>o.length?"unknown":o[s]&1<<l?"available":"unavailable"}static fromDefinition(e,t){const i=e.service.request||o.A,{row:l,col:s,width:r,height:n}=e,c={query:{f:"json"}};return t=t?{...c,...t}:c,i(function(e){let t;if(e.service.tileServers?.length){const i=e.service.tileServers;t=`${i&&i.length?i[e.row%i.length]:e.service.url}/tilemap/${e.level}/${e.row}/${e.col}/${e.width}/${e.height}`}else t=`${e.service.url}/tilemap/${e.level}/${e.row}/${e.col}/${e.width}/${e.height}`;const i=e.service.query;return i&&(t=`${t}?${i}`),t}(e),t).then(e=>e.data).catch(e=>{if(422===e?.details?.httpStatus)return{location:{top:l,left:s,width:r,height:n},valid:!0,data:new Array(r*n).fill(0)};throw e}).then(e=>{if(e.location&&(e.location.top!==l||e.location.left!==s||e.location.width!==r||e.location.height!==n))throw new a.A("tilemap:location-mismatch","Tilemap response for different location than requested",{response:e,definition:{top:l,left:s,width:r,height:n}});return b.fromJSON(e)})}static fromJSON(e){return Object.freeze(new b(e))}}function O(e){return`${e.level}/${e.row}/${e.col}/${e.width}/${e.height}`}function M(e,t,i){return new a.A("tile-map:tile-unavailable","Tile is not available",{level:e,row:t,col:i})}let x=class extends r.A{static{l=this}constructor(e){super(e),this._pendingTilemapRequests={},this.request=o.A,this.size=32,this._prefetchingEnabled=!0}initialize(){this._tilemapCache=new h.q(2*n.u.MEGABYTES),this.addHandles((0,f.wB)(()=>{const{layer:e}=this;return[e?.parsedUrl,e?.tileServers,e?.apiKey,e?.customParameters]},()=>this._initializeTilemapDefinition(),f.Vh))}get effectiveMinLOD(){return this.minLOD??this.layer.tileInfo.lods[0].level}get effectiveMaxLOD(){return this.maxLOD??this.layer.tileInfo.lods[this.layer.tileInfo.lods.length-1].level}getAvailability(e,t,i){if(!this.layer.tileInfo.lodAt(e)||e<this.effectiveMinLOD||e>this.effectiveMaxLOD)return"unavailable";const l=this._tilemapFromCache(e,t,i,this._tmpTilemapDefinition);return l?l.getAvailability(t,i):"unknown"}fetchAvailability(e,t,i,l){return!this.layer.tileInfo.lodAt(e)||e<this.effectiveMinLOD||e>this.effectiveMaxLOD?Promise.reject(M(e,t,i)):this._fetchTilemap(e,t,i,l).catch(e=>e).then(l=>{if(l instanceof b){const s=l.getAvailability(t,i);if("unavailable"===s)throw M(e,t,i);return s}if((0,u.zf)(l))throw l;return"unknown"})}fetchAvailabilityUpsample(e,t,i,l,s){l.level=e,l.row=t,l.col=i;const o=this.layer.tileInfo;o.updateTileInfo(l);const r=this.fetchAvailability(e,t,i,s).catch(e=>{if((0,u.zf)(e))throw e;if(o.upsampleTile(l))return this.fetchAvailabilityUpsample(l.level,l.row,l.col,l,s);throw e});return this._fetchAvailabilityUpsamplePrefetch(l.id,e,t,i,s,r),r}async _fetchAvailabilityUpsamplePrefetch(e,t,i,s,o,r){if(!this._prefetchingEnabled||null==e)return;const n=`prefetch-${e}`;if(this.hasHandles(n))return;const a=new AbortController;r.then(()=>a.abort(),()=>a.abort());let h=!1;const p=(0,c.hA)(()=>{h||(h=!0,a.abort())});if(this.addHandles(p,n),await(0,d.md)(10,a.signal).catch(()=>{}),h||(h=!0,this.removeHandles(n)),(0,u.G4)(a))return;const f=new w.U(e,t,i,s),v={...o,signal:a.signal},m=this.layer.tileInfo;for(let e=0;l._prefetches.length<l._maxPrefetch&&m.upsampleTile(f);++e){const e=this.fetchAvailability(f.level,f.row,f.col,v);l._prefetches.push(e);const t=()=>{l._prefetches.removeUnordered(e)};e.then(t,t)}}static{this._maxPrefetch=4}static{this._prefetches=new p.A({initialSize:l._maxPrefetch})}static cleanupTilemapCache(){this._prefetches.prune()}_fetchTilemap(e,t,i,l){if(!this.layer.tileInfo.lodAt(e)||e<this.effectiveMinLOD||e>this.effectiveMaxLOD)return Promise.reject(new a.A("tilemap-cache:level-unavailable",`Level ${e} is unavailable in the service`));const s=this._tmpTilemapDefinition,o=this._tilemapFromCache(e,t,i,s);if(o)return Promise.resolve(o);const r=l?.signal;return l={...l,signal:null},new Promise((e,t)=>{(0,u.u7)(r,()=>t((0,u.NK)()));const i=O(s);let o=this._pendingTilemapRequests[i];if(!o){o=b.fromDefinition(s,l).then(e=>(this._tilemapCache.put(i,e,e.byteSize),e));const e=()=>{delete this._pendingTilemapRequests[i]};this._pendingTilemapRequests[i]=o,o.then(e,e)}o.then(e,t)})}_initializeTilemapDefinition(){if(!this.layer.parsedUrl)return;const{parsedUrl:e,apiKey:t,customParameters:i}=this.layer;this._tilemapCache.clear(),this._tmpTilemapDefinition={service:{url:e.path,query:(0,v.x0)({...e.query,...i,token:t??e.query?.token}),tileServers:this.layer.tileServers,request:this.request},width:this.size,height:this.size,level:0,row:0,col:0}}_tilemapFromCache(e,t,i,l){l.level=e,l.row=t-t%this.size,l.col=i-i%this.size;const s=O(l);return this._tilemapCache.get(s)}get test(){}};(0,s._)([(0,m.MZ)({constructOnly:!0})],x.prototype,"layer",void 0),(0,s._)([(0,m.MZ)({constructOnly:!0})],x.prototype,"minLOD",void 0),(0,s._)([(0,m.MZ)({constructOnly:!0})],x.prototype,"maxLOD",void 0),(0,s._)([(0,m.MZ)({constructOnly:!0})],x.prototype,"request",void 0),(0,s._)([(0,m.MZ)({constructOnly:!0})],x.prototype,"size",void 0),x=l=(0,s._)([(0,y.$)("esri.layers.support.TilemapCache")],x)},65509:(e,t,i)=>{i.d(t,{A:()=>o});var l=i(49186),s=i(74887);class o{constructor(e,t=0,i=e.lods[e.lods.length-1].level){this.tileInfo=e,this.minLOD=t,this.maxLOD=i,e.lodAt(t)||(this.minLOD=e.lods[0].level),e.lodAt(i)||(this.maxLOD=e.lods[e.lods.length-1].level)}get effectiveMinLOD(){return this.minLOD??this.tileInfo.lods[0].level}get effectiveMaxLOD(){return this.maxLOD??this.tileInfo.lods[this.tileInfo.lods.length-1].level}getAvailability(e,t,i){const l=this.tileInfo?.lodAt(e);return!l||e<this.minLOD||e>this.maxLOD?"unavailable":l.cols&&l.rows?i>=l.cols[0]&&i<=l.cols[1]&&t>=l.rows[0]&&t<=l.rows[1]?"unknown":"unavailable":"unknown"}async fetchAvailability(e,t,i,o){await(0,s.NO)(o);const r=this.getAvailability(e,t,i);if("unavailable"===r)throw new l.A("tile-map:tile-unavailable","Tile is not available",{level:e,row:t,col:i});return r}async fetchAvailabilityUpsample(e,t,i,l,o){await(0,s.NO)(o),l.level=e,l.row=t,l.col=i;const r=this.tileInfo;return r.updateTileInfo(l),this.fetchAvailability(e,t,i,o).catch(e=>{if((0,s.zf)(e))throw e;if(r.upsampleTile(l))return this.fetchAvailabilityUpsample(l.level,l.row,l.col,l,o);throw e})}}},71903:(e,t,i)=>{var l;i.d(t,{u:()=>l}),function(e){e[e.KILOBYTES=1024]="KILOBYTES",e[e.MEGABYTES=1048576]="MEGABYTES",e[e.GIGABYTES=1073741824]="GIGABYTES"}(l||(l={}))},72802:(e,t,i)=>{i.d(t,{U:()=>l});class l{constructor(e,t,i,l,s=void 0){this.id=e,this.level=t,this.row=i,this.col=l,this.extent=s}}},87045:(e,t,i)=>{i.d(t,{A:()=>A});var l,s=i(90237),o=i(66552),r=i(25482),n=i(83047),a=i(10107),c=i(56507),h=(i(44208),i(87811),i(36005)),p=i(40608),u=i(43937),f=i(86738),d=i(16930),v=i(19419),m=i(21325),y=i(28735),w=i(91806),g=i(72802);const _=new o.J({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 A=class extends r.A{static{l=this}static create(e={}){const{resolutionFactor:t=1,scales:i,size:s=256,spatialReference:o=d.A.WebMercator,numLODs:r=24}=e;if(!(0,m.fn)(o)){const e=[];if(i)for(let t=0;t<i.length;t++){const l=i[t];e.push(new w.A({level:t,scale:l,resolution:l}))}else{let t=5e-4;for(let i=r-1;i>=0;i--)e.unshift(new w.A({level:i,scale:t,resolution:t})),t*=2}return new l({dpi:96,lods:e,origin:new f.A(0,0,o),size:[s,s],spatialReference:o})}const a=(0,m.Vp)(o),c=e.origin?new f.A({x:e.origin.x,y:e.origin.y,spatialReference:o}):new f.A(a?{x:a.origin[0],y:a.origin[1],spatialReference:o}:{x:0,y:0,spatialReference:o}),h=1/(39.37*(0,n.GA)(o)*96),p=[];if(i)for(let e=0;e<i.length;e++){const t=i[e],l=t*h;p.push(new w.A({level:e,scale:t,resolution:l}))}else{let e=(0,m.EA)(o)?512/s*591657527.5917094:256/s*591657527.591555;const i=Math.ceil(r/t);p.push(new w.A({level:0,scale:e,resolution:e*h}));for(let l=1;l<i;l++){const i=e/2**t,s=i*h;p.push(new w.A({level:l,scale:i,resolution:s})),e=i}}return new l({dpi:96,lods:p,origin:c,size:[s,s],spatialReference:o})}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 i=(0,m.Vp)(e);return e.isWrappable&&!!i&&Math.abs(i.origin[0]-t.x)<=i.dx}return!1}readOrigin(e,t){return f.A.fromJSON({spatialReference:t.spatialReference,...e})}set lods(e){let t=0,i=0;const l=[],s=this._levelToLOD={};e&&(t=-1/0,i=1/0,e.forEach(e=>{l.push(e.scale),t=e.scale>t?e.scale:t,i=e.scale<i?e.scale:i,s[e.level]=e})),this._set("scales",l),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 i=Math.floor(e),l=i+1;return t[i]/(t[i]/t[l])**(e-i)}scaleToZoom(e){const t=this.scales,i=t.length-1;let l=0;for(;l<i;l++){const i=t[l],s=t[l+1];if(i<=e)return l;if(s===e)return l+1;if(i>e&&s<e)return l+Math.log(i/e)/Math.log(i/s)}return l}tileAt(e,t,i,l){const s=this.lodAt(e);if(!s)return null;let o,r;if("number"==typeof t)o=t,r=i;else if((0,m.aI)(t.spatialReference,this.spatialReference))o=t.x,r=t.y,l=i;else{const e=(0,y.Cv)(t,this.spatialReference);if(null==e)return null;o=e.x,r=e.y,l=i}const n=s.resolution*this.size[0],a=s.resolution*this.size[1];return l||(l=new g.U(null,0,0,0,(0,v.vt)())),l.level=e,l.row=Math.floor((this.origin.y-r)/a+.001),l.col=Math.floor((o-this.origin.x)/n+.001),this.updateTileInfo(l),l}updateTileInfo(e,t=l.ExtrapolateOptions.NONE){let i=this.lodAt(e.level);if(!i&&t===l.ExtrapolateOptions.POWER_OF_TWO){const t=this.lods[this.lods.length-1];t.level<e.level&&(i=t)}if(!i)return;const s=e.level-i.level,o=i.resolution*this.size[0]/2**s,r=i.resolution*this.size[1]/2**s;e.id=`${e.level}/${e.row}/${e.col}`,e.extent||(e.extent=(0,v.vt)()),e.extent[0]=this.origin.x+e.col*o,e.extent[1]=this.origin.y-(e.row+1)*r,e.extent[2]=e.extent[0]+o,e.extent[3]=e.extent[1]+r}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 i=this.lodAt(t.level);if(null==i)return null;const{resolution:l}=i,s=l*this.size[0],o=l*this.size[1];return e[0]=this.origin.x+t.col*s,e[1]=this.origin.y-(t.row+1)*o,e[2]=e[0]+s,e[3]=e[1]+o,e}lodAt(e){return this._levelToLOD?.[e]??null}clone(){return l.fromJSON(this.write({}))}getCompatibleForVTL(e){if(this.size[0]!==this.size[1]||256===this.size[0]&&512===e)return null;const t=(512===this.size[0]&&256===e?-1:0)+(this.spatialReference.isGeographic?1:0);if(this.size[0]===e&&0===t)return this;const i=[],s=this.lods.length-t;for(let e=0;e<s;e++){const l=e+t,{scale:s,resolution:o}=l>=0?this.lods[l]:{scale:2*this.lods[0].scale,resolution:2*this.lods[0].resolution};i.push(new w.A({level:e,scale:s,resolution:o}))}return new l({size:[e,e],dpi:this.dpi,format:this.format,compressionQuality:this.compressionQuality,origin:this.origin,spatialReference:this.spatialReference,lods:i})}_initializeUpsampleLevels(){const e=this.lods;this._upsampleLevels=[];let t=null;for(let i=0;i<e.length;i++){const l=e[i];this._upsampleLevels[l.level]={parentLevel:t?t.level:-1,factor:t?t.resolution/l.resolution:0},t=l}}};var b,O;(0,s._)([(0,a.MZ)({type:Number,json:{write:!0}})],A.prototype,"compressionQuality",void 0),(0,s._)([(0,a.MZ)({type:Number,json:{write:!0}})],A.prototype,"dpi",void 0),(0,s._)([(0,a.MZ)({type:String,json:{read:_.read,write:_.write,origins:{"web-scene":{read:!1,write:!1}}}})],A.prototype,"format",void 0),(0,s._)([(0,a.MZ)({readOnly:!0})],A.prototype,"isWrappable",null),(0,s._)([(0,a.MZ)({type:f.A,json:{write:!0}})],A.prototype,"origin",void 0),(0,s._)([(0,h.w)("origin")],A.prototype,"readOrigin",null),(0,s._)([(0,a.MZ)({type:[w.A],value:null,json:{write:!0}})],A.prototype,"lods",null),(0,s._)([(0,a.MZ)({readOnly:!0})],A.prototype,"scales",void 0),(0,s._)([(0,a.MZ)({cast:e=>Array.isArray(e)?e:"number"==typeof e?[e,e]:[256,256]})],A.prototype,"size",void 0),(0,s._)([(0,h.w)("size",["rows","cols"])],A.prototype,"readSize",null),(0,s._)([(0,u.K)("size",{cols:{type:c.jz},rows:{type:c.jz}})],A.prototype,"writeSize",null),(0,s._)([(0,a.MZ)({type:d.A,json:{write:!0}})],A.prototype,"spatialReference",void 0),A=l=(0,s._)([(0,p.$)("esri.layers.support.TileInfo")],A),(O=(b=A||(A={})).ExtrapolateOptions||(b.ExtrapolateOptions={}))[O.NONE=0]="NONE",O[O.POWER_OF_TWO=1]="POWER_OF_TWO"},89186:(e,t,i)=>{i.d(t,{f:()=>p});var l=i(90237),s=i(10107),o=(i(44208),i(53966),i(87811),i(36005)),r=i(40608),n=i(16930),a=i(87045),c=i(65509),h=i(25943);const p=e=>{const t=e;let i=class extends t{constructor(){super(...arguments),this.copyright=null,this.minScale=0,this.maxScale=0,this.spatialReference=null,this.tileInfo=null,this.tilemapCache=null}destroy(){this.tilemapCache?.destroy?.()}readMinScale(e,t){return null!=t.minLOD&&null!=t.maxLOD?e:0}readMaxScale(e,t){return null!=t.minLOD&&null!=t.maxLOD?e:0}get supportsBlankTile(){return this.version>=10.2}readTilemapCache(e,t,i){const l=t.capabilities?.includes("Tilemap");let{minLOD:s,maxLOD:o,minScale:r,maxScale:n}=t;if(null==s&&null==o&&(0!==r||0!==n)){const e=e=>Math.round(1e4*e)/1e4;r=e(r||t.tileInfo.lods[0].scale),n=e(n||t.tileInfo.lods[t.tileInfo.lods.length-1].scale);for(const i of t.tileInfo.lods){const t=e(i.scale);s=t>=r?i.level:s,o=t>=n?i.level:o}}if(l)return new h.d({layer:this,minLOD:s,maxLOD:o});if(t.tileInfo){const e=new a.A;return e.read(t.tileInfo,i),new c.A(e,s,o)}return null}};return(0,l._)([(0,s.MZ)({json:{read:{source:"copyrightText"}}})],i.prototype,"copyright",void 0),(0,l._)([(0,s.MZ)()],i.prototype,"minScale",void 0),(0,l._)([(0,o.w)("service","minScale")],i.prototype,"readMinScale",null),(0,l._)([(0,s.MZ)()],i.prototype,"maxScale",void 0),(0,l._)([(0,o.w)("service","maxScale")],i.prototype,"readMaxScale",null),(0,l._)([(0,s.MZ)({type:n.A})],i.prototype,"spatialReference",void 0),(0,l._)([(0,s.MZ)({readOnly:!0})],i.prototype,"supportsBlankTile",null),(0,l._)([(0,s.MZ)({type:a.A})],i.prototype,"tileInfo",void 0),(0,l._)([(0,s.MZ)()],i.prototype,"tilemapCache",void 0),(0,l._)([(0,o.w)("service","tilemapCache",["capabilities","tileInfo"])],i.prototype,"readTilemapCache",null),(0,l._)([(0,s.MZ)()],i.prototype,"version",void 0),i=(0,l._)([(0,r.$)("esri.layers.mixins.ArcGISCachedService")],i),i}},91806:(e,t,i)=>{i.d(t,{A:()=>c});var l,s=i(90237),o=i(25482),r=i(10107),n=i(56507),a=(i(44208),i(87811),i(40608));let c=class extends o.A{static{l=this}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 l({cols:this.cols,level:this.level,levelValue:this.levelValue,resolution:this.resolution,rows:this.rows,scale:this.scale})}};(0,s._)([(0,r.MZ)({json:{write:!0,origins:{"web-document":{read:!1,write:!1},"portal-item":{read:!1,write:!1}}}})],c.prototype,"cols",void 0),(0,s._)([(0,r.MZ)({type:n.jz,json:{write:!0}})],c.prototype,"level",void 0),(0,s._)([(0,r.MZ)({type:String,json:{write:!0}})],c.prototype,"levelValue",void 0),(0,s._)([(0,r.MZ)({json:{write:!0,origins:{"web-document":{read:!1,write:!1},"portal-item":{read:!1,write:!1}}}})],c.prototype,"origin",void 0),(0,s._)([(0,r.MZ)({type:Number,json:{write:!0}})],c.prototype,"resolution",void 0),(0,s._)([(0,r.MZ)({json:{write:!0,origins:{"web-document":{read:!1,write:!1},"portal-item":{read:!1,write:!1}}}})],c.prototype,"rows",void 0),(0,s._)([(0,r.MZ)({type:Number,json:{write:!0}})],c.prototype,"scale",void 0),c=l=(0,s._)([(0,a.$)("esri.layers.support.LOD")],c)}}]);