@arcgis/core 6.0.0-next.7 → 6.0.0-next.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/arcade/featureSetUtils.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{85908e6e9c50749cee60.js → 037a8cc19debbaaa4e10.js} +1 -1
- package/assets/esri/core/workers/chunks/066550852483ab8f77bc.js +1 -0
- package/assets/esri/core/workers/chunks/0f725cf79ce00e790a7d.js +1 -0
- package/assets/esri/core/workers/chunks/12a7997a40c77f5c9160.js +1 -0
- package/assets/esri/core/workers/chunks/1b077c92345ffb5916c2.js +1 -0
- package/assets/esri/core/workers/chunks/{6dd0b79fa3a629ab4f27.js → 1bca39e0e651426bdbb5.js} +1 -1
- package/assets/esri/core/workers/chunks/1c0c5cb13c2590aae906.js +1 -0
- package/assets/esri/core/workers/chunks/1e0d2715d603f48a7e0b.js +1 -0
- package/assets/esri/core/workers/chunks/2686fe5b62dd0be699c0.js +1 -0
- package/assets/esri/core/workers/chunks/2a97268000c6d03ef720.js +1 -0
- package/assets/esri/core/workers/chunks/2d9a1f23ec6ce90723ac.js +1 -0
- package/assets/esri/core/workers/chunks/2e2e33ec50e97b91b178.js +1 -0
- package/assets/esri/core/workers/chunks/{7a05b18f655c1167ce0a.js → 2ef5237e4c876d6a4ee0.js} +1 -1
- package/assets/esri/core/workers/chunks/{776ae25a34352d3468bc.js → 3081ee6d8019494fc21e.js} +1 -1
- package/assets/esri/core/workers/chunks/37d6a264a3f1d8072aa0.js +1 -0
- package/assets/esri/core/workers/chunks/3b3e519f15ed52c83f0c.js +1 -0
- package/assets/esri/core/workers/chunks/3c0ed15b544df6fb0903.js +1 -0
- package/assets/esri/core/workers/chunks/3df5500a85345577480a.js +1 -0
- package/assets/esri/core/workers/chunks/{801e9e66edb4961461eb.js → 40a584cb952e94326e9e.js} +1 -1
- package/assets/esri/core/workers/chunks/{1ba0dfbe0958cdbd7c9f.js → 42fd2a7b22b03dacc6a7.js} +1 -1
- package/assets/esri/core/workers/chunks/444e5f214abce3d607cd.js +1 -0
- package/assets/esri/core/workers/chunks/{d201fbf3ceff946d2bd6.js → 44d5508042cacdfcac47.js} +1 -1
- package/assets/esri/core/workers/chunks/4503b20ca6a80fb63d72.js +1 -0
- package/assets/esri/core/workers/chunks/45367aa8e5c5d574de94.js +1 -0
- package/assets/esri/core/workers/chunks/45800373650fbc8262e6.js +1 -0
- package/assets/esri/core/workers/chunks/{6a7ab1ef9a37e87db5ae.js → 46a7da93a63663878583.js} +1 -1
- package/assets/esri/core/workers/chunks/{f43a50d4bd9636e68ae5.js → 46b4fb6a7fe4877b0efc.js} +63 -61
- package/assets/esri/core/workers/chunks/47d074136a7f8e551a9a.js +1 -0
- package/assets/esri/core/workers/chunks/{257910cca66dc5df465e.js → 4911ce62421a6c3320b0.js} +1 -1
- package/assets/esri/core/workers/chunks/4a1e23e021bac37a88ab.js +1 -0
- package/assets/esri/core/workers/chunks/4a6b92ecbb1f1c55cc43.js +1 -0
- package/assets/esri/core/workers/chunks/4debf2d9c3465250ef7a.js +1 -0
- package/assets/esri/core/workers/chunks/4e544de61f07ca660236.js +1 -0
- package/assets/esri/core/workers/chunks/4e8e322b469657ac22e2.js +1 -0
- package/assets/esri/core/workers/chunks/54b18559280a7d2a8d93.js +1 -0
- package/assets/esri/core/workers/chunks/567a65f4203f6e81f4b4.js +1 -0
- package/assets/esri/core/workers/chunks/5c7780f804d789cb37f5.js +1 -0
- package/assets/esri/core/workers/chunks/606ea251075fe81a1206.js +1 -0
- package/assets/esri/core/workers/chunks/{ceb680688fe7e570a774.js → 608be1172a908e92b9f1.js} +1 -1
- package/assets/esri/core/workers/chunks/{6f358116f79021ff9687.js → 612104dff305ff062dfa.js} +2 -2
- package/assets/esri/core/workers/chunks/6299be5e7e26bf3c6859.js +1 -0
- package/assets/esri/core/workers/chunks/6400446b7615b97c3521.js +1 -0
- package/assets/esri/core/workers/chunks/6431480ba0fa8c8d487f.js +1 -0
- package/assets/esri/core/workers/chunks/68be3fb88ca61f82fb90.js +1 -0
- package/assets/esri/core/workers/chunks/6c9266120d46e8c69dbf.js +1 -0
- package/assets/esri/core/workers/chunks/6c9acd9e4e201dc380e9.js +1 -0
- package/assets/esri/core/workers/chunks/709e019885822b1f6f3e.js +1 -0
- package/assets/esri/core/workers/chunks/7449568eb2305bf2d650.js +1 -0
- package/assets/esri/core/workers/chunks/745a153d0cd34faa124e.js +1 -0
- package/assets/esri/core/workers/chunks/7572c2bc5062e66f6330.js +1 -0
- package/assets/esri/core/workers/chunks/78472a57c2ba146fec65.js +1 -0
- package/assets/esri/core/workers/chunks/7f0f9dddc44b1f1600f0.js +1 -0
- package/assets/esri/core/workers/chunks/{56a24061589f4a968818.js → 814751e705c05099f864.js} +1 -1
- package/assets/esri/core/workers/chunks/8293600f94553afc8c38.js +1 -0
- package/assets/esri/core/workers/chunks/836bb3673ab30fc66f1e.js +1 -0
- package/assets/esri/core/workers/chunks/8487727f1197cf7dbf50.js +1 -0
- package/assets/esri/core/workers/chunks/{4d3f97a48046021713a6.js → 88e54449261ef94e390d.js} +1 -1
- package/assets/esri/core/workers/chunks/8b0d5551978ab0aac0d1.js +1 -0
- package/assets/esri/core/workers/chunks/8bea0d706ede6f84f8aa.js +1 -0
- package/assets/esri/core/workers/chunks/8d0c2de92770a1567536.js +1 -0
- package/assets/esri/core/workers/chunks/900181f68449d8f82eeb.js +1 -0
- package/assets/esri/core/workers/chunks/939942b00ba380e2957e.js +1 -0
- package/assets/esri/core/workers/chunks/{c76c42c74eedd43263d3.js → 9dd1fc56eb1ea6eb705e.js} +1 -1
- package/assets/esri/core/workers/chunks/{86a051e9fe71aa356108.js → 9e3e442a9874ed23a043.js} +1 -1
- package/assets/esri/core/workers/chunks/a40b6d8b5c73e06e14d4.js +1 -0
- package/assets/esri/core/workers/chunks/{1ba1f705b6ce5c8ea702.js → a655ebdb4bf0660615a2.js} +1 -1
- package/assets/esri/core/workers/chunks/aaba33611753c6aada68.js +1 -0
- package/assets/esri/core/workers/chunks/aeaaff7a4b1a99540f52.js +1 -0
- package/assets/esri/core/workers/chunks/af349c7bc8ef41a0e1bd.js +1 -0
- package/assets/esri/core/workers/chunks/{ecaac39dde7ec4213264.js → af75747b06d79446a855.js} +1 -1
- package/assets/esri/core/workers/chunks/b564ec4e03478f5659db.js +1 -0
- package/assets/esri/core/workers/chunks/bc0f54a2c15502b630ec.js +1 -0
- package/assets/esri/core/workers/chunks/c1c534e08fc21842670b.js +1 -0
- package/assets/esri/core/workers/chunks/{9ab25ee06041f907b9a2.js → c2c1f51a4668055c2838.js} +1 -1
- package/assets/esri/core/workers/chunks/c337fc0e6dc69c233e6d.js +1 -0
- package/assets/esri/core/workers/chunks/{a7985d20fa6e8d4878e7.js → d0f5bee9db1ad51ae687.js} +1 -1
- package/assets/esri/core/workers/chunks/d6ad4390df576198e45b.js +1 -0
- package/assets/esri/core/workers/chunks/dba280c370df13196711.js +1 -0
- package/assets/esri/core/workers/chunks/{c18189710d6198516175.js → de5ecb567bd69c613e9d.js} +1 -1
- package/assets/esri/core/workers/chunks/{534186fc921a0ccf58dc.js → e1f5d00878f27e1d413e.js} +1 -1
- package/assets/esri/core/workers/chunks/e65dfa19f030ec298437.js +1 -0
- package/assets/esri/core/workers/chunks/e932951598499befabf5.js +1 -0
- package/assets/esri/core/workers/chunks/f122c18af10e56f9ec2b.js +1 -0
- package/assets/esri/core/workers/chunks/f1df76f098a3cc924832.js +1 -0
- package/assets/esri/core/workers/chunks/f1f90adae13b04898008.js +1 -0
- package/assets/esri/core/workers/chunks/f4f9d08b2df856e3b694.js +1 -0
- package/assets/esri/core/workers/chunks/{711cfb84659cb4437679.js → f528ac5c648ca6a98582.js} +1 -1
- package/assets/esri/core/workers/chunks/f92364afaefbac7e8f77.js +1 -0
- package/assets/esri/core/workers/chunks/fc44227c1756f65b95df.js +1 -0
- package/assets/esri/core/workers/chunks/{72019baeba520edb6bb0.js → fc44d45598a7476bc606.js} +1 -1
- package/assets/esri/themes/base/_mixins.scss +2 -2
- package/assets/esri/themes/base/widgets/_Attribution.scss +1 -1
- package/assets/esri/themes/base/widgets/_BasemapLayerList.scss +2 -2
- package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +5 -5
- package/assets/esri/themes/base/widgets/_Bookmarks.scss +1 -1
- package/assets/esri/themes/base/widgets/_BuildingLevelPicker.scss +2 -2
- package/assets/esri/themes/base/widgets/_BuildingPhasePicker.scss +5 -5
- package/assets/esri/themes/base/widgets/_CatalogLayerList.scss +1 -1
- package/assets/esri/themes/base/widgets/_Compass.scss +0 -2
- package/assets/esri/themes/base/widgets/_DirectionalPad.scss +4 -10
- package/assets/esri/themes/base/widgets/_Directions.scss +40 -40
- package/assets/esri/themes/base/widgets/_Editor.scss +7 -7
- package/assets/esri/themes/base/widgets/_Expand.scss +1 -1
- package/assets/esri/themes/base/widgets/_Feature.scss +1 -1
- package/assets/esri/themes/base/widgets/_FeatureForm.scss +6 -6
- package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationLayers.scss +1 -1
- package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationList.scss +1 -1
- package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationSettings.scss +3 -3
- package/assets/esri/themes/base/widgets/_FeatureTable.scss +27 -27
- package/assets/esri/themes/base/widgets/_FeatureTemplates.scss +1 -1
- package/assets/esri/themes/base/widgets/_Features.scss +5 -5
- package/assets/esri/themes/base/widgets/_FilterBuilder.scss +1 -1
- package/assets/esri/themes/base/widgets/_FilterCondition.scss +1 -1
- package/assets/esri/themes/base/widgets/_Grid.scss +18 -18
- package/assets/esri/themes/base/widgets/_GridControls.scss +11 -11
- package/assets/esri/themes/base/widgets/_LayerList.scss +1 -1
- package/assets/esri/themes/base/widgets/_Legend.scss +5 -5
- package/assets/esri/themes/base/widgets/_NavigationToggle.scss +4 -1
- package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +18 -19
- package/assets/esri/themes/base/widgets/_ResponsiveToolbar.scss +0 -2
- package/assets/esri/themes/base/widgets/_SearchResultRenderer.scss +1 -1
- package/assets/esri/themes/base/widgets/_SelectionList.scss +15 -15
- package/assets/esri/themes/base/widgets/_SelectionToolbar.scss +2 -2
- package/assets/esri/themes/base/widgets/_ShadowCast.scss +11 -11
- package/assets/esri/themes/base/widgets/_Sketch.scss +1 -1
- package/assets/esri/themes/base/widgets/_Slice.scss +3 -3
- package/assets/esri/themes/base/widgets/_SnappingControls.scss +1 -1
- package/assets/esri/themes/base/widgets/_TimeSlider.scss +5 -5
- package/assets/esri/themes/base/widgets/_TimeZoneLabel.scss +5 -4
- package/assets/esri/themes/base/widgets/_Tooltip.scss +14 -17
- package/assets/esri/themes/base/widgets/_UtilityNetworkAssociations.scss +2 -2
- package/assets/esri/themes/base/widgets/_UtilityNetworkTrace.scss +1 -1
- package/assets/esri/themes/base/widgets/_UtilityNetworkValidateTopology.scss +2 -2
- package/assets/esri/themes/base/widgets/_ValuePicker.scss +2 -2
- package/assets/esri/themes/base/widgets/_VideoPlayer.scss +5 -5
- package/assets/esri/themes/base/widgets/_Widget.scss +5 -1
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/chunks/AtmosphereCompositing.glsl.js +1 -1
- package/chunks/ChapmanAtmosphere.glsl.js +3 -3
- package/chunks/CloudsComposition.glsl.js +1 -1
- package/chunks/Component.glsl.js +41 -41
- package/chunks/DefaultMaterial.glsl.js +2 -2
- package/chunks/EdgeShader.glsl.js +9 -9
- package/chunks/Fog.glsl.js +5 -5
- package/chunks/GaussianSplat.glsl.js +2 -2
- package/chunks/GlobalIllumination.glsl.js +9 -9
- package/chunks/HUDMaterial.glsl.js +13 -13
- package/chunks/Haze.glsl.js +6 -6
- package/chunks/HazeCompositing.glsl.js +1 -1
- package/chunks/LaserlinePath.glsl.js +6 -6
- package/chunks/LineCallout.glsl.js +1 -1
- package/chunks/LineMarker.glsl.js +5 -5
- package/chunks/NavigationDepth.glsl.js +2 -2
- package/chunks/Path.glsl.js +1 -1
- package/chunks/Pattern.glsl.js +26 -26
- package/chunks/Precipitation.glsl.js +7 -7
- package/chunks/RealisticTree.glsl.js +2 -2
- package/chunks/RibbonLine.glsl.js +60 -60
- package/chunks/ShadowCastAccumulate.glsl.js +1 -1
- package/chunks/ShadowHighlight.glsl.js +5 -5
- package/chunks/ShadowHighlightBuffer.glsl.js +1 -1
- package/chunks/SimpleAtmosphere.glsl.js +4 -4
- package/chunks/Terrain.glsl.js +29 -32
- package/chunks/Viewshed.glsl.js +2 -2
- package/chunks/Water.glsl.js +2 -2
- package/config.js +1 -1
- package/core/Loadable.js +1 -1
- package/form/elements/inputs/DynamicChoiceInput.d.ts +35 -5
- package/geometry/HeightModelInfo.js +1 -1
- package/geometry/support/meshUtils.d.ts +1 -1
- package/geometry/support/scaleUtils.js +1 -1
- package/kernel.js +1 -1
- package/layers/BaseDynamicLayer.d.ts +1 -0
- package/layers/BaseElevationLayer.d.ts +2 -0
- package/layers/BaseTileLayer.d.ts +12 -9
- package/layers/CSVLayer.d.ts +0 -15
- package/layers/FeatureLayer.d.ts +2 -15
- package/layers/GeoJSONLayer.d.ts +0 -52
- package/layers/GeoRSSLayer.d.ts +0 -44
- package/layers/ParquetLayer.d.ts +93 -12
- package/layers/ParquetLayer.js +1 -1
- package/layers/SketchLayer.d.ts +0 -1
- package/layers/VectorTileLayer.d.ts +2 -12
- package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
- package/layers/mixins/PortalLayer.js +1 -1
- package/layers/mixins/RefreshableLayer.d.ts +1 -3
- package/layers/mixins/ScaleRangeLayer.js +1 -1
- package/layers/mixins/SublayersOwner.js +1 -1
- package/layers/raster/datasets/GeospatialPDFRaster.js +1 -1
- package/layers/raster/datasets/TIFFRaster.js +1 -1
- package/layers/raster/formats/tiffParser.js +1 -1
- package/layers/support/ParquetPortalItemData.d.ts +2 -0
- package/layers/support/ParquetPortalItemData.js +1 -1
- package/layers/support/PortalItemData.d.ts +21 -0
- package/layers/support/PortalItemData.js +1 -1
- package/layers/support/Sublayer.js +1 -1
- package/layers/support/SubtypeSublayer.js +1 -1
- package/layers/support/layersLoader.js +1 -1
- package/layers/support/parquetUtils.d.ts +1 -1
- package/layers/support/types.d.ts +1 -1
- package/package.json +2 -2
- package/popup/FeaturesModel.d.ts +27 -6
- package/popup/FeaturesModel.js +1 -1
- package/portal/support/layersLoader.js +1 -1
- package/portal/support/portalLayers.js +1 -1
- package/rest/print.js +1 -1
- package/rest/support/printTaskUtils.js +1 -1
- package/symbols/cim/CIMSymbolHelper.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/hittestUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
- package/views/2d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles2D.js +1 -1
- package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
- package/views/2d/layers/LayerView2D.js +1 -1
- package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
- package/views/2d/layers/features/sources/FeatureSource.js +1 -1
- package/views/2d/layers/features/sources/FeatureSourceQueryInfo.js +1 -1
- package/views/2d/layers/features/sources/strategies/ParquetTileLoadStrategy.js +1 -1
- package/views/3d/analysis/ShadowCast/ShadowCastTooltip.js +1 -1
- package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedPlacementController.js +1 -1
- package/views/3d/analysis/Viewshed/types.d.ts +3 -1
- package/views/3d/environment/Environment.d.ts +2 -2
- package/views/3d/environment/Environment.js +1 -1
- package/views/3d/environment/EnvironmentView.js +2 -0
- package/views/3d/interactive/editingTools/originGeometryVisualElementUtils.js +1 -1
- package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
- package/views/3d/layers/BuildingSceneLayerView3D.js +1 -1
- package/views/3d/layers/DynamicLayerView3D.js +1 -1
- package/views/3d/layers/FeatureLikeLayerViewBase3D.js +1 -1
- package/views/3d/layers/FlowSubView3D.js +1 -1
- package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
- package/views/3d/layers/GraphicsLayerView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
- package/views/3d/layers/MediaLayerView3D.js +1 -1
- package/views/3d/layers/PointCloudLayerView3D.js +1 -1
- package/views/3d/layers/RouteLayerView3D.js +1 -1
- package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
- package/views/3d/layers/SceneLayerView3D.js +1 -1
- package/views/3d/layers/TiledLayerView3D.js +1 -1
- package/views/3d/layers/VoxelLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Deconflictor.js +1 -1
- package/views/3d/layers/graphics/ElevationAligners.js +1 -1
- package/views/3d/layers/graphics/Graphics3DBufferGraphicLayer.js +2 -0
- package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
- package/views/3d/layers/graphics/Graphics3DDrapedBufferGraphicLayer.js +2 -0
- package/views/3d/layers/graphics/Graphics3DDrapedGraphicLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DDrapedGraphicLayerBase.js +2 -0
- package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
- package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DScaleVisibility.js +1 -1
- package/views/3d/layers/graphics/Graphics3DStageObjectGraphicLayer.js +2 -0
- package/views/3d/layers/graphics/Graphics3DSymbol.js +1 -1
- package/views/3d/layers/graphics/LabelInfo.js +1 -1
- package/views/3d/layers/graphics/Labeler.js +1 -1
- package/views/3d/layers/graphics/elevationAlignmentUtils.js +1 -1
- package/views/3d/layers/graphics/pointUtils.js +1 -1
- package/views/3d/layers/support/FeatureTile.js +1 -1
- package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
- package/views/3d/layers/support/SampledGeometryMaxDistanceRatio.js +1 -1
- package/views/3d/support/popupHitTest.js +1 -1
- package/views/3d/terrain/OverlayManager.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/Component.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/Laserline.glsl.js +5 -5
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +13 -13
- package/views/3d/webgl-engine/core/shaderLibrary/bindUniforms.js +2 -0
- package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/lastFrameUniforms.js +2 -0
- package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js +7 -7
- package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +29 -27
- package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +4 -4
- package/views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js +14 -14
- package/views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceRayMarching.glsl.js +5 -5
- package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterColor.glsl.js +8 -8
- package/views/3d/webgl-engine/core/shaderLibrary/shading/evaluateSceneLightingFragment.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js +2 -0
- package/views/3d/webgl-engine/core/shaderLibrary/shading/pbrGlobals.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js +6 -6
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js +1 -1
- package/views/3d/webgl-engine/effects/WeatherFader.js +1 -1
- package/views/3d/webgl-engine/effects/atmosphere/ChapmanApproximation.glsl.js +3 -3
- package/views/3d/webgl-engine/effects/atmosphere/ChapmanAtmosphere.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/atmosphere/ChapmanRaymarching.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/atmosphere/SimpleAtmosphere.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/clouds/CloudsComposition.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/clouds/CloudsComposition.js +1 -1
- package/views/3d/webgl-engine/effects/fog/Fog.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/fog/Fog.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/glow/applyEmissiveGlow.glsl.js +5 -5
- package/views/3d/webgl-engine/effects/haze/Haze.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/haze/HazeCompositing.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/ShadowHighlightBuffer.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/laserlines/LaserlinePath.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/raymarching/DistanceFalloff.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastAccumulate.glsl.js +1 -1
- package/views/3d/webgl-engine/lib/BufferGeometry.js +1 -1
- package/views/3d/webgl-engine/lib/BufferObject3D.js +1 -1
- package/views/3d/webgl-engine/lib/EmissionComposite.js +1 -1
- package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/affectsGeometry.js +1 -1
- package/views/3d/webgl-engine/lib/bufferGeometryUtils.js +2 -0
- package/views/3d/webgl-engine/lib/edgeRendering/AdjustProjectedPosition.glsl.js +5 -5
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeShader.glsl.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeUtil.glsl.js +11 -11
- package/views/3d/webgl-engine/materials/Path.glsl.js +1 -1
- package/views/3d/webgl-engine/materials/Water.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/AtmosphereCompositing.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/LineCallout.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Pattern.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/SphereDepthInterpolate.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Viewshed.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/lineUniforms.js +2 -0
- package/views/DOMContainer.d.ts +27 -9
- package/views/DOMContainer.js +1 -1
- package/views/PopupView.d.ts +6 -0
- package/views/SceneView.js +1 -1
- package/views/VideoView.d.ts +27 -9
- package/views/View.d.ts +16 -7
- package/views/View.js +1 -1
- package/views/View2D.d.ts +1 -1
- package/views/interactive/snapping/FeatureSnappingSourceInfo.js +1 -1
- package/views/interactive/snapping/SnappingManagerPool.js +1 -1
- package/views/interactive/snapping/SnappingOptions.d.ts +1 -1
- package/views/interactive/tooltip/components/ElevationModeSelect.js +1 -1
- package/views/interactive/tooltip/components/TooltipEditableField.js +1 -1
- package/views/layers/FeatureLikeLayerView.d.ts +1 -2
- package/views/layers/LayerView.js +1 -1
- package/views/layers/LineOfSightLayerView.d.ts +3 -4
- package/views/layers/ParquetLayerView.d.ts +15 -0
- package/views/layers/ParquetLayerView.js +1 -1
- package/views/layers/ViewshedLayerView.d.ts +5 -6
- package/views/support/layerViewUtils.js +1 -1
- package/webdoc/support/saveUtils.js +1 -1
- package/webdoc/support/unsupportedErrors.js +1 -1
- package/widgets/Editor.d.ts +10 -0
- package/widgets/FeatureForm.d.ts +2 -2
- package/widgets/Legend.d.ts +1 -0
- package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
- package/widgets/support/SnappingControls.d.ts +1 -1
- package/assets/esri/core/workers/chunks/00a600c71ceebe7bfeee.js +0 -1
- package/assets/esri/core/workers/chunks/00d24415bdeb0adae3df.js +0 -1
- package/assets/esri/core/workers/chunks/0193df3f9fb23633da87.js +0 -1
- package/assets/esri/core/workers/chunks/05963f57cbe5a5249496.js +0 -1
- package/assets/esri/core/workers/chunks/06e7400f5ebe0719b81c.js +0 -1
- package/assets/esri/core/workers/chunks/07aa6d36f1006b6ab7ff.js +0 -1
- package/assets/esri/core/workers/chunks/0b36abcbf03037b4073d.js +0 -1
- package/assets/esri/core/workers/chunks/122111703528381539cc.js +0 -1
- package/assets/esri/core/workers/chunks/1ef39aef6b33c530cbe4.js +0 -1
- package/assets/esri/core/workers/chunks/2164fcaced72b0fda31f.js +0 -1
- package/assets/esri/core/workers/chunks/25b0885d3bc190b28c04.js +0 -1
- package/assets/esri/core/workers/chunks/25d6c674b1c4829f040f.js +0 -1
- package/assets/esri/core/workers/chunks/25e6013e2c095629b236.js +0 -1
- package/assets/esri/core/workers/chunks/27da9ece2afaeec39f59.js +0 -1
- package/assets/esri/core/workers/chunks/2c90f7a6432cd716db8b.js +0 -1
- package/assets/esri/core/workers/chunks/2e6a2f4d686b71249c0e.js +0 -1
- package/assets/esri/core/workers/chunks/2f9033890c465acff698.js +0 -1
- package/assets/esri/core/workers/chunks/303fde8f3459dde16555.js +0 -1
- package/assets/esri/core/workers/chunks/347bf269c2b1583d2dca.js +0 -1
- package/assets/esri/core/workers/chunks/350540770781b281c39a.js +0 -1
- package/assets/esri/core/workers/chunks/3b017b718ea2d4ed498f.js +0 -1
- package/assets/esri/core/workers/chunks/43fc42405167a5537039.js +0 -1
- package/assets/esri/core/workers/chunks/4cddd217383b9333f32e.js +0 -1
- package/assets/esri/core/workers/chunks/4d82db661365daa513a6.js +0 -1
- package/assets/esri/core/workers/chunks/4fa59f8ed3b7b6239548.js +0 -1
- package/assets/esri/core/workers/chunks/518e8883b6ed613bf451.js +0 -1
- package/assets/esri/core/workers/chunks/5e4d6c283c2fa28db022.js +0 -1
- package/assets/esri/core/workers/chunks/5ea8809b6519c05ad9f6.js +0 -1
- package/assets/esri/core/workers/chunks/604344e45c0f27497188.js +0 -1
- package/assets/esri/core/workers/chunks/633a9051580c5302d2f7.js +0 -1
- package/assets/esri/core/workers/chunks/6469c0d18d3663e7da4b.js +0 -1
- package/assets/esri/core/workers/chunks/64770e2cf41211b63fd2.js +0 -1
- package/assets/esri/core/workers/chunks/669e39c3437d7273f0c7.js +0 -1
- package/assets/esri/core/workers/chunks/7038ead1fa1674416ab3.js +0 -1
- package/assets/esri/core/workers/chunks/7165d6f6a5078768bebb.js +0 -1
- package/assets/esri/core/workers/chunks/71f739bb3f7350704af6.js +0 -1
- package/assets/esri/core/workers/chunks/798a63653f82c0e842c5.js +0 -1
- package/assets/esri/core/workers/chunks/8313c626596a76c7449d.js +0 -1
- package/assets/esri/core/workers/chunks/841f67baf6a1634ada48.js +0 -1
- package/assets/esri/core/workers/chunks/84e9258a57d8c365f361.js +0 -1
- package/assets/esri/core/workers/chunks/84fcbf7a1d04f01685d1.js +0 -1
- package/assets/esri/core/workers/chunks/87b4e916b2668203a6b0.js +0 -1
- package/assets/esri/core/workers/chunks/8e511079918e2fd9261f.js +0 -1
- package/assets/esri/core/workers/chunks/8fcfd515ee1b18c902e5.js +0 -1
- package/assets/esri/core/workers/chunks/9001e9a1e81bce175ddd.js +0 -1
- package/assets/esri/core/workers/chunks/95b82cbbe355266c65d7.js +0 -1
- package/assets/esri/core/workers/chunks/9673a9efec86040b8c13.js +0 -1
- package/assets/esri/core/workers/chunks/97dbbedea9fe03bd1306.js +0 -1
- package/assets/esri/core/workers/chunks/9a7fc93cc693fd12b5d8.js +0 -1
- package/assets/esri/core/workers/chunks/9c0fd8baa00ee9733ba4.js +0 -1
- package/assets/esri/core/workers/chunks/a010d2e4e34eb7bc1fec.js +0 -1
- package/assets/esri/core/workers/chunks/a20526996d01386ec3b7.js +0 -1
- package/assets/esri/core/workers/chunks/a7edf7541569fef77cb3.js +0 -1
- package/assets/esri/core/workers/chunks/ac4cc49104d26c384e98.js +0 -1
- package/assets/esri/core/workers/chunks/b05a41a60e30935644be.js +0 -1
- package/assets/esri/core/workers/chunks/b1008bdfca995ebf98ed.js +0 -1
- package/assets/esri/core/workers/chunks/bfd85e8d54062a590f0e.js +0 -1
- package/assets/esri/core/workers/chunks/d21257d2e2a37266c0f7.js +0 -1
- package/assets/esri/core/workers/chunks/d270cc9807161033686e.js +0 -1
- package/assets/esri/core/workers/chunks/d4926545193414cf2f16.js +0 -1
- package/assets/esri/core/workers/chunks/da18d96b35af20e73b3b.js +0 -1
- package/assets/esri/core/workers/chunks/df0481bcc1613ee4b7af.js +0 -1
- package/assets/esri/core/workers/chunks/ec28e18275d36e71b438.js +0 -1
- package/assets/esri/core/workers/chunks/ec9a2425b4a498054a19.js +0 -1
- package/assets/esri/core/workers/chunks/f05de08e194a3f9b96f2.js +0 -1
- package/assets/esri/core/workers/chunks/f0a68d2900d24f56afa0.js +0 -1
- package/assets/esri/core/workers/chunks/f762f70e7d39634ce797.js +0 -1
- package/assets/esri/core/workers/chunks/fb4ff0ac2bc445fec413.js +0 -1
- package/assets/esri/core/workers/chunks/fd0254c6fc6c03ec11ba.js +0 -1
- package/assets/esri/core/workers/chunks/fd0a5c243f3426f2a0b5.js +0 -1
- package/views/3d/environment/EnvironmentManager.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1003],{1003(e,t,i){i.r(t),i.d(t,{default:()=>me});var a=i(49186),r=i(32198),s=i(91429),n=i(49859),l=i(68197),o=i(5443),f=i(16930),u=i(73444),h=i(94778),c=i(14140);function p(e){return["x","e","east","long","longitude"].includes(e.toLowerCase())}function d(e){return["y","n","west","lat","latitude"].includes(e.toLowerCase())}function m(e){let{axes:t}=e.domain,i=Object.keys(t),a=[],r=[],s=-1,n=-1,l=[];for(let e=0;e<i.length;e++){let o=i[e];p(o)?s=e:d(o)&&(n=e);let f=t[o],u=[];if("values"in f){f.values.forEach(e=>u.push("string"==typeof e?new Date(e).getTime():e));let e=u[1]-u[0];a.push([u[0]-.5*e,u[u.length-1]+.5*e]),r.push(e)}else{let{start:e,stop:t,num:i}=f,s=(t-e)/(i-1);a.push([e-.5*s,t+.5*s]),r.push(s);for(let t=0;t<i;t++)u.push(e+s*t)}l.push({name:o,values:u,extent:[u[0],u[u.length-1]]})}s>-1&&-1===n?n=+(0===s):n>-1&&-1===s?s=+(0===n):-1===n&&-1===s&&(s=0,n=1),l=l.filter((e,t)=>t!==s&&t!==n);let{referencing:u}=e.domain,h=u.find(e=>e.coordinates.includes(i[s])).system.id,c=h?.slice(h.lastIndexOf("/")+1),m=null==c||"CRS84"===c?4326:Number(c),g=new f.A({wkid:m}),[y,x]=a[s],[w,I]=a[n],b=new o.A({xmin:y,xmax:x,ymin:w,ymax:I,spatialReference:g});return{width:Math.round(b.width/r[s]),height:Math.round(b.height/r[n]),extent:b,dimensions:l}}function g(e){let t=(0,u.lR)();return t?e[t]??Object.values(e)[0]:Object.values(e)[0]}function y(){return Math.round(255*Math.random())}function x(e){let t={},{parameters:i}=e;if(!i)return t;for(let[e,a]of Object.entries(i)){let{type:i,description:r,unit:s,categoryEncoding:n,observedProperty:o}=a;if("Parameter"===i&&(t[e]={},r&&(t[e].description=g(r)),s&&(t[e].unit=s.label?g(s.label):null,t[e].symbol=s.symbol?.value),n)){let i=Object.entries(n).map((e,t)=>({OID:t,Value:Number(e[1]),ClassName:e[0].slice(e[0].lastIndexOf("/")+1),Count:1})),a=!1;o?.categories?.length&&(o.categories.forEach(e=>{if(!e.id)return;let t=e.id.slice(e.id.lastIndexOf("/")+1),r=i.find(e=>e.ClassName===t);if(r&&(r.Label=e.label?g(e.label):null,e.preferredColor)){let t=l.A.fromHex(e.preferredColor);t&&(a=!0,r.Red=t.r,r.Green=t.g,r.Blue=t.b)}}),a&&i.forEach(e=>{e.Red??(e.Red=y(),e.Green=y(),e.Blue=y())}));let r={objectIdFieldName:"",fields:[{name:"OID",type:"esriFieldTypeOID",alias:"OID",domain:null},{name:"Value",type:"esriFieldTypeInteger",alias:"Value",domain:null},{name:"Count",type:"esriFieldTypeDouble",alias:"Count",domain:null},{name:"ClassName",type:"esriFieldTypeString",alias:"ClassName",domain:null,length:50},{name:"Label",type:"esriFieldTypeString",alias:"Label",domain:null,length:50}],features:i.map(e=>({attributes:e}))};a&&r.fields.push({name:"Red",type:"esriFieldTypeInteger",alias:"Red",domain:null},{name:"Green",type:"esriFieldTypeInteger",alias:"Green",domain:null},{name:"Blue",type:"esriFieldTypeInteger",alias:"Blue",domain:null}),t[e].attributeTable=r}}return t}function w(e){let t=Number.MAX_VALUE,i=-Number.MAX_VALUE;for(let a=0;a<e.length;a++){let r=e[a];null!=r&&(r<t&&(t=r),r>i&&(i=r))}return(0,h.X1)(t,i)}function I(e,t,i){let a=e.map((e,i)=>({name:e,count:t[i]})).sort((e,t)=>e.name>t.name?-1:1),r=(e=>t=>e*=t.count)(1),s=[...a.slice(1),{name:"",count:1}].reverse().map(r).reverse(),n=0;for(let r=e.length-1;r>=0;r--){let l=a.findIndex(({name:t})=>t===e[r]);n+=s[l]*(i%t[r]),i=Math.floor(i/t[r])}return n}var b=i(17676),v=i(4366),C=i(47520),S=i(51927),T=i(45617),A=i(87186);let R=class extends n.A{constructor(){super(...arguments),this.datasetFormat="MEMORY",this.preGenerateTiles=!0,this.source=null}get url(){return""}fetchRawTile(e,t,i,a={}){if(!this._pixelBlockTiles){let{rasterInfo:r}=this,[s,n]=r.storageInfo.tileInfo.size,{sliceId:l}=a,{pixelBlocks:o}=this.source,f={pixelBlock:null==l?o[0]:o[l],useBilinear:"thematic"!==r.dataType,tileSize:{width:s,height:n},level:e,row:t,col:i},u=this.rasterJobHandler?this.rasterJobHandler.clipTile(f,a):(0,C.J$)(f);return Promise.resolve(u)}let r=this._pixelBlockTiles.get(`${e}/${t}/${i}`);return Promise.resolve(r)}async _open(e){let t=this.source,{pixelBlocks:i,attributeTable:a,statistics:r,histograms:s,name:n,nativeExtent:l,transform:u,colormap:h}=t,c=i[0],{width:p,height:d,pixelType:m}=c,g=t.extent??new o.A({xmin:-.5,ymin:.5,xmax:p-.5,ymax:d-.5,spatialReference:new f.A({wkid:3857})}),y=t.isPseudoSpatialReference??!t.extent,x={x:g.width/p,y:g.height/d},w={...t.keyProperties};t.dataType&&(w.DataType=t.dataType),t.bandInfos&&(w.BandProperties=t.bandInfos.map(e=>e.toJSON())),a&&(w.DataType="Thematic");let I=new A.A({width:p,height:d,pixelType:m,extent:g,nativeExtent:l,attributeTable:a,colormap:h,transform:u,pixelSize:x,spatialReference:g.spatialReference,bandCount:c.pixels.length,keyProperties:w,multidimensionalInfo:t.multidimensionalInfo,statistics:r,isPseudoSpatialReference:y,histograms:s});this.ioConfig.skipMapInfo&&this.updateImageSpaceRasterInfo(I),this.createRemoteDatasetStorageInfo(I,512,512),this._set("rasterInfo",I),this.updateTileInfo(),I.multidimensionalInfo?await this._buildMDimStats(t.pixelBlocks,I.multidimensionalInfo):this.preGenerateTiles&&await this._buildInMemoryRaster(c,{width:512,height:512},e),I.multidimensionalInfo||(this.source=null),this.datasetName=n}async _buildInMemoryRaster(e,t,i){let{rasterInfo:r}=this,s=r.storageInfo.maximumPyramidLevel??0,n="thematic"!==r.dataType,l=this.rasterJobHandler?this.rasterJobHandler.split({pixelBlock:e,tileSize:t,maximumPyramidLevel:s,useBilinear:n},i):Promise.resolve((0,C.lD)(e,t,s,n)),o=null!=r.statistics,f=null!=r.histograms,u=this.ioConfig.skipStatistics||o?Promise.resolve({statistics:null,histograms:null}):this.rasterJobHandler?this.rasterJobHandler.estimateStatisticsHistograms({pixelBlock:e},i):Promise.resolve((0,S.f4)(e)),h=await(0,b.Lx)([l,u]);if(!h[0].value&&h[1].value)throw new a.A("inmemory-raster:open","failed to build in memory raster");this._pixelBlockTiles=h[0].value,o||(r.statistics=h[1].value?.statistics),f||(r.histograms=h[1].value?.histograms)}async _buildMDimStats(e,t,i){for(let a=0;a<t.variables.length;a++){let r=t.variables[a];if(r.statistics)continue;let s=r.dimensions.map(e=>new T.A({variableName:r.name,dimensionName:e.name,values:[e.values?.[0]??e.extent?.[0]],isSlice:!0})),n=(0,v.NG)(s,t),l=null==n?null:e[n];if(null==l)continue;let o=this.rasterJobHandler?await this.rasterJobHandler.computeStatisticsHistograms({pixelBlock:l},i):(0,S.eH)(l);r.statistics=o.statistics,r.histograms||=o.histograms}}};(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],R.prototype,"datasetFormat",void 0),(0,r.Cg)([(0,s.MZ)({constructOnly:!0})],R.prototype,"preGenerateTiles",void 0),(0,r.Cg)([(0,s.MZ)()],R.prototype,"source",void 0),(0,r.Cg)([(0,s.MZ)()],R.prototype,"url",null),R=(0,r.Cg)([(0,s.$K)("esri.layers.raster.datasets.InMemoryRaster")],R);const M=R;var O=i(22671);let _=class extends n.A{constructor(){super(...arguments),this.datasetFormat="CovJSON"}fetchRawTile(e,t,i,a={}){return this._inMemoryRaster.fetchRawTile(e,t,i,a)}async _open(e){let{extent:t,pixelBlocks:i,multidimensionalInfo:a,attributeTable:r,bandNames:s}=await this._fetchData(e),{statistics:n,histograms:l}=(0,S.eH)(i[0]),o=s?.map(e=>({BandName:e})),f={DataType:r?"Thematic":a?"Scientific":"Generic",BandProperties:o},u=new M({source:{extent:t,pixelBlocks:i,attributeTable:r?O.A.fromJSON(r):null,multidimensionalInfo:a,statistics:n,histograms:l,keyProperties:f,isPseudoSpatialReference:!1}});await u.open(),this._inMemoryRaster=u;let h=this.source?"":this.url.slice(this.url.lastIndexOf("/")+1);this._set("datasetName",h.slice(0,h.indexOf("."))),this._set("rasterInfo",u.rasterInfo)}async _fetchData(e){let t=this.source??(await this.request(this.url,{signal:e?.signal})).data,i="imagery-tile-layer:open-coverage-json";if("coverage"!==t.type?.toLowerCase()||"grid"!==t.domain?.domainType?.toLowerCase())throw new a.A(i,"Only coverage with Grid domain type is supported");if(!t.ranges)throw new a.A(i,"Missing ranges in the grid coverage data");if(!t.domain.referencing?.length)throw new a.A(i,"Missing domain referencing in the grid coverage data");let r=Object.values(t.ranges);for(let e=0;e<r.length;e++){let{axisNames:t,shape:s,type:n,values:l}=r[e];if(!("ndarray"===n.toLowerCase()&&l?.length&&t?.length&&s?.length))throw new a.A(i,"Only ranges with valid NdArray, axisNames, shape, and inline values are supported");if(!p(t[t.length-1])||!d(t[t.length-2]))throw new a.A(i,"Only row-major ordered pixel values are supported. X axis must be the last axis.")}return function(e){let{width:t,height:i,extent:a,dimensions:r}=m(e),{ranges:s}=e,n=Object.keys(s).sort((e,t)=>e<t?-1:1),l=[];for(let e=0;e<n.length;e++){let t=n[e];r?.length&&l.push({name:t,dimensions:r})}let o=x(e);l.forEach(e=>o[e.name]&&Object.assign(e,o[e.name]));let f=l.length?{variables:l}:void 0,u=[];for(let e=0;e<n.length;e++){let{values:a,dataType:l,axisNames:o,shape:f}=s[n[e]],h=f.length>2?e*f.slice(0,-2).reduce((e,t)=>e*t):0,p=o.slice(0,-2),d=f.slice(0,-2),m="float"===l?"f32":w(a),g=t*i,y=a.length/g;for(let s=0;s<y;s++){let n=c.A.createEmptyBand(m,g),l=new Uint8Array(g).fill(255),o=!1,f=s*g;for(let e=0;e<g;e++){let t=a[f+e];null==t?(l[e]=0,o=!0):n[e]=t}if(0===e||r?.length){let e=new c.A({width:t,height:i,mask:o?l:null,pixels:[n],pixelType:m});e.updateStatistics(),r?.length?u[I(p,d,s)+h]=e:u.push(e)}else{let e=u[s];e.pixels.push(n),o?e.mask&&=c.A.combineBandMasks([e.mask,l]):e.mask=o?l:null}}}return{extent:a,pixelBlocks:u,multidimensionalInfo:f,attributeTable:Object.values(o).find(e=>e.attributeTable)?.attributeTable,bandNames:f?void 0:n}}(t)}};(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],_.prototype,"datasetFormat",void 0),(0,r.Cg)([(0,s.MZ)({constructOnly:!0})],_.prototype,"source",void 0),_=(0,r.Cg)([(0,s.$K)("esri.layers.raster.datasets.CovJSONRaster")],_);const k=_;var F=i(4576),B=i(21325),P=i(330),N=i(43163);function D(e,t){if(!e||!t)return null;let i=[];for(let a=0;a<e.length;a++)i.push(e[a]),i.push(t[a]);return i}function E(e){if(!e)return null;let t=Number(e);if(!isNaN(t)&&0!==t)return new f.A({wkid:t});if(e=String(e).trim(),(0,B.jp)(e))return new f.A({wkt2:e});let i=e.toUpperCase();if(i.startsWith("COMPD_CS")){if(!i.includes("VERTCS")||!i.includes("GEOGCS")&&!i.startsWith("PROJCS"))return null;let a=i.indexOf("VERTCS"),r=i.indexOf("PROJCS"),s=r>-1?r:i.indexOf("GEOGCS");if(-1===s)return null;let n=e.slice(s,e.lastIndexOf("]",a)+1).trim(),l=e.slice(a,e.lastIndexOf("]")).trim();t=L(n);let o=t?new f.A({wkid:t}):new f.A({wkt:n}),u=L(l);return u&&(o.vcsWkid=u),o}return i.startsWith("GEOGCS")||i.startsWith("PROJCS")?(t=L(e),0===t?new f.A({wkt:e}):new f.A({wkid:t})):null}function L(e){let t=e.replaceAll("]","[").replaceAll('"',"").split("[").map(e=>e.trim()).filter(e=>""!==e),i=t[t.length-1].split(","),a=i[0]?.toLowerCase();if(("epsg"===a||"esri"===a)&&e.endsWith('"]]')){let e=Number(i[1]);if(!isNaN(e)&&0!==e)return e}return 0}function H(e){if("pamdataset"!==e?.documentElement.tagName?.toLowerCase())return{};let t={spatialReference:null,transform:null,metadata:{},rasterBands:[],statistics:null,histograms:null};e.documentElement.childNodes.forEach(e=>{if(1===e.nodeType)if((0,P.g7)(e,"SRS")){if(!t.spatialReference){let i=(0,P.mX)(e);t.spatialReference=E(i)}}else if((0,P.g7)(e,"Metadata"))if("xml:ESRI"===e.getAttribute("domain")){let{spatialReference:i,transform:a}=function(e){let t=(0,P.V6)(e,"GeodataXform"),i=E((0,P.v7)(t,"SpatialReference/WKID")||(0,P.mX)(t,"SpatialReference/WKT"));if("typens:PolynomialXform"!==t.getAttribute("xsi:type"))return{spatialReference:i,transform:null};let a=(0,P.v7)(t,"PolynomialOrder")??1,r=(0,P.Ui)(t,"CoeffX/Double"),s=(0,P.Ui)(t,"CoeffY/Double"),n=(0,P.Ui)(t,"InverseCoeffX/Double"),l=(0,P.Ui)(t,"InverseCoeffY/Double"),o=D(r,s),f=D(n,l);return{spatialReference:i,transform:o&&f&&o.length&&f.length?new N.A({spatialReference:i,polynomialOrder:a,forwardCoefficients:o,inverseCoefficients:f}):null}}(e);t.transform=a,t.spatialReference||=i}else(0,P.IC)(e,"MDI").forEach(e=>t.metadata[e.getAttribute("key")]=(0,P.mX)(e));else if((0,P.g7)(e,"PAMRasterBand")){let i=function(e){let t,i,a,r,s=(0,P.v7)(e,"NoDataValue"),n=(0,P.V6)(e,"Histograms/HistItem"),l=(0,P.v7)(n,"HistMin"),o=(0,P.v7)(n,"HistMax"),f=(0,P.v7)(n,"BucketCount"),u=(0,P.mX)(n,"HistCounts")?.split("|").map(e=>Number(e));(0,P.IC)(e,"Metadata/MDI").forEach(e=>{let s=Number(e.textContent??e.nodeValue);switch(e.getAttribute("key").toUpperCase()){case"STATISTICS_MINIMUM":t=s;break;case"STATISTICS_MAXIMUM":i=s;break;case"STATISTICS_MEAN":a=s;break;case"STATISTICS_STDDEV":r=s}});let h=(0,P.v7)(e,"Metadata/SourceBandIndex");return{noDataValue:s,histogram:u?.length&&null!=l&&null!=o?{min:l,max:o,size:f||u.length,counts:u}:null,sourceBandIndex:h,statistics:null!=t&&null!=i?{min:t,max:i,avg:a,stddev:r}:null}}(e);null!=i.sourceBandIndex&&null==t.rasterBands[i.sourceBandIndex]?t.rasterBands[i.sourceBandIndex]=i:t.rasterBands.push(i)}});let i=t.rasterBands;return i.length&&(t.statistics=i[0].statistics?i.map(e=>e.statistics).filter(F.Ru):null,t.histograms=i[0].histogram?i.map(e=>e.histogram).filter(F.Ru):null),t}var z=i(85951),J=i(96381);let U=class extends n.A{set rasterJobHandler(e){this._set("rasterJobHandler",e),this._inMemoryRaster&&(this._inMemoryRaster.rasterJobHandler=e)}fetchRawTile(e,t,i,a={}){if(this._imageBlob){let{blockWidth:a,blockHeight:r}=this.rasterInfo.storageInfo;return this.decodePixelBlock(this._imageBlob,{tileSize:[a,r],tileIndex:[e,t,i],canvasUsage:"canvas-only",cloneSource:!0,skipStatistics:!0})}return this._inMemoryRaster?this._inMemoryRaster.fetchRawTile(e,t,i,a):Promise.resolve(null)}async _open(e){let t=await this._fetchData(e);if(null==t)throw new a.A("image-aux-raster:open","the data cannot be decoded");let{spatialReference:i,statistics:r,histograms:s,transform:n}=await this._fetchAuxiliaryData(e),l=!i;l&&(i=new f.A({wkid:3857})),s?.length&&null==r&&(r=(0,S.Pg)(s));let{width:u,height:h,pixelBlock:c}=t,p=new o.A({xmin:-.5,ymin:.5-h,xmax:u-.5,ymax:.5,spatialReference:i}),d=n?n.forwardTransform(p):p,m=!0;if(n){let e=n.forwardCoefficients;m=e&&0===e[1]&&0===e[2],m&&(n=null,p=d)}if(!c){let e=new A.A({width:u,height:h,bandCount:3,pixelType:"u8",extent:d,nativeExtent:p,transform:n,pixelSize:{x:d.width/u,y:d.height/h},spatialReference:d.spatialReference,keyProperties:{DataType:"Processed"}});return this.ioConfig.skipMapInfo&&this.updateImageSpaceRasterInfo(e),this.createRemoteDatasetStorageInfo(e,512,512),this._set("rasterInfo",e),void this.updateTileInfo()}let{rasterJobHandler:g,ioConfig:y}=this,x=new M({preGenerateTiles:!1,rasterJobHandler:g,source:{extent:d,nativeExtent:p,transform:n,pixelBlocks:[c],statistics:r,histograms:s,keyProperties:{DataType:"Processed"},isPseudoSpatialReference:l},ioConfig:{...y,sampling:"closest",skipStatistics:!0}});await x.open(),x.source=null,this._set("rasterInfo",x.rasterInfo),this._inMemoryRaster=x}async _fetchData(e){let{data:t}=await this.request(this.url,{responseType:"array-buffer",signal:e?.signal}),i=(0,J.g)(t);if("jpg"!==i&&"png"!==i&&"gif"!==i&&"bmp"!==i)throw new a.A("image-aux-raster:open","the data is not a supported format");if(this._set("datasetFormat",i.toUpperCase()),"jpg"===i){let e=(0,z.R)(t);if(null==e)throw new a.A("image-aux-raster:open","the data is not a supported format");return this._imageBlob=t,e}try{let e=await this.decodePixelBlock(t,{format:i,canvasUsage:"canvas-only",cloneSource:!0,skipStatistics:!0});return this._imageBlob=t,e?{width:e.width,height:e.height,pixelBlock:e}:null}catch{let e=await this.decodePixelBlock(t,{format:i,canvasUsage:"no-canvas",skipStatistics:!0});return e?{width:e.width,height:e.height,pixelBlock:e}:null}}async _fetchAuxiliaryData(e){let t=e?.signal,{skipExtensions:i=[],skipMapInfo:a}=this.ioConfig,r=a||i.includes("aux.xml")?null:this.request(this.url+".aux.xml",{responseType:"xml",signal:t}),s=this.datasetFormat,n="JPG"===s?"jgw":"PNG"===s?"pgw":"BMP"===s?"bpw":null,l=n&&i.includes(n)?null:this.request(this.url.slice(0,this.url.lastIndexOf("."))+"."+n,{responseType:"text",signal:t}),o=await(0,b.Lx)([r,l]);if(t?.aborted)throw(0,b.NK)();let f=H(o[0].value?.data);if(!f.transform){let e=o[1].value?o[1].value.data.split("\n").slice(0,6).map(e=>Number(e)):null;f.transform=6===e?.length?new N.A({forwardCoefficients:[e[4],e[5],e[0],-e[1],e[2],-e[3]]}):null}return f}};(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],U.prototype,"datasetFormat",void 0),(0,r.Cg)([(0,s.MZ)()],U.prototype,"rasterJobHandler",null),U=(0,r.Cg)([(0,s.$K)("esri.layers.raster.datasets.ImageAuxRaster")],U);const G=U;var q=i(97768),j=i(84952),V=i(86738),W=i(75414),Z=i(20223),X=i(87045),$=i(25943),Y=i(82371);let K=class extends n.A{constructor(){super(...arguments),this._levelOffset=0,this._tilemapCache=null,this._slices=null,this.datasetFormat="RasterTileServer",this.tileType=null}async fetchRawTile(e,t,i,a={}){let{storageInfo:r,extent:s}=this.rasterInfo,{transposeInfo:n}=r,l=null!=n&&!!a.transposedVariableName;if(this._slices&&!l&&null==a.sliceId)return null;let o,f,u=l?0:r.maximumPyramidLevel-e+this._levelOffset,h=`${this.url}/tile/${u}/${t}/${i}`,c={...this._slices?l?{variable:a.transposedVariableName}:{sliceId:a.sliceId||0}:null,...a.refreshParameters};if(r.isBsqTile){let e=(a.bandIds?.length?a.bandIds:[0,1,2]).map(e=>this.request(h,{query:{...c,bandId:e},responseType:"array-buffer",signal:a.signal})),t=await Promise.all(e),i=t.map(e=>e.data.byteLength).reduce((e,t)=>e+t),r=new Uint8Array(i);f=[];let s=0;for(let{data:e}of t)f.push(s),r.set(new Uint8Array(e),s),s+=e.byteLength;o=r.buffer}else o=(await this.request(h,{query:c,responseType:"array-buffer",signal:a.signal})).data;if(!o)return null;let{tileInfo:p}=r,d=l?n.tileSize:p.size,m=/^(mixed|jp)/i.test(p.format),g=await this.decodePixelBlock(o,{width:d[0],height:d[1],planes:f?.length,offsets:f,pixelType:null,isPoint:"Elevation"===this.tileType,returnInterleaved:l,noDataValue:this.rasterInfo.noDataValue,applyJpegMask:m});if(null==g)return null;let y=r.blockBoundary[e];if("jpg"!==r.compression||i>y.minCol&&i<y.maxCol&&t>y.minRow&&t<y.maxRow)return g;let{origin:x,blockWidth:w,blockHeight:I}=r,{x:b,y:v}=this.getPyramidPixelSize(e),S=Math.round((s.xmin-x.x)/b)%w,T=Math.round((s.xmax-x.x)/b)%w||w,A=Math.round((x.y-s.ymax)/v)%I,R=Math.round((x.y-s.ymin)/v)%I||I,M=i===y.minCol?S:0,O=t===y.minRow?A:0,_=i===y.maxCol?T:w,k=t===y.maxRow?R:I;return(0,C.z$)(g,{x:M,y:O},{width:_-M,height:k-O}),g}getSliceIndex(e){if(!this._slices||null==e||0===e.length)return null;let t=e;for(let e=0;e<this._slices.length;e++){let i=this._slices[e].multidimensionalDefinition;if(i.length===t.length&&!i.some(e=>{let i=t.find(t=>e.variableName===t.variableName&&t.dimensionName===e.dimensionName);return!i||(Array.isArray(e.values[0])?`${e.values[0][0]}-${e.values[0][1]}`:e.values[0])!==(Array.isArray(i.values[0])?`${i.values[0][0]}-${i.values[0][1]}`:i.values[0])}))return e}return null}async fetchVariableStatisticsHistograms(e,t){let i=this.request(this.url+"/statistics",{query:{variable:e,f:"json"},signal:t}).then(e=>e.data?.statistics),a=this.request(this.url+"/histograms",{query:{variable:e,f:"json"},signal:t}).then(e=>e.data?.histograms),r=await Promise.all([i,a]);return r[0]&&r[0].forEach(e=>{e.avg=e.mean,e.stddev=e.standardDeviation}),r[1]?.[0]?.counts?.length||(r[1]=null),{statistics:r[0]||null,histograms:r[1]||null}}async computeBestPyramidLevelForLocation(e,t={}){if(!this._tilemapCache)return 0;let i=this.identifyPixelLocation(e,0,t.datumTransformation);if(null===i)return null;let a=0,{maximumPyramidLevel:r}=this.rasterInfo.storageInfo,s=r-a+this._levelOffset,n=i.srcLocation;for(;s>=0;){try{if("available"===await this._tilemapCache.fetchAvailability(s,i.row,i.col,t))break}catch{}if(s--,a++,i=this.identifyPixelLocation(n,a,t.datumTransformation),null===i)return null}return-1===s||null==i?null:a}async _open(e){let t=e?.signal,i=this.sourceJSON?{data:this.sourceJSON}:await this.request(this.url,{query:{f:"json"},signal:t});i.ssl&&(this.url=this.url.replace(/^http:/i,"https:"));let r=i.data;if(this.sourceJSON=r,!r)throw new a.A("imageserverraster:open","cannot initialize tiled image service, missing service info");if(!r.tileInfo)throw new a.A("imageserverraster:open","use ImageryLayer to open non-tiled image services");this._fixScaleInServiceInfo();this.tileType=r.cacheType,this.tileType??=["jpg","jpeg","png","png8","png24","png32","mixed"].includes(r.tileInfo.format.toLowerCase())?"Map":"lerc"===r.tileInfo.format.toLowerCase()?"Elevation":"Raster",this.datasetName=r.name?.slice(r.name.indexOf("/")+1)??"";let s=this.rasterInfo??await this._fetchRasterInfo({signal:t});if(null==s)throw new a.A("image-server-raster:open","cannot initialize image service");(0,Y.E9)(s,r);let n="Map"===this.tileType?function(e,t){if(!e)return null;let{minScale:i,maxScale:a,minLOD:r,maxLOD:s}=t;if(null!=r&&null!=s)return X.A.fromJSON({...e,lods:e.lods.filter(({level:e})=>null!=e&&e>=r&&e<=s)});if(0!==i&&0!==a){let t=e=>Math.round(1e4*e)/1e4,r=i?t(i):1/0,s=a?t(a):-1/0;return X.A.fromJSON({...e,lods:e.lods.filter(e=>{let i=t(e.scale);return i<=r&&i>=s})})}return X.A.fromJSON(e)}(r.tileInfo,r):X.A.fromJSON(r.tileInfo);(0,q.Lw)(n);let[l,o]=this._computeMinMaxLOD(s,n),{extent:f,pixelSize:u}=s,h=.001*Math.min(u.x,u.y);(u.x!==u.y||Math.abs(l.resolution-u.x)>h)&&(u.x=u.y=l.resolution,s.width=Math.ceil((f.xmax-f.xmin)/u.x-.1),s.height=Math.ceil((f.ymax-f.ymin)/u.y-.1));let c=l.level-o.level,[p,d]=n.size,m=[],g=[],{lods:y}=n;y.forEach((e,t)=>{e.level>=o.level&&e.level<=l.level&&m.push({x:e.resolution,y:e.resolution}),t<y.length-1&&g.push(Math.round(10*e.resolution/y[t+1].resolution)/10)}),m.sort((e,t)=>e.x-t.x);let x,w=this.computeBlockBoundary(f,p,d,n.origin,m,c),I=m.length>1?m.slice(1):null;r.transposeInfo&&(x={tileSize:[r.transposeInfo.rows,r.transposeInfo.cols],packetSize:s.keyProperties?._yxs.PacketSize??0});let b=g.length<=1||g.length>=3&&g.slice(0,-1).every(e=>e===g[0])?g[0]??2:Math.round(10/(o.resolution/l.resolution)**(-1/c))/10,v=!!r.bsq&&"Raster"===this.tileType;if(s.storageInfo=new Z.A({blockWidth:n.size[0],blockHeight:n.size[1],pyramidBlockWidth:n.size[0],pyramidBlockHeight:n.size[1],pyramidResolutions:I,pyramidScalingFactor:b,compression:n.format,origin:n.origin,firstPyramidLevel:1,maximumPyramidLevel:c,tileInfo:n,isBsqTile:v,transposeInfo:x,blockBoundary:w}),function(e){let{extent:t,spatialReference:i}=e;t.xmin>-1&&t.xmax>181&&i?.wkid&&i.isGeographic&&(e.nativeExtent=e.extent,e.transform=new W.A,e.extent=e.transform.forwardTransform(t))}(s),this._set("rasterInfo",s),r.capabilities.toLowerCase().includes("tilemap")){let e={tileInfo:s.storageInfo.tileInfo,parsedUrl:(0,j.An)(this.url),url:this.url,tileServers:[]};this._tilemapCache=new $.d({layer:e})}}async _fetchRasterInfo(e){let t=this.sourceJSON;if("Map"===this.tileType){let e=t.fullExtent||t.extent,i=Math.ceil((e.xmax-e.xmin)/t.pixelSizeX-.1),a=Math.ceil((e.ymax-e.ymin)/t.pixelSizeY-.1),r=f.A.fromJSON(t.spatialReference||e.spatialReference),s=new V.A({x:t.pixelSizeX,y:t.pixelSizeY,spatialReference:r});return new A.A({width:i,height:a,bandCount:3,extent:o.A.fromJSON(e),spatialReference:r,pixelSize:s,pixelType:"u8",statistics:null,keyProperties:{DataType:"processed"}})}let i={...e,query:{...this.ioConfig.customFetchParameters,f:"json"}},a=(0,Y.Tw)(this.url,this.sourceJSON,i),r=t.hasMultidimensions?this.request(`${this.url}/slices`,i).then(e=>e.data?.slices).catch(()=>null):null,s=await Promise.all([a,r]);return this._slices=s[1],s[0]}_fixScaleInServiceInfo(){let{sourceJSON:e}=this;e.minScale&&e.minScale<0&&(e.minScale=0),e.maxScale&&e.maxScale<0&&(e.maxScale=0)}_computeMinMaxLOD(e,t){let{pixelSize:i}=e,a=.5/e.width*i.x,{lods:r}=t,s=t.lodAt(Math.max.apply(null,r.map(e=>e.level))),n=t.lodAt(Math.min.apply(null,r.map(e=>e.level))),{tileType:l}=this;if("Map"===l)return this._levelOffset=r[0].level,[s,n];if("Raster"===l)return[r.find(e=>e.resolution===i.x)??s,n];let{minScale:o,maxScale:f}=this.sourceJSON,u=s;f>0&&(u=r.find(e=>Math.abs(e.scale-f)<a),u||=r.filter(e=>e.scale>f).sort((e,t)=>e.scale>t.scale?1:-1)[0]??s);let h=n;return o>0&&(h=r.find(e=>Math.abs(e.scale-o)<a)??n,this._levelOffset=h.level-n.level),[u,h]}};(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],K.prototype,"datasetFormat",void 0),(0,r.Cg)([(0,s.MZ)()],K.prototype,"tileType",void 0),K=(0,r.Cg)([(0,s.$K)("esri.layers.raster.datasets.ImageServerRaster")],K);const Q=K;var ee=i(10713);const te=new Map([["byte","u8"],["signedbyte","s8"],["int8","s8"],["uint8","u8"],["int16","s16"],["uint16","u16"],["int32","s32"],["uint32","u32"],["float32","f32"],["float64","f64"],["double64","f64"]]),ie=new Map;ie.set("none",{blobExtension:".til",isOneSegment:!0,decoderFormat:"bip"}),ie.set("lerc",{blobExtension:".lrc",isOneSegment:!1,decoderFormat:"lerc"}),ie.set("deflate",{blobExtension:".pzp",isOneSegment:!0,decoderFormat:"deflate"}),ie.set("jpeg",{blobExtension:".pjg",isOneSegment:!0,decoderFormat:"jpg"}),ie.set("qb3",{blobExtension:".pq3",isOneSegment:!0,decoderFormat:"qb3"});let ae=class extends n.A{constructor(){super(...arguments),this._files=null,this._storageIndex=null,this._isBsq=!1,this.datasetFormat="MRF"}async fetchRawTile(e,t,i,a={}){let{blockWidth:r,blockHeight:s,blockBoundary:n}=this.rasterInfo.storageInfo,l=n[e];if(!l||l.maxRow<t||l.maxCol<i||l.minRow>t||l.minCol>i)return null;let{bandCount:o,pixelType:f}=this.rasterInfo,{ranges:u,actualTileWidth:h,actualTileHeight:p}=this._getTileLocation(e,t,i);if(!u||0===u.length)return null;if(u.some(e=>e.from>e.to)){let e=new Uint8Array(r*s);return new c.A({width:r,height:s,pixels:void 0,mask:e,validPixelCount:0})}let{bandIds:d}=this.ioConfig,m=this._getBandSegmentCount(),g=[],y=0;for(y=0;y<m;y++)(!d||d.includes(y))&&g.push(this.request(this._files.data,{range:{from:u[y].from,to:u[y].to},responseType:"array-buffer",signal:a.signal}));let x=await Promise.all(g),w=x.map(e=>e.data.byteLength).reduce((e,t)=>e+t),I=new Uint8Array(w),b=[],v=0;for(y=0;y<m;y++)b.push(v),I.set(new Uint8Array(x[y].data),v),v+=x[y].data.byteLength;let C=ie.get(this.rasterInfo.storageInfo.compression).decoderFormat,S="jpg"===C&&4===o&&1===b.length,T=await this.decodePixelBlock(I.buffer,{width:r,height:s,format:C,planes:d?.length||o,offsets:b,pixelType:f,canvasUsage:S?"no-canvas":void 0,decodeJpegAsRgb:!1}).catch(()=>null);if(null==T)return null;let{noDataValue:A}=this.rasterInfo;if(null!=A&&"lerc"!==C&&!T.mask&&(A=A[0],null!=A)){let e=T.width*T.height,t=new Uint8Array(e);if(Math.abs(A)>1e24)for(y=0;y<e;y++)Math.abs((T.pixels[0][y]-A)/A)>1e-6&&(t[y]=1);else for(y=0;y<e;y++)T.pixels[0][y]!==A&&(t[y]=1);T.mask=t}let R=0,M=0;if(h!==r||p!==s){let e=T.mask;if(e)for(y=0;y<s;y++)if(M=y*r,y<p)for(R=h;R<r;R++)e[M+R]=0;else for(R=0;R<r;R++)e[M+R]=0;else for(e=new Uint8Array(r*s),T.mask=e,y=0;y<p;y++)for(M=y*r,R=0;R<h;R++)e[M+R]=1}return T}async _open(e){this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1);let t=e?e.signal:null,i=await this.request(this.url,{responseType:"xml",signal:t}),{rasterInfo:a,files:r}=this._parseHeader(i.data),{skipMapInfo:s,skipExtensions:n=[]}=this.ioConfig;if(!n.includes("aux.xml")&&!s){let t=await this._fetchAuxiliaryData(e);null!=t&&(a.statistics=t.statistics??a.statistics,a.histograms=t.histograms,t.histograms&&null==a.statistics&&(a.statistics=(0,S.Pg)(t.histograms)))}s&&this.updateImageSpaceRasterInfo(a),this._set("rasterInfo",a),this._files=r;let l=await this.request(r.index,{responseType:"array-buffer",signal:t});this._storageIndex=function(e){if(e.byteLength%16>0)throw Error("invalid array buffer must be multiples of 16");let t;if(ee.Z){let i=new Uint8Array(e),a=new ArrayBuffer(e.byteLength),r=new Uint8Array(a);for(let t=0;t<e.byteLength/4;t++)for(let e=0;e<4;e++)r[4*t+e]=i[4*t+3-e];t=new Uint32Array(a)}else t=new Uint32Array(e);return t}(l.data);let{blockWidth:o,blockHeight:f}=this.rasterInfo.storageInfo,u=this.rasterInfo.storageInfo.pyramidScalingFactor,{width:h,height:c}=this.rasterInfo,p=[],d=this._getBandSegmentCount(),m=0,g=-1;for(;m<this._storageIndex.length;){g++;let e=Math.ceil(h/o/u**g)-1,t=Math.ceil(c/f/u**g)-1;m+=(e+1)*(t+1)*d*4,p.push({maxRow:t,maxCol:e,minCol:0,minRow:0})}this.rasterInfo.storageInfo.blockBoundary=p,g>0&&(this.rasterInfo.storageInfo.firstPyramidLevel=1,this.rasterInfo.storageInfo.maximumPyramidLevel=g),this.updateTileInfo()}_getBandSegmentCount(){return this._isBsq?this.rasterInfo.bandCount:1}_getTileLocation(e,t,i){let a,r,s,{blockWidth:n,blockHeight:l,pyramidScalingFactor:o}=this.rasterInfo.storageInfo,{width:f,height:u}=this.rasterInfo,h=this._getBandSegmentCount(),c=0,p=0;for(s=0;s<e;s++)p=o**s,a=Math.ceil(f/n/p),r=Math.ceil(u/l/p),c+=a*r;p=o**e,a=Math.ceil(f/n/p),r=Math.ceil(u/l/p),c+=t*a+i,c*=4*h;let d=this._storageIndex.subarray(c,c+4*h),m=0,g=0,y=[];for(let e=0;e<h;e++)m=d[4*e]*2**32+d[4*e+1],g=m+d[4*e+2]*2**32+d[4*e+3]-1,y.push({from:m,to:g});return{ranges:y,actualTileWidth:i<a-1?n:Math.ceil(f/p)-n*(a-1),actualTileHeight:t<r-1?l:Math.ceil(u/p)-l*(r-1)}}_parseHeader(e){let t=(0,P.V6)(e,"MRF_META/Raster");if(!t)throw new a.A("mrf:open","not a valid MRF format");let i=(0,P.V6)(t,"Size"),r=parseInt(i.getAttribute("x"),10),s=parseInt(i.getAttribute("y"),10),n=parseInt(i.getAttribute("c"),10),l=((0,P.mX)(t,"Compression")||"none").toLowerCase();if(!ie.has(l))throw new a.A("mrf:open","currently does not support compression "+l);let u=(0,P.mX)(t,"DataType")||"UInt8",h=te.get(u.toLowerCase());if(null==h)throw new a.A("mrf:open","currently does not support pixel type "+u);let c=(0,P.V6)(t,"PageSize"),p=parseInt(c.getAttribute("x"),10),d=parseInt(c.getAttribute("y"),10),m=c.getAttribute("c"),g=m?m===String(n):ie.get(l).isOneSegment;this._isBsq=!g;let y,x=(0,P.V6)(t,"DataValues");if(x){let e=x.getAttribute("NoData");null!=e&&(y=e.trim().split(" ").map(e=>parseFloat(e)))}if((0,P.V6)(e,"MRF_META/CachedSource"))throw new a.A("mrf:open","currently does not support MRF referencing other data files");let w,I=(0,P.V6)(e,"MRF_META/GeoTags"),b=(0,P.V6)(I,"BoundingBox"),v=!1;if(null!=b){let e=parseFloat(b.getAttribute("minx")),t=parseFloat(b.getAttribute("miny")),i=parseFloat(b.getAttribute("maxx")),a=parseFloat(b.getAttribute("maxy")),r=(0,P.mX)(I,"Projection")||"",s=f.A.WGS84;if("LOCAL_CS[]"!==r)if(r.toLowerCase().startsWith("epsg:")){let e=Number(r.slice(5));!isNaN(e)&&0!==e&&(s=new f.A({wkid:e}))}else s=E(r)??f.A.WGS84;else v=!0,s=new f.A({wkid:3857});w=new o.A(e,t,i,a),w.spatialReference=s}else v=!0,w=new o.A({xmin:-.5,ymin:.5-s,xmax:r-.5,ymax:.5,spatialReference:new f.A({wkid:3857})});let C=(0,P.V6)(e,"MRF_META/Rsets"),S=parseInt(C?.getAttribute("scale")||"2",10),T=w.spatialReference,R=new Z.A({origin:new V.A({x:w.xmin,y:w.ymax,spatialReference:T}),blockWidth:p,blockHeight:d,pyramidBlockWidth:p,pyramidBlockHeight:d,compression:l,pyramidScalingFactor:S}),M=new V.A({x:w.width/r,y:w.height/s,spatialReference:T}),O=new A.A({width:r,height:s,extent:w,isPseudoSpatialReference:v,spatialReference:T,bandCount:n,pixelType:h,pixelSize:M,noDataValue:y,storageInfo:R}),_=this._getAuxFullPath((0,P.mX)(t,"DataFile")),k=this._getAuxFullPath((0,P.mX)(t,"IndexFile"));return{rasterInfo:O,files:{mrf:this.url,index:k||this.url.replace(".mrf",".idx"),data:_||this.url.replace(".mrf",ie.get(l).blobExtension)}}}_getAuxFullPath(e){return!e||e.includes("\\")?null:e.includes("/")?e.startsWith(new URL(this.url).origin)?e:null:`${this.url.slice(0,this.url.lastIndexOf("/"))}/${e}`}async _fetchAuxiliaryData(e){try{let{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:e?.signal});return H(t)}catch{return null}}};(0,r.Cg)([(0,s.MZ)()],ae.prototype,"_files",void 0),(0,r.Cg)([(0,s.MZ)()],ae.prototype,"_storageIndex",void 0),(0,r.Cg)([(0,s.MZ)()],ae.prototype,"_isBsq",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],ae.prototype,"datasetFormat",void 0),ae=(0,r.Cg)([(0,s.$K)("esri.layers.raster.datasets.MRFRaster")],ae);const re=ae;i(44208);var se=i(53966),ne=i(9334);function le(e){let t=e.fields,i=e.records,a=t.some(e=>"oid"===e.name.toLowerCase())?"OBJECTID":"OID",r=[{name:a,type:"esriFieldTypeOID",alias:"OID"}].concat(t.map(e=>({name:e.name,type:"esriFieldType"+e.typeName,alias:e.name}))),s=r.map(e=>e.name),n=[],l=0,o=0;return i.forEach(e=>{let t={};for(t[a]=l++,o=1;o<s.length;o++)t[s[o]]=e[o-1];n.push({attributes:t})}),{displayFieldName:"",fields:r,features:n}}function oe(e){let t=new DataView(e),i=3&t.getUint8(0);if(3!==i)return{header:{version:i},recordSet:null};let a=t.getUint32(4,!0),r=t.getUint16(8,!0),s=t.getUint16(10,!0),n={version:i,recordCount:a,headerByteCount:r,recordByteCount:s},l=32,o=[],f=[];for(;13!==t.getUint8(l);){let i=String.fromCharCode(t.getUint8(l+11)).trim();o.push({name:(0,ne.w)(new Uint8Array(e,l,11)),type:i,typeName:["String","Date","Double","Boolean","String","Integer"][["C","D","F","L","M","N"].indexOf(i)],length:t.getUint8(l+16)}),l+=32}if(l+=1,o.length>0)for(;f.length<a&&e.byteLength-l>s;){let i=[];32===t.getUint8(l)?(l+=1,o.forEach(t=>{if("C"===t.type)i.push((0,ne.w)(new Uint8Array(e,l,t.length)).trim());else if("N"===t.type)i.push(parseInt(String.fromCharCode.apply(null,new Uint8Array(e,l,t.length)).trim(),10));else if("F"===t.type)i.push(parseFloat(String.fromCharCode.apply(null,new Uint8Array(e,l,t.length)).trim()));else if("D"===t.type){let a=String.fromCharCode.apply(null,new Uint8Array(e,l,t.length)).trim();i.push(new Date(parseInt(a.slice(0,4),10),parseInt(a.slice(4,6),10)-1,parseInt(a.slice(6,8),10)))}l+=t.length}),f.push(i)):l+=s}return{header:n,fields:o,records:f,recordSet:le({fields:o,records:f})}}var fe=i(44094),ue=i(94213);const he="none-tiled tiff is not optimized for access, convert to COG and retry.";let ce=class extends n.A{constructor(){super(...arguments),this._files=null,this._headerInfo=null,this._bufferSize=1048576,this._chunkSize=10485760,this.datasetFormat="TIFF"}async fetchRawTile(e,t,i,a={}){if(!this._headerInfo?.isSupported||this.isBlockOutside(e,t,i))return null;let r=await this._fetchRawTiffTile(e,t,i,!1,a);if(null!=r&&this._headerInfo.hasMaskBand){let s=await this._fetchRawTiffTile(e,t,i,!0,a);null!=s&&s.pixels[0]instanceof Uint8Array&&(r.mask=s.pixels[0])}return r}async _open(e){let t=e?e.signal:null,{data:i}=await this.request(this.url,{range:{from:0,to:this._bufferSize},responseType:"array-buffer",signal:t});if(!i)throw new a.A("tiffraster:open","failed to open url "+this.url);this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1,this.url.lastIndexOf("."));let{littleEndian:r,firstIFDPos:s,isBigTiff:n}=(0,fe.uT)(i),l=[],u={fileChunk:i,posIFD:s,fileOffset:0};await this._readIFDs(l,u,r,n?8:4,t);let{imageInfo:h,rasterInfo:c}=function(e){let t=(0,fe.uc)(e),{width:i,height:a,tileWidth:r,tileHeight:s,planes:n,pixelType:l,compression:u,firstPyramidLevel:h,maximumPyramidLevel:c,pyramidBlockWidth:p,pyramidBlockHeight:d,pyramidResolutions:m,tileBoundary:g,affine:y,metadata:x,colormap:w}=t,I=E(t.extent.spatialReference?.wkt||t.extent.spatialReference?.wkid),b=!!t.isPseudoGeographic;I??=(b=!0,new f.A({wkid:3857}));let v=new o.A({...t.extent,spatialReference:I}),C=v?new V.A({x:v.xmin,y:v.ymax,spatialReference:I}):new V.A({x:0,y:0}),S=new Z.A({blockWidth:r,blockHeight:s,pyramidBlockWidth:p,pyramidBlockHeight:d,compression:u,origin:C,firstPyramidLevel:h,maximumPyramidLevel:c,pyramidResolutions:m,blockBoundary:g}),T=new V.A({x:(v.xmax-v.xmin)/i,y:(v.ymax-v.ymin)/a,spatialReference:I}),R=x?{BandProperties:x.bandProperties,DataType:x.dataType}:{},M=new A.A({width:i,height:a,bandCount:n,pixelType:l,pixelSize:T,storageInfo:S,spatialReference:I,isPseudoSpatialReference:b,keyProperties:R,extent:v,colormap:w,statistics:x?x.statistics:null});if(y?.length&&(M.nativeExtent=new o.A({xmin:-.5,ymin:.5-a,xmax:i-.5,ymax:.5,spatialReference:I}),M.transform=new N.A({polynomialOrder:1,forwardCoefficients:[y[2]+y[0]/2,y[5]-y[3]/2,y[0],y[3],-y[1],-y[4]]}),M.extent=M.transform.forwardTransform(M.nativeExtent),M.pixelSize=new V.A({x:(v.xmax-v.xmin)/i,y:(v.ymax-v.ymin)/a,spatialReference:I}),S.origin.x=-.5,S.origin.y=.5),m){let{x:e,y:t}=M.pixelSize;m.forEach(i=>{i.x*=e,i.y*=t})}return{imageInfo:t,rasterInfo:M}}(l),p=(0,fe.zS)(l),d=(0,fe.r9)(l);if(this._headerInfo={littleEndian:r,isBigTiff:n,ifds:l,pyramidIFDs:p,maskIFDs:d,...h},this._set("rasterInfo",c),!h.isSupported)throw new a.A("tiffraster:open","this tiff is not supported: "+h.message);if(!h.tileWidth||!h.tileHeight)throw new a.A("tiffraster:open",he);c.isPseudoSpatialReference&&se.A.getLogger(this).warn("The spatial reference for this tiff is unsupported. Only EPSG spatial reference codes and Esri WKTs are supported.");let m=l[0].get("PREDICTOR")?.values?.[0];if(3===l[0].get("SAMPLEFORMAT")?.values?.[0]&&2===m)throw new a.A("tiffraster:open","unsupported horizontal difference encoding. Predictor=3 is supported for floating point data");let{skipMapInfo:g,skipExtensions:y=[]}=this.ioConfig;if(!y.includes("aux.xml")&&!g){let t=await this._fetchAuxiliaryMetaData(e);null!=t&&function(e,t){if(t.statistics=e.statistics??t.statistics,t.histograms=e.histograms,e.histograms&&null==t.statistics&&(t.statistics=(0,S.Pg)(e.histograms)),e.transform&&null==t.transform){t.transform=e.transform,t.nativeExtent=t.extent;let i=t.transform.forwardTransform(t.nativeExtent);t.pixelSize=new V.A({x:(i.xmax-i.xmin)/t.width,y:(i.ymax-i.ymin)/t.height,spatialReference:t.spatialReference}),t.extent=i}t.isPseudoSpatialReference&&e.spatialReference&&(t.spatialReference=e.spatialReference,t.extent.spatialReference=t.nativeExtent.spatialReference=t.storageInfo.origin.spatialReference=t.spatialReference)}(t,c)}!y.includes("vat.dbf")&&1===c.bandCount&&"u8"===c.pixelType&&!g&&(c.attributeTable=await this._fetchAuxiliaryTable(e),null!=c.attributeTable&&(c.keyProperties.DataType="thematic")),g&&this.updateImageSpaceRasterInfo(c),this.updateTileInfo()}async _validateOrFetchHeaderBuffer(e,t){let{fileChunk:i,fileOffset:a,posIFD:r}=e;return(r+8>=i.byteLength||r<0)&&(a=r+a,i=(await this.request(this.url,{range:{from:a,to:a+this._bufferSize},responseType:"array-buffer",signal:t})).data,r=0),{fileChunk:i,fileOffset:a,posIFD:r}}async _readIFDs(e,t,i,r=4,s){if(!t.posIFD)return null;t=await this._validateOrFetchHeaderBuffer(t,s);let n=await this._readIFD(t,i,ue.NB,r,s);if(!n?.ifd)throw new a.A("tiffraster:open","cannot parse tiff header. failed to open url "+this.url);if(e.push(n.ifd),!n.nextIFD)return null;t.posIFD=n.nextIFD-t.fileOffset,await this._readIFDs(e,t,i,r,s)}async _readIFD(e,t,i=ue.NB,r=4,s){let{fileChunk:n,posIFD:l,fileOffset:o}=e;if(!e.fileChunk)return null;let f=(0,fe.JM)(n,t,l,o,i,r);if(f.success){let{ifd:e}=f;if(!e)throw new a.A("tiffraster:open","cannot parse tiff header. failed to open url "+this.url);if(!(this.ioConfig.loadFullMetadata||i!==ue.NB||e.has("TILEWIDTH")&&e.has("TILELENGTH")))throw new a.A("tiffraster:open",he);let r=[];if(e.forEach(e=>{e.values||r.push(e)}),r.length>0&&await this._fillOffsets(r,t,f.nextIFD,s),e.has("GEOKEYDIRECTORY")){let i=e.get("GEOKEYDIRECTORY"),a=i?.values;if(a&&a.length>4){let e=a[0]+"."+a[1]+"."+a[2];l=i.valueOffset+6-o;let r=await this._validateOrFetchHeaderBuffer({fileChunk:n,posIFD:l,fileOffset:o},s);i.data=(await this._readIFD(r,t,ue.YC,2,s))?.ifd,i.data&&i.data.set("GEOTIFFVersion",{id:0,type:2,valueCount:1,valueOffset:null,values:[e]})}}return f}return f.requiredBufferSize?(n=(await this.request(this.url,{range:{from:o,to:o+l+f.requiredBufferSize+8},responseType:"array-buffer",signal:s})).data,n.byteLength<l+f.requiredBufferSize?null:(e.fileChunk=n,e.fileOffset=o,this._readIFD(e,t,i,r,s))):null}async _fillOffsets(e,t,i,a){let r=e.filter(e=>null!=e.offlineOffsetSize);if(0===r.length)return;let s=r.map(e=>e.offlineOffsetSize),n=Math.min.apply(null,s.map(e=>e[0])),l=Math.max.apply(null,s.map(e=>e[0]+e[1])),o=1===s.length||l-n<=this._bufferSize;if(!o&&s.length>1&&(s.sort((e,t)=>e[0]-t[0]),o=s.reduce((e,t)=>e===t[0]?t[0]+t[1]:0,s[0][0])===l),o){let e=await this._fetchOffsets(n,Math.max(l,n+this._bufferSize),a);return void r.forEach(i=>(0,fe.Cr)(e,t,i,n))}let f=r.map(async e=>{let i=e.offlineOffsetSize,r=await this._fetchOffsets(i[0],i[1]+i[0],a);(0,fe.Cr)(r,t,e,i[0])});await Promise.all(f)}async _fetchOffsets(e,t,i){let a=[],r=this._chunkSize,s=Math.ceil((t-e)/r),n=e;for(let e=0;e<s;e++)a.push(this.request(this.url,{range:{from:n,to:e===s-1?t:n+r-1},responseType:"array-buffer",signal:i})),n+=r;let l=await Promise.all(a);if(1===s)return l[0].data;let o=new Uint8Array(t-e+1);for(let e=0;e<s;e++)o.set(new Uint8Array(l[e].data),e*r);return o.buffer}async _fetchRawTiffTile(e,t,i,a,r={}){let s=this._getTileLocation(e,t,i,a);if(!s)return null;let{ranges:n,actualTileWidth:l,actualTileHeight:o,ifd:f}=s,u=n.map(e=>this.request(this.url,{range:e,responseType:"array-buffer",signal:r.signal})),h=await Promise.all(u),c=h.map(e=>e.data.byteLength).reduce((e,t)=>e+t),p=1===h.length?h[0].data:new ArrayBuffer(c),d=[0],m=[0];if(h.length>1){let e=new Uint8Array(p);for(let t=0,i=0;t<h.length;t++){let a=h[t].data;e.set(new Uint8Array(a),i),d[t]=i,i+=a.byteLength,m[t]=a.byteLength}}let{blockWidth:g,blockHeight:y}=this.getBlockWidthHeight(e),x=await this.decodePixelBlock(p,{format:"tiff",customOptions:{headerInfo:this._headerInfo,ifd:f,offsets:d,sizes:m},width:g,height:y,planes:null,pixelType:null});if(null==x)return null;if(l!==g||o!==y){let e=x.mask;if(e)for(let t=0;t<y;t++){let i=t*g;if(t<o)for(let t=l;t<g;t++)e[i+t]=0;else for(let t=0;t<g;t++)e[i+t]=0}else{e=new Uint8Array(g*y),x.mask=e;for(let t=0;t<o;t++){let i=t*g;for(let t=0;t<l;t++)e[i+t]=1}}}return x}_getTileLocation(e,t,i,a=!1){let{firstPyramidLevel:r,blockBoundary:s}=this.rasterInfo.storageInfo,n=0===e?0:e-(r-1),{_headerInfo:l}=this;if(!l)return null;let o=a?l.maskIFDs[n]:0===n?l.ifds[0]:l.pyramidIFDs[n-1];if(!o)return null;let f=(0,fe.XO)(o,l),u=(0,fe.wc)(o,"TILEOFFSETS"),h=(0,fe.wc)(o,"TILEBYTECOUNTS");if(!u?.length||!h?.length)return null;let{minRow:c,minCol:p,maxRow:d,maxCol:m}=s[n];if(t>d||i>m||t<c||i<p)return null;let g=(0,fe.LZ)(o,"IMAGEWIDTH"),y=(0,fe.LZ)(o,"IMAGELENGTH"),x=(0,fe.LZ)(o,"TILEWIDTH"),w=(0,fe.LZ)(o,"TILELENGTH"),I=[];if(f){let{bandCount:e}=this.rasterInfo;for(let a=0;a<e;a++){let e=a*(d+1)*(m+1)+t*(m+1)+i;I[a]={from:u[e],to:u[e]+h[e]-1}}}else{let e=t*(m+1)+i;I.push({from:u[e],to:u[e]+h[e]-1})}for(let e=0;e<I.length;e++)if(null==I[e].from||!I[e].to||I[e].to<0)return null;return{ranges:I,ifd:o,actualTileWidth:i===m&&g%x||x,actualTileHeight:t===d&&y%w||w}}async _fetchAuxiliaryMetaData(e){try{let{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:e?.signal});return H(t)}catch{return null}}async _fetchAuxiliaryTable(e){try{let{data:t}=await this.request(this.url+".vat.dbf",{responseType:"array-buffer",signal:e?.signal}),i=oe(t);return i?.recordSet?O.A.fromJSON(i.recordSet):null}catch{return null}}};(0,r.Cg)([(0,s.MZ)()],ce.prototype,"_files",void 0),(0,r.Cg)([(0,s.MZ)()],ce.prototype,"_headerInfo",void 0),(0,r.Cg)([(0,s.MZ)()],ce.prototype,"_bufferSize",void 0),(0,r.Cg)([(0,s.MZ)()],ce.prototype,"_chunkSize",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],ce.prototype,"datasetFormat",void 0),ce=(0,r.Cg)([(0,s.$K)("esri.layers.raster.datasets.TIFFRaster")],ce);const pe=ce,de=new Map;de.set("MRF",{desc:"Meta Raster Format",constructor:re}),de.set("TIFF",{desc:"GeoTIFF",constructor:pe}),de.set("RasterTileServer",{desc:"Raster Tile Server",constructor:Q}),de.set("JPG",{desc:"JPG Raster Format",constructor:G}),de.set("PNG",{desc:"PNG Raster Format",constructor:G}),de.set("GIF",{desc:"GIF Raster Format",constructor:G}),de.set("BMP",{desc:"BMP Raster Format",constructor:G}),de.set("CovJSON",{desc:"COVJSON Raster Format",constructor:k}),de.set("MEMORY",{desc:"In Memory Raster Format",constructor:M});class me{static get supportedFormats(){let e=new Set;return de.forEach((t,i)=>e.add(i)),e}static async open(e){let{url:t,ioConfig:i,source:r,sourceJSON:s}=e,n=e.datasetFormat??i?.datasetFormat;n??(t.includes(".")?n=t.slice(t.lastIndexOf(".")+1).toUpperCase():"coverage"===r?.type?.toLowerCase()?n="CovJSON":r?.extent&&r.pixelblocks&&(n="MEMORY")),"OVR"===n||"TIF"===n||"DM"===n?n="TIFF":"JPG"===n||"JPEG"===n||"JFIF"===n?n="JPG":"COVJSON"===n&&(n="CovJSON"),t.toLowerCase().includes("/imageserver")&&!t.toLowerCase().includes("/wcsserver")&&(n="RasterTileServer");let l={url:t,source:r,sourceJSON:s,datasetFormat:n,ioConfig:i??{bandIds:null,sampling:null}};if(Object.keys(l).forEach(e=>{l[e]??delete l[e]}),n){if(!this.supportedFormats.has(n))throw new a.A("rasterfactory:open","not a supported format "+n);if("CRF"===n)throw new a.A("rasterfactory:open",`cannot open raster: ${t}`);let i=new(0,de.get(n).constructor)(l);return i.rasterJobHandler=e.rasterJobHandler,i.rasterInfo=e.rasterInfo,await i.open({signal:e.signal}),i}let o=Array.from(de.keys()).filter(e=>"CovJSON"!==e&&"Memory"!==e),f=0,u=()=>{if(n=o[f++],!n||"CRF"===n)return null;let t=new(0,de.get(n).constructor)(l);return t.rasterJobHandler=e.rasterJobHandler,t.open({signal:e.signal}).then(()=>t).catch(()=>u())};return u()}static register(e,t,i){de.has(e.toUpperCase())||de.set(e.toUpperCase(),{desc:t,constructor:i})}}},330(e,t,i){function a(e,t){if(!e||!t)return[];let i=t;t.includes("/")?(i=t.slice(0,t.indexOf("/")),t=t.slice(t.indexOf("/")+1)):t="";let r=[];if(t){let s=a(e,i);for(let e=0;e<s.length;e++)a(s[e],t).forEach(e=>r.push(e));return r}let s=e.getElementsByTagNameNS("*",i);if(!s||0===s.length)return[];for(let e=0;e<s.length;e++)r.push(s[e]||s.item(e));return r}function r(e,t){if(!e||!t)return null;let i=t;t.includes("/")?(i=t.slice(0,t.indexOf("/")),t=t.slice(t.indexOf("/")+1)):t="";let s=a(e,i);return s.length>0?t?r(s[0],t):s[0]:null}function s(e,t=null){let i,a=t?r(e,t):e;return a?(i=a.textContent||a.nodeValue,i?i.trim():null):null}function n(e,t){let i,r=a(e,t),s=[];for(let e=0;e<r.length;e++)i=r[e].textContent||r[e].nodeValue,i&&(i=i.trim(),""!==i&&s.push(i));return s}function l(e,t=null){return s(e,t)?.split(" ").map(e=>Number(e))??[]}function o(e,t){return n(e,t).map(e=>Number(e))}function f(e,t){let i=s(e,t);return Number(i)}function u(e,t){let i=e?.nodeName?.toLowerCase(),a=t.toLowerCase();return i.slice(i.lastIndexOf(":")+1)===a}function h(e){return e.nodeName.slice(e.nodeName.lastIndexOf(":")+1)}i.d(t,{Dy:()=>n,IC:()=>a,Ui:()=>o,V6:()=>r,g7:()=>u,mX:()=>s,pN:()=>l,v7:()=>f,vv:()=>h})},10333(e,t,i){i.d(t,{A:()=>n});var a=i(32198),r=i(25482),s=i(91429);let n=class extends r.o{get affectsPixelSize(){return!1}forwardTransform(e){return e}inverseTransform(e){return e}};(0,a.Cg)([(0,s.MZ)()],n.prototype,"affectsPixelSize",null),(0,a.Cg)([(0,s.MZ)({json:{write:!0}})],n.prototype,"spatialReference",void 0),n=(0,a.Cg)([(0,s.$K)("esri.layers.raster.transforms.BaseRasterTransform")],n)},75414(e,t,i){i.d(t,{A:()=>o});var a,r=i(32198),s=i(91429),n=i(10333),l=i(93223);let o=a=class extends n.A{constructor(){super(...arguments),this.type="gcs-shift",this.tolerance=1e-8}forwardTransform(e){return"point"===(e=e.clone()).type?(e.x>180+this.tolerance&&(e.x-=360),e):(e.xmin>=180-this.tolerance?(e.xmax-=360,e.xmin-=360):e.xmax>180+this.tolerance&&(e.xmin=-180,e.xmax=180),e)}inverseTransform(e){return"point"===(e=e.clone()).type?(e.x<-this.tolerance&&(e.x+=360),e):(e.xmin<-this.tolerance&&(e.xmin+=360,e.xmax+=360),e)}clone(){return new a({tolerance:this.tolerance})}};(0,r.Cg)([(0,l.e)({GCSShiftXform:"gcs-shift"})],o.prototype,"type",void 0),(0,r.Cg)([(0,s.MZ)()],o.prototype,"tolerance",void 0),o=a=(0,r.Cg)([(0,s.$K)("esri.layers.raster.transforms.GCSShiftTransform")],o)},43163(e,t,i){i.d(t,{A:()=>d});var a,r=i(32198),s=i(91429),n=i(5443),l=i(86738),o=i(10333),f=i(36005),u=i(43937),h=i(93223);function c(e,t,i){let{x:a,y:r}=t;if(i<2)return{x:e[0]+a*e[2]+r*e[4],y:e[1]+a*e[3]+r*e[5]};if(2===i){let t=a*a,i=r*r,s=a*r;return{x:e[0]+a*e[2]+r*e[4]+t*e[6]+s*e[8]+i*e[10],y:e[1]+a*e[3]+r*e[5]+t*e[7]+s*e[9]+i*e[11]}}let s=a*a,n=r*r,l=a*r,o=s*a,f=s*r,u=a*n,h=r*n;return{x:e[0]+a*e[2]+r*e[4]+s*e[6]+l*e[8]+n*e[10]+o*e[12]+f*e[14]+u*e[16]+h*e[18],y:e[1]+a*e[3]+r*e[5]+s*e[7]+l*e[9]+n*e[11]+o*e[13]+f*e[15]+u*e[17]+h*e[19]}}function p(e,t,i){let{xmin:a,ymin:r,xmax:s,ymax:l,spatialReference:o}=t,f=[];if(i<2)f.push({x:a,y:l}),f.push({x:s,y:l}),f.push({x:a,y:r}),f.push({x:s,y:r});else{let e=10;for(let t=0;t<e;t++)f.push({x:a,y:r+(l-r)*t/(e-1)}),f.push({x:s,y:r+(l-r)*t/(e-1)});e=8;for(let t=1;t<=e;t++)f.push({x:a+(s-a)*t/e,y:r}),f.push({x:a+(s-a)*t/e,y:l})}f=f.map(t=>c(e,t,i));let u=f.map(e=>e.x),h=f.map(e=>e.y);return new n.A({xmin:Math.min.apply(null,u),xmax:Math.max.apply(null,u),ymin:Math.min.apply(null,h),ymax:Math.max.apply(null,h),spatialReference:o})}let d=a=class extends o.A{constructor(){super(...arguments),this.polynomialOrder=1,this.type="polynomial"}readForwardCoefficients(e,t){let{coeffX:i,coeffY:a}=t;if(!i?.length||!a?.length||i.length!==a.length)return null;let r=[];for(let e=0;e<i.length;e++)r.push(i[e]),r.push(a[e]);return r}writeForwardCoefficients(e,t,i){let a=[],r=[];for(let t=0;t<e?.length;t++)t%2==0?a.push(e[t]):r.push(e[t]);t.coeffX=a,t.coeffY=r}get inverseCoefficients(){let e=this._get("inverseCoefficients"),t=this._get("forwardCoefficients");return!e&&t&&this.polynomialOrder<2&&(e=function(e){let[t,i,a,r,s,n]=e,l=a*n-s*r,o=s*r-a*n;return[(s*i-t*n)/l,(a*i-t*r)/o,n/l,r/o,-s/l,-a/o]}(t)),e}set inverseCoefficients(e){this._set("inverseCoefficients",e)}readInverseCoefficients(e,t){let{inverseCoeffX:i,inverseCoeffY:a}=t;if(!i?.length||!a?.length||i.length!==a.length)return null;let r=[];for(let e=0;e<i.length;e++)r.push(i[e]),r.push(a[e]);return r}writeInverseCoefficients(e,t,i){let a=[],r=[];for(let t=0;t<e?.length;t++)t%2==0?a.push(e[t]):r.push(e[t]);t.inverseCoeffX=a,t.inverseCoeffY=r}get affectsPixelSize(){return this.polynomialOrder>0}forwardTransform(e){if("point"===e.type){let t=c(this.forwardCoefficients,e,this.polynomialOrder);return new l.A({x:t.x,y:t.y,spatialReference:e.spatialReference})}return p(this.forwardCoefficients,e,this.polynomialOrder)}inverseTransform(e){if("point"===e.type){let t=c(this.inverseCoefficients,e,this.polynomialOrder);return new l.A({x:t.x,y:t.y,spatialReference:e.spatialReference})}return p(this.inverseCoefficients,e,this.polynomialOrder)}clone(){return new a({polynomialOrder:this.polynomialOrder,forwardCoefficients:this.forwardCoefficients?[...this.forwardCoefficients]:null,inverseCoefficients:this.inverseCoefficients?[...this.inverseCoefficients]:null})}};(0,r.Cg)([(0,s.MZ)({json:{write:!0}})],d.prototype,"polynomialOrder",void 0),(0,r.Cg)([(0,s.MZ)()],d.prototype,"forwardCoefficients",void 0),(0,r.Cg)([(0,f.w)("forwardCoefficients",["coeffX","coeffY"])],d.prototype,"readForwardCoefficients",null),(0,r.Cg)([(0,u.K)("forwardCoefficients")],d.prototype,"writeForwardCoefficients",null),(0,r.Cg)([(0,s.MZ)({json:{write:!0}})],d.prototype,"inverseCoefficients",null),(0,r.Cg)([(0,f.w)("inverseCoefficients",["inverseCoeffX","inverseCoeffY"])],d.prototype,"readInverseCoefficients",null),(0,r.Cg)([(0,u.K)("inverseCoefficients")],d.prototype,"writeInverseCoefficients",null),(0,r.Cg)([(0,s.MZ)()],d.prototype,"affectsPixelSize",null),(0,r.Cg)([(0,h.e)({PolynomialXform:"polynomial"})],d.prototype,"type",void 0),d=a=(0,r.Cg)([(0,s.$K)("esri.layers.raster.transforms.PolynomialTransform")],d)}}]);
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1003],{1003(e,t,i){i.r(t),i.d(t,{default:()=>me});var a=i(49186),r=i(32198),s=i(91429),n=i(49859),l=i(68197),o=i(5443),f=i(16930),u=i(73444),h=i(94778),c=i(14140);function d(e){return["x","e","east","long","longitude"].includes(e.toLowerCase())}function p(e){return["y","n","west","lat","latitude"].includes(e.toLowerCase())}function m(e){let{axes:t}=e.domain,i=Object.keys(t),a=[],r=[],s=-1,n=-1,l=[];for(let e=0;e<i.length;e++){let o=i[e];d(o)?s=e:p(o)&&(n=e);let f=t[o],u=[];if("values"in f){f.values.forEach(e=>u.push("string"==typeof e?new Date(e).getTime():e));let e=u[1]-u[0];a.push([u[0]-.5*e,u[u.length-1]+.5*e]),r.push(e)}else{let{start:e,stop:t,num:i}=f,s=(t-e)/(i-1);a.push([e-.5*s,t+.5*s]),r.push(s);for(let t=0;t<i;t++)u.push(e+s*t)}l.push({name:o,values:u,extent:[u[0],u[u.length-1]]})}s>-1&&-1===n?n=+(0===s):n>-1&&-1===s?s=+(0===n):-1===n&&-1===s&&(s=0,n=1),l=l.filter((e,t)=>t!==s&&t!==n);let{referencing:u}=e.domain,h=u.find(e=>e.coordinates.includes(i[s])).system.id,c=h?.slice(h.lastIndexOf("/")+1),m=null==c||"CRS84"===c?4326:Number(c),g=new f.A({wkid:m}),[y,x]=a[s],[w,I]=a[n],b=new o.A({xmin:y,xmax:x,ymin:w,ymax:I,spatialReference:g});return{width:Math.round(b.width/r[s]),height:Math.round(b.height/r[n]),extent:b,dimensions:l}}function g(e){let t=(0,u.lR)();return t?e[t]??Object.values(e)[0]:Object.values(e)[0]}function y(){return Math.round(255*Math.random())}function x(e){let t={},{parameters:i}=e;if(!i)return t;for(let[e,a]of Object.entries(i)){let{type:i,description:r,unit:s,categoryEncoding:n,observedProperty:o}=a;if("Parameter"===i&&(t[e]={},r&&(t[e].description=g(r)),s&&(t[e].unit=s.label?g(s.label):null,t[e].symbol=s.symbol?.value),n)){let i=Object.entries(n).map((e,t)=>({OID:t,Value:Number(e[1]),ClassName:e[0].slice(e[0].lastIndexOf("/")+1),Count:1})),a=!1;o?.categories?.length&&(o.categories.forEach(e=>{if(!e.id)return;let t=e.id.slice(e.id.lastIndexOf("/")+1),r=i.find(e=>e.ClassName===t);if(r&&(r.Label=e.label?g(e.label):null,e.preferredColor)){let t=l.A.fromHex(e.preferredColor);t&&(a=!0,r.Red=t.r,r.Green=t.g,r.Blue=t.b)}}),a&&i.forEach(e=>{e.Red??(e.Red=y(),e.Green=y(),e.Blue=y())}));let r={objectIdFieldName:"",fields:[{name:"OID",type:"esriFieldTypeOID",alias:"OID",domain:null},{name:"Value",type:"esriFieldTypeInteger",alias:"Value",domain:null},{name:"Count",type:"esriFieldTypeDouble",alias:"Count",domain:null},{name:"ClassName",type:"esriFieldTypeString",alias:"ClassName",domain:null,length:50},{name:"Label",type:"esriFieldTypeString",alias:"Label",domain:null,length:50}],features:i.map(e=>({attributes:e}))};a&&r.fields.push({name:"Red",type:"esriFieldTypeInteger",alias:"Red",domain:null},{name:"Green",type:"esriFieldTypeInteger",alias:"Green",domain:null},{name:"Blue",type:"esriFieldTypeInteger",alias:"Blue",domain:null}),t[e].attributeTable=r}}return t}function w(e){let t=Number.MAX_VALUE,i=-Number.MAX_VALUE;for(let a=0;a<e.length;a++){let r=e[a];null!=r&&(r<t&&(t=r),r>i&&(i=r))}return(0,h.X1)(t,i)}function I(e,t,i){let a=e.map((e,i)=>({name:e,count:t[i]})).sort((e,t)=>e.name>t.name?-1:1),r=(e=>t=>e*=t.count)(1),s=[...a.slice(1),{name:"",count:1}].reverse().map(r).reverse(),n=0;for(let r=e.length-1;r>=0;r--){let l=a.findIndex(({name:t})=>t===e[r]);n+=s[l]*(i%t[r]),i=Math.floor(i/t[r])}return n}var b=i(17676),v=i(4366),C=i(47520),S=i(51927),T=i(45617),A=i(87186);let _=class extends n.A{constructor(){super(...arguments),this.datasetFormat="MEMORY",this.preGenerateTiles=!0,this.source=null}get url(){return""}fetchRawTile(e,t,i,a={}){if(!this._pixelBlockTiles){let{rasterInfo:r}=this,[s,n]=r.storageInfo.tileInfo.size,{sliceId:l}=a,{pixelBlocks:o}=this.source,f={pixelBlock:null==l?o[0]:o[l],useBilinear:"thematic"!==r.dataType,tileSize:{width:s,height:n},level:e,row:t,col:i},u=this.rasterJobHandler?this.rasterJobHandler.clipTile(f,a):(0,C.J$)(f);return Promise.resolve(u)}let r=this._pixelBlockTiles.get(`${e}/${t}/${i}`);return Promise.resolve(r)}async _open(e){let t=this.source,{pixelBlocks:i,attributeTable:a,statistics:r,histograms:s,name:n,nativeExtent:l,transform:u,colormap:h}=t,c=i[0],{width:d,height:p,pixelType:m}=c,g=t.extent??new o.A({xmin:-.5,ymin:.5,xmax:d-.5,ymax:p-.5,spatialReference:new f.A({wkid:3857})}),y=t.isPseudoSpatialReference??!t.extent,x={x:g.width/d,y:g.height/p},w={...t.keyProperties};t.dataType&&(w.DataType=t.dataType),t.bandInfos&&(w.BandProperties=t.bandInfos.map(e=>e.toJSON())),a&&(w.DataType="Thematic");let I=new A.A({width:d,height:p,pixelType:m,extent:g,nativeExtent:l,attributeTable:a,colormap:h,transform:u,pixelSize:x,spatialReference:g.spatialReference,bandCount:c.pixels.length,keyProperties:w,multidimensionalInfo:t.multidimensionalInfo,statistics:r,isPseudoSpatialReference:y,histograms:s});this.ioConfig.skipMapInfo&&this.updateImageSpaceRasterInfo(I),this.createRemoteDatasetStorageInfo(I,512,512),this._set("rasterInfo",I),this.updateTileInfo(),I.multidimensionalInfo?await this._buildMDimStats(t.pixelBlocks,I.multidimensionalInfo):this.preGenerateTiles&&await this._buildInMemoryRaster(c,{width:512,height:512},e),I.multidimensionalInfo||(this.source=null),this.datasetName=n}async _buildInMemoryRaster(e,t,i){let{rasterInfo:r}=this,s=r.storageInfo.maximumPyramidLevel??0,n="thematic"!==r.dataType,l=this.rasterJobHandler?this.rasterJobHandler.split({pixelBlock:e,tileSize:t,maximumPyramidLevel:s,useBilinear:n},i):Promise.resolve((0,C.lD)(e,t,s,n)),o=null!=r.statistics,f=null!=r.histograms,u=this.ioConfig.skipStatistics||o?Promise.resolve({statistics:null,histograms:null}):this.rasterJobHandler?this.rasterJobHandler.estimateStatisticsHistograms({pixelBlock:e},i):Promise.resolve((0,S.f4)(e)),h=await(0,b.Lx)([l,u]);if(!h[0].value&&h[1].value)throw new a.A("inmemory-raster:open","failed to build in memory raster");this._pixelBlockTiles=h[0].value,o||(r.statistics=h[1].value?.statistics),f||(r.histograms=h[1].value?.histograms)}async _buildMDimStats(e,t,i){for(let a=0;a<t.variables.length;a++){let r=t.variables[a];if(r.statistics)continue;let s=r.dimensions.map(e=>new T.A({variableName:r.name,dimensionName:e.name,values:[e.values?.[0]??e.extent?.[0]],isSlice:!0})),n=(0,v.NG)(s,t),l=null==n?null:e[n];if(null==l)continue;let o=this.rasterJobHandler?await this.rasterJobHandler.computeStatisticsHistograms({pixelBlock:l},i):(0,S.eH)(l);r.statistics=o.statistics,r.histograms||=o.histograms}}};(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],_.prototype,"datasetFormat",void 0),(0,r.Cg)([(0,s.MZ)({constructOnly:!0})],_.prototype,"preGenerateTiles",void 0),(0,r.Cg)([(0,s.MZ)()],_.prototype,"source",void 0),(0,r.Cg)([(0,s.MZ)()],_.prototype,"url",null),_=(0,r.Cg)([(0,s.$K)("esri.layers.raster.datasets.InMemoryRaster")],_);const R=_;var M=i(22671);let k=class extends n.A{constructor(){super(...arguments),this.datasetFormat="CovJSON"}fetchRawTile(e,t,i,a={}){return this._inMemoryRaster.fetchRawTile(e,t,i,a)}async _open(e){let{extent:t,pixelBlocks:i,multidimensionalInfo:a,attributeTable:r,bandNames:s}=await this._fetchData(e),{statistics:n,histograms:l}=(0,S.eH)(i[0]),o=s?.map(e=>({BandName:e})),f={DataType:r?"Thematic":a?"Scientific":"Generic",BandProperties:o},u=new R({source:{extent:t,pixelBlocks:i,attributeTable:r?M.A.fromJSON(r):null,multidimensionalInfo:a,statistics:n,histograms:l,keyProperties:f,isPseudoSpatialReference:!1}});await u.open(),this._inMemoryRaster=u;let h=this.source?"":this.url.slice(this.url.lastIndexOf("/")+1);this._set("datasetName",h.slice(0,h.indexOf("."))),this._set("rasterInfo",u.rasterInfo)}async _fetchData(e){let t=this.source??(await this.request(this.url,{signal:e?.signal})).data,i="imagery-tile-layer:open-coverage-json";if("coverage"!==t.type?.toLowerCase()||"grid"!==t.domain?.domainType?.toLowerCase())throw new a.A(i,"Only coverage with Grid domain type is supported");if(!t.ranges)throw new a.A(i,"Missing ranges in the grid coverage data");if(!t.domain.referencing?.length)throw new a.A(i,"Missing domain referencing in the grid coverage data");let r=Object.values(t.ranges);for(let e=0;e<r.length;e++){let{axisNames:t,shape:s,type:n,values:l}=r[e];if(!("ndarray"===n.toLowerCase()&&l?.length&&t?.length&&s?.length))throw new a.A(i,"Only ranges with valid NdArray, axisNames, shape, and inline values are supported");if(!d(t[t.length-1])||!p(t[t.length-2]))throw new a.A(i,"Only row-major ordered pixel values are supported. X axis must be the last axis.")}return function(e){let{width:t,height:i,extent:a,dimensions:r}=m(e),{ranges:s}=e,n=Object.keys(s).sort((e,t)=>e<t?-1:1),l=[];for(let e=0;e<n.length;e++){let t=n[e];r?.length&&l.push({name:t,dimensions:r})}let o=x(e);l.forEach(e=>o[e.name]&&Object.assign(e,o[e.name]));let f=l.length?{variables:l}:void 0,u=[];for(let e=0;e<n.length;e++){let{values:a,dataType:l,axisNames:o,shape:f}=s[n[e]],h=f.length>2?e*f.slice(0,-2).reduce((e,t)=>e*t):0,d=o.slice(0,-2),p=f.slice(0,-2),m="float"===l?"f32":w(a),g=t*i,y=a.length/g;for(let s=0;s<y;s++){let n=c.A.createEmptyBand(m,g),l=new Uint8Array(g).fill(255),o=!1,f=s*g;for(let e=0;e<g;e++){let t=a[f+e];null==t?(l[e]=0,o=!0):n[e]=t}if(0===e||r?.length){let e=new c.A({width:t,height:i,mask:o?l:null,pixels:[n],pixelType:m});e.updateStatistics(),r?.length?u[I(d,p,s)+h]=e:u.push(e)}else{let e=u[s];e.pixels.push(n),o?e.mask&&=c.A.combineBandMasks([e.mask,l]):e.mask=o?l:null}}}return{extent:a,pixelBlocks:u,multidimensionalInfo:f,attributeTable:Object.values(o).find(e=>e.attributeTable)?.attributeTable,bandNames:f?void 0:n}}(t)}};(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],k.prototype,"datasetFormat",void 0),(0,r.Cg)([(0,s.MZ)({constructOnly:!0})],k.prototype,"source",void 0),k=(0,r.Cg)([(0,s.$K)("esri.layers.raster.datasets.CovJSONRaster")],k);const O=k;var F=i(4576),B=i(21325),P=i(330),D=i(43163);function L(e,t){if(!e||!t)return null;let i=[];for(let a=0;a<e.length;a++)i.push(e[a]),i.push(t[a]);return i}function E(e){if(!e)return null;let t=Number(e);if(!isNaN(t)&&0!==t)return new f.A({wkid:t});if(e=String(e).trim(),(0,B.jp)(e))return new f.A({wkt2:e});let i=e.toUpperCase();if(i.startsWith("COMPD_CS")){if(!i.includes("VERTCS")||!i.includes("GEOGCS")&&!i.startsWith("PROJCS"))return null;let a=i.indexOf("VERTCS"),r=i.indexOf("PROJCS"),s=r>-1?r:i.indexOf("GEOGCS");if(-1===s)return null;let n=e.slice(s,e.lastIndexOf("]",a)+1).trim(),l=e.slice(a,e.lastIndexOf("]")).trim();t=N(n);let o=t?new f.A({wkid:t}):new f.A({wkt:n}),u=N(l);return u&&(o.vcsWkid=u),o}return i.startsWith("GEOGCS")||i.startsWith("PROJCS")?(t=N(e),0===t?new f.A({wkt:e}):new f.A({wkid:t})):null}function N(e){let t=e.replaceAll("]","[").replaceAll('"',"").split("[").map(e=>e.trim()).filter(e=>""!==e),i=t[t.length-1].split(","),a=i[0]?.toLowerCase();if(("epsg"===a||"esri"===a)&&e.endsWith('"]]')){let e=Number(i[1]);if(!isNaN(e)&&0!==e)return e}return 0}function H(e){if("pamdataset"!==e?.documentElement.tagName?.toLowerCase())return{};let t={spatialReference:null,transform:null,metadata:{},rasterBands:[],statistics:null,histograms:null};e.documentElement.childNodes.forEach(e=>{if(1===e.nodeType)if((0,P.g7)(e,"SRS")){if(!t.spatialReference){let i=(0,P.mX)(e);t.spatialReference=E(i)}}else if((0,P.g7)(e,"Metadata"))if("xml:ESRI"===e.getAttribute("domain")){let{spatialReference:i,transform:a}=function(e){let t=(0,P.V6)(e,"GeodataXform"),i=E((0,P.v7)(t,"SpatialReference/WKID")||(0,P.mX)(t,"SpatialReference/WKT"));if("typens:PolynomialXform"!==t.getAttribute("xsi:type"))return{spatialReference:i,transform:null};let a=(0,P.v7)(t,"PolynomialOrder")??1,r=(0,P.Ui)(t,"CoeffX/Double"),s=(0,P.Ui)(t,"CoeffY/Double"),n=(0,P.Ui)(t,"InverseCoeffX/Double"),l=(0,P.Ui)(t,"InverseCoeffY/Double"),o=L(r,s),f=L(n,l);return{spatialReference:i,transform:o&&f&&o.length&&f.length?new D.A({spatialReference:i,polynomialOrder:a,forwardCoefficients:o,inverseCoefficients:f}):null}}(e);t.transform=a,t.spatialReference||=i}else(0,P.IC)(e,"MDI").forEach(e=>t.metadata[e.getAttribute("key")]=(0,P.mX)(e));else if((0,P.g7)(e,"PAMRasterBand")){let i=function(e){let t,i,a,r,s=(0,P.v7)(e,"NoDataValue"),n=(0,P.V6)(e,"Histograms/HistItem"),l=(0,P.v7)(n,"HistMin"),o=(0,P.v7)(n,"HistMax"),f=(0,P.v7)(n,"BucketCount"),u=(0,P.mX)(n,"HistCounts")?.split("|").map(e=>Number(e));(0,P.IC)(e,"Metadata/MDI").forEach(e=>{let s=Number(e.textContent??e.nodeValue);switch(e.getAttribute("key").toUpperCase()){case"STATISTICS_MINIMUM":t=s;break;case"STATISTICS_MAXIMUM":i=s;break;case"STATISTICS_MEAN":a=s;break;case"STATISTICS_STDDEV":r=s}});let h=(0,P.v7)(e,"Metadata/SourceBandIndex");return{noDataValue:s,histogram:u?.length&&null!=l&&null!=o?{min:l,max:o,size:f||u.length,counts:u}:null,sourceBandIndex:h,statistics:null!=t&&null!=i?{min:t,max:i,avg:a,stddev:r}:null}}(e);null!=i.sourceBandIndex&&null==t.rasterBands[i.sourceBandIndex]?t.rasterBands[i.sourceBandIndex]=i:t.rasterBands.push(i)}});let i=t.rasterBands;return i.length&&(t.statistics=i[0].statistics?i.map(e=>e.statistics).filter(F.Ru):null,t.histograms=i[0].histogram?i.map(e=>e.histogram).filter(F.Ru):null),t}var z=i(85951),J=i(96381);let U=class extends n.A{set rasterJobHandler(e){this._set("rasterJobHandler",e),this._inMemoryRaster&&(this._inMemoryRaster.rasterJobHandler=e)}fetchRawTile(e,t,i,a={}){if(this._imageBlob){let{blockWidth:a,blockHeight:r}=this.rasterInfo.storageInfo;return this.decodePixelBlock(this._imageBlob,{tileSize:[a,r],tileIndex:[e,t,i],canvasUsage:"canvas-only",cloneSource:!0,skipStatistics:!0})}return this._inMemoryRaster?this._inMemoryRaster.fetchRawTile(e,t,i,a):Promise.resolve(null)}async _open(e){let t=await this._fetchData(e);if(null==t)throw new a.A("image-aux-raster:open","the data cannot be decoded");let{spatialReference:i,statistics:r,histograms:s,transform:n}=await this._fetchAuxiliaryData(e),l=!i;l&&(i=new f.A({wkid:3857})),s?.length&&null==r&&(r=(0,S.Pg)(s));let{width:u,height:h,pixelBlock:c}=t,d=new o.A({xmin:-.5,ymin:.5-h,xmax:u-.5,ymax:.5,spatialReference:i}),p=n?n.forwardTransform(d):d,m=!0;if(n){let e=n.forwardCoefficients;m=e&&0===e[1]&&0===e[2],m&&(n=null,d=p)}if(!c){let e=new A.A({width:u,height:h,bandCount:3,pixelType:"u8",extent:p,nativeExtent:d,transform:n,pixelSize:{x:p.width/u,y:p.height/h},spatialReference:p.spatialReference,keyProperties:{DataType:"Processed"}});return this.ioConfig.skipMapInfo&&this.updateImageSpaceRasterInfo(e),this.createRemoteDatasetStorageInfo(e,512,512),this._set("rasterInfo",e),void this.updateTileInfo()}let{rasterJobHandler:g,ioConfig:y}=this,x=new R({preGenerateTiles:!1,rasterJobHandler:g,source:{extent:p,nativeExtent:d,transform:n,pixelBlocks:[c],statistics:r,histograms:s,keyProperties:{DataType:"Processed"},isPseudoSpatialReference:l},ioConfig:{...y,sampling:"closest",skipStatistics:!0}});await x.open(),x.source=null,this._set("rasterInfo",x.rasterInfo),this._inMemoryRaster=x}async _fetchData(e){let{data:t}=await this.request(this.url,{responseType:"array-buffer",signal:e?.signal}),i=(0,J.g)(t);if("jpg"!==i&&"png"!==i&&"gif"!==i&&"bmp"!==i)throw new a.A("image-aux-raster:open","the data is not a supported format");if(this._set("datasetFormat",i.toUpperCase()),"jpg"===i){let e=(0,z.R)(t);if(null==e)throw new a.A("image-aux-raster:open","the data is not a supported format");return this._imageBlob=t,e}try{let e=await this.decodePixelBlock(t,{format:i,canvasUsage:"canvas-only",cloneSource:!0,skipStatistics:!0});return this._imageBlob=t,e?{width:e.width,height:e.height,pixelBlock:e}:null}catch{let e=await this.decodePixelBlock(t,{format:i,canvasUsage:"no-canvas",skipStatistics:!0});return e?{width:e.width,height:e.height,pixelBlock:e}:null}}async _fetchAuxiliaryData(e){let t=e?.signal,{skipExtensions:i=[],skipMapInfo:a}=this.ioConfig,r=a||i.includes("aux.xml")?null:this.request(this.url+".aux.xml",{responseType:"xml",signal:t}),s=this.datasetFormat,n="JPG"===s?"jgw":"PNG"===s?"pgw":"BMP"===s?"bpw":null,l=n&&i.includes(n)?null:this.request(this.url.slice(0,this.url.lastIndexOf("."))+"."+n,{responseType:"text",signal:t}),o=await(0,b.Lx)([r,l]);if(t?.aborted)throw(0,b.NK)();let f=H(o[0].value?.data);if(!f.transform){let e=o[1].value?o[1].value.data.split("\n").slice(0,6).map(e=>Number(e)):null;f.transform=6===e?.length?new D.A({forwardCoefficients:[e[4],e[5],e[0],-e[1],e[2],-e[3]]}):null}return f}};(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],U.prototype,"datasetFormat",void 0),(0,r.Cg)([(0,s.MZ)()],U.prototype,"rasterJobHandler",null),U=(0,r.Cg)([(0,s.$K)("esri.layers.raster.datasets.ImageAuxRaster")],U);const G=U;var j=i(97768),q=i(84952),W=i(86738),V=i(75414),Z=i(20223),$=i(87045),X=i(25943),Y=i(82371);let K=class extends n.A{constructor(){super(...arguments),this._levelOffset=0,this._tilemapCache=null,this._slices=null,this.datasetFormat="RasterTileServer",this.tileType=null}async fetchRawTile(e,t,i,a={}){let{storageInfo:r,extent:s}=this.rasterInfo,{transposeInfo:n}=r,l=null!=n&&!!a.transposedVariableName;if(this._slices&&!l&&null==a.sliceId)return null;let o,f,u=l?0:r.maximumPyramidLevel-e+this._levelOffset,h=`${this.url}/tile/${u}/${t}/${i}`,c={...this._slices?l?{variable:a.transposedVariableName}:{sliceId:a.sliceId||0}:null,...a.refreshParameters};if(r.isBsqTile){let e=(a.bandIds?.length?a.bandIds:[0,1,2]).map(e=>this.request(h,{query:{...c,bandId:e},responseType:"array-buffer",signal:a.signal})),t=await Promise.all(e),i=t.map(e=>e.data.byteLength).reduce((e,t)=>e+t),r=new Uint8Array(i);f=[];let s=0;for(let{data:e}of t)f.push(s),r.set(new Uint8Array(e),s),s+=e.byteLength;o=r.buffer}else o=(await this.request(h,{query:c,responseType:"array-buffer",signal:a.signal})).data;if(!o)return null;let{tileInfo:d}=r,p=l?n.tileSize:d.size,m=/^(mixed|jp)/i.test(d.format),g=await this.decodePixelBlock(o,{width:p[0],height:p[1],planes:f?.length,offsets:f,pixelType:null,isPoint:"Elevation"===this.tileType,returnInterleaved:l,noDataValue:this.rasterInfo.noDataValue,applyJpegMask:m});if(null==g)return null;let y=r.blockBoundary[e];if("jpg"!==r.compression||i>y.minCol&&i<y.maxCol&&t>y.minRow&&t<y.maxRow)return g;let{origin:x,blockWidth:w,blockHeight:I}=r,{x:b,y:v}=this.getPyramidPixelSize(e),S=Math.round((s.xmin-x.x)/b)%w,T=Math.round((s.xmax-x.x)/b)%w||w,A=Math.round((x.y-s.ymax)/v)%I,_=Math.round((x.y-s.ymin)/v)%I||I,R=i===y.minCol?S:0,M=t===y.minRow?A:0,k=i===y.maxCol?T:w,O=t===y.maxRow?_:I;return(0,C.z$)(g,{x:R,y:M},{width:k-R,height:O-M}),g}getSliceIndex(e){if(!this._slices||null==e||0===e.length)return null;let t=e;for(let e=0;e<this._slices.length;e++){let i=this._slices[e].multidimensionalDefinition;if(i.length===t.length&&!i.some(e=>{let i=t.find(t=>e.variableName===t.variableName&&t.dimensionName===e.dimensionName);return!i||(Array.isArray(e.values[0])?`${e.values[0][0]}-${e.values[0][1]}`:e.values[0])!==(Array.isArray(i.values[0])?`${i.values[0][0]}-${i.values[0][1]}`:i.values[0])}))return e}return null}async fetchVariableStatisticsHistograms(e,t){let i=this.request(this.url+"/statistics",{query:{variable:e,f:"json"},signal:t}).then(e=>e.data?.statistics),a=this.request(this.url+"/histograms",{query:{variable:e,f:"json"},signal:t}).then(e=>e.data?.histograms),r=await Promise.all([i,a]);return r[0]&&r[0].forEach(e=>{e.avg=e.mean,e.stddev=e.standardDeviation}),r[1]?.[0]?.counts?.length||(r[1]=null),{statistics:r[0]||null,histograms:r[1]||null}}async computeBestPyramidLevelForLocation(e,t={}){if(!this._tilemapCache)return 0;let i=this.identifyPixelLocation(e,0,t.datumTransformation);if(null===i)return null;let a=0,{maximumPyramidLevel:r}=this.rasterInfo.storageInfo,s=r-a+this._levelOffset,n=i.srcLocation;for(;s>=0;){try{if("available"===await this._tilemapCache.fetchAvailability(s,i.row,i.col,t))break}catch{}if(s--,a++,i=this.identifyPixelLocation(n,a,t.datumTransformation),null===i)return null}return-1===s||null==i?null:a}async _open(e){let t=e?.signal,i=this.sourceJSON?{data:this.sourceJSON}:await this.request(this.url,{query:{f:"json"},signal:t});i.ssl&&(this.url=this.url.replace(/^http:/i,"https:"));let r=i.data;if(this.sourceJSON=r,!r)throw new a.A("imageserverraster:open","cannot initialize tiled image service, missing service info");if(!r.tileInfo)throw new a.A("imageserverraster:open","use ImageryLayer to open non-tiled image services");this._fixScaleInServiceInfo();this.tileType=r.cacheType,this.tileType??=["jpg","jpeg","png","png8","png24","png32","mixed"].includes(r.tileInfo.format.toLowerCase())?"Map":"lerc"===r.tileInfo.format.toLowerCase()?"Elevation":"Raster",this.datasetName=r.name?.slice(r.name.indexOf("/")+1)??"";let s=this.rasterInfo??await this._fetchRasterInfo({signal:t});if(null==s)throw new a.A("image-server-raster:open","cannot initialize image service");(0,Y.E9)(s,r);let n="Map"===this.tileType?function(e,t){if(!e)return null;let{minScale:i,maxScale:a,minLOD:r,maxLOD:s}=t;if(null!=r&&null!=s)return $.A.fromJSON({...e,lods:e.lods.filter(({level:e})=>null!=e&&e>=r&&e<=s)});if(0!==i&&0!==a){let t=e=>Math.round(1e4*e)/1e4,r=i?t(i):1/0,s=a?t(a):-1/0;return $.A.fromJSON({...e,lods:e.lods.filter(e=>{let i=t(e.scale);return i<=r&&i>=s})})}return $.A.fromJSON(e)}(r.tileInfo,r):$.A.fromJSON(r.tileInfo);(0,j.Lw)(n);let[l,o]=this._computeMinMaxLOD(s,n),{extent:f,pixelSize:u}=s,h=.001*Math.min(u.x,u.y);(u.x!==u.y||Math.abs(l.resolution-u.x)>h)&&(u.x=u.y=l.resolution,s.width=Math.ceil((f.xmax-f.xmin)/u.x-.1),s.height=Math.ceil((f.ymax-f.ymin)/u.y-.1));let c=l.level-o.level,[d,p]=n.size,m=[],g=[],{lods:y}=n;y.forEach((e,t)=>{e.level>=o.level&&e.level<=l.level&&m.push({x:e.resolution,y:e.resolution}),t<y.length-1&&g.push(Math.round(10*e.resolution/y[t+1].resolution)/10)}),m.sort((e,t)=>e.x-t.x);let x,w=this.computeBlockBoundary(f,d,p,n.origin,m,c),I=m.length>1?m.slice(1):null;r.transposeInfo&&(x={tileSize:[r.transposeInfo.rows,r.transposeInfo.cols],packetSize:s.keyProperties?._yxs.PacketSize??0});let b=g.length<=1||g.length>=3&&g.slice(0,-1).every(e=>e===g[0])?g[0]??2:Math.round(10/(o.resolution/l.resolution)**(-1/c))/10,v=!!r.bsq&&"Raster"===this.tileType;if(s.storageInfo=new Z.A({blockWidth:n.size[0],blockHeight:n.size[1],pyramidBlockWidth:n.size[0],pyramidBlockHeight:n.size[1],pyramidResolutions:I,pyramidScalingFactor:b,compression:n.format,origin:n.origin,firstPyramidLevel:1,maximumPyramidLevel:c,tileInfo:n,isBsqTile:v,transposeInfo:x,blockBoundary:w}),function(e){let{extent:t,spatialReference:i}=e;t.xmin>-1&&t.xmax>181&&i?.wkid&&i.isGeographic&&(e.nativeExtent=e.extent,e.transform=new V.A,e.extent=e.transform.forwardTransform(t))}(s),this._set("rasterInfo",s),r.capabilities.toLowerCase().includes("tilemap")){let e={tileInfo:s.storageInfo.tileInfo,parsedUrl:(0,q.An)(this.url),url:this.url,tileServers:[]};this._tilemapCache=new X.d({layer:e})}}async _fetchRasterInfo(e){let t=this.sourceJSON;if("Map"===this.tileType){let e=t.fullExtent||t.extent,i=Math.ceil((e.xmax-e.xmin)/t.pixelSizeX-.1),a=Math.ceil((e.ymax-e.ymin)/t.pixelSizeY-.1),r=f.A.fromJSON(t.spatialReference||e.spatialReference),s=new W.A({x:t.pixelSizeX,y:t.pixelSizeY,spatialReference:r});return new A.A({width:i,height:a,bandCount:3,extent:o.A.fromJSON(e),spatialReference:r,pixelSize:s,pixelType:"u8",statistics:null,keyProperties:{DataType:"processed"}})}let i={...e,query:{...this.ioConfig.customFetchParameters,f:"json"}},a=(0,Y.Tw)(this.url,this.sourceJSON,i),r=t.hasMultidimensions?this.request(`${this.url}/slices`,i).then(e=>e.data?.slices).catch(()=>null):null,s=await Promise.all([a,r]);return this._slices=s[1],s[0]}_fixScaleInServiceInfo(){let{sourceJSON:e}=this;e.minScale&&e.minScale<0&&(e.minScale=0),e.maxScale&&e.maxScale<0&&(e.maxScale=0)}_computeMinMaxLOD(e,t){let{pixelSize:i}=e,a=.5/e.width*i.x,{lods:r}=t,s=t.lodAt(Math.max.apply(null,r.map(e=>e.level))),n=t.lodAt(Math.min.apply(null,r.map(e=>e.level))),{tileType:l}=this;if("Map"===l)return this._levelOffset=r[0].level,[s,n];if("Raster"===l)return[r.find(e=>e.resolution===i.x)??s,n];let{minScale:o,maxScale:f}=this.sourceJSON,u=s;f>0&&(u=r.find(e=>Math.abs(e.scale-f)<a),u||=r.filter(e=>e.scale>f).sort((e,t)=>e.scale>t.scale?1:-1)[0]??s);let h=n;return o>0&&(h=r.find(e=>Math.abs(e.scale-o)<a)??n,this._levelOffset=h.level-n.level),[u,h]}};(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],K.prototype,"datasetFormat",void 0),(0,r.Cg)([(0,s.MZ)()],K.prototype,"tileType",void 0),K=(0,r.Cg)([(0,s.$K)("esri.layers.raster.datasets.ImageServerRaster")],K);const Q=K;var ee=i(10713);const te=new Map([["byte","u8"],["signedbyte","s8"],["int8","s8"],["uint8","u8"],["int16","s16"],["uint16","u16"],["int32","s32"],["uint32","u32"],["float32","f32"],["float64","f64"],["double64","f64"]]),ie=new Map;ie.set("none",{blobExtension:".til",isOneSegment:!0,decoderFormat:"bip"}),ie.set("lerc",{blobExtension:".lrc",isOneSegment:!1,decoderFormat:"lerc"}),ie.set("deflate",{blobExtension:".pzp",isOneSegment:!0,decoderFormat:"deflate"}),ie.set("jpeg",{blobExtension:".pjg",isOneSegment:!0,decoderFormat:"jpg"}),ie.set("qb3",{blobExtension:".pq3",isOneSegment:!0,decoderFormat:"qb3"});let ae=class extends n.A{constructor(){super(...arguments),this._files=null,this._storageIndex=null,this._isBsq=!1,this.datasetFormat="MRF"}async fetchRawTile(e,t,i,a={}){let{blockWidth:r,blockHeight:s,blockBoundary:n}=this.rasterInfo.storageInfo,l=n[e];if(!l||l.maxRow<t||l.maxCol<i||l.minRow>t||l.minCol>i)return null;let{bandCount:o,pixelType:f}=this.rasterInfo,{ranges:u,actualTileWidth:h,actualTileHeight:d}=this._getTileLocation(e,t,i);if(!u||0===u.length)return null;if(u.some(e=>e.from>e.to)){let e=new Uint8Array(r*s);return new c.A({width:r,height:s,pixels:void 0,mask:e,validPixelCount:0})}let{bandIds:p}=this.ioConfig,m=this._getBandSegmentCount(),g=[],y=0;for(y=0;y<m;y++)(!p||p.includes(y))&&g.push(this.request(this._files.data,{range:{from:u[y].from,to:u[y].to},responseType:"array-buffer",signal:a.signal}));let x=await Promise.all(g),w=x.map(e=>e.data.byteLength).reduce((e,t)=>e+t),I=new Uint8Array(w),b=[],v=0;for(y=0;y<m;y++)b.push(v),I.set(new Uint8Array(x[y].data),v),v+=x[y].data.byteLength;let C=ie.get(this.rasterInfo.storageInfo.compression).decoderFormat,S="jpg"===C&&4===o&&1===b.length,T=await this.decodePixelBlock(I.buffer,{width:r,height:s,format:C,planes:p?.length||o,offsets:b,pixelType:f,canvasUsage:S?"no-canvas":void 0,decodeJpegAsRgb:!1}).catch(()=>null);if(null==T)return null;let{noDataValue:A}=this.rasterInfo;if(null!=A&&"lerc"!==C&&!T.mask&&(A=A[0],null!=A)){let e=T.width*T.height,t=new Uint8Array(e);if(Math.abs(A)>1e24)for(y=0;y<e;y++)Math.abs((T.pixels[0][y]-A)/A)>1e-6&&(t[y]=1);else for(y=0;y<e;y++)T.pixels[0][y]!==A&&(t[y]=1);T.mask=t}let _=0,R=0;if(h!==r||d!==s){let e=T.mask;if(e)for(y=0;y<s;y++)if(R=y*r,y<d)for(_=h;_<r;_++)e[R+_]=0;else for(_=0;_<r;_++)e[R+_]=0;else for(e=new Uint8Array(r*s),T.mask=e,y=0;y<d;y++)for(R=y*r,_=0;_<h;_++)e[R+_]=1}return T}async _open(e){this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1);let t=e?e.signal:null,i=await this.request(this.url,{responseType:"xml",signal:t}),{rasterInfo:a,files:r}=this._parseHeader(i.data),{skipMapInfo:s,skipExtensions:n=[]}=this.ioConfig;if(!n.includes("aux.xml")&&!s){let t=await this._fetchAuxiliaryData(e);null!=t&&(a.statistics=t.statistics??a.statistics,a.histograms=t.histograms,t.histograms&&null==a.statistics&&(a.statistics=(0,S.Pg)(t.histograms)))}s&&this.updateImageSpaceRasterInfo(a),this._set("rasterInfo",a),this._files=r;let l=await this.request(r.index,{responseType:"array-buffer",signal:t});this._storageIndex=function(e){if(e.byteLength%16>0)throw Error("invalid array buffer must be multiples of 16");let t;if(ee.Z){let i=new Uint8Array(e),a=new ArrayBuffer(e.byteLength),r=new Uint8Array(a);for(let t=0;t<e.byteLength/4;t++)for(let e=0;e<4;e++)r[4*t+e]=i[4*t+3-e];t=new Uint32Array(a)}else t=new Uint32Array(e);return t}(l.data);let{blockWidth:o,blockHeight:f}=this.rasterInfo.storageInfo,u=this.rasterInfo.storageInfo.pyramidScalingFactor,{width:h,height:c}=this.rasterInfo,d=[],p=this._getBandSegmentCount(),m=0,g=-1;for(;m<this._storageIndex.length;){g++;let e=Math.ceil(h/o/u**g)-1,t=Math.ceil(c/f/u**g)-1;m+=(e+1)*(t+1)*p*4,d.push({maxRow:t,maxCol:e,minCol:0,minRow:0})}this.rasterInfo.storageInfo.blockBoundary=d,g>0&&(this.rasterInfo.storageInfo.firstPyramidLevel=1,this.rasterInfo.storageInfo.maximumPyramidLevel=g),this.updateTileInfo()}_getBandSegmentCount(){return this._isBsq?this.rasterInfo.bandCount:1}_getTileLocation(e,t,i){let a,r,s,{blockWidth:n,blockHeight:l,pyramidScalingFactor:o}=this.rasterInfo.storageInfo,{width:f,height:u}=this.rasterInfo,h=this._getBandSegmentCount(),c=0,d=0;for(s=0;s<e;s++)d=o**s,a=Math.ceil(f/n/d),r=Math.ceil(u/l/d),c+=a*r;d=o**e,a=Math.ceil(f/n/d),r=Math.ceil(u/l/d),c+=t*a+i,c*=4*h;let p=this._storageIndex.subarray(c,c+4*h),m=0,g=0,y=[];for(let e=0;e<h;e++)m=p[4*e]*2**32+p[4*e+1],g=m+p[4*e+2]*2**32+p[4*e+3]-1,y.push({from:m,to:g});return{ranges:y,actualTileWidth:i<a-1?n:Math.ceil(f/d)-n*(a-1),actualTileHeight:t<r-1?l:Math.ceil(u/d)-l*(r-1)}}_parseHeader(e){let t=(0,P.V6)(e,"MRF_META/Raster");if(!t)throw new a.A("mrf:open","not a valid MRF format");let i=(0,P.V6)(t,"Size"),r=parseInt(i.getAttribute("x"),10),s=parseInt(i.getAttribute("y"),10),n=parseInt(i.getAttribute("c"),10),l=((0,P.mX)(t,"Compression")||"none").toLowerCase();if(!ie.has(l))throw new a.A("mrf:open","currently does not support compression "+l);let u=(0,P.mX)(t,"DataType")||"UInt8",h=te.get(u.toLowerCase());if(null==h)throw new a.A("mrf:open","currently does not support pixel type "+u);let c=(0,P.V6)(t,"PageSize"),d=parseInt(c.getAttribute("x"),10),p=parseInt(c.getAttribute("y"),10),m=c.getAttribute("c"),g=m?m===String(n):ie.get(l).isOneSegment;this._isBsq=!g;let y,x=(0,P.V6)(t,"DataValues");if(x){let e=x.getAttribute("NoData");null!=e&&(y=e.trim().split(" ").map(e=>parseFloat(e)))}if((0,P.V6)(e,"MRF_META/CachedSource"))throw new a.A("mrf:open","currently does not support MRF referencing other data files");let w,I=(0,P.V6)(e,"MRF_META/GeoTags"),b=(0,P.V6)(I,"BoundingBox"),v=!1;if(null!=b){let e=parseFloat(b.getAttribute("minx")),t=parseFloat(b.getAttribute("miny")),i=parseFloat(b.getAttribute("maxx")),a=parseFloat(b.getAttribute("maxy")),r=(0,P.mX)(I,"Projection")||"",s=f.A.WGS84;if("LOCAL_CS[]"!==r)if(r.toLowerCase().startsWith("epsg:")){let e=Number(r.slice(5));!isNaN(e)&&0!==e&&(s=new f.A({wkid:e}))}else s=E(r)??f.A.WGS84;else v=!0,s=new f.A({wkid:3857});w=new o.A(e,t,i,a),w.spatialReference=s}else v=!0,w=new o.A({xmin:-.5,ymin:.5-s,xmax:r-.5,ymax:.5,spatialReference:new f.A({wkid:3857})});let C=(0,P.V6)(e,"MRF_META/Rsets"),S=parseInt(C?.getAttribute("scale")||"2",10),T=w.spatialReference,_=new Z.A({origin:new W.A({x:w.xmin,y:w.ymax,spatialReference:T}),blockWidth:d,blockHeight:p,pyramidBlockWidth:d,pyramidBlockHeight:p,compression:l,pyramidScalingFactor:S}),R=new W.A({x:w.width/r,y:w.height/s,spatialReference:T}),M=new A.A({width:r,height:s,extent:w,isPseudoSpatialReference:v,spatialReference:T,bandCount:n,pixelType:h,pixelSize:R,noDataValue:y,storageInfo:_}),k=this._getAuxFullPath((0,P.mX)(t,"DataFile")),O=this._getAuxFullPath((0,P.mX)(t,"IndexFile"));return{rasterInfo:M,files:{mrf:this.url,index:O||this.url.replace(".mrf",".idx"),data:k||this.url.replace(".mrf",ie.get(l).blobExtension)}}}_getAuxFullPath(e){return!e||e.includes("\\")?null:e.includes("/")?e.startsWith(new URL(this.url).origin)?e:null:`${this.url.slice(0,this.url.lastIndexOf("/"))}/${e}`}async _fetchAuxiliaryData(e){try{let{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:e?.signal});return H(t)}catch{return null}}};(0,r.Cg)([(0,s.MZ)()],ae.prototype,"_files",void 0),(0,r.Cg)([(0,s.MZ)()],ae.prototype,"_storageIndex",void 0),(0,r.Cg)([(0,s.MZ)()],ae.prototype,"_isBsq",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],ae.prototype,"datasetFormat",void 0),ae=(0,r.Cg)([(0,s.$K)("esri.layers.raster.datasets.MRFRaster")],ae);const re=ae;i(44208);var se=i(53966),ne=i(9334);function le(e){let t=e.fields,i=e.records,a=t.some(e=>"oid"===e.name.toLowerCase())?"OBJECTID":"OID",r=[{name:a,type:"esriFieldTypeOID",alias:"OID"}].concat(t.map(e=>({name:e.name,type:"esriFieldType"+e.typeName,alias:e.name}))),s=r.map(e=>e.name),n=[],l=0,o=0;return i.forEach(e=>{let t={};for(t[a]=l++,o=1;o<s.length;o++)t[s[o]]=e[o-1];n.push({attributes:t})}),{displayFieldName:"",fields:r,features:n}}function oe(e){let t=new DataView(e),i=3&t.getUint8(0);if(3!==i)return{header:{version:i},recordSet:null};let a=t.getUint32(4,!0),r=t.getUint16(8,!0),s=t.getUint16(10,!0),n={version:i,recordCount:a,headerByteCount:r,recordByteCount:s},l=32,o=[],f=[];for(;13!==t.getUint8(l);){let i=String.fromCharCode(t.getUint8(l+11)).trim();o.push({name:(0,ne.w)(new Uint8Array(e,l,11)),type:i,typeName:["String","Date","Double","Boolean","String","Integer"][["C","D","F","L","M","N"].indexOf(i)],length:t.getUint8(l+16)}),l+=32}if(l+=1,o.length>0)for(;f.length<a&&e.byteLength-l>s;){let i=[];32===t.getUint8(l)?(l+=1,o.forEach(t=>{if("C"===t.type)i.push((0,ne.w)(new Uint8Array(e,l,t.length)).trim());else if("N"===t.type)i.push(parseInt(String.fromCharCode.apply(null,new Uint8Array(e,l,t.length)).trim(),10));else if("F"===t.type)i.push(parseFloat(String.fromCharCode.apply(null,new Uint8Array(e,l,t.length)).trim()));else if("D"===t.type){let a=String.fromCharCode.apply(null,new Uint8Array(e,l,t.length)).trim();i.push(new Date(parseInt(a.slice(0,4),10),parseInt(a.slice(4,6),10)-1,parseInt(a.slice(6,8),10)))}l+=t.length}),f.push(i)):l+=s}return{header:n,fields:o,records:f,recordSet:le({fields:o,records:f})}}var fe=i(44094),ue=i(94213);const he="none-tiled tiff is not optimized for access, convert to COG and retry.";let ce=class extends n.A{constructor(){super(...arguments),this._files=null,this._headerInfo=null,this._bufferSize=1048576,this._chunkSize=10485760,this._fileSize=-1,this._headerChunks=[],this.datasetFormat="TIFF"}async fetchRawTile(e,t,i,a={}){if(!this._headerInfo?.isSupported||this.isBlockOutside(e,t,i))return null;let r=await this._fetchRawTiffTile(e,t,i,!1,a);if(null!=r&&this._headerInfo.hasMaskBand){let s=await this._fetchRawTiffTile(e,t,i,!0,a);null!=s&&s.pixels[0]instanceof Uint8Array&&(r.mask=s.pixels[0])}return r}async _open(e){this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1,this.url.lastIndexOf(".")),await this._readHeader(e?.signal);let{rasterInfo:t}=this,{skipMapInfo:i,skipExtensions:a=[]}=this.ioConfig;if(!a.includes("aux.xml")&&!i){let i=await this._fetchAuxiliaryMetaData(e);null!=i&&function(e,t){if(t.statistics=e.statistics??t.statistics,t.histograms=e.histograms,e.histograms&&null==t.statistics&&(t.statistics=(0,S.Pg)(e.histograms)),e.transform&&null==t.transform){t.transform=e.transform,t.nativeExtent=t.extent;let i=t.transform.forwardTransform(t.nativeExtent);t.pixelSize=new W.A({x:(i.xmax-i.xmin)/t.width,y:(i.ymax-i.ymin)/t.height,spatialReference:t.spatialReference}),t.extent=i}t.isPseudoSpatialReference&&e.spatialReference&&(t.spatialReference=e.spatialReference,t.extent.spatialReference=t.nativeExtent.spatialReference=t.storageInfo.origin.spatialReference=t.spatialReference)}(i,t)}!a.includes("vat.dbf")&&1===t.bandCount&&"u8"===t.pixelType&&!i&&(t.attributeTable=await this._fetchAuxiliaryTable(e),null!=t.attributeTable&&(t.keyProperties.DataType="thematic")),i&&this.updateImageSpaceRasterInfo(t),this.updateTileInfo()}async _readHeader(e){try{let t=await this._fetchHeaderData(0,this._bufferSize,e);if(!t)throw new a.A("tiffraster:open","failed to open url "+this.url);let{littleEndian:i,firstIFDPos:r,isBigTiff:s}=(0,fe.uT)(t),n=[],l={fileChunk:t,posIFD:r,fileOffset:0};await this._readIFDs(n,l,i,s?8:4,e);let{imageInfo:u,rasterInfo:h}=function(e){let t=(0,fe.uc)(e),{width:i,height:a,tileWidth:r,tileHeight:s,planes:n,pixelType:l,compression:u,firstPyramidLevel:h,maximumPyramidLevel:c,pyramidBlockWidth:d,pyramidBlockHeight:p,pyramidResolutions:m,tileBoundary:g,affine:y,metadata:x,colormap:w}=t,I=E(t.extent.spatialReference?.wkt||t.extent.spatialReference?.wkid),b=!!t.isPseudoGeographic;I??=(b=!0,new f.A({wkid:3857}));let v=new o.A({...t.extent,spatialReference:I}),C=v?new W.A({x:v.xmin,y:v.ymax,spatialReference:I}):new W.A({x:0,y:0}),S=new Z.A({blockWidth:r,blockHeight:s,pyramidBlockWidth:d,pyramidBlockHeight:p,compression:u,origin:C,firstPyramidLevel:h,maximumPyramidLevel:c,pyramidResolutions:m,blockBoundary:g}),T=new W.A({x:(v.xmax-v.xmin)/i,y:(v.ymax-v.ymin)/a,spatialReference:I}),_=x?{BandProperties:x.bandProperties,DataType:x.dataType}:{},R=new A.A({width:i,height:a,bandCount:n,pixelType:l,pixelSize:T,storageInfo:S,spatialReference:I,isPseudoSpatialReference:b,keyProperties:_,extent:v,colormap:w,statistics:x?x.statistics:null});if(y?.length&&(R.nativeExtent=new o.A({xmin:-.5,ymin:.5-a,xmax:i-.5,ymax:.5,spatialReference:I}),R.transform=new D.A({polynomialOrder:1,forwardCoefficients:[y[2]+y[0]/2,y[5]-y[3]/2,y[0],y[3],-y[1],-y[4]]}),R.extent=R.transform.forwardTransform(R.nativeExtent),R.pixelSize=new W.A({x:(v.xmax-v.xmin)/i,y:(v.ymax-v.ymin)/a,spatialReference:I}),S.origin.x=-.5,S.origin.y=.5),m){let{x:e,y:t}=R.pixelSize;m.forEach(i=>{i.x*=e,i.y*=t})}return{imageInfo:t,rasterInfo:R}}(n),c=(0,fe.zS)(n),d=(0,fe.r9)(n);this._headerInfo={littleEndian:i,isBigTiff:s,ifds:n,pyramidIFDs:c,maskIFDs:d,...u},this._set("rasterInfo",h),this._validateHeader()}finally{this._headerChunks.length=0}}_validateHeader(){let e=this._headerInfo;if(!e.isSupported)throw new a.A("tiffraster:open","this tiff is not supported: "+e.message);if(!e.tileWidth||!e.tileHeight)throw new a.A("tiffraster:open",he);this.rasterInfo.isPseudoSpatialReference&&se.A.getLogger(this).warn("The spatial reference for this tiff is unsupported. Only EPSG spatial reference codes and Esri WKTs are supported.");let t=e.ifds[0],i=t.get("PREDICTOR")?.values?.[0];if(3===t.get("SAMPLEFORMAT")?.values?.[0]&&2===i)throw new a.A("tiffraster:open","unsupported horizontal difference encoding. Predictor=3 is supported for floating point data")}async _fetchHeaderData(e,t,i){let r=this._getCachedHeaderData(e,t);if(r)return r;let s=Math.floor(e/this._bufferSize)*this._bufferSize,n=s+Math.max(1,Math.ceil((t-s)/this._bufferSize))*this._bufferSize,l=this._getMissingHeaderRanges(s,n).map(async e=>{let{from:t,to:a}=e,r=await this._fetchOffsets(t,a,i),s=this._fileSize;return{chunk:r,fileOffset:t,isEOF:s>0?t+r.byteLength>=s:r.byteLength<a-t+1}}),o=await Promise.all(l);this._headerChunks.push(...o),this._headerChunks.sort((e,t)=>e.fileOffset-t.fileOffset);let f=this._getCachedHeaderData(e,t);if(!f)throw new a.A("tiffraster:open",`failed to fetch byte range ${e}-${t} from ${this.url}`);return f}_getCachedHeaderData(e,t){let i=[],a=e;for(let{chunk:r,fileOffset:s,isEOF:n}of this._headerChunks){if(s+r.byteLength-1<a)continue;if(s>a)return null;let l=a-s,o=Math.min(t-s+1,r.byteLength);if(i.push({chunk:r,start:l,end:o}),a=s+o,a>t||n&&o===r.byteLength){let t=new Uint8Array(a-e),r=0;for(let e of i){let i=new Uint8Array(e.chunk,e.start,e.end-e.start);t.set(i,r),r+=i.byteLength}return t.buffer}}return null}_getMissingHeaderRanges(e,t){let i=[],a=(e,t)=>{let a=Math.floor(e/this._bufferSize)*this._bufferSize,r=Math.ceil(t/this._bufferSize)*this._bufferSize;i.push({from:a,to:r})},r=e;for(let{chunk:e,fileOffset:s,isEOF:n}of this._headerChunks){let l=s+e.byteLength-1;if(!(l<r)&&(s>r&&a(r,Math.min(s-1,t)),r=Math.max(r,l+1),r>t||n))return i}return r<=t&&a(r,t),i}async _validateOrFetchHeaderBuffer(e,t){let{fileChunk:i,fileOffset:r,posIFD:s}=e;if(s+8>=i.byteLength||s<0){if(r=s+r,r<0)throw new a.A("tiffraster:open",`invalid IFD position ${r}. failed to open url ${this.url}`);i=await this._fetchHeaderData(r,r+this._bufferSize/2,t),s=0}return{fileChunk:i,fileOffset:r,posIFD:s}}async _readIFDs(e,t,i,r=4,s){if(!t.posIFD)return null;t=await this._validateOrFetchHeaderBuffer(t,s);let n=await this._readIFD(t,i,ue.NB,r,s);if(!n?.ifd)throw new a.A("tiffraster:open","cannot parse tiff header. failed to open url "+this.url);if(e.push(n.ifd),!n.nextIFD)return null;t.posIFD=n.nextIFD-t.fileOffset,await this._readIFDs(e,t,i,r,s)}async _readIFD(e,t,i=ue.NB,r=4,s){let{fileChunk:n,posIFD:l,fileOffset:o}=e;if(!e.fileChunk)return null;let f=(0,fe.JM)(n,t,l,o,i,r);if(f.success){let{ifd:e}=f;if(!e)throw new a.A("tiffraster:open","cannot parse tiff header. failed to open url "+this.url);if(!(this.ioConfig.loadFullMetadata||i!==ue.NB||e.has("TILEWIDTH")&&e.has("TILELENGTH")))throw new a.A("tiffraster:open",he);let r=[];e.forEach(e=>{e.values||r.push(e)}),r.length>0&&await this._fillOffsets(r,t,f.nextIFD,s),(0,fe.h_)(e);for(let[i,a]of ue.RR){let r=e.get(i),f=null!=r?.data&&Array.from(r.data.values()).some(e=>null==e.values&&null!=e.offlineOffsetSize);if(r&&(!r.data||f)){l=r.valueOffset-o;let e=await this._validateOrFetchHeaderBuffer({fileChunk:n,posIFD:l,fileOffset:o},s);r.data=(await this._readIFD(e,t,a,4,s))?.ifd}}if(e.has("GEOKEYDIRECTORY")){let i=e.get("GEOKEYDIRECTORY"),a=i?.values;if(a&&a.length>4){let e=a[0]+"."+a[1]+"."+a[2];l=i.valueOffset+6-o;let r=await this._validateOrFetchHeaderBuffer({fileChunk:n,posIFD:l,fileOffset:o},s);i.data=(await this._readIFD(r,t,ue.YC,2,s))?.ifd,i.data&&i.data.set("GEOTIFFVersion",{id:0,type:2,valueCount:1,valueOffset:null,values:[e]})}}return f}return f.requiredBufferSize?(n=await this._fetchHeaderData(o,o+l+f.requiredBufferSize+8,s),n.byteLength<l+f.requiredBufferSize?null:(e.fileChunk=n,e.fileOffset=o,this._readIFD(e,t,i,r,s))):null}async _fillOffsets(e,t,i,a){let r=e.filter(e=>null!=e.offlineOffsetSize);if(0===r.length)return;let s=r.map(e=>e.offlineOffsetSize),n=Math.min.apply(null,s.map(e=>e[0])),l=Math.max.apply(null,s.map(e=>e[0]+e[1])),o=1===s.length||l-n<=this._bufferSize;if(!o&&s.length>1&&(s.sort((e,t)=>e[0]-t[0]),o=s.reduce((e,t)=>e===t[0]?t[0]+t[1]:0,s[0][0])===l),o){let e=Math.max(l,n+this._bufferSize/4),i=await this._fetchHeaderData(n,e,a);return void r.forEach(e=>(0,fe.Cr)(i,t,e,n))}let f=r.map(async e=>{let i=e.offlineOffsetSize,r=await this._fetchHeaderData(i[0],i[1]+i[0],a);(0,fe.Cr)(r,t,e,i[0])});await Promise.all(f)}async _fetchOffsets(e,t,i){let a=[],r=this._chunkSize;this._fileSize>0&&(t=Math.min(t,this._fileSize-1));let s=Math.ceil((t-e+1)/r),n=e;for(let e=0;e<s;e++)a.push(this.request(this.url,{range:{from:n,to:e===s-1?t:n+r-1},responseType:"array-buffer",signal:i})),n+=r;let l=await Promise.all(a);if(-1===this._fileSize&&206===l[0].httpStatus){let e=l[0].getHeader?.("Content-Range"),t=Number(e?.split("/")[1]);Number.isFinite(t)&&(this._fileSize=t)}if(1===l.length)return l[0].data;let o=l.reduce((e,t)=>e+t.data.byteLength,0),f=new Uint8Array(o),u=0;for(let e of l)f.set(new Uint8Array(e.data),u),u+=e.data.byteLength;return f.buffer}async _fetchRawTiffTile(e,t,i,a,r={}){let s=this._getTileLocation(e,t,i,a);if(!s)return null;let{ranges:n,actualTileWidth:l,actualTileHeight:o,ifd:f}=s,u=n.map(e=>this.request(this.url,{range:e,responseType:"array-buffer",signal:r.signal})),h=await Promise.all(u),c=h.map(e=>e.data.byteLength).reduce((e,t)=>e+t),d=1===h.length?h[0].data:new ArrayBuffer(c),p=[0],m=[0];if(h.length>1){let e=new Uint8Array(d);for(let t=0,i=0;t<h.length;t++){let a=h[t].data;e.set(new Uint8Array(a),i),p[t]=i,i+=a.byteLength,m[t]=a.byteLength}}let{blockWidth:g,blockHeight:y}=this.getBlockWidthHeight(e),x=await this.decodePixelBlock(d,{format:"tiff",customOptions:{headerInfo:this._headerInfo,ifd:f,offsets:p,sizes:m},width:g,height:y,planes:null,pixelType:null});if(null==x)return null;if(l!==g||o!==y){let e=x.mask;if(e)for(let t=0;t<y;t++){let i=t*g;if(t<o)for(let t=l;t<g;t++)e[i+t]=0;else for(let t=0;t<g;t++)e[i+t]=0}else{e=new Uint8Array(g*y),x.mask=e;for(let t=0;t<o;t++){let i=t*g;for(let t=0;t<l;t++)e[i+t]=1}}}return x}_getTileLocation(e,t,i,a=!1){let{firstPyramidLevel:r,blockBoundary:s}=this.rasterInfo.storageInfo,n=0===e?0:e-(r-1),{_headerInfo:l}=this;if(!l)return null;let o=a?l.maskIFDs[n]:0===n?l.ifds[0]:l.pyramidIFDs[n-1];if(!o)return null;let f=(0,fe.XO)(o,l),u=(0,fe.wc)(o,"TILEOFFSETS"),h=(0,fe.wc)(o,"TILEBYTECOUNTS");if(!u?.length||!h?.length)return null;let{minRow:c,minCol:d,maxRow:p,maxCol:m}=s[n];if(t>p||i>m||t<c||i<d)return null;let g=(0,fe.LZ)(o,"IMAGEWIDTH"),y=(0,fe.LZ)(o,"IMAGELENGTH"),x=(0,fe.LZ)(o,"TILEWIDTH"),w=(0,fe.LZ)(o,"TILELENGTH"),I=[];if(f){let{bandCount:e}=this.rasterInfo;for(let a=0;a<e;a++){let e=a*(p+1)*(m+1)+t*(m+1)+i;I[a]={from:u[e],to:u[e]+h[e]-1}}}else{let e=t*(m+1)+i;I.push({from:u[e],to:u[e]+h[e]-1})}for(let e=0;e<I.length;e++)if(null==I[e].from||!I[e].to||I[e].to<0)return null;return{ranges:I,ifd:o,actualTileWidth:i===m&&g%x||x,actualTileHeight:t===p&&y%w||w}}async _fetchAuxiliaryMetaData(e){try{let{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:e?.signal});return H(t)}catch{return null}}async _fetchAuxiliaryTable(e){try{let{data:t}=await this.request(this.url+".vat.dbf",{responseType:"array-buffer",signal:e?.signal}),i=oe(t);return i?.recordSet?M.A.fromJSON(i.recordSet):null}catch{return null}}};(0,r.Cg)([(0,s.MZ)()],ce.prototype,"_files",void 0),(0,r.Cg)([(0,s.MZ)()],ce.prototype,"_headerInfo",void 0),(0,r.Cg)([(0,s.MZ)()],ce.prototype,"_bufferSize",void 0),(0,r.Cg)([(0,s.MZ)()],ce.prototype,"_chunkSize",void 0),(0,r.Cg)([(0,s.MZ)()],ce.prototype,"_fileSize",void 0),(0,r.Cg)([(0,s.MZ)()],ce.prototype,"_headerChunks",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],ce.prototype,"datasetFormat",void 0),ce=(0,r.Cg)([(0,s.$K)("esri.layers.raster.datasets.TIFFRaster")],ce);const de=ce,pe=new Map;pe.set("MRF",{desc:"Meta Raster Format",constructor:re}),pe.set("TIFF",{desc:"GeoTIFF",constructor:de}),pe.set("RasterTileServer",{desc:"Raster Tile Server",constructor:Q}),pe.set("JPG",{desc:"JPG Raster Format",constructor:G}),pe.set("PNG",{desc:"PNG Raster Format",constructor:G}),pe.set("GIF",{desc:"GIF Raster Format",constructor:G}),pe.set("BMP",{desc:"BMP Raster Format",constructor:G}),pe.set("CovJSON",{desc:"COVJSON Raster Format",constructor:O}),pe.set("MEMORY",{desc:"In Memory Raster Format",constructor:R});class me{static get supportedFormats(){let e=new Set;return pe.forEach((t,i)=>e.add(i)),e}static async open(e){let{url:t,ioConfig:i,source:r,sourceJSON:s}=e,n=e.datasetFormat??i?.datasetFormat;n??(t.includes(".")?n=t.slice(t.lastIndexOf(".")+1).toUpperCase():"coverage"===r?.type?.toLowerCase()?n="CovJSON":r?.extent&&r.pixelblocks&&(n="MEMORY")),"OVR"===n||"TIF"===n||"DM"===n?n="TIFF":"JPG"===n||"JPEG"===n||"JFIF"===n?n="JPG":"COVJSON"===n&&(n="CovJSON"),t.toLowerCase().includes("/imageserver")&&!t.toLowerCase().includes("/wcsserver")&&(n="RasterTileServer");let l={url:t,source:r,sourceJSON:s,datasetFormat:n,ioConfig:i??{bandIds:null,sampling:null}};if(Object.keys(l).forEach(e=>{l[e]??delete l[e]}),n){if(!this.supportedFormats.has(n))throw new a.A("rasterfactory:open","not a supported format "+n);if("CRF"===n)throw new a.A("rasterfactory:open",`cannot open raster: ${t}`);let i=new(0,pe.get(n).constructor)(l);return i.rasterJobHandler=e.rasterJobHandler,i.rasterInfo=e.rasterInfo,await i.open({signal:e.signal}),i}let o=Array.from(pe.keys()).filter(e=>"CovJSON"!==e&&"Memory"!==e),f=0,u=()=>{if(n=o[f++],!n||"CRF"===n)return null;let t=new(0,pe.get(n).constructor)(l);return t.rasterJobHandler=e.rasterJobHandler,t.open({signal:e.signal}).then(()=>t).catch(()=>u())};return u()}static register(e,t,i){pe.has(e.toUpperCase())||pe.set(e.toUpperCase(),{desc:t,constructor:i})}}},10333(e,t,i){i.d(t,{A:()=>n});var a=i(32198),r=i(25482),s=i(91429);let n=class extends r.o{get affectsPixelSize(){return!1}forwardTransform(e){return e}inverseTransform(e){return e}};(0,a.Cg)([(0,s.MZ)()],n.prototype,"affectsPixelSize",null),(0,a.Cg)([(0,s.MZ)({json:{write:!0}})],n.prototype,"spatialReference",void 0),n=(0,a.Cg)([(0,s.$K)("esri.layers.raster.transforms.BaseRasterTransform")],n)},75414(e,t,i){i.d(t,{A:()=>o});var a,r=i(32198),s=i(91429),n=i(10333),l=i(93223);let o=a=class extends n.A{constructor(){super(...arguments),this.type="gcs-shift",this.tolerance=1e-8}forwardTransform(e){return"point"===(e=e.clone()).type?(e.x>180+this.tolerance&&(e.x-=360),e):(e.xmin>=180-this.tolerance?(e.xmax-=360,e.xmin-=360):e.xmax>180+this.tolerance&&(e.xmin=-180,e.xmax=180),e)}inverseTransform(e){return"point"===(e=e.clone()).type?(e.x<-this.tolerance&&(e.x+=360),e):(e.xmin<-this.tolerance&&(e.xmin+=360,e.xmax+=360),e)}clone(){return new a({tolerance:this.tolerance})}};(0,r.Cg)([(0,l.e)({GCSShiftXform:"gcs-shift"})],o.prototype,"type",void 0),(0,r.Cg)([(0,s.MZ)()],o.prototype,"tolerance",void 0),o=a=(0,r.Cg)([(0,s.$K)("esri.layers.raster.transforms.GCSShiftTransform")],o)},43163(e,t,i){i.d(t,{A:()=>p});var a,r=i(32198),s=i(91429),n=i(5443),l=i(86738),o=i(10333),f=i(36005),u=i(43937),h=i(93223);function c(e,t,i){let{x:a,y:r}=t;if(i<2)return{x:e[0]+a*e[2]+r*e[4],y:e[1]+a*e[3]+r*e[5]};if(2===i){let t=a*a,i=r*r,s=a*r;return{x:e[0]+a*e[2]+r*e[4]+t*e[6]+s*e[8]+i*e[10],y:e[1]+a*e[3]+r*e[5]+t*e[7]+s*e[9]+i*e[11]}}let s=a*a,n=r*r,l=a*r,o=s*a,f=s*r,u=a*n,h=r*n;return{x:e[0]+a*e[2]+r*e[4]+s*e[6]+l*e[8]+n*e[10]+o*e[12]+f*e[14]+u*e[16]+h*e[18],y:e[1]+a*e[3]+r*e[5]+s*e[7]+l*e[9]+n*e[11]+o*e[13]+f*e[15]+u*e[17]+h*e[19]}}function d(e,t,i){let{xmin:a,ymin:r,xmax:s,ymax:l,spatialReference:o}=t,f=[];if(i<2)f.push({x:a,y:l}),f.push({x:s,y:l}),f.push({x:a,y:r}),f.push({x:s,y:r});else{let e=10;for(let t=0;t<e;t++)f.push({x:a,y:r+(l-r)*t/(e-1)}),f.push({x:s,y:r+(l-r)*t/(e-1)});e=8;for(let t=1;t<=e;t++)f.push({x:a+(s-a)*t/e,y:r}),f.push({x:a+(s-a)*t/e,y:l})}f=f.map(t=>c(e,t,i));let u=f.map(e=>e.x),h=f.map(e=>e.y);return new n.A({xmin:Math.min.apply(null,u),xmax:Math.max.apply(null,u),ymin:Math.min.apply(null,h),ymax:Math.max.apply(null,h),spatialReference:o})}let p=a=class extends o.A{constructor(){super(...arguments),this.polynomialOrder=1,this.type="polynomial"}readForwardCoefficients(e,t){let{coeffX:i,coeffY:a}=t;if(!i?.length||!a?.length||i.length!==a.length)return null;let r=[];for(let e=0;e<i.length;e++)r.push(i[e]),r.push(a[e]);return r}writeForwardCoefficients(e,t,i){let a=[],r=[];for(let t=0;t<e?.length;t++)t%2==0?a.push(e[t]):r.push(e[t]);t.coeffX=a,t.coeffY=r}get inverseCoefficients(){let e=this._get("inverseCoefficients"),t=this._get("forwardCoefficients");return!e&&t&&this.polynomialOrder<2&&(e=function(e){let[t,i,a,r,s,n]=e,l=a*n-s*r,o=s*r-a*n;return[(s*i-t*n)/l,(a*i-t*r)/o,n/l,r/o,-s/l,-a/o]}(t)),e}set inverseCoefficients(e){this._set("inverseCoefficients",e)}readInverseCoefficients(e,t){let{inverseCoeffX:i,inverseCoeffY:a}=t;if(!i?.length||!a?.length||i.length!==a.length)return null;let r=[];for(let e=0;e<i.length;e++)r.push(i[e]),r.push(a[e]);return r}writeInverseCoefficients(e,t,i){let a=[],r=[];for(let t=0;t<e?.length;t++)t%2==0?a.push(e[t]):r.push(e[t]);t.inverseCoeffX=a,t.inverseCoeffY=r}get affectsPixelSize(){return this.polynomialOrder>0}forwardTransform(e){if("point"===e.type){let t=c(this.forwardCoefficients,e,this.polynomialOrder);return new l.A({x:t.x,y:t.y,spatialReference:e.spatialReference})}return d(this.forwardCoefficients,e,this.polynomialOrder)}inverseTransform(e){if("point"===e.type){let t=c(this.inverseCoefficients,e,this.polynomialOrder);return new l.A({x:t.x,y:t.y,spatialReference:e.spatialReference})}return d(this.inverseCoefficients,e,this.polynomialOrder)}clone(){return new a({polynomialOrder:this.polynomialOrder,forwardCoefficients:this.forwardCoefficients?[...this.forwardCoefficients]:null,inverseCoefficients:this.inverseCoefficients?[...this.inverseCoefficients]:null})}};(0,r.Cg)([(0,s.MZ)({json:{write:!0}})],p.prototype,"polynomialOrder",void 0),(0,r.Cg)([(0,s.MZ)()],p.prototype,"forwardCoefficients",void 0),(0,r.Cg)([(0,f.w)("forwardCoefficients",["coeffX","coeffY"])],p.prototype,"readForwardCoefficients",null),(0,r.Cg)([(0,u.K)("forwardCoefficients")],p.prototype,"writeForwardCoefficients",null),(0,r.Cg)([(0,s.MZ)({json:{write:!0}})],p.prototype,"inverseCoefficients",null),(0,r.Cg)([(0,f.w)("inverseCoefficients",["inverseCoeffX","inverseCoeffY"])],p.prototype,"readInverseCoefficients",null),(0,r.Cg)([(0,u.K)("inverseCoefficients")],p.prototype,"writeInverseCoefficients",null),(0,r.Cg)([(0,s.MZ)()],p.prototype,"affectsPixelSize",null),(0,r.Cg)([(0,h.e)({PolynomialXform:"polynomial"})],p.prototype,"type",void 0),p=a=(0,r.Cg)([(0,s.$K)("esri.layers.raster.transforms.PolynomialTransform")],p)}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4844,8768],{80200(e,t,r){r.d(t,{d:()=>p});const i={Base64:0,Hex:1,String:2,Raw:3};function s(e,t){let r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function n(e,t,r,i,n,a){return s(function(e,t){return e<<t|e>>>32-t}(s(s(t,e),s(i,a)),n),r)}function a(e,t,r,i,s,a,o){return n(t&r|~t&i,e,t,s,a,o)}function o(e,t,r,i,s,a,o){return n(t&i|r&~i,e,t,s,a,o)}function l(e,t,r,i,s,a,o){return n(t^r^i,e,t,s,a,o)}function u(e,t,r,i,s,a,o){return n(r^(t|~i),e,t,s,a,o)}function d(e,t){e[t>>5]|=128<<t%32,e[14+(t+64>>>9<<4)]=t;let r=1732584193,i=-271733879,n=-1732584194,d=271733878;for(let t=0;t<e.length;t+=16){let p=r,c=i,h=n,f=d;r=a(r,i,n,d,e[t],7,-680876936),d=a(d,r,i,n,e[t+1],12,-389564586),n=a(n,d,r,i,e[t+2],17,606105819),i=a(i,n,d,r,e[t+3],22,-1044525330),r=a(r,i,n,d,e[t+4],7,-176418897),d=a(d,r,i,n,e[t+5],12,1200080426),n=a(n,d,r,i,e[t+6],17,-1473231341),i=a(i,n,d,r,e[t+7],22,-45705983),r=a(r,i,n,d,e[t+8],7,1770035416),d=a(d,r,i,n,e[t+9],12,-1958414417),n=a(n,d,r,i,e[t+10],17,-42063),i=a(i,n,d,r,e[t+11],22,-1990404162),r=a(r,i,n,d,e[t+12],7,1804603682),d=a(d,r,i,n,e[t+13],12,-40341101),n=a(n,d,r,i,e[t+14],17,-1502002290),i=a(i,n,d,r,e[t+15],22,1236535329),r=o(r,i,n,d,e[t+1],5,-165796510),d=o(d,r,i,n,e[t+6],9,-1069501632),n=o(n,d,r,i,e[t+11],14,643717713),i=o(i,n,d,r,e[t],20,-373897302),r=o(r,i,n,d,e[t+5],5,-701558691),d=o(d,r,i,n,e[t+10],9,38016083),n=o(n,d,r,i,e[t+15],14,-660478335),i=o(i,n,d,r,e[t+4],20,-405537848),r=o(r,i,n,d,e[t+9],5,568446438),d=o(d,r,i,n,e[t+14],9,-1019803690),n=o(n,d,r,i,e[t+3],14,-187363961),i=o(i,n,d,r,e[t+8],20,1163531501),r=o(r,i,n,d,e[t+13],5,-1444681467),d=o(d,r,i,n,e[t+2],9,-51403784),n=o(n,d,r,i,e[t+7],14,1735328473),i=o(i,n,d,r,e[t+12],20,-1926607734),r=l(r,i,n,d,e[t+5],4,-378558),d=l(d,r,i,n,e[t+8],11,-2022574463),n=l(n,d,r,i,e[t+11],16,1839030562),i=l(i,n,d,r,e[t+14],23,-35309556),r=l(r,i,n,d,e[t+1],4,-1530992060),d=l(d,r,i,n,e[t+4],11,1272893353),n=l(n,d,r,i,e[t+7],16,-155497632),i=l(i,n,d,r,e[t+10],23,-1094730640),r=l(r,i,n,d,e[t+13],4,681279174),d=l(d,r,i,n,e[t],11,-358537222),n=l(n,d,r,i,e[t+3],16,-722521979),i=l(i,n,d,r,e[t+6],23,76029189),r=l(r,i,n,d,e[t+9],4,-640364487),d=l(d,r,i,n,e[t+12],11,-421815835),n=l(n,d,r,i,e[t+15],16,530742520),i=l(i,n,d,r,e[t+2],23,-995338651),r=u(r,i,n,d,e[t],6,-198630844),d=u(d,r,i,n,e[t+7],10,1126891415),n=u(n,d,r,i,e[t+14],15,-1416354905),i=u(i,n,d,r,e[t+5],21,-57434055),r=u(r,i,n,d,e[t+12],6,1700485571),d=u(d,r,i,n,e[t+3],10,-1894986606),n=u(n,d,r,i,e[t+10],15,-1051523),i=u(i,n,d,r,e[t+1],21,-2054922799),r=u(r,i,n,d,e[t+8],6,1873313359),d=u(d,r,i,n,e[t+15],10,-30611744),n=u(n,d,r,i,e[t+6],15,-1560198380),i=u(i,n,d,r,e[t+13],21,1309151649),r=u(r,i,n,d,e[t+4],6,-145523070),d=u(d,r,i,n,e[t+11],10,-1120210379),n=u(n,d,r,i,e[t+2],15,718787259),i=u(i,n,d,r,e[t+9],21,-343485551),r=s(r,p),i=s(i,c),n=s(n,h),d=s(d,f)}return[r,i,n,d]}function p(e,t=i.Hex){let r=t||i.Base64,s=d(function(e){let t=[];for(let r=0,i=8*e.length;r<i;r+=8)t[r>>5]|=(255&e.charCodeAt(r/8))<<r%32;return t}(e),8*e.length);switch(r){case i.Raw:return s;case i.Hex:return function(e){let t="0123456789abcdef",r=[];for(let i=0,s=4*e.length;i<s;i++)r.push(t.charAt(e[i>>2]>>i%4*8+4&15)+t.charAt(e[i>>2]>>i%4*8&15));return r.join("")}(s);case i.String:return function(e){let t=[];for(let r=0,i=32*e.length;r<i;r+=8)t.push(String.fromCharCode(e[r>>5]>>>r%32&255));return t.join("")}(s);case i.Base64:return function(e){let t=[];for(let r=0,i=4*e.length;r<i;r+=3){let i=(e[r>>2]>>r%4*8&255)<<16|(e[r+1>>2]>>(r+1)%4*8&255)<<8|e[r+2>>2]>>(r+2)%4*8&255;for(let s=0;s<4;s++)8*r+6*s>32*e.length?t.push("="):t.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(i>>6*(3-s)&63))}return t.join("")}(s)}}r.d(t,["T",0,i])},87024(e,t,r){r.d(t,{P:()=>h});var i=r(49186),s=r(80200),n=r(76553),a=r(84952),o=r(13069),l=r(96156),u=r(35666),d=r(10107),p=r(85648),c=r(97159);function h(e){let t=e?.origins??[void 0];return(r,i)=>{let s=function(e,t,r){if("resource"===e?.type)return function(e,t,r){let i=(0,l.z4)(t,r);return{type:String,read:(e,t,r)=>{let s=(0,c.r)(e,t,r);return i.type===String?s:"function"==typeof i.type?new i.type({url:s}):void 0},write:{isRequired:i.json?.write?.isRequired,writer(t,s,o,l){if(!l?.resources)return"string"==typeof t?void(s[o]=(0,c.t)(t,l)):void(s[o]=t.write({},l));let d=function(e){return null==e?null:"string"==typeof e?e:e.url}(t),h=(0,c.t)(d,{...l,verifyItemRelativeUrls:l?.verifyItemRelativeUrls?{writtenUrls:l.verifyItemRelativeUrls.writtenUrls,rootPath:void 0}:void 0},1),m=i.type!==String&&(!(0,n.H)(this)||l?.origin&&this.originIdOf(r)>(0,u.aB)(l.origin)),v={object:this,propertyName:r,value:t,targetUrl:h,dest:s,targetPropertyName:o,context:l,params:e};l?.portalItem&&h&&!(0,a.oP)(h)?m&&e?.contentAddressed?f(v):m?function(e){let{context:t,targetUrl:r,params:i,value:s,dest:n,targetPropertyName:o}=e;if(!t.portalItem)return;let l=t.portalItem.resourceFromPath(r),u=g(s,r,t),d=(0,p.n)(u),c=(0,a.Zo)(l.path),h=i?.compress??!1;d===c?(t.resources&&y({...e,resource:l,content:u,compress:h,updates:t.resources.toUpdate}),n[o]=r):f(e)}(v):function({context:e,targetUrl:t,dest:r,targetPropertyName:i}){e.portalItem&&e.resources&&(e.resources.toKeep.push({resource:e.portalItem.resourceFromPath(t),compress:!1}),r[i]=t)}(v):l?.portalItem&&(null==h||null!=(0,c.i)(h)||(0,a.w8)(h)||m)?f(v):s[o]=h}}}}(e,t,r);switch(e?.type??"other"){case"other":return{read:!0,write:!0};case"url":{let{read:e,write:t}=c.b;return{read:e,write:t}}}}(e,r,i);for(let e of t){let t=(0,d.rM)(r,e,i);for(let e in s)t[e]=s[e]}}}function f(e){let{targetUrl:t,params:r,value:n,context:l,dest:u,targetPropertyName:d}=e;if(!l.portalItem)return;let h=(0,c.p)(t),f=g(n,t,l);if(r?.contentAddressed&&"json"!==f.type)return void l.messages?.push(new i.A("persistable:contentAddressingUnsupported",`Property "${d}" is trying to serializing a resource with content of type ${f.type} with content addressing. Content addressing is only supported for json resources.`,{content:f}));let m=r?.contentAddressed&&"json"===f.type?(0,s.d)(f.jsonString):h?.filename??(0,o.lk)(),v=r?.prefix??h?.prefix,w=(0,a.fj)(v,m),b=`${w}.${(0,p.n)(f)}`;if(r?.contentAddressed&&l.resources&&"json"===f.type){let e=l.resources.toKeep.find(({resource:e})=>e.path===b)??l.resources.toAdd.find(({resource:e})=>e.path===b);if(e)return void(u[d]=e.resource.itemRelativeUrl)}let M=l.portalItem.resourceFromPath(b);(0,a.w8)(t)&&l.resources&&l.resources.pendingOperations.push((0,a.tk)(t).then(e=>{M.path=`${w}.${(0,p.n)({type:"blob",blob:e})}`,u[d]=M.itemRelativeUrl}).catch(()=>{}));let I=r?.compress??!1;l.resources&&y({...e,resource:M,content:f,compress:I,updates:l.resources.toAdd}),u[d]=M.itemRelativeUrl}function y({object:e,propertyName:t,updates:r,resource:i,content:s,compress:n}){r.push({resource:i,content:s,compress:n,finish:r=>{!function(e,t,r){"string"==typeof e[t]?e[t]=r.url:e[t].url=r.url}(e,t,r)}})}function g(e,t,r){return"string"==typeof e?{type:"url",url:t}:{type:"json",jsonString:JSON.stringify(e.toJSON(r))}}},48163(e,t,r){function i(){return[0,0]}function s(e){return[e[0],e[1]]}function n(e,t){return[e,t]}function a(){return n(1,1)}function o(){return n(-1,-1)}function l(){return n(1,0)}function u(){return n(0,1)}r.d(t,{fA:()=>n,o8:()=>s,vt:()=>i});const d=a(),p=o(),c=l(),h=u();Object.freeze(Object.defineProperty({__proto__:null,NEGATIVE_ONES:p,ONES:d,UNIT_X:c,UNIT_Y:h,ZEROS:[0,0],clone:s,create:i,freeze:function(e,t){return[e,t]},fromArray:function(e,t=[0,0]){let r=Math.min(2,e.length);for(let i=0;i<r;++i)t[i]=e[i];return t},fromValues:n,negativeOnes:o,ones:a,unitX:l,unitY:u,zeros:function(){return[0,0]}},Symbol.toStringTag,{value:"Module"})),r.d(t,["IA",0,p,"Un",0,d])},58083(e,t,r){r.d(t,{$0:()=>m,$h:()=>x,B8:()=>d,C:()=>n,D_:()=>o,N9:()=>w,O7:()=>C,Qw:()=>u,Tl:()=>c,X_:()=>A,e$:()=>f,eL:()=>y,hM:()=>v,hZ:()=>a,hs:()=>h,kN:()=>g,l:()=>F,lw:()=>p,mg:()=>l,o1:()=>S,sC:()=>I,t2:()=>P,t5:()=>L,tZ:()=>_,ut:()=>O});var i=r(51850),s=r(34304);function n(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function a(e,t,r,i,s,n,a,o,l,u,d,p,c,h,f,y,g){return e[0]=t,e[1]=r,e[2]=i,e[3]=s,e[4]=n,e[5]=a,e[6]=o,e[7]=l,e[8]=u,e[9]=d,e[10]=p,e[11]=c,e[12]=h,e[13]=f,e[14]=y,e[15]=g,e}function o(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function l(e,t){if(e===t){let r=t[1],i=t[2],s=t[3],n=t[6],a=t[7],o=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=i,e[9]=n,e[11]=t[14],e[12]=s,e[13]=a,e[14]=o}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function u(e,t){return d(e,t)||o(e),e}function d(e,t){let r=t[0],i=t[1],s=t[2],n=t[3],a=t[4],o=t[5],l=t[6],u=t[7],d=t[8],p=t[9],c=t[10],h=t[11],f=t[12],y=t[13],g=t[14],m=t[15],v=r*o-i*a,w=r*l-s*a,b=r*u-n*a,M=i*l-s*o,I=i*u-n*o,A=s*u-n*l,F=d*y-p*f,S=d*g-c*f,C=d*m-h*f,x=p*g-c*y,L=p*m-h*y,j=c*m-h*g,P=v*j-w*L+b*x+M*C-I*S+A*F;return P?(P=1/P,e[0]=(o*j-l*L+u*x)*P,e[1]=(s*L-i*j-n*x)*P,e[2]=(y*A-g*I+m*M)*P,e[3]=(c*I-p*A-h*M)*P,e[4]=(l*C-a*j-u*S)*P,e[5]=(r*j-s*C+n*S)*P,e[6]=(g*b-f*A-m*w)*P,e[7]=(d*A-c*b+h*w)*P,e[8]=(a*L-o*C+u*F)*P,e[9]=(i*C-r*L-n*F)*P,e[10]=(f*I-y*b+m*v)*P,e[11]=(p*b-d*I-h*v)*P,e[12]=(o*S-a*x-l*F)*P,e[13]=(r*x-i*S+s*F)*P,e[14]=(y*w-f*M-g*v)*P,e[15]=(d*M-p*w+c*v)*P,e):null}function p(e,t,r){let i=t[0],s=t[1],n=t[2],a=t[3],o=t[4],l=t[5],u=t[6],d=t[7],p=t[8],c=t[9],h=t[10],f=t[11],y=t[12],g=t[13],m=t[14],v=t[15],w=r[0],b=r[1],M=r[2],I=r[3];return e[0]=w*i+b*o+M*p+I*y,e[1]=w*s+b*l+M*c+I*g,e[2]=w*n+b*u+M*h+I*m,e[3]=w*a+b*d+M*f+I*v,w=r[4],b=r[5],M=r[6],I=r[7],e[4]=w*i+b*o+M*p+I*y,e[5]=w*s+b*l+M*c+I*g,e[6]=w*n+b*u+M*h+I*m,e[7]=w*a+b*d+M*f+I*v,w=r[8],b=r[9],M=r[10],I=r[11],e[8]=w*i+b*o+M*p+I*y,e[9]=w*s+b*l+M*c+I*g,e[10]=w*n+b*u+M*h+I*m,e[11]=w*a+b*d+M*f+I*v,w=r[12],b=r[13],M=r[14],I=r[15],e[12]=w*i+b*o+M*p+I*y,e[13]=w*s+b*l+M*c+I*g,e[14]=w*n+b*u+M*h+I*m,e[15]=w*a+b*d+M*f+I*v,e}function c(e,t,r){let i=r[0],s=r[1],n=r[2];if(t===e)e[12]=t[0]*i+t[4]*s+t[8]*n+t[12],e[13]=t[1]*i+t[5]*s+t[9]*n+t[13],e[14]=t[2]*i+t[6]*s+t[10]*n+t[14],e[15]=t[3]*i+t[7]*s+t[11]*n+t[15];else{let r=t[0],a=t[1],o=t[2],l=t[3],u=t[4],d=t[5],p=t[6],c=t[7],h=t[8],f=t[9],y=t[10],g=t[11];e[0]=r,e[1]=a,e[2]=o,e[3]=l,e[4]=u,e[5]=d,e[6]=p,e[7]=c,e[8]=h,e[9]=f,e[10]=y,e[11]=g,e[12]=r*i+u*s+h*n+t[12],e[13]=a*i+d*s+f*n+t[13],e[14]=o*i+p*s+y*n+t[14],e[15]=l*i+c*s+g*n+t[15]}return e}function h(e,t,r){let i=r[0],s=r[1],n=r[2];return e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e[3]=t[3]*i,e[4]=t[4]*s,e[5]=t[5]*s,e[6]=t[6]*s,e[7]=t[7]*s,e[8]=t[8]*n,e[9]=t[9]*n,e[10]=t[10]*n,e[11]=t[11]*n,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function f(e,t,r,i){let a=i[0],o=i[1],l=i[2],u=Math.sqrt(a*a+o*o+l*l);if(u<=(0,s.FD)())return void n(e,t);u=1/u,a*=u,o*=u,l*=u;let d=Math.sin(r),p=Math.cos(r),c=1-p,h=t[0],f=t[1],y=t[2],g=t[3],m=t[4],v=t[5],w=t[6],b=t[7],M=t[8],I=t[9],A=t[10],F=t[11],S=a*a*c+p,C=o*a*c+l*d,x=l*a*c-o*d,L=a*o*c-l*d,j=o*o*c+p,P=l*o*c+a*d,O=a*l*c+o*d,_=o*l*c-a*d,T=l*l*c+p;e[0]=h*S+m*C+M*x,e[1]=f*S+v*C+I*x,e[2]=y*S+w*C+A*x,e[3]=g*S+b*C+F*x,e[4]=h*L+m*j+M*P,e[5]=f*L+v*j+I*P,e[6]=y*L+w*j+A*P,e[7]=g*L+b*j+F*P,e[8]=h*O+m*_+M*T,e[9]=f*O+v*_+I*T,e[10]=y*O+w*_+A*T,e[11]=g*O+b*_+F*T,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15])}function y(e,t,r){let i=Math.sin(r),s=Math.cos(r),n=t[4],a=t[5],o=t[6],l=t[7],u=t[8],d=t[9],p=t[10],c=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=n*s+u*i,e[5]=a*s+d*i,e[6]=o*s+p*i,e[7]=l*s+c*i,e[8]=u*s-n*i,e[9]=d*s-a*i,e[10]=p*s-o*i,e[11]=c*s-l*i,e}function g(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}function m(e,t,r){if(0===t)return o(e);let i=r[0],n=r[1],a=r[2],l=Math.sqrt(i*i+n*n+a*a);if(l<=(0,s.FD)())return null;l=1/l,i*=l,n*=l,a*=l;let u=Math.sin(t),d=Math.cos(t),p=1-d;return e[0]=i*i*p+d,e[1]=n*i*p+a*u,e[2]=a*i*p-n*u,e[3]=0,e[4]=i*n*p-a*u,e[5]=n*n*p+d,e[6]=a*n*p+i*u,e[7]=0,e[8]=i*a*p+n*u,e[9]=n*a*p-i*u,e[10]=a*a*p+d,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function v(e,t){let r=Math.sin(t),i=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=i,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=i,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function w(e,t){let r=Math.sin(t),i=Math.cos(t);return e[0]=i,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=i,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function b(e,t,r){let i=t[0],s=t[1],n=t[2],a=t[3],o=i+i,l=s+s,u=n+n,d=i*o,p=i*l,c=i*u,h=s*l,f=s*u,y=n*u,g=a*o,m=a*l,v=a*u;return e[0]=1-(h+y),e[1]=p+v,e[2]=c-m,e[3]=0,e[4]=p-v,e[5]=1-(d+y),e[6]=f+g,e[7]=0,e[8]=c+m,e[9]=f-g,e[10]=1-(d+h),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}const M=(0,i.vt)();function I(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function A(e,t){let r=t[0],i=t[1],s=t[2],n=t[4],a=t[5],o=t[6],l=t[8],u=t[9],d=t[10];return e[0]=Math.sqrt(r*r+i*i+s*s),e[1]=Math.sqrt(n*n+a*a+o*o),e[2]=Math.sqrt(l*l+u*u+d*d),e}function F(e,t){let r=t[0]+t[5]+t[10],i=0;return r>0?(i=2*Math.sqrt(r+1),e[3]=.25*i,e[0]=(t[6]-t[9])/i,e[1]=(t[8]-t[2])/i,e[2]=(t[1]-t[4])/i):t[0]>t[5]&&t[0]>t[10]?(i=2*Math.sqrt(1+t[0]-t[5]-t[10]),e[3]=(t[6]-t[9])/i,e[0]=.25*i,e[1]=(t[1]+t[4])/i,e[2]=(t[8]+t[2])/i):t[5]>t[10]?(i=2*Math.sqrt(1+t[5]-t[0]-t[10]),e[3]=(t[8]-t[2])/i,e[0]=(t[1]+t[4])/i,e[1]=.25*i,e[2]=(t[6]+t[9])/i):(i=2*Math.sqrt(1+t[10]-t[0]-t[5]),e[3]=(t[1]-t[4])/i,e[0]=(t[8]+t[2])/i,e[1]=(t[6]+t[9])/i,e[2]=.25*i),e}function S(e,t,r,i){let s=t[0],n=t[1],a=t[2],o=t[3],l=s+s,u=n+n,d=a+a,p=s*l,c=s*u,h=s*d,f=n*u,y=n*d,g=a*d,m=o*l,v=o*u,w=o*d,b=i[0],M=i[1],I=i[2];return e[0]=(1-(f+g))*b,e[1]=(c+w)*b,e[2]=(h-v)*b,e[3]=0,e[4]=(c-w)*M,e[5]=(1-(p+g))*M,e[6]=(y+m)*M,e[7]=0,e[8]=(h+v)*I,e[9]=(y-m)*I,e[10]=(1-(p+f))*I,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function C(e,t,r,i,s){let n=t[0],a=t[1],o=t[2],l=t[3],u=n+n,d=a+a,p=o+o,c=n*u,h=n*d,f=n*p,y=a*d,g=a*p,m=o*p,v=l*u,w=l*d,b=l*p,M=i[0],I=i[1],A=i[2],F=s[0],S=s[1],C=s[2],x=(1-(y+m))*M,L=(h+b)*M,j=(f-w)*M,P=(h-b)*I,O=(1-(c+m))*I,_=(g+v)*I,T=(f+w)*A,R=(g-v)*A,Z=(1-(c+y))*A;return e[0]=x,e[1]=L,e[2]=j,e[3]=0,e[4]=P,e[5]=O,e[6]=_,e[7]=0,e[8]=T,e[9]=R,e[10]=Z,e[11]=0,e[12]=r[0]+F-(x*F+P*S+T*C),e[13]=r[1]+S-(L*F+O*S+R*C),e[14]=r[2]+C-(j*F+_*S+Z*C),e[15]=1,e}function x(e,t,r,i,s,n,a){let o=1/(r-t),l=1/(s-i),u=1/(n-a);return e[0]=2*n*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*n*l,e[6]=0,e[7]=0,e[8]=(r+t)*o,e[9]=(s+i)*l,e[10]=(a+n)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=a*n*2*u,e[15]=0,e}function L(e,t,r,i){let n=t[0],a=t[1],l=t[2],u=n-r[0],d=a-r[1],p=l-r[2],c=(0,s.FD)();if(Math.abs(u)<c&&Math.abs(d)<c&&Math.abs(p)<c)return void o(e);let h=1/Math.sqrt(u*u+d*d+p*p);u*=h,d*=h,p*=h;let f=i[0],y=i[1],g=i[2],m=y*p-g*d,v=g*u-f*p,w=f*d-y*u;h=Math.sqrt(m*m+v*v+w*w),h?(h=1/h,m*=h,v*=h,w*=h):(m=0,v=0,w=0);let b=d*w-p*v,M=p*m-u*w,I=u*v-d*m;h=Math.sqrt(b*b+M*M+I*I),h?(h=1/h,b*=h,M*=h,I*=h):(b=0,M=0,I=0),e[0]=m,e[1]=b,e[2]=u,e[3]=0,e[4]=v,e[5]=M,e[6]=d,e[7]=0,e[8]=w,e[9]=I,e[10]=p,e[11]=0,e[12]=-(m*n+v*a+w*l),e[13]=-(b*n+M*a+I*l),e[14]=-(u*n+d*a+p*l),e[15]=1}function j(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}function P(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function O(e){let t=(0,s.FD)(),r=e[0],i=e[1],n=e[2],a=e[4],o=e[5],l=e[6],u=e[8],d=e[9],p=e[10];return Math.abs(1-(r*r+a*a+u*u))<=t&&Math.abs(1-(i*i+o*o+d*d))<=t&&Math.abs(1-(n*n+l*l+p*p))<=t}function _(e){return 1===e[0]&&0===e[1]&&0===e[2]&&0===e[4]&&1===e[5]&&0===e[6]&&0===e[8]&&0===e[9]&&1===e[10]}const T=p,R=j;Object.freeze(Object.defineProperty({__proto__:null,add:function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e},adjoint:function(e,t){let r=t[0],i=t[1],s=t[2],n=t[3],a=t[4],o=t[5],l=t[6],u=t[7],d=t[8],p=t[9],c=t[10],h=t[11],f=t[12],y=t[13],g=t[14],m=t[15];return e[0]=o*(c*m-h*g)-p*(l*m-u*g)+y*(l*h-u*c),e[1]=-(i*(c*m-h*g)-p*(s*m-n*g)+y*(s*h-n*c)),e[2]=i*(l*m-u*g)-o*(s*m-n*g)+y*(s*u-n*l),e[3]=-(i*(l*h-u*c)-o*(s*h-n*c)+p*(s*u-n*l)),e[4]=-(a*(c*m-h*g)-d*(l*m-u*g)+f*(l*h-u*c)),e[5]=r*(c*m-h*g)-d*(s*m-n*g)+f*(s*h-n*c),e[6]=-(r*(l*m-u*g)-a*(s*m-n*g)+f*(s*u-n*l)),e[7]=r*(l*h-u*c)-a*(s*h-n*c)+d*(s*u-n*l),e[8]=a*(p*m-h*y)-d*(o*m-u*y)+f*(o*h-u*p),e[9]=-(r*(p*m-h*y)-d*(i*m-n*y)+f*(i*h-n*p)),e[10]=r*(o*m-u*y)-a*(i*m-n*y)+f*(i*u-n*o),e[11]=-(r*(o*h-u*p)-a*(i*h-n*p)+d*(i*u-n*o)),e[12]=-(a*(p*g-c*y)-d*(o*g-l*y)+f*(o*c-l*p)),e[13]=r*(p*g-c*y)-d*(i*g-s*y)+f*(i*c-s*p),e[14]=-(r*(o*g-l*y)-a*(i*g-s*y)+f*(i*l-s*o)),e[15]=r*(o*c-l*p)-a*(i*c-s*p)+d*(i*l-s*o),e},copy:n,determinant:function(e){let t=e[0],r=e[1],i=e[2],s=e[3],n=e[4],a=e[5],o=e[6],l=e[7],u=e[8],d=e[9],p=e[10],c=e[11],h=e[12],f=e[13],y=e[14],g=e[15];return(t*a-r*n)*(p*g-c*y)-(t*o-i*n)*(d*g-c*f)+(t*l-s*n)*(d*y-p*f)+(r*o-i*a)*(u*g-c*h)-(r*l-s*a)*(u*y-p*h)+(i*l-s*o)*(u*f-d*h)},equals:function(e,t){if(e===t)return!0;let r=e[0],i=e[1],n=e[2],a=e[3],o=e[4],l=e[5],u=e[6],d=e[7],p=e[8],c=e[9],h=e[10],f=e[11],y=e[12],g=e[13],m=e[14],v=e[15],w=t[0],b=t[1],M=t[2],I=t[3],A=t[4],F=t[5],S=t[6],C=t[7],x=t[8],L=t[9],j=t[10],P=t[11],O=t[12],_=t[13],T=t[14],R=t[15],Z=(0,s.FD)();return Math.abs(r-w)<=Z*Math.max(1,Math.abs(r),Math.abs(w))&&Math.abs(i-b)<=Z*Math.max(1,Math.abs(i),Math.abs(b))&&Math.abs(n-M)<=Z*Math.max(1,Math.abs(n),Math.abs(M))&&Math.abs(a-I)<=Z*Math.max(1,Math.abs(a),Math.abs(I))&&Math.abs(o-A)<=Z*Math.max(1,Math.abs(o),Math.abs(A))&&Math.abs(l-F)<=Z*Math.max(1,Math.abs(l),Math.abs(F))&&Math.abs(u-S)<=Z*Math.max(1,Math.abs(u),Math.abs(S))&&Math.abs(d-C)<=Z*Math.max(1,Math.abs(d),Math.abs(C))&&Math.abs(p-x)<=Z*Math.max(1,Math.abs(p),Math.abs(x))&&Math.abs(c-L)<=Z*Math.max(1,Math.abs(c),Math.abs(L))&&Math.abs(h-j)<=Z*Math.max(1,Math.abs(h),Math.abs(j))&&Math.abs(f-P)<=Z*Math.max(1,Math.abs(f),Math.abs(P))&&Math.abs(y-O)<=Z*Math.max(1,Math.abs(y),Math.abs(O))&&Math.abs(g-_)<=Z*Math.max(1,Math.abs(g),Math.abs(_))&&Math.abs(m-T)<=Z*Math.max(1,Math.abs(m),Math.abs(T))&&Math.abs(v-R)<=Z*Math.max(1,Math.abs(v),Math.abs(R))},exactEquals:P,frob:function(e){return Math.sqrt(e[0]**2+e[1]**2+e[2]**2+e[3]**2+e[4]**2+e[5]**2+e[6]**2+e[7]**2+e[8]**2+e[9]**2+e[10]**2+e[11]**2+e[12]**2+e[13]**2+e[14]**2+e[15]**2)},fromQuat:function(e,t){let r=t[0],i=t[1],s=t[2],n=t[3],a=r+r,o=i+i,l=s+s,u=r*a,d=i*a,p=i*o,c=s*a,h=s*o,f=s*l,y=n*a,g=n*o,m=n*l;return e[0]=1-p-f,e[1]=d+m,e[2]=c-g,e[3]=0,e[4]=d-m,e[5]=1-u-f,e[6]=h+y,e[7]=0,e[8]=c+g,e[9]=h-y,e[10]=1-u-p,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},fromQuat2:function(e,t){let r=M,i=-t[0],s=-t[1],n=-t[2],a=t[3],o=t[4],l=t[5],u=t[6],d=t[7],p=i*i+s*s+n*n+a*a;return p>0?(r[0]=2*(o*a+d*i+l*n-u*s)/p,r[1]=2*(l*a+d*s+u*i-o*n)/p,r[2]=2*(u*a+d*n+o*s-l*i)/p):(r[0]=2*(o*a+d*i+l*n-u*s),r[1]=2*(l*a+d*s+u*i-o*n),r[2]=2*(u*a+d*n+o*s-l*i)),b(e,t,r),e},fromRotation:m,fromRotationTranslation:b,fromRotationTranslationScale:S,fromRotationTranslationScaleOrigin:C,fromScaling:function(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},fromTranslation:g,fromXRotation:v,fromYRotation:function(e,t){let r=Math.sin(t),i=Math.cos(t);return e[0]=i,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=i,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},fromZRotation:w,frustum:x,getRotation:F,getScale:A,getTranslation:I,hasIdentityRotation:_,identity:o,invert:d,invertOrIdentity:u,isOrthoNormal:O,lookAt:L,mul:T,multiply:p,multiplyScalar:function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e},multiplyScalarAndAdd:function(e,t,r,i){return e[0]=t[0]+r[0]*i,e[1]=t[1]+r[1]*i,e[2]=t[2]+r[2]*i,e[3]=t[3]+r[3]*i,e[4]=t[4]+r[4]*i,e[5]=t[5]+r[5]*i,e[6]=t[6]+r[6]*i,e[7]=t[7]+r[7]*i,e[8]=t[8]+r[8]*i,e[9]=t[9]+r[9]*i,e[10]=t[10]+r[10]*i,e[11]=t[11]+r[11]*i,e[12]=t[12]+r[12]*i,e[13]=t[13]+r[13]*i,e[14]=t[14]+r[14]*i,e[15]=t[15]+r[15]*i,e},ortho:function(e,t,r,i,s,n,a){let o=1/(t-r),l=1/(i-s),u=1/(n-a);return e[0]=-2*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*o,e[13]=(s+i)*l,e[14]=(a+n)*u,e[15]=1,e},perspective:function(e,t,r,i,s){let n,a=1/Math.tan(t/2);return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=s&&s!==1/0?(n=1/(i-s),e[10]=(s+i)*n,e[14]=2*s*i*n):(e[10]=-1,e[14]=-2*i),e},perspectiveFromFieldOfView:function(e,t,r,i){let s=Math.tan(t.upDegrees*Math.PI/180),n=Math.tan(t.downDegrees*Math.PI/180),a=Math.tan(t.leftDegrees*Math.PI/180),o=Math.tan(t.rightDegrees*Math.PI/180),l=2/(a+o),u=2/(s+n);return e[0]=l,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=u,e[6]=0,e[7]=0,e[8]=-(a-o)*l*.5,e[9]=(s-n)*u*.5,e[10]=i/(r-i),e[11]=-1,e[12]=0,e[13]=0,e[14]=i*r/(r-i),e[15]=0,e},rotate:f,rotateX:y,rotateY:function(e,t,r){let i=Math.sin(r),s=Math.cos(r),n=t[0],a=t[1],o=t[2],l=t[3],u=t[8],d=t[9],p=t[10],c=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=n*s-u*i,e[1]=a*s-d*i,e[2]=o*s-p*i,e[3]=l*s-c*i,e[8]=n*i+u*s,e[9]=a*i+d*s,e[10]=o*i+p*s,e[11]=l*i+c*s,e},rotateZ:function(e,t,r){let i=Math.sin(r),s=Math.cos(r),n=t[0],a=t[1],o=t[2],l=t[3],u=t[4],d=t[5],p=t[6],c=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=n*s+u*i,e[1]=a*s+d*i,e[2]=o*s+p*i,e[3]=l*s+c*i,e[4]=u*s-n*i,e[5]=d*s-a*i,e[6]=p*s-o*i,e[7]=c*s-l*i,e},scale:h,set:a,str:function(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"},sub:R,subtract:j,targetTo:function(e,t,r,i){let s=t[0],n=t[1],a=t[2],o=i[0],l=i[1],u=i[2],d=s-r[0],p=n-r[1],c=a-r[2],h=d*d+p*p+c*c;h>0&&(h=1/Math.sqrt(h),d*=h,p*=h,c*=h);let f=l*c-u*p,y=u*d-o*c,g=o*p-l*d;return h=f*f+y*y+g*g,h>0&&(h=1/Math.sqrt(h),f*=h,y*=h,g*=h),e[0]=f,e[1]=y,e[2]=g,e[3]=0,e[4]=p*g-c*y,e[5]=c*f-d*g,e[6]=d*y-p*f,e[7]=0,e[8]=d,e[9]=p,e[10]=c,e[11]=0,e[12]=s,e[13]=n,e[14]=a,e[15]=1,e},translate:c,transpose:l},Symbol.toStringTag,{value:"Module"}))},54239(e,t,r){r.d(t,{A:()=>m});var i,s=r(32198),n=r(4576),a=r(66552),o=r(25482),l=r(86211),u=r(67076),d=r(91429),p=r(97348),c=r(43937),h=r(36005);const f=(0,a.O)()({orthometric:"gravity-related-height",gravity_related_height:"gravity-related-height",ellipsoidal:"ellipsoidal"}),y=f.jsonValues.slice();(0,n.Xy)(y,"orthometric");const g=(0,a.O)()({meter:"meters",foot:"feet","us-foot":"us-feet","clarke-foot":"clarke-feet","clarke-yard":"clarke-yards","clarke-link":"clarke-links","sears-yard":"sears-yards","sears-foot":"sears-feet","sears-chain":"sears-chains","benoit-1895-b-chain":"benoit-1895-b-chains","indian-yard":"indian-yards","indian-1937-yard":"indian-1937-yards","gold-coast-foot":"gold-coast-feet","sears-1922-truncated-chain":"sears-1922-truncated-chains","50-kilometers":"50-kilometers","150-kilometers":"150-kilometers"});let m=i=class extends o.o{constructor(e){super(e),this.origin=0,this.associatedSpatialReference=null,this.heightModel="gravity-related-height",this.heightUnit="meters",this.vertCRS=null}read(e,t){super.read(e,t),("service"===t?.origin||"web-scene"===t?.origin)&&(this.origin="service"===t.origin?2:1,this.associatedSpatialReference=null)}writeHeightModel(e,t,r){return f.write(e,t,r)}readHeightModel(e,t,r){return f.read(e)||(r?.messages&&r.messages.push(function(e,t){return new u.A("height-model:unsupported",`Height model of value '${e}' is not supported`,t)}(e,{context:r})),null)}readHeightUnit(e,t,r){return g.read(e)||(r?.messages&&r.messages.push(v(e,{context:r})),null)}readHeightUnitService(e,t,r){return(0,l.LA)(e)||g.read(e)||(r?.messages&&r.messages.push(v(e,{context:r})),null)}readVertCRS(e,t){return t.vertCRS||t.ellipsoid||t.geoid}clone(){return new i({heightModel:this.heightModel,heightUnit:this.heightUnit,vertCRS:this.vertCRS,origin:this.origin,associatedSpatialReference:this.associatedSpatialReference})}equals(e){return!!e&&(this===e||this.heightModel===e.heightModel&&this.heightUnit===e.heightUnit&&this.vertCRS===e.vertCRS)}static fromSpatialReference(e){let{latestVcsWkid:t,vcsWkid:r}=e;if(!r)return null;let s=(null==t?null:p.B.get(t))??p.B.get(r);return s?new i({heightModel:0===s.type?"gravity-related-height":"ellipsoidal",heightUnit:(0,l.LA)(s.unit.name),vertCRS:s.datum,origin:3,associatedSpatialReference:e}):null}write(e,t){return t={origin:"web-scene",...t},super.write(e,t)}static fromJSON(e){if(!e)return null;let t=new i;return t.read(e,{origin:"web-scene"}),t}};function v(e,t){return new u.A("height-unit:unsupported",`Height unit of value '${e}' is not supported`,t)}(0,s.Cg)([(0,d.MZ)()],m.prototype,"origin",void 0),(0,s.Cg)([(0,d.MZ)()],m.prototype,"associatedSpatialReference",void 0),(0,s.Cg)([(0,d.MZ)({type:f.apiValues,constructOnly:!0,json:{origins:{"web-scene":{type:y,default:"ellipsoidal",write:{isRequired:!0,alwaysWriteDefaults:!0}}}}})],m.prototype,"heightModel",void 0),(0,s.Cg)([(0,c.K)("web-scene","heightModel")],m.prototype,"writeHeightModel",null),(0,s.Cg)([(0,h.w)(["web-scene","service"],"heightModel")],m.prototype,"readHeightModel",null),(0,s.Cg)([(0,d.MZ)({type:g.apiValues,constructOnly:!0,json:{origins:{"web-scene":{type:g.jsonValues,write:{writer:g.write,isRequired:!0}}}}})],m.prototype,"heightUnit",void 0),(0,s.Cg)([(0,h.w)("web-scene","heightUnit")],m.prototype,"readHeightUnit",null),(0,s.Cg)([(0,h.w)("service","heightUnit")],m.prototype,"readHeightUnitService",null),(0,s.Cg)([(0,d.MZ)({type:String,constructOnly:!0,json:{origins:{"web-scene":{write:!0}}}})],m.prototype,"vertCRS",void 0),(0,s.Cg)([(0,h.w)("service","vertCRS",["vertCRS","ellipsoid","geoid"])],m.prototype,"readVertCRS",null),m=i=(0,s.Cg)([(0,d.$K)("esri.geometry.HeightModelInfo")],m)},73836(e,t,r){r.d(t,{A:()=>h});var i=r(32198),s=r(69540),n=r(25482),a=r(91429),o=r(58083),l=r(9093),u=r(67026),d=r(82534),p=r(51850),c=r(24770);let h=class extends((0,s.OU)(n.o)){constructor(e){super(e),this.translation=(0,p.vt)(),this.rotationAxis=(0,p.ci)(c.up),this.rotationAngle=0,this.scale=(0,p.fA)(1,1,1)}get rotation(){return(0,c.i4)(this.rotationAxis,this.rotationAngle)}set rotation(e){this.rotationAxis=(0,p.o8)((0,c.yo)(e)),this.rotationAngle=(0,c.g7)(e)}get localMatrix(){let e=(0,l.vt)();return(0,u.x8)(f,(0,c.yo)(this.rotation),(0,c.$I)(this.rotation)),(0,o.o1)(e,f,this.translation,this.scale),e}get localMatrixInverse(){return(0,o.B8)((0,l.vt)(),this.localMatrix)}equals(e){return this===e||null!=e&&(0,o.t2)(this.localMatrix,e.localMatrix)}};(0,i.Cg)([(0,a.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],h.prototype,"translation",void 0),(0,i.Cg)([(0,a.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],h.prototype,"rotationAxis",void 0),(0,i.Cg)([(0,a.MZ)({type:Number,nonNullable:!0,json:{write:!0}})],h.prototype,"rotationAngle",void 0),(0,i.Cg)([(0,a.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],h.prototype,"scale",void 0),(0,i.Cg)([(0,a.MZ)()],h.prototype,"rotation",null),(0,i.Cg)([(0,a.MZ)()],h.prototype,"localMatrix",null),(0,i.Cg)([(0,a.MZ)()],h.prototype,"localMatrixInverse",null),h=(0,i.Cg)([(0,a.$K)("esri.geometry.support.MeshTransform")],h);const f=(0,d.vt)()},24770(e,t,r){r.d(t,{$I:()=>g,AU:()=>h,g7:()=>y,i4:()=>d,ui:()=>p,vt:()=>u,yo:()=>f});var i=r(34727),s=r(58083),n=r(67026),a=r(82534),o=r(35522),l=r(51850);function u(e=v){return[e[0],e[1],e[2],e[3]]}function d(e,t,r=u()){return(0,o.C)(r,e),r[3]=t,r}function p(e,t=u()){let r=(0,s.l)(w,e);return m(t,(0,i.KJ)((0,n.Xd)(t,r))),t}function c(e,t,r=u()){return(0,n.x8)(w,e,g(e)),(0,n.x8)(b,t,g(t)),(0,n.lw)(w,b,w),m(r,(0,i.KJ)((0,n.Xd)(r,w)))}function h(e,t,r,i=u()){return d(l.Cw,e,M),d(l.JP,t,I),d(l.Cb,r,A),c(M,I,M),c(M,A,i),i}function f(e){return e}function y(e){return e[3]}function g(e){return(0,i.kU)(e[3])}function m(e,t){return e[3]=t,e}const v=[0,0,1,0],w=(0,a.vt)(),b=(0,a.vt)(),M=(u(),u()),I=u(),A=u();r.d(t,["up",0,v])},2e4(e,t,r){r.r(t),r.d(t,{default:()=>Ze});var i=r(32198),s=r(52106),n=r(37838),a=r(69540),o=r(7762),l=r(49186),u=r(36563),d=r(53966),p=r(97768),c=r(25728),h=r(17676),f=r(36708),y=r(91429),g=r(88620),m=r(86738),v=r(99917),w=r(41910),b=r(55156),M=r(60950),I=r(89808),A=r(99959);const F=Symbol("isSceneGraphicOrigin");var S;class C extends A.A{get[(S=F,M.ym)](){return this.layer}get[b.e](){return this.layer}get[I.Q](){return this.layer}get[w.e7](){return this.layer}constructor(e){super(),this[S]=!0,this.type="scene",this.layer=e}get id(){return this.layer.id}}var x=r(4146),L=r(55726),j=r(52136),P=r(18768),O=r(69208),_=r(47685),T=r(34287),R=r(8303),Z=r(25036),E=r(58947),U=r(82935),$=r(60694),q=r(92009),D=r(4071),N=r(10873),k=r(15426),H=r(67202),V=r(17036),G=r(95466),K=r(30524),Q=r(50805),z=r(20557),J=r(46499),B=r(39383),W=r(37352),X=r(2976),Y=r(86390),ee=r(25482);let te=class extends ee.o{constructor(){super(...arguments),this.name=null,this.field=null,this.currentRangeExtent=null,this.fullRangeExtent=null,this.type="rangeInfo"}};(0,i.Cg)([(0,y.MZ)({type:String,json:{read:!0,write:{isRequired:!0}}})],te.prototype,"name",void 0),(0,i.Cg)([(0,y.MZ)({type:String,json:{read:!0,write:{isRequired:!0}}})],te.prototype,"field",void 0),(0,i.Cg)([(0,y.MZ)({type:[Number],json:{read:!0,write:!0}})],te.prototype,"currentRangeExtent",void 0),(0,i.Cg)([(0,y.MZ)({type:[Number],json:{read:!0,write:!0}})],te.prototype,"fullRangeExtent",void 0),(0,i.Cg)([(0,y.MZ)({type:["rangeInfo"],readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],te.prototype,"type",void 0),te=(0,i.Cg)([(0,y.$K)("esri.layers.support.RangeInfo")],te);var re,ie=r(56507),se=r(4718),ne=r(87024),ae=r(67076),oe=r(39829);let le=re=class extends((0,ee.T)(o.A.ofType(oe.A))){constructor(e){super(e)}clone(){return new re(this.items.map(e=>e.clone()))}write(e,t){return this.toJSON(t)}toJSON(e){let t=e?.layer?.spatialReference;return t?this.toArray().map(r=>{if(!t.equals(r.spatialReference)){if(!(0,v.canProjectWithoutEngine)(r.spatialReference,t))return e?.messages?.push(new ae.A("scenefilter:unsupported","Scene filters with incompatible spatial references are not supported",{modification:this,spatialReference:e.layer.spatialReference,context:e})),null;let i=new oe.A;(0,v.projectPolygon)(r,i,t),r=i}let i=r.toJSON(e);return delete i.spatialReference,i}).filter(e=>null!=e):this.toArray().map(t=>t.toJSON(e))}static fromJSON(e,t){let r=new re;return e.forEach(e=>r.add(oe.A.fromJSON(e,t))),r}};le=re=(0,i.Cg)([(0,y.$K)("esri.layers.support.PolygonCollection")],le);const ue=le;var de,pe=r(97159),ce=r(36005);let he=de=class extends ee.o{constructor(e){super(e),this.spatialRelationship="disjoint",this.geometries=new ue,this._geometriesSource=null}initialize(){this.addHandles((0,f.on)(()=>this.geometries,"after-changes",()=>this.geometries=this.geometries,f.OH))}readGeometries(e,t,r){Array.isArray(e)?this.geometries=ue.fromJSON(e,r):("web-scene"===r.origin||"portal-item"===r.origin)&&(this._geometriesSource={url:(0,pe.f)(e,r),context:r})}async loadGeometries(e,t){if(null==this._geometriesSource)return;let{url:r,context:i}=this._geometriesSource,s=await(0,ie.A)(r,{responseType:"json",signal:t?.signal}),n=e.toJSON(),a=s.data.map(e=>({...e,spatialReference:n}));this.geometries=ue.fromJSON(a,i),this._geometriesSource=null}clone(){let e=new de({geometries:(0,se.o8)(this.geometries),spatialRelationship:this.spatialRelationship});return e._geometriesSource=this._geometriesSource,e}};(0,i.Cg)([(0,y.MZ)({type:["disjoint","contains"],nonNullable:!0,json:{write:{isRequired:!0}}})],he.prototype,"spatialRelationship",void 0),(0,i.Cg)([(0,y.MZ)({type:ue,nonNullable:!0,json:{write:!0,origins:{"web-scene":{write:{isRequired:!0}}}}}),(0,ne.P)({origins:["web-scene","portal-item"],type:"resource",prefix:"geometries",contentAddressed:!0})],he.prototype,"geometries",void 0),(0,i.Cg)([(0,ce.w)(["web-scene","portal-item","service"],"geometries")],he.prototype,"readGeometries",null),he=de=(0,i.Cg)([(0,y.$K)("esri.layers.support.SceneFilter")],he);const fe=he;function ye({associatedLayer:e,serviceUpdateTimeStamp:t}){let r=e?.editingInfo?.lastEditDate,i=e?.serverGens,s=null!=r,n=null!=t,a=s&&n&&t.lastUpdate!==r.getTime();return s&&(a||!n&&i?.minServerGen!==i?.serverGen)}var ge=r(84952);let me=class extends ee.o{constructor(){super(...arguments),this.endTimeField=null,this.startTimeField=null}};(0,i.Cg)([(0,y.MZ)({type:String})],me.prototype,"endTimeField",void 0),(0,i.Cg)([(0,y.MZ)({type:String})],me.prototype,"startTimeField",void 0),me=(0,i.Cg)([(0,y.$K)("esri.layers.support.SceneServiceTimeInfo")],me);var ve=r(96184),we=r(8947),be=r(41214),Me=r(97552),Ie=r(24212),Ae=r(30291);async function Fe(e){let{BlobReader:t,ZipReader:i,BlobWriter:s}=await Promise.all([r.e(9275),r.e(9588)]).then(()=>r(9588)),n=[];return(await new i(new t(e)).getEntries()).forEach(e=>{if(e.directory||/^__MACOS/i.test(e.filename))return;let t=new s;n.push(e.getData(t).then(t=>new File([t],e.filename)))}),Promise.all(n)}var Se=r(79677),Ce=r(10184),xe=r(66480),Le=r(45671),je=r(78553);const Pe=new Set(["3DObject","Point"]),Oe=(0,V.p)();let _e=class extends((0,_.w6)((0,E.w6)((0,P.b)((0,T.q)((0,R.A)((0,Z.j)((0,c.M)((0,O.d)((0,j.p)((0,a.OU)(x.A))))))))))){constructor(...e){super(...e),this.featureReduction=null,this.rangeInfos=null,this.operationalLayerType="ArcGISSceneServiceLayer",this.type="scene",this.fields=null,this.graphicOrigin=new C(this),this.floorInfo=null,this.outFields=null,this.nodePages=null,this.materialDefinitions=null,this.textureSetDefinitions=null,this.geometryDefinitions=null,this.serviceUpdateTimeStamp=null,this.excludeObjectIds=new o.A,this.definitionExpression=null,this.filter=null,this.path=null,this.labelsVisible=!0,this.labelingInfo=null,this.legendEnabled=!0,this.priority=null,this.semantic=null,this.cachedDrawingInfo={color:!1},this.popupEnabled=!0,this.popupTemplate=null,this.attributeTableTemplate=null,this.objectIdField=null,this.globalIdField=null,this._fieldUsageInfo={},this.screenSizePerspectiveEnabled=!0,this.serviceItemId=void 0,this.serviceTimeInfo=null}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}destroy(){this._set("renderer",null),this.associatedLayer=(0,p.pR)(this.associatedLayer)}getField(e){return this.fieldsIndex.get(e)}getFieldDomain(e,t){let r=this.getField(e)?.domain??null;return this.associatedLayer?(0,k.Vq)(this.associatedLayer,e,t,r):r}getFeatureType(e){return e&&this.associatedLayer?this.associatedLayer.getFeatureType(e):null}get types(){return this.associatedLayer?.types??[]}get typeIdField(){return this.associatedLayer?.typeIdField??null}get templates(){return this.associatedLayer?.templates??null}get formTemplate(){return this.associatedLayer?.formTemplate??null}get fieldsIndex(){return new G.A(this.fields)}readNodePages(e,t,r){return"Point"===t.layerType&&(e=t.pointNodePages),"object"==typeof e&&e?Q.W4.fromJSON(e,r):null}set elevationInfo(e){this._set("elevationInfo",e),this.loaded&&this._validateElevationInfo()}get effectiveCapabilities(){return this._capabilitiesFromAssociatedFeatureLayer(this.associatedLayer?.effectiveCapabilities)}get effectiveEditingEnabled(){return null!=this.associatedLayer&&(0,k.C$)(this.associatedLayer)}get geometryType(){return Re[this.profile]||"mesh"}set renderer(e){(0,K.yp)(e,this.fieldsIndex),this._set("renderer",e)}readCachedDrawingInfo(e){return("object"!=typeof e||!e)&&(e={}),e.color??(e.color=!1),e}get capabilities(){return this._capabilitiesFromAssociatedFeatureLayer(this.associatedLayer?.capabilities)}_capabilitiesFromAssociatedFeatureLayer(e){e??=D.P;let{query:t,queryRelated:r,editing:{supportsGlobalId:i,supportsRollbackOnFailure:s,supportsUploadWithItemId:n,supportsGeometryUpdate:a,supportsReturnServiceEditsInSourceSpatialReference:o},data:{supportsZ:l,supportsM:u,isVersioned:d,supportsAttachment:p},operations:{supportsEditing:c,supportsAdd:h,supportsUpdate:f,supportsDelete:y,supportsQuery:g,supportsQueryAttachments:m,supportsAsyncConvert3D:v},attachment:w}=e,b=e.operations.supportsChangeTracking,M=!!this.associatedLayer?.infoFor3D;return{query:t,queryRelated:r,editing:{supportsGlobalId:i,supportsReturnServiceEditsInSourceSpatialReference:o,supportsRollbackOnFailure:s,supportsGeometryUpdate:M&&a,supportsUploadWithItemId:n},data:{supportsAttachment:p,supportsZ:l,supportsM:u,isVersioned:d,queryFormats:e.data.queryFormats,sourceFormats:e.data.sourceFormats},operations:{supportsQuery:g,supportsQueryAttachments:m,supportsEditing:c&&b,supportsAdd:M&&h&&b,supportsDelete:M&&y&&b,supportsUpdate:f&&b,supportsAsyncConvert3D:v},attachment:w}}get editingEnabled(){return this._isOverridden("editingEnabled")?this._get("editingEnabled"):this.associatedLayer?.editingEnabled??!1}set editingEnabled(e){this._overrideIfSome("editingEnabled",e)}get infoFor3D(){return this.associatedLayer?.infoFor3D??null}get relationships(){return this.associatedLayer?.relationships}get defaultPopupTemplate(){return this.associatedLayer||this.attributeStorageInfo?this.createPopupTemplate():null}readObjectIdField(e,t){return!e&&t.fields&&t.fields.some(t=>("esriFieldTypeOID"===t.type&&(e=t.name),!!e)),e||void 0}readGlobalIdField(e,t){return!e&&t.fields&&t.fields.some(t=>("esriFieldTypeGlobalID"===t.type&&(e=t.name),!!e)),e||void 0}get displayField(){return this.associatedLayer?.displayField??null}readProfile(e,t){let r=t.store.profile;return null!=r&&Te[r]?Te[r]:(d.A.getLogger(this).error("Unknown or missing profile",{profile:r,layer:this}),"mesh-pyramids")}get useViewTime(){return this.associatedLayer?.useViewTime??!0}set useViewTime(e){this._override("useViewTime",e)}get timeInfo(){let e=this.associatedLayer?.timeInfo;if(null==e)return null;let t=e.clone();return(0,K.sv)(t,this.fieldsIndex),t}set timeInfo(e){(0,K.sv)(e,this.fieldsIndex),this._override("timeInfo",e)}get timeExtent(){return this.associatedLayer?.timeExtent}set timeExtent(e){this._override("timeExtent",e)}get timeOffset(){return this.associatedLayer?.timeOffset}set timeOffset(e){this._override("timeOffset",e)}get datesInUnknownTimezone(){return this.associatedLayer?.datesInUnknownTimezone??!1}set datesInUnknownTimezone(e){this._override("datesInUnknownTimezone",e)}load(e){return this.addResolvingPromise(this._load(e)),Promise.resolve(this)}async _load(e){let t=e?.signal;await this.loadFromPortal({supportedTypes:["Scene Service"]},e).catch(h.QP),await this._fetchService(t),await Promise.all([this._fetchIndexAndUpdateExtent(this.nodePages,t),this._setAssociatedFeatureLayer(t),this._loadFilterGeometries()]),this._validateElevationInfo(),this._applyAssociatedLayerOverrides(),this._populateFieldUsageInfo(),await this.loadTimeInfoFromService(e),await(0,we.L)(this,{origin:"service"},t),(0,K.yp)(this.renderer,this.fieldsIndex),await this.finishLoadEditablePortalLayer(e)}async beforeSave(){null!=this.filter&&(this.filter=this.filter.clone(),await this.load())}async _loadFilterGeometries(){if(this.filter)try{await this.filter.loadGeometries(this.spatialReference)}catch(e){d.A.getLogger(this).error("#_loadFilterGeometries()",this,"Failed to load filter geometries. Geometry filter will not be applied for this layer.",{error:e}),this.filter=null}}createQuery(){let e=new Me.A;return"mesh"===this.geometryType?this.capabilities.query.supportsReturnMesh&&(e.returnGeometry=!0):(e.returnGeometry=!0,e.returnZ=!0),e.where=this.definitionExpression||"1=1",e.sqlFormat="standard",e.outFields=["*"],e}queryExtent(e,t){return this._getAssociatedLayerForQuery().then(r=>r.queryExtent(e||this.createQuery(),t))}queryFeatureCount(e,t){return this._getAssociatedLayerForQuery().then(r=>r.queryFeatureCount(e||this.createQuery(),t))}queryFeatures(e,t){return this._getAssociatedLayerForQuery().then(r=>r.queryFeatures(e||this.createQuery(),t)).then(e=>{if(e?.features)for(let t of e.features)t.layer=this,t.sourceLayer=this,t.origin=this.graphicOrigin;return e})}async queryModels(e,t){let[i,{queryModels:s}]=await Promise.all([this._getAssociatedLayerForQuery(),Promise.all([r.e(893),r.e(2387)]).then(()=>r(41653))]);return s(this,i,e,t)}async queryModel(e,t){let[i,{queryModel:s}]=await Promise.all([this._getAssociatedLayerForQuery(),Promise.all([r.e(893),r.e(2387)]).then(()=>r(41653))]);return s(this,i,e,t)}async queryRelatedFeatures(e,t){if(await this.load(),!this.associatedLayer)throw new l.A("scenelayer:query-not-available","SceneLayer queries are not available without an associated feature layer",{layer:this});return this.associatedLayer.queryRelatedFeatures(e,t)}async queryRelatedFeaturesCount(e,t){if(await this.load(),!this.associatedLayer)throw new l.A("scenelayer:query-not-available","SceneLayer queries are not available without an associated feature layer",{layer:this});return this.associatedLayer.queryRelatedFeaturesCount(e,t)}async queryCachedAttributes(e,t){let r=(0,K.hL)(this.fieldsIndex,await(0,Le.TO)(this,(0,Le.D8)(this)));return(0,xe.s1)(this.parsedUrl?.path??"",this.attributeStorageInfo??[],e,t,r,this.apiKey,this.customParameters)}async queryCachedFeature(e,t){let r=await this.queryCachedAttributes(e,[t]);if(!r||0===r.length)throw new l.A("scenelayer:feature-not-in-cached-data","Feature not found in cached data");let i=new s.A;return i.attributes=r[0],i.layer=this,i.sourceLayer=this,i.origin=this.graphicOrigin,i}queryObjectIds(e,t){return this._getAssociatedLayerForQuery().then(r=>r.queryObjectIds(e||this.createQuery(),t))}queryAttachments(e,t){return this._getAssociatedLayerForQuery().then(r=>r.queryAttachments(e,t))}getFieldUsageInfo(e){let t={supportsLabelingInfo:!1,supportsRenderer:!1,supportsPopupTemplate:!1,supportsLayerQuery:!1};return this.loaded?this._fieldUsageInfo[e]||t:(d.A.getLogger(this).error("#getFieldUsageInfo()","Unavailable until layer is loaded"),t)}createPopupTemplate(e){return(0,Ae.tn)(this,e)}_getAssociatedLayerForQuery(){let e=this.associatedLayer;return e?.loaded?Promise.resolve(e):this._loadAssociatedLayerForQuery()}async _loadAssociatedLayerForQuery(){if(await this.load(),!this.associatedLayer)throw new l.A("scenelayer:query-not-available","SceneLayer queries are not available without an associated feature layer",{layer:this});try{await this.associatedLayer.load()}catch(e){throw new l.A("scenelayer:query-not-available","SceneLayer associated feature layer could not be loaded",{layer:this,error:e})}return this.associatedLayer}hasCachedStatistics(e){return null!=this.statisticsInfo&&this.statisticsInfo.some(t=>t.name===e)}async queryCachedStatistics(e,t){return await this.load(t),await this.fetchStatistics(e,t)}async saveAs(e,t){return this._debouncedSaveOperations(1,{...t,getTypeKeywords:()=>this._getTypeKeywords(),portalItemLayerType:"scene"},e)}async save(){return this._debouncedSaveOperations(0,{getTypeKeywords:()=>this._getTypeKeywords(),portalItemLayerType:"scene"})}async applyEdits(e,t){let{applyEdits:i}=await r.e(6247).then(()=>r(78628)),s=t;await this.load();let n=this.associatedLayer;if(!n)throw new l.A(`${this.type}-layer:not-editable`,"Service is not editable");await n.load();let{globalIdField:a}=n,o=!!n.infoFor3D,u=s?.globalIdUsed??!0;if(o&&null==a)throw new l.A(`${this.type}-layer:not-editable`,"Valid globalIdField expected on editable SceneLayer");if(o&&!u)throw new l.A(`${this.type}-layer:globalid-required`,"globalIdUsed must not be false for SceneLayer editing as globalIds are required.");return(0,$.Wo)(n.url)&&o&&null!=e.deleteFeatures&&null!=a&&(s={...s,globalIdToObjectId:await(0,k.GA)(n,e.deleteFeatures,a)}),i(this,n.source,e,s)}async uploadAssets(e,t){if(await this.load(),null==this.associatedLayer)throw new l.A(`${this.type}-layer:not-editable`,"Service is not editable");return await this.associatedLayer.load(),this.associatedLayer.uploadAssets(e,t)}async convertMesh(e,t){t??={};let i=e=>{throw d.A.getLogger(this).error(".convertMesh()",e.message),e};await this.load(t),this.infoFor3D||i(new l.A("invalid:layer","SceneLayer has no capability for mesh conversion"));let s=await this.extractAndFilterFiles(e);(0,h.Te)(t);let n=s.reduce((e,t)=>(0,z.oF)(this.infoFor3D,t)?e+1:e,0);0===n&&i(new L.VP),n>1&&i(new L.XQ);let a=this.spatialReference,o=t.origin,u=await(0,v.projectAsync)(o??t.defaultOrigin??new m.A({x:0,y:0,z:0,spatialReference:a}),a,t),p=a.isGeographic?"local":"georeferenced",{createWithExternalSource:c}=await Promise.all([r.e(2258),r.e(118),r.e(3354)]).then(()=>r(40118));(0,h.Te)(t);let f=c(u,{type:"client",files:s},{vertexSpace:p,transform:(0,Y.Z)(a),unitConversionDisabled:!0}),[y]=await this.uploadAssets([f],{...t,useAssetOrigin:!o});return y}async extractAndFilterFiles(e){await this.load();let t=this.infoFor3D;return t?(await async function(e){let t=[];for(let r of e)r.name.toLowerCase().endsWith(".zip")?t.push(Fe(r)):t.push(Promise.resolve(r));return(await Promise.all(t)).flat()}(e)).filter(e=>(0,z.fu)(t,e)):e}validateLayer(e){if(e.layerType&&!Pe.has(e.layerType))throw new l.A("scenelayer:layer-type-not-supported","SceneLayer does not support this layer type",{layerType:e.layerType});if(isNaN(this.version.major)||isNaN(this.version.minor))throw new l.A("layer:service-version-not-supported","Service version is not supported.",{serviceVersion:this.version.versionString,supportedVersions:"1.x, 2.x"});if(this.version.major>2)throw new l.A("layer:service-version-too-new","Service version is too new.",{serviceVersion:this.version.versionString,supportedVersions:"1.x, 2.x"});!function(e,t){let r=!1,i=!1;if(null==e)r=!0,i=!0;else{let s=t&&t.isGeographic;switch(e){case"east-north-up":case"earth-centered":r=!0,i=s;break;case"vertex-reference-frame":r=!0,i=!s;break;default:r=!1}}if(!r)throw new l.A("scenelayer:unsupported-normal-reference-frame","Normal reference frame is invalid.");if(!i)throw new l.A("scenelayer:incompatible-normal-reference-frame","Normal reference frame is incompatible with layer spatial reference.")}(this.normalReferenceFrame,this.spatialReference)}get isUsedAsGroundLayer(){return!1}_getTypeKeywords(){let e=[];if("points"===this.profile)e.push("Point");else{if("mesh-pyramids"!==this.profile)throw new l.A("scenelayer:unknown-profile","SceneLayer:save() encountered an unknown SceneLayer profile: "+this.profile);e.push("3DObject")}return e}_populateFieldUsageInfo(){if(this._fieldUsageInfo={},this.fields)for(let e of this.fields){let t=!!this.attributeStorageInfo?.some(t=>t.name===e.name),r=!!this.associatedLayer?.fields?.some(t=>t&&e.name===t.name),i={supportsLabelingInfo:t,supportsRenderer:t,supportsPopupTemplate:t||r,supportsLayerQuery:r};this._fieldUsageInfo[e.name]=i}}_applyAssociatedLayerOverrides(){this._applyAssociatedLayerFieldsOverrides(),this._applyAssociatedLayerPropertyOverrides(),this._applyAssociatedLayerExtentOverride(),this._applyAssociatedLayerPrivileges()}_applyAssociatedLayerFieldsOverrides(){if(!this.associatedLayer?.fields)return;let e=null;for(let t of this.associatedLayer.fields){let r=this.getField(t.name);r?(!r.domain&&t.domain&&(r.domain=t.domain.clone()),r.editable=t.editable,r.nullable=t.nullable,r.length=t.length):(e||=this.fields?this.fields.slice():[],e.push(t.clone()))}e&&this._set("fields",e)}_applyAssociatedLayerPropertyOverrides(){if(!this.associatedLayer)return;let e=["popupTemplate","popupEnabled","attributeTableTemplate"],t=(0,g.oY)(this);for(let r=0;r<e.length;r++){let i=e[r],s=this.originIdOf(i),n=this.associatedLayer.originIdOf(i);s<n&&(2===n||3===n)&&t.setAtOrigin(i,this.associatedLayer[i],n)}}_applyAssociatedLayerExtentOverride(){let e=this.associatedLayer?.getAtOrigin("fullExtent","service");null!=this.associatedLayer?.infoFor3D&&e&&(0,$.Wo)(this.associatedLayer?.url)&&ye(this)&&(0,g.oY)(this).setAtOrigin("fullExtent",e.clone(),2)}_applyAssociatedLayerPrivileges(){let e=this.associatedLayer;e&&(this._set("userHasEditingPrivileges",e.userHasEditingPrivileges),this._set("userHasFullEditingPrivileges",e.userHasFullEditingPrivileges),this._set("userHasUpdateItemPrivileges",e.userHasUpdateItemPrivileges))}async _setAssociatedFeatureLayer(e){if(["mesh-pyramids","points"].includes(this.profile))try{let{serverUrl:t,layerId:r,portalItem:i}=await(0,q.L)(`${this.url}/layers/${this.layerId}`,{sceneLayerItem:this.portalItem,customParameters:this.customParameters,apiKey:this.apiKey,signal:e}),s=await X.U.FeatureLayer();this.associatedLayer=new s({url:t,customParameters:this.customParameters,apiKey:this.apiKey,layerId:r,portalItem:i}),await this.associatedLayer.load()}catch(e){(0,h.zf)(e)||this._logWarningOnPopupEnabled().catch(()=>{})}}async _logWarningOnPopupEnabled(){let e=new AbortController;this.addHandles((0,u.rE)(e));try{await(0,f.C_)(()=>this.popupEnabled&&null!=this.popupTemplate,e.signal)}catch(e){return void(0,h.jH)(e)}let t=`this SceneLayer: ${this.title}`;null==this.attributeStorageInfo?d.A.getLogger(this).warn(`Associated FeatureLayer could not be loaded and no binary attributes found. Popups will not work on ${t}`):d.A.getLogger(this).info(`Associated FeatureLayer could not be loaded. Falling back to binary attributes for Popups on ${t}`)}_validateElevationInfo(){let e=this.elevationInfo;"mesh-pyramids"===this.profile&&(0,Ie.XF)(d.A.getLogger(this),(0,Ie.$7)("Mesh scene layers","relative-to-scene",e)),(0,Ie.XF)(d.A.getLogger(this),(0,Ie.tW)("Scene layers",e))}async fetchStatistics(e,t){return await async function({fieldName:e,statisticsInfo:t,errorContext:r,fieldsIndex:i,path:s,customParameters:n,apiKey:a,signal:o}){if(null==t)throw new l.A(`${r}:no-cached-statistics`,"Cached statistics are not available for this layer");let u=i.get(e);if(null==u)throw new l.A(`${r}:field-unexisting`,`Field '${e}' does not exist on the layer`);let d=t.find(e=>e.name===u.name);if(null==d)throw new l.A(`${r}:no-cached-statistics`,"Cached statistics for this attribute are not available");let p=(0,ge.fj)(s,d.href),{data:c}=await(0,ie.A)(p,{query:{f:"json",...n,token:a},responseType:"json",signal:o});return c}({fieldName:e,statisticsInfo:this.statisticsInfo,errorContext:"scenelayer",fieldsIndex:this.fieldsIndex,path:this.parsedUrl?.path??"",customParameters:this.customParameters,apiKey:this.apiKey,signal:t?.signal})}async loadTimeInfoFromService(e){let{serviceTimeInfo:t}=this;if(null==t)return;let{startTimeField:r,endTimeField:i}=t;if(null==r&&null==i||ye({associatedLayer:this.associatedLayer,serviceUpdateTimeStamp:this.serviceUpdateTimeStamp}))return;let s=async t=>{let i=null;try{i=(await this.fetchStatistics(t,e))?.stats}catch{}if(null==i)return null;let{minTimeStr:s,min:n,maxTimeStr:a,max:o}=i,l=t===r?s??n:a??o;return null==l?null:new Date(l)},[n,a]=await Promise.all([s(r),s(i)]);if(null!=r&&null==n||null!=i&&null==a)return;let o=new Se.A({start:n,end:a});this.setAtOrigin("timeInfo",new ve.A({endField:i,startField:r,fullTimeExtent:o}),"service")}};(0,i.Cg)([(0,y.MZ)({types:{key:"type",base:null,typeMap:{selection:H.A}},json:{origins:{"web-scene":{name:"layerDefinition.featureReduction",write:{allowNull:!0}},"portal-item":{name:"layerDefinition.featureReduction",write:{allowNull:!0}}}}})],_e.prototype,"featureReduction",void 0),(0,i.Cg)([(0,y.MZ)({type:[te],json:{read:!1,origins:{"web-scene":{name:"layerDefinition.rangeInfos",write:!0},"portal-item":{name:"layerDefinition.rangeInfos",write:!0}}},clonable:!1})],_e.prototype,"rangeInfos",void 0),(0,i.Cg)([(0,y.MZ)({json:{read:!1}})],_e.prototype,"associatedLayer",void 0),(0,i.Cg)([(0,y.MZ)({type:["show","hide"]})],_e.prototype,"listMode",void 0),(0,i.Cg)([(0,y.MZ)({type:["ArcGISSceneServiceLayer"]})],_e.prototype,"operationalLayerType",void 0),(0,i.Cg)([(0,y.MZ)({json:{read:!1},readOnly:!0})],_e.prototype,"type",void 0),(0,i.Cg)([(0,y.MZ)({...Oe.fields,readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],_e.prototype,"fields",void 0),(0,i.Cg)([(0,y.MZ)()],_e.prototype,"types",null),(0,i.Cg)([(0,y.MZ)()],_e.prototype,"typeIdField",null),(0,i.Cg)([(0,y.MZ)()],_e.prototype,"templates",null),(0,i.Cg)([(0,y.MZ)()],_e.prototype,"formTemplate",null),(0,i.Cg)([(0,y.MZ)({readOnly:!0})],_e.prototype,"graphicOrigin",void 0),(0,i.Cg)([(0,y.MZ)({readOnly:!0,clonable:!1})],_e.prototype,"fieldsIndex",null),(0,i.Cg)([(0,y.MZ)({type:W.A,json:{read:{source:"layerDefinition.floorInfo"},write:{target:"layerDefinition.floorInfo"}}})],_e.prototype,"floorInfo",void 0),(0,i.Cg)([(0,y.MZ)(Oe.outFields)],_e.prototype,"outFields",void 0),(0,i.Cg)([(0,y.MZ)({type:Q.W4,readOnly:!0,json:{read:!1},clonable:!1})],_e.prototype,"nodePages",void 0),(0,i.Cg)([(0,ce.w)("service","nodePages",["nodePages","pointNodePages"])],_e.prototype,"readNodePages",null),(0,i.Cg)([(0,y.MZ)({type:[Q.uV],readOnly:!0,clonable:!1})],_e.prototype,"materialDefinitions",void 0),(0,i.Cg)([(0,y.MZ)({type:[Q.Ot],readOnly:!0,clonable:!1})],_e.prototype,"textureSetDefinitions",void 0),(0,i.Cg)([(0,y.MZ)({type:[Q.L0],readOnly:!0,clonable:!1})],_e.prototype,"geometryDefinitions",void 0),(0,i.Cg)([(0,y.MZ)({readOnly:!0})],_e.prototype,"serviceUpdateTimeStamp",void 0),(0,i.Cg)([(0,y.MZ)({readOnly:!0})],_e.prototype,"attributeStorageInfo",void 0),(0,i.Cg)([(0,y.MZ)({readOnly:!0})],_e.prototype,"statisticsInfo",void 0),(0,i.Cg)([(0,y.MZ)({type:o.A.ofType(Number),nonNullable:!0,json:{origins:{service:{read:!1,write:!1}},name:"layerDefinition.excludeObjectIds",write:{enabled:!0}}})],_e.prototype,"excludeObjectIds",void 0),(0,i.Cg)([(0,y.MZ)({type:String,json:{origins:{service:{read:!1,write:!1}},name:"layerDefinition.definitionExpression",write:{enabled:!0,allowNull:!0}}})],_e.prototype,"definitionExpression",void 0),(0,i.Cg)([(0,y.MZ)({type:fe,json:{name:"layerDefinition.polygonFilter",write:{enabled:!0,allowNull:!0},origins:{service:{read:!1,write:!1}}}})],_e.prototype,"filter",void 0),(0,i.Cg)([(0,y.MZ)({type:String,json:{origins:{"web-scene":{read:!0,write:!0}},read:!1}})],_e.prototype,"path",void 0),(0,i.Cg)([(0,y.MZ)(N.Yj)],_e.prototype,"elevationInfo",null),(0,i.Cg)([(0,y.MZ)({readOnly:!0,json:{read:!1}})],_e.prototype,"effectiveCapabilities",null),(0,i.Cg)([(0,y.MZ)({readOnly:!0})],_e.prototype,"effectiveEditingEnabled",null),(0,i.Cg)([(0,y.MZ)({type:String})],_e.prototype,"geometryType",null),(0,i.Cg)([(0,y.MZ)(N.kF)],_e.prototype,"labelsVisible",void 0),(0,i.Cg)([(0,y.MZ)({type:[J.A],json:{origins:{service:{name:"drawingInfo.labelingInfo",read:{reader:B.w},write:!1}},name:"layerDefinition.drawingInfo.labelingInfo",read:{reader:B.w},write:!0}})],_e.prototype,"labelingInfo",void 0),(0,i.Cg)([(0,y.MZ)(N.fV)],_e.prototype,"legendEnabled",void 0),(0,i.Cg)([(0,y.MZ)({type:Number,json:{origins:{"web-document":{default:1,write:{enabled:!0,target:{opacity:{type:Number},"layerDefinition.drawingInfo.transparency":{type:Number}}},read:{source:["opacity","layerDefinition.drawingInfo.transparency"],reader(e,t){if("number"==typeof e&&e>=0&&e<=1)return e;let r=t.layerDefinition?.drawingInfo?.transparency;return void 0===r?void 0:(0,je.D)(r)}}},"portal-item":{write:!0},service:{read:!1}}}})],_e.prototype,"opacity",void 0),(0,i.Cg)([(0,y.MZ)({type:["Low","High"],readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],_e.prototype,"priority",void 0),(0,i.Cg)([(0,y.MZ)({type:["Labels"],readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],_e.prototype,"semantic",void 0),(0,i.Cg)([(0,y.MZ)({types:be.XJ,json:{origins:{service:{read:{source:"drawingInfo.renderer"}}},name:"layerDefinition.drawingInfo.renderer",write:!0},value:null})],_e.prototype,"renderer",null),(0,i.Cg)([(0,y.MZ)({json:{read:!1}})],_e.prototype,"cachedDrawingInfo",void 0),(0,i.Cg)([(0,ce.w)("service","cachedDrawingInfo")],_e.prototype,"readCachedDrawingInfo",null),(0,i.Cg)([(0,y.MZ)({readOnly:!0,json:{read:!1}})],_e.prototype,"capabilities",null),(0,i.Cg)([(0,y.MZ)({type:Boolean,json:{read:!1}})],_e.prototype,"editingEnabled",null),(0,i.Cg)([(0,y.MZ)({readOnly:!0,json:{write:!1,read:!1}})],_e.prototype,"infoFor3D",null),(0,i.Cg)([(0,y.MZ)({readOnly:!0,json:{write:!1,read:!1}})],_e.prototype,"relationships",null),(0,i.Cg)([(0,y.MZ)(N.M6)],_e.prototype,"popupEnabled",void 0),(0,i.Cg)([(0,y.MZ)({type:n.A,json:{name:"popupInfo",write:!0}})],_e.prototype,"popupTemplate",void 0),(0,i.Cg)([(0,y.MZ)({readOnly:!0,json:{read:!1}})],_e.prototype,"defaultPopupTemplate",null),(0,i.Cg)([(0,y.MZ)(N.zQ)],_e.prototype,"attributeTableTemplate",void 0),(0,i.Cg)([(0,y.MZ)({type:String,json:{read:!1}})],_e.prototype,"objectIdField",void 0),(0,i.Cg)([(0,ce.w)("service","objectIdField",["objectIdField","fields"])],_e.prototype,"readObjectIdField",null),(0,i.Cg)([(0,y.MZ)({type:String,json:{read:!1}})],_e.prototype,"globalIdField",void 0),(0,i.Cg)([(0,ce.w)("service","globalIdField",["globalIdField","fields"])],_e.prototype,"readGlobalIdField",null),(0,i.Cg)([(0,y.MZ)({readOnly:!0,type:String,json:{read:!1}})],_e.prototype,"displayField",null),(0,i.Cg)([(0,y.MZ)({type:String,json:{read:!1}})],_e.prototype,"profile",void 0),(0,i.Cg)([(0,ce.w)("service","profile",["store.profile"])],_e.prototype,"readProfile",null),(0,i.Cg)([(0,y.MZ)({readOnly:!0,type:String,json:{origins:{service:{read:{source:"store.normalReferenceFrame"}}},read:!1}})],_e.prototype,"normalReferenceFrame",void 0),(0,i.Cg)([(0,y.MZ)(N.PY)],_e.prototype,"screenSizePerspectiveEnabled",void 0),(0,i.Cg)([(0,y.MZ)({json:{read:!1,origins:{service:{read:!0}}}})],_e.prototype,"serviceItemId",void 0),(0,i.Cg)([(0,y.MZ)(U.B)],_e.prototype,"useViewTime",null),(0,i.Cg)([(0,y.MZ)((0,N.U$)({disableServiceOrigin:!0,webDocumentOrigin:"web-scene"}))],_e.prototype,"timeInfo",null),(0,i.Cg)([(0,y.MZ)({type:Se.A,json:{read:!1,write:!1}})],_e.prototype,"timeExtent",null),(0,i.Cg)([(0,y.MZ)({type:Ce.A,json:{read:!1,write:!1}})],_e.prototype,"timeOffset",null),(0,i.Cg)([(0,y.MZ)({type:Boolean,nonNullable:!0,json:{read:!1,write:!1}})],_e.prototype,"datesInUnknownTimezone",null),(0,i.Cg)([(0,y.MZ)({type:me,readOnly:!0,json:{read:{source:"timeInfo"}},clonable:!1})],_e.prototype,"serviceTimeInfo",void 0),(0,i.Cg)([(0,y.MZ)()],_e.prototype,"isUsedAsGroundLayer",null),_e=(0,i.Cg)([(0,y.$K)("esri.layers.SceneLayer")],_e);const Te={"mesh-pyramids":"mesh-pyramids",meshpyramids:"mesh-pyramids","features-meshes":"mesh-pyramids",points:"points","features-points":"points",lines:"lines","features-lines":"lines",polygons:"polygons","features-polygons":"polygons"},Re={"mesh-pyramids":"mesh",points:"point"},Ze=_e},55726(e,t,r){r.d(t,{$1:()=>u,H2:()=>h,MT:()=>f,VP:()=>y,WF:()=>d,Wt:()=>a,XQ:()=>g,hK:()=>c,nS:()=>p,uh:()=>o,xY:()=>l});var i=r(49186);const s="upload-assets",n=()=>Error();class a extends i.A{constructor(){super(`${s}:unsupported`,"Layer does not support asset uploads.",n())}}class o extends i.A{constructor(){super(`${s}:no-glb-support`,"Layer does not support glb.",n())}}class l extends i.A{constructor(){super(`${s}:no-supported-source`,"No supported external source found",n())}}class u extends i.A{constructor(){super(`${s}:not-base-64`,"Expected gltf data in base64 format after conversion.",n())}}class d extends i.A{constructor(){super(`${s}:unable-to-prepare-options`,"Unable to prepare uploadAsset request options.",n())}}class p extends i.A{constructor(e,t){super(`${s}:bad-response`,`Bad response. Uploaded ${e} items and received ${t} results.`,n())}}class c extends i.A{constructor(e,t){super(`${s}-layer:upload-failed`,`Failed to upload mesh file ${e}. Error code: ${t?.code??"-1"}. Error message: ${t?.messages??"unknown"}`,n())}}class h extends i.A{constructor(e){super(`${s}-layer:unsupported-format`,`The service allowed us to upload an asset of FormatID ${e}, but it does not list it in its supported formats.`,n())}}class f extends i.A{constructor(){super(`${s}:convert3D-failed`,"convert3D failed.")}}class y extends i.A{constructor(){super("invalid-input:no-model","No supported model found")}}class g extends i.A{constructor(){super("invalid-input:multiple-models","Multiple supported models found")}}},18768(e,t,r){var i=r(32198),s=r(53966),n=r(91429),a=r(60694);r.d(t,["b",0,e=>{let t=e,r=class extends t{get title(){if(this._get("title")&&"defaults"!==this.originOf("title"))return this._get("title");if(this.url){let e=(0,a.qg)(this.url);if(e?.title)return e.title}return this._get("title")||""}set title(e){this._set("title",e)}set url(e){this._set("url",(0,a.Jf)(e,s.A.getLogger(this)))}};return(0,i.Cg)([(0,n.MZ)()],r.prototype,"title",null),(0,i.Cg)([(0,n.MZ)({type:String})],r.prototype,"url",null),r=(0,i.Cg)([(0,n.$K)("esri.layers.mixins.ArcGISService")],r),r}])},69208(e,t,r){var i=r(32198),s=r(91429);r.d(t,["d",0,e=>{let t=e,r=class extends t{constructor(){super(...arguments),this.customParameters=null}};return(0,i.Cg)([(0,s.MZ)({type:Object,json:{write:{overridePolicy:e=>({enabled:!!(e&&Object.keys(e).length>0)})}}})],r.prototype,"customParameters",void 0),r=(0,i.Cg)([(0,s.$K)("esri.layers.mixins.CustomParametersMixin")],r),r}])},47685(e,t,r){r.d(t,{Mk:()=>h,Zk:()=>p});var i=r(32198),s=r(65529),n=r(4718),a=r(91429),o=r(20816);const l=new s.bk;function u(e){return l.on("apply-edits",new WeakRef(e))}function d(e){return l.on("update-moment",new WeakRef(e))}function p(e,t,r=null,i=!1){let s=Promise.withResolvers();return i=null==t||i,l.emit("apply-edits",{serviceUrl:e,layerId:t,gdbVersion:r,mayReceiveServiceEdits:i,result:s.promise}),s}const c=Symbol();function h(e){return"object"==typeof e&&!!e&&c in e}function f(e){return"object"==typeof e&&!!e&&"gdbVersion"in e}function y(e,t,r){let i=new URL(e).host,s=o.Z3.get(i),n=e=>!e||e===s;return n(t)&&n(r)||t===r}r.d(t,["w6",0,e=>{var t;let r=e,s=class extends r{static{t=c}constructor(...e){super(...e),this[t]=!0,this._applyEditsHandler=e=>{let{serviceUrl:t,layerId:r,gdbVersion:i,mayReceiveServiceEdits:s,result:a}=e,o=t===this.url,l=null!=r&&null!=this.layerId&&r===this.layerId,u=null!=r&&this.relationships?.some(e=>e.relatedTableId===r),d=f(this),p=f(this)&&y(t,i,this.gdbVersion);if(!o||d&&!p||!l&&!u&&!s)return;let c=a.then(e=>{if(this.lastEditsEventDate=new Date,l&&(e.addedFeatures.length||e.updatedFeatures.length||e.deletedFeatures.length||e.addedAttachments.length||e.updatedAttachments.length||e.deletedAttachments.length))return this.emit("edits",(0,n.o8)(e)),e;let r=e.editedFeatures?.find(({layerId:e})=>e===this.layerId);if(r){let{adds:t,updates:i,deletes:s}=r.editedFeatures,a={edits:null,addedAttachments:[],deletedAttachments:[],updatedAttachments:[],addedFeatures:t?t.map(({attributes:e})=>({objectId:this.objectIdField&&e[this.objectIdField],globalId:this.globalIdField&&e[this.globalIdField]})):[],deletedFeatures:s?s.map(({attributes:e})=>({objectId:this.objectIdField&&e[this.objectIdField],globalId:this.globalIdField&&e[this.globalIdField]})):[],updatedFeatures:i?i.map(({current:{attributes:e}})=>({objectId:this.objectIdField&&e[this.objectIdField],globalId:this.globalIdField&&e[this.globalIdField]})):[],editedFeatures:(0,n.o8)(e.editedFeatures),exceededTransferLimit:!1,historicMoment:(0,n.o8)(e.historicMoment)};return this.emit("edits",a),a}let s={edits:null,addedAttachments:[],deletedAttachments:[],updatedAttachments:[],addedFeatures:[],deletedFeatures:[],updatedFeatures:[],editedFeatures:(0,n.o8)(e.editedFeatures),exceededTransferLimit:!1,historicMoment:(0,n.o8)(e.historicMoment)};return"historicMoment"in this&&this._shouldUpdateHistoricMoment(t,i,s.historicMoment)&&this.emit("edits",s),s}).then(e=>("historicMoment"in this&&this._shouldUpdateHistoricMoment(t,i,e.historicMoment)&&(this.historicMoment=e.historicMoment),e));c.catch(()=>{}),this.emit("apply-edits",{result:c})},this._updateMomentHandler=e=>{let{serviceUrl:t,gdbVersion:r,moment:i}=e,s=t===this.url,n=f(this),a=f(this)&&y(t,r,this.gdbVersion),o=f(this)&&!y(t,this.gdbVersion,null);s&&n&&a&&o&&"historicMoment"in this&&this.historicMoment!==i&&(this.historicMoment=i)},this.when().then(()=>{this.addHandles(u(this._applyEditsHandler)),"historicMoment"in this&&this.addHandles(d(this._updateMomentHandler))},()=>{})}_shouldUpdateHistoricMoment(e,t,r){return"historicMoment"in this&&this.historicMoment!==r&&(0,o.w5)(e,t)}};return(0,i.Cg)([(0,a.MZ)()],s.prototype,"lastEditsEventDate",void 0),s=(0,i.Cg)([(0,a.$K)("esri.layers.mixins.EditBusLayer")],s),s}])},85707(e,t,r){var i=r(32198),s=r(91429),n=r(54239);r.d(t,["a",0,e=>{let t=e,r=class extends t{constructor(){super(...arguments),this.heightModelInfo=null}read(e,t){super.read(e,t),"service"===t?.origin&&2===this.heightModelInfo?.origin&&(this.heightModelInfo.associatedSpatialReference=this.getAtOrigin("spatialReference","service"))}};return(0,i.Cg)([(0,s.MZ)({readOnly:!0,type:n.A})],r.prototype,"heightModelInfo",void 0),r=(0,i.Cg)([(0,s.$K)("esri.layers.mixins.HeightModelInfoMixin")],r),r}])},8303(e,t,r){var i=r(32198),s=r(92602),n=r(70333),a=r(56507),o=r(60999),l=r(49186),u=r(36563),d=r(53966),p=r(97768),c=r(17676),h=r(84952),f=r(91429),y=r(77548),g=r(20655),m=r(80812),v=r(41318),w=r(10407),b=r(26121),M=r(36005),I=r(43937);const A={credential:null,user:null};r.d(t,["A",0,e=>{let t=e,F=class extends t{constructor(){super(...arguments),this.resourceReferences={portalItem:null,paths:[]},this.userHasEditingPrivileges=!0,this.userHasFullEditingPrivileges=!1,this.userHasUpdateItemPrivileges=!1}destroy(){super.destroy(),this.portalItem=(0,p.pR)(this.portalItem),this.resourceReferences.portalItem=null,this.resourceReferences.paths.length=0}get portalItem(){return this._get("portalItem")}set portalItem(e){e!==this._get("portalItem")&&(this.removeOrigin("portal-item"),this._set("portalItem",e))}readPortalItem(e,t,r){if(t.itemId)return new m.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{let{load:i}=await r.e(1204).then(()=>r(41204));return(0,c.Te)(t),await i({instance:this,supportedTypes:e.supportedTypes,validateItem:e.validateItem,supportsData:e.supportsData,layerModuleTypeMap:e.layerModuleTypeMap,populateGroupLayer:e.populateGroupLayer},t)}catch(e){throw(0,c.zf)(e)||d.A.getLogger(this).warn(`Failed to load layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${e}`),e}}async reloadFromPortal(e,t){if(!this.loaded||!this.portalItem?.id)return!1;let i=t?.signal?null:new AbortController;try{let{reload:s}=await r.e(1204).then(()=>r(41204));return i&&this.addHandles((0,u.rE)(i),"reloadFromPortal"),await s({instance:this,supportedTypes:e.supportedTypes,validateItem:e.validateItem,supportsData:e.supportsData,layerModuleTypeMap:e.layerModuleTypeMap,populateGroupLayer:e.populateGroupLayer},t?.signal?t:{signal:i.signal})}catch(e){throw(0,c.zf)(e)||d.A.getLogger(this).warn(`Failed to reload layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${e}`),e}finally{i&&this.removeHandles("reloadFromPortal")}}async finishLoadEditablePortalLayer(e){this._set("userHasEditingPrivileges",await this._fetchUserHasEditingPrivileges(e).catch(e=>((0,c.QP)(e),!0)))}async setUserPrivileges(e,t){if(!s.A.userPrivilegesApplied)return this.finishLoadEditablePortalLayer(t);if(this.url)try{let{features:{edit:r,fullEdit:i},content:{updateItem:s}}=await this._fetchUserPrivileges(e,t);this._set("userHasEditingPrivileges",r),this._set("userHasFullEditingPrivileges",i),this._set("userHasUpdateItemPrivileges",s)}catch(e){(0,c.QP)(e)}}async _fetchUserPrivileges(e,t){let r=this.portalItem;if(!e||!r||!r.loaded||r.sourceUrl)return this._fetchFallbackUserPrivileges(t);let i,s,a=!n.id?.findCredential(this.url),o=e===r.id;if(o&&r.portal.user)return this._getUserPrivileges(r,a);if(o)i=r.portal.url;else try{i=await(0,y.wI)(this.url,t)}catch(e){(0,c.QP)(e)}if(!i||!(0,h.b8)(i,r.portal.url))return this._fetchFallbackUserPrivileges(t);try{let e=null==t?null:t.signal;s=await(n.id?.getCredential(`${i}/sharing`,{prompt:!1,signal:e}))}catch(e){(0,c.QP)(e)}if(!s)return{features:{edit:!0,fullEdit:!1},content:{updateItem:!1}};try{if(o?await r.reload():(r=new m.default({id:e,portal:{url:i}}),await r.load(t)),r.portal.user)return this._getUserPrivileges(r,a)}catch(e){(0,c.QP)(e)}return{features:{edit:!0,fullEdit:!1},content:{updateItem:!1}}}_getUserPrivileges(e,t){let 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,c.QP)(e)}return{features:{edit:t,fullEdit:!1},content:{updateItem:!1}}}async _fetchUserHasEditingPrivileges(e){let t=this.url?n.id?.findCredential(this.url):null;if(!t)return!0;let r=A.credential===t?A.user:await this._fetchEditingUser(e);return A.credential=t,A.user=r,null==r?.privileges||r.privileges.includes("features:user:edit")}async _fetchEditingUser(e){let t=this.portalItem?.portal?.user;if(t)return t;let r=n.id?.findServerInfo(this.url??"");if(!r?.owningSystemUrl)return null;let i=`${r.owningSystemUrl}/sharing/rest`,s=g.A.getDefault();if(s&&s.loaded&&(0,h.S8)(s.restUrl)===(0,h.S8)(i))return s.user;let l=`${i}/community/self`,u=null==e?null:e.signal,d=await(0,o.Ke)((0,a.A)(l,{authMode:"no-prompt",query:{f:"json"},signal:u}));return d.ok?v.A.fromJSON(d.value.data):null}read(e,t){t&&(t.layer=this),super.read(e,t)}write(e,t){return(0,b.wN)(this.portalItem,t)?(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,i.Cg)([(0,f.MZ)({type:m.default})],F.prototype,"portalItem",null),(0,i.Cg)([(0,M.w)("web-document","portalItem",["itemId"])],F.prototype,"readPortalItem",null),(0,i.Cg)([(0,I.K)("web-document","portalItem",{itemId:{type:String}})],F.prototype,"writePortalItem",null),(0,i.Cg)([(0,f.MZ)({clonable:!1})],F.prototype,"resourceReferences",void 0),(0,i.Cg)([(0,f.MZ)({type:Boolean,readOnly:!0})],F.prototype,"userHasEditingPrivileges",void 0),(0,i.Cg)([(0,f.MZ)({type:Boolean,readOnly:!0})],F.prototype,"userHasFullEditingPrivileges",void 0),(0,i.Cg)([(0,f.MZ)({type:Boolean,readOnly:!0})],F.prototype,"userHasUpdateItemPrivileges",void 0),F=(0,i.Cg)([(0,f.$K)("esri.layers.mixins.PortalLayer")],F),F}])},25036(e,t,r){var i=r(32198),s=r(91429),n=r(83960);r.d(t,["j",0,e=>{let t=e,r=class extends t{constructor(){super(...arguments),this.minScale=0,this.maxScale=0}get effectiveScaleRange(){let e={minScale:this.minScale,maxScale:this.maxScale},t=this.parent;void 0!==t?.effectiveScaleRange&&(0,n.RH)(e,t.effectiveScaleRange);let r=this._get("effectiveScaleRange");return r&&r.minScale===e.minScale&&r.maxScale===e.maxScale?r:e}};return(0,i.Cg)([(0,s.MZ)({type:Number,nonNullable:!0,json:{write:!0}})],r.prototype,"minScale",void 0),(0,i.Cg)([(0,s.MZ)({type:Number,nonNullable:!0,json:{write:!0}})],r.prototype,"maxScale",void 0),(0,i.Cg)([(0,s.MZ)({readOnly:!0})],r.prototype,"effectiveScaleRange",null),r=(0,i.Cg)([(0,s.$K)("esri.layers.mixins.ScaleRangeLayer")],r),r}])},82935(e,t,r){var i=r(32198),s=r(91429),n=r(30524),a=r(96184),o=r(73133),l=r(79677),u=r(10184),d=r(36005);const p={type:Boolean,json:{read:{source:"timeAnimation"},write:{target:"timeAnimation"}}};r.d(t,["B",0,p,"e",0,e=>{let t=e,r=class extends t{constructor(){super(...arguments),this.timeExtent=null,this.timeOffset=null,this.useViewTime=!0}readOffset(e,t){let r=t.timeInfo.exportOptions;if(!r)return null;let i=r.timeOffset,s=o.j.fromJSON(r.timeOffsetUnits);return i&&s?new u.A({value:i,unit:s}):null}get timeInfo(){return this._get("timeInfo")}set timeInfo(e){(0,n.sv)(e,this.fieldsIndex),this._set("timeInfo",e)}};return(0,i.Cg)([(0,s.MZ)({type:l.A,json:{write:!1}})],r.prototype,"timeExtent",void 0),(0,i.Cg)([(0,s.MZ)({type:u.A})],r.prototype,"timeOffset",void 0),(0,i.Cg)([(0,d.w)("service","timeOffset",["timeInfo.exportOptions"])],r.prototype,"readOffset",null),(0,i.Cg)([(0,s.MZ)({value:null,type:a.A,json:{write:!0,origins:{"web-document":{read:!1,write:!1},"portal-item":{read:!1,write:!1}}}})],r.prototype,"timeInfo",null),(0,i.Cg)([(0,s.MZ)(p)],r.prototype,"useViewTime",void 0),r=(0,i.Cg)([(0,s.$K)("esri.layers.mixins.TemporalLayer")],r),r}])},67202(e,t,r){r.d(t,{A:()=>o});var i,s=r(32198),n=r(25482),a=r(91429);let o=i=class extends n.o{constructor(e){super(e),this.type="selection"}clone(){return new i}};(0,s.Cg)([(0,a.MZ)({type:["selection"],readOnly:!0,json:{write:!0}})],o.prototype,"type",void 0),o=i=(0,s.Cg)([(0,a.$K)("esri.layers.support.FeatureReductionSelection")],o)},37352(e,t,r){r.d(t,{A:()=>l});var i,s=r(32198),n=r(7762),a=r(25482),o=r(91429);let l=i=class extends a.o{constructor(e){super(e),this.floorField=null,this.viewAllMode=!1,this.viewAllLevelIds=new n.A}clone(){return new i({floorField:this.floorField,viewAllMode:this.viewAllMode,viewAllLevelIds:this.viewAllLevelIds})}};(0,s.Cg)([(0,o.MZ)({type:String,json:{write:{isRequired:!0}}})],l.prototype,"floorField",void 0),(0,s.Cg)([(0,o.MZ)({json:{read:!1,write:!1}})],l.prototype,"viewAllMode",void 0),(0,s.Cg)([(0,o.MZ)({json:{read:!1,write:!1}})],l.prototype,"viewAllLevelIds",void 0),l=i=(0,s.Cg)([(0,o.$K)("esri.layers.support.LayerFloorInfo")],l)},17036(e,t,r){r.d(t,{p:()=>l});var i=r(44208),s=r(53966),n=r(20437),a=r(95466),o=r(30524);function l(){return{fields:{type:[n.A],value:null,set:function(e){if(e&&(0,i.A)("big-integer-warning-enabled")){let t=e.filter(e=>"big-integer"===e.type||"oid"===e.type&&(e.length||0)>=8);if(t.length){let e=t.map(e=>`'${e.name}'`).join(", ");s.A.getLogger(this).warn("#fields",`Layer (title: '${this.title??"no title"}', id: '${this.id??"no id"}') references big-integer field(s): ${e}, support for which is experimental. Only integers less than ${2**53-1} (Number.MAX_SAFE_INTEGER) are supported.`)}}this._set("fields",e)}},fieldsIndex:{readOnly:!0,get(){return a.A.fromLayer(this)}},outFields:{type:[String],json:{read:!1},set:function(e){this._userOutFields=e,this.notifyChange("outFields")},get:function(){let e=this._userOutFields;if(!e?.length)return null;if(e.includes("*"))return["*"];if(!this.fields)return e;for(let t of e)this.fieldsIndex?.has(t)||s.A.getLogger("esri.layers.support.fieldProperties").error("field-attributes-layer:invalid-field",`Invalid field ${t} found in outFields`,{layer:this,outFields:e});return(0,o.DB)(this.fieldsIndex,e)}}}}},20557(e,t,r){r.d(t,{Fm:()=>l,Hz:()=>g,JQ:()=>y,JZ:()=>S,ND:()=>v,R_:()=>a,U9:()=>f,_h:()=>b,be:()=>p,fE:()=>h,fu:()=>s,nr:()=>m,oF:()=>n,qv:()=>F,rP:()=>c,rq:()=>u,z$:()=>d});const i=[["binary","application/octet-stream","bin",""]];function s(e,t){return null!=M(t.name,e?.supportedFormats??[])}function n(e,t){if(!e)return!1;let r=u(t,e.supportedFormats??[]);return null!=r&&e.editFormats.includes(r)}function a(e,t){return I(function(e,t){let r=e.toLowerCase();return w(t).find(e=>A(e)===r)}(e,t))}function o(e,t){return I(M(e,t))}function l(e,t){return A(b(e,t))}function u(e,t){return o(e.name,t)??a(e.type,t)}function d(e,t,r){return a(e,r)??o(t,r)}function p(e,t){if(!e||!b(e,t))return;let r=/^3d_(.+)$/iu.exec(e)?.[1]?.toLowerCase();return r||void 0}function c(e,t){return(e??[]).map(e=>p(e,t)).filter(e=>!!e)}function h(e,t){return I(t.find(r=>p(I(r),t)===e))}function f({supportedFormats:e}){return d("model/gltf-binary","glb",e)}function y(e){let t=f(e);return null!=t&&e.editFormats.includes(t)}function g(e){if(!e)return null;let t=f(e),r=function({supportedFormats:e}){return d("model/gltf+json","gltf",e)}(e),i=null;for(let s of e.queryFormats){if(s===t)return s;s===r&&(i=s)}return i}function m({supportedFormats:e}){return d("application/esri3do-SR_world","wld",e)}function v({supportedFormats:e}){return d("application/esri3do-SR_prj","prj",e)}function w(e){return[...i,...e]}function b(e,t){return w(t).find(t=>I(t)===e)}function M(e,t){let r=e.toLowerCase();return w(t).find(e=>F(e).some(e=>r.endsWith(e)))}function I(e){return e?.[0]}function A(e){return e?.[1].toLowerCase()}function F(e){return e?.[2].split(",").map(e=>e.toLowerCase())??[]}function S(e){return e.tables?.find(e=>"assetMaps"===e.role)}},86390(e,t,r){r.d(t,{Z:()=>n});var i=r(86211),s=r(73836);function n(e){let t=1/(0,i.GA)(e,1);return 1===t?void 0:new s.A({scale:[t,t,t]})}},73179(e,t,r){r.d(t,{b:()=>l,h:()=>u});var i=r(4718),s=r(53966),n=r(84952),a=r(60694),o=r(10873);function l(e){let{nonStandardUrlAllowed:t=!1,separator:r}=e??{},n=(0,i.o8)(o.OZ),l=n.json?.write;return"object"==typeof l&&l&&(l.writer=function(e,t,i,s){(0,a.LS)(this,e,r,t,s)}),{...n,set:function(e){if(null==e)return void this._set("url",e);let r=(0,a.HZ)({layer:this,url:e,nonStandardUrlAllowed:t,logger:s.A.getLogger(this)});this._set("url",r.url),null!=r.layerId&&this._set("layerId",r.layerId)}}}function u(e,t){let{separator:r}=t??{},i=(0,n.An)(e.url);return null!=i&&(null==e.dynamicDataSource?null!=e.layerId&&(i.path=(0,n.fj)(i.path,r??"",e.layerId.toString())):i.path=(0,n.fj)(i.path,"dynamicLayer")),i}},85648(e,t,r){r.d(t,{n:()=>s});var i=r(84952);function s(e){return n[function(e){return"json"===e.type?"application/json":"blob"===e.type?e.blob.type:function(e){let t=(0,i.Zo)(e);return l[t]||a}(e.url)}(e)]||o}const n={},a="text/plain",o=n[a],l={png:"image/png",jpeg:"image/jpeg",jpg:"image/jpg",bmp:"image/bmp",gif:"image/gif",json:"application/json",txt:"text/plain",xml:"application/xml",svg:"image/svg+xml",zip:"application/zip",pbf:"application/vnd.mapbox-vector-tile",gz:"application/gzip","bin.gz":"application/octet-stream"};for(let e in l)n[l[e]]=e},8947(e,t,r){r.d(t,{L:()=>a});var i=r(60999),s=r(17676),n=r(67076);async function a(e,t,r){let a=e&&e.getAtOrigin&&e.getAtOrigin("renderer",t.origin);if(a&&"unique-value"===a.type&&a.styleOrigin){let o=await(0,i.Ke)(a.populateFromStyle());if((0,s.Te)(r),!1===o.ok){let r=o.error;t?.messages&&t.messages.push(new n.A("renderer:style-reference",`Failed to create unique value renderer from style reference: ${r.message}`,{error:r,context:t})),e.clear("renderer",t?.origin)}}}},20816(e,t,r){r.d(t,{We:()=>o,ZJ:()=>l,w5:()=>u});var i=r(56507);const s=(0,r(13069).vD)(),n=new Map,a=new Map;async function o(e,t,r){if(!e||!r)return!1;if(!t)return!0;let s=new URL(e).host,a=n.get(s);if(!a){let t=e.replace(/\/FeatureServer/i,"/VersionManagementServer").replace(/\/\d*$/,"");a=(await(0,i.A)(t,{responseType:"json",query:{f:"json"}})).data.defaultVersionName}return a===t}async function l(e,t,i=!1){if(!e||!t)return!0;let n=e.replace(/\/FeatureServer/i,"/VersionManagementServer").replace(/\/\d*$/,""),o=a.get(n)?.entries();if(o)for(let[e,a]of o)if(a.name===t){let t=!a.stack?.hasForwardEdits();if(!t&&i){let[{deleteForwardEdits:t},{default:i}]=await Promise.all([r.e(2186).then(()=>r(32186)),r.e(2558).then(()=>r(32558))]),o=await t(n,e,new i({sessionId:s,moment:a.moment}));return o.success&&a.stack?.clearForwardEdits(),o.success}return t}return!0}function u(e,t){if(!e)return!1;let r=e.replace(/\/FeatureServer/i,"/VersionManagementServer").replace(/\/\d*$/,""),i=a.get(r)?.entries();if(i)for(let[e,r]of i)if(r.name===t)return"edit"===r.lockType;return!1}new Map,r.d(t,["TA",0,s,"Z3",0,n])},45671(e,t,r){r.d(t,{D8:()=>n,TO:()=>s});var i=r(30524);async function s(e,t=e.popupTemplate){if(null==t)return[];let r=await t.getRequiredFields(e.fieldsIndex),{lastEditInfoEnabled:s}=t,{objectIdField:n,typeIdField:a,globalIdField:o,relationships:l}=e;if(r.includes("*"))return["*"];let u=s?(0,i.eX)(e):[],d=(0,i.DB)(e.fieldsIndex,[...r,...u]);return a&&d.push(a),d&&n&&e.fieldsIndex?.has(n)&&!d.includes(n)&&d.push(n),d&&o&&e.fieldsIndex?.has(o)&&!d.includes(o)&&d.push(o),l?.forEach(t=>{let{keyField:r}=t;d&&r&&e.fieldsIndex?.has(r)&&!d.includes(r)&&d.push(r)}),d}function n(e,t){return!e||"object"!=typeof e||t?.checkPopupEnabled&&"popupEnabled"in e&&!e.popupEnabled?null:"popupTemplate"in e&&e.popupTemplate?e.popupTemplate:null!=t&&t.defaultPopupTemplateEnabled&&"defaultPopupTemplate"in e&&e.defaultPopupTemplate?e.defaultPopupTemplate:null}},26121(e,t,r){r.d(t,{I6:()=>d,ci:()=>u,dL:()=>l,wN:()=>p});var i=r(49186),s=r(84952),n=r(77548),a=r(20655),o=r(59923);async function l(e){let t=[];for(let r of e.allLayers)if("beforeSave"in r&&"function"==typeof r.beforeSave){let e=r.beforeSave();e&&t.push(e)}await Promise.allSettled(t)}function u(e,t,r){let s=(e.messages??[]).filter(({type:e})=>"error"===e).map(({name:e,message:t,details:r})=>new i.A(e,t,r));if(e.blockedRelativeUrls&&(s=s.concat(e.blockedRelativeUrls.map(e=>(0,o.GL)("url",`Relative url '${e}' is not supported`)))),r){let{ignoreUnsupported:e,supplementalUnsupportedErrors:t=[],requiredPropertyChecksDisabled:i}=r;e&&(s=s.filter(({name:e})=>!(o.MG.has(e)||t.includes(e)))),i&&(s=s.filter(e=>"web-document-write:property-required"!==e.name))}if(s.length>0)throw new i.A(t.errorName,"Failed to save due to unsupported or invalid content. See 'details.errors' for more detailed information",{errors:s})}function d(e){return(0,n.qd)(e).some(e=>!!e.charts?.length)}function p(e,t){let r=t?.portal,i=e?.id&&(e.portal||a.A.getDefault());return!!r&&!!i&&!(0,s.ut)(i.restUrl,r.restUrl)}}}]);
|