@arcgis/core 5.1.0-next.66 → 5.1.0-next.68
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/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{97e15e66e55d9149fd48.js → 0e2e4cb34ac6aac88ebf.js} +1 -1
- package/assets/esri/core/workers/chunks/{38816f95e801f1c5bbad.js → 1c742bfe3b0aa51823d1.js} +1 -1
- package/assets/esri/core/workers/chunks/{27262083d37fe623ca9c.js → 210629f3c28d4339c655.js} +1 -1
- package/assets/esri/core/workers/chunks/27643750dce502fedef3.js +1 -0
- package/assets/esri/core/workers/chunks/29878b52aa12b3815230.js +1 -0
- package/assets/esri/core/workers/chunks/{7fb9a5bc22d7581f1d20.js → 29b1a4ce7646b403008e.js} +1 -1
- package/assets/esri/core/workers/chunks/{eb7392799a01c2a8497a.js → 2da62687ff678b690839.js} +1 -1
- package/assets/esri/core/workers/chunks/2fd4220131bfc3f5e2dd.js +1 -0
- package/assets/esri/core/workers/chunks/{a118de5a163ae42bee60.js → 333a0038d782d8a34d58.js} +1 -1
- package/assets/esri/core/workers/chunks/38328a785365c4783b1e.js +1 -0
- package/assets/esri/core/workers/chunks/3d9032217347dadcbe41.js +1 -0
- package/assets/esri/core/workers/chunks/{62a2da0ffc67f98445c1.js → 3eef3c2e94aa2a00d76a.js} +1 -1
- package/assets/esri/core/workers/chunks/{a5b395e518e4c5fc95d0.js → 40d6ad030614099155cd.js} +1 -1
- package/assets/esri/core/workers/chunks/{427183ea93e759943a78.js → 43678e08a3d9d51c2a6d.js} +1 -1
- package/assets/esri/core/workers/chunks/{eab1b45ab5a802e29f8c.js → 453280ea87a696a4df81.js} +1 -1
- package/assets/esri/core/workers/chunks/{921c30b7f4dfc3e018d9.js → 4605a68e40c5c3ac6e3e.js} +1 -1
- package/assets/esri/core/workers/chunks/{deddf6ae4498a3d0d0e5.js → 478879ba965798f61bf3.js} +1 -1
- package/assets/esri/core/workers/chunks/{aa69cbaa38b49677ddff.js → 499b899bf88aaf29230d.js} +1 -1
- package/assets/esri/core/workers/chunks/{8a0f254d45d00b293479.js → 49fb9c47070641bce9a9.js} +1 -1
- package/assets/esri/core/workers/chunks/{f8eb14170f927aecfbc8.js → 4f9d027055f3a616173c.js} +1 -1
- package/assets/esri/core/workers/chunks/{4e7b084f7104deea1ddb.js → 53b797e384be9628fc94.js} +1 -1
- package/assets/esri/core/workers/chunks/{ff0cb1eec14d34214f12.js → 5fe97253f80c797fad7f.js} +1 -1
- package/assets/esri/core/workers/chunks/{224461c1d9755966d0b6.js → 678c9f15712cf3d3bb9e.js} +1 -1
- package/assets/esri/core/workers/chunks/{4005d37d03c834da7629.js → 68a313155ddc29bd024d.js} +1 -1
- package/assets/esri/core/workers/chunks/6a21c9a4aeebe806ea39.js +1 -0
- package/assets/esri/core/workers/chunks/{0f196ec93925dfefc69a.js → 6bb090f3e5c18604cb39.js} +1 -1
- package/assets/esri/core/workers/chunks/6ef3b8d67b498d655a99.js +1 -0
- package/assets/esri/core/workers/chunks/73e000cc3c4da10e9937.js +1 -0
- package/assets/esri/core/workers/chunks/{79df97e3f5975b42dc4d.js → 75669912cddcb5db52c8.js} +1 -1
- package/assets/esri/core/workers/chunks/{749c368f5cc2366716f1.js → 7bd1d624f4f4a11a31e8.js} +1 -1
- package/assets/esri/core/workers/chunks/7cadfd7444a2a05cf2fb.js +1 -0
- package/assets/esri/core/workers/chunks/{1515824f11ef5ab95378.js → 7d0350f459844162d3a7.js} +1 -1
- package/assets/esri/core/workers/chunks/{4d069a0ebadb9c53b550.js → 7e39e9d4d68843b60e4c.js} +1 -1
- package/assets/esri/core/workers/chunks/{8d5bc17557a31ed79ed8.js → 81750c5177d8d52a3e05.js} +1 -1
- package/assets/esri/core/workers/chunks/{3464a38e758c687a28d4.js → 81b2985b83be8f8f1090.js} +1 -1
- package/assets/esri/core/workers/chunks/{4141a3a93732996601e8.js → 823127b23bec07e1f9d0.js} +2 -2
- package/assets/esri/core/workers/chunks/{b8bf3e8b8b870f69f231.js → 8969788c57bcc11bf77b.js} +1 -1
- package/assets/esri/core/workers/chunks/{4e7bb224bde9e5039263.js → 8b8f391f27774aec6db9.js} +1 -1
- package/assets/esri/core/workers/chunks/{0e90e9ea1ad587eb3495.js → 8ea4584e07ccc85caabd.js} +1 -1
- package/assets/esri/core/workers/chunks/{e0df7554b1679168663d.js → 8fb336c2066113300d0d.js} +1 -1
- package/assets/esri/core/workers/chunks/{bcb8a25438c66815e37a.js → 915a5e8aecf25f3bc72b.js} +1 -1
- package/assets/esri/core/workers/chunks/{7ffcd308087c35adda04.js → 9bd713d96502ddc2ce25.js} +1 -1
- package/assets/esri/core/workers/chunks/{9622a83b29acb768fcb5.js → a25acccda8febac71a3d.js} +1 -1
- package/assets/esri/core/workers/chunks/a30815a0155a3b8790b4.js +1 -0
- package/assets/esri/core/workers/chunks/{90cef6f96df7dc27db39.js → a43decc8ede8b4910553.js} +1 -1
- package/assets/esri/core/workers/chunks/{dd26e3a29161ea411e41.js → a94bd20551c1179c7ec5.js} +1 -1
- package/assets/esri/core/workers/chunks/{fa7ae035472540999721.js → b2120c4c56656be941ae.js} +1 -1
- package/assets/esri/core/workers/chunks/{a59db907ec1e31002100.js → b85c9ceeece1bae67a16.js} +1 -1
- package/assets/esri/core/workers/chunks/{c4e936879c6cb25cf586.js → b8a11d32a4847513619b.js} +1 -1
- package/assets/esri/core/workers/chunks/bbaf1d9835671c0165ca.js +1 -0
- package/assets/esri/core/workers/chunks/{cb9185ed31109781fe59.js → bc887bd62579dba81e2b.js} +1 -1
- package/assets/esri/core/workers/chunks/{7e9b790fe01b89acdf6d.js → bcefdf9753d9d2f6f1be.js} +1 -1
- package/assets/esri/core/workers/chunks/{927773ed23b1fc245bf7.js → be61ea8e1883b915bbb1.js} +1 -1
- package/assets/esri/core/workers/chunks/c02ba921c0a32d2021e3.js +1 -0
- package/assets/esri/core/workers/chunks/{9a95c28d4a3b3b4b2c50.js → c49c078be08c38a6088d.js} +1 -1
- package/assets/esri/core/workers/chunks/{d94dfb2ce31e59b3306b.js → c79827f879d1d58d3f1b.js} +1 -1
- package/assets/esri/core/workers/chunks/{56036327e721f9c42b33.js → c7ca47f5d4b2f3885239.js} +1 -1
- package/assets/esri/core/workers/chunks/c9461568e1002ebac534.js +1 -0
- package/assets/esri/core/workers/chunks/{d83ac66478a419e08af6.js → d3d9d40556c847bba1a7.js} +1 -1
- package/assets/esri/core/workers/chunks/{789357e0f79823f145dd.js → d4e55eb75fa4d3ac1e84.js} +1 -1
- package/assets/esri/core/workers/chunks/{fee31d9297648219375d.js → d8d7331600d93bbca2b4.js} +1 -1
- package/assets/esri/core/workers/chunks/{e907acaec4c62adac2f2.js → e0fe23019410dea8236b.js} +1 -1
- package/assets/esri/core/workers/chunks/{4f847a426973bd350c11.js → e5801b0f3893d4d4f5b0.js} +1 -1
- package/assets/esri/core/workers/chunks/{6ab8ed12d162d79a8c55.js → e62d08f5488a74cbda82.js} +1 -1
- package/assets/esri/core/workers/chunks/{b4fb4484fa39eede1f62.js → e66b9d00d02fc08cbb2d.js} +1 -1
- package/assets/esri/core/workers/chunks/{69520cad347947b09f21.js → ecb7ede6a8e6c05e4c6c.js} +1 -1
- package/assets/esri/core/workers/chunks/ef9d74f8d5a502fda809.js +1 -0
- package/assets/esri/core/workers/chunks/f0bc5e8e44d53b73d431.js +1 -0
- package/assets/esri/core/workers/chunks/f11ea0d3de93ec0392af.js +1 -0
- package/assets/esri/core/workers/chunks/{cc8e6d1eb90221103023.js → f1e5626a0cc1631a1efb.js} +1 -1
- package/assets/esri/core/workers/chunks/{468c70e5fdb61dfaad80.js → fc64ae69581e4c38fa8a.js} +1 -1
- package/assets/esri/core/workers/chunks/{3f8e8f83ebda07d29ca8.js → fd6bbe47773bbd9f7dd9.js} +1 -1
- package/assets/esri/core/workers/chunks/{8418ad9ad7b6481ebe82.js → ffb70e9358c0b171a315.js} +1 -1
- package/assets/esri/rest/knowledgeGraph/wasmInterface/arcgis-knowledge-client-core-simd.wasm +0 -0
- package/assets/esri/rest/knowledgeGraph/wasmInterface/arcgis-knowledge-client-core.wasm +0 -0
- package/chunks/GaussianSplat.glsl.js +8 -10
- package/chunks/arcgis-knowledge-client-core-simd.js +1 -1
- package/chunks/arcgis-knowledge-client-core.js +1 -1
- package/config.js +1 -1
- package/core/string.js +1 -1
- package/geometry/support/lineSegment.js +1 -1
- package/interfaces.d.ts +0 -7
- package/kernel.js +1 -1
- package/layers/GroupLayer.js +1 -1
- package/layers/OrientedImageryLayer.js +1 -1
- package/layers/SceneLayer.js +1 -1
- package/layers/VoxelWasmPerSceneView.js +1 -1
- package/layers/mixins/ArcGISImageService.js +1 -1
- package/layers/mixins/OperationalLayer.js +1 -1
- package/layers/orientedImagery/core/ExposurePoint.js +1 -1
- package/layers/orientedImagery/core/utils.js +1 -1
- package/layers/raster/datasets/MRFRaster.js +1 -1
- package/layers/raster/functions/changeDetectionUtils.js +1 -1
- package/layers/support/ExportImageServiceParameters.js +1 -1
- package/layers/support/arcgisLayers.js +1 -1
- package/layers/support/layersCreator.js +1 -1
- package/layers/support/{lazyLayerLoader.js → layersLoader.js} +1 -1
- package/layers/support/layersMapping.js +2 -0
- package/networks/UnitIdentifierManager.d.ts +61 -0
- package/networks/UnitIdentifierManager.js +1 -1
- package/networks/UtilityNetwork.d.ts +0 -60
- package/networks/UtilityNetwork.js +1 -1
- package/package.json +2 -2
- package/popup/Feature.d.ts +3 -3
- package/popup/Features.d.ts +1 -33
- package/popup/Features.js +1 -1
- package/popup/actionUtils.js +2 -0
- package/popup/actions.js +2 -0
- package/popup/types.d.ts +11 -0
- package/portal/support/portalLayers.js +1 -1
- package/rest/featureService/types.d.ts +1 -1
- package/rest/knowledgeGraph/GraphQueryResultHeader.js +1 -1
- package/rest/knowledgeGraph/wasmInterface/wasmToQueryResponseObjFactories.js +1 -1
- package/support/revision.js +1 -1
- package/views/2d/analysis/AreaMeasurement/AreaMeasurementTool.js +1 -1
- package/views/2d/analysis/DistanceMeasurement/DistanceMeasurementTool.js +1 -1
- package/views/2d/engine/webgl/mesh/factories/ResourceProxy.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
- package/views/3d/layers/graphics/Deconflictor.js +1 -1
- package/views/3d/layers/graphics/Graphics3DGraphicsPipeline.js +1 -1
- package/views/3d/layers/graphics/QueryEngine.js +1 -1
- package/views/3d/layers/graphics/QueryEngineContext.js +1 -1
- package/views/3d/layers/support/FeatureVisibilityFilter.js +1 -1
- package/views/3d/layers/support/SceneLayerViewRequiredFields.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianSplatIntersectionHandler.js +1 -1
- package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizer.js +1 -1
- package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +1 -1
- package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
- package/views/3d/webgl-engine/lib/RenderFeature.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
- package/views/3d/webgl.js +1 -1
- package/views/SelectionManager.d.ts +1 -1
- package/views/VideoView.js +1 -1
- package/views/analysis/ExclusiveOperationManager.js +1 -1
- package/views/draw/DrawManipulator.js +1 -1
- package/views/draw/DrawManipulator3D.js +2 -0
- package/views/draw/DrawTool.js +1 -1
- package/views/draw/support/managers/InteractiveHandleManager.js +1 -1
- package/views/interactive/sketch/SketchOptions.d.ts +34 -0
- package/webscene/spec-certification/api.js +1 -1
- package/widgets/Compass/CompassViewModel.d.ts +1 -0
- package/widgets/Compass/CompassViewModel.js +1 -1
- package/widgets/Compass.js +1 -1
- package/widgets/Editor.js +1 -1
- package/widgets/FeatureTable/ColumnVisibilityMenuVisibleElements.d.ts +8 -1
- package/widgets/FeatureTable/ColumnVisibilityMenuVisibleElements.js +1 -1
- package/widgets/FeatureTable/Grid/Grid.js +1 -1
- package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
- package/widgets/FeatureTable.d.ts +13 -0
- package/widgets/FeatureTable.js +1 -1
- package/widgets/OrientedImageryViewer/navigation/NavigationManager.js +1 -1
- package/widgets/OrientedImageryViewer/navigation/queries.js +1 -1
- package/widgets/OrientedImageryViewer/navigation/utils.js +1 -1
- package/widgets/OrientedImageryViewer.js +1 -1
- package/widgets/Popup/actionUtils.js +1 -1
- package/widgets/Sketch/VisibleElements.js +1 -1
- package/widgets/Sketch.js +1 -1
- package/assets/esri/core/workers/chunks/0d650b0d090a425c9c18.js +0 -1
- package/assets/esri/core/workers/chunks/12294f8c32c34788b6de.js +0 -1
- package/assets/esri/core/workers/chunks/151c2766a4cacc6adbd6.js +0 -1
- package/assets/esri/core/workers/chunks/1984c0f037065acd21d3.js +0 -1
- package/assets/esri/core/workers/chunks/61794a861a9209b72622.js +0 -1
- package/assets/esri/core/workers/chunks/62d96b012c2d6f601863.js +0 -1
- package/assets/esri/core/workers/chunks/644dd906bee3ef465ec0.js +0 -1
- package/assets/esri/core/workers/chunks/66692d6edc1bd96645e2.js +0 -1
- package/assets/esri/core/workers/chunks/6f079f1fd6d00d2d174c.js +0 -1
- package/assets/esri/core/workers/chunks/751f3cfb000045ac78bb.js +0 -1
- package/assets/esri/core/workers/chunks/a80eb704e75d13732878.js +0 -1
- package/assets/esri/core/workers/chunks/a971e61336f455b953d5.js +0 -1
- package/assets/esri/core/workers/chunks/c72e90a952543d06d84b.js +0 -1
- package/assets/esri/core/workers/chunks/e9f2b573f482718306e6.js +0 -1
- package/assets/esri/core/workers/chunks/ed60b5eaa5765bfcb99c.js +0 -1
- package/assets/esri/core/workers/chunks/f62e42659b406435573d.js +0 -1
- package/layers/mixins/operationalLayerModuleMap.js +0 -2
- package/layers/mixins/operationalLayers.js +0 -2
- /package/assets/esri/core/workers/chunks/{4141a3a93732996601e8.js.LICENSE.txt → 823127b23bec07e1f9d0.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1003],{1003(e,t,s){s.r(t),s.d(t,{default:()=>me});var i=s(49186),n=s(5482),a=s(91429),r=s(49859),o=s(68197),l=s(5443),f=s(16930),c=s(73444),u=s(94778),h=s(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){const{axes:t}=e.domain,s=Object.keys(t),i=[],n=[];let a=-1,r=-1,o=[];for(let e=0;e<s.length;e++){const l=s[e];p(l)?a=e:d(l)&&(r=e);const f=t[l],c=[];if("values"in f){f.values.forEach(e=>c.push("string"==typeof e?new Date(e).getTime():e));const e=c[1]-c[0];i.push([c[0]-.5*e,c[c.length-1]+.5*e]),n.push(e)}else{const{start:e,stop:t,num:s}=f,a=(t-e)/(s-1);i.push([e-.5*a,t+.5*a]),n.push(a);for(let t=0;t<s;t++)c.push(e+a*t)}o.push({name:l,values:c,extent:[c[0],c[c.length-1]]})}a>-1&&-1===r?r=0===a?1:0:r>-1&&-1===a?a=0===r?1:0:-1===r&&-1===a&&(a=0,r=1),o=o.filter((e,t)=>!(t===a||t===r));const{referencing:c}=e.domain,u=c.find(e=>e.coordinates.includes(s[a])).system.id,h=u?.slice(u.lastIndexOf("/")+1),m=null==h||"CRS84"===h?4326:Number(h),g=new f.A({wkid:m}),[y,x]=i[a],[w,I]=i[r],C=new l.A({xmin:y,xmax:x,ymin:w,ymax:I,spatialReference:g});return{width:Math.round(C.width/n[a]),height:Math.round(C.height/n[r]),extent:C,dimensions:o}}function g(e){const t=(0,c.lR)();return t?e[t]??Object.values(e)[0]:Object.values(e)[0]}function y(){return Math.round(255*Math.random())}function x(e){const t={},{parameters:s}=e;if(!s)return t;for(const[e,i]of Object.entries(s)){const{type:s,description:n,unit:a,categoryEncoding:r,observedProperty:l}=i;if("Parameter"===s&&(t[e]={},n&&(t[e].description=g(n)),a&&(t[e].unit=a.label?g(a.label):null,t[e].symbol=a.symbol?.value),r)){const s=Object.entries(r).map((e,t)=>({OID:t,Value:Number(e[1]),ClassName:e[0].slice(e[0].lastIndexOf("/")+1),Count:1}));let i=!1;l?.categories?.length&&(l.categories.forEach(e=>{if(!e.id)return;const t=e.id.slice(e.id.lastIndexOf("/")+1),n=s.find(e=>e.ClassName===t);if(!n)return;const a=e.label?g(e.label):null;if(n.Label=a,e.preferredColor){const t=o.A.fromHex(e.preferredColor);t&&(i=!0,n.Red=t.r,n.Green=t.g,n.Blue=t.b)}}),i&&s.forEach(e=>{null==e.Red&&(e.Red=y(),e.Green=y(),e.Blue=y())}));const n={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:s.map(e=>({attributes:e}))};i&&n.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=n}}return t}function w(e){let t=Number.MAX_VALUE,s=-Number.MAX_VALUE;for(let i=0;i<e.length;i++){const n=e[i];null!=n&&(n<t&&(t=n),n>s&&(s=n))}return(0,u.X1)(t,s)}function I(e,t,s){const i=e.map((e,s)=>({name:e,count:t[s]})).sort((e,t)=>e.name>t.name?-1:1),n=(a=1,e=>a*=e.count);var a;const r=[...i.slice(1),{name:"",count:1}].reverse().map(n).reverse();let o=0;for(let n=e.length-1;n>=0;n--)o+=r[i.findIndex(({name:t})=>t===e[n])]*(s%t[n]),s=Math.floor(s/t[n]);return o}var C=s(17676),v=s(4366),b=s(47520),T=s(51927),S=s(45617),A=s(87186);let R=class extends r.A{constructor(){super(...arguments),this.datasetFormat="MEMORY",this.source=null}get url(){return""}fetchRawTile(e,t,s,i={}){if(!this._pixelBlockTiles){const{rasterInfo:n}=this,[a,r]=n.storageInfo.tileInfo.size,{sliceId:o}=i,{pixelBlocks:l}=this.source,f={pixelBlock:null==o?l[0]:l[o],useBilinear:"thematic"!==n.dataType,tileSize:{width:a,height:r},level:e,row:t,col:s},c=this.rasterJobHandler?this.rasterJobHandler.clipTile(f,i):(0,b.J$)(f);return Promise.resolve(c)}const n=this._pixelBlockTiles.get(`${e}/${t}/${s}`);return Promise.resolve(n)}async _open(e){const t=this.source,{pixelBlocks:s,attributeTable:i,statistics:n,histograms:a,name:r,nativeExtent:o,transform:c,colormap:u}=t,h=s[0],{width:p,height:d,pixelType:m}=h,g=t.extent??new l.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())),i&&(w.DataType="Thematic");const I=new A.A({width:p,height:d,pixelType:m,extent:g,nativeExtent:o,attributeTable:i,colormap:u,transform:c,pixelSize:x,spatialReference:g.spatialReference,bandCount:h.pixels.length,keyProperties:w,multidimensionalInfo:t.multidimensionalInfo,statistics:n,isPseudoSpatialReference:y,histograms:a});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):await this._buildInMemoryRaster(h,{width:512,height:512},e),I.multidimensionalInfo||(this.source=null),this.datasetName=r}async _buildInMemoryRaster(e,t,s){const{rasterInfo:n}=this,a=n.storageInfo.maximumPyramidLevel??0,r="thematic"!==n.dataType,o=this.rasterJobHandler?this.rasterJobHandler.split({pixelBlock:e,tileSize:t,maximumPyramidLevel:a,useBilinear:r},s):Promise.resolve((0,b.lD)(e,t,a,r)),l=null!=n.statistics,f=null!=n.histograms,c=this.ioConfig.skipStatistics||l?Promise.resolve({statistics:null,histograms:null}):this.rasterJobHandler?this.rasterJobHandler.estimateStatisticsHistograms({pixelBlock:e},s):Promise.resolve((0,T.f4)(e)),u=await(0,C.Lx)([o,c]);if(!u[0].value&&u[1].value)throw new i.A("inmemory-raster:open","failed to build in memory raster");this._pixelBlockTiles=u[0].value,l||(n.statistics=u[1].value?.statistics),f||(n.histograms=u[1].value?.histograms)}async _buildMDimStats(e,t,s){for(let i=0;i<t.variables.length;i++){const n=t.variables[i];if(n.statistics)continue;const a=n.dimensions.map(e=>new S.A({variableName:n.name,dimensionName:e.name,values:[e.values?.[0]??e.extent?.[0]],isSlice:!0})),r=(0,v.NG)(a,t),o=null==r?null:e[r];if(null==o)continue;const l=this.rasterJobHandler?await this.rasterJobHandler.computeStatisticsHistograms({pixelBlock:o},s):(0,T.eH)(o);n.statistics=l.statistics,n.histograms||(n.histograms=l.histograms)}}};(0,n.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],R.prototype,"datasetFormat",void 0),(0,n.Cg)([(0,a.MZ)()],R.prototype,"source",void 0),(0,n.Cg)([(0,a.MZ)()],R.prototype,"url",null),R=(0,n.Cg)([(0,a.$K)("esri.layers.raster.datasets.InMemoryRaster")],R);const M=R;var O=s(22671);let k=class extends r.A{constructor(){super(...arguments),this.datasetFormat="CovJSON"}fetchRawTile(e,t,s,i={}){return this._inMemoryRaster.fetchRawTile(e,t,s,i)}async _open(e){const{extent:t,pixelBlocks:s,multidimensionalInfo:i,attributeTable:n,bandNames:a}=await this._fetchData(e),{statistics:r,histograms:o}=(0,T.eH)(s[0]),l=a?.map(e=>({BandName:e})),f={DataType:n?"Thematic":i?"Scientific":"Generic",BandProperties:l},c=new M({source:{extent:t,pixelBlocks:s,attributeTable:n?O.A.fromJSON(n):null,multidimensionalInfo:i,statistics:r,histograms:o,keyProperties:f,isPseudoSpatialReference:!1}});await c.open(),this._inMemoryRaster=c;const u=this.source?"":this.url.slice(this.url.lastIndexOf("/")+1);this._set("datasetName",u.slice(0,u.indexOf("."))),this._set("rasterInfo",c.rasterInfo)}async _fetchData(e){const t=this.source??(await this.request(this.url,{signal:e?.signal})).data,s="imagery-tile-layer:open-coverage-json";if("coverage"!==t.type?.toLowerCase()||"grid"!==t.domain?.domainType?.toLowerCase())throw new i.A(s,"Only coverage with Grid domain type is supported");if(!t.ranges)throw new i.A(s,"Missing ranges in the grid coverage data");if(!t.domain.referencing?.length)throw new i.A(s,"Missing domain referencing in the grid coverage data");const n=Object.values(t.ranges);for(let e=0;e<n.length;e++){const{axisNames:t,shape:a,type:r,values:o}=n[e];if(!("ndarray"===r.toLowerCase()&&o?.length&&t?.length&&a?.length))throw new i.A(s,"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 i.A(s,"Only row-major ordered pixel values are supported. X axis must be the last axis.")}return function(e){const{width:t,height:s,extent:i,dimensions:n}=m(e),{ranges:a}=e,r=Object.keys(a).sort((e,t)=>e<t?-1:1),o=[];for(let e=0;e<r.length;e++){const t=r[e];n?.length&&o.push({name:t,dimensions:n})}const l=x(e);o.forEach(e=>l[e.name]&&Object.assign(e,l[e.name]));const f=o.length?{variables:o}:void 0,c=[];for(let e=0;e<r.length;e++){const i=r[e],{values:o,dataType:l,axisNames:f,shape:u}=a[i],p=u.length>2?e*u.slice(0,-2).reduce((e,t)=>e*t):0,d=f.slice(0,-2),m=u.slice(0,-2),g="float"===l?"f32":w(o),y=t*s,x=o.length/y;for(let i=0;i<x;i++){const a=h.A.createEmptyBand(g,y),r=new Uint8Array(y).fill(255);let l=!1;const f=i*y;for(let e=0;e<y;e++){const t=o[f+e];null==t?(r[e]=0,l=!0):a[e]=t}if(0===e||n?.length){const e=new h.A({width:t,height:s,mask:l?r:null,pixels:[a],pixelType:g});e.updateStatistics(),n?.length?c[I(d,m,i)+p]=e:c.push(e)}else{const e=c[i];e.pixels.push(a),l?e.mask&&(e.mask=h.A.combineBandMasks([e.mask,r])):e.mask=l?r:null}}}const u=Object.values(l).find(e=>e.attributeTable)?.attributeTable;return{extent:i,pixelBlocks:c,multidimensionalInfo:f,attributeTable:u,bandNames:f?void 0:r}}(t)}};(0,n.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],k.prototype,"datasetFormat",void 0),(0,n.Cg)([(0,a.MZ)({constructOnly:!0})],k.prototype,"source",void 0),k=(0,n.Cg)([(0,a.$K)("esri.layers.raster.datasets.CovJSONRaster")],k);const _=k;var F=s(4576),P=s(21325),B=s(330),N=s(43163);function D(e,t){if(!e||!t)return null;const s=[];for(let i=0;i<e.length;i++)s.push(e[i]),s.push(t[i]);return s}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,P.jp)(e))return new f.A({wkt2:e});const s=e.toUpperCase();if(s.startsWith("COMPD_CS")){if(!s.includes("VERTCS")||!s.includes("GEOGCS")&&!s.startsWith("PROJCS"))return null;const i=s.indexOf("VERTCS"),n=s.indexOf("PROJCS"),a=n>-1?n:s.indexOf("GEOGCS");if(-1===a)return null;const r=e.slice(a,e.lastIndexOf("]",i)+1).trim(),o=e.slice(i,e.lastIndexOf("]")).trim();t=L(r);const l=new f.A(t?{wkid:t}:{wkt:r}),c=L(o);return c&&(l.vcsWkid=c),l}return s.startsWith("GEOGCS")||s.startsWith("PROJCS")?(t=L(e),new f.A(0!==t?{wkid:t}:{wkt:e})):null}function L(e){const t=e.replaceAll("]","[").replaceAll('"',"").split("[").map(e=>e.trim()).filter(e=>""!==e),s=t[t.length-1].split(","),i=s[0]?.toLowerCase();if(("epsg"===i||"esri"===i)&&e.endsWith('"]]')){const e=Number(s[1]);if(!isNaN(e)&&0!==e)return e}return 0}function z(e){if("pamdataset"!==e?.documentElement.tagName?.toLowerCase())return{};const t={spatialReference:null,transform:null,metadata:{},rasterBands:[],statistics:null,histograms:null};e.documentElement.childNodes.forEach(e=>{if(1===e.nodeType)if((0,B.g7)(e,"SRS")){if(!t.spatialReference){const s=(0,B.mX)(e);t.spatialReference=E(s)}}else if((0,B.g7)(e,"Metadata"))if("xml:ESRI"===e.getAttribute("domain")){const{spatialReference:s,transform:i}=function(e){const t=(0,B.V6)(e,"GeodataXform"),s=E((0,B.v7)(t,"SpatialReference/WKID")||(0,B.mX)(t,"SpatialReference/WKT"));if("typens:PolynomialXform"!==t.getAttribute("xsi:type"))return{spatialReference:s,transform:null};const i=(0,B.v7)(t,"PolynomialOrder")??1,n=(0,B.Ui)(t,"CoeffX/Double"),a=(0,B.Ui)(t,"CoeffY/Double"),r=(0,B.Ui)(t,"InverseCoeffX/Double"),o=(0,B.Ui)(t,"InverseCoeffY/Double"),l=D(n,a),f=D(r,o);return{spatialReference:s,transform:l&&f&&l.length&&f.length?new N.A({spatialReference:s,polynomialOrder:i,forwardCoefficients:l,inverseCoefficients:f}):null}}(e);t.transform=i,t.spatialReference||(t.spatialReference=s)}else(0,B.IC)(e,"MDI").forEach(e=>t.metadata[e.getAttribute("key")]=(0,B.mX)(e));else if((0,B.g7)(e,"PAMRasterBand")){const s=function(e){const t=(0,B.v7)(e,"NoDataValue"),s=(0,B.V6)(e,"Histograms/HistItem"),i=(0,B.v7)(s,"HistMin"),n=(0,B.v7)(s,"HistMax"),a=(0,B.v7)(s,"BucketCount"),r=(0,B.mX)(s,"HistCounts")?.split("|").map(e=>Number(e));let o,l,f,c;(0,B.IC)(e,"Metadata/MDI").forEach(e=>{const t=Number(e.textContent??e.nodeValue);switch(e.getAttribute("key").toUpperCase()){case"STATISTICS_MINIMUM":o=t;break;case"STATISTICS_MAXIMUM":l=t;break;case"STATISTICS_MEAN":f=t;break;case"STATISTICS_STDDEV":c=t}});const u=(0,B.v7)(e,"Metadata/SourceBandIndex");return{noDataValue:t,histogram:r?.length&&null!=i&&null!=n?{min:i,max:n,size:a||r.length,counts:r}:null,sourceBandIndex:u,statistics:null!=o&&null!=l?{min:o,max:l,avg:f,stddev:c}:null}}(e);null!=s.sourceBandIndex&&null==t.rasterBands[s.sourceBandIndex]?t.rasterBands[s.sourceBandIndex]=s:t.rasterBands.push(s)}});const s=t.rasterBands;if(s.length){const e=!!s[0].statistics;t.statistics=e?s.map(e=>e.statistics).filter(F.Ru):null;const i=!!s[0].histogram;t.histograms=i?s.map(e=>e.histogram).filter(F.Ru):null}return t}var J=s(20758);let U=class extends r.A{fetchRawTile(e,t,s,i={}){return this._inMemoryRaster.fetchRawTile(e,t,s,i)}async _open(e){const t=await this._fetchData(e);let{spatialReference:s,statistics:i,histograms:n,transform:a}=await this._fetchAuxiliaryData(e);const r=!s;r&&(s=new f.A({wkid:3857})),n?.length&&null==i&&(i=(0,T.Pg)(n));const{width:o,height:c}=t;let u=new l.A({xmin:-.5,ymin:.5-c,xmax:o-.5,ymax:.5,spatialReference:s});const h=a?a.forwardTransform(u):u;let p=!0;if(a){const e=a.forwardCoefficients;p=e&&0===e[1]&&0===e[2],p&&(a=null,u=h)}const d=new M({source:{extent:h,nativeExtent:u,transform:a,pixelBlocks:[t],statistics:i,histograms:n,keyProperties:{DateType:"Processed"},isPseudoSpatialReference:r},ioConfig:{sampling:"closest",skipStatistics:!0}});this.ioConfig.skipMapInfo&&(d.ioConfig.skipMapInfo=!0),await d.open(),d.source=null,this._set("rasterInfo",d.rasterInfo),this._inMemoryRaster=d}async _fetchData(e){const{data:t}=await this.request(this.url,{responseType:"array-buffer",signal:e?.signal}),s=(0,J.g)(t).toUpperCase();if("JPG"!==s&&"PNG"!==s&&"GIF"!==s&&"BMP"!==s)throw new i.A("image-aux-raster:open","the data is not a supported format");this._set("datasetFormat",s);const n=s.toLowerCase(),a=await this.decodePixelBlock(t,{format:n});if(null==a)throw new i.A("image-aux-raster:open","the data cannot be decoded");return a}async _fetchAuxiliaryData(e){const t=e?.signal,{skipExtensions:s=[],skipMapInfo:i}=this.ioConfig,n=i||s.includes("aux.xml")?null:this.request(this.url+".aux.xml",{responseType:"xml",signal:t}),a=this.datasetFormat,r="JPG"===a?"jgw":"PNG"===a?"pgw":"BMP"===a?"bpw":null,o=r&&s.includes(r)?null:this.request(this.url.slice(0,this.url.lastIndexOf("."))+"."+r,{responseType:"text",signal:t}),l=await(0,C.Lx)([n,o]);if(t?.aborted)throw(0,C.NK)();const f=z(l[0].value?.data);if(!f.transform){const e=l[1].value?l[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,n.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],U.prototype,"datasetFormat",void 0),U=(0,n.Cg)([(0,a.$K)("esri.layers.raster.datasets.ImageAuxRaster")],U);const H=U;var G=s(97768),j=s(84952),q=s(86738),V=s(75414),W=s(20223),X=s(87045),$=s(25943),Z=s(82371);let Y=class extends r.A{constructor(){super(...arguments),this._levelOffset=0,this._tilemapCache=null,this._slices=null,this.datasetFormat="RasterTileServer",this.tileType=null}async fetchRawTile(e,t,s,i={}){const{storageInfo:n,extent:a}=this.rasterInfo,{transposeInfo:r}=n,o=null!=r&&!!i.transposedVariableName;if(this._slices&&!o&&null==i.sliceId)return null;const l=o?0:n.maximumPyramidLevel-e+this._levelOffset,f=`${this.url}/tile/${l}/${t}/${s}`,c={...this._slices?o?{variable:i.transposedVariableName}:{sliceId:i.sliceId||0}:null,...i.refreshParameters};let u,h;if(n.isBsqTile){const e=(i.bandIds?.length?i.bandIds:[0,1,2]).map(e=>this.request(f,{query:{...c,bandId:e},responseType:"array-buffer",signal:i.signal})),t=await Promise.all(e),s=t.map(e=>e.data.byteLength).reduce((e,t)=>e+t),n=new Uint8Array(s);h=[];let a=0;for(const{data:e}of t)h.push(a),n.set(new Uint8Array(e),a),a+=e.byteLength;u=n.buffer}else u=(await this.request(f,{query:c,responseType:"array-buffer",signal:i.signal})).data;if(!u)return null;const{tileInfo:p}=n,d=o?r.tileSize:p.size,m=/^(mixed|jp)/i.test(p.format),g=await this.decodePixelBlock(u,{width:d[0],height:d[1],planes:h?.length,offsets:h,pixelType:null,isPoint:"Elevation"===this.tileType,returnInterleaved:o,noDataValue:this.rasterInfo.noDataValue,applyJpegMask:m});if(null==g)return null;const y=n.blockBoundary[e];if("jpg"!==n.compression||s>y.minCol&&s<y.maxCol&&t>y.minRow&&t<y.maxRow)return g;const{origin:x,blockWidth:w,blockHeight:I}=n,{x:C,y:v}=this.getPyramidPixelSize(e),T=Math.round((a.xmin-x.x)/C)%w,S=Math.round((a.xmax-x.x)/C)%w||w,A=Math.round((x.y-a.ymax)/v)%I,R=Math.round((x.y-a.ymin)/v)%I||I,M=s===y.minCol?T:0,O=t===y.minRow?A:0,k=s===y.maxCol?S:w,_=t===y.maxRow?R:I;return(0,b.z$)(g,{x:M,y:O},{width:k-M,height:_-O}),g}getSliceIndex(e){if(!this._slices||null==e||0===e.length)return null;const t=e;for(let e=0;e<this._slices.length;e++){const s=this._slices[e].multidimensionalDefinition;if(s.length===t.length&&!s.some(e=>{const s=t.find(t=>e.variableName===t.variableName&&t.dimensionName===e.dimensionName);return!s||(Array.isArray(e.values[0])?`${e.values[0][0]}-${e.values[0][1]}`:e.values[0])!==(Array.isArray(s.values[0])?`${s.values[0][0]}-${s.values[0][1]}`:s.values[0])}))return e}return null}async fetchVariableStatisticsHistograms(e,t){const s=this.request(this.url+"/statistics",{query:{variable:e,f:"json"},signal:t}).then(e=>e.data?.statistics),i=this.request(this.url+"/histograms",{query:{variable:e,f:"json"},signal:t}).then(e=>e.data?.histograms),n=await Promise.all([s,i]);return n[0]&&n[0].forEach(e=>{e.avg=e.mean,e.stddev=e.standardDeviation}),n[1]?.[0]?.counts?.length||(n[1]=null),{statistics:n[0]||null,histograms:n[1]||null}}async computeBestPyramidLevelForLocation(e,t={}){if(!this._tilemapCache)return 0;let s=this.identifyPixelLocation(e,0,t.datumTransformation);if(null===s)return null;let i=0;const{maximumPyramidLevel:n}=this.rasterInfo.storageInfo;let a=n-i+this._levelOffset;const r=s.srcLocation;for(;a>=0;){try{if("available"===await this._tilemapCache.fetchAvailability(a,s.row,s.col,t))break}catch{}if(a--,i++,s=this.identifyPixelLocation(r,i,t.datumTransformation),null===s)return null}return-1===a||null==s?null:i}async _open(e){const t=e?.signal,s=this.sourceJSON?{data:this.sourceJSON}:await this.request(this.url,{query:{f:"json"},signal:t});s.ssl&&(this.url=this.url.replace(/^http:/i,"https:"));const n=s.data;if(this.sourceJSON=n,!n)throw new i.A("imageserverraster:open","cannot initialize tiled image service, missing service info");if(!n.tileInfo)throw new i.A("imageserverraster:open","use ImageryLayer to open non-tiled image services");this._fixScaleInServiceInfo(),this.tileType=n.cacheType,null==this.tileType&&(["jpg","jpeg","png","png8","png24","png32","mixed"].includes(n.tileInfo.format.toLowerCase())?this.tileType="Map":"lerc"===n.tileInfo.format.toLowerCase()?this.tileType="Elevation":this.tileType="Raster"),this.datasetName=n.name?.slice(n.name.indexOf("/")+1)??"";const a=await this._fetchRasterInfo({signal:t});if(null==a)throw new i.A("image-server-raster:open","cannot initialize image service");(0,Z.E9)(a,n);const r="Map"===this.tileType?function(e,t){if(!e)return null;const{minScale:s,maxScale:i,minLOD:n,maxLOD:a}=t;if(null!=n&&null!=a)return X.A.fromJSON({...e,lods:e.lods.filter(({level:e})=>null!=e&&e>=n&&e<=a)});if(0!==s&&0!==i){const t=e=>Math.round(1e4*e)/1e4,n=s?t(s):1/0,a=i?t(i):-1/0;return X.A.fromJSON({...e,lods:e.lods.filter(e=>{const s=t(e.scale);return s<=n&&s>=a})})}return X.A.fromJSON(e)}(n.tileInfo,n):X.A.fromJSON(n.tileInfo);(0,G.Lw)(r);const[o,l]=this._computeMinMaxLOD(a,r),{extent:f,pixelSize:c}=a,u=.001*Math.min(c.x,c.y);(c.x!==c.y||Math.abs(o.resolution-c.x)>u)&&(c.x=c.y=o.resolution,a.width=Math.ceil((f.xmax-f.xmin)/c.x-.1),a.height=Math.ceil((f.ymax-f.ymin)/c.y-.1));const h=o.level-l.level,[p,d]=r.size,m=[],g=[],{lods:y}=r;y.forEach((e,t)=>{e.level>=l.level&&e.level<=o.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);const x=this.computeBlockBoundary(f,p,d,r.origin,m,h),w=m.length>1?m.slice(1):null;let I;n.transposeInfo&&(I={tileSize:[n.transposeInfo.rows,n.transposeInfo.cols],packetSize:a.keyProperties?._yxs.PacketSize??0});const C=g.length<=1||g.length>=3&&g.slice(0,-1).every(e=>e===g[0])?g[0]??2:Math.round(10/(l.resolution/o.resolution)**(-1/h))/10,v=!!n.bsq&&"Raster"===this.tileType;if(a.storageInfo=new W.A({blockWidth:r.size[0],blockHeight:r.size[1],pyramidBlockWidth:r.size[0],pyramidBlockHeight:r.size[1],pyramidResolutions:w,pyramidScalingFactor:C,compression:r.format,origin:r.origin,firstPyramidLevel:1,maximumPyramidLevel:h,tileInfo:r,isBsqTile:v,transposeInfo:I,blockBoundary:x}),function(e){const{extent:t,spatialReference:s}=e;t.xmin>-1&&t.xmax>181&&s?.wkid&&s.isGeographic&&(e.nativeExtent=e.extent,e.transform=new V.A,e.extent=e.transform.forwardTransform(t))}(a),this._set("rasterInfo",a),n.capabilities.toLowerCase().includes("tilemap")){const e={tileInfo:a.storageInfo.tileInfo,parsedUrl:(0,j.An)(this.url),url:this.url,tileServers:[]};this._tilemapCache=new $.d({layer:e})}}async _fetchRasterInfo(e){const t=this.sourceJSON;if("Map"===this.tileType){const e=t.fullExtent||t.extent,s=Math.ceil((e.xmax-e.xmin)/t.pixelSizeX-.1),i=Math.ceil((e.ymax-e.ymin)/t.pixelSizeY-.1),n=f.A.fromJSON(t.spatialReference||e.spatialReference),a=new q.A({x:t.pixelSizeX,y:t.pixelSizeY,spatialReference:n});return new A.A({width:s,height:i,bandCount:3,extent:l.A.fromJSON(e),spatialReference:n,pixelSize:a,pixelType:"u8",statistics:null,keyProperties:{DataType:"processed"}})}const s={...e,query:{...this.ioConfig.customFetchParameters,f:"json"}},i=(0,Z.Tw)(this.url,this.sourceJSON,s),n=t.hasMultidimensions?this.request(`${this.url}/slices`,s).then(e=>e.data?.slices).catch(()=>null):null,a=await Promise.all([i,n]);return this._slices=a[1],a[0]}_fixScaleInServiceInfo(){const{sourceJSON:e}=this;e.minScale&&e.minScale<0&&(e.minScale=0),e.maxScale&&e.maxScale<0&&(e.maxScale=0)}_computeMinMaxLOD(e,t){const{pixelSize:s}=e,i=.5/e.width*s.x,{lods:n}=t,a=t.lodAt(Math.max.apply(null,n.map(e=>e.level))),r=t.lodAt(Math.min.apply(null,n.map(e=>e.level))),{tileType:o}=this;if("Map"===o)return this._levelOffset=n[0].level,[a,r];if("Raster"===o)return[n.find(e=>e.resolution===s.x)??a,r];const{minScale:l,maxScale:f}=this.sourceJSON;let c=a;f>0&&(c=n.find(e=>Math.abs(e.scale-f)<i),c||(c=n.filter(e=>e.scale>f).sort((e,t)=>e.scale>t.scale?1:-1)[0]??a));let u=r;return l>0&&(u=n.find(e=>Math.abs(e.scale-l)<i)??r,this._levelOffset=u.level-r.level),[c,u]}};(0,n.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],Y.prototype,"datasetFormat",void 0),(0,n.Cg)([(0,a.MZ)()],Y.prototype,"tileType",void 0),Y=(0,n.Cg)([(0,a.$K)("esri.layers.raster.datasets.ImageServerRaster")],Y);const K=Y;var Q=s(10713);const ee=new Map([["byte","u8"],["signedbyte","s8"],["int8","s8"],["uint8","u8"],["int16","s16"],["uint16","u16"],["int32","s32"],["uint32","u32"],["float32","f32"],["float64","f64"],["double64","f64"]]),te=new Map;te.set("none",{blobExtension:".til",isOneSegment:!0,decoderFormat:"bip"}),te.set("lerc",{blobExtension:".lrc",isOneSegment:!1,decoderFormat:"lerc"}),te.set("deflate",{blobExtension:".pzp",isOneSegment:!0,decoderFormat:"deflate"}),te.set("jpeg",{blobExtension:".pjg",isOneSegment:!0,decoderFormat:"jpg"}),te.set("qb3",{blobExtension:".pq3",isOneSegment:!0,decoderFormat:"qb3"});let se=class extends r.A{constructor(){super(...arguments),this._files=null,this._storageIndex=null,this.datasetFormat="MRF"}async fetchRawTile(e,t,s,i={}){const{blockWidth:n,blockHeight:a,blockBoundary:r}=this.rasterInfo.storageInfo,o=r[e];if(!o||o.maxRow<t||o.maxCol<s||o.minRow>t||o.minCol>s)return null;const{bandCount:l,pixelType:f}=this.rasterInfo,{ranges:c,actualTileWidth:u,actualTileHeight:p}=this._getTileLocation(e,t,s);if(!c||0===c.length)return null;if(c.some(e=>e.from>e.to)){const e=new Uint8Array(n*a);return new h.A({width:n,height:a,pixels:void 0,mask:e,validPixelCount:0})}const{bandIds:d}=this.ioConfig,m=this._getBandSegmentCount(),g=[];let y=0;for(y=0;y<m;y++)d&&!d.includes(y)||g.push(this.request(this._files.data,{range:{from:c[y].from,to:c[y].to},responseType:"array-buffer",signal:i.signal}));const x=await Promise.all(g),w=x.map(e=>e.data.byteLength).reduce((e,t)=>e+t),I=new Uint8Array(w),C=[];let v=0;for(y=0;y<m;y++)C.push(v),I.set(new Uint8Array(x[y].data),v),v+=x[y].data.byteLength;const b=te.get(this.rasterInfo.storageInfo.compression).decoderFormat,T=await this.decodePixelBlock(I.buffer,{width:n,height:a,format:b,planes:d?.length||l,offsets:C,pixelType:f}).catch(()=>null);if(null==T)return null;let{noDataValue:S}=this.rasterInfo;if(null!=S&&"lerc"!==b&&!T.mask&&(S=S[0],null!=S)){const e=T.width*T.height,t=new Uint8Array(e);if(Math.abs(S)>1e24)for(y=0;y<e;y++)Math.abs((T.pixels[0][y]-S)/S)>1e-6&&(t[y]=1);else for(y=0;y<e;y++)T.pixels[0][y]!==S&&(t[y]=1);T.mask=t}let A=0,R=0;if(u!==n||p!==a){let e=T.mask;if(e)for(y=0;y<a;y++)if(R=y*n,y<p)for(A=u;A<n;A++)e[R+A]=0;else for(A=0;A<n;A++)e[R+A]=0;else for(e=new Uint8Array(n*a),T.mask=e,y=0;y<p;y++)for(R=y*n,A=0;A<u;A++)e[R+A]=1}return T}async _open(e){this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1);const t=e?e.signal:null,s=await this.request(this.url,{responseType:"xml",signal:t}),{rasterInfo:i,files:n}=this._parseHeader(s.data),{skipMapInfo:a,skipExtensions:r=[]}=this.ioConfig;if(!r.includes("aux.xml")&&!a){const t=await this._fetchAuxiliaryData(e);null!=t&&(i.statistics=t.statistics??i.statistics,i.histograms=t.histograms,t.histograms&&null==i.statistics&&(i.statistics=(0,T.Pg)(t.histograms)))}a&&this.updateImageSpaceRasterInfo(i),this._set("rasterInfo",i),this._files=n;const o=await this.request(n.index,{responseType:"array-buffer",signal:t});this._storageIndex=function(e){if(e.byteLength%16>0)throw new Error("invalid array buffer must be multiples of 16");let t,s,i,n,a,r;if(Q.Z){for(s=new Uint8Array(e),n=new ArrayBuffer(e.byteLength),i=new Uint8Array(n),a=0;a<e.byteLength/4;a++)for(r=0;r<4;r++)i[4*a+r]=s[4*a+3-r];t=new Uint32Array(n)}else t=new Uint32Array(e);return t}(o.data);const{blockWidth:l,blockHeight:f}=this.rasterInfo.storageInfo,c=this.rasterInfo.storageInfo.pyramidScalingFactor,{width:u,height:h}=this.rasterInfo,p=[],d=this._getBandSegmentCount();let m=0,g=-1;for(;m<this._storageIndex.length;){g++;const e=Math.ceil(u/l/c**g)-1,t=Math.ceil(h/f/c**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 te.get(this.rasterInfo.storageInfo.compression).isOneSegment?1:this.rasterInfo.bandCount}_getTileLocation(e,t,s){const{blockWidth:i,blockHeight:n,pyramidScalingFactor:a}=this.rasterInfo.storageInfo,{width:r,height:o}=this.rasterInfo,l=this._getBandSegmentCount();let f,c,u,h=0,p=0;for(u=0;u<e;u++)p=a**u,f=Math.ceil(r/i/p),c=Math.ceil(o/n/p),h+=f*c;p=a**e,f=Math.ceil(r/i/p),c=Math.ceil(o/n/p),h+=t*f+s,h*=4*l;const d=this._storageIndex.subarray(h,h+4*l);let m=0,g=0;const y=[];for(let e=0;e<l;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:s<f-1?i:Math.ceil(r/p)-i*(f-1),actualTileHeight:t<c-1?n:Math.ceil(o/p)-n*(c-1)}}_parseHeader(e){const t=(0,B.V6)(e,"MRF_META/Raster");if(!t)throw new i.A("mrf:open","not a valid MRF format");const s=(0,B.V6)(t,"Size"),n=parseInt(s.getAttribute("x"),10),a=parseInt(s.getAttribute("y"),10),r=parseInt(s.getAttribute("c"),10),o=((0,B.mX)(t,"Compression")||"none").toLowerCase();if(!te.has(o))throw new i.A("mrf:open","currently does not support compression "+o);const c=(0,B.mX)(t,"DataType")||"UInt8",u=ee.get(c.toLowerCase());if(null==u)throw new i.A("mrf:open","currently does not support pixel type "+c);const h=(0,B.V6)(t,"PageSize"),p=parseInt(h.getAttribute("x"),10),d=parseInt(h.getAttribute("y"),10),m=(0,B.V6)(t,"DataValues");let g,y;if(m&&(y=m.getAttribute("NoData"),null!=y&&(g=y.trim().split(" ").map(e=>parseFloat(e)))),(0,B.V6)(e,"MRF_META/CachedSource"))throw new i.A("mrf:open","currently does not support MRF referencing other data files");const x=(0,B.V6)(e,"MRF_META/GeoTags"),w=(0,B.V6)(x,"BoundingBox");let I,C=!1;if(null!=w){const e=parseFloat(w.getAttribute("minx")),t=parseFloat(w.getAttribute("miny")),s=parseFloat(w.getAttribute("maxx")),i=parseFloat(w.getAttribute("maxy")),n=(0,B.mX)(x,"Projection")||"";let a=f.A.WGS84;if("LOCAL_CS[]"!==n)if(n.toLowerCase().startsWith("epsg:")){const e=Number(n.slice(5));isNaN(e)||0===e||(a=new f.A({wkid:e}))}else a=E(n)??f.A.WGS84;else C=!0,a=new f.A({wkid:3857});I=new l.A(e,t,s,i),I.spatialReference=a}else C=!0,I=new l.A({xmin:-.5,ymin:.5-a,xmax:n-.5,ymax:.5,spatialReference:new f.A({wkid:3857})});const v=(0,B.V6)(e,"MRF_META/Rsets"),b=parseInt(v?.getAttribute("scale")||"2",10),T=I.spatialReference,S=new W.A({origin:new q.A({x:I.xmin,y:I.ymax,spatialReference:T}),blockWidth:p,blockHeight:d,pyramidBlockWidth:p,pyramidBlockHeight:d,compression:o,pyramidScalingFactor:b}),R=new q.A({x:I.width/n,y:I.height/a,spatialReference:T}),M=new A.A({width:n,height:a,extent:I,isPseudoSpatialReference:C,spatialReference:T,bandCount:r,pixelType:u,pixelSize:R,noDataValue:g,storageInfo:S}),O=this._getAuxFullPath((0,B.mX)(t,"DataFile")),k=this._getAuxFullPath((0,B.mX)(t,"IndexFile"));return{rasterInfo:M,files:{mrf:this.url,index:k||this.url.replace(".mrf",".idx"),data:O||this.url.replace(".mrf",te.get(o).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}`:null}async _fetchAuxiliaryData(e){try{const{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:e?.signal});return z(t)}catch{return null}}};(0,n.Cg)([(0,a.MZ)()],se.prototype,"_files",void 0),(0,n.Cg)([(0,a.MZ)()],se.prototype,"_storageIndex",void 0),(0,n.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],se.prototype,"datasetFormat",void 0),se=(0,n.Cg)([(0,a.$K)("esri.layers.raster.datasets.MRFRaster")],se);const ie=se;s(44208);var ne=s(53966),ae=s(9334);function re(e){const t=e.fields,s=e.records,i=t.some(e=>"oid"===e.name.toLowerCase())?"OBJECTID":"OID",n=[{name:i,type:"esriFieldTypeOID",alias:"OID"}].concat(t.map(e=>({name:e.name,type:"esriFieldType"+e.typeName,alias:e.name}))),a=n.map(e=>e.name),r=[];let o=0,l=0;return s.forEach(e=>{const t={};for(t[i]=o++,l=1;l<a.length;l++)t[a[l]]=e[l-1];r.push({attributes:t})}),{displayFieldName:"",fields:n,features:r}}class oe{static get supportedVersions(){return[5]}static parse(e){const t=new DataView(e),s=3&t.getUint8(0);if(3!==s)return{header:{version:s},recordSet:null};const i=t.getUint32(4,!0),n=t.getUint16(8,!0),a=t.getUint16(10,!0),r={version:s,recordCount:i,headerByteCount:n,recordByteCount:a};let o=32;const l=[],f=[];let c;if(3===s){for(;13!==t.getUint8(o);)c=String.fromCharCode(t.getUint8(o+11)).trim(),l.push({name:(0,ae.w)(new Uint8Array(e,o,11)),type:c,typeName:["String","Date","Double","Boolean","String","Integer"][["C","D","F","L","M","N"].indexOf(c)],length:t.getUint8(o+16)}),o+=32;if(o+=1,l.length>0)for(;f.length<i&&e.byteLength-o>a;){const s=[];32===t.getUint8(o)?(o+=1,l.forEach(t=>{if("C"===t.type)s.push((0,ae.w)(new Uint8Array(e,o,t.length)).trim());else if("N"===t.type)s.push(parseInt(String.fromCharCode.apply(null,new Uint8Array(e,o,t.length)).trim(),10));else if("F"===t.type)s.push(parseFloat(String.fromCharCode.apply(null,new Uint8Array(e,o,t.length)).trim()));else if("D"===t.type){const i=String.fromCharCode.apply(null,new Uint8Array(e,o,t.length)).trim();s.push(new Date(parseInt(i.slice(0,4),10),parseInt(i.slice(4,6),10)-1,parseInt(i.slice(6,8),10)))}o+=t.length}),f.push(s)):o+=a}}return{header:r,fields:l,records:f,recordSet:re({fields:l,records:f})}}}var le=s(87877),fe=s(94213);const ce=(e,t)=>e.get(t)?.values,ue=(e,t)=>e.get(t)?.values?.[0];let he=class extends r.A{constructor(){super(...arguments),this._files=null,this._headerInfo=null,this._bufferSize=1048576,this._chunkSize=10485760,this.datasetFormat="TIFF"}async fetchRawTile(e,t,s,i={}){if(!this._headerInfo?.isSupported||this.isBlockOutside(e,t,s))return null;const n=await this._fetchRawTiffTile(e,t,s,!1,i);if(null!=n&&this._headerInfo.hasMaskBand){const a=await this._fetchRawTiffTile(e,t,s,!0,i);null!=a&&a.pixels[0]instanceof Uint8Array&&(n.mask=a.pixels[0])}return n}async _open(e){const t=e?e.signal:null,{data:s}=await this.request(this.url,{range:{from:0,to:this._bufferSize},responseType:"array-buffer",signal:t});if(!s)throw new i.A("tiffraster:open","failed to open url "+this.url);this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1,this.url.lastIndexOf("."));const{littleEndian:n,firstIFDPos:a,isBigTiff:r}=(0,le.uT)(s),o=[],c={fileChunk:s,posIFD:a,fileOffset:0};await this._readIFDs(o,c,n,r?8:4,t);const{imageInfo:u,rasterInfo:h}=function(e){const t=(0,le.uc)(e),{width:s,height:i,tileWidth:n,tileHeight:a,planes:r,pixelType:o,compression:c,firstPyramidLevel:u,maximumPyramidLevel:h,pyramidBlockWidth:p,pyramidBlockHeight:d,pyramidResolutions:m,tileBoundary:g,affine:y,metadata:x}=t;let w=E(t.extent.spatialReference?.wkt||t.extent.spatialReference?.wkid),I=!!t.isPseudoGeographic;null==w&&(I=!0,w=new f.A({wkid:3857}));const C=new l.A({...t.extent,spatialReference:w}),v=new q.A(C?{x:C.xmin,y:C.ymax,spatialReference:w}:{x:0,y:0}),b=new W.A({blockWidth:n,blockHeight:a,pyramidBlockWidth:p,pyramidBlockHeight:d,compression:c,origin:v,firstPyramidLevel:u,maximumPyramidLevel:h,pyramidResolutions:m,blockBoundary:g}),T=new q.A({x:(C.xmax-C.xmin)/s,y:(C.ymax-C.ymin)/i,spatialReference:w}),S=x?{BandProperties:x.bandProperties,DataType:x.dataType}:{};let R=null;const M=ue(e[0],"PHOTOMETRICINTERPRETATION"),O=ce(e[0],"COLORMAP");if(M<=3&&O?.length>3&&O.length%3==0){R=[];const e=O.length/3;for(let t=0;t<e;t++)R.push([t,O[t]>>>8,O[t+e]>>>8,O[t+2*e]>>>8])}const k=new A.A({width:s,height:i,bandCount:r,pixelType:o,pixelSize:T,storageInfo:b,spatialReference:w,isPseudoSpatialReference:I,keyProperties:S,extent:C,colormap:R,statistics:x?x.statistics:null});if(y?.length&&(k.nativeExtent=new l.A({xmin:-.5,ymin:.5-i,xmax:s-.5,ymax:.5,spatialReference:w}),k.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]]}),k.extent=k.transform.forwardTransform(k.nativeExtent),k.pixelSize=new q.A({x:(C.xmax-C.xmin)/s,y:(C.ymax-C.ymin)/i,spatialReference:w}),b.origin.x=-.5,b.origin.y=.5),m){const{x:e,y:t}=k.pixelSize;m.forEach(s=>{s.x*=e,s.y*=t})}return{imageInfo:t,rasterInfo:k}}(o),p=(0,le.zS)(o),d=(0,le.r9)(o);if(this._headerInfo={littleEndian:n,isBigTiff:r,ifds:o,pyramidIFDs:p,maskIFDs:d,...u},this._set("rasterInfo",h),!u.isSupported)throw new i.A("tiffraster:open","this tiff is not supported: "+u.message);if(!u.tileWidth)throw new i.A("tiffraster:open","none-tiled tiff is not optimized for access, convert to COG and retry.");h.isPseudoSpatialReference&&ne.A.getLogger(this).warn("The spatial reference for this tiff is unsupported. Only EPSG spatial reference codes and Esri WKTs are supported.");const m=o[0].get("PREDICTOR")?.values?.[0],g=o[0].get("SAMPLEFORMAT")?.values?.[0];if(3===g&&2===m)throw new i.A("tiffraster:open","unsupported horizontal difference encoding. Predictor=3 is supported for floating point data");const{skipMapInfo:y,skipExtensions:x=[]}=this.ioConfig;if(!x.includes("aux.xml")&&!y){const 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,T.Pg)(e.histograms)),e.transform&&null==t.transform){t.transform=e.transform,t.nativeExtent=t.extent;const s=t.transform.forwardTransform(t.nativeExtent);t.pixelSize=new q.A({x:(s.xmax-s.xmin)/t.width,y:(s.ymax-s.ymin)/t.height,spatialReference:t.spatialReference}),t.extent=s}t.isPseudoSpatialReference&&e.spatialReference&&(t.spatialReference=e.spatialReference,t.extent.spatialReference=t.nativeExtent.spatialReference=t.storageInfo.origin.spatialReference=t.spatialReference)}(t,h)}x.includes("vat.dbf")||1!==h.bandCount||"u8"!==h.pixelType||y||(h.attributeTable=await this._fetchAuxiliaryTable(e),null!=h.attributeTable&&(h.keyProperties.DataType="thematic")),y&&this.updateImageSpaceRasterInfo(h),this.updateTileInfo()}async _validateOrFetchHeaderBuffer(e,t){let{fileChunk:s,fileOffset:i,posIFD:n}=e;return(n+8>=s.byteLength||n<0)&&(i=n+i,s=(await this.request(this.url,{range:{from:i,to:i+this._bufferSize},responseType:"array-buffer",signal:t})).data,n=0),{fileChunk:s,fileOffset:i,posIFD:n}}async _readIFDs(e,t,s,n=4,a){if(!t.posIFD)return null;t=await this._validateOrFetchHeaderBuffer(t,a);const r=await this._readIFD(t,s,fe.NB,n,a);if(!r?.ifd)throw new i.A("tiffraster:open","cannot parse tiff header. failed to open url "+this.url);if(e.push(r.ifd),!r.nextIFD)return null;t.posIFD=r.nextIFD-t.fileOffset,await this._readIFDs(e,t,s,n,a)}async _readIFD(e,t,s=fe.NB,i=4,n){let{fileChunk:a,posIFD:r,fileOffset:o}=e;if(!e.fileChunk)return null;const l=(0,le.JM)(a,t,r,o,s,i);if(l.success){const e=[];if(l.ifd?.forEach(t=>{t.values||e.push(t)}),e.length>0&&await this._fillOffsets(e,t,l.nextIFD,n),l.ifd?.has("GEOKEYDIRECTORY")){const e=l.ifd.get("GEOKEYDIRECTORY"),s=e?.values;if(s&&s.length>4){const i=s[0]+"."+s[1]+"."+s[2];r=e.valueOffset+6-o;const l=await this._validateOrFetchHeaderBuffer({fileChunk:a,posIFD:r,fileOffset:o},n),f=await this._readIFD(l,t,fe.YC,2,n);e.data=f?.ifd,e.data&&e.data.set("GEOTIFFVersion",{id:0,type:2,valueCount:1,valueOffset:null,values:[i]})}}return l}return l.requiredBufferSize?(a=(await this.request(this.url,{range:{from:o,to:o+r+l.requiredBufferSize+8},responseType:"array-buffer",signal:n})).data,a.byteLength<r+l.requiredBufferSize?null:(e.fileChunk=a,e.fileOffset=o,this._readIFD(e,t,s,i,n))):null}async _fillOffsets(e,t,s,i){const n=e.filter(e=>null!=e.offlineOffsetSize);if(0===n.length)return;const a=n.map(e=>e.offlineOffsetSize),r=Math.min.apply(null,a.map(e=>e[0])),o=Math.max.apply(null,a.map(e=>e[0]+e[1]));let l=1===a.length||o-r<=this._bufferSize;if(!l&&a.length>1&&(a.sort((e,t)=>e[0]-t[0]),l=a.reduce((e,t)=>e===t[0]?t[0]+t[1]:0,a[0][0])===o),l){const e=await this._fetchOffsets(r,Math.max(o,r+this._bufferSize),i);return void n.forEach(s=>(0,le.Cr)(e,t,s,r))}const f=n.map(async e=>{const s=e.offlineOffsetSize,n=await this._fetchOffsets(s[0],s[1]+s[0],i);(0,le.Cr)(n,t,e,s[0])});await Promise.all(f)}async _fetchOffsets(e,t,s){const i=[],n=this._chunkSize,a=Math.ceil((t-e)/n);let r=e;for(let e=0;e<a;e++)i.push(this.request(this.url,{range:{from:r,to:e===a-1?t:r+n-1},responseType:"array-buffer",signal:s})),r+=n;const o=await Promise.all(i);if(1===a)return o[0].data;const l=new Uint8Array(t-e+1);for(let e=0;e<a;e++)l.set(new Uint8Array(o[e].data),e*n);return l.buffer}async _fetchRawTiffTile(e,t,s,i,n={}){const a=this._getTileLocation(e,t,s,i);if(!a)return null;const{ranges:r,actualTileWidth:o,actualTileHeight:l,ifd:f}=a,c=r.map(e=>this.request(this.url,{range:e,responseType:"array-buffer",signal:n.signal})),u=await Promise.all(c),h=u.map(e=>e.data.byteLength).reduce((e,t)=>e+t),p=1===u.length?u[0].data:new ArrayBuffer(h),d=[0],m=[0];if(u.length>1){const e=new Uint8Array(p);for(let t=0,s=0;t<u.length;t++){const i=u[t].data;e.set(new Uint8Array(i),s),d[t]=s,s+=i.byteLength,m[t]=i.byteLength}}const{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(o!==g||l!==y){let e=x.mask;if(e)for(let t=0;t<y;t++){const s=t*g;if(t<l)for(let t=o;t<g;t++)e[s+t]=0;else for(let t=0;t<g;t++)e[s+t]=0}else{e=new Uint8Array(g*y),x.mask=e;for(let t=0;t<l;t++){const s=t*g;for(let t=0;t<o;t++)e[s+t]=1}}}return x}_getTileLocation(e,t,s,i=!1){const{firstPyramidLevel:n,blockBoundary:a}=this.rasterInfo.storageInfo,r=0===e?0:e-(n-1),{_headerInfo:o}=this;if(!o)return null;const l=i?o.maskIFDs[r]:0===r?o?.ifds[0]:o?.pyramidIFDs[r-1];if(!l)return null;const f=(0,le.XO)(l,o),c=ce(l,"TILEOFFSETS");if(void 0===c)return null;const u=ce(l,"TILEBYTECOUNTS"),{minRow:h,minCol:p,maxRow:d,maxCol:m}=a[r];if(t>d||s>m||t<h||s<p)return null;const g=ue(l,"IMAGEWIDTH"),y=ue(l,"IMAGELENGTH"),x=ue(l,"TILEWIDTH"),w=ue(l,"TILELENGTH"),I=[];if(f){const{bandCount:e}=this.rasterInfo;for(let i=0;i<e;i++){const e=i*(d+1)*(m+1)+t*(m+1)+s;I[i]={from:c[e],to:c[e]+u[e]-1}}}else{const e=t*(m+1)+s;I.push({from:c[e],to:c[e]+u[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:l,actualTileWidth:s===m&&g%x||x,actualTileHeight:t===d&&y%w||w}}async _fetchAuxiliaryMetaData(e){try{const{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:e?.signal});return z(t)}catch{return null}}async _fetchAuxiliaryTable(e){try{const{data:t}=await this.request(this.url+".vat.dbf",{responseType:"array-buffer",signal:e?.signal}),s=oe.parse(t);return s?.recordSet?O.A.fromJSON(s.recordSet):null}catch{return null}}};(0,n.Cg)([(0,a.MZ)()],he.prototype,"_files",void 0),(0,n.Cg)([(0,a.MZ)()],he.prototype,"_headerInfo",void 0),(0,n.Cg)([(0,a.MZ)()],he.prototype,"_bufferSize",void 0),(0,n.Cg)([(0,a.MZ)()],he.prototype,"_chunkSize",void 0),(0,n.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],he.prototype,"datasetFormat",void 0),he=(0,n.Cg)([(0,a.$K)("esri.layers.raster.datasets.TIFFRaster")],he);const pe=he,de=new Map;de.set("MRF",{desc:"Meta Raster Format",constructor:ie}),de.set("TIFF",{desc:"GeoTIFF",constructor:pe}),de.set("RasterTileServer",{desc:"Raster Tile Server",constructor:K}),de.set("JPG",{desc:"JPG Raster Format",constructor:H}),de.set("PNG",{desc:"PNG Raster Format",constructor:H}),de.set("GIF",{desc:"GIF Raster Format",constructor:H}),de.set("BMP",{desc:"BMP Raster Format",constructor:H}),de.set("CovJSON",{desc:"COVJSON Raster Format",constructor:_}),de.set("MEMORY",{desc:"In Memory Raster Format",constructor:M});class me{static get supportedFormats(){const e=new Set;return de.forEach((t,s)=>e.add(s)),e}static async open(e){const{url:t,ioConfig:s,source:n,sourceJSON:a}=e;let r=e.datasetFormat??s?.datasetFormat;null==r&&(t.includes(".")?r=t.slice(t.lastIndexOf(".")+1).toUpperCase():"coverage"===n?.type?.toLowerCase()?r="CovJSON":n?.extent&&n.pixelblocks&&(r="MEMORY")),"OVR"===r||"TIF"===r?r="TIFF":"JPG"===r||"JPEG"===r||"JFIF"===r?r="JPG":"COVJSON"===r&&(r="CovJSON"),t.toLowerCase().includes("/imageserver")&&!t.toLowerCase().includes("/wcsserver")&&(r="RasterTileServer");const o={url:t,source:n,sourceJSON:a,datasetFormat:r,ioConfig:s??{bandIds:null,sampling:null}};if(Object.keys(o).forEach(e=>{null==o[e]&&delete o[e]}),r){if(!this.supportedFormats.has(r))throw new i.A("rasterfactory:open","not a supported format "+r);if("CRF"===r)throw new i.A("rasterfactory:open",`cannot open raster: ${t}`);const s=new(0,de.get(r).constructor)(o);return await s.open({signal:e.signal}),s}const l=Array.from(de.keys()).filter(e=>"CovJSON"!==e&&"Memory"!==e);let f=0;const c=()=>{if(r=l[f++],!r)return null;if("CRF"===r)return null;const t=new(0,de.get(r).constructor)(o);return t.open({signal:e.signal}).then(()=>t).catch(()=>c())};return c()}static register(e,t,s){de.has(e.toUpperCase())||de.set(e.toUpperCase(),{desc:t,constructor:s})}}},10333(e,t,s){s.d(t,{A:()=>r});var i=s(5482),n=s(25482),a=s(91429);let r=class extends n.o{get affectsPixelSize(){return!1}forwardTransform(e){return e}inverseTransform(e){return e}};(0,i.Cg)([(0,a.MZ)()],r.prototype,"affectsPixelSize",null),(0,i.Cg)([(0,a.MZ)({json:{write:!0}})],r.prototype,"spatialReference",void 0),r=(0,i.Cg)([(0,a.$K)("esri.layers.raster.transforms.BaseRasterTransform")],r)},75414(e,t,s){s.d(t,{A:()=>l});var i,n=s(5482),a=s(91429),r=s(10333),o=s(93223);let l=i=class extends r.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 i({tolerance:this.tolerance})}};(0,n.Cg)([(0,o.e)({GCSShiftXform:"gcs-shift"})],l.prototype,"type",void 0),(0,n.Cg)([(0,a.MZ)()],l.prototype,"tolerance",void 0),l=i=(0,n.Cg)([(0,a.$K)("esri.layers.raster.transforms.GCSShiftTransform")],l)},43163(e,t,s){s.d(t,{A:()=>d});var i,n=s(5482),a=s(91429),r=s(5443),o=s(86738),l=s(10333),f=s(36005),c=s(43937),u=s(93223);function h(e,t,s){const{x:i,y:n}=t;if(s<2)return{x:e[0]+i*e[2]+n*e[4],y:e[1]+i*e[3]+n*e[5]};if(2===s){const t=i*i,s=n*n,a=i*n;return{x:e[0]+i*e[2]+n*e[4]+t*e[6]+a*e[8]+s*e[10],y:e[1]+i*e[3]+n*e[5]+t*e[7]+a*e[9]+s*e[11]}}const a=i*i,r=n*n,o=i*n,l=a*i,f=a*n,c=i*r,u=n*r;return{x:e[0]+i*e[2]+n*e[4]+a*e[6]+o*e[8]+r*e[10]+l*e[12]+f*e[14]+c*e[16]+u*e[18],y:e[1]+i*e[3]+n*e[5]+a*e[7]+o*e[9]+r*e[11]+l*e[13]+f*e[15]+c*e[17]+u*e[19]}}function p(e,t,s){const{xmin:i,ymin:n,xmax:a,ymax:o,spatialReference:l}=t;let f=[];if(s<2)f.push({x:i,y:o}),f.push({x:a,y:o}),f.push({x:i,y:n}),f.push({x:a,y:n});else{let e=10;for(let t=0;t<e;t++)f.push({x:i,y:n+(o-n)*t/(e-1)}),f.push({x:a,y:n+(o-n)*t/(e-1)});e=8;for(let t=1;t<=e;t++)f.push({x:i+(a-i)*t/e,y:n}),f.push({x:i+(a-i)*t/e,y:o})}f=f.map(t=>h(e,t,s));const c=f.map(e=>e.x),u=f.map(e=>e.y);return new r.A({xmin:Math.min.apply(null,c),xmax:Math.max.apply(null,c),ymin:Math.min.apply(null,u),ymax:Math.max.apply(null,u),spatialReference:l})}let d=i=class extends l.A{constructor(){super(...arguments),this.polynomialOrder=1,this.type="polynomial"}readForwardCoefficients(e,t){const{coeffX:s,coeffY:i}=t;if(!s?.length||!i?.length||s.length!==i.length)return null;const n=[];for(let e=0;e<s.length;e++)n.push(s[e]),n.push(i[e]);return n}writeForwardCoefficients(e,t,s){const i=[],n=[];for(let t=0;t<e?.length;t++)t%2==0?i.push(e[t]):n.push(e[t]);t.coeffX=i,t.coeffY=n}get inverseCoefficients(){let e=this._get("inverseCoefficients");const t=this._get("forwardCoefficients");return!e&&t&&this.polynomialOrder<2&&(e=function(e){const[t,s,i,n,a,r]=e,o=i*r-a*n,l=a*n-i*r;return[(a*s-t*r)/o,(i*s-t*n)/l,r/o,n/l,-a/o,-i/l]}(t)),e}set inverseCoefficients(e){this._set("inverseCoefficients",e)}readInverseCoefficients(e,t){const{inverseCoeffX:s,inverseCoeffY:i}=t;if(!s?.length||!i?.length||s.length!==i.length)return null;const n=[];for(let e=0;e<s.length;e++)n.push(s[e]),n.push(i[e]);return n}writeInverseCoefficients(e,t,s){const i=[],n=[];for(let t=0;t<e?.length;t++)t%2==0?i.push(e[t]):n.push(e[t]);t.inverseCoeffX=i,t.inverseCoeffY=n}get affectsPixelSize(){return this.polynomialOrder>0}forwardTransform(e){if("point"===e.type){const t=h(this.forwardCoefficients,e,this.polynomialOrder);return new o.A({x:t.x,y:t.y,spatialReference:e.spatialReference})}return p(this.forwardCoefficients,e,this.polynomialOrder)}inverseTransform(e){if("point"===e.type){const t=h(this.inverseCoefficients,e,this.polynomialOrder);return new o.A({x:t.x,y:t.y,spatialReference:e.spatialReference})}return p(this.inverseCoefficients,e,this.polynomialOrder)}clone(){return new i({polynomialOrder:this.polynomialOrder,forwardCoefficients:this.forwardCoefficients?[...this.forwardCoefficients]:null,inverseCoefficients:this.inverseCoefficients?[...this.inverseCoefficients]:null})}};(0,n.Cg)([(0,a.MZ)({json:{write:!0}})],d.prototype,"polynomialOrder",void 0),(0,n.Cg)([(0,a.MZ)()],d.prototype,"forwardCoefficients",void 0),(0,n.Cg)([(0,f.w)("forwardCoefficients",["coeffX","coeffY"])],d.prototype,"readForwardCoefficients",null),(0,n.Cg)([(0,c.K)("forwardCoefficients")],d.prototype,"writeForwardCoefficients",null),(0,n.Cg)([(0,a.MZ)({json:{write:!0}})],d.prototype,"inverseCoefficients",null),(0,n.Cg)([(0,f.w)("inverseCoefficients",["inverseCoeffX","inverseCoeffY"])],d.prototype,"readInverseCoefficients",null),(0,n.Cg)([(0,c.K)("inverseCoefficients")],d.prototype,"writeInverseCoefficients",null),(0,n.Cg)([(0,a.MZ)()],d.prototype,"affectsPixelSize",null),(0,n.Cg)([(0,u.e)({PolynomialXform:"polynomial"})],d.prototype,"type",void 0),d=i=(0,n.Cg)([(0,a.$K)("esri.layers.raster.transforms.PolynomialTransform")],d)}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2741],{2741(e,t,r){r.d(t,{s:()=>i});var s=r(92602),n=(r(11254),r(49186)),o=r(53966),a=r(84952);function i(e){if(!s.A.assetsPath)throw o.A.getLogger("esri.assets").errorOnce("The API assets location needs to be set using config.assetsPath. More information: https://arcg.is/1OzLe50"),new n.A("assets:path-not-set","config.assetsPath is not set");return(0,a.fj)(s.A.assetsPath,e)}},97159(e,t,r){r.d(t,{a:()=>y,b:()=>w,e:()=>h,f:()=>a,i:()=>p,p:()=>f,r:()=>l,t:()=>i,w:()=>u});var s=r(70333),n=r(84952),o=r(39131);function a(e,t){const r=t?.url?.path;if(e&&r&&(e=(0,n.s2)(e,r,{preserveProtocolRelative:!0}),t.portalItem&&t.readResourcePaths)){const r=(0,n.V1)(e,t.portalItem.itemUrl);null!=r&&r.startsWith(d)&&t.readResourcePaths.push(t.portalItem.resourceFromPath(r).path)}return(e=m(e,t?.portal))&&c.test(e)?y(e):e}function i(e,t,r=0){if(null==(e=e&&c.test(e)?g(e):e))return e;!(0,n.oP)(e)&&t?.blockedRelativeUrls&&t.blockedRelativeUrls.push(e);let s=(0,n.s2)(e);if(t){const r=t.verifyItemRelativeUrls?.rootPath||t.url?.path;if(r){const o=m(r,t.portal),a=m(s,t.portal);s=(0,n.V1)(a,o,o),null!=s&&s!==a&&s!==e&&t.verifyItemRelativeUrls&&t.verifyItemRelativeUrls.writtenUrls.push(s)}}return s=h(s,t?.portal),(0,n.oP)(s)&&(s=(0,n.S8)(s)),t?.resources&&t?.portalItem&&!(0,n.oP)(s)&&!(0,n.DB)(s)&&0===r&&t.resources.toKeep.push({resource:t.portalItem.resourceFromPath(s),compress:!1}),s}function l(e,t,r){return a(e,r)}function u(e,t,r,s){const n=i(e,s);void 0!==n&&(t[r]=n)}const c=/\/items\/([^/]+)\/resources\/(.*)/,d="./resources/";function p(e){const t=e?.match(c)??null;return t?.[1]??null}function f(e){const t=e?.match(c)??null;if(null==t)return null;const r=t[2],s=r.lastIndexOf("/");if(-1===s){const{path:e,extension:t}=(0,n.xw)(r);return{prefix:null,filename:e,extension:t}}const{path:o,extension:a}=(0,n.xw)(r.slice(s+1));return{prefix:r.slice(0,s),filename:o,extension:a}}function h(e,t){return t&&!t.isPortal&&t.urlKey&&t.customBaseUrl?(0,n.T1)(e,`${t.urlKey}.${t.customBaseUrl}`,t.portalHostname):e}function m(e,t){if(!t||t.isPortal||!t.urlKey||!t.customBaseUrl)return e;const r=`${t.urlKey}.${t.customBaseUrl}`,s=(0,n.Xq)();return(0,n.FX)(s,`${s.scheme}://${r}`)?(0,n.T1)(e,t.portalHostname,r):(0,n.T1)(e,r,t.portalHostname)}function y(e){if(!e)return e||null;let t=e;return t&&s.id&&!s.id.findCredential(t)&&(t=(0,o.qG)(t),t=t.replace(/^https?:\/\/www\.arcgis\.com/,"https://cdn.arcgis.com"),t=t.replace(/^https?:\/\/devext\.arcgis\.com/,"https://cdndev.arcgis.com"),t=t.replace(/^https?:\/\/qaext\.arcgis\.com/,"https://cdnqa.arcgis.com")),t}function g(e){if(!e)return e||null;let t=e;return t=t.replace(/^https?:\/\/cdn\.arcgis\.com/,"https://www.arcgis.com"),t=t.replace(/^https?:\/\/cdndev\.arcgis\.com/,"https://devext.arcgis.com"),t=t.replace(/^https?:\/\/cdnqa\.arcgis\.com/,"https://qaext.arcgis.com"),t&&s.id&&!s.id.findCredential(t)&&(t=(0,o.qG)(t)),t}const w=Object.freeze(Object.defineProperty({__proto__:null,ensureMainOnlineDomain:h,fromCDNUrl:g,fromJSON:a,itemIdFromResourceUrl:p,prefixAndFilenameFromResourceUrl:f,read:l,toCDNUrl:y,toJSON:i,write:u},Symbol.toStringTag,{value:"Module"}))},91869(e,t,r){function s(e,t){for(const r of e.values())if(t(r))return!0;return!1}function n(e,t,r){const s=e.get(t);if(void 0!==s)return s;const n=r();return e.set(t,n),n}function o(e){const t=new Map;return r=>(t.has(r)||t.set(r,e(r)),t.get(r))}r.d(t,{Bj:()=>o,Bs:()=>s,tE:()=>n})},60694(e,t,r){r.d(t,{Fi:()=>d,HZ:()=>b,Jf:()=>v,LS:()=>q,Wo:()=>g,bd:()=>S,cr:()=>h,iz:()=>f,qg:()=>p,uV:()=>w,yG:()=>m});var s=r(84952),n=r(39131),o=r(97159);const a={mapserver:"MapServer",imageserver:"ImageServer",featureserver:"FeatureServer",knowledgegraphserver:"KnowledgeGraphServer",sceneserver:"SceneServer",streamserver:"StreamServer",vectortileserver:"VectorTileServer","3dtilesserver":"3DTilesServer",videoserver:"VideoServer"},i=Object.values(a),l=new RegExp(`^(?<path>(?:https?:)?\\/\\/\\S+?\\/rest\\/services\\/(?<serviceTitle>.+?)\\/(?<serverType>${i.join("|")})(?:\\/exts\\/(?<soeTitle>.+?)\\/(?<soeServerType>${i.join("|")}))?)(?:\\/(?:layers))?(?:\\/(?<sublayer>\\d+))?`,"i"),u=new RegExp(`^(?<path>(?:https?:)?\\/\\/\\S+?\\/(?<serviceTitle>[^/\\n]+)\\/(?<serverType>${i.join("|")}))(?:\\/(?:layers))?(?:\\/(?<sublayer>\\d+))?`,"i"),c=/(.*?)\/(?:layers\/)?(\d+)\/?$/i;function d(e){return l.test(e)}function p(e){if(null==e)return null;const t=(0,s.An)(e),r=t?.path.match(l)||t?.path.match(u);if(!r)return null;const{path:n,serviceTitle:o,serverType:i,soeTitle:c,soeServerType:d,sublayer:p}=r.groups??{},f=c||o,m=f.indexOf("/");return{title:h(-1!==m?f.slice(m+1):f),serverType:a[(d||i).toLowerCase()],sublayer:null!=p&&""!==p?parseInt(p,10):null,url:{path:n}}}function f(e){const t=(0,s.An)(e).path.match(c);return t?{serviceUrl:t[1],sublayerId:Number(t[2])}:null}function h(e){return(e=e.replaceAll(/\s*[/_]+\s*/g," "))[0].toUpperCase()+e.slice(1)}function m(e,t){const r=[];if(e){const t=p(e);null!=t&&t.title&&r.push(t.title)}if(t){const e=h(t);r.push(e)}if(2===r.length){if(r[0].toLowerCase().includes(r[1].toLowerCase()))return r[0];if(r[1].toLowerCase().includes(r[0].toLowerCase()))return r[1]}return r.join(" - ")}const y=["services","features","tiles","elevation3d","basemaps3d"];function g(e){let t=(0,s.$z)(e,!0);return!!t&&(t=t.toLowerCase(),!!t.endsWith(".arcgis.com")&&(!!y.some(e=>t.startsWith(e))||/^[a-z\d-]+\.svcs[a-z\d-]*\./.test(t)))}function w(e){return(0,n.$E)(e)&&function(e){const t=(0,s.$z)(e);return!!t&&t.toLowerCase().endsWith(".arcgis.com")}(e)}function v(e,t){return e?(0,s.UC)((0,s.zi)(e,t)):e}function b(e){let{url:t}=e;if(!t)return{url:t};t=(0,s.zi)(t,e.logger);const r=(0,s.An)(t),n=p(r.path);let o;if(null!=n)null!=n.sublayer&&null==e.layer.layerId&&(o=n.sublayer),t=n.url.path;else if(e.nonStandardUrlAllowed){const e=f(r.path);null!=e&&(t=e.serviceUrl,o=e.sublayerId)}return{url:(0,s.UC)(t),layerId:o}}function q(e,t,r,n,a){(0,o.w)(t,n,"url",a),n.url&&null!=e.layerId&&(n.url=(0,s.fj)(n.url,r,e.layerId.toString()))}function S(e){if(!e)return!1;const t=e.toLowerCase(),r=t.includes("/services/"),s=t.includes("/mapserver/wmsserver"),n=t.includes("/imageserver/wmsserver"),o=t.includes("/wmsserver");return r&&(s||n||o)}},11254(e,t,r){r.d(t,{A:()=>g});var s=r(92602),n=r(49186),o=r(44208),a=r(17676),i=r(84952),l=r(56152),u=r(51699),c=r(91869),d=r(60694);async function p(e){const t=function(e){let t,r=!1;return"string"==typeof e?(t=(0,i.$z)(e,!0),r=(0,d.Wo)(e)):(t=e.origin,r=(0,d.Wo)(e.toString())),null==t?null:new y(t,r)}(e.parameters.url);if(!t)return null;const{QueueProcessor:s,SharedConcurrency:n}=await r.e(563).then(r.bind(r,563));return(0,c.tE)(f,t.origin,()=>{const e=(t.isHosted?(0,o.A)("request-queue-concurrency-hosted"):(0,o.A)("request-queue-concurrency-non-hosted"))??4;return h??=new n((0,o.A)("request-queue-concurrency-global")??50),new s({concurrency:e,sharedConcurrency:h,process:e=>{if((0,a.G4)(e.parameters.requestOptions))throw(0,u.YB)("",(0,a.NK)("Request canceled"),e.parameters);return(0,u.zc)(e)}})})}const f=new Map;let h,m;class y{constructor(e,t){this.origin=e,this.isHosted=t}}async function g(e,t){e instanceof URL&&(e=e.toString());const s=(0,i.DB)(e),n=(0,i.w8)(e);n||s||(e=(0,i.S8)(e));const c={url:e,requestOptions:{...t}};t?.query&&(c.requestOptions.query=t?.query instanceof URLSearchParams?(0,i.zf)(t.query.toString().replaceAll("+"," ")):t?.query);const d=e=>({data:e,getAllHeaders:v,getHeader:v,httpStatus:200,requestOptions:c.requestOptions,url:c.url}),f=(0,i.sC)(e,w.internalInterceptors);if(f){const e=await b(f,c);if(null!=e)return d(e)}let h=(0,i.sC)(e);if(h){const e=await b(h,c);if(null!=e)return d(e);h.after||h.error||(h=null)}if(e=c.url,"image"===(t=c.requestOptions).responseType&&((0,o.A)("host-webworker")||(0,o.A)("host-node")))throw(0,u.YB)("request:invalid-parameters",new Error("responseType 'image' is not supported in Web Workers or Node environment"),c);if("head"===t.method){if(t.body)throw(0,u.YB)("request:invalid-parameters",new Error("body parameter cannot be set when method is 'head'"),c);if(s||n)throw(0,u.YB)("request:invalid-parameters",new Error("data and blob URLs are not supported for method 'head'"),c)}if(await async function(){(0,o.A)("host-webworker")&&(!m&&globalThis.invokeStaticMessage?m=await r.e(369).then(r.bind(r,40369)):l.i.isForeignWorker=!0)}(),m)return m.execute(e,t);const y=new AbortController,g=(0,a.u7)(t,()=>y.abort()),q={controller:y,credential:void 0,credentialToken:void 0,fetchOptions:void 0,hasToken:!1,interceptor:h,parameters:c,redoRequest:!1,useIdentity:w.useIdentity,useProxy:!1,useSSL:!1,withCredentials:!1},S=t.useQueue?async function(e){const t=await p(e);return t?t.push(e):(0,u.zc)(e)}(q):(0,u.zc)(q),T=await S.finally(()=>g?.remove());return h?.after?.(T),T}const w=s.A.request,v=()=>null;async function b(e,t){if(null!=e.responseData)return e.responseData;if(e.headers&&(t.requestOptions.headers={...t.requestOptions.headers,...e.headers}),e.query&&(t.requestOptions.query={...t.requestOptions.query,...e.query}),e.before){let r,s;try{s=await e.before(t)}catch(e){r=(0,u.YB)("request:interceptor",e,t)}if((s instanceof Error||s instanceof n.A)&&(r=(0,u.YB)("request:interceptor",s,t)),r)throw e.error&&e.error(r),r;return s}}},56152(e,t,r){r.d(t,{i:()=>s});const s={corsServers:["https://server.arcgisonline.com","https://services.arcgisonline.com"],beforeFetch:void 0,afterFetch:void 0,isForeignWorker:!1}},95117(e,t,r){r.d(t,{y:()=>n});var s=r(17676);function n(e,t,r=!1,n){return new Promise((o,a)=>{if((0,s.G4)(n))return void a((0,s.NK)());let i=()=>{c(),a(new Error(`Unable to load ${t}`))},l=async()=>{const t=e;try{await t.decode()}catch{}c(),o(t)},u=()=>{if(!e)return;const t=e;c(),t.src="",a((0,s.NK)())};const c=()=>{e&&(e.removeEventListener("error",i),e.removeEventListener("load",l),i=null,l=null,e=null,n?.removeEventListener("abort",u),u=null,r&&URL.revokeObjectURL(t))};n?.addEventListener("abort",u),e.addEventListener("error",i),e.addEventListener("load",l)})}},51699(e,t,r){r.d(t,{YB:()=>U,c8:()=>I,zc:()=>S});var s=r(92602),n=r(70333),o=r(49186),a=r(44208),i=r(4718),l=r(17676),u=r(84952),c=r(39131),d=r(56152);class p{constructor(e,t){this.element=e,this.type="image+type",this.isOpaque="image/jpeg"===t}}var f=r(95117),h=r(60694);const m=new Map;function y(e,t){const r=t?.preferredHost;if(!r||(0,u.FX)(e,`https://${r}`,!0))return;const s=(0,h.qg)(e);if(!s||"FeatureServer"!==s.serverType||(0,c.$E)(e))return;const n=s.url.path.toLowerCase();m.has(n)||m.set(n,r)}function g(e){const t=(0,h.qg)(e)?.url.path.toLowerCase();if(!t)return e;const r=m.get(t);return r?(0,u.hf)(e,r):e}const w="FormData"in globalThis,v=new Set([499,498,403,401]),b=new Set(["COM_0056","COM_0057","SB_0008"]),q=[/\/arcgis\/tokens/i,/\/sharing(\/rest)?\/generatetoken/i,/\/rest\/info/i];async function S(e){let t,o;await async function(e){const t=e.parameters.url,o=e.parameters.requestOptions,a=e.controller.signal,i=o.body;let u=null,c=null;if(w&&"HTMLFormElement"in globalThis&&(i instanceof FormData?u=i:i instanceof HTMLFormElement&&(u=new FormData(i))),"string"==typeof i&&(c=i),e.fetchOptions={cache:o.cacheMode??(o.cacheBust?"no-cache":"default"),credentials:"same-origin",headers:o.headers||{},keepalive:o.keepAlive??!1,method:"head"===o.method?"HEAD":"GET",mode:"cors",priority:o.priority??s.A.request.priority,redirect:"follow",signal:a},(u||c)&&(e.fetchOptions.body=u||c),(d.i.isForeignWorker||"anonymous"===o.authMode)&&(e.useIdentity=!1),e.hasToken=!!(/token=/i.test(t)||o.query?.token||u?.get("token")),!e.hasToken){const{getApiKey:s,getSessionToken:n}=await r.e(926).then(r.bind(r,926)),a=await n(t)??s(t);a&&(o.query??={},o.query.token=a,e.hasToken=!0)}if(e.useIdentity&&!e.hasToken&&!e.credential&&!e.credentialToken&&!O(t)&&!(0,l.G4)(a)){let r;"immediate"===o.authMode?(await k(),r=await n.id.getCredential(t,{signal:a})):"no-prompt"===o.authMode?(await k(),r=await n.id.getCredential(t,{prompt:!1,signal:a}).catch(()=>{})):n.id&&(r=n.id.findCredential(t)),r&&(e.credential=r,e.credentialToken=r.token,e.useSSL=!!r.ssl)}}(e);try{do{[t,o]=await T(e)}while(!await x(e,t,o))}catch(r){const s=U("request:server",r,e.parameters,t);throw s.details.ssl=e.useSSL,e.interceptor?.error?.(s),s}const a=e.parameters.url;if(o)if(/\/sharing\/rest\/(accounts|portals)\/self/i.test(a)){if(!e.hasToken&&!e.credentialToken&&o.user?.username&&!(0,u.FL)(a)){const e=(0,u.$z)(a,!0);e&&s.A.request.trustedServers.push(e)}Array.isArray(o.authorizedCrossOriginNoCorsDomains)&&function(e){s.A.request.crossOriginNoCorsDomains||(s.A.request.crossOriginNoCorsDomains={});const t=s.A.request.crossOriginNoCorsDomains;for(let r of e)r=r.toLowerCase(),/^https?:\/\//.test(r)?t[(0,u.$z)(r)??""]=0:(t[(0,u.$z)("http://"+r)??""]=0,t[(0,u.$z)("https://"+r)??""]=0)}(o.authorizedCrossOriginNoCorsDomains)}else"json"===(e.parameters.requestOptions.responseType||"json")&&y(a,o);const i=e.credential;if(i&&n.id){const e=n.id.findServerInfo(i.server);let t=e?.owningSystemUrl;if(t){t=t.replace(/\/?$/,"/sharing");const e=n.id.findCredential(t,i.userId);e&&-1===n.id._getIdenticalSvcIdx(t,e)&&e.resources.unshift(t)}}return{data:o,getAllHeaders:t?()=>Array.from(t.headers):P,getHeader:t?e=>t.headers.get(e):P,httpStatus:t?.status??200,requestOptions:e.parameters.requestOptions,ssl:e.useSSL,url:e.parameters.url}}async function T(e){let t=e.parameters.url,r=g(t);const o=e.parameters.requestOptions,i=e.fetchOptions??{},f=(0,u.w8)(t)||(0,u.DB)(t),h=o.responseType??"json",m="image"===h&&o.imageWithType,y=f?0:null!=o.timeout?o.timeout:s.A.request.timeout;let v=!1;if(!f){e.useSSL&&(t=(0,u.lM)(t));let l={...o.query};e.credentialToken&&(l.token=e.credentialToken);let d=(0,u.x0)(l);(0,a.A)("esri-url-encodes-apostrophe")&&(d=d.replaceAll("'","%27"));const p=r.length+1+d.length;let f;v="delete"===o.method||"post"===o.method||"put"===o.method||!!o.body||p>s.A.request.maxUrlLength;const h=o.useProxy||!!(0,u.zs)(t);if(h){const e=(0,u.s_)(t);f=e.path,!v&&f.length+1+p>s.A.request.maxUrlLength&&(v=!0),e.query&&(l={...e.query,...l})}if("HEAD"===i.method&&(v||h)){if(v){if(p>s.A.request.maxUrlLength)throw U("request:invalid-parameters",new Error("URL exceeds maximum length"),e.parameters);throw U("request:invalid-parameters",new Error("cannot use POST request when method is 'head'"),e.parameters)}if(h)throw U("request:invalid-parameters",new Error("cannot use proxy when method is 'head'"),e.parameters)}if(v?(i.method="delete"===o.method?"DELETE":"put"===o.method?"PUT":"POST",o.body?t=(0,u.a6)(t,l):(i.body=(0,u.x0)(l),i.headers||(i.headers={}),i.headers["Content-Type"]="application/x-www-form-urlencoded")):t=(0,u.a6)(t,l),h&&(e.useProxy=!0,t=`${f}?${t}`),l.token&&w&&i.body instanceof FormData&&!(0,c.$E)(t)&&i.body.set("token",l.token),o.hasOwnProperty("withCredentials"))e.withCredentials=o.withCredentials;else if(!(0,u.FX)(t,(0,u.Xq)()))if((0,u.FL)(t))e.withCredentials=!0;else if(n.id){const r=n.id.findServerInfo(t);r?.webTierAuth&&(e.withCredentials=!0)}e.withCredentials&&(i.credentials="include",function(e){const t=s.A.request.crossOriginNoCorsDomains;if(t){let r=(0,u.$z)(e);if(r)return r=r.toLowerCase(),!(0,u.FX)(r,(0,u.Xq)())&&t[r]<Date.now()-36e5}return!1}(t)&&await async function(e){const t=(0,u.An)(e);e=t.path,"json"===t.query?.f&&(e+="?f=json");try{await fetch(e,{mode:"no-cors",credentials:"include"})}catch{}const r=s.A.request.crossOriginNoCorsDomains,n=(0,u.$z)(e);r&&n&&(r[n.toLowerCase()]=Date.now())}(v?(0,u.a6)(t,l):t)),r=g(t)}let b,q,S=0,k=!1;y>0&&(S=setTimeout(()=>{k=!0,e.controller.abort()},y));try{if("native-request-init"===o.responseType)q=i,q.url=r,o.signal?q.signal=o.signal:delete q.signal;else if("image"!==o.responseType||"default"!==i.cache||i.keepalive||"GET"!==i.method||v||function(e){if(e)for(const t of Object.getOwnPropertyNames(e))if(e[t])return!0;return!1}(o.headers)||!f&&!e.useProxy&&s.A.request.proxyUrl&&!A(t)){if(await(d.i.beforeFetch?.(t,i)),b=await fetch(r,i),await(d.i.afterFetch?.(b)),e.useProxy||function(e){const t=(0,u.$z)(e);t&&!d.i.corsServers.includes(t)&&d.i.corsServers.push(t)}(t),"native"===o.responseType)q=b;else if("HEAD"!==i.method)if(b.ok){switch(h){case"array-buffer":q=await b.arrayBuffer();break;case"blob":q=await b.blob();break;case"image":q=await(m?b.arrayBuffer():b.blob());break;default:q=await b.text()}if(S&&(clearTimeout(S),S=0),"json"===h||"xml"===h||"document"===h)if(q)switch(h){case"json":q=JSON.parse(q);break;case"xml":q=L(q,"application/xml");break;case"document":q=L(q,"text/html")}else q=null;if(q){if(("array-buffer"===h||"blob"===h)&&q["blob"===h?"size":"byteLength"]<=750)try{const e=await new Response(q).json();e.error&&(q=e)}catch{}if(m&&q instanceof ArrayBuffer){const t=function(e){if(e.byteLength<2)return"unknown";const t=new Uint8Array(e,0,e.byteLength);return 137===t[0]&&80===t[1]?"image/png":71===t[0]&&73===t[1]?"image/gif":66===t[0]&&77===t[1]?"image/bmp":255===t[0]&&216===t[1]?"image/jpeg":"unknown"}(q);if("unknown"===t)return o.responseType="image",await T(e);q=await b.blob(),q=await C(URL.createObjectURL(q),e,!0),q=new p(q,t)}"image"===h&&q instanceof Blob&&(q=await C(URL.createObjectURL(q),e,!0))}}else{q=await b.text();try{q=JSON.parse(q)}catch{}}}else q=await C(r,e)}catch(r){if("AbortError"===r.name){if(k)throw new Error($);throw(0,l.NK)("Request canceled")}if(!(!b&&r instanceof TypeError&&s.A.request.proxyUrl)||o.body||"delete"===o.method||"head"===o.method||"post"===o.method||"put"===o.method||e.useProxy||A(t))throw r;e.redoRequest=!0,(0,u.oy)({proxyUrl:s.A.request.proxyUrl,urlPrefix:(0,u.$z)(t)??""})}finally{S&&clearTimeout(S)}return[b,q]}function C(e,t,r=!1){const n=t.controller.signal,o=new Image;return t.withCredentials?o.crossOrigin="use-credentials":o.crossOrigin="anonymous",o.alt="",o.fetchPriority=s.A.request.priority,o.src=e,(0,f.y)(o,e,r,n)}function A(e){const t=(0,u.$z)(e);return!t||t.endsWith(".arcgis.com")||d.i.corsServers.includes(t)||(0,u.FL)(t)}async function k(){n.id||await Promise.all([r.e(7632),r.e(6408),r.e(3129),r.e(9466),r.e(5482),r.e(148),r.e(8050)]).then(r.bind(r,50148))}function O(e){return q.some(t=>t.test(e))}function L(e,t){let r;try{r=(new DOMParser).parseFromString(e,t)}catch{}if(!r||r.getElementsByTagName("parsererror").length)throw new SyntaxError("XML Parse error");return r}async function x(e,t,r){if(e.redoRequest)return e.redoRequest=!1,!1;const s=e.parameters.requestOptions;if(!t||"native"===s.responseType||"native-request-init"===s.responseType)return!0;let o,a;if(r&&(r.error&&"object"==typeof r.error?o=r.error:"error"===r.status&&Array.isArray(r.messages)&&(o={...r},o[E]=r,o.details=r.messages)),!o&&!t.ok)throw o=new Error(`Unable to load ${t.url} status: ${t.status}`),o[E]=r,o;let i,l=null;o&&(a=Number(o.code),l=o.hasOwnProperty("subcode")?Number(o.subcode):null,i=o.messageCode,i=i?.toUpperCase());const u=s.authMode;if(403===a&&(4===l||o.message?.toLowerCase().includes("ssl")&&!o.message.toLowerCase().includes("permission"))){if(!e.useSSL)return e.useSSL=!0,!1}else if(!e.hasToken&&e.useIdentity&&("no-prompt"!==u||498===a)&&void 0!==a&&v.has(a)&&!O(e.parameters.url)&&(403!==a||(!i||!b.has(i))&&(null==l||2===l&&e.credentialToken))){await k();try{const t=await n.id.getCredential(e.parameters.url,{error:U("request:server",o,e.parameters),credential:e.credential,prompt:"no-prompt"!==u,signal:e.controller.signal,token:e.credentialToken});return e.credential=t,e.credentialToken=t.token,e.useSSL=e.useSSL||t.ssl,!1}catch(t){if("no-prompt"===u)return e.credential=void 0,e.credentialToken=void 0,!1;o=t}}if(o)throw o;return!0}function U(e,t,r,s){let n;const a={url:r.url,requestOptions:r.requestOptions,getAllHeaders:P,getHeader:P,ssl:!1};if(t instanceof o.A)return t.details?(t.details=(0,i.o8)(t.details),t.details.url=r.url,t.details.requestOptions=r.requestOptions):t.details=a,t;if(t){const e=s&&(()=>Array.from(s.headers)),r=s&&(e=>s.headers.get(e)),o=s?.status,i=t.message;i&&(n=i),e&&r&&(a.getAllHeaders=e,a.getHeader=r),a.httpStatus=(null!=t.httpCode?t.httpCode:t.code)||o||0,a.subCode=t.subcode,a.messageCode=t.messageCode,"string"==typeof t.details?(a.messages=[t.details],n??=t.details):(a.messages=t.details,n??=a.messages?.[0]),a.raw=E in t?t[E]:t}return n??="Error",(0,l.zf)(t)?(0,l.NK)():new o.A(e,n,a)}const E=Symbol(),P=()=>null,$="Timeout exceeded";function I(e){return"object"==typeof e&&!!e&&"message"in e&&e.message===$}}}]);
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2741],{2741(e,t,r){r.d(t,{s:()=>i});var s=r(92602),n=(r(11254),r(49186)),o=r(53966),a=r(84952);function i(e){if(!s.A.assetsPath)throw o.A.getLogger("esri.assets").errorOnce("The API assets location needs to be set using config.assetsPath. More information: https://arcg.is/1OzLe50"),new n.A("assets:path-not-set","config.assetsPath is not set");return(0,a.fj)(s.A.assetsPath,e)}},97159(e,t,r){r.d(t,{a:()=>y,b:()=>w,e:()=>h,f:()=>a,i:()=>p,p:()=>f,r:()=>l,t:()=>i,w:()=>u});var s=r(70333),n=r(84952),o=r(39131);function a(e,t){const r=t?.url?.path;if(e&&r&&(e=(0,n.s2)(e,r,{preserveProtocolRelative:!0}),t.portalItem&&t.readResourcePaths)){const r=(0,n.V1)(e,t.portalItem.itemUrl);null!=r&&r.startsWith(d)&&t.readResourcePaths.push(t.portalItem.resourceFromPath(r).path)}return(e=m(e,t?.portal))&&c.test(e)?y(e):e}function i(e,t,r=0){if(null==(e=e&&c.test(e)?g(e):e))return e;!(0,n.oP)(e)&&t?.blockedRelativeUrls&&t.blockedRelativeUrls.push(e);let s=(0,n.s2)(e);if(t){const r=t.verifyItemRelativeUrls?.rootPath||t.url?.path;if(r){const o=m(r,t.portal),a=m(s,t.portal);s=(0,n.V1)(a,o,o),null!=s&&s!==a&&s!==e&&t.verifyItemRelativeUrls&&t.verifyItemRelativeUrls.writtenUrls.push(s)}}return s=h(s,t?.portal),(0,n.oP)(s)&&(s=(0,n.S8)(s)),t?.resources&&t?.portalItem&&!(0,n.oP)(s)&&!(0,n.DB)(s)&&0===r&&t.resources.toKeep.push({resource:t.portalItem.resourceFromPath(s),compress:!1}),s}function l(e,t,r){return a(e,r)}function u(e,t,r,s){const n=i(e,s);void 0!==n&&(t[r]=n)}const c=/\/items\/([^/]+)\/resources\/(.*)/,d="./resources/";function p(e){const t=e?.match(c)??null;return t?.[1]??null}function f(e){const t=e?.match(c)??null;if(null==t)return null;const r=t[2],s=r.lastIndexOf("/");if(-1===s){const{path:e,extension:t}=(0,n.xw)(r);return{prefix:null,filename:e,extension:t}}const{path:o,extension:a}=(0,n.xw)(r.slice(s+1));return{prefix:r.slice(0,s),filename:o,extension:a}}function h(e,t){return t&&!t.isPortal&&t.urlKey&&t.customBaseUrl?(0,n.T1)(e,`${t.urlKey}.${t.customBaseUrl}`,t.portalHostname):e}function m(e,t){if(!t||t.isPortal||!t.urlKey||!t.customBaseUrl)return e;const r=`${t.urlKey}.${t.customBaseUrl}`,s=(0,n.Xq)();return(0,n.FX)(s,`${s.scheme}://${r}`)?(0,n.T1)(e,t.portalHostname,r):(0,n.T1)(e,r,t.portalHostname)}function y(e){if(!e)return e||null;let t=e;return t&&s.id&&!s.id.findCredential(t)&&(t=(0,o.qG)(t),t=t.replace(/^https?:\/\/www\.arcgis\.com/,"https://cdn.arcgis.com"),t=t.replace(/^https?:\/\/devext\.arcgis\.com/,"https://cdndev.arcgis.com"),t=t.replace(/^https?:\/\/qaext\.arcgis\.com/,"https://cdnqa.arcgis.com")),t}function g(e){if(!e)return e||null;let t=e;return t=t.replace(/^https?:\/\/cdn\.arcgis\.com/,"https://www.arcgis.com"),t=t.replace(/^https?:\/\/cdndev\.arcgis\.com/,"https://devext.arcgis.com"),t=t.replace(/^https?:\/\/cdnqa\.arcgis\.com/,"https://qaext.arcgis.com"),t&&s.id&&!s.id.findCredential(t)&&(t=(0,o.qG)(t)),t}const w=Object.freeze(Object.defineProperty({__proto__:null,ensureMainOnlineDomain:h,fromCDNUrl:g,fromJSON:a,itemIdFromResourceUrl:p,prefixAndFilenameFromResourceUrl:f,read:l,toCDNUrl:y,toJSON:i,write:u},Symbol.toStringTag,{value:"Module"}))},91869(e,t,r){function s(e,t){for(const r of e.values())if(t(r))return!0;return!1}function n(e,t,r){const s=e.get(t);if(void 0!==s)return s;const n=r();return e.set(t,n),n}function o(e){const t=new Map;return r=>(t.has(r)||t.set(r,e(r)),t.get(r))}r.d(t,{Bj:()=>o,Bs:()=>s,tE:()=>n})},60694(e,t,r){r.d(t,{Fi:()=>d,HZ:()=>b,Jf:()=>v,LS:()=>q,Wo:()=>g,bd:()=>S,cr:()=>h,iz:()=>f,qg:()=>p,uV:()=>w,yG:()=>m});var s=r(84952),n=r(39131),o=r(97159);const a={mapserver:"MapServer",imageserver:"ImageServer",featureserver:"FeatureServer",knowledgegraphserver:"KnowledgeGraphServer",sceneserver:"SceneServer",streamserver:"StreamServer",vectortileserver:"VectorTileServer","3dtilesserver":"3DTilesServer",videoserver:"VideoServer"},i=Object.values(a),l=new RegExp(`^(?<path>(?:https?:)?\\/\\/\\S+?\\/rest\\/services\\/(?<serviceTitle>.+?)\\/(?<serverType>${i.join("|")})(?:\\/exts\\/(?<soeTitle>.+?)\\/(?<soeServerType>${i.join("|")}))?)(?:\\/(?:layers))?(?:\\/(?<sublayer>\\d+))?`,"i"),u=new RegExp(`^(?<path>(?:https?:)?\\/\\/\\S+?\\/(?<serviceTitle>[^/\\n]+)\\/(?<serverType>${i.join("|")}))(?:\\/(?:layers))?(?:\\/(?<sublayer>\\d+))?`,"i"),c=/(.*?)\/(?:layers\/)?(\d+)\/?$/i;function d(e){return l.test(e)}function p(e){if(null==e)return null;const t=(0,s.An)(e),r=t?.path.match(l)||t?.path.match(u);if(!r)return null;const{path:n,serviceTitle:o,serverType:i,soeTitle:c,soeServerType:d,sublayer:p}=r.groups??{},f=c||o,m=f.indexOf("/");return{title:h(-1!==m?f.slice(m+1):f),serverType:a[(d||i).toLowerCase()],sublayer:null!=p&&""!==p?parseInt(p,10):null,url:{path:n}}}function f(e){const t=(0,s.An)(e).path.match(c);return t?{serviceUrl:t[1],sublayerId:Number(t[2])}:null}function h(e){return(e=e.replaceAll(/\s*[/_]+\s*/g," "))[0].toUpperCase()+e.slice(1)}function m(e,t){const r=[];if(e){const t=p(e);null!=t&&t.title&&r.push(t.title)}if(t){const e=h(t);r.push(e)}if(2===r.length){if(r[0].toLowerCase().includes(r[1].toLowerCase()))return r[0];if(r[1].toLowerCase().includes(r[0].toLowerCase()))return r[1]}return r.join(" - ")}const y=["services","features","tiles","elevation3d","basemaps3d"];function g(e){let t=(0,s.$z)(e,!0);return!!t&&(t=t.toLowerCase(),!!t.endsWith(".arcgis.com")&&(!!y.some(e=>t.startsWith(e))||/^[a-z\d-]+\.svcs[a-z\d-]*\./.test(t)))}function w(e){return(0,n.$E)(e)&&function(e){const t=(0,s.$z)(e);return!!t&&t.toLowerCase().endsWith(".arcgis.com")}(e)}function v(e,t){return e?(0,s.UC)((0,s.zi)(e,t)):e}function b(e){let{url:t}=e;if(!t)return{url:t};t=(0,s.zi)(t,e.logger);const r=(0,s.An)(t),n=p(r.path);let o;if(null!=n)null!=n.sublayer&&null==e.layer.layerId&&(o=n.sublayer),t=n.url.path;else if(e.nonStandardUrlAllowed){const e=f(r.path);null!=e&&(t=e.serviceUrl,o=e.sublayerId)}return{url:(0,s.UC)(t),layerId:o}}function q(e,t,r,n,a){(0,o.w)(t,n,"url",a),n.url&&null!=e.layerId&&(n.url=(0,s.fj)(n.url,r,e.layerId.toString()))}function S(e){if(!e)return!1;const t=e.toLowerCase(),r=t.includes("/services/"),s=t.includes("/mapserver/wmsserver"),n=t.includes("/imageserver/wmsserver"),o=t.includes("/wmsserver");return r&&(s||n||o)}},11254(e,t,r){r.d(t,{A:()=>g});var s=r(92602),n=r(49186),o=r(44208),a=r(17676),i=r(84952),l=r(56152),u=r(51699),c=r(91869),d=r(60694);async function p(e){const t=function(e){let t,r=!1;return"string"==typeof e?(t=(0,i.$z)(e,!0),r=(0,d.Wo)(e)):(t=e.origin,r=(0,d.Wo)(e.toString())),null==t?null:new y(t,r)}(e.parameters.url);if(!t)return null;const{QueueProcessor:s,SharedConcurrency:n}=await r.e(563).then(r.bind(r,563));return(0,c.tE)(f,t.origin,()=>{const e=(t.isHosted?(0,o.A)("request-queue-concurrency-hosted"):(0,o.A)("request-queue-concurrency-non-hosted"))??4;return h??=new n((0,o.A)("request-queue-concurrency-global")??50),new s({concurrency:e,sharedConcurrency:h,process:e=>{if((0,a.G4)(e.parameters.requestOptions))throw(0,u.YB)("",(0,a.NK)("Request canceled"),e.parameters);return(0,u.zc)(e)}})})}const f=new Map;let h,m;class y{constructor(e,t){this.origin=e,this.isHosted=t}}async function g(e,t){e instanceof URL&&(e=e.toString());const s=(0,i.DB)(e),n=(0,i.w8)(e);n||s||(e=(0,i.S8)(e));const c={url:e,requestOptions:{...t}};t?.query&&(c.requestOptions.query=t?.query instanceof URLSearchParams?(0,i.zf)(t.query.toString().replaceAll("+"," ")):t?.query);const d=e=>({data:e,getAllHeaders:v,getHeader:v,httpStatus:200,requestOptions:c.requestOptions,url:c.url}),f=(0,i.sC)(e,w.internalInterceptors);if(f){const e=await b(f,c);if(null!=e)return d(e)}let h=(0,i.sC)(e);if(h){const e=await b(h,c);if(null!=e)return d(e);h.after||h.error||(h=null)}if(e=c.url,"image"===(t=c.requestOptions).responseType&&((0,o.A)("host-webworker")||(0,o.A)("host-node")))throw(0,u.YB)("request:invalid-parameters",new Error("responseType 'image' is not supported in Web Workers or Node environment"),c);if("head"===t.method){if(t.body)throw(0,u.YB)("request:invalid-parameters",new Error("body parameter cannot be set when method is 'head'"),c);if(s||n)throw(0,u.YB)("request:invalid-parameters",new Error("data and blob URLs are not supported for method 'head'"),c)}if(await async function(){(0,o.A)("host-webworker")&&(!m&&globalThis.invokeStaticMessage?m=await r.e(369).then(r.bind(r,40369)):l.i.isForeignWorker=!0)}(),m)return m.execute(e,t);const y=new AbortController,g=(0,a.u7)(t,()=>y.abort()),q={controller:y,credential:void 0,credentialToken:void 0,fetchOptions:void 0,hasToken:!1,interceptor:h,parameters:c,redoRequest:!1,useIdentity:w.useIdentity,useProxy:!1,useSSL:!1,withCredentials:!1},S=t.useQueue?async function(e){const t=await p(e);return t?t.push(e):(0,u.zc)(e)}(q):(0,u.zc)(q),T=await S.finally(()=>g?.remove());return h?.after?.(T),T}const w=s.A.request,v=()=>null;async function b(e,t){if(null!=e.responseData)return e.responseData;if(e.headers&&(t.requestOptions.headers={...t.requestOptions.headers,...e.headers}),e.query&&(t.requestOptions.query={...t.requestOptions.query,...e.query}),e.before){let r,s;try{s=await e.before(t)}catch(e){r=(0,u.YB)("request:interceptor",e,t)}if((s instanceof Error||s instanceof n.A)&&(r=(0,u.YB)("request:interceptor",s,t)),r)throw e.error&&e.error(r),r;return s}}},56152(e,t,r){r.d(t,{i:()=>s});const s={corsServers:["https://server.arcgisonline.com","https://services.arcgisonline.com"],beforeFetch:void 0,afterFetch:void 0,isForeignWorker:!1}},95117(e,t,r){r.d(t,{y:()=>n});var s=r(17676);function n(e,t,r=!1,n){return new Promise((o,a)=>{if((0,s.G4)(n))return void a((0,s.NK)());let i=()=>{c(),a(new Error(`Unable to load ${t}`))},l=async()=>{const t=e;try{await t.decode()}catch{}c(),o(t)},u=()=>{if(!e)return;const t=e;c(),t.src="",a((0,s.NK)())};const c=()=>{e&&(e.removeEventListener("error",i),e.removeEventListener("load",l),i=null,l=null,e=null,n?.removeEventListener("abort",u),u=null,r&&URL.revokeObjectURL(t))};n?.addEventListener("abort",u),e.addEventListener("error",i),e.addEventListener("load",l)})}},51699(e,t,r){r.d(t,{YB:()=>U,c8:()=>I,zc:()=>S});var s=r(92602),n=r(70333),o=r(49186),a=r(44208),i=r(4718),l=r(17676),u=r(84952),c=r(39131),d=r(56152);class p{constructor(e,t){this.element=e,this.type="image+type",this.isOpaque="image/jpeg"===t}}var f=r(95117),h=r(60694);const m=new Map;function y(e,t){const r=t?.preferredHost;if(!r||(0,u.FX)(e,`https://${r}`,!0))return;const s=(0,h.qg)(e);if(!s||"FeatureServer"!==s.serverType||(0,c.$E)(e))return;const n=s.url.path.toLowerCase();m.has(n)||m.set(n,r)}function g(e){const t=(0,h.qg)(e)?.url.path.toLowerCase();if(!t)return e;const r=m.get(t);return r?(0,u.hf)(e,r):e}const w="FormData"in globalThis,v=new Set([499,498,403,401]),b=new Set(["COM_0056","COM_0057","SB_0008"]),q=[/\/arcgis\/tokens/i,/\/sharing(\/rest)?\/generatetoken/i,/\/rest\/info/i];async function S(e){let t,o;await async function(e){const t=e.parameters.url,o=e.parameters.requestOptions,a=e.controller.signal,i=o.body;let u=null,c=null;if(w&&"HTMLFormElement"in globalThis&&(i instanceof FormData?u=i:i instanceof HTMLFormElement&&(u=new FormData(i))),"string"==typeof i&&(c=i),e.fetchOptions={cache:o.cacheMode??(o.cacheBust?"no-cache":"default"),credentials:"same-origin",headers:o.headers||{},keepalive:o.keepAlive??!1,method:"head"===o.method?"HEAD":"GET",mode:"cors",priority:o.priority??s.A.request.priority,redirect:"follow",signal:a},(u||c)&&(e.fetchOptions.body=u||c),(d.i.isForeignWorker||"anonymous"===o.authMode)&&(e.useIdentity=!1),e.hasToken=!!(/token=/i.test(t)||o.query?.token||u?.get("token")),!e.hasToken){const{getApiKey:s,getSessionToken:n}=await r.e(926).then(r.bind(r,926)),a=await n(t)??s(t);a&&(o.query??={},o.query.token=a,e.hasToken=!0)}if(e.useIdentity&&!e.hasToken&&!e.credential&&!e.credentialToken&&!O(t)&&!(0,l.G4)(a)){let r;"immediate"===o.authMode?(await k(),r=await n.id.getCredential(t,{signal:a})):"no-prompt"===o.authMode?(await k(),r=await n.id.getCredential(t,{prompt:!1,signal:a}).catch(()=>{})):n.id&&(r=n.id.findCredential(t)),r&&(e.credential=r,e.credentialToken=r.token,e.useSSL=!!r.ssl)}}(e);try{do{[t,o]=await T(e)}while(!await x(e,t,o))}catch(r){const s=U("request:server",r,e.parameters,t);throw s.details.ssl=e.useSSL,e.interceptor?.error?.(s),s}const a=e.parameters.url;if(o)if(/\/sharing\/rest\/(accounts|portals)\/self/i.test(a)){if(!e.hasToken&&!e.credentialToken&&o.user?.username&&!(0,u.FL)(a)){const e=(0,u.$z)(a,!0);e&&s.A.request.trustedServers.push(e)}Array.isArray(o.authorizedCrossOriginNoCorsDomains)&&function(e){s.A.request.crossOriginNoCorsDomains||(s.A.request.crossOriginNoCorsDomains={});const t=s.A.request.crossOriginNoCorsDomains;for(let r of e)r=r.toLowerCase(),/^https?:\/\//.test(r)?t[(0,u.$z)(r)??""]=0:(t[(0,u.$z)("http://"+r)??""]=0,t[(0,u.$z)("https://"+r)??""]=0)}(o.authorizedCrossOriginNoCorsDomains)}else"json"===(e.parameters.requestOptions.responseType||"json")&&y(a,o);const i=e.credential;if(i&&n.id){const e=n.id.findServerInfo(i.server);let t=e?.owningSystemUrl;if(t){t=t.replace(/\/?$/,"/sharing");const e=n.id.findCredential(t,i.userId);e&&-1===n.id._getIdenticalSvcIdx(t,e)&&e.resources.unshift(t)}}return{data:o,getAllHeaders:t?()=>Array.from(t.headers):P,getHeader:t?e=>t.headers.get(e):P,httpStatus:t?.status??200,requestOptions:e.parameters.requestOptions,ssl:e.useSSL,url:e.parameters.url}}async function T(e){let t=e.parameters.url,r=g(t);const o=e.parameters.requestOptions,i=e.fetchOptions??{},f=(0,u.w8)(t)||(0,u.DB)(t),h=o.responseType??"json",m="image"===h&&o.imageWithType,y=f?0:null!=o.timeout?o.timeout:s.A.request.timeout;let v=!1;if(!f){e.useSSL&&(t=(0,u.lM)(t));let l={...o.query};e.credentialToken&&(l.token=e.credentialToken);let d=(0,u.x0)(l);(0,a.A)("esri-url-encodes-apostrophe")&&(d=d.replaceAll("'","%27"));const p=r.length+1+d.length;let f;v="delete"===o.method||"post"===o.method||"put"===o.method||!!o.body||p>s.A.request.maxUrlLength;const h=o.useProxy||!!(0,u.zs)(t);if(h){const e=(0,u.s_)(t);f=e.path,!v&&f.length+1+p>s.A.request.maxUrlLength&&(v=!0),e.query&&(l={...e.query,...l})}if("HEAD"===i.method&&(v||h)){if(v){if(p>s.A.request.maxUrlLength)throw U("request:invalid-parameters",new Error("URL exceeds maximum length"),e.parameters);throw U("request:invalid-parameters",new Error("cannot use POST request when method is 'head'"),e.parameters)}if(h)throw U("request:invalid-parameters",new Error("cannot use proxy when method is 'head'"),e.parameters)}if(v?(i.method="delete"===o.method?"DELETE":"put"===o.method?"PUT":"POST",o.body?t=(0,u.a6)(t,l):(i.body=(0,u.x0)(l),i.headers||(i.headers={}),i.headers["Content-Type"]="application/x-www-form-urlencoded")):t=(0,u.a6)(t,l),h&&(e.useProxy=!0,t=`${f}?${t}`),l.token&&w&&i.body instanceof FormData&&!(0,c.$E)(t)&&i.body.set("token",l.token),o.hasOwnProperty("withCredentials"))e.withCredentials=o.withCredentials;else if(!(0,u.FX)(t,(0,u.Xq)()))if((0,u.FL)(t))e.withCredentials=!0;else if(n.id){const r=n.id.findServerInfo(t);r?.webTierAuth&&(e.withCredentials=!0)}e.withCredentials&&(i.credentials="include",function(e){const t=s.A.request.crossOriginNoCorsDomains;if(t){let r=(0,u.$z)(e);if(r)return r=r.toLowerCase(),!(0,u.FX)(r,(0,u.Xq)())&&t[r]<Date.now()-36e5}return!1}(t)&&await async function(e){const t=(0,u.An)(e);e=t.path,"json"===t.query?.f&&(e+="?f=json");try{await fetch(e,{mode:"no-cors",credentials:"include"})}catch{}const r=s.A.request.crossOriginNoCorsDomains,n=(0,u.$z)(e);r&&n&&(r[n.toLowerCase()]=Date.now())}(v?(0,u.a6)(t,l):t)),r=g(t)}let b,q,S=0,k=!1;y>0&&(S=setTimeout(()=>{k=!0,e.controller.abort()},y));try{if("native-request-init"===o.responseType)q=i,q.url=r,o.signal?q.signal=o.signal:delete q.signal;else if("image"!==o.responseType||"default"!==i.cache||i.keepalive||"GET"!==i.method||v||function(e){if(e)for(const t of Object.getOwnPropertyNames(e))if(e[t])return!0;return!1}(o.headers)||!f&&!e.useProxy&&s.A.request.proxyUrl&&!A(t)){if(await(d.i.beforeFetch?.(t,i)),b=await fetch(r,i),await(d.i.afterFetch?.(b)),e.useProxy||function(e){const t=(0,u.$z)(e);t&&!d.i.corsServers.includes(t)&&d.i.corsServers.push(t)}(t),"native"===o.responseType)q=b;else if("HEAD"!==i.method)if(b.ok){switch(h){case"array-buffer":q=await b.arrayBuffer();break;case"blob":q=await b.blob();break;case"image":q=await(m?b.arrayBuffer():b.blob());break;default:q=await b.text()}if(S&&(clearTimeout(S),S=0),"json"===h||"xml"===h||"document"===h)if(q)switch(h){case"json":q=JSON.parse(q);break;case"xml":q=L(q,"application/xml");break;case"document":q=L(q,"text/html")}else q=null;if(q){if(("array-buffer"===h||"blob"===h)&&q["blob"===h?"size":"byteLength"]<=750)try{const e=await new Response(q).json();e.error&&(q=e)}catch{}if(m&&q instanceof ArrayBuffer){const t=function(e){if(e.byteLength<2)return"unknown";const t=new Uint8Array(e,0,e.byteLength);return 137===t[0]&&80===t[1]?"image/png":71===t[0]&&73===t[1]?"image/gif":66===t[0]&&77===t[1]?"image/bmp":255===t[0]&&216===t[1]?"image/jpeg":"unknown"}(q);if("unknown"===t)return o.responseType="image",await T(e);q=await b.blob(),q=await C(URL.createObjectURL(q),e,!0),q=new p(q,t)}"image"===h&&q instanceof Blob&&(q=await C(URL.createObjectURL(q),e,!0))}}else{q=await b.text();try{q=JSON.parse(q)}catch{}}}else q=await C(r,e)}catch(r){if("AbortError"===r.name){if(k)throw new Error($);throw(0,l.NK)("Request canceled")}if(!(!b&&r instanceof TypeError&&s.A.request.proxyUrl)||o.body||"delete"===o.method||"head"===o.method||"post"===o.method||"put"===o.method||e.useProxy||A(t))throw r;e.redoRequest=!0,(0,u.oy)({proxyUrl:s.A.request.proxyUrl,urlPrefix:(0,u.$z)(t)??""})}finally{S&&clearTimeout(S)}return[b,q]}function C(e,t,r=!1){const n=t.controller.signal,o=new Image;return t.withCredentials?o.crossOrigin="use-credentials":o.crossOrigin="anonymous",o.alt="",o.fetchPriority=s.A.request.priority,o.src=e,(0,f.y)(o,e,r,n)}function A(e){const t=(0,u.$z)(e);return!t||t.endsWith(".arcgis.com")||d.i.corsServers.includes(t)||(0,u.FL)(t)}async function k(){n.id||await Promise.all([r.e(7632),r.e(6408),r.e(9450),r.e(9466),r.e(5482),r.e(148),r.e(8050)]).then(r.bind(r,50148))}function O(e){return q.some(t=>t.test(e))}function L(e,t){let r;try{r=(new DOMParser).parseFromString(e,t)}catch{}if(!r||r.getElementsByTagName("parsererror").length)throw new SyntaxError("XML Parse error");return r}async function x(e,t,r){if(e.redoRequest)return e.redoRequest=!1,!1;const s=e.parameters.requestOptions;if(!t||"native"===s.responseType||"native-request-init"===s.responseType)return!0;let o,a;if(r&&(r.error&&"object"==typeof r.error?o=r.error:"error"===r.status&&Array.isArray(r.messages)&&(o={...r},o[E]=r,o.details=r.messages)),!o&&!t.ok)throw o=new Error(`Unable to load ${t.url} status: ${t.status}`),o[E]=r,o;let i,l=null;o&&(a=Number(o.code),l=o.hasOwnProperty("subcode")?Number(o.subcode):null,i=o.messageCode,i=i?.toUpperCase());const u=s.authMode;if(403===a&&(4===l||o.message?.toLowerCase().includes("ssl")&&!o.message.toLowerCase().includes("permission"))){if(!e.useSSL)return e.useSSL=!0,!1}else if(!e.hasToken&&e.useIdentity&&("no-prompt"!==u||498===a)&&void 0!==a&&v.has(a)&&!O(e.parameters.url)&&(403!==a||(!i||!b.has(i))&&(null==l||2===l&&e.credentialToken))){await k();try{const t=await n.id.getCredential(e.parameters.url,{error:U("request:server",o,e.parameters),credential:e.credential,prompt:"no-prompt"!==u,signal:e.controller.signal,token:e.credentialToken});return e.credential=t,e.credentialToken=t.token,e.useSSL=e.useSSL||t.ssl,!1}catch(t){if("no-prompt"===u)return e.credential=void 0,e.credentialToken=void 0,!1;o=t}}if(o)throw o;return!0}function U(e,t,r,s){let n;const a={url:r.url,requestOptions:r.requestOptions,getAllHeaders:P,getHeader:P,ssl:!1};if(t instanceof o.A)return t.details?(t.details=(0,i.o8)(t.details),t.details.url=r.url,t.details.requestOptions=r.requestOptions):t.details=a,t;if(t){const e=s&&(()=>Array.from(s.headers)),r=s&&(e=>s.headers.get(e)),o=s?.status,i=t.message;i&&(n=i),e&&r&&(a.getAllHeaders=e,a.getHeader=r),a.httpStatus=(null!=t.httpCode?t.httpCode:t.code)||o||0,a.subCode=t.subcode,a.messageCode=t.messageCode,"string"==typeof t.details?(a.messages=[t.details],n??=t.details):(a.messages=t.details,n??=a.messages?.[0]),a.raw=E in t?t[E]:t}return n??="Error",(0,l.zf)(t)?(0,l.NK)():new o.A(e,n,a)}const E=Symbol(),P=()=>null,$="Timeout exceeded";function I(e){return"object"==typeof e&&!!e&&"message"in e&&e.message===$}}}]);
|