@arcgis/core 5.0.0-next.38 → 5.0.0-next.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/Color.js +1 -1
  2. package/analysis/DimensionSimpleStyle.js +1 -1
  3. package/analysis/ElevationProfileAnalysis.js +1 -1
  4. package/assets/esri/core/workers/RemoteClient.js +1 -1
  5. package/assets/esri/core/workers/chunks/02a65563779b4c64b2cf.js +1 -0
  6. package/assets/esri/core/workers/chunks/{328106e181e5957ceaa5.js → 09ac2bbc7327e6e6b5a2.js} +1 -1
  7. package/assets/esri/core/workers/chunks/1a9ed3c59a9a8bafb251.js +1 -0
  8. package/assets/esri/core/workers/chunks/{b96af22ec1470905e4fb.js → 1c857191e5898aba50fe.js} +1 -1
  9. package/assets/esri/core/workers/chunks/{3904f8732c9953cb177d.js → 28b235b56a83c498d73f.js} +1 -1
  10. package/assets/esri/core/workers/chunks/36d15c35fbbd4dedd5cb.js +1 -0
  11. package/assets/esri/core/workers/chunks/48f805929fe6241952f5.js +1 -0
  12. package/assets/esri/core/workers/chunks/4c278fb2d51ca6226050.js +1 -0
  13. package/assets/esri/core/workers/chunks/6052eccb9395c8efb295.js +1 -0
  14. package/assets/esri/core/workers/chunks/{50ffb22c48fadd36c748.js → 613cbac9cb925cd20b48.js} +1 -1
  15. package/assets/esri/core/workers/chunks/{febce0d80f019dc2a427.js → 646f58b69d2354f1ef27.js} +1 -1
  16. package/assets/esri/core/workers/chunks/7eab0bb42f9f062522ef.js +1 -0
  17. package/assets/esri/core/workers/chunks/{5e34a183420e7007a989.js → 8e8d5422f57269d8c8d2.js} +1 -1
  18. package/assets/esri/core/workers/chunks/9100330ed4b4437c819d.js +1 -0
  19. package/assets/esri/core/workers/chunks/95cb062cae4c31c07124.js +1 -0
  20. package/assets/esri/core/workers/chunks/{7ab237d19b84d89ff483.js → 96f798ee286b59396131.js} +50 -50
  21. package/assets/esri/core/workers/chunks/{e9bc3c6482ba778c9349.js → 9d95f38da21f97214f83.js} +1 -1
  22. package/assets/esri/core/workers/chunks/ad4fcb73cfe9a1e4b710.js +1 -0
  23. package/assets/esri/core/workers/chunks/{a8a017d7969562d21d2e.js → b48aceaeefa07214e430.js} +1 -1
  24. package/assets/esri/core/workers/chunks/c1a4d1ec0125617374b4.js +1 -0
  25. package/assets/esri/core/workers/chunks/{d2a6f035022a3f060ffa.js → c320a29df40e85fb4a8e.js} +1 -1
  26. package/assets/esri/core/workers/chunks/{27ec791318e81285c222.js → dca6a61fd239cf1ff90c.js} +1 -1
  27. package/assets/esri/core/workers/chunks/{2f9129003f77bfeab2f9.js → e66bcdfd75e0113d1cec.js} +1 -1
  28. package/assets/esri/core/workers/chunks/f1381c5a2a1de1ef9139.js +1 -0
  29. package/assets/esri/core/workers/chunks/f21cb5b34d4d1e3af1a9.js +1 -0
  30. package/chunks/ChapmanAtmosphere.glsl.js +20 -20
  31. package/chunks/HUDMaterial.glsl.js +38 -38
  32. package/chunks/Haze.glsl.js +23 -23
  33. package/config.js +1 -1
  34. package/core/Collection.js +1 -1
  35. package/core/CollectionFlattener.js +1 -1
  36. package/core/arrayUtils.js +1 -1
  37. package/interfaces.d.ts +50 -0
  38. package/kernel.js +1 -1
  39. package/layers/ImageryTileLayer.js +1 -1
  40. package/layers/RouteLayer.js +1 -1
  41. package/layers/support/FeatureReductionCluster.js +1 -1
  42. package/layers/support/LabelClass.js +1 -1
  43. package/package.json +3 -3
  44. package/renderers/FlowRenderer.js +1 -1
  45. package/renderers/HeatmapRenderer.js +1 -1
  46. package/renderers/PieChartRenderer.js +1 -1
  47. package/rest/route/utils.js +1 -1
  48. package/rest/support/PointBarrier.js +1 -1
  49. package/rest/support/Stop.js +1 -1
  50. package/support/revision.js +1 -1
  51. package/symbols/Font.js +1 -1
  52. package/symbols/IconSymbol3DLayer.js +1 -1
  53. package/symbols/LineSymbol.js +1 -1
  54. package/symbols/LineSymbol3DLayer.js +1 -1
  55. package/symbols/MarkerSymbol.js +1 -1
  56. package/symbols/PictureFillSymbol.js +1 -1
  57. package/symbols/PictureMarkerSymbol.js +1 -1
  58. package/symbols/TextSymbol.js +1 -1
  59. package/symbols/TextSymbol3DLayer.js +1 -1
  60. package/symbols/callouts/LineCallout3D.js +1 -1
  61. package/symbols/edges/Edges3D.js +1 -1
  62. package/symbols/support/Symbol3DIconOutline.js +1 -1
  63. package/symbols/support/Symbol3DOutline.js +1 -1
  64. package/symbols/support/Symbol3DVerticalOffset.js +1 -1
  65. package/views/2d/layers/RouteLayerView2D.js +1 -1
  66. package/views/2d/layers/support/RouteLayerInteraction.js +1 -1
  67. package/views/2d/layers/support/util.js +1 -1
  68. package/views/3d/camera/intersectionUtils.js +1 -1
  69. package/views/3d/environment/ChapmanApproximation.glsl.js +8 -8
  70. package/views/3d/environment/ChapmanAtmosphere.glsl.js +1 -1
  71. package/views/3d/environment/ChapmanRaymarching.glsl.js +16 -15
  72. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  73. package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
  74. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  75. package/views/3d/layers/graphics/Graphics3DLineCalloutSymbolLayer.js +1 -1
  76. package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
  77. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  78. package/views/3d/state/NearFarHeuristic.js +1 -1
  79. package/views/3d/terrain/OverlayRenderer.js +1 -1
  80. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +12 -12
  81. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  82. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBuffer.js +1 -1
  83. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBufferLayout.js +1 -1
  84. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBufferUtils.js +5 -0
  85. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBuffer.js +5 -0
  86. package/views/3d/webgl-engine/shaders/TerrainTechnique.js +1 -1
  87. package/views/View.js +1 -1
  88. package/views/analysis/ElevationProfile/ElevationProfileTool.js +1 -1
  89. package/views/draw/support/Reshape.js +1 -1
  90. package/views/layers/GroupLayerView.js +1 -1
  91. package/views/support/Scheduler.js +1 -1
  92. package/widgets/OrientedImageryViewer/components/ImageOverlays.js +1 -1
  93. package/widgets/ScaleRangeSlider.js +1 -1
  94. package/widgets/Slider.js +1 -1
  95. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
  96. package/assets/esri/core/workers/chunks/1d877c3c96c40eab906c.js +0 -1
  97. package/assets/esri/core/workers/chunks/22f745539ca54d8cd30d.js +0 -1
  98. package/assets/esri/core/workers/chunks/42f3e83826b3a3dedaaa.js +0 -1
  99. package/assets/esri/core/workers/chunks/44471962c30344dfafdf.js +0 -1
  100. package/assets/esri/core/workers/chunks/8ca83a9af9d24b192128.js +0 -1
  101. package/assets/esri/core/workers/chunks/9527f1a611557a7af237.js +0 -1
  102. package/assets/esri/core/workers/chunks/ad3a4d139613b4c0e0b4.js +0 -1
  103. package/assets/esri/core/workers/chunks/c1c77a00f639eaee9c0d.js +0 -1
  104. package/assets/esri/core/workers/chunks/c8d2cce4a426c72ab173.js +0 -1
  105. package/assets/esri/core/workers/chunks/e3be67c762af672ec602.js +0 -1
  106. package/assets/esri/core/workers/chunks/eefad79be500667af96e.js +0 -1
  107. package/assets/esri/core/workers/chunks/f8caceeaa14d99c35526.js +0 -1
  108. package/assets/esri/core/workers/chunks/f919f0db9f9ec0c649b9.js +0 -1
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[9718],{5359:(e,t,i)=>{i.d(t,{H:()=>s,Z:()=>r});const s=Symbol("isImageryTileGraphicOrigin");function r(e){return!!e&&s in e}},18768:(e,t,i)=>{i.d(t,{b:()=>o});var s=i(31635),r=i(53966),a=i(91429),n=i(60694);const o=e=>{const t=e;let i=class extends t{get title(){if(this._get("title")&&"defaults"!==this.originOf("title"))return this._get("title");if(this.url){const e=(0,n.qg)(this.url);if(e?.title)return e.title}return this._get("title")||""}set title(e){this._set("title",e)}set url(e){this._set("url",(0,n.Jf)(e,r.A.getLogger(this)))}};return(0,s.Cg)([(0,a.MZ)()],i.prototype,"title",null),(0,s.Cg)([(0,a.MZ)({type:String})],i.prototype,"url",null),i=(0,s.Cg)([(0,a.$K)("esri.layers.mixins.ArcGISService")],i),i}},19718:(e,t,i)=>{i.r(t),i.d(t,{default:()=>Xe});var s,r=i(31635),a=i(37838),n=i(69540),o=i(49186),l=i(53966),c=i(25728),u=i(74887),f=i(36708),h=i(91429),p=i(56507),d=i(89808),m=i(99959),g=i(5359);class y extends m.A{get[(s=g.H,d.Q)](){return this.layer}constructor(e){super(),this[s]=!0,this.type="imagery-tile",this.layer=e}get id(){return this.layer.id}}var w=i(4146),v=i(18768),x=i(63074),b=i(69208),I=i(89015),C=i(16131),S=i(8303),A=i(63660),T=i(56551),R=i(54310),O=i(25036),M=i(82935),_=i(10873),F=i(20437),P=i(74797),k=i(22796),D=i(76353),N=i(84169),L=i(4916),E=i(68197),B=i(5443),z=i(16930),J=i(73444),U=i(14140),$=i(16019);function j(e){return["x","e","east","long","longitude"].includes(e.toLowerCase())}function q(e){return["y","n","west","lat","latitude"].includes(e.toLowerCase())}function Z(e){const{axes:t}=e.domain,i=Object.keys(t),s=[],r=[];let a=-1,n=-1,o=[];for(let e=0;e<i.length;e++){const l=i[e];j(l)?a=e:q(l)&&(n=e);const c=t[l],u=[];if("values"in c){c.values.forEach(e=>u.push("string"==typeof e?new Date(e).getTime():e));const e=u[1]-u[0];s.push([u[0]-.5*e,u[u.length-1]+.5*e]),r.push(e)}else{const{start:e,stop:t,num:i}=c,a=(t-e)/(i-1);s.push([e-.5*a,t+.5*a]),r.push(a);for(let t=0;t<i;t++)u.push(e+a*t)}o.push({name:l,values:u,extent:[u[0],u[u.length-1]]})}a>-1&&-1===n?n=0===a?1:0:n>-1&&-1===a?a=0===n?1:0:-1===n&&-1===a&&(a=0,n=1),o=o.filter((e,t)=>!(t===a||t===n));const{referencing:l}=e.domain,c=l.find(e=>e.coordinates.includes(i[a])).system.id,u=c?.slice(c.lastIndexOf("/")+1),f=null==u||"CRS84"===u?4326:Number(u),h=new z.A({wkid:f}),[p,d]=s[a],[m,g]=s[n],y=new B.A({xmin:p,xmax:d,ymin:m,ymax:g,spatialReference:h});return{width:Math.round(y.width/r[a]),height:Math.round(y.height/r[n]),extent:y,dimensions:o}}function H(e){const t=(0,J.lR)();return t?e[t]??Object.values(e)[0]:Object.values(e)[0]}function V(){return Math.round(255*Math.random())}function G(e){const t={},{parameters:i}=e;if(!i)return t;for(const[e,s]of Object.entries(i)){const{type:i,description:r,unit:a,categoryEncoding:n,observedProperty:o}=s;if("Parameter"===i&&(t[e]={},r&&(t[e].description=H(r)),a&&(t[e].unit=a.label?H(a.label):null,t[e].symbol=a.symbol?.value),n)){const i=Object.entries(n).map((e,t)=>({OID:t,Value:Number(e[1]),ClassName:e[0].slice(e[0].lastIndexOf("/")+1),Count:1}));let s=!1;o?.categories?.length&&(o.categories.forEach(e=>{if(!e.id)return;const t=e.id.slice(e.id.lastIndexOf("/")+1),r=i.find(e=>e.ClassName===t);if(!r)return;const a=e.label?H(e.label):null;if(r.Label=a,e.preferredColor){const t=E.A.fromHex(e.preferredColor);t&&(s=!0,r.Red=t.r,r.Green=t.g,r.Blue=t.b)}}),s&&i.forEach(e=>{null==e.Red&&(e.Red=V(),e.Green=V(),e.Blue=V())}));const r={objectIdFieldName:"",fields:[{name:"OID",type:"esriFieldTypeOID",alias:"OID",domain:null},{name:"Value",type:"esriFieldTypeInteger",alias:"Value",domain:null},{name:"Count",type:"esriFieldTypeDouble",alias:"Count",domain:null},{name:"ClassName",type:"esriFieldTypeString",alias:"ClassName",domain:null,length:50},{name:"Label",type:"esriFieldTypeString",alias:"Label",domain:null,length:50}],features:i.map(e=>({attributes:e}))};s&&r.fields.push({name:"Red",type:"esriFieldTypeInteger",alias:"Red",domain:null},{name:"Green",type:"esriFieldTypeInteger",alias:"Green",domain:null},{name:"Blue",type:"esriFieldTypeInteger",alias:"Blue",domain:null}),t[e].attributeTable=r}}return t}function W(e){let t=Number.MAX_VALUE,i=-Number.MAX_VALUE;for(let s=0;s<e.length;s++){const r=e[s];null!=r&&(r<t&&(t=r),r>i&&(i=r))}return(0,$.X1)(t,i)}function X(e,t,i){const s=e.map((e,i)=>({name:e,count:t[i]})).sort((e,t)=>e.name>t.name?-1:1),r=(a=1,e=>a*=e.count);var a;const n=[...s.slice(1),{name:"",count:1}].reverse().map(r).reverse();let o=0;for(let r=e.length-1;r>=0;r--)o+=n[s.findIndex(({name:t})=>t===e[r])]*(i%t[r]),i=Math.floor(i/t[r]);return o}var K=i(45617),Y=i(87186),Q=i(77301),ee=i(28435),te=i(6952);let ie=class extends L.A{constructor(){super(...arguments),this.datasetFormat="MEMORY",this.source=null}get url(){return""}fetchRawTile(e,t,i,s={}){if(!this._pixelBlockTiles){const{rasterInfo:r}=this,[a,n]=r.storageInfo.tileInfo.size,{sliceId:o}=s,{pixelBlocks:l}=this.source,c={pixelBlock:null==o?l[0]:l[o],useBilinear:"thematic"!==r.dataType,tileSize:{width:a,height:n},level:e,row:t,col:i},u=this.rasterJobHandler?this.rasterJobHandler.clipTile(c,s):(0,ee.J$)(c);return Promise.resolve(u)}const r=this._pixelBlockTiles.get(`${e}/${t}/${i}`);return Promise.resolve(r)}async _open(e){const t=this.source,{pixelBlocks:i,attributeTable:s,statistics:r,histograms:a,name:n,nativeExtent:o,transform:l,colormap:c}=t,u=i[0],{width:f,height:h,pixelType:p}=u,d=t.extent??new B.A({xmin:-.5,ymin:.5,xmax:f-.5,ymax:h-.5,spatialReference:new z.A({wkid:3857})}),m=t.isPseudoSpatialReference??!t.extent,g={x:d.width/f,y:d.height/h},y={...t.keyProperties};t.dataType&&(y.DataType=t.dataType),t.bandInfos&&(y.BandProperties=t.bandInfos.map(e=>e.toJSON())),s&&(y.DataType="Thematic");const w=new Y.A({width:f,height:h,pixelType:p,extent:d,nativeExtent:o,attributeTable:s,colormap:c,transform:l,pixelSize:g,spatialReference:d.spatialReference,bandCount:u.pixels.length,keyProperties:y,multidimensionalInfo:t.multidimensionalInfo,statistics:r,isPseudoSpatialReference:m,histograms:a});this.ioConfig.skipMapInfo&&this.updateImageSpaceRasterInfo(w),this.createRemoteDatasetStorageInfo(w,512,512),this._set("rasterInfo",w),this.updateTileInfo(),w.multidimensionalInfo?await this._buildMDimStats(t.pixelBlocks,w.multidimensionalInfo):await this._buildInMemoryRaster(u,{width:512,height:512},e),w.multidimensionalInfo||(this.source=null),this.datasetName=n}async _buildInMemoryRaster(e,t,i){const{rasterInfo:s}=this,r=s.storageInfo.maximumPyramidLevel??0,a="thematic"!==s.dataType,n=this.rasterJobHandler?this.rasterJobHandler.split({pixelBlock:e,tileSize:t,maximumPyramidLevel:r,useBilinear:a},i):Promise.resolve((0,ee.lD)(e,t,r,a)),l=null!=s.statistics,c=null!=s.histograms,f=this.ioConfig.skipStatistics||l?Promise.resolve({statistics:null,histograms:null}):this.rasterJobHandler?this.rasterJobHandler.estimateStatisticsHistograms({pixelBlock:e},i):Promise.resolve((0,te.f4)(e)),h=await(0,u.Lx)([n,f]);if(!h[0].value&&h[1].value)throw new o.A("inmemory-raster:open","failed to build in memory raster");this._pixelBlockTiles=h[0].value,l||(s.statistics=h[1].value?.statistics),c||(s.histograms=h[1].value?.histograms)}async _buildMDimStats(e,t,i){for(let s=0;s<t.variables.length;s++){const r=t.variables[s];if(r.statistics)continue;const a=r.dimensions.map(e=>new K.A({variableName:r.name,dimensionName:e.name,values:[e.values?.[0]??e.extent?.[0]],isSlice:!0})),n=(0,Q.NG)(a,t),o=null==n?null:e[n];if(null==o)continue;const l=this.rasterJobHandler?await this.rasterJobHandler.computeStatisticsHistograms({pixelBlock:o},i):(0,te.eH)(o);r.statistics=l.statistics,r.histograms||(r.histograms=l.histograms)}}};(0,r.Cg)([(0,h.MZ)({type:String,json:{write:!0}})],ie.prototype,"datasetFormat",void 0),(0,r.Cg)([(0,h.MZ)()],ie.prototype,"source",void 0),(0,r.Cg)([(0,h.MZ)()],ie.prototype,"url",null),ie=(0,r.Cg)([(0,h.$K)("esri.layers.support.rasterDatasets.InMemoryRaster")],ie);const se=ie;var re=i(22671);let ae=class extends L.A{constructor(){super(...arguments),this.datasetFormat="CovJSON"}fetchRawTile(e,t,i,s={}){return this._inMemoryRaster.fetchRawTile(e,t,i,s)}async _open(e){const{extent:t,pixelBlocks:i,multidimensionalInfo:s,attributeTable:r,bandNames:a}=await this._fetchData(e),{statistics:n,histograms:o}=(0,te.eH)(i[0]),l=a?.map(e=>({BandName:e})),c={DataType:r?"Thematic":s?"Scientific":"Generic",BandProperties:l},u=new se({source:{extent:t,pixelBlocks:i,attributeTable:r?re.A.fromJSON(r):null,multidimensionalInfo:s,statistics:n,histograms:o,keyProperties:c,isPseudoSpatialReference:!1}});await u.open(),this._inMemoryRaster=u;const f=this.source?"":this.url.slice(this.url.lastIndexOf("/")+1);this._set("datasetName",f.slice(0,f.indexOf("."))),this._set("rasterInfo",u.rasterInfo)}async _fetchData(e){const t=this.source??(await this.request(this.url,{signal:e?.signal})).data,i="imagery-tile-layer:open-coverage-json";if("coverage"!==t.type?.toLowerCase()||"grid"!==t.domain?.domainType?.toLowerCase())throw new o.A(i,"Only coverage with Grid domain type is supported");if(!t.ranges)throw new o.A(i,"Missing ranges in the grid coverage data");if(!t.domain.referencing?.length)throw new o.A(i,"Missing domain referencing in the grid coverage data");const s=Object.values(t.ranges);for(let e=0;e<s.length;e++){const{axisNames:t,shape:r,type:a,values:n}=s[e];if(!("ndarray"===a.toLowerCase()&&n?.length&&t?.length&&r?.length))throw new o.A(i,"Only ranges with valid NdArray, axisNames, shape, and inline values are supported");if(!j(t[t.length-1])||!q(t[t.length-2]))throw new o.A(i,"Only row-major ordered pixel values are supported. X axis must be the last axis.")}return function(e){const{width:t,height:i,extent:s,dimensions:r}=Z(e),{ranges:a}=e,n=Object.keys(a).sort((e,t)=>e<t?-1:1),o=[];for(let e=0;e<n.length;e++){const t=n[e];r?.length&&o.push({name:t,dimensions:r})}const l=G(e);o.forEach(e=>l[e.name]&&Object.assign(e,l[e.name]));const c=o.length?{variables:o}:void 0,u=[];for(let e=0;e<n.length;e++){const s=n[e],{values:o,dataType:l,axisNames:c,shape:f}=a[s],h=f.length>2?e*f.slice(0,-2).reduce((e,t)=>e*t):0,p=c.slice(0,-2),d=f.slice(0,-2),m="float"===l?"f32":W(o),g=t*i,y=o.length/g;for(let s=0;s<y;s++){const a=U.A.createEmptyBand(m,g),n=new Uint8Array(g).fill(255);let l=!1;const c=s*g;for(let e=0;e<g;e++){const t=o[c+e];null==t?(n[e]=0,l=!0):a[e]=t}if(0===e||r?.length){const e=new U.A({width:t,height:i,mask:l?n:null,pixels:[a],pixelType:m});e.updateStatistics(),r?.length?u[X(p,d,s)+h]=e:u.push(e)}else{const e=u[s];e.pixels.push(a),l?e.mask&&(e.mask=U.A.combineBandMasks([e.mask,n])):e.mask=l?n:null}}}const f=Object.values(l).find(e=>e.attributeTable)?.attributeTable;return{extent:s,pixelBlocks:u,multidimensionalInfo:c,attributeTable:f,bandNames:c?void 0:n}}(t)}};(0,r.Cg)([(0,h.MZ)({type:String,json:{write:!0}})],ae.prototype,"datasetFormat",void 0),(0,r.Cg)([(0,h.MZ)({constructOnly:!0})],ae.prototype,"source",void 0),ae=(0,r.Cg)([(0,h.$K)("esri.layers.support.rasterDatasets.CovJSONRaster")],ae);const ne=ae;var oe=i(44208),le=i(4576),ce=i(21325),ue=i(50103),fe=i(21312);function he(e,t){if(!e||!t)return null;const i=[];for(let s=0;s<e.length;s++)i.push(e[s]),i.push(t[s]);return i}function pe(e){if(!e)return null;let t=Number(e);if(!isNaN(t)&&0!==t)return new z.A({wkid:t});if(e=String(e).trim(),(0,ce.jp)(e))return new z.A({wkt2:e});const i=e.toUpperCase();if(i.startsWith("COMPD_CS")){if(!i.includes("VERTCS")||!i.includes("GEOGCS")&&!i.startsWith("PROJCS"))return null;const s=i.indexOf("VERTCS"),r=i.indexOf("PROJCS"),a=r>-1?r:i.indexOf("GEOGCS");if(-1===a)return null;const n=e.slice(a,e.lastIndexOf("]",s)+1).trim(),o=e.slice(s,e.lastIndexOf("]")).trim();t=de(n);const l=new z.A(t?{wkid:t}:{wkt:n}),c=de(o);return c&&(l.vcsWkid=c),l}return i.startsWith("GEOGCS")||i.startsWith("PROJCS")?(t=de(e),new z.A(0!==t?{wkid:t}:{wkt:e})):null}function de(e){const t=e.replaceAll("]","[").replaceAll('"',"").split("[").map(e=>e.trim()).filter(e=>""!==e),i=t[t.length-1].split(","),s=i[0]?.toLowerCase();if(("epsg"===s||"esri"===s)&&e.endsWith('"]]')){const e=Number(i[1]);if(!isNaN(e)&&0!==e)return e}return 0}function me(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,ue.g7)(e,"SRS")){if(!t.spatialReference){const i=(0,ue.mX)(e);t.spatialReference=pe(i)}}else if((0,ue.g7)(e,"Metadata"))if("xml:ESRI"===e.getAttribute("domain")){const{spatialReference:i,transform:s}=function(e){const t=(0,ue.V6)(e,"GeodataXform"),i=pe((0,ue.v7)(t,"SpatialReference/WKID")||(0,ue.mX)(t,"SpatialReference/WKT"));if("typens:PolynomialXform"!==t.getAttribute("xsi:type"))return{spatialReference:i,transform:null};const s=(0,ue.v7)(t,"PolynomialOrder")??1,r=(0,ue.Ui)(t,"CoeffX/Double"),a=(0,ue.Ui)(t,"CoeffY/Double"),n=(0,ue.Ui)(t,"InverseCoeffX/Double"),o=(0,ue.Ui)(t,"InverseCoeffY/Double"),l=he(r,a),c=he(n,o);return{spatialReference:i,transform:l&&c&&l.length&&c.length?new fe.A({spatialReference:i,polynomialOrder:s,forwardCoefficients:l,inverseCoefficients:c}):null}}(e);t.transform=s,t.spatialReference||(t.spatialReference=i)}else(0,ue.IC)(e,"MDI").forEach(e=>t.metadata[e.getAttribute("key")]=(0,ue.mX)(e));else if((0,ue.g7)(e,"PAMRasterBand")){const i=function(e){const t=(0,ue.v7)(e,"NoDataValue"),i=(0,ue.V6)(e,"Histograms/HistItem"),s=(0,ue.v7)(i,"HistMin"),r=(0,ue.v7)(i,"HistMax"),a=(0,ue.v7)(i,"BucketCount"),n=(0,ue.mX)(i,"HistCounts")?.split("|").map(e=>Number(e));let o,l,c,u;(0,ue.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":c=t;break;case"STATISTICS_STDDEV":u=t}});const f=(0,ue.v7)(e,"Metadata/SourceBandIndex");return{noDataValue:t,histogram:n?.length&&null!=s&&null!=r?{min:s,max:r,size:a||n.length,counts:n}:null,sourceBandIndex:f,statistics:null!=o&&null!=l?{min:o,max:l,avg:c,stddev:u}:null}}(e);null!=i.sourceBandIndex&&null==t.rasterBands[i.sourceBandIndex]?t.rasterBands[i.sourceBandIndex]=i:t.rasterBands.push(i)}});const i=t.rasterBands;if(i.length){const e=!!i[0].statistics;t.statistics=e?i.map(e=>e.statistics).filter(le.Ru):null;const s=!!i[0].histogram;t.histograms=s?i.map(e=>e.histogram).filter(le.Ru):null}return t}var ge=i(77649);let ye=class extends L.A{fetchRawTile(e,t,i,s={}){return this._inMemoryRaster.fetchRawTile(e,t,i,s)}async _open(e){const t=await this._fetchData(e);let{spatialReference:i,statistics:s,histograms:r,transform:a}=await this._fetchAuxiliaryData(e);const n=!i;n&&(i=new z.A({wkid:3857})),r?.length&&null==s&&(s=(0,te.Pg)(r));const{width:o,height:l}=t;let c=new B.A({xmin:-.5,ymin:.5-l,xmax:o-.5,ymax:.5,spatialReference:i});const u=a?a.forwardTransform(c):c;let f=!0;if(a){const e=a.forwardCoefficients;f=e&&0===e[1]&&0===e[2],f&&(a=null,c=u)}const h=new se({source:{extent:u,nativeExtent:c,transform:a,pixelBlocks:[t],statistics:s,histograms:r,keyProperties:{DateType:"Processed"},isPseudoSpatialReference:n},ioConfig:{sampling:"closest",skipStatistics:!0}});this.ioConfig.skipMapInfo&&(h.ioConfig.skipMapInfo=!0),await h.open(),h.source=null,this._set("rasterInfo",h.rasterInfo),this._inMemoryRaster=h}async _fetchData(e){const{data:t}=await this.request(this.url,{responseType:"array-buffer",signal:e?.signal}),i=(0,ge.g)(t).toUpperCase();if("JPG"!==i&&"PNG"!==i&&"GIF"!==i&&"BMP"!==i)throw new o.A("image-aux-raster:open","the data is not a supported format");this._set("datasetFormat",i);const s=i.toLowerCase(),r="gif"===s||"bmp"===s||!(0,oe.A)("ios"),a=await this.decodePixelBlock(t,{format:s,useCanvas:r,hasNoZlibMask:!0});if(null==a)throw new o.A("image-aux-raster:open","the data cannot be decoded");return a}async _fetchAuxiliaryData(e){const t=e?.signal,{skipExtensions:i=[],skipMapInfo:s}=this.ioConfig,r=s||i.includes("aux.xml")?null:this.request(this.url+".aux.xml",{responseType:"xml",signal:t}),a=this.datasetFormat,n="JPG"===a?"jgw":"PNG"===a?"pgw":"BMP"===a?"bpw":null,o=n&&i.includes(n)?null:this.request(this.url.slice(0,this.url.lastIndexOf("."))+"."+n,{responseType:"text",signal:t}),l=await(0,u.Lx)([r,o]);if(t?.aborted)throw(0,u.NK)();const c=me(l[0].value?.data);if(!c.transform){const e=l[1].value?l[1].value.data.split("\n").slice(0,6).map(e=>Number(e)):null;c.transform=6===e?.length?new fe.A({forwardCoefficients:[e[4],e[5],e[0],-e[1],e[2],-e[3]]}):null}return c}};(0,r.Cg)([(0,h.MZ)({type:String,json:{write:!0}})],ye.prototype,"datasetFormat",void 0),ye=(0,r.Cg)([(0,h.$K)("esri.layers.support.rasterDatasets.ImageAuxRaster")],ye);const we=ye;var ve=i(97768),xe=i(84952),be=i(86738),Ie=i(20223),Ce=i(87045),Se=i(25943),Ae=i(73037),Te=i(82371);let Re=class extends L.A{constructor(){super(...arguments),this._levelOffset=0,this._tilemapCache=null,this._slices=null,this.datasetFormat="RasterTileServer",this.tileType=null}async fetchRawTile(e,t,i,s={}){const{storageInfo:r,extent:a}=this.rasterInfo,{transposeInfo:n}=r,o=null!=n&&!!s.transposedVariableName;if(this._slices&&!o&&null==s.sliceId)return null;const l=o?0:r.maximumPyramidLevel-e+this._levelOffset,c=`${this.url}/tile/${l}/${t}/${i}`,u=this._slices?o?{variable:s.transposedVariableName}:{sliceId:s.sliceId||0}:null;let f,h;if(r.isBsqTile){const e=(s.bandIds?.length?s.bandIds:[0,1,2]).map(e=>this.request(c,{query:{...u,bandId:e},responseType:"array-buffer",signal:s.signal})),t=await Promise.all(e),i=t.map(e=>e.data.byteLength).reduce((e,t)=>e+t),r=new Uint8Array(i);h=[];let a=0;for(const{data:e}of t)h.push(a),r.set(new Uint8Array(e),a),a+=e.byteLength;f=r.buffer}else f=(await this.request(c,{query:u,responseType:"array-buffer",signal:s.signal})).data;if(!f)return null;const p=o?n.tileSize:r.tileInfo.size,d=await this.decodePixelBlock(f,{width:p[0],height:p[1],planes:h?.length,offsets:h,pixelType:null,isPoint:"Elevation"===this.tileType,returnInterleaved:o,noDataValue:this.rasterInfo.noDataValue});if(null==d)return null;const m=r.blockBoundary[e];if("jpg"!==r.compression||i>m.minCol&&i<m.maxCol&&t>m.minRow&&t<m.maxRow)return d;const{origin:g,blockWidth:y,blockHeight:w}=r,{x:v,y:x}=this.getPyramidPixelSize(e),b=Math.round((a.xmin-g.x)/v)%y,I=Math.round((a.xmax-g.x)/v)%y||y,C=Math.round((g.y-a.ymax)/x)%w,S=Math.round((g.y-a.ymin)/x)%w||w,A=i===m.minCol?b:0,T=t===m.minRow?C:0,R=i===m.maxCol?I:y,O=t===m.maxRow?S:w;return(0,ee.z$)(d,{x:A,y:T},{width:R-A,height:O-T}),d}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 i=this._slices[e].multidimensionalDefinition;if(i.length===t.length&&!i.some(e=>{const i=t.find(t=>e.variableName===t.variableName&&t.dimensionName===e.dimensionName);return!i||(Array.isArray(e.values[0])?`${e.values[0][0]}-${e.values[0][1]}`:e.values[0])!==(Array.isArray(i.values[0])?`${i.values[0][0]}-${i.values[0][1]}`:i.values[0])}))return e}return null}async fetchVariableStatisticsHistograms(e,t){const i=this.request(this.url+"/statistics",{query:{variable:e,f:"json"},signal:t}).then(e=>e.data?.statistics),s=this.request(this.url+"/histograms",{query:{variable:e,f:"json"},signal:t}).then(e=>e.data?.histograms),r=await Promise.all([i,s]);return r[0]&&r[0].forEach(e=>{e.avg=e.mean,e.stddev=e.standardDeviation}),r[1]?.[0]?.counts?.length||(r[1]=null),{statistics:r[0]||null,histograms:r[1]||null}}async computeBestPyramidLevelForLocation(e,t={}){if(!this._tilemapCache)return 0;let i=this.identifyPixelLocation(e,0,t.datumTransformation);if(null===i)return null;let s=0;const{maximumPyramidLevel:r}=this.rasterInfo.storageInfo;let a=r-s+this._levelOffset;const n=i.srcLocation;for(;a>=0;){try{if("available"===await this._tilemapCache.fetchAvailability(a,i.row,i.col,t))break}catch{}if(a--,s++,i=this.identifyPixelLocation(n,s,t.datumTransformation),null===i)return null}return-1===a||null==i?null:s}async _open(e){const t=e?.signal,i=this.sourceJSON?{data:this.sourceJSON}:await this.request(this.url,{query:{f:"json"},signal:t});i.ssl&&(this.url=this.url.replace(/^http:/i,"https:"));const s=i.data;if(this.sourceJSON=s,!s)throw new o.A("imageserverraster:open","cannot initialize tiled image service, missing service info");if(!s.tileInfo)throw new o.A("imageserverraster:open","use ImageryLayer to open non-tiled image services");this._fixScaleInServiceInfo(),this.tileType=s.cacheType,null==this.tileType&&(["jpg","jpeg","png","png8","png24","png32","mixed"].includes(s.tileInfo.format.toLowerCase())?this.tileType="Map":"lerc"===s.tileInfo.format.toLowerCase()?this.tileType="Elevation":this.tileType="Raster"),this.datasetName=s.name?.slice(s.name.indexOf("/")+1)??"";const r=await this._fetchRasterInfo({signal:t});if(null==r)throw new o.A("image-server-raster:open","cannot initialize image service");(0,Te.E9)(r,s);const a="Map"===this.tileType?function(e,t){if(!e)return null;const{minScale:i,maxScale:s,minLOD:r,maxLOD:a}=t;if(null!=r&&null!=a)return Ce.A.fromJSON({...e,lods:e.lods.filter(({level:e})=>null!=e&&e>=r&&e<=a)});if(0!==i&&0!==s){const t=e=>Math.round(1e4*e)/1e4,r=i?t(i):1/0,a=s?t(s):-1/0;return Ce.A.fromJSON({...e,lods:e.lods.filter(e=>{const i=t(e.scale);return i<=r&&i>=a})})}return Ce.A.fromJSON(e)}(s.tileInfo,s):Ce.A.fromJSON(s.tileInfo);(0,ve.Lw)(a);const[n,l]=this._computeMinMaxLOD(r,a),{extent:c,pixelSize:u}=r,f=.5/r.width*u.x,h=Math.max(u.x,u.y),{lods:p}=a;("Map"!==this.tileType&&0!==s.maxScale||Math.abs(u.x-u.y)>f||!p.some(e=>Math.abs(e.resolution-h)<f))&&(u.x=u.y=n.resolution,r.width=Math.ceil((c.xmax-c.xmin)/u.x-.1),r.height=Math.ceil((c.ymax-c.ymin)/u.y-.1));const d=n.level-l.level,[m,g]=a.size,y=[],w=[];p.forEach((e,t)=>{e.level>=l.level&&e.level<=n.level&&y.push({x:e.resolution,y:e.resolution}),t<p.length-1&&w.push(Math.round(10*e.resolution/p[t+1].resolution)/10)}),y.sort((e,t)=>e.x-t.x);const v=this.computeBlockBoundary(c,m,g,a.origin,y,d),x=y.length>1?y.slice(1):null;let b;s.transposeInfo&&(b={tileSize:[s.transposeInfo.rows,s.transposeInfo.cols],packetSize:r.keyProperties?._yxs.PacketSize??0});const I=w.length<=1||w.length>=3&&w.slice(0,-1).every(e=>e===w[0])?w[0]??2:Math.round(10/(l.resolution/n.resolution)**(-1/d))/10;if(r.storageInfo=new Ie.A({blockWidth:a.size[0],blockHeight:a.size[1],pyramidBlockWidth:a.size[0],pyramidBlockHeight:a.size[1],pyramidResolutions:x,pyramidScalingFactor:I,compression:a.format,origin:a.origin,firstPyramidLevel:1,maximumPyramidLevel:d,tileInfo:a,isBsqTile:!!s.bsq,transposeInfo:b,blockBoundary:v}),function(e){const{extent:t,spatialReference:i}=e;t.xmin>-1&&t.xmax>181&&i?.wkid&&i.isGeographic&&(e.nativeExtent=e.extent,e.transform=new Ae.A,e.extent=e.transform.forwardTransform(t))}(r),this._set("rasterInfo",r),s.capabilities.toLowerCase().includes("tilemap")){const e={tileInfo:r.storageInfo.tileInfo,parsedUrl:(0,xe.An)(this.url),url:this.url,tileServers:[]};this._tilemapCache=new Se.d({layer:e})}}async _fetchRasterInfo(e){const t=this.sourceJSON;if("Map"===this.tileType){const e=t.fullExtent||t.extent,i=Math.ceil((e.xmax-e.xmin)/t.pixelSizeX-.1),s=Math.ceil((e.ymax-e.ymin)/t.pixelSizeY-.1),r=z.A.fromJSON(t.spatialReference||e.spatialReference),a=new be.A({x:t.pixelSizeX,y:t.pixelSizeY,spatialReference:r});return new Y.A({width:i,height:s,bandCount:3,extent:B.A.fromJSON(e),spatialReference:r,pixelSize:a,pixelType:"u8",statistics:null,keyProperties:{DataType:"processed"}})}const{signal:i}=e,s=(0,Te.Tw)(this.url,this.sourceJSON,{signal:i,query:this.ioConfig.customFetchParameters}),r=t.hasMultidimensions?this.request(`${this.url}/slices`,{query:{f:"json"},signal:i}).then(e=>e.data?.slices).catch(()=>null):null,a=await Promise.all([s,r]);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:i}=e,s=.5/e.width*i.x,{lods:r}=t,a=t.lodAt(Math.max.apply(null,r.map(e=>e.level))),n=t.lodAt(Math.min.apply(null,r.map(e=>e.level))),{tileType:o}=this;if("Map"===o)return this._levelOffset=r[0].level,[a,n];if("Raster"===o)return[r.find(e=>e.resolution===i.x)??a,n];const{minScale:l,maxScale:c}=this.sourceJSON;let u=a;c>0&&(u=r.find(e=>Math.abs(e.scale-c)<s),u||(u=r.filter(e=>e.scale>c).sort((e,t)=>e.scale>t.scale?1:-1)[0]??a));let f=n;return l>0&&(f=r.find(e=>Math.abs(e.scale-l)<s)??n,this._levelOffset=f.level-n.level),[u,f]}};(0,r.Cg)([(0,h.MZ)({type:String,json:{write:!0}})],Re.prototype,"datasetFormat",void 0),(0,r.Cg)([(0,h.MZ)()],Re.prototype,"tileType",void 0),Re=(0,r.Cg)([(0,h.$K)("esri.layers.support.rasterDatasets.ImageServerRaster")],Re);const Oe=Re;var Me=i(47124);const _e=new Map;_e.set("Int8","s8"),_e.set("UInt8","u8"),_e.set("Int16","s16"),_e.set("UInt16","u16"),_e.set("Int32","s32"),_e.set("UInt32","u32"),_e.set("Float32","f32"),_e.set("Float64","f32"),_e.set("Double64","f32");const Fe=new Map;Fe.set("none",{blobExtension:".til",isOneSegment:!0,decoderFormat:"bip"}),Fe.set("lerc",{blobExtension:".lrc",isOneSegment:!1,decoderFormat:"lerc"}),Fe.set("deflate",{blobExtension:".pzp",isOneSegment:!0,decoderFormat:"deflate"}),Fe.set("jpeg",{blobExtension:".pjg",isOneSegment:!0,decoderFormat:"jpg"}),Fe.set("qb3",{blobExtension:".pq3",isOneSegment:!0,decoderFormat:"qb3"});let Pe=class extends L.A{constructor(){super(...arguments),this._files=null,this._storageIndex=null,this.datasetFormat="MRF"}async fetchRawTile(e,t,i,s={}){const{blockWidth:r,blockHeight:a,blockBoundary:n}=this.rasterInfo.storageInfo,o=n[e];if(!o||o.maxRow<t||o.maxCol<i||o.minRow>t||o.minCol>i)return null;const{bandCount:l,pixelType:c}=this.rasterInfo,{ranges:u,actualTileWidth:f,actualTileHeight:h}=this._getTileLocation(e,t,i);if(!u||0===u.length)return null;if(0===u[0].from&&0===u[0].to){const e=new Uint8Array(r*a);return new U.A({width:r,height:a,pixels:void 0,mask:e,validPixelCount:0})}const{bandIds:p}=this.ioConfig,d=this._getBandSegmentCount(),m=[];let g=0;for(g=0;g<d;g++)p&&!p.includes(g)||m.push(this.request(this._files.data,{range:{from:u[g].from,to:u[g].to},responseType:"array-buffer",signal:s.signal}));const y=await Promise.all(m),w=y.map(e=>e.data.byteLength).reduce((e,t)=>e+t),v=new Uint8Array(w),x=[];let b=0;for(g=0;g<d;g++)x.push(b),v.set(new Uint8Array(y[g].data),b),b+=y[g].data.byteLength;const I=Fe.get(this.rasterInfo.storageInfo.compression).decoderFormat,C=await this.decodePixelBlock(v.buffer,{width:r,height:a,format:I,planes:p?.length||l,offsets:x,pixelType:c}).catch(()=>null);if(null==C)return null;let{noDataValue:S}=this.rasterInfo;if(null!=S&&"lerc"!==I&&!C.mask&&(S=S[0],null!=S)){const e=C.width*C.height,t=new Uint8Array(e);if(Math.abs(S)>1e24)for(g=0;g<e;g++)Math.abs((C.pixels[0][g]-S)/S)>1e-6&&(t[g]=1);else for(g=0;g<e;g++)C.pixels[0][g]!==S&&(t[g]=1);C.mask=t}let A=0,T=0;if(f!==r||h!==a){let e=C.mask;if(e)for(g=0;g<a;g++)if(T=g*r,g<h)for(A=f;A<r;A++)e[T+A]=0;else for(A=0;A<r;A++)e[T+A]=0;else for(e=new Uint8Array(r*a),C.mask=e,g=0;g<h;g++)for(T=g*r,A=0;A<f;A++)e[T+A]=1}return C}async _open(e){this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1);const t=e?e.signal:null,i=await this.request(this.url,{responseType:"xml",signal:t}),{rasterInfo:s,files:r}=this._parseHeader(i.data),{skipMapInfo:a,skipExtensions:n=[]}=this.ioConfig;if(!n.includes("aux.xml")&&!a){const t=await this._fetchAuxiliaryData(e);null!=t&&(s.statistics=t.statistics??s.statistics,s.histograms=t.histograms,t.histograms&&null==s.statistics&&(s.statistics=(0,te.Pg)(t.histograms)))}a&&this.updateImageSpaceRasterInfo(s),this._set("rasterInfo",s),this._files=r;const o=await this.request(r.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,i,s,r,a,n;if(Me.Z){for(i=new Uint8Array(e),r=new ArrayBuffer(e.byteLength),s=new Uint8Array(r),a=0;a<e.byteLength/4;a++)for(n=0;n<4;n++)s[4*a+n]=i[4*a+3-n];t=new Uint32Array(r)}else t=new Uint32Array(e);return t}(o.data);const{blockWidth:l,blockHeight:c}=this.rasterInfo.storageInfo,u=this.rasterInfo.storageInfo.pyramidScalingFactor,{width:f,height:h}=this.rasterInfo,p=[],d=this._getBandSegmentCount();let m=0,g=-1;for(;m<this._storageIndex.length;){g++;const e=Math.ceil(f/l/u**g)-1,t=Math.ceil(h/c/u**g)-1;m+=(e+1)*(t+1)*d*4,p.push({maxRow:t,maxCol:e,minCol:0,minRow:0})}this.rasterInfo.storageInfo.blockBoundary=p,g>0&&(this.rasterInfo.storageInfo.firstPyramidLevel=1,this.rasterInfo.storageInfo.maximumPyramidLevel=g),this.updateTileInfo()}_getBandSegmentCount(){return Fe.get(this.rasterInfo.storageInfo.compression).isOneSegment?1:this.rasterInfo.bandCount}_getTileLocation(e,t,i){const{blockWidth:s,blockHeight:r,pyramidScalingFactor:a}=this.rasterInfo.storageInfo,{width:n,height:o}=this.rasterInfo,l=this._getBandSegmentCount();let c,u,f,h=0,p=0;for(f=0;f<e;f++)p=a**f,c=Math.ceil(n/s/p),u=Math.ceil(o/r/p),h+=c*u;p=a**e,c=Math.ceil(n/s/p),u=Math.ceil(o/r/p),h+=t*c+i,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:i<c-1?s:Math.ceil(n/p)-s*(c-1),actualTileHeight:t<u-1?r:Math.ceil(o/p)-r*(u-1)}}_parseHeader(e){const t=(0,ue.V6)(e,"MRF_META/Raster");if(!t)throw new o.A("mrf:open","not a valid MRF format");const i=(0,ue.V6)(t,"Size"),s=parseInt(i.getAttribute("x"),10),r=parseInt(i.getAttribute("y"),10),a=parseInt(i.getAttribute("c"),10),n=((0,ue.mX)(t,"Compression")||"none").toLowerCase();if(!Fe.has(n))throw new o.A("mrf:open","currently does not support compression "+n);const l=(0,ue.mX)(t,"DataType")||"UInt8",c=_e.get(l);if(null==c)throw new o.A("mrf:open","currently does not support pixel type "+l);const u=(0,ue.V6)(t,"PageSize"),f=parseInt(u.getAttribute("x"),10),h=parseInt(u.getAttribute("y"),10),p=(0,ue.V6)(t,"DataValues");let d,m;if(p&&(m=p.getAttribute("NoData"),null!=m&&(d=m.trim().split(" ").map(e=>parseFloat(e)))),(0,ue.V6)(e,"MRF_META/CachedSource"))throw new o.A("mrf:open","currently does not support MRF referencing other data files");const g=(0,ue.V6)(e,"MRF_META/GeoTags"),y=(0,ue.V6)(g,"BoundingBox");let w,v=!1;if(null!=y){const e=parseFloat(y.getAttribute("minx")),t=parseFloat(y.getAttribute("miny")),i=parseFloat(y.getAttribute("maxx")),s=parseFloat(y.getAttribute("maxy")),r=(0,ue.mX)(g,"Projection")||"";let a=z.A.WGS84;if("LOCAL_CS[]"!==r)if(r.toLowerCase().startsWith("epsg:")){const e=Number(r.slice(5));isNaN(e)||0===e||(a=new z.A({wkid:e}))}else a=pe(r)??z.A.WGS84;else v=!0,a=new z.A({wkid:3857});w=new B.A(e,t,i,s),w.spatialReference=a}else v=!0,w=new B.A({xmin:-.5,ymin:.5-r,xmax:s-.5,ymax:.5,spatialReference:new z.A({wkid:3857})});const x=(0,ue.V6)(e,"MRF_META/Rsets"),b=parseInt(x?.getAttribute("scale")||"2",10),I=w.spatialReference,C=new Ie.A({origin:new be.A({x:w.xmin,y:w.ymax,spatialReference:I}),blockWidth:f,blockHeight:h,pyramidBlockWidth:f,pyramidBlockHeight:h,compression:n,pyramidScalingFactor:b}),S=new be.A({x:w.width/s,y:w.height/r,spatialReference:I}),A=new Y.A({width:s,height:r,extent:w,isPseudoSpatialReference:v,spatialReference:I,bandCount:a,pixelType:c,pixelSize:S,noDataValue:d,storageInfo:C}),T=(0,ue.mX)(e,"datafile"),R=(0,ue.mX)(e,"IndexFile");return{rasterInfo:A,files:{mrf:this.url,index:R||this.url.replace(".mrf",".idx"),data:T||this.url.replace(".mrf",Fe.get(n).blobExtension)}}}async _fetchAuxiliaryData(e){try{const{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:e?.signal});return me(t)}catch{return null}}};(0,r.Cg)([(0,h.MZ)()],Pe.prototype,"_files",void 0),(0,r.Cg)([(0,h.MZ)()],Pe.prototype,"_storageIndex",void 0),(0,r.Cg)([(0,h.MZ)({type:String,json:{write:!0}})],Pe.prototype,"datasetFormat",void 0),Pe=(0,r.Cg)([(0,h.$K)("esri.layers.support.rasterDatasets.MRFRaster")],Pe);const ke=Pe;var De=i(15265);function Ne(e){const t=e.fields,i=e.records,s=t.some(e=>"oid"===e.name.toLowerCase())?"OBJECTID":"OID",r=[{name:s,type:"esriFieldTypeOID",alias:"OID"}].concat(t.map(e=>({name:e.name,type:"esriFieldType"+e.typeName,alias:e.name}))),a=r.map(e=>e.name),n=[];let o=0,l=0;return i.forEach(e=>{const t={};for(t[s]=o++,l=1;l<a.length;l++)t[a[l]]=e[l-1];n.push({attributes:t})}),{displayFieldName:"",fields:r,features:n}}class Le{static get supportedVersions(){return[5]}static parse(e){const t=new DataView(e),i=3&t.getUint8(0);if(3!==i)return{header:{version:i},recordSet:null};const s=t.getUint32(4,!0),r=t.getUint16(8,!0),a=t.getUint16(10,!0),n={version:i,recordCount:s,headerByteCount:r,recordByteCount:a};let o=32;const l=[],c=[];let u;if(3===i){for(;13!==t.getUint8(o);)u=String.fromCharCode(t.getUint8(o+11)).trim(),l.push({name:(0,De.w)(new Uint8Array(e,o,11)),type:u,typeName:["String","Date","Double","Boolean","String","Integer"][["C","D","F","L","M","N"].indexOf(u)],length:t.getUint8(o+16)}),o+=32;if(o+=1,l.length>0)for(;c.length<s&&e.byteLength-o>a;){const i=[];32===t.getUint8(o)?(o+=1,l.forEach(t=>{if("C"===t.type)i.push((0,De.w)(new Uint8Array(e,o,t.length)).trim());else if("N"===t.type)i.push(parseInt(String.fromCharCode.apply(null,new Uint8Array(e,o,t.length)).trim(),10));else if("F"===t.type)i.push(parseFloat(String.fromCharCode.apply(null,new Uint8Array(e,o,t.length)).trim()));else if("D"===t.type){const s=String.fromCharCode.apply(null,new Uint8Array(e,o,t.length)).trim();i.push(new Date(parseInt(s.slice(0,4),10),parseInt(s.slice(4,6),10)-1,parseInt(s.slice(6,8),10)))}o+=t.length}),c.push(i)):o+=a}}return{header:n,fields:l,records:c,recordSet:Ne({fields:l,records:c})}}}var Ee=i(45664),Be=i(12196);const ze=(e,t)=>e.get(t)?.values,Je=(e,t)=>e.get(t)?.values?.[0];let Ue=class extends L.A{constructor(){super(...arguments),this._files=null,this._headerInfo=null,this._bufferSize=1048576,this._chunkSize=10485760,this.datasetFormat="TIFF"}async fetchRawTile(e,t,i,s={}){if(!this._headerInfo?.isSupported||this.isBlockOutside(e,t,i))return null;const r=await this._fetchRawTiffTile(e,t,i,!1,s);if(null!=r&&this._headerInfo.hasMaskBand){const a=await this._fetchRawTiffTile(e,t,i,!0,s);null!=a&&a.pixels[0]instanceof Uint8Array&&(r.mask=a.pixels[0])}return r}async _open(e){const t=e?e.signal:null,{data:i}=await this.request(this.url,{range:{from:0,to:this._bufferSize},responseType:"array-buffer",signal:t});if(!i)throw new o.A("tiffraster:open","failed to open url "+this.url);this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1,this.url.lastIndexOf("."));const{littleEndian:s,firstIFDPos:r,isBigTiff:a}=(0,Ee.uT)(i),n=[],c={fileChunk:i,posIFD:r,fileOffset:0};await this._readIFDs(n,c,s,a?8:4,t);const{imageInfo:u,rasterInfo:f}=function(e){const t=(0,Ee.uc)(e),{width:i,height:s,tileWidth:r,tileHeight:a,planes:n,pixelType:o,compression:l,firstPyramidLevel:c,maximumPyramidLevel:u,pyramidBlockWidth:f,pyramidBlockHeight:h,pyramidResolutions:p,tileBoundary:d,affine:m,metadata:g}=t;let y=pe(t.extent.spatialReference?.wkt||t.extent.spatialReference?.wkid),w=!!t.isPseudoGeographic;null==y&&(w=!0,y=new z.A({wkid:3857}));const v=new B.A({...t.extent,spatialReference:y}),x=new be.A(v?{x:v.xmin,y:v.ymax,spatialReference:y}:{x:0,y:0}),b=new Ie.A({blockWidth:r,blockHeight:a,pyramidBlockWidth:f,pyramidBlockHeight:h,compression:l,origin:x,firstPyramidLevel:c,maximumPyramidLevel:u,pyramidResolutions:p,blockBoundary:d}),I=new be.A({x:(v.xmax-v.xmin)/i,y:(v.ymax-v.ymin)/s,spatialReference:y}),C=g?{BandProperties:g.bandProperties,DataType:g.dataType}:{};let S=null;const A=Je(e[0],"PHOTOMETRICINTERPRETATION"),T=ze(e[0],"COLORMAP");if(A<=3&&T?.length>3&&T.length%3==0){S=[];const e=T.length/3;for(let t=0;t<e;t++)S.push([t,T[t]>>>8,T[t+e]>>>8,T[t+2*e]>>>8])}const R=new Y.A({width:i,height:s,bandCount:n,pixelType:o,pixelSize:I,storageInfo:b,spatialReference:y,isPseudoSpatialReference:w,keyProperties:C,extent:v,colormap:S,statistics:g?g.statistics:null});if(m?.length&&(R.nativeExtent=new B.A({xmin:-.5,ymin:.5-s,xmax:i-.5,ymax:.5,spatialReference:y}),R.transform=new fe.A({polynomialOrder:1,forwardCoefficients:[m[2]+m[0]/2,m[5]-m[3]/2,m[0],m[3],-m[1],-m[4]]}),R.extent=R.transform.forwardTransform(R.nativeExtent),R.pixelSize=new be.A({x:(v.xmax-v.xmin)/i,y:(v.ymax-v.ymin)/s,spatialReference:y}),b.origin.x=-.5,b.origin.y=.5),p){const{x:e,y:t}=R.pixelSize;p.forEach(i=>{i.x*=e,i.y*=t})}return{imageInfo:t,rasterInfo:R}}(n),h=(0,Ee.zS)(n),p=(0,Ee.r9)(n);if(this._headerInfo={littleEndian:s,isBigTiff:a,ifds:n,pyramidIFDs:h,maskIFDs:p,...u},this._set("rasterInfo",f),!u.isSupported)throw new o.A("tiffraster:open","this tiff is not supported: "+u.message);if(!u.tileWidth)throw new o.A("tiffraster:open","none-tiled tiff is not optimized for access, convert to COG and retry.");f.isPseudoSpatialReference&&l.A.getLogger(this).warn("The spatial reference for this tiff is unsupported. Only EPSG spatial reference codes and Esri WKTs are supported.");const d=n[0].get("PREDICTOR")?.values?.[0],m=n[0].get("SAMPLEFORMAT")?.values?.[0];if(3===m&&2===d)throw new o.A("tiffraster:open","unsupported horizontal difference encoding. Predictor=3 is supported for floating point data");const{skipMapInfo:g,skipExtensions:y=[]}=this.ioConfig;if(!y.includes("aux.xml")&&!g){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,te.Pg)(e.histograms)),e.transform&&null==t.transform){t.transform=e.transform,t.nativeExtent=t.extent;const i=t.transform.forwardTransform(t.nativeExtent);t.pixelSize=new be.A({x:(i.xmax-i.xmin)/t.width,y:(i.ymax-i.ymin)/t.height,spatialReference:t.spatialReference}),t.extent=i}t.isPseudoSpatialReference&&e.spatialReference&&(t.spatialReference=e.spatialReference,t.extent.spatialReference=t.nativeExtent.spatialReference=t.storageInfo.origin.spatialReference=t.spatialReference)}(t,f)}y.includes("vat.dbf")||1!==f.bandCount||"u8"!==f.pixelType||g||(f.attributeTable=await this._fetchAuxiliaryTable(e),null!=f.attributeTable&&(f.keyProperties.DataType="thematic")),g&&this.updateImageSpaceRasterInfo(f),this.updateTileInfo()}async _validateOrFetchHeaderBuffer(e,t){let{fileChunk:i,fileOffset:s,posIFD:r}=e;return(r+8>=i.byteLength||r<0)&&(s=r+s,i=(await this.request(this.url,{range:{from:s,to:s+this._bufferSize},responseType:"array-buffer",signal:t})).data,r=0),{fileChunk:i,fileOffset:s,posIFD:r}}async _readIFDs(e,t,i,s=4,r){if(!t.posIFD)return null;t=await this._validateOrFetchHeaderBuffer(t,r);const a=await this._readIFD(t,i,Be.NB,s,r);if(!a?.ifd)throw new o.A("tiffraster:open","cannot parse tiff header. failed to open url "+this.url);if(e.push(a.ifd),!a.nextIFD)return null;t.posIFD=a.nextIFD-t.fileOffset,await this._readIFDs(e,t,i,s,r)}async _readIFD(e,t,i=Be.NB,s=4,r){let{fileChunk:a,posIFD:n,fileOffset:o}=e;if(!e.fileChunk)return null;const l=(0,Ee.JM)(a,t,n,o,i,s);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,r),l.ifd?.has("GEOKEYDIRECTORY")){const e=l.ifd.get("GEOKEYDIRECTORY"),i=e?.values;if(i&&i.length>4){const s=i[0]+"."+i[1]+"."+i[2];n=e.valueOffset+6-o;const l=await this._validateOrFetchHeaderBuffer({fileChunk:a,posIFD:n,fileOffset:o},r),c=await this._readIFD(l,t,Be.YC,2,r);e.data=c?.ifd,e.data&&e.data.set("GEOTIFFVersion",{id:0,type:2,valueCount:1,valueOffset:null,values:[s]})}}return l}return l.requiredBufferSize?(a=(await this.request(this.url,{range:{from:o,to:o+n+l.requiredBufferSize+8},responseType:"array-buffer",signal:r})).data,a.byteLength<n+l.requiredBufferSize?null:(e.fileChunk=a,e.fileOffset=o,this._readIFD(e,t,i,s,r))):null}async _fillOffsets(e,t,i,s){const r=e.filter(e=>null!=e.offlineOffsetSize);if(0===r.length)return;const a=r.map(e=>e.offlineOffsetSize),n=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-n<=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(n,Math.max(o,n+this._bufferSize),s);return void r.forEach(i=>(0,Ee.Cr)(e,t,i,n))}const c=r.map(async e=>{const i=e.offlineOffsetSize,r=await this._fetchOffsets(i[0],i[1]+i[0],s);(0,Ee.Cr)(r,t,e,i[0])});await Promise.all(c)}async _fetchOffsets(e,t,i){const s=[],r=this._chunkSize,a=Math.ceil((t-e)/r);let n=e;for(let e=0;e<a;e++)s.push(this.request(this.url,{range:{from:n,to:e===a-1?t:n+r-1},responseType:"array-buffer",signal:i})),n+=r;const o=await Promise.all(s);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*r);return l.buffer}async _fetchRawTiffTile(e,t,i,s,r={}){const a=this._getTileLocation(e,t,i,s);if(!a)return null;const{ranges:n,actualTileWidth:o,actualTileHeight:l,ifd:c}=a,u=n.map(e=>this.request(this.url,{range:e,responseType:"array-buffer",signal:r.signal})),f=await Promise.all(u),h=f.map(e=>e.data.byteLength).reduce((e,t)=>e+t),p=1===f.length?f[0].data:new ArrayBuffer(h),d=[0],m=[0];if(f.length>1){const e=new Uint8Array(p);for(let t=0,i=0;t<f.length;t++){const s=f[t].data;e.set(new Uint8Array(s),i),d[t]=i,i+=s.byteLength,m[t]=s.byteLength}}const{blockWidth:g,blockHeight:y}=this.getBlockWidthHeight(e),w=await this.decodePixelBlock(p,{format:"tiff",customOptions:{headerInfo:this._headerInfo,ifd:c,offsets:d,sizes:m},width:g,height:y,planes:null,pixelType:null});if(null==w)return null;let v,x,b;if(o!==g||l!==y){let e=w.mask;if(e)for(v=0;v<y;v++)if(b=v*g,v<l)for(x=o;x<g;x++)e[b+x]=0;else for(x=0;x<g;x++)e[b+x]=0;else for(e=new Uint8Array(g*y),w.mask=e,v=0;v<l;v++)for(b=v*g,x=0;x<o;x++)e[b+x]=1}return w}_getTileLocation(e,t,i,s=!1){const{firstPyramidLevel:r,blockBoundary:a}=this.rasterInfo.storageInfo,n=0===e?0:e-(r-1),{_headerInfo:o}=this;if(!o)return null;const l=s?o.maskIFDs[n]:0===n?o?.ifds[0]:o?.pyramidIFDs[n-1];if(!l)return null;const c=(0,Ee.XO)(l,o),u=ze(l,"TILEOFFSETS");if(void 0===u)return null;const f=ze(l,"TILEBYTECOUNTS"),{minRow:h,minCol:p,maxRow:d,maxCol:m}=a[n];if(t>d||i>m||t<h||i<p)return null;const g=Je(l,"IMAGEWIDTH"),y=Je(l,"IMAGELENGTH"),w=Je(l,"TILEWIDTH"),v=Je(l,"TILELENGTH"),x=[];if(c){const{bandCount:e}=this.rasterInfo;for(let s=0;s<e;s++){const e=s*(d+1)*(m+1)+t*(m+1)+i;x[s]={from:u[e],to:u[e]+f[e]-1}}}else{const e=t*(m+1)+i;x.push({from:u[e],to:u[e]+f[e]-1})}for(let e=0;e<x.length;e++)if(null==x[e].from||!x[e].to||x[e].to<0)return null;return{ranges:x,ifd:l,actualTileWidth:i===m&&g%w||w,actualTileHeight:t===d&&y%v||v}}async _fetchAuxiliaryMetaData(e){try{const{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:e?.signal});return me(t)}catch{return null}}async _fetchAuxiliaryTable(e){try{const{data:t}=await this.request(this.url+".vat.dbf",{responseType:"array-buffer",signal:e?.signal}),i=Le.parse(t);return i?.recordSet?re.A.fromJSON(i.recordSet):null}catch{return null}}};(0,r.Cg)([(0,h.MZ)()],Ue.prototype,"_files",void 0),(0,r.Cg)([(0,h.MZ)()],Ue.prototype,"_headerInfo",void 0),(0,r.Cg)([(0,h.MZ)()],Ue.prototype,"_bufferSize",void 0),(0,r.Cg)([(0,h.MZ)()],Ue.prototype,"_chunkSize",void 0),(0,r.Cg)([(0,h.MZ)({type:String,json:{write:!0}})],Ue.prototype,"datasetFormat",void 0),Ue=(0,r.Cg)([(0,h.$K)("esri.layers.support.rasterDatasets.TIFFRaster")],Ue);const $e=Ue,je=new Map;je.set("MRF",{desc:"Meta Raster Format",constructor:ke}),je.set("TIFF",{desc:"GeoTIFF",constructor:$e}),je.set("RasterTileServer",{desc:"Raster Tile Server",constructor:Oe}),je.set("JPG",{desc:"JPG Raster Format",constructor:we}),je.set("PNG",{desc:"PNG Raster Format",constructor:we}),je.set("GIF",{desc:"GIF Raster Format",constructor:we}),je.set("BMP",{desc:"BMP Raster Format",constructor:we}),je.set("CovJSON",{desc:"COVJSON Raster Format",constructor:ne}),je.set("MEMORY",{desc:"In Memory Raster Format",constructor:se});class qe{static get supportedFormats(){const e=new Set;return je.forEach((t,i)=>e.add(i)),e}static async open(e){const{url:t,ioConfig:i,source:s,sourceJSON:r}=e;let a=e.datasetFormat??i?.datasetFormat;null==a&&(t.includes(".")?a=t.slice(t.lastIndexOf(".")+1).toUpperCase():"coverage"===s?.type?.toLowerCase()?a="CovJSON":s?.extent&&s.pixelblocks&&(a="MEMORY")),"OVR"===a||"TIF"===a?a="TIFF":"JPG"===a||"JPEG"===a||"JFIF"===a?a="JPG":"COVJSON"===a&&(a="CovJSON"),t.toLowerCase().includes("/imageserver")&&!t.toLowerCase().includes("/wcsserver")&&(a="RasterTileServer");const n={url:t,source:s,sourceJSON:r,datasetFormat:a,ioConfig:i??{bandIds:null,sampling:null}};if(Object.keys(n).forEach(e=>{null==n[e]&&delete n[e]}),a){if(!this.supportedFormats.has(a))throw new o.A("rasterfactory:open","not a supported format "+a);if("CRF"===a)throw new o.A("rasterfactory:open",`cannot open raster: ${t}`);const i=new(0,je.get(a).constructor)(n);return await i.open({signal:e.signal}),i}const l=Array.from(je.keys()).filter(e=>"CovJSON"!==e&&"Memory"!==e);let c=0;const u=()=>{if(a=l[c++],!a)return null;if("CRF"===a)return null;const t=new(0,je.get(a).constructor)(n);return t.open({signal:e.signal}).then(()=>t).catch(()=>u())};return u()}static register(e,t,i){je.has(e.toUpperCase())||je.set(e.toUpperCase(),{desc:t,constructor:i})}}var Ze=i(6049),He=i(56776),Ve=i(30291),Ge=i(88625);let We=class extends((0,x.dM)((0,O.j)((0,C.q)((0,S.A)((0,T.H)((0,b.d)((0,I.o)((0,A.G)((0,M.e)((0,v.b)((0,R.J)((0,c.P)((0,n.OU)(w.A)))))))))))))){constructor(...e){super(...e),this._primaryRasters=[],this.graphicOrigin=new y(this),this.legendEnabled=!0,this.isReference=null,this.listMode="show",this.sourceJSON=null,this.version=null,this.type="imagery-tile",this.operationalLayerType="ArcGISTiledImageServiceLayer",this.popupEnabled=!0,this.popupTemplate=null,this.screenSizePerspectiveEnabled=!0,this.fields=null,this.source=void 0,this._debouncedSaveOperations=(0,u.sg)(async(e,t,s)=>{const{save:r,saveAs:a}=await i.e(9838).then(i.bind(i,59838));switch(e){case 0:return r(this,t);case 1:return a(this,s,t)}})}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}load(e){const t=null!=e?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Image Service"]},e).catch(u.QP).then(()=>this._openRaster(t))),Promise.resolve(this)}set elevationInfo(e){"relative-to-scene"!==e?.mode&&this._set("elevationInfo",e),this._validateElevationInfo(e)}get defaultPopupTemplate(){return this.createPopupTemplate()}get rasterFields(){const e=[(0,P.rZ)("Pixel Value"),(0,P.dy)("Raw Pixel Value")],t=this.raster?.rasterInfo??this.serviceRasterInfo,i=t?.attributeTable;if(i){const t=(0,P.jC)(i);e.push(...t)}const s=t?.dataType,r=t?.multidimensionalInfo;if(("vector-magdir"===s||"vector-uv"===s)&&null!=r){const t=r.variables[0].unit?.trim(),i=(0,P.DV)(t),s=(0,P.y6)();e.push(i,s)}if(r){const t=(0,P.AL)(r);e.push(...t)}return e}get renderer(){return super.renderer}set renderer(e){super.renderer=e}createPopupTemplate(e){const{rasterFields:t}=this,i=e?.visibleFieldNames??new Set(t.map(({name:e})=>e).filter(e=>e!==P.F_.rawServicePixelValue)),s=(0,Ve.tn)({fields:t,title:this.title},{...e,visibleFieldNames:i}),{rasterInfo:r}=this.raster;return s?.fieldInfos&&r&&(0,P.h4)(s.fieldInfos,r),s}async generateRasterInfo(e,t){const i=(0,p.PZ)(k.A,e);if(await this.load(),!i||"none"===i.functionName?.toLowerCase())return this.serviceRasterInfo;try{const{rasterInfo:e}=await this._openFunctionRaster(i,t);return e}catch(e){if(e instanceof o.A)throw e;throw new o.A("imagery-tile-layer","the given raster function is not supported")}}async save(e){return this._debouncedSaveOperations(0,e)}async saveAs(e,t){return this._debouncedSaveOperations(1,t,e)}supportsWrite(){const e=this._primaryRasters[0]??this.raster;return!!(this.loaded?"RasterTileServer"===e.datasetFormat&&("Raster"===e.tileType||"Map"===e.tileType):this.url&&/\/ImageServer(\/|\/?$)/i.test(this.url))}write(e,t){if(this.supportsWrite())return super.write(e,t);if(t?.messages){const e=`${t.origin}/${t.layerContainerType||"operational-layers"}`;t.messages.push(new o.A("layer:unsupported",`Layers (${this.title}, ${this.id}) of type '${this.declaredClass}' are not supported in the context of '${e}'`,{layer:this}))}return null}async _openRaster(e){let t=!1;if(this.raster)await this._openFromRaster(this.raster,e),t=(0,D.qg)(this.raster),!t&&this.rasterFunction&&(this._primaryRasters=[this.raster],await this._initializeWithFunctionRaster(this.rasterFunction));else{const{url:t,rasterFunction:i,source:s}=this;if(!t&&!s)throw new o.A("imagery-tile-layer:open","missing url or source parameter");s?await this._openFromSource(s,e):i?await this._openFromUrlWithRasterFunction(t,i,e):await this._openFromUrl(t,e)}const i=this.raster.rasterInfo;if(!i)throw new o.A("imagery-tile-layer:load","cannot load resources on "+this.url);if(this._set("serviceRasterInfo",t?i:this._primaryRasters[0].rasterInfo),this._set("spatialReference",i.spatialReference),this.sourceJSON=this.sourceJSON||this.raster.sourceJSON,null!=this.sourceJSON){const e="Map"===this.raster.tileType&&null!=this.sourceJSON.minLOD&&null!=this.sourceJSON.maxLOD?this.sourceJSON:{...this.sourceJSON,minScale:0,maxScale:0};this.read(e,{origin:"service"})}else this.read({tileInfo:this.serviceRasterInfo?.storageInfo.tileInfo.toJSON()},{origin:"service"});this.title||(this.title=this.raster.datasetName),"Map"===this.raster.tileType&&(this.popupEnabled=!1),this._configDefaultSettings(),this.addHandles((0,f.wB)(()=>this.customParameters,e=>{this.raster&&(this.raster.ioConfig.customFetchParameters=e)}))}async _openFromRaster(e,t){e.rasterInfo||await e.open({signal:t}),this._primaryRasters=(0,D.pb)(e),this.url||(this.url=this._primaryRasters[0].url)}async _openFromUrlWithRasterFunction(e,t,i){const s=[e];t&&(0,Ze.UD)(t.toJSON(),s);const r=await Promise.all(s.map(e=>qe.open({url:e,sourceJSON:this.sourceJSON,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters},signal:i}))),a=r.findIndex(e=>null==e);if(a>-1)throw new o.A("imagery-tile-layer:open",`cannot open raster: ${s[a]}`);return this._primaryRasters=r,this._initializeWithFunctionRaster(t)}async _openFromUrl(e,t){const i=await qe.open({url:e,sourceJSON:this.sourceJSON,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters},signal:t});if(null==i)throw new o.A("imagery-tile-layer:open",`cannot open raster: ${e}`);this._primaryRasters=[i],this.raster=i}async _openFromSource(e,t){const i="the tiled imagery data source is not supported",s="coverage"===e.type?.toLowerCase()?"CovJSON":e.extent&&e.pixelBlock?"MEMORY":null;if(!s)throw new o.A("imagery-tile-layer:open",i);"MEMORY"===s&&(e={...e,pixelBlock:void 0,pixelBlocks:[e.pixelBlock]});const r=await qe.open({url:"",source:e,datasetFormat:s,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters},signal:t});if(null==r)throw new o.A("imagery-tile-layer:open",i);this._primaryRasters=[r],this.rasterFunction?await this._initializeWithFunctionRaster(this.rasterFunction):this.raster=r}async _openFunctionRaster(e,t){const i={raster:this._primaryRasters[0]};this._primaryRasters.length>1&&this._primaryRasters.forEach(e=>i[e.url]=e);const s=(0,Ze.vt)(e.functionDefinition?.toJSON()??e.toJSON(),i),r=new N.A({rasterFunction:s});return await r.open(t),r}async _initializeWithFunctionRaster(e,t){try{this.raster=await this._openFunctionRaster(e,t)}catch(e){e instanceof o.A&&l.A.getLogger(this).error("imagery-tile-layer:open",e.message),l.A.getLogger(this).warn("imagery-tile-layer:open","the raster function cannot be applied and is removed"),this._set("rasterFunction",null),this.raster=this._primaryRasters[0]}}_validateElevationInfo(e){(0,He.XF)(l.A.getLogger(this),(0,He.$7)("ImageryTile layers","relative-to-scene",e)),(0,He.XF)(l.A.getLogger(this),(0,He.tW)("ImageryTile layers",e))}};(0,r.Cg)([(0,h.MZ)({clonable:!1})],We.prototype,"_primaryRasters",void 0),(0,r.Cg)([(0,h.MZ)({type:Ge.A,value:null,json:{name:"layerDefinition.elevationInfo",write:!0,origins:{"portal-item":{read:!1,write:!1},"web-map":{read:!1,write:!1}}}})],We.prototype,"elevationInfo",null),(0,r.Cg)([(0,h.MZ)({readOnly:!0,clonable:!1})],We.prototype,"graphicOrigin",void 0),(0,r.Cg)([(0,h.MZ)(_.fV)],We.prototype,"legendEnabled",void 0),(0,r.Cg)([(0,h.MZ)({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],We.prototype,"isReference",void 0),(0,r.Cg)([(0,h.MZ)({type:["show","hide"]})],We.prototype,"listMode",void 0),(0,r.Cg)([(0,h.MZ)({json:{read:!0,write:!0}})],We.prototype,"blendMode",void 0),(0,r.Cg)([(0,h.MZ)({type:k.A,json:{name:"renderingRule",write:!0}})],We.prototype,"rasterFunction",void 0),(0,r.Cg)([(0,h.MZ)()],We.prototype,"sourceJSON",void 0),(0,r.Cg)([(0,h.MZ)({readOnly:!0,json:{origins:{service:{read:{source:"currentVersion"}}}}})],We.prototype,"version",void 0),(0,r.Cg)([(0,h.MZ)({readOnly:!0,json:{read:!1}})],We.prototype,"type",void 0),(0,r.Cg)([(0,h.MZ)({type:["ArcGISTiledImageServiceLayer"]})],We.prototype,"operationalLayerType",void 0),(0,r.Cg)([(0,h.MZ)({type:Boolean,value:!0,json:{read:{source:"disablePopup",reader:(e,t)=>!t.disablePopup},write:{target:"disablePopup",overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType}},writer(e,t,i){t[i]=!e}}}})],We.prototype,"popupEnabled",void 0),(0,r.Cg)([(0,h.MZ)({type:a.A,json:{read:{source:"popupInfo"},write:{target:"popupInfo",overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType}}}}})],We.prototype,"popupTemplate",void 0),(0,r.Cg)([(0,h.MZ)({readOnly:!0})],We.prototype,"defaultPopupTemplate",null),(0,r.Cg)([(0,h.MZ)(_.PY)],We.prototype,"screenSizePerspectiveEnabled",void 0),(0,r.Cg)([(0,h.MZ)({readOnly:!0,type:[F.A]})],We.prototype,"fields",void 0),(0,r.Cg)([(0,h.MZ)({readOnly:!0,type:[F.A]})],We.prototype,"rasterFields",null),(0,r.Cg)([(0,h.MZ)({constructOnly:!0})],We.prototype,"source",void 0),We=(0,r.Cg)([(0,h.$K)("esri.layers.ImageryTileLayer")],We);const Xe=We},21312:(e,t,i)=>{i.d(t,{A:()=>d});var s,r=i(31635),a=i(91429),n=i(5443),o=i(86738),l=i(82434),c=i(36005),u=i(43937),f=i(93223);function h(e,t,i){const{x:s,y:r}=t;if(i<2)return{x:e[0]+s*e[2]+r*e[4],y:e[1]+s*e[3]+r*e[5]};if(2===i){const t=s*s,i=r*r,a=s*r;return{x:e[0]+s*e[2]+r*e[4]+t*e[6]+a*e[8]+i*e[10],y:e[1]+s*e[3]+r*e[5]+t*e[7]+a*e[9]+i*e[11]}}const a=s*s,n=r*r,o=s*r,l=a*s,c=a*r,u=s*n,f=r*n;return{x:e[0]+s*e[2]+r*e[4]+a*e[6]+o*e[8]+n*e[10]+l*e[12]+c*e[14]+u*e[16]+f*e[18],y:e[1]+s*e[3]+r*e[5]+a*e[7]+o*e[9]+n*e[11]+l*e[13]+c*e[15]+u*e[17]+f*e[19]}}function p(e,t,i){const{xmin:s,ymin:r,xmax:a,ymax:o,spatialReference:l}=t;let c=[];if(i<2)c.push({x:s,y:o}),c.push({x:a,y:o}),c.push({x:s,y:r}),c.push({x:a,y:r});else{let e=10;for(let t=0;t<e;t++)c.push({x:s,y:r+(o-r)*t/(e-1)}),c.push({x:a,y:r+(o-r)*t/(e-1)});e=8;for(let t=1;t<=e;t++)c.push({x:s+(a-s)*t/e,y:r}),c.push({x:s+(a-s)*t/e,y:o})}c=c.map(t=>h(e,t,i));const u=c.map(e=>e.x),f=c.map(e=>e.y);return new n.A({xmin:Math.min.apply(null,u),xmax:Math.max.apply(null,u),ymin:Math.min.apply(null,f),ymax:Math.max.apply(null,f),spatialReference:l})}let d=s=class extends l.A{constructor(){super(...arguments),this.polynomialOrder=1,this.type="polynomial"}readForwardCoefficients(e,t){const{coeffX:i,coeffY:s}=t;if(!i?.length||!s?.length||i.length!==s.length)return null;const r=[];for(let e=0;e<i.length;e++)r.push(i[e]),r.push(s[e]);return r}writeForwardCoefficients(e,t,i){const s=[],r=[];for(let t=0;t<e?.length;t++)t%2==0?s.push(e[t]):r.push(e[t]);t.coeffX=s,t.coeffY=r}get inverseCoefficients(){let e=this._get("inverseCoefficients");const t=this._get("forwardCoefficients");return!e&&t&&this.polynomialOrder<2&&(e=function(e){const[t,i,s,r,a,n]=e,o=s*n-a*r,l=a*r-s*n;return[(a*i-t*n)/o,(s*i-t*r)/l,n/o,r/l,-a/o,-s/l]}(t)),e}set inverseCoefficients(e){this._set("inverseCoefficients",e)}readInverseCoefficients(e,t){const{inverseCoeffX:i,inverseCoeffY:s}=t;if(!i?.length||!s?.length||i.length!==s.length)return null;const r=[];for(let e=0;e<i.length;e++)r.push(i[e]),r.push(s[e]);return r}writeInverseCoefficients(e,t,i){const s=[],r=[];for(let t=0;t<e?.length;t++)t%2==0?s.push(e[t]):r.push(e[t]);t.inverseCoeffX=s,t.inverseCoeffY=r}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 s({polynomialOrder:this.polynomialOrder,forwardCoefficients:this.forwardCoefficients?[...this.forwardCoefficients]:null,inverseCoefficients:this.inverseCoefficients?[...this.inverseCoefficients]:null})}};(0,r.Cg)([(0,a.MZ)({json:{write:!0}})],d.prototype,"polynomialOrder",void 0),(0,r.Cg)([(0,a.MZ)()],d.prototype,"forwardCoefficients",void 0),(0,r.Cg)([(0,c.w)("forwardCoefficients",["coeffX","coeffY"])],d.prototype,"readForwardCoefficients",null),(0,r.Cg)([(0,u.K)("forwardCoefficients")],d.prototype,"writeForwardCoefficients",null),(0,r.Cg)([(0,a.MZ)({json:{write:!0}})],d.prototype,"inverseCoefficients",null),(0,r.Cg)([(0,c.w)("inverseCoefficients",["inverseCoeffX","inverseCoeffY"])],d.prototype,"readInverseCoefficients",null),(0,r.Cg)([(0,u.K)("inverseCoefficients")],d.prototype,"writeInverseCoefficients",null),(0,r.Cg)([(0,a.MZ)()],d.prototype,"affectsPixelSize",null),(0,r.Cg)([(0,f.e)({PolynomialXform:"polynomial"})],d.prototype,"type",void 0),d=s=(0,r.Cg)([(0,a.$K)("esri.layers.support.rasterTransforms.PolynomialTransform")],d)},25943:(e,t,i)=>{i.d(t,{d:()=>C});var s,r=i(31635),a=i(11254),n=i(69622),o=i(49186),l=i(36563),c=(i(44208),i(66344)),u=i(15142),f=i(74887),h=i(36708),p=i(76030),d=i(84952),m=i(91429),g=i(72802),y=i(4718),w=i(69397),v=i(34275);class x{constructor(e){!function(e){if(!e?.location)throw new o.A("tilemap:missing-location","Location missing from tilemap response");if(!1===e.valid)throw new o.A("tilemap:invalid","Tilemap response was marked as invalid");if(!e.data)throw new o.A("tilemap:missing-data","Data missing from tilemap response");if(!Array.isArray(e.data))throw new o.A("tilemap:data-mismatch","Data must be an array of numbers");if(e.data.length!==e.location.width*e.location.height)throw new o.A("tilemap:data-mismatch","Number of data items does not match width/height of tilemap")}(e);const{location:t,data:i}=e;this.location=Object.freeze((0,y.o8)(t));const s=this.location.width,r=this.location.height;let a=!0,n=!0;const l=function(e,t=!1){return e<=v.y9?t?new Array(e).fill(0):new Array(e):new Uint32Array(e)}(Math.ceil(s*r/32));let c=0;for(let e=0;e<i.length;e++){const t=e%32;i[e]?(n=!1,l[c]|=1<<t):a=!1,31===t&&++c}n?(this._availability="unavailable",this.byteSize=40):a?(this._availability="available",this.byteSize=40):(this._availability=l,this.byteSize=40+(0,w.Qf)(l))}getAvailability(e,t){if("unavailable"===this._availability||"available"===this._availability)return this._availability;const i=(e-this.location.top)*this.location.width+(t-this.location.left),s=i%32,r=i>>5,a=this._availability;return r<0||r>a.length?"unknown":a[r]&1<<s?"available":"unavailable"}static fromDefinition(e,t){const i=e.service.request||a.A,{row:s,col:r,width:n,height:l}=e,c={query:{f:"json"}};return t=t?{...c,...t}:c,i(function(e){let t;if(e.service.tileServers?.length){const i=e.service.tileServers;t=`${i&&i.length?i[e.row%i.length]:e.service.url}/tilemap/${e.level}/${e.row}/${e.col}/${e.width}/${e.height}`}else t=`${e.service.url}/tilemap/${e.level}/${e.row}/${e.col}/${e.width}/${e.height}`;const i=e.service.query;return i&&(t=`${t}?${i}`),t}(e),t).then(e=>e.data).catch(e=>{if(422===e?.details?.httpStatus)return{location:{top:s,left:r,width:n,height:l},valid:!0,data:new Array(n*l).fill(0)};throw e}).then(e=>{if(e.location&&(e.location.top!==s||e.location.left!==r||e.location.width!==n||e.location.height!==l))throw new o.A("tilemap:location-mismatch","Tilemap response for different location than requested",{response:e,definition:{top:s,left:r,width:n,height:l}});return x.fromJSON(e)})}static fromJSON(e){return Object.freeze(new x(e))}}function b(e){return`${e.level}/${e.row}/${e.col}/${e.width}/${e.height}`}function I(e,t,i){return new o.A("tile-map:tile-unavailable","Tile is not available",{level:e,row:t,col:i})}let C=class extends n.A{static{s=this}constructor(e){super(e),this._pendingTilemapRequests={},this.request=a.A,this.size=32,this._prefetchingEnabled=!0}initialize(){this._tilemapCache=new c.q(2097152),this.addHandles((0,h.wB)(()=>{const{layer:e}=this;return[e?.parsedUrl,e?.tileServers,e?.apiKey,e?.customParameters]},()=>this._initializeTilemapDefinition(),h.Vh))}get effectiveMinLOD(){return this.minLOD??this.layer.tileInfo.lods[0].level}get effectiveMaxLOD(){return this.maxLOD??this.layer.tileInfo.lods[this.layer.tileInfo.lods.length-1].level}getAvailability(e,t,i){if(!this.layer.tileInfo.lodAt(e)||e<this.effectiveMinLOD||e>this.effectiveMaxLOD)return"unavailable";const s=this._tilemapFromCache(e,t,i,this._tmpTilemapDefinition);return s?s.getAvailability(t,i):"unknown"}fetchAvailability(e,t,i,s){return!this.layer.tileInfo.lodAt(e)||e<this.effectiveMinLOD||e>this.effectiveMaxLOD?Promise.reject(I(e,t,i)):this._fetchTilemap(e,t,i,s).catch(e=>e).then(s=>{if(s instanceof x){const r=s.getAvailability(t,i);if("unavailable"===r)throw I(e,t,i);return r}if((0,f.zf)(s))throw s;return"unknown"})}fetchAvailabilityUpsample(e,t,i,s,r){s.level=e,s.row=t,s.col=i;const a=this.layer.tileInfo;a.updateTileInfo(s);const n=this.fetchAvailability(e,t,i,r).catch(e=>{if((0,f.zf)(e))throw e;if(a.upsampleTile(s))return this.fetchAvailabilityUpsample(s.level,s.row,s.col,s,r);throw e});return this._fetchAvailabilityUpsamplePrefetch(e,t,i,r,n),n}async _fetchAvailabilityUpsamplePrefetch(e,t,i,r,a){if(!this._prefetchingEnabled)return;const n=`prefetch-${e}-${t}-${i}`;if(this.hasHandles(n))return;const o=new AbortController;a.then(()=>o.abort(),()=>o.abort());let c=!1;const u=(0,l.hA)(()=>{c||(c=!0,o.abort())});if(this.addHandles(u,n),await(0,p.md)(10,o.signal).catch(()=>{}),c||(c=!0,this.removeHandles(n)),(0,f.G4)(o))return;const h=new g.U(e,t,i),d={...r,signal:o.signal},m=this.layer.tileInfo;for(let e=0;s._prefetches.length<s._maxPrefetch&&m.upsampleTile(h);++e){const e=this.fetchAvailability(h.level,h.row,h.col,d);s._prefetches.push(e);const t=()=>{s._prefetches.removeUnordered(e)};e.then(t,t)}}static{this._maxPrefetch=4}static{this._prefetches=new u.A({initialSize:s._maxPrefetch})}static cleanupTilemapCache(){this._prefetches.prune()}_fetchTilemap(e,t,i,s){if(!this.layer.tileInfo.lodAt(e)||e<this.effectiveMinLOD||e>this.effectiveMaxLOD)return Promise.reject(new o.A("tilemap-cache:level-unavailable",`Level ${e} is unavailable in the service`));const r=this._tmpTilemapDefinition,a=this._tilemapFromCache(e,t,i,r);if(a)return Promise.resolve(a);const n=s?.signal;return s={...s,signal:null},new Promise((e,t)=>{(0,f.u7)(n,()=>t((0,f.NK)()));const i=b(r);let a=this._pendingTilemapRequests[i];if(!a){a=x.fromDefinition(r,s).then(e=>(this._tilemapCache.put(i,e,e.byteSize),e));const e=()=>{delete this._pendingTilemapRequests[i]};this._pendingTilemapRequests[i]=a,a.then(e,e)}a.then(e,t)})}_initializeTilemapDefinition(){if(!this.layer.parsedUrl)return;const{parsedUrl:e,apiKey:t,customParameters:i}=this.layer;this._tilemapCache.clear(),this._tmpTilemapDefinition={service:{url:e.path,query:(0,d.x0)({...e.query,...i,token:t??e.query?.token}),tileServers:this.layer.tileServers,request:this.request},width:this.size,height:this.size,level:0,row:0,col:0}}_tilemapFromCache(e,t,i,s){s.level=e,s.row=t-t%this.size,s.col=i-i%this.size;const r=b(s);return this._tilemapCache.get(r)}get test(){}};(0,r.Cg)([(0,m.MZ)({constructOnly:!0})],C.prototype,"layer",void 0),(0,r.Cg)([(0,m.MZ)({constructOnly:!0})],C.prototype,"minLOD",void 0),(0,r.Cg)([(0,m.MZ)({constructOnly:!0})],C.prototype,"maxLOD",void 0),(0,r.Cg)([(0,m.MZ)({constructOnly:!0})],C.prototype,"request",void 0),(0,r.Cg)([(0,m.MZ)({constructOnly:!0})],C.prototype,"size",void 0),C=s=(0,r.Cg)([(0,m.$K)("esri.layers.support.TilemapCache")],C)},56551:(e,t,i)=>{i.d(t,{H:()=>f});var s=i(31635),r=i(91429),a=i(69540),n=i(25482),o=i(56507),l=i(94359),c=i(93223);let u=class extends((0,a.OU)(n.o)){constructor(e){super(e),this.name=void 0,this.method="none",this.value=void 0,this.bandIds=void 0,this.renderer=void 0}};(0,s.Cg)([(0,r.MZ)({type:String,json:{write:{isRequired:!0}}})],u.prototype,"name",void 0),(0,s.Cg)([(0,r.MZ)({type:["raster-function-template","variable","none"],json:{write:{isRequired:!0}}}),(0,c.e)({rasterFunctionTemplate:"raster-function-template",variable:"variable",none:"none"})],u.prototype,"method",void 0),(0,s.Cg)([(0,r.MZ)({type:String,json:{write:{isRequired:!0}}})],u.prototype,"value",void 0),(0,s.Cg)([(0,r.MZ)({type:[o.jz],json:{write:{isRequired:!0}}})],u.prototype,"bandIds",void 0),(0,s.Cg)([(0,r.MZ)({types:l.uy,json:{write:!0,origins:{"web-scene":{types:l.Gj,write:{overridePolicy:e=>({enabled:e&&"vector-field"!==e.type})}}}}})],u.prototype,"renderer",void 0),u=(0,s.Cg)([(0,r.$K)("esri.renderers.support.RasterPresetRenderer")],u);const f=e=>{const t=e;let i=class extends t{constructor(){super(...arguments),this.activePresetRendererName=null,this.presetRenderers=null}};return(0,s.Cg)([(0,r.MZ)({type:String,json:{name:"layerDefinition.activePresetRendererName",write:{allowNull:!0}}})],i.prototype,"activePresetRendererName",void 0),(0,s.Cg)([(0,r.MZ)({type:[u],json:{name:"layerDefinition.presetRenderers",write:!0}})],i.prototype,"presetRenderers",void 0),i=(0,s.Cg)([(0,r.$K)("esri.layers.mixins.RasterPresetRendererMixin")],i),i}},69397:(e,t,i)=>{i.d(t,{$B:()=>r,Qf:()=>c,Qh:()=>o,RS:()=>a,ez:()=>h,lM:()=>n,qK:()=>f});var s=i(34275);function r(e){return 32+e.length}const a=16;function n(e){if(!e)return 0;let t=f;for(const i in e)e.hasOwnProperty(i)&&(t+=l(e[i],!1));return t}function o(e){if(!e)return 0;if("number"==typeof e[0])return c(e);if(Array.isArray(e))return function(e){const t=e.length;if(0===t||"number"==typeof e[0])return u(e,8);let i=h;for(let s=0;s<t;s++)i+=l(e[s]);return i}(e);let t=f;for(const i in e)e.hasOwnProperty(i)&&(t+=l(e[i]));return t}function l(e,t=!0){switch(typeof e){case"object":return t?o(e):f;case"string":return r(e);case"number":return a;case"boolean":return 4;default:return 8}}function c(...e){return e.reduce((e,t)=>e+(t?(0,s.iu)(t)?t.byteLength+p:Array.isArray(t)?u(t,a):0:0),0)}function u(e,t){return h+e.length*t}const f=32,h=16,p=145},73037:(e,t,i)=>{i.d(t,{A:()=>l});var s,r=i(31635),a=i(91429),n=i(82434),o=i(93223);let l=s=class extends n.A{constructor(){super(...arguments),this.type="gcs-shift",this.tolerance=1e-8}forwardTransform(e){return"point"===(e=e.clone()).type?(e.x>180+this.tolerance&&(e.x-=360),e):(e.xmin>=180-this.tolerance?(e.xmax-=360,e.xmin-=360):e.xmax>180+this.tolerance&&(e.xmin=-180,e.xmax=180),e)}inverseTransform(e){return"point"===(e=e.clone()).type?(e.x<-this.tolerance&&(e.x+=360),e):(e.xmin<-this.tolerance&&(e.xmin+=360,e.xmax+=360),e)}clone(){return new s({tolerance:this.tolerance})}};(0,r.Cg)([(0,o.e)({GCSShiftXform:"gcs-shift"})],l.prototype,"type",void 0),(0,r.Cg)([(0,a.MZ)()],l.prototype,"tolerance",void 0),l=s=(0,r.Cg)([(0,a.$K)("esri.layers.support.rasterTransforms.GCSShiftTransform")],l)},82371:(e,t,i)=>{i.d(t,{E9:()=>d,Tw:()=>h,X6:()=>p});var s=i(11254),r=i(5443),a=i(86738),n=i(16930),o=i(87186),l=i(20223),c=i(2272),u=i(22671);async function f(e,t,i){const f=(0,c.Dl)(e),{rasterFunction:h,sourceJSON:p}=t||{},d=h?JSON.stringify(h.rasterFunctionDefinition||h):null,m=(0,c.lF)({...f.query,renderingRule:d,f:"json"}),g=(0,c.jV)(m,i);e=f.path;const y=p||await(0,s.A)(e,g).then(e=>e.data),w=y.hasRasterAttributeTable?(0,s.A)(`${e}/rasterAttributeTable`,g):null,v=y.hasColormap?(0,s.A)(`${e}/colormap`,g):null,x=y.hasHistograms?(0,s.A)(`${e}/histograms`,g):null,b=y.currentVersion>=10.3?(0,s.A)(`${e}/keyProperties`,g):null,I=y.hasMultidimensions?(0,s.A)(`${e}/multidimensionalInfo`,g):null,C=await Promise.allSettled([w,v,x,b,I]);let S=null;if(y.minValues&&y.minValues.length===y.bandCount){S=[];for(let e=0;e<y.minValues.length;e++)S.push({min:y.minValues[e],max:y.maxValues[e],avg:y.meanValues[e],stddev:y.stdvValues[e]})}const A=r.A.fromJSON(y.extent),T=Math.ceil(A.width/y.pixelSizeX-.1),R=Math.ceil(A.height/y.pixelSizeY-.1),O=n.A.fromJSON(y.spatialReference||y.extent.spatialReference),M="fulfilled"===C[0].status?C[0].value?.data:null,_=M?.features?.length?u.A.fromJSON(M):null,F="fulfilled"===C[1].status?C[1].value?.data.colormap:null,P=F?.length?F:null,k="fulfilled"===C[2].status?C[2].value?.data.histograms:null,D=k?.[0]?.counts?.length?k:null,N="fulfilled"===C[3].status?C[3].value?.data??{}:{},L="fulfilled"===C[4].status?C[4].value?.data.multidimensionalInfo:null,E=L?.variables?.length?L:null;E&&E.variables.forEach(e=>{e.statistics?.length&&e.statistics.forEach(e=>{e.avg=e.mean,e.stddev=e.standardDeviation}),e.dimensions?.forEach(e=>{"StdTime"!==e.name||e.recurring||e.unit||(e.unit="ISO8601")})});const{defaultVariable:B,serviceDataType:z}=y;B&&B!==N.DefaultVariable&&(N.DefaultVariable=B),z?.includes("esriImageServiceDataTypeVector")&&!z.includes(N.DataType)&&(N.DataType=z.replace("esriImageServiceDataType",""));let J=y.noDataValue;y.noDataValues?.length&&y.noDataValues.some(e=>e!==J)&&(J=y.noDataValues);const U=y.transposeInfo?new l.A({blockWidth:256,blockHeight:256,pyramidBlockWidth:256,pyramidBlockHeight:256,pyramidScalingFactor:2,compression:"lerc",origin:new a.A({x:y.extent.xmin,y:y.extent.ymax,spatialReference:O}),firstPyramidLevel:1,maximumPyramidLevel:Math.max(0,Math.round(Math.log(Math.max(T,R))/Math.LN2-8)),transposeInfo:y.transposeInfo}):void 0;return new o.A({width:T,height:R,bandCount:y.bandCount,extent:r.A.fromJSON(y.extent),spatialReference:O,pixelSize:new a.A({x:y.pixelSizeX,y:y.pixelSizeY,spatialReference:O}),pixelType:y.pixelType.toLowerCase(),statistics:S,attributeTable:_,colormap:P,histograms:D,keyProperties:N,noDataValue:J,multidimensionalInfo:E,storageInfo:U})}function h(e,t,i){return f(e,{sourceJSON:t},i)}function p(e,t,i){return f(e,{rasterFunction:t},i)}function d(e,t){e.attributeTable||(t.hasRasterAttributeTable=!1),e.histograms||(t.hasHistograms=!1),e.colormap||(t.hasColormap=!1),e.multidimensionalInfo||(t.hasMultidimensions=!1)}},82434:(e,t,i)=>{i.d(t,{A:()=>n});var s=i(31635),r=i(25482),a=i(91429);let n=class extends r.o{get affectsPixelSize(){return!1}forwardTransform(e){return e}inverseTransform(e){return e}};(0,s.Cg)([(0,a.MZ)()],n.prototype,"affectsPixelSize",null),(0,s.Cg)([(0,a.MZ)({json:{write:!0}})],n.prototype,"spatialReference",void 0),n=(0,s.Cg)([(0,a.$K)("esri.layers.support.rasterTransforms.BaseRasterTransform")],n)}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[9785],{159:(e,t,r)=>{r.d(t,{A:()=>l});var i,o=r(31635),n=r(69622),s=r(91429),a=r(99157);let l=i=class extends n.A{constructor(e){super(e),this.steps=[]}getInverse(){const e=new i;for(let t=this.steps.length-1;t>=0;t--){const r=this.steps[t];e.steps.push(r.getInverse())}return e}};(0,o.Cg)([(0,s.MZ)({type:[a.A],nonNullable:!0})],l.prototype,"steps",void 0),l=i=(0,o.Cg)([(0,s.$K)("esri.geometry.operators.support.GeographicTransformation")],l)},4197:(e,t,r)=>{r.d(t,{Vj:()=>u,cj:()=>l,jh:()=>n,l5:()=>a,xm:()=>s});var i=r(34275),o=r(9093);function n(e){return e<=i.y9?new Array(e).fill(0):new Float64Array(e)}function s(e){return((0,i.iu)(e)?e.byteLength/8:e.length)<=i.y9?Array.from(e):new Float64Array(e)}function a(e,t,r){return Array.isArray(e)?e.slice(t,t+r):e.subarray(t,t+r)}function l(e){return[...e]}function u(e){const t=(0,o.vt)();for(let r=0;r<16;++r)t[r]=e[r];return t}},6797:(e,t,r)=>{r.d(t,{Ui:()=>d});var i=r(69622),o=r(7762),n=r(88620);const s=new Set(["esri.Color","esri.portal.Portal","esri.symbols.support.Symbol3DAnchorPosition2D","esri.symbols.support.Symbol3DAnchorPosition3D"]);function a(e){return e instanceof i.A}function l(e){return e instanceof o.A?Object.keys(e.items):a(e)?(0,n.oY)(e).keys():e?Object.keys(e):[]}function u(e,t){return e instanceof o.A?e.items[t]:e[t]}function p(e){return e?e.declaredClass:null}function c(e,t){const r=e.diff;if(r&&"function"==typeof r)return r(e,t);const i=l(e),o=l(t);if(0===i.length&&0===o.length)return;if(!i.length||!o.length||function(e,t){return!(!Array.isArray(e)||!Array.isArray(t))&&e.length!==t.length}(e,t))return{type:"complete",oldValue:e,newValue:t};const n=o.filter(e=>!i.includes(e)),d=i.filter(e=>!o.includes(e)),m=i.filter(r=>o.includes(r)&&u(e,r)!==u(t,r)).concat(n,d).sort(),y=p(e);if(y&&s.has(y)&&m.length)return{type:"complete",oldValue:e,newValue:t};let f;const h=a(e)&&a(t);for(const i of m){const o=u(e,i),n=u(t,i);let s;if((h||"function"!=typeof o&&"function"!=typeof n)&&o!==n&&(null!=o||null!=n)){if(r&&r[i]&&"function"==typeof r[i])s=r[i]?.(o,n);else if(o instanceof Date&&n instanceof Date){if(o.getTime()===n.getTime())continue;s={type:"complete",oldValue:o,newValue:n}}else s="object"==typeof o&&"object"==typeof n&&p(o)===p(n)?c(o,n):{type:"complete",oldValue:o,newValue:n};null!=s&&(null!=f?f.diff[i]=s:f={type:"partial",diff:{[i]:s}})}}return f}function d(e,t){if("function"!=typeof e&&"function"!=typeof t&&(null!=e||null!=t))return null==e||null==t||"object"==typeof e&&"object"==typeof t&&p(e)!==p(t)?{type:"complete",oldValue:e,newValue:t}:c(e,t)}},8303:(e,t,r)=>{r.d(t,{A:()=>T});var i=r(31635),o=r(92602),n=r(70333),s=r(11254),a=r(60999),l=r(49186),u=r(53966),p=r(97768),c=r(74887),d=r(84952),m=r(91429),y=r(77548),f=r(20655),h=r(80812),g=r(41318),v=r(10407),b=r(36005),w=r(43937);const T=e=>{const t=e;let T=class extends t{constructor(){super(...arguments),this.resourceReferences={portalItem:null,paths:[]},this.userHasEditingPrivileges=!0,this.userHasFullEditingPrivileges=!1,this.userHasUpdateItemPrivileges=!1}destroy(){this.portalItem=(0,p.pR)(this.portalItem),this.resourceReferences.portalItem=null,this.resourceReferences.paths.length=0}set portalItem(e){e!==this._get("portalItem")&&(this.removeOrigin("portal-item"),this._set("portalItem",e))}readPortalItem(e,t,r){if(t.itemId)return new h.default({id:t.itemId,portal:r?.portal})}writePortalItem(e,t){e?.id&&(t.itemId=e.id)}async loadFromPortal(e,t){if(this.portalItem?.id)try{const{load:i}=await r.e(1204).then(r.bind(r,41204));return(0,c.Te)(t),await i({instance:this,supportedTypes:e.supportedTypes,validateItem:e.validateItem,supportsData:e.supportsData,layerModuleTypeMap:e.layerModuleTypeMap,populateGroupLayer:e.populateGroupLayer},t)}catch(e){throw(0,c.zf)(e)||u.A.getLogger(this).warn(`Failed to load layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${e}`),e}}async finishLoadEditablePortalLayer(e){this._set("userHasEditingPrivileges",await this._fetchUserHasEditingPrivileges(e).catch(e=>((0,c.QP)(e),!0)))}async setUserPrivileges(e,t){if(!o.A.userPrivilegesApplied)return this.finishLoadEditablePortalLayer(t);if(this.url)try{const{features:{edit:r,fullEdit:i},content:{updateItem:o}}=await this._fetchUserPrivileges(e,t);this._set("userHasEditingPrivileges",r),this._set("userHasFullEditingPrivileges",i),this._set("userHasUpdateItemPrivileges",o)}catch(e){(0,c.QP)(e)}}async _fetchUserPrivileges(e,t){let r=this.portalItem;if(!e||!r||!r.loaded||r.sourceUrl)return this._fetchFallbackUserPrivileges(t);const i=!n.id?.findCredential(this.url),o=e===r.id;if(o&&r.portal.user)return this._getUserPrivileges(r,i);let s,a;if(o)s=r.portal.url;else try{s=await(0,y.wI)(this.url,t)}catch(e){(0,c.QP)(e)}if(!s||!(0,d.b8)(s,r.portal.url))return this._fetchFallbackUserPrivileges(t);try{const e=null!=t?t.signal:null;a=await(n.id?.getCredential(`${s}/sharing`,{prompt:!1,signal:e}))}catch(e){(0,c.QP)(e)}const l=!0,u=!1,p=!1;if(!a)return{features:{edit:l,fullEdit:u},content:{updateItem:p}};try{if(o?await r.reload():(r=new h.default({id:e,portal:{url:s}}),await r.load(t)),r.portal.user)return this._getUserPrivileges(r,i)}catch(e){(0,c.QP)(e)}return{features:{edit:l,fullEdit:u},content:{updateItem:p}}}_getUserPrivileges(e,t){const r=(0,v.It)(e);return t&&(r.features.edit=!0),r}async _fetchFallbackUserPrivileges(e){let t=!0;try{t=await this._fetchUserHasEditingPrivileges(e)}catch(e){(0,c.QP)(e)}return{features:{edit:t,fullEdit:!1},content:{updateItem:!1}}}async _fetchUserHasEditingPrivileges(e){const t=this.url?n.id?.findCredential(this.url):null;if(!t)return!0;const r=C.credential===t?C.user:await this._fetchEditingUser(e);return C.credential=t,C.user=r,null==r?.privileges||r.privileges.includes("features:user:edit")}async _fetchEditingUser(e){const t=this.portalItem?.portal?.user;if(t)return t;const r=n.id?.findServerInfo(this.url??"");if(!r?.owningSystemUrl)return null;const i=`${r.owningSystemUrl}/sharing/rest`,o=f.A.getDefault();if(o&&o.loaded&&(0,d.S8)(o.restUrl)===(0,d.S8)(i))return o.user;const l=`${i}/community/self`,u=null!=e?e.signal:null,p=await(0,a.Ke)((0,s.A)(l,{authMode:"no-prompt",query:{f:"json"},signal:u}));return p.ok?g.A.fromJSON(p.value.data):null}read(e,t){t&&(t.layer=this),super.read(e,t)}write(e,t){const r=t?.portal,i=this.portalItem?.id&&(this.portalItem.portal||f.A.getDefault());return r&&i&&!(0,d.ut)(i.restUrl,r.restUrl)?(t.messages&&t.messages.push(new l.A("layer:cross-portal",`The layer '${this.title} (${this.id})' cannot be persisted because it refers to an item on a different portal than the one being saved to. To save, set layer.portalItem to null or save to the same portal as the item associated with the layer`,{layer:this})),null):super.write(e,{...t,layer:this})}};return(0,i.Cg)([(0,m.MZ)({type:h.default})],T.prototype,"portalItem",null),(0,i.Cg)([(0,b.w)("web-document","portalItem",["itemId"])],T.prototype,"readPortalItem",null),(0,i.Cg)([(0,w.K)("web-document","portalItem",{itemId:{type:String}})],T.prototype,"writePortalItem",null),(0,i.Cg)([(0,m.MZ)({clonable:!1})],T.prototype,"resourceReferences",void 0),(0,i.Cg)([(0,m.MZ)({type:Boolean,readOnly:!0})],T.prototype,"userHasEditingPrivileges",void 0),(0,i.Cg)([(0,m.MZ)({type:Boolean,readOnly:!0})],T.prototype,"userHasFullEditingPrivileges",void 0),(0,i.Cg)([(0,m.MZ)({type:Boolean,readOnly:!0})],T.prototype,"userHasUpdateItemPrivileges",void 0),T=(0,i.Cg)([(0,m.$K)("esri.layers.mixins.PortalLayer")],T),T},C={credential:null,user:null}},9093:(e,t,r)=>{function i(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function o(e){return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]}r.d(t,{o8:()=>o,vt:()=>i,zK:()=>n});const n=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:n,clone:o,create:i,fromValues:function(e,t,r,i,o,n,s,a,l,u,p,c,d,m,y,f){return[e,t,r,i,o,n,s,a,l,u,p,c,d,m,y,f]}},Symbol.toStringTag,{value:"Module"}))},9762:(e,t,r)=>{r.r(t),r.d(t,{projectBuffer:()=>o});var i=r(37539);function o(e,t,r,o,n,s,a=Math.floor(e.length/3)){const l=(0,i.jd)(t,n);if(null==l)return!1;if(l===i.pO){if(e===o&&r===s)return!0;const t=r+3*a;for(let i=r,n=s;i<t;i++,n++)o[n]=e[i]??0;return!0}const u=r+3*a;for(let t=r,i=s;t<u;t+=3,i+=3)l(e,t,o,i);return!0}},10407:(e,t,r)=>{r.d(t,{It:()=>m,LG:()=>s,OM:()=>u,Sm:()=>p,Y:()=>a,bK:()=>l,mm:()=>d,sQ:()=>c});var i=r(91218),o=r(16930),n=r(28735);function s(e,t){if(!a(e,t)){const r=e.typeKeywords;r?r.push(t):e.typeKeywords=[t]}}function a(e,t){return!!e.typeKeywords?.includes(t)}function l(e){return a(e,d.HOSTED_SERVICE)}function u(e,t){const r=e.typeKeywords;if(r){const e=r.indexOf(t);e>-1&&r.splice(e,1)}}function p(e,t,r){r?s(e,t):u(e,t)}async function c(e){const t=e.clone().normalize();let r;if(t.length>1)for(const e of t)r?e.width>r.width&&(r=e):r=e;else r=t[0];return async function(e){const t=e.spatialReference;if(t.isWGS84)return e.clone();if(t.isWebMercator)return(0,n.ci)(e);const r=o.A.WGS84;return await(0,i.initializeProjection)(t,r),(0,i.project)(e,r)}(r)}const d={CHARTS:"Charts",DYNAMIC:"Dynamic",DEVELOPER_BASEMAP:"DeveloperBasemap",GROUP_LAYER_MAP:"Map",HOSTED_SERVICE:"Hosted Service",JSAPI:"ArcGIS API for JavaScript",LOCAL_SCENE:"ViewingMode-Local",METADATA:"Metadata",MULTI_LAYER:"Multilayer",ORIENTED_IMAGERY_LAYER:"OrientedImageryLayer",SINGLE_LAYER:"Singlelayer",SUBTYPE_GROUP_LAYER:"SubtypeGroupLayer",SUBTYPE_GROUP_TABLE:"SubtypeGroupTable",TABLE:"Table",TILED_IMAGERY:"Tiled Imagery"};function m(e){const{portal:t,isOrgItem:r,itemControl:i}=e,o=t.user?.privileges;let n=!o||o.includes("features:user:edit"),s=!!r&&!!o?.includes("features:user:fullEdit");const a="update"===i||"admin"===i;return a?s=n=!0:s&&(n=!0),{features:{edit:n,fullEdit:s},content:{updateItem:a}}}},17136:(e,t,r)=>{r.d(t,{Y_:()=>O,O7:()=>A,el:()=>M});var i=r(92602),o=r(69052),n=r(49186),s=r(53966),a=r(39829),l=r(82799),u=r(16930),p=r(80754),c=r(21325),d=r(28735),m=r(11254),y=r(65864),f=r(2272),h=r(84952),g=r(92300);const v=()=>s.A.getLogger("esri.geometry.support.normalizeUtils");function b(e){return"polygon"===e[0].type}function w(e){return"polyline"===e[0].type}function T(e,t,r){if(t){const t=function(e,t){if(!(e instanceof l.A||e instanceof a.A)){const e="straightLineDensify: the input geometry is neither polyline nor polygon";throw v().error(e),new n.A("internal:geometry",e)}const r=(0,p.r8)(e),i=[];for(const e of r){const r=[];i.push(r),r.push([e[0][0],e[0][1]]);for(let i=0;i<e.length-1;i++){const o=e[i][0],n=e[i][1],s=e[i+1][0],a=e[i+1][1],l=Math.sqrt((s-o)*(s-o)+(a-n)*(a-n)),u=(a-n)/l,p=(s-o)/l,c=l/t;if(c>1){for(let e=1;e<=c-1;e++){const i=e*t,s=p*i+o,a=u*i+n;r.push([s,a])}const e=(l+Math.floor(c-1)*t)/2,i=p*e+o,s=u*e+n;r.push([i,s])}r.push([s,a])}}return function(e){return"polygon"===e.type}(e)?new a.A({rings:i,spatialReference:e.spatialReference}):new l.A({paths:i,spatialReference:e.spatialReference})}(e,1e6);e=(0,d.ci)(t,!0)}return r&&(e=(0,p.kS)(e,r)),e}function C(e,t,r){if(Array.isArray(e)){const i=e[0];if(i>t){const r=(0,p.kd)(i,t);e[0]=i+r*(-2*t)}else if(i<r){const t=(0,p.kd)(i,r);e[0]=i+t*(-2*r)}}else{const i=e.x;if(i>t){const r=(0,p.kd)(i,t);e=e.clone().offset(r*(-2*t),0)}else if(i<r){const t=(0,p.kd)(i,r);e=e.clone().offset(t*(-2*r),0)}}return e}function S(e,t){let r=-1;for(let i=0;i<t.cutIndexes.length;i++){const o=t.cutIndexes[i],n=t.geometries[i],s=(0,p.r8)(n);for(let e=0;e<s.length;e++){const t=s[e];t.some(r=>{if(r[0]<180)return!0;{let r=0;for(let e=0;e<t.length;e++){const i=t[e][0];r=i>r?i:r}r=Number(r.toFixed(9));const i=-360*(0,p.kd)(r,180);for(let r=0;r<t.length;r++){const t=n.getPoint(e,r);n.setPoint(e,r,t.clone().offset(i,0))}return!0}})}if(o===r){if(b(e))for(const t of(0,p.r8)(n))e[o]=e[o].addRing(t);else if(w(e))for(const t of(0,p.r8)(n))e[o]=e[o].addPath(t)}else r=o,e[o]=n}return e}async function M(e,t,r){if(!Array.isArray(e))return M([e],t);t&&"string"!=typeof t&&v().warn("normalizeCentralMeridian()","The url object is deprecated, use the url string instead");const o="string"==typeof t?t:t?.url??i.A.geometryServiceUrl;let n,s,u,b,w,A,I,O,N=0;const Z=[],j=[];for(const t of e)if(null!=t)if(n||(n=t.spatialReference,s=(0,c.Vp)(n),u=n.isWebMercator,A=u?102100:4326,b=p.j7[A].maxX,w=p.j7[A].minX,I=p.j7[A].plus180Line,O=p.j7[A].minus180Line),s)if("mesh"===t.type)j.push(t);else if("point"===t.type)j.push(C(t.clone(),b,w));else if("multipoint"===t.type){const e=t.clone();e.points=e.points.map(e=>C(e,b,w)),j.push(e)}else if("extent"===t.type){const e=t.clone()._normalize(!1,!1,s);j.push(e.rings?new a.A(e):e)}else if(t.extent){const e=t.extent,r=(0,p.kd)(e.xmin,w)*(2*b);let i=0===r?t.clone():(0,p.kS)(t.clone(),r);e.offset(r,0);let{xmin:o,xmax:n}=e;o=Number(o.toFixed(9)),n=Number(n.toFixed(9)),e.intersects(I)&&n!==b?(N=n>N?n:N,i=T(i,u),Z.push(i),j.push("cut")):e.intersects(O)&&o!==w?(N=n*(2*b)>N?n*(2*b):N,i=T(i,u,360),Z.push(i),j.push("cut")):j.push(i)}else j.push(t.clone());else j.push(t);else j.push(t);let D=(0,p.kd)(N,b),F=-90;const x=D,R=new l.A;for(;D>0;){const e=360*D-180;R.addPath([[e,F],[e,-1*F]]),F*=-1,D--}if(Z.length>0&&x>0){const t=S(Z,await async function(e,t,r,i){const o=(0,f.Dl)(e),n=t[0].spatialReference,s={...i,responseType:"json",query:{...o.query,f:"json",sr:(0,c.YX)(n),target:JSON.stringify({geometryType:(0,y.$B)(t[0]),geometries:t}),cutter:JSON.stringify(r)}},a=await(0,m.A)(o.path+"/cut",s),{cutIndexes:l,geometries:u=[]}=a.data;return{cutIndexes:l,geometries:u.map(e=>{const t=(0,y.rS)(e);return t.spatialReference=n,t})}}(o,Z,R,r)),i=[],n=[];for(let r=0;r<j.length;r++){const o=j[r];if("cut"!==o)n.push(o);else{const o=t.shift(),s=e[r];null!=s&&"polygon"===s.type&&s.rings&&s.rings.length>1&&o.rings.length>=s.rings.length?(i.push(o),n.push("simplify")):n.push(u?(0,d.Gh)(o):o)}}if(!i.length)return n;const s=await async function(e,t,r){const i="string"==typeof e?(0,h.An)(e):e,o=t[0].spatialReference,n=(0,y.$B)(t[0]),s={...r,query:{...i.query,f:"json",sr:(0,c.YX)(o),geometries:JSON.stringify((0,g.X)(t))}},{data:a}=await(0,m.A)(i.path+"/simplify",s);return(0,g.V)(a.geometries,n,o)}(o,i,r),a=[];for(let e=0;e<n.length;e++){const t=n[e];"simplify"!==t?a.push(t):a.push(u?(0,d.Gh)(s.shift()):s.shift())}return a}const B=[];for(let e=0;e<j.length;e++){const t=j[e];if("cut"!==t)B.push(t);else{const e=Z.shift();B.push(!0===u?(0,d.Gh)(e):e)}}return B}function A(e,t,r){const i=(0,c.Vp)(r);if(null==i)return e;const[o,n]=i.valid,s=2*n;let a=0,l=0;t>n?a=Math.ceil(Math.abs(t-n)/s):t<o&&(a=-Math.ceil(Math.abs(t-o)/s)),e>n?l=Math.ceil(Math.abs(e-n)/s):e<o&&(l=-Math.ceil(Math.abs(e-o)/s));let u=e+(a-l)*s;const p=u-t;return p>n?u-=s:p<o&&(u+=s),u}function I(e){const t=(0,c.Vp)(e);if(null==t)return null;const[r,i]=t.valid;return new o.hr(r,i)}const O=I(u.A.WGS84);I(u.A.WebMercator)},24097:(e,t,r)=>{r.d(t,{K:()=>i});const i={type:String,json:{read:{source:"token"},write:{target:"token"}}}},25036:(e,t,r)=>{r.d(t,{j:()=>n});var i=r(31635),o=r(91429);const n=e=>{const t=e;let r=class extends t{constructor(){super(...arguments),this.minScale=0,this.maxScale=0}get effectiveScaleRange(){const e={minScale:this.minScale,maxScale:this.maxScale},t=this.parent;void 0!==t?.effectiveScaleRange&&function(e,t){e.minScale=e.minScale>0?t.minScale>0?Math.min(e.minScale,t.minScale):e.minScale:t.minScale,e.maxScale=e.maxScale>0?t.maxScale>0?Math.max(e.maxScale,t.maxScale):e.maxScale:t.maxScale}(e,t.effectiveScaleRange);const r=this._get("effectiveScaleRange");return r&&r.minScale===e.minScale&&r.maxScale===e.maxScale?r:e}};return(0,i.Cg)([(0,o.MZ)({type:Number,nonNullable:!0,json:{write:!0}})],r.prototype,"minScale",void 0),(0,i.Cg)([(0,o.MZ)({type:Number,nonNullable:!0,json:{write:!0}})],r.prototype,"maxScale",void 0),(0,i.Cg)([(0,o.MZ)({readOnly:!0})],r.prototype,"effectiveScaleRange",null),r=(0,i.Cg)([(0,o.$K)("esri.layers.mixins.ScaleRangeLayer")],r),r}},34507:(e,t,r)=>{r.r(t),r.d(t,{default:()=>xt});var i=r(31635),o=r(92602),n=r(52106),s=r(37838),a=r(7762),l=r(49186),u=r(53966),p=r(25728),c=r(93637),d=r(74887),m=r(36708),y=r(86211),f=r(84952),h=r(91429),g=r(46130),v=r(5443),b=r(48526),w=r(91218),T=r(16930),C=r(21325),S=r(4146),M=r(63074),A=r(16131),I=r(8303),O=r(25036),N=r(60694),Z=r(25482),j=r(53930),D=r(33910);let F=class extends Z.o{constructor(e){super(e),this.break=new j.A({color:[255,255,255],size:12,outline:{color:[0,122,194],width:3}}),this.first=new j.A({color:[0,255,0],size:20,outline:{color:[255,255,255],width:4}}),this.unlocated=new j.A({color:[255,0,0],size:12,outline:{color:[255,255,255],width:3}}),this.last=new j.A({color:[255,0,0],size:20,outline:{color:[255,255,255],width:4}}),this.middle=new j.A({color:[51,51,51],size:12,outline:{color:[0,122,194],width:3}}),this.waypoint=new j.A({color:[255,255,255],size:12,outline:{color:[0,122,194],width:3}})}};(0,i.Cg)([(0,h.MZ)({types:D.wC})],F.prototype,"break",void 0),(0,i.Cg)([(0,h.MZ)({types:D.wC})],F.prototype,"first",void 0),(0,i.Cg)([(0,h.MZ)({types:D.wC})],F.prototype,"unlocated",void 0),(0,i.Cg)([(0,h.MZ)({types:D.wC})],F.prototype,"last",void 0),(0,i.Cg)([(0,h.MZ)({types:D.wC})],F.prototype,"middle",void 0),(0,i.Cg)([(0,h.MZ)({types:D.wC})],F.prototype,"waypoint",void 0),F=(0,i.Cg)([(0,h.$K)("esri.layers.support.RouteStopSymbols")],F);var x=r(94985),R=r(31593);let B=class extends Z.o{constructor(e){super(e),this.directionLines=new R.A({color:[0,122,194],width:6}),this.directionPoints=new j.A({color:[255,255,255],size:6,outline:{color:[0,122,194],width:2}}),this.pointBarriers=new j.A({style:"x",size:10,outline:{color:[255,0,0],width:3}}),this.polygonBarriers=new x.A({color:[255,170,0,.6],outline:{width:7.5,color:[255,0,0,.6]}}),this.polylineBarriers=new R.A({width:7.5,color:[255,85,0,.7]}),this.routeInfo=new R.A({width:8,color:[20,89,127]}),this.stops=new F}};(0,i.Cg)([(0,h.MZ)({types:D.Y7})],B.prototype,"directionLines",void 0),(0,i.Cg)([(0,h.MZ)({types:D.wC})],B.prototype,"directionPoints",void 0),(0,i.Cg)([(0,h.MZ)({types:D.wC})],B.prototype,"pointBarriers",void 0),(0,i.Cg)([(0,h.MZ)({types:D.Ac})],B.prototype,"polygonBarriers",void 0),(0,i.Cg)([(0,h.MZ)({types:D.Y7})],B.prototype,"polylineBarriers",void 0),(0,i.Cg)([(0,h.MZ)({types:D.Y7})],B.prototype,"routeInfo",void 0),(0,i.Cg)([(0,h.MZ)({type:F})],B.prototype,"stops",void 0),B=(0,i.Cg)([(0,h.$K)("esri.layers.support.RouteSymbols")],B);var P=r(20655),_=r(80812),E=r(10407),L=r(65494),J=r(11254),U=r(2272),k=r(2073),$=r(93223);let W=class extends Z.o{constructor(e){super(e),this.dataType=null,this.name=null,this.parameterNames=null,this.restrictionUsageParameterName=null,this.timeNeutralAttributeName=null,this.trafficSupport=null,this.units=null,this.usageType=null}};(0,i.Cg)([(0,h.MZ)({type:String})],W.prototype,"dataType",void 0),(0,i.Cg)([(0,$.e)(k.et,{ignoreUnknown:!1})],W.prototype,"name",void 0),(0,i.Cg)([(0,h.MZ)({type:[String]})],W.prototype,"parameterNames",void 0),(0,i.Cg)([(0,h.MZ)({type:String})],W.prototype,"restrictionUsageParameterName",void 0),(0,i.Cg)([(0,$.e)(k.Mm,{ignoreUnknown:!1})],W.prototype,"timeNeutralAttributeName",void 0),(0,i.Cg)([(0,h.MZ)({type:String})],W.prototype,"trafficSupport",void 0),(0,i.Cg)([(0,$.e)(k.dn)],W.prototype,"units",void 0),(0,i.Cg)([(0,$.e)(k.WU)],W.prototype,"usageType",void 0),W=(0,i.Cg)([(0,h.$K)("esri.rest.support.NetworkAttribute")],W);const V=W;let G=class extends Z.o{constructor(e){super(e),this.buildTime=null,this.name=null,this.networkAttributes=null,this.networkSources=null,this.state=null}};(0,i.Cg)([(0,h.MZ)({type:Number})],G.prototype,"buildTime",void 0),(0,i.Cg)([(0,h.MZ)({type:String})],G.prototype,"name",void 0),(0,i.Cg)([(0,h.MZ)({type:[V]})],G.prototype,"networkAttributes",void 0),(0,i.Cg)([(0,h.MZ)()],G.prototype,"networkSources",void 0),(0,i.Cg)([(0,h.MZ)({type:String})],G.prototype,"state",void 0),G=(0,i.Cg)([(0,h.$K)("esri.rest.support.NetworkDataset")],G);const q=G;var K=r(69540),z=r(36005),Y=r(43937);let H=class extends((0,K.OU)(Z.o)){constructor(e){super(e),this.attributeParameterValues=null,this.description=null,this.distanceAttributeName=null,this.id=null,this.impedanceAttributeName=null,this.name=null,this.restrictionAttributeNames=null,this.simplificationTolerance=null,this.simplificationToleranceUnits=null,this.timeAttributeName=null,this.type=null,this.useHierarchy=null,this.uturnAtJunctions=null}readId(e,t){return t.id??t.itemId??null}readRestrictionAttributes(e,t){const{restrictionAttributeNames:r}=t;return null==r?null:r.map(e=>k.OC.fromJSON(e))}writeRestrictionAttributes(e,t,r){null!=e&&(t[r]=e.map(e=>k.OC.toJSON(e)))}};(0,i.Cg)([(0,h.MZ)({type:[Object],json:{write:!0}})],H.prototype,"attributeParameterValues",void 0),(0,i.Cg)([(0,h.MZ)({type:String,json:{write:!0}})],H.prototype,"description",void 0),(0,i.Cg)([(0,$.e)(k.dd,{ignoreUnknown:!1})],H.prototype,"distanceAttributeName",void 0),(0,i.Cg)([(0,h.MZ)({type:String,json:{write:!0}})],H.prototype,"id",void 0),(0,i.Cg)([(0,z.w)("id",["id","itemId"])],H.prototype,"readId",null),(0,i.Cg)([(0,$.e)(k.et,{ignoreUnknown:!1})],H.prototype,"impedanceAttributeName",void 0),(0,i.Cg)([(0,h.MZ)({type:String,json:{write:!0}})],H.prototype,"name",void 0),(0,i.Cg)([(0,h.MZ)({type:[String],json:{write:!0}})],H.prototype,"restrictionAttributeNames",void 0),(0,i.Cg)([(0,z.w)("restrictionAttributeNames")],H.prototype,"readRestrictionAttributes",null),(0,i.Cg)([(0,Y.K)("restrictionAttributeNames")],H.prototype,"writeRestrictionAttributes",null),(0,i.Cg)([(0,h.MZ)({type:Number,json:{write:{allowNull:!0}}})],H.prototype,"simplificationTolerance",void 0),(0,i.Cg)([(0,$.e)(k.hY)],H.prototype,"simplificationToleranceUnits",void 0),(0,i.Cg)([(0,$.e)(k.Mm,{ignoreUnknown:!1})],H.prototype,"timeAttributeName",void 0),(0,i.Cg)([(0,$.e)(k.ow)],H.prototype,"type",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,json:{write:!0}})],H.prototype,"useHierarchy",void 0),(0,i.Cg)([(0,$.e)(k.hE)],H.prototype,"uturnAtJunctions",void 0),H=(0,i.Cg)([(0,h.$K)("esri.rest.support.TravelMode")],H);let X=class extends Z.o{constructor(e){super(e),this.accumulateAttributeNames=null,this.attributeParameterValues=null,this.currentVersion=null,this.defaultTravelMode=null,this.directionsLanguage=null,this.directionsLengthUnits=null,this.directionsSupportedLanguages=null,this.directionsTimeAttribute=null,this.hasZ=null,this.impedance=null,this.networkDataset=null,this.supportedTravelModes=null}readAccumulateAttributes(e){return null==e?null:e.map(e=>k.et.fromJSON(e))}writeAccumulateAttributes(e,t,r){e?.length&&(t[r]=e.map(e=>k.et.toJSON(e)))}get capabilities(){return{supportsNow:(this.currentVersion??10)>=10.81}}readDefaultTravelMode(e,t){const r=t.supportedTravelModes?.find(({id:e})=>e===t.defaultTravelMode)??t.supportedTravelModes?.find(({itemId:e})=>e===t.defaultTravelMode);return r?H.fromJSON(r):null}};function Q(e,t,r,i){i[r]=[t.length,t.length+e.length],e.forEach(e=>{t.push(e.geometry)})}async function ee(e,t,r){if(!e)throw new l.A("network-service:missing-url","Url to Network service is missing");const i=(0,U.jV)({f:"json",token:t},r),{data:o}=await(0,J.A)(e,i),n=o.currentVersion>=10.4?async function(e,t,r){try{const i=(0,U.jV)({f:"json",token:t},r),o=(0,f.UC)(e)+"/retrieveTravelModes",{data:{supportedTravelModes:n,defaultTravelMode:s}}=await(0,J.A)(o,i);return{supportedTravelModes:n,defaultTravelMode:s}}catch(e){throw new l.A("network-service:retrieveTravelModes","Could not get to the NAServer's retrieveTravelModes.",{error:e})}}(e,t,r):async function(e,t){const r=(0,U.jV)({f:"json"},t),{data:i}=await(0,J.A)(e.replace(/\/rest\/.*$/i,"/info"),r);if(!i?.owningSystemUrl)return{supportedTravelModes:[],defaultTravelMode:null};const{owningSystemUrl:o}=i,n=(0,f.UC)(o)+"/sharing/rest/portals/self",{data:s}=await(0,J.A)(n,r),a=(0,c.wc)("helperServices.routingUtilities.url",s);if(!a)return{supportedTravelModes:[],defaultTravelMode:null};const l=(0,U.Dl)(o),u=/\/solve$/i.test(l.path)?"Route":/\/solveclosestfacility$/i.test(l.path)?"ClosestFacility":"ServiceAreas",p=(0,U.jV)({f:"json",serviceName:u},t),d=(0,f.UC)(a)+"/GetTravelModes/execute",m=await(0,J.A)(d,p),y=[];let h=null;if(m?.data?.results?.length){const e=m.data.results;for(const t of e)if("supportedTravelModes"===t.paramName){if(t.value?.features)for(const{attributes:e}of t.value.features)if(e){const t=JSON.parse(e.TravelMode);y.push(t)}}else"defaultTravelMode"===t.paramName&&(h=t.value)}return{supportedTravelModes:y,defaultTravelMode:h}}(e,r),{defaultTravelMode:s,supportedTravelModes:a}=await n;return o.defaultTravelMode=s,o.supportedTravelModes=a,X.fromJSON(o)}(0,i.Cg)([(0,h.MZ)()],X.prototype,"accumulateAttributeNames",void 0),(0,i.Cg)([(0,z.w)("accumulateAttributeNames")],X.prototype,"readAccumulateAttributes",null),(0,i.Cg)([(0,Y.K)("accumulateAttributeNames")],X.prototype,"writeAccumulateAttributes",null),(0,i.Cg)([(0,h.MZ)()],X.prototype,"attributeParameterValues",void 0),(0,i.Cg)([(0,h.MZ)()],X.prototype,"capabilities",null),(0,i.Cg)([(0,h.MZ)()],X.prototype,"currentVersion",void 0),(0,i.Cg)([(0,h.MZ)()],X.prototype,"defaultTravelMode",void 0),(0,i.Cg)([(0,z.w)("defaultTravelMode",["defaultTravelMode","supportedTravelModes"])],X.prototype,"readDefaultTravelMode",null),(0,i.Cg)([(0,h.MZ)()],X.prototype,"directionsLanguage",void 0),(0,i.Cg)([(0,$.e)(k.Z7)],X.prototype,"directionsLengthUnits",void 0),(0,i.Cg)([(0,h.MZ)()],X.prototype,"directionsSupportedLanguages",void 0),(0,i.Cg)([(0,$.e)(k.Mm,{ignoreUnknown:!1})],X.prototype,"directionsTimeAttribute",void 0),(0,i.Cg)([(0,h.MZ)()],X.prototype,"hasZ",void 0),(0,i.Cg)([(0,$.e)(k.et,{ignoreUnknown:!1})],X.prototype,"impedance",void 0),(0,i.Cg)([(0,h.MZ)({type:q})],X.prototype,"networkDataset",void 0),(0,i.Cg)([(0,h.MZ)({type:[H]})],X.prototype,"supportedTravelModes",void 0),X=(0,i.Cg)([(0,h.$K)("esri.rest.support.NetworkServiceDescription")],X);var te=r(16649),re=r(17136);function ie(e,t){if(null==e)return null;const r={},i=new RegExp(`^${t}`,"i");for(const o of Object.keys(e))if(i.test(o)){const i=o.slice(t.length);r[k.et.fromJSON(i)]=e[o]}return r}function oe(e,t,r){if(null!=e){t.attributes||(t.attributes={});for(const i in e){const o=k.et.toJSON(i);t.attributes[`${r}${o}`]=e[i]}}}function ne(e){const t={};for(const r of Object.keys(e)){const i=r;t[k.et.fromJSON(i)]=e[r]}return t}function se(e){const t={};for(const r of Object.keys(e)){const i=r;t[k.et.toJSON(i)]=e[r]}return t}function ae(e,t){return null==e||null==t?null:Math.round((e-t)/6e4)}function le(e){const t=e.toJSON(),r=t;return r.accumulateAttributeNames&&=t.accumulateAttributeNames?.join(),r.attributeParameterValues&&=JSON.stringify(t.attributeParameterValues),r.barriers&&=JSON.stringify(t.barriers),r.outSR&&=t.outSR?.wkid,r.overrides&&=JSON.stringify(t.overrides),r.polygonBarriers&&=JSON.stringify(t.polygonBarriers),r.polylineBarriers&&=JSON.stringify(t.polylineBarriers),r.restrictionAttributeNames&&=t.restrictionAttributeNames?.join(),r.stops&&=JSON.stringify(t.stops),r.travelMode&&=JSON.stringify(t.travelMode),r}var ue=r(22671),pe=r(4576),ce=r(66552),de=r(37807);const me=new ce.J({0:"informative",1:"process-definition",2:"process-start",3:"process-stop",50:"warning",100:"error",101:"empty",200:"abort"});let ye=class extends de.A{constructor(e){super(e),this.type=null}};(0,i.Cg)([(0,h.MZ)({type:String,json:{read:me.read,write:me.write}})],ye.prototype,"type",void 0),ye=(0,i.Cg)([(0,h.$K)("esri.rest.support.NAMessage")],ye);const fe=ye;var he=r(82799),ge=r(86738);let ve=class extends Z.o{constructor(e){super(e)}};(0,i.Cg)([(0,h.MZ)({json:{read:{source:"string"}}})],ve.prototype,"text",void 0),(0,i.Cg)([(0,$.e)(k.Ec,{name:"stringType"})],ve.prototype,"type",void 0),ve=(0,i.Cg)([(0,h.$K)("esri.rest.support.DirectionsString")],ve);const be=ve;let we=class extends Z.o{constructor(e){super(e),this.arriveTime=null,this.arriveTimeOffset=null,this.geometry=null,this.strings=null}readArriveTimeOffset(e,t){return ae(t.ETA,t.arriveTimeUTC)}readGeometry(e,t){return ge.A.fromJSON(t.point)}};(0,i.Cg)([(0,h.MZ)({type:Date,json:{read:{source:"arriveTimeUTC"}}})],we.prototype,"arriveTime",void 0),(0,i.Cg)([(0,h.MZ)()],we.prototype,"arriveTimeOffset",void 0),(0,i.Cg)([(0,z.w)("arriveTimeOffset",["arriveTimeUTC","ETA"])],we.prototype,"readArriveTimeOffset",null),(0,i.Cg)([(0,h.MZ)({type:ge.A})],we.prototype,"geometry",void 0),(0,i.Cg)([(0,z.w)("geometry",["point"])],we.prototype,"readGeometry",null),(0,i.Cg)([(0,h.MZ)({type:[be]})],we.prototype,"strings",void 0),we=(0,i.Cg)([(0,h.$K)("esri.rest.support.DirectionsEvent")],we);const Te=we;let Ce=class extends n.A{constructor(e){super(e),this.events=null,this.geometry=null,this.strings=null}set attributes(e){super.attributes=e}readGeometry(e,t){const r=function(e){if(null==e||""===e)return null;let t=0,r=0,i=0,o=0;const n=[];let s,a,l,u,p,c,d,m,y=0,f=0,h=0;if(p=e.match(/((\+|-)[^+\-|]+|\|)/g),p||(p=[]),0===parseInt(p[y],32)){y=2;const e=parseInt(p[y],32);y++,c=parseInt(p[y],32),y++,1&e&&(f=p.indexOf("|")+1,d=parseInt(p[f],32),f++),2&e&&(h=p.indexOf("|",f)+1,m=parseInt(p[h],32),h++)}else c=parseInt(p[y],32),y++;for(;y<p.length&&"|"!==p[y];){s=parseInt(p[y],32)+t,y++,t=s,a=parseInt(p[y],32)+r,y++,r=a;const e=[s/c,a/c];f&&(u=parseInt(p[f],32)+i,f++,i=u,e.push(u/d)),h&&(l=parseInt(p[h],32)+o,h++,o=l,e.push(l/m)),n.push(e)}return{paths:[n],hasZ:f>0,hasM:h>0}}(t.compressedGeometry);return null!=r?he.A.fromJSON(r):null}};(0,i.Cg)([(0,h.MZ)({type:[Te]})],Ce.prototype,"events",void 0),(0,i.Cg)([(0,h.MZ)({type:he.A})],Ce.prototype,"geometry",void 0),(0,i.Cg)([(0,z.w)("geometry",["compressedGeometry"])],Ce.prototype,"readGeometry",null),(0,i.Cg)([(0,h.MZ)({type:[be]})],Ce.prototype,"strings",void 0),Ce=(0,i.Cg)([(0,h.$K)("esri.rest.support.DirectionsFeature")],Ce);const Se=Ce;let Me=class extends ue.A{constructor(e){super(e),this.extent=null,this.features=[],this.geometryType="polyline",this.routeId=null,this.routeName=null,this.totalDriveTime=null,this.totalLength=null,this.totalTime=null}readFeatures(e,t){if(!e)return[];const r=t.summary.envelope.spatialReference??t.spatialReference,i=r&&T.A.fromJSON(r);return e.map(e=>{const t=Se.fromJSON(e);if(null!=t.geometry&&(t.geometry.spatialReference=i),null!=t.events)for(const e of t.events)null!=e.geometry&&(e.geometry.spatialReference=i);return t})}get mergedGeometry(){return this.features?function(e,t){if(0===e.length)return new he.A({spatialReference:t});const r=[];for(const t of e)for(const e of t.paths)r.push(...e);const i=[];r.forEach((e,t)=>{0!==t&&e[0]===r[t-1][0]&&e[1]===r[t-1][1]||i.push(e)});const{hasM:o,hasZ:n}=e[0];return new he.A({hasM:o,hasZ:n,paths:[i],spatialReference:t})}(this.features.map(({geometry:e})=>e),this.extent.spatialReference):null}get strings(){return this.features.flatMap(({strings:e})=>e).filter(pe.Ru)}};(0,i.Cg)([(0,h.MZ)({type:v.A,json:{read:{source:"summary.envelope"}}})],Me.prototype,"extent",void 0),(0,i.Cg)([(0,h.MZ)({nonNullable:!0})],Me.prototype,"features",void 0),(0,i.Cg)([(0,z.w)("features")],Me.prototype,"readFeatures",null),(0,i.Cg)([(0,h.MZ)()],Me.prototype,"geometryType",void 0),(0,i.Cg)([(0,h.MZ)({readOnly:!0})],Me.prototype,"mergedGeometry",null),(0,i.Cg)([(0,h.MZ)()],Me.prototype,"routeId",void 0),(0,i.Cg)([(0,h.MZ)()],Me.prototype,"routeName",void 0),(0,i.Cg)([(0,h.MZ)({value:null,readOnly:!0})],Me.prototype,"strings",null),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"summary.totalDriveTime"}}})],Me.prototype,"totalDriveTime",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"summary.totalLength"}}})],Me.prototype,"totalLength",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"summary.totalTime"}}})],Me.prototype,"totalTime",void 0),Me=(0,i.Cg)([(0,h.$K)("esri.rest.support.DirectionsFeatureSet")],Me);const Ae=Me;let Ie=class extends Z.o{constructor(e){super(e),this.directionLines=null,this.directionPoints=null,this.directions=null,this.route=null,this.routeName=null,this.stops=null,this.traversedEdges=null,this.traversedJunctions=null,this.traversedTurns=null}};(0,i.Cg)([(0,h.MZ)({type:ue.A,json:{write:!0}})],Ie.prototype,"directionLines",void 0),(0,i.Cg)([(0,h.MZ)({type:ue.A,json:{write:!0}})],Ie.prototype,"directionPoints",void 0),(0,i.Cg)([(0,h.MZ)({type:Ae,json:{write:!0}})],Ie.prototype,"directions",void 0),(0,i.Cg)([(0,h.MZ)({type:n.A,json:{write:!0}})],Ie.prototype,"route",void 0),(0,i.Cg)([(0,h.MZ)({type:String,json:{write:!0}})],Ie.prototype,"routeName",void 0),(0,i.Cg)([(0,h.MZ)({type:[n.A],json:{write:!0}})],Ie.prototype,"stops",void 0),(0,i.Cg)([(0,h.MZ)({type:ue.A,json:{write:!0}})],Ie.prototype,"traversedEdges",void 0),(0,i.Cg)([(0,h.MZ)({type:ue.A,json:{write:!0}})],Ie.prototype,"traversedJunctions",void 0),(0,i.Cg)([(0,h.MZ)({type:ue.A,json:{write:!0}})],Ie.prototype,"traversedTurns",void 0),Ie=(0,i.Cg)([(0,h.$K)("esri.rest.support.RouteResult")],Ie);const Oe=Ie;function Ne(e){return e?ue.A.fromJSON(e).features.filter(pe.Ru):[]}let Ze=class extends Z.o{constructor(e){super(e),this.checksum=null,this.messages=null,this.pointBarriers=null,this.polylineBarriers=null,this.polygonBarriers=null,this.routeResults=null}readPointBarriers(e,t){return Ne(t.barriers)}readPolylineBarriers(e){return Ne(e)}readPolygonBarriers(e){return Ne(e)}};function je(e){return e instanceof ue.A}async function De(e,t,r){const i=[],o=[],n={},s={},a=(0,U.Dl)(e),{path:l}=a;je(t.stops)&&Q(t.stops.features,o,"stops.features",n),je(t.pointBarriers)&&Q(t.pointBarriers.features,o,"pointBarriers.features",n),je(t.polylineBarriers)&&Q(t.polylineBarriers.features,o,"polylineBarriers.features",n),je(t.polygonBarriers)&&Q(t.polygonBarriers.features,o,"polygonBarriers.features",n);const p=await(0,re.el)(o);for(const e in n){const t=n[e];i.push(e),s[e]=p.slice(t[0],t[1])}if(function(e,t){for(let r=0;r<t.length;r++){const i=e[t[r]];if(i&&i.length)for(const e of i)if(null!=e&&e.hasZ)return!0}return!1}(s,i)){let e=null;try{e=await ee(l,t.apiKey,r)}catch{}e&&!e.hasZ&&function(e,t){for(let r=0;r<t.length;r++){const i=e[t[r]];if(i&&i.length)for(const e of i)e.z=void 0}u.A.getLogger("esri.rest.networkService").warnOnce("The remote Network Analysis service is powered by a network dataset which is not Z-aware.\nZ-coordinates of the input geometry are ignored.")}(s,i)}for(const e in s)s[e].forEach((r,i)=>{(0,te.Jt)(t,e)[i].geometry=r});const c={...r,query:{...a.query,...le(t),f:"json"}},d=l.endsWith("/solve")?l:`${l}/solve`,{data:m}=await(0,J.A)(d,c);return function(e){const{barriers:t,checksum:r,directionLines:i,directionPoints:o,directions:n,messages:s,polygonBarriers:a,polylineBarriers:l,routes:u,stops:p,traversedEdges:c,traversedJunctions:d,traversedTurns:m}=e,y=e=>{const t=h.find(t=>t.routeName===e);if(null!=t)return t;const r={routeId:h.length+1,routeName:e};return h.push(r),r},f=e=>{const t=h.find(t=>t.routeId===e);if(null!=t)return t;const r={routeId:e,routeName:null};return h.push(r),r},h=[];u?.features.forEach((e,t)=>{e.geometry.spatialReference=u.spatialReference??void 0;const r=e.attributes.Name,i=t+1;h.push({routeId:i,routeName:r,route:e})}),n?.forEach(e=>{const{routeName:t}=e;y(t).directions=e});const g=p?.features.every(e=>null==e.attributes.RouteName)&&h.length>0?h[0].routeName:null;return p?.features.forEach(e=>{e.geometry&&(e.geometry.spatialReference??=p.spatialReference??void 0);const t=g??e.attributes.RouteName,r=y(t);r.stops??=[],r.stops.push(e)}),i?.features.forEach(e=>{const t=e.attributes.RouteID,r=f(t),{geometryType:o,spatialReference:n}=i;r.directionLines??={features:[],geometryType:o,spatialReference:n},r.directionLines.features.push(e)}),o?.features.forEach(e=>{const t=e.attributes.RouteID,r=f(t),{geometryType:i,spatialReference:n}=o;r.directionPoints??={features:[],geometryType:i,spatialReference:n},r.directionPoints.features.push(e)}),c?.features.forEach(e=>{const t=e.attributes.RouteID,r=f(t),{geometryType:i,spatialReference:o}=c;r.traversedEdges??={features:[],geometryType:i,spatialReference:o},r.traversedEdges.features.push(e)}),d?.features.forEach(e=>{const t=e.attributes.RouteID,r=f(t),{geometryType:i,spatialReference:o}=d;r.traversedJunctions??={features:[],geometryType:i,spatialReference:o},r.traversedJunctions.features.push(e)}),m?.features.forEach(e=>{const t=e.attributes.RouteID,r=f(t);r.traversedTurns??={features:[]},r.traversedTurns.features.push(e)}),Ze.fromJSON({barriers:t,checksum:r,messages:s,polygonBarriers:a,polylineBarriers:l,routeResults:h})}(m)}var Fe;(0,i.Cg)([(0,h.MZ)({type:String})],Ze.prototype,"checksum",void 0),(0,i.Cg)([(0,h.MZ)({type:[fe]})],Ze.prototype,"messages",void 0),(0,i.Cg)([(0,h.MZ)({type:[n.A]})],Ze.prototype,"pointBarriers",void 0),(0,i.Cg)([(0,z.w)("pointBarriers",["barriers"])],Ze.prototype,"readPointBarriers",null),(0,i.Cg)([(0,h.MZ)({type:[n.A]})],Ze.prototype,"polylineBarriers",void 0),(0,i.Cg)([(0,z.w)("polylineBarriers")],Ze.prototype,"readPolylineBarriers",null),(0,i.Cg)([(0,h.MZ)({type:[n.A]})],Ze.prototype,"polygonBarriers",void 0),(0,i.Cg)([(0,z.w)("polygonBarriers")],Ze.prototype,"readPolygonBarriers",null),(0,i.Cg)([(0,h.MZ)({type:[Oe]})],Ze.prototype,"routeResults",void 0),Ze=(0,i.Cg)([(0,h.$K)("esri.rest.support.RouteSolveResult")],Ze);let xe=class extends((0,K.OU)(Z.o)){static{Fe=this}constructor(e){super(e),this.directionLineType=null,this.directionPointId=null,this.distance=null,this.duration=null,this.fromLevel=null,this.geometry=null,this.objectId=null,this.popupTemplate=null,this.symbol=null,this.toLevel=null,this.type="direction-line"}static{this.fields=[{name:"ObjectID",alias:"ObjectID",type:"esriFieldTypeOID"},{name:"DirectionLineType",alias:"Line Type",type:"esriFieldTypeInteger"},{name:"DirectionPointID",alias:"Direction Point ID",type:"esriFieldTypeInteger"},{name:"FromLevel",alias:"From Level",type:"esriFieldTypeInteger"},{name:"Meters",alias:"Meters",type:"esriFieldTypeDouble"},{name:"Minutes",alias:"Minutes",type:"esriFieldTypeDouble"},{name:"ToLevel",alias:"To Level",type:"esriFieldTypeInteger"}]}static fromGraphic(e){return new Fe({directionLineType:k.gD.fromJSON(e.attributes.DirectionLineType),directionPointId:e.attributes.DirectionPointID,distance:e.attributes.Meters,duration:e.attributes.Minutes,fromLevel:e.attributes.FromLevel??null,geometry:e.geometry,objectId:e.attributes.ObjectID??e.attributes.__OBJECTID,popupTemplate:e.popupTemplate,symbol:e.symbol,toLevel:e.attributes.ToLevel??null})}toGraphic(){const e={ObjectID:this.objectId,DirectionLineType:this.directionLineType?k.gD.toJSON(this.directionLineType):null,DirectionPointID:this.directionPointId,Meters:this.distance,Minutes:this.duration};return null!=this.fromLevel&&(e.FromLevel=this.fromLevel),null!=this.toLevel&&(e.ToLevel=this.toLevel),new n.A({geometry:this.geometry,attributes:e,symbol:this.symbol,popupTemplate:this.popupTemplate})}};var Re;(0,i.Cg)([(0,h.MZ)({type:k.gD.apiValues,json:{read:{source:"attributes.DirectionLineType",reader:k.gD.read}}})],xe.prototype,"directionLineType",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.DirectionPointID"}}})],xe.prototype,"directionPointId",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.Meters"}}})],xe.prototype,"distance",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.Minutes"}}})],xe.prototype,"duration",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.FromLevel"}}})],xe.prototype,"fromLevel",void 0),(0,i.Cg)([(0,h.MZ)({type:he.A})],xe.prototype,"geometry",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.ObjectID"}}})],xe.prototype,"objectId",void 0),(0,i.Cg)([(0,h.MZ)({type:s.A})],xe.prototype,"popupTemplate",void 0),(0,i.Cg)([(0,h.MZ)({types:D.Es})],xe.prototype,"symbol",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.ToLevel"}}})],xe.prototype,"toLevel",void 0),(0,i.Cg)([(0,h.MZ)({readOnly:!0,json:{read:!1}})],xe.prototype,"type",void 0),xe=Fe=(0,i.Cg)([(0,h.$K)("esri.rest.support.DirectionLine")],xe);let Be=class extends((0,K.OU)(Z.o)){static{Re=this}constructor(e){super(e),this.alternateName=null,this.arrivalTime=null,this.arrivalTimeOffset=null,this.azimuth=null,this.branchName=null,this.directionPointType=null,this.displayText=null,this.exitName=null,this.geometry=null,this.intersectingName=null,this.level=null,this.name=null,this.objectId=null,this.popupTemplate=null,this.sequence=null,this.shortVoiceInstruction=null,this.stopId=null,this.symbol=null,this.towardName=null,this.type="direction-point",this.voiceInstruction=null}readArrivalTime(e,t){return null!=t.attributes.ArrivalTime?new Date(t.attributes.ArrivalTime):null}static{this.fields=[{name:"ObjectID",alias:"ObjectID",type:"esriFieldTypeOID"},{name:"AlternateName",alias:"Alternative Name",type:"esriFieldTypeString"},{name:"ArrivalTime",alias:"Arrival Time",type:"esriFieldTypeDate"},{name:"ArrivalUTCOffset",alias:"Arrival Time Offset",type:"esriFieldTypeInteger"},{name:"Azimuth",alias:"Azimuth",type:"esriFieldTypeDouble"},{name:"BranchName",alias:"Branch Name",type:"esriFieldTypeString"},{name:"DirectionPointType",alias:"Directions Point Type",type:"esriFieldTypeInteger"},{name:"DisplayText",alias:"Display Text",type:"esriFieldTypeString"},{name:"ExitName",alias:"Exit Name",type:"esriFieldTypeString"},{name:"IntersectingName",alias:"Intersecting Name",type:"esriFieldTypeString"},{name:"Level",alias:"Level",type:"esriFieldTypeInteger"},{name:"Name",alias:"Name",type:"esriFieldTypeString"},{name:"Sequence",alias:"Sequence",type:"esriFieldTypeInteger"},{name:"ShortVoiceInstruction",alias:"Short Voice Instruction",type:"esriFieldTypeString"},{name:"StopID",alias:"Stop ID",type:"esriFieldTypeInteger"},{name:"TowardName",alias:"Toward Name",type:"esriFieldTypeString"},{name:"VoiceInstruction",alias:"Voice Instruction",type:"esriFieldTypeString"}]}static fromGraphic(e){return new Re({alternateName:e.attributes.AlternateName??null,arrivalTime:null!=e.attributes.ArrivalTime?new Date(e.attributes.ArrivalTime):null,arrivalTimeOffset:e.attributes.ArrivalUTCOffset??null,azimuth:e.attributes.Azimuth??null,branchName:e.attributes.BranchName??null,directionPointType:k._6.fromJSON(e.attributes.DirectionPointType),displayText:e.attributes.DisplayText??null,exitName:e.attributes.ExitName??null,geometry:e.geometry,intersectingName:e.attributes.IntersectingName??null,level:e.attributes.Level??null,name:e.attributes.Name??null,objectId:e.attributes.ObjectID??e.attributes.__OBJECTID,popupTemplate:e.popupTemplate,sequence:e.attributes.Sequence,shortVoiceInstruction:e.attributes.ShortVoiceInstruction??null,stopId:e.attributes.StopID??null,symbol:e.symbol,towardName:e.attributes.TowardName??null,voiceInstruction:e.attributes.VoiceInstruction??null})}toGraphic(){const e={ObjectID:this.objectId,DirectionPointType:this.directionPointType?k._6.toJSON(this.directionPointType):null,Sequence:this.sequence,StopID:this.stopId};return null!=this.alternateName&&(e.AlternateName=this.alternateName),null!=this.arrivalTime&&(e.ArrivalTime=this.arrivalTime.getTime()),null!=this.arrivalTimeOffset&&(e.ArrivalUTCOffset=this.arrivalTimeOffset),null!=this.azimuth&&(e.Azimuth=this.azimuth),null!=this.branchName&&(e.BranchName=this.branchName),null!=this.displayText&&(e.DisplayText=this.displayText),null!=this.exitName&&(e.ExitName=this.exitName),null!=this.intersectingName&&(e.IntersectingName=this.intersectingName),null!=this.level&&(e.Level=this.level),null!=this.name&&(e.Name=this.name),null!=this.shortVoiceInstruction&&(e.ShortVoiceInstruction=this.shortVoiceInstruction),null!=this.towardName&&(e.TowardName=this.towardName),null!=this.voiceInstruction&&(e.VoiceInstruction=this.voiceInstruction),new n.A({geometry:this.geometry,attributes:e,symbol:this.symbol,popupTemplate:this.popupTemplate})}};var Pe;(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.AlternateName"}}})],Be.prototype,"alternateName",void 0),(0,i.Cg)([(0,h.MZ)({type:Date})],Be.prototype,"arrivalTime",void 0),(0,i.Cg)([(0,z.w)("arrivalTime",["attributes.ArrivalTime"])],Be.prototype,"readArrivalTime",null),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.ArrivalUTCOffset"}}})],Be.prototype,"arrivalTimeOffset",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.Azimuth"}}})],Be.prototype,"azimuth",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.BranchName"}}})],Be.prototype,"branchName",void 0),(0,i.Cg)([(0,h.MZ)({type:k._6.apiValues,json:{read:{source:"attributes.DirectionPointType",reader:k._6.read}}})],Be.prototype,"directionPointType",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.DisplayText"}}})],Be.prototype,"displayText",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.ExitName"}}})],Be.prototype,"exitName",void 0),(0,i.Cg)([(0,h.MZ)({type:ge.A})],Be.prototype,"geometry",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.IntersectingName"}}})],Be.prototype,"intersectingName",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.Level"}}})],Be.prototype,"level",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.Name"}}})],Be.prototype,"name",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.ObjectID"}}})],Be.prototype,"objectId",void 0),(0,i.Cg)([(0,h.MZ)({type:s.A})],Be.prototype,"popupTemplate",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.Sequence"}}})],Be.prototype,"sequence",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.ShortVoiceInstruction"}}})],Be.prototype,"shortVoiceInstruction",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.StopID"}}})],Be.prototype,"stopId",void 0),(0,i.Cg)([(0,h.MZ)({types:D.Es})],Be.prototype,"symbol",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.TowardName"}}})],Be.prototype,"towardName",void 0),(0,i.Cg)([(0,h.MZ)({readOnly:!0,json:{read:!1}})],Be.prototype,"type",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.VoiceInstruction"}}})],Be.prototype,"voiceInstruction",void 0),Be=Re=(0,i.Cg)([(0,h.$K)("esri.rest.support.DirectionPoint")],Be);let _e=class extends((0,K.OU)(Z.o)){static{Pe=this}constructor(e){super(e),this.addedCost=null,this.barrierType=null,this.costs=null,this.curbApproach=null,this.fullEdge=null,this.geometry=null,this.name=null,this.objectId=null,this.popupTemplate=null,this.sideOfEdge=null,this.sourceId=null,this.sourceOid=null,this.status=null,this.symbol=null,this.type="point-barrier"}readCosts(e,t){return ie(t.attributes,"Attr_")}writeCosts(e,t){oe(e,t,"Attr_")}static{this.fields=[{name:"ObjectID",alias:"ObjectID",type:"esriFieldTypeOID"},{name:"AddedCost",alias:"Added Cost",type:"esriFieldTypeDouble"},{name:"BarrierType",alias:"Barrier Type",type:"esriFieldTypeInteger"},{name:"Costs",alias:"Costs",type:"esriFieldTypeString"},{name:"CurbApproach",alias:"Curb Approach",type:"esriFieldTypeInteger"},{name:"FullEdge",alias:"Full Edge",type:"esriFieldTypeInteger"},{name:"Name",alias:"Name",type:"esriFieldTypeString"},{name:"Status",alias:"Status",type:"esriFieldTypeInteger"}]}static fromGraphic(e){return new Pe({addedCost:e.attributes.AddedCost??null,barrierType:null!=e.attributes.BarrierType?k.iM.fromJSON(e.attributes.BarrierType):null,costs:null!=e.attributes.Costs?ne(JSON.parse(e.attributes.Costs)):null,curbApproach:null!=e.attributes.CurbApproach?k.JJ.fromJSON(e.attributes.CurbApproach):null,fullEdge:null!=e.attributes.FullEdge?k.fe.fromJSON(e.attributes.FullEdge):null,geometry:e.geometry,name:e.attributes.Name??null,objectId:e.attributes.ObjectID??e.attributes.__OBJECTID,popupTemplate:e.popupTemplate,status:null!=e.attributes.Status?k.$r.fromJSON(e.attributes.Status):null,symbol:e.symbol})}toGraphic(){const e={ObjectID:this.objectId,AddedCost:this.addedCost,BarrierType:this.barrierType?k.iM.toJSON(this.barrierType):null,Costs:this.costs?JSON.stringify(se(this.costs)):null,CurbApproach:this.curbApproach?k.JJ.toJSON(this.curbApproach):null,FullEdge:this.fullEdge?k.fe.toJSON(this.fullEdge):null,Name:this.name,Status:this.status?k.$r.toJSON(this.status):null};return new n.A({geometry:this.geometry,attributes:e,symbol:this.symbol,popupTemplate:this.popupTemplate})}};(0,i.Cg)([(0,h.MZ)()],_e.prototype,"addedCost",void 0),(0,i.Cg)([(0,h.MZ)({type:k.iM.apiValues,json:{name:"attributes.BarrierType",read:{reader:k.iM.read},write:{writer:k.iM.write}}})],_e.prototype,"barrierType",void 0),(0,i.Cg)([(0,h.MZ)()],_e.prototype,"costs",void 0),(0,i.Cg)([(0,z.w)("costs",["attributes"])],_e.prototype,"readCosts",null),(0,i.Cg)([(0,Y.K)("costs")],_e.prototype,"writeCosts",null),(0,i.Cg)([(0,h.MZ)({type:k.JJ.apiValues,json:{read:{source:"attributes.CurbApproach",reader:k.JJ.read}}})],_e.prototype,"curbApproach",void 0),(0,i.Cg)([(0,h.MZ)({type:k.fe.apiValues,json:{name:"attributes.FullEdge",read:{reader:k.fe.read},write:{writer:k.fe.write}}})],_e.prototype,"fullEdge",void 0),(0,i.Cg)([(0,h.MZ)({type:ge.A,json:{write:!0}})],_e.prototype,"geometry",void 0),(0,i.Cg)([(0,h.MZ)({json:{name:"attributes.Name"}})],_e.prototype,"name",void 0),(0,i.Cg)([(0,h.MZ)({json:{name:"attributes.ObjectID"}})],_e.prototype,"objectId",void 0),(0,i.Cg)([(0,h.MZ)({type:s.A})],_e.prototype,"popupTemplate",void 0),(0,i.Cg)([(0,h.MZ)({type:k.mt.apiValues,json:{read:{source:"attributes.SideOfEdge",reader:k.mt.read}}})],_e.prototype,"sideOfEdge",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.SourceID"}}})],_e.prototype,"sourceId",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.SourceOID"}}})],_e.prototype,"sourceOid",void 0),(0,i.Cg)([(0,h.MZ)({type:k.$r.apiValues,json:{read:{source:"attributes.Status",reader:k.$r.read}}})],_e.prototype,"status",void 0),(0,i.Cg)([(0,h.MZ)({types:D.Es})],_e.prototype,"symbol",void 0),(0,i.Cg)([(0,h.MZ)({readOnly:!0,json:{read:!1}})],_e.prototype,"type",void 0),_e=Pe=(0,i.Cg)([(0,h.$K)("esri.rest.support.PointBarrier")],_e);var Ee,Le=r(39829);let Je=class extends((0,K.OU)(Z.o)){static{Ee=this}constructor(e){super(e),this.barrierType=null,this.costs=null,this.geometry=null,this.name=null,this.objectId=null,this.popupTemplate=null,this.scaleFactor=null,this.symbol=null,this.type="polygon-barrier"}readCosts(e,t){return ie(t.attributes,"Attr_")}writeCosts(e,t){oe(e,t,"Attr_")}static{this.fields=[{name:"ObjectID",alias:"ObjectID",type:"esriFieldTypeOID"},{name:"BarrierType",alias:"Barrier Type",type:"esriFieldTypeInteger"},{name:"Costs",alias:"Costs",type:"esriFieldTypeString"},{name:"Name",alias:"Name",type:"esriFieldTypeString"},{name:"ScaleFactor",alias:"Scale Factor",type:"esriFieldTypeDouble"}]}static fromGraphic(e){return new Ee({barrierType:null!=e.attributes.BarrierType?k.iM.fromJSON(e.attributes.BarrierType):null,costs:null!=e.attributes.Costs?ne(JSON.parse(e.attributes.Costs)):null,geometry:e.geometry,name:e.attributes.Name??null,objectId:e.attributes.ObjectID??e.attributes.__OBJECTID,popupTemplate:e.popupTemplate,scaleFactor:e.attributes.ScaleFactor??null,symbol:e.symbol})}toGraphic(){const e={ObjectID:this.objectId,BarrierType:this.barrierType?k.iM.toJSON(this.barrierType):null,Costs:this.costs?JSON.stringify(se(this.costs)):null,Name:this.name??null,ScaleFactor:this.scaleFactor??null};return new n.A({geometry:this.geometry,attributes:e,symbol:this.symbol,popupTemplate:this.popupTemplate})}};var Ue;(0,i.Cg)([(0,h.MZ)({type:k.iM.apiValues,json:{name:"attributes.BarrierType",read:{reader:k.iM.read},write:{writer:k.iM.write}}})],Je.prototype,"barrierType",void 0),(0,i.Cg)([(0,h.MZ)()],Je.prototype,"costs",void 0),(0,i.Cg)([(0,z.w)("costs",["attributes"])],Je.prototype,"readCosts",null),(0,i.Cg)([(0,Y.K)("costs")],Je.prototype,"writeCosts",null),(0,i.Cg)([(0,h.MZ)({type:Le.A,json:{write:!0}})],Je.prototype,"geometry",void 0),(0,i.Cg)([(0,h.MZ)({json:{name:"attributes.Name"}})],Je.prototype,"name",void 0),(0,i.Cg)([(0,h.MZ)({json:{name:"attributes.ObjectID"}})],Je.prototype,"objectId",void 0),(0,i.Cg)([(0,h.MZ)({type:s.A})],Je.prototype,"popupTemplate",void 0),(0,i.Cg)([(0,h.MZ)()],Je.prototype,"scaleFactor",void 0),(0,i.Cg)([(0,h.MZ)({types:D.Es})],Je.prototype,"symbol",void 0),(0,i.Cg)([(0,h.MZ)({readOnly:!0,json:{read:!1}})],Je.prototype,"type",void 0),Je=Ee=(0,i.Cg)([(0,h.$K)("esri.rest.support.PolygonBarrier")],Je);let ke=class extends((0,K.OU)(Z.o)){static{Ue=this}constructor(e){super(e),this.barrierType=null,this.costs=null,this.geometry=null,this.name=null,this.objectId=null,this.popupTemplate=null,this.scaleFactor=null,this.symbol=null,this.type="polyline-barrier"}readCosts(e,t){return ie(t.attributes,"Attr_")}static{this.fields=[{name:"ObjectID",alias:"ObjectID",type:"esriFieldTypeOID"},{name:"BarrierType",alias:"Barrier Type",type:"esriFieldTypeInteger"},{name:"Costs",alias:"Costs",type:"esriFieldTypeString"},{name:"Name",alias:"Name",type:"esriFieldTypeString"},{name:"ScaleFactor",alias:"Scale Factor",type:"esriFieldTypeDouble"}]}static fromGraphic(e){return new Ue({barrierType:null!=e.attributes.BarrierType?k.iM.fromJSON(e.attributes.BarrierType):null,costs:null!=e.attributes.Costs?ne(JSON.parse(e.attributes.Costs)):null,geometry:e.geometry,name:e.attributes.Name??null,objectId:e.attributes.ObjectID??e.attributes.__OBJECTID,popupTemplate:e.popupTemplate,scaleFactor:e.attributes.ScaleFactor??null,symbol:e.symbol})}toGraphic(){const e={ObjectID:this.objectId,BarrierType:this.barrierType?k.iM.toJSON(this.barrierType):null,Costs:this.costs?JSON.stringify(se(this.costs)):null,Name:this.name,ScaleFactor:this.scaleFactor};return new n.A({geometry:this.geometry,attributes:e,symbol:this.symbol,popupTemplate:this.popupTemplate})}};(0,i.Cg)([(0,h.MZ)({type:k.iM.apiValues,json:{read:{source:"attributes.BarrierType",reader:k.iM.read}}})],ke.prototype,"barrierType",void 0),(0,i.Cg)([(0,h.MZ)()],ke.prototype,"costs",void 0),(0,i.Cg)([(0,z.w)("costs",["attributes"])],ke.prototype,"readCosts",null),(0,i.Cg)([(0,h.MZ)({type:he.A,json:{write:!0}})],ke.prototype,"geometry",void 0),(0,i.Cg)([(0,h.MZ)({json:{name:"attributes.Name"}})],ke.prototype,"name",void 0),(0,i.Cg)([(0,h.MZ)({json:{name:"attributes.ObjectID"}})],ke.prototype,"objectId",void 0),(0,i.Cg)([(0,h.MZ)({type:s.A})],ke.prototype,"popupTemplate",void 0),(0,i.Cg)([(0,h.MZ)()],ke.prototype,"scaleFactor",void 0),(0,i.Cg)([(0,h.MZ)({types:D.Es})],ke.prototype,"symbol",void 0),(0,i.Cg)([(0,h.MZ)({readOnly:!0,json:{read:!1}})],ke.prototype,"type",void 0),ke=Ue=(0,i.Cg)([(0,h.$K)("esri.rest.support.PolylineBarrier")],ke);let $e=class extends Z.o{constructor(e){super(e),this.accumulateAttributes=null,this.directionsLanguage=null,this.findBestSequence=null,this.preserveFirstStop=null,this.preserveLastStop=null,this.startTimeIsUTC=null,this.timeWindowsAreUTC=null,this.travelMode=null}readAccumulateAttributes(e){return null==e?null:e.map(e=>k.et.fromJSON(e))}writeAccumulateAttributes(e,t,r){e?.length&&(t[r]=e.map(e=>k.et.toJSON(e)))}};var We;(0,i.Cg)([(0,h.MZ)({type:[String],json:{name:"accumulateAttributeNames",write:!0}})],$e.prototype,"accumulateAttributes",void 0),(0,i.Cg)([(0,z.w)("accumulateAttributes")],$e.prototype,"readAccumulateAttributes",null),(0,i.Cg)([(0,Y.K)("accumulateAttributes")],$e.prototype,"writeAccumulateAttributes",null),(0,i.Cg)([(0,h.MZ)({type:String,json:{write:!0}})],$e.prototype,"directionsLanguage",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,json:{write:!0}})],$e.prototype,"findBestSequence",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,json:{write:!0}})],$e.prototype,"preserveFirstStop",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,json:{write:!0}})],$e.prototype,"preserveLastStop",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,json:{write:!0}})],$e.prototype,"startTimeIsUTC",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,json:{write:!0}})],$e.prototype,"timeWindowsAreUTC",void 0),(0,i.Cg)([(0,h.MZ)({type:H,json:{write:!0}})],$e.prototype,"travelMode",void 0),$e=(0,i.Cg)([(0,h.$K)("esri.rest.support.RouteSettings")],$e);let Ve=class extends((0,K.OU)(Z.o)){static{We=this}constructor(e){super(e),this.analysisSettings=null,this.endTime=null,this.endTimeOffset=null,this.firstStopId=null,this.geometry=null,this.lastStopId=null,this.messages=null,this.name=null,this.objectId=null,this.popupTemplate=null,this.startTime=null,this.startTimeOffset=null,this.stopCount=null,this.symbol=null,this.totalCosts=null,this.totalDistance=null,this.totalDuration=null,this.totalLateDuration=null,this.totalViolations=null,this.totalWait=null,this.totalWaitDuration=null,this.type="route-info",this.version="1.0.0"}readEndTime(e,t){return null!=t.attributes.EndTimeUTC?new Date(t.attributes.EndTimeUTC):null}readEndTimeOffset(e,t){return ae(t.attributes.EndTime,t.attributes.EndTimeUTC)}readStartTime(e,t){return null!=t.attributes.StartTimeUTC?new Date(t.attributes.StartTimeUTC):null}readStartTimeOffset(e,t){return ae(t.attributes.StartTime,t.attributes.StartTimeUTC)}readTotalCosts(e,t){return ie(t.attributes,"Total_")}readTotalViolations(e,t){return ie(t.attributes,"TotalViolation_")}readTotalWait(e,t){return ie(t.attributes,"TotalWait_")}static{this.fields=[{name:"ObjectID",alias:"ObjectID",type:"esriFieldTypeOID"},{name:"AnalysisSettings",alias:"Analysis Settings",type:"esriFieldTypeString"},{name:"EndTime",alias:"End Time",type:"esriFieldTypeDate"},{name:"EndUTCOffset",alias:"End Time Offset",type:"esriFieldTypeInteger"},{name:"Messages",alias:"Messages",type:"esriFieldTypeString"},{name:"RouteName",alias:"Route Name",type:"esriFieldTypeString"},{name:"StartTime",alias:"Start Time",type:"esriFieldTypeDate"},{name:"StartUTCOffset",alias:"Start Time Offset",type:"esriFieldTypeInteger"},{name:"TotalCosts",alias:"Total Costs",type:"esriFieldTypeString"},{name:"TotalLateMinutes",alias:"Total Late Minutes",type:"esriFieldTypeDouble"},{name:"TotalMeters",alias:"Total Meters",type:"esriFieldTypeDouble"},{name:"TotalMinutes",alias:"Total Minutes",type:"esriFieldTypeDouble"},{name:"TotalWaitMinutes",alias:"Total Wait Minutes",type:"esriFieldTypeDouble"},{name:"Version",alias:"Version",type:"esriFieldTypeString"}]}static fromGraphic(e){return new We({analysisSettings:null!=e.attributes.AnalysisSettings?$e.fromJSON(JSON.parse(e.attributes.AnalysisSettings)):null,endTime:null!=e.attributes.EndTime?new Date(e.attributes.EndTime):null,endTimeOffset:e.attributes.EndUTCOffset??null,geometry:e.geometry,messages:null!=e.attributes.Messages?JSON.parse(e.attributes.Messages):null,name:e.attributes.RouteName,objectId:e.attributes.ObjectID??e.attributes.__OBJECTID,popupTemplate:e.popupTemplate,startTime:null!=e.attributes.StartTime?new Date(e.attributes.StartTime):null,startTimeOffset:e.attributes.StartUTCOffset??null,symbol:e.symbol,totalCosts:null!=e.attributes.TotalCosts?ne(JSON.parse(e.attributes.TotalCosts)):null,totalDistance:e.attributes.TotalMeters??null,totalDuration:e.attributes.TotalMinutes??null,totalLateDuration:e.attributes.TotalLateMinutes??null,totalWaitDuration:e.attributes.TotalWaitMinutes??null,version:e.attributes.Version})}toGraphic(){const e={ObjectID:this.objectId,AnalysisSettings:this.analysisSettings?JSON.stringify(this.analysisSettings.toJSON()):null,EndTime:this.endTime?.getTime()??null,EndUTCOffset:this.endTimeOffset,Messages:this.messages?JSON.stringify(this.messages):null,RouteName:this.name,StartTime:this.startTime?.getTime()??null,StartUTCOffset:this.startTimeOffset,TotalCosts:this.totalCosts?JSON.stringify(se(this.totalCosts)):null,TotalLateMinutes:this.totalLateDuration,TotalMeters:this.totalDistance,TotalMinutes:this.totalDuration,TotalWaitMinutes:this.totalWaitDuration,Version:this.version};return new n.A({geometry:this.geometry,attributes:e,symbol:this.symbol,popupTemplate:this.popupTemplate})}};(0,i.Cg)([(0,h.MZ)()],Ve.prototype,"analysisSettings",void 0),(0,i.Cg)([(0,h.MZ)({type:Date})],Ve.prototype,"endTime",void 0),(0,i.Cg)([(0,z.w)("endTime",["attributes.EndTimeUTC"])],Ve.prototype,"readEndTime",null),(0,i.Cg)([(0,h.MZ)()],Ve.prototype,"endTimeOffset",void 0),(0,i.Cg)([(0,z.w)("endTimeOffset",["attributes.EndTime","attributes.EndTimeUTC"])],Ve.prototype,"readEndTimeOffset",null),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.FirstStopID"}}})],Ve.prototype,"firstStopId",void 0),(0,i.Cg)([(0,h.MZ)({type:he.A})],Ve.prototype,"geometry",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.LastStopID"}}})],Ve.prototype,"lastStopId",void 0),(0,i.Cg)([(0,h.MZ)()],Ve.prototype,"messages",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.Name"}}})],Ve.prototype,"name",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.ObjectID"}}})],Ve.prototype,"objectId",void 0),(0,i.Cg)([(0,h.MZ)({type:s.A})],Ve.prototype,"popupTemplate",void 0),(0,i.Cg)([(0,h.MZ)({type:Date})],Ve.prototype,"startTime",void 0),(0,i.Cg)([(0,z.w)("startTime",["attributes.StartTimeUTC"])],Ve.prototype,"readStartTime",null),(0,i.Cg)([(0,h.MZ)()],Ve.prototype,"startTimeOffset",void 0),(0,i.Cg)([(0,z.w)("startTimeOffset",["attributes.StartTime","attributes.StartTimeUTC"])],Ve.prototype,"readStartTimeOffset",null),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.StopCount"}}})],Ve.prototype,"stopCount",void 0),(0,i.Cg)([(0,h.MZ)({types:D.Es})],Ve.prototype,"symbol",void 0),(0,i.Cg)([(0,h.MZ)()],Ve.prototype,"totalCosts",void 0),(0,i.Cg)([(0,z.w)("totalCosts",["attributes"])],Ve.prototype,"readTotalCosts",null),(0,i.Cg)([(0,h.MZ)()],Ve.prototype,"totalDistance",void 0),(0,i.Cg)([(0,h.MZ)()],Ve.prototype,"totalDuration",void 0),(0,i.Cg)([(0,h.MZ)()],Ve.prototype,"totalLateDuration",void 0),(0,i.Cg)([(0,h.MZ)()],Ve.prototype,"totalViolations",void 0),(0,i.Cg)([(0,z.w)("totalViolations",["attributes"])],Ve.prototype,"readTotalViolations",null),(0,i.Cg)([(0,h.MZ)()],Ve.prototype,"totalWait",void 0),(0,i.Cg)([(0,z.w)("totalWait",["attributes"])],Ve.prototype,"readTotalWait",null),(0,i.Cg)([(0,h.MZ)()],Ve.prototype,"totalWaitDuration",void 0),(0,i.Cg)([(0,h.MZ)({readOnly:!0,json:{read:!1}})],Ve.prototype,"type",void 0),(0,i.Cg)([(0,h.MZ)()],Ve.prototype,"version",void 0),Ve=We=(0,i.Cg)([(0,h.$K)("esri.rest.support.RouteInfo")],Ve);var Ge=r(56507),qe=r(24097),Ke=r(65864),ze=r(50498);let Ye=class extends((0,K.OU)(Z.o)){constructor(e){super(e),this.doNotLocateOnRestrictedElements=null,this.geometry=null,this.geometryType=null,this.name=null,this.spatialRelationship=null,this.type="layer",this.where=null}};(0,i.Cg)([(0,h.MZ)({type:Boolean,json:{write:!0}})],Ye.prototype,"doNotLocateOnRestrictedElements",void 0),(0,i.Cg)([(0,h.MZ)({types:ze.yR,json:{read:Ke.rS,write:!0}})],Ye.prototype,"geometry",void 0),(0,i.Cg)([(0,$.e)(k.Vj)],Ye.prototype,"geometryType",void 0),(0,i.Cg)([(0,h.MZ)({type:String,json:{name:"layerName",write:!0}})],Ye.prototype,"name",void 0),(0,i.Cg)([(0,$.e)(k.vS,{name:"spatialRel"})],Ye.prototype,"spatialRelationship",void 0),(0,i.Cg)([(0,h.MZ)({type:String,json:{write:!0}})],Ye.prototype,"type",void 0),(0,i.Cg)([(0,h.MZ)({type:String,json:{write:!0}})],Ye.prototype,"where",void 0),Ye=(0,i.Cg)([(0,h.$K)("esri.rest.support.DataLayer")],Ye);var He=r(10107),Xe=r(64108);let Qe=class extends((0,K.OU)(Z.o)){constructor(e){super(e),this.name=null,this.where=null}};(0,i.Cg)([(0,He.MZ)({json:{write:!0}})],Qe.prototype,"name",void 0),(0,i.Cg)([(0,He.MZ)({json:{write:!0}})],Qe.prototype,"where",void 0),Qe=(0,i.Cg)([(0,Xe.$)("esri.rest.support.LocateSettingSource")],Qe);const et=Qe;let tt=class extends((0,K.OU)(Z.o)){constructor(e){super(e),this.allowAutoRelocate=null,this.sources=null}};(0,i.Cg)([(0,He.MZ)({type:Boolean,json:{write:!0}})],tt.prototype,"allowAutoRelocate",void 0),(0,i.Cg)([(0,He.MZ)({type:[et],json:{write:!0}})],tt.prototype,"sources",void 0),tt=(0,i.Cg)([(0,Xe.$)("esri.rest.support.LocateSettingBase")],tt);const rt=tt;let it=class extends rt{constructor(e){super(e),this.tolerance=null,this.toleranceUnits=null}};(0,i.Cg)([(0,He.MZ)({type:Number,json:{write:!0}})],it.prototype,"tolerance",void 0),(0,i.Cg)([(0,$.e)(k.Y8)],it.prototype,"toleranceUnits",void 0),it=(0,i.Cg)([(0,Xe.$)("esri.rest.support.LocateSetting")],it);const ot=it;let nt=class extends((0,K.OU)(Z.o)){constructor(e){super(e),this.stops=null,this.pointBarriers=null,this.polylineBarriers=null,this.polygonBarriers=null}};(0,i.Cg)([(0,He.MZ)({type:ot,json:{write:!0}})],nt.prototype,"stops",void 0),(0,i.Cg)([(0,He.MZ)({type:ot,json:{name:"barriers",write:!0}})],nt.prototype,"pointBarriers",void 0),(0,i.Cg)([(0,He.MZ)({type:rt,json:{write:!0}})],nt.prototype,"polylineBarriers",void 0),(0,i.Cg)([(0,He.MZ)({type:rt,json:{write:!0}})],nt.prototype,"polygonBarriers",void 0),nt=(0,i.Cg)([(0,Xe.$)("esri.rest.support.LocateSettingsOverrides")],nt);const st=nt;let at=class extends((0,K.OU)(Z.o)){constructor(e){super(e),this.default=null,this.overrides=null}};(0,i.Cg)([(0,He.MZ)({type:ot,json:{write:!0}})],at.prototype,"default",void 0),(0,i.Cg)([(0,He.MZ)({type:st,json:{write:!0}})],at.prototype,"overrides",void 0),at=(0,i.Cg)([(0,Xe.$)("esri.rest.support.LocateSettings")],at);const lt=at;var ut;let pt=class extends ue.A{static{ut=this}constructor(e){super(e),this.doNotLocateOnRestrictedElements=null}clone(){return new ut({doNotLocateOnRestrictedElements:this.doNotLocateOnRestrictedElements,...this.cloneProperties()})}};(0,i.Cg)([(0,h.MZ)({type:Boolean,json:{write:!0}})],pt.prototype,"doNotLocateOnRestrictedElements",void 0),pt=ut=(0,i.Cg)([(0,h.$K)("esri.rest.support.NetworkFeatureSet")],pt);let ct=class extends((0,K.OU)(Z.o)){constructor(e){super(e),this.doNotLocateOnRestrictedElements=null,this.url=null}};var dt;(0,i.Cg)([(0,h.MZ)({type:Boolean,json:{write:!0}})],ct.prototype,"doNotLocateOnRestrictedElements",void 0),(0,i.Cg)([(0,h.MZ)({type:String,json:{write:!0}})],ct.prototype,"url",void 0),ct=(0,i.Cg)([(0,h.$K)("esri.rest.support.NetworkUrl")],ct);let mt=class extends((0,K.OU)(Z.o)){static{dt=this}constructor(e){super(e),this.accumulateAttributes=null,this.apiKey=null,this.attributeParameterValues=null,this.checksum=null,this.directionsLanguage=null,this.directionsLengthUnits=null,this.directionsOutputType=null,this.directionsStyleName=null,this.directionsTimeAttribute=null,this.findBestSequence=null,this.geometryPrecision=null,this.geometryPrecisionM=null,this.geometryPrecisionZ=null,this.ignoreInvalidLocations=null,this.impedanceAttribute=null,this.locateSettings=null,this.outputGeometryPrecision=null,this.outputGeometryPrecisionUnits=null,this.outputLines="true-shape",this.outSpatialReference=null,this.overrides=null,this.pointBarriers=null,this.polygonBarriers=null,this.polylineBarriers=null,this.preserveFirstStop=null,this.preserveLastStop=null,this.preserveObjectID=null,this.restrictionAttributes=null,this.restrictUTurns=null,this.returnBarriers=!1,this.returnDirections=!1,this.returnEmptyResults=null,this.returnPolygonBarriers=!1,this.returnPolylineBarriers=!1,this.returnRoutes=!0,this.returnStops=!1,this.returnTraversedEdges=null,this.returnTraversedJunctions=null,this.returnTraversedTurns=null,this.returnZ=!0,this.startTime=null,this.startTimeIsUTC=!0,this.stops=null,this.timeWindowsAreUTC=null,this.travelMode=null,this.useHierarchy=null,this.useTimeWindows=null}static from(e){return(0,Ge.PZ)(dt,e)}readAccumulateAttributes(e){return null==e?null:e.map(e=>k.et.fromJSON(e))}writeAccumulateAttributes(e,t,r){e?.length&&(t[r]=e.map(e=>k.et.toJSON(e)))}writePointBarriers(e,t,r){yt(e,t,r)}writePolygonBarrier(e,t,r){yt(e,t,r)}writePolylineBarrier(e,t,r){yt(e,t,r)}readRestrictionAttributes(e){return null==e?null:e.map(e=>k.OC.fromJSON(e))}writeRestrictionAttributes(e,t,r){e?.length&&(t[r]=e.map(e=>k.OC.toJSON(e)))}readStartTime(e,t){const{startTime:r}=t;return null==r?null:"now"===r?"now":new Date(r)}writeStartTime(e,t){null!=e&&(t.startTime="now"===e?"now":e.getTime())}readStops(e,t){return function(e){return function(e){return e&&"type"in e}(e)?Ye.fromJSON(e):function(e){return e&&"url"in e}(e)?ct.fromJSON(e):function(e){return e&&"features"in e&&"doNotLocateOnRestrictedElements"in e}(e)?pt.fromJSON(e):function(e){return e&&"features"in e}(e)?ue.A.fromJSON(e):null}(t.stops)}writeStops(e,t,r){yt(e,t,r)}};function yt(e,t,r){null!=e&&(t[r]=a.A.isCollection(e)?{features:e.toArray().map(e=>e.toJSON())}:e.toJSON())}var ft;(0,i.Cg)([(0,h.MZ)({type:[String],json:{name:"accumulateAttributeNames",write:!0}})],mt.prototype,"accumulateAttributes",void 0),(0,i.Cg)([(0,z.w)("accumulateAttributes")],mt.prototype,"readAccumulateAttributes",null),(0,i.Cg)([(0,Y.K)("accumulateAttributes")],mt.prototype,"writeAccumulateAttributes",null),(0,i.Cg)([(0,h.MZ)(qe.K)],mt.prototype,"apiKey",void 0),(0,i.Cg)([(0,h.MZ)({json:{write:!0}})],mt.prototype,"attributeParameterValues",void 0),(0,i.Cg)([(0,h.MZ)({type:String,json:{write:!0}})],mt.prototype,"checksum",void 0),(0,i.Cg)([(0,h.MZ)({type:String,json:{write:!0}})],mt.prototype,"directionsLanguage",void 0),(0,i.Cg)([(0,$.e)(k.Z7)],mt.prototype,"directionsLengthUnits",void 0),(0,i.Cg)([(0,$.e)(k.aJ)],mt.prototype,"directionsOutputType",void 0),(0,i.Cg)([(0,$.e)(k.$n)],mt.prototype,"directionsStyleName",void 0),(0,i.Cg)([(0,$.e)(k.Mm,{name:"directionsTimeAttributeName",ignoreUnknown:!1})],mt.prototype,"directionsTimeAttribute",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,json:{write:!0}})],mt.prototype,"findBestSequence",void 0),(0,i.Cg)([(0,h.MZ)({type:Number,json:{write:!0}})],mt.prototype,"geometryPrecision",void 0),(0,i.Cg)([(0,h.MZ)({type:Number,json:{write:!0}})],mt.prototype,"geometryPrecisionM",void 0),(0,i.Cg)([(0,h.MZ)({type:Number,json:{write:!0}})],mt.prototype,"geometryPrecisionZ",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,json:{write:!0}})],mt.prototype,"ignoreInvalidLocations",void 0),(0,i.Cg)([(0,$.e)(k.et,{name:"impedanceAttributeName",ignoreUnknown:!1})],mt.prototype,"impedanceAttribute",void 0),(0,i.Cg)([(0,h.MZ)({type:lt,json:{write:!0}})],mt.prototype,"locateSettings",void 0),(0,i.Cg)([(0,h.MZ)({type:Number,json:{write:!0}})],mt.prototype,"outputGeometryPrecision",void 0),(0,i.Cg)([(0,$.e)(k.hY)],mt.prototype,"outputGeometryPrecisionUnits",void 0),(0,i.Cg)([(0,$.e)(k.Sr)],mt.prototype,"outputLines",void 0),(0,i.Cg)([(0,h.MZ)({type:T.A,json:{name:"outSR",write:!0}})],mt.prototype,"outSpatialReference",void 0),(0,i.Cg)([(0,h.MZ)({json:{write:!0}})],mt.prototype,"overrides",void 0),(0,i.Cg)([(0,h.MZ)({json:{name:"barriers",write:!0}})],mt.prototype,"pointBarriers",void 0),(0,i.Cg)([(0,Y.K)("pointBarriers")],mt.prototype,"writePointBarriers",null),(0,i.Cg)([(0,h.MZ)({json:{write:!0}})],mt.prototype,"polygonBarriers",void 0),(0,i.Cg)([(0,Y.K)("polygonBarriers")],mt.prototype,"writePolygonBarrier",null),(0,i.Cg)([(0,h.MZ)({json:{write:!0}})],mt.prototype,"polylineBarriers",void 0),(0,i.Cg)([(0,Y.K)("polylineBarriers")],mt.prototype,"writePolylineBarrier",null),(0,i.Cg)([(0,h.MZ)({type:Boolean,json:{write:!0}})],mt.prototype,"preserveFirstStop",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,json:{write:!0}})],mt.prototype,"preserveLastStop",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,json:{write:!0}})],mt.prototype,"preserveObjectID",void 0),(0,i.Cg)([(0,h.MZ)({type:[String],json:{name:"restrictionAttributeNames",write:!0}})],mt.prototype,"restrictionAttributes",void 0),(0,i.Cg)([(0,z.w)("restrictionAttributes")],mt.prototype,"readRestrictionAttributes",null),(0,i.Cg)([(0,Y.K)("restrictionAttributes")],mt.prototype,"writeRestrictionAttributes",null),(0,i.Cg)([(0,$.e)(k.hE)],mt.prototype,"restrictUTurns",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,json:{write:!0}})],mt.prototype,"returnBarriers",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,json:{write:!0}})],mt.prototype,"returnDirections",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,json:{write:!0}})],mt.prototype,"returnEmptyResults",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,json:{write:!0}})],mt.prototype,"returnPolygonBarriers",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,json:{write:!0}})],mt.prototype,"returnPolylineBarriers",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,json:{write:!0}})],mt.prototype,"returnRoutes",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,json:{write:!0}})],mt.prototype,"returnStops",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,json:{write:!0}})],mt.prototype,"returnTraversedEdges",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,json:{write:!0}})],mt.prototype,"returnTraversedJunctions",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,json:{write:!0}})],mt.prototype,"returnTraversedTurns",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,json:{write:!0}})],mt.prototype,"returnZ",void 0),(0,i.Cg)([(0,h.MZ)({json:{write:!0}})],mt.prototype,"startTime",void 0),(0,i.Cg)([(0,z.w)("startTime")],mt.prototype,"readStartTime",null),(0,i.Cg)([(0,Y.K)("startTime")],mt.prototype,"writeStartTime",null),(0,i.Cg)([(0,h.MZ)({type:Boolean,json:{write:!0}})],mt.prototype,"startTimeIsUTC",void 0),(0,i.Cg)([(0,h.MZ)({json:{write:!0}})],mt.prototype,"stops",void 0),(0,i.Cg)([(0,z.w)("stops")],mt.prototype,"readStops",null),(0,i.Cg)([(0,Y.K)("stops")],mt.prototype,"writeStops",null),(0,i.Cg)([(0,h.MZ)({type:Boolean,json:{write:!0}})],mt.prototype,"timeWindowsAreUTC",void 0),(0,i.Cg)([(0,h.MZ)({type:H,json:{write:!0}})],mt.prototype,"travelMode",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,json:{write:!0}})],mt.prototype,"useHierarchy",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,json:{write:!0}})],mt.prototype,"useTimeWindows",void 0),mt=dt=(0,i.Cg)([(0,h.$K)("esri.rest.support.RouteParameters")],mt);let ht=class extends((0,K.OU)(Z.o)){static{ft=this}constructor(e){super(e),this.arriveCurbApproach=null,this.arriveTime=null,this.arriveTimeOffset=null,this.bearing=null,this.bearingTol=null,this.cumulativeCosts=null,this.cumulativeDistance=null,this.cumulativeDuration=null,this.curbApproach=null,this.departCurbApproach=null,this.departTime=null,this.departTimeOffset=null,this.distanceToNetworkInMeters=null,this.geometry=null,this.lateDuration=null,this.locationType=null,this.name=null,this.navLatency=null,this.objectId=null,this.popupTemplate=null,this.posAlong=null,this.routeName=null,this.serviceCosts=null,this.serviceDistance=null,this.serviceDuration=null,this.sequence=null,this.sideOfEdge=null,this.snapX=null,this.snapY=null,this.snapZ=null,this.sourceId=null,this.sourceOid=null,this.status=null,this.symbol=null,this.timeWindowEnd=null,this.timeWindowEndOffset=null,this.timeWindowStart=null,this.timeWindowStartOffset=null,this.type="stop",this.violations=null,this.waitDuration=null,this.wait=null}readArriveTimeOffset(e,t){return ae(t.attributes.ArriveTime,t.attributes.ArriveTimeUTC)}readCumulativeCosts(e,t){return ie(t.attributes,"Cumul_")}readDepartTimeOffset(e,t){return ae(t.attributes.DepartTime,t.attributes.DepartTimeUTC)}readServiceCosts(e,t){return ie(t.attributes,"Attr_")}writeServiceCosts(e,t){oe(e,t,"Attr_")}writeTimeWindowEnd(e,t){null!=e&&(t.attributes||(t.attributes={}),t.attributes.TimeWindowEnd=e.getTime())}writeTimeWindowStart(e,t){null!=e&&(t.attributes||(t.attributes={}),t.attributes.TimeWindowStart=e.getTime())}readViolations(e,t){return ie(t.attributes,"Violation_")}readWait(e,t){return ie(t.attributes,"Wait_")}static{this.fields=[{name:"ObjectID",alias:"ObjectID",type:"esriFieldTypeOID"},{name:"ArrivalCurbApproach",alias:"Arrival Curb Approach",type:"esriFieldTypeInteger"},{name:"ArrivalTime",alias:"Arrival Time",type:"esriFieldTypeDate"},{name:"ArrivalUTCOffset",alias:"Arrival Time",type:"esriFieldTypeInteger"},{name:"CumulativeCosts",alias:"Cumulative Costs",type:"esriFieldTypeString"},{name:"CumulativeMeters",alias:"Cumulative Meters",type:"esriFieldTypeDouble"},{name:"CumulativeMinutes",alias:"Cumulative Minutes",type:"esriFieldTypeDouble"},{name:"CurbApproach",alias:"Curb Approach",type:"esriFieldTypeInteger"},{name:"DepartureCurbApproach",alias:"Departure Curb Approach",type:"esriFieldTypeInteger"},{name:"DepartureTime",alias:"Departure Time",type:"esriFieldTypeDate"},{name:"DepartureUTCOffset",alias:"Departure Time",type:"esriFieldTypeInteger"},{name:"LateMinutes",alias:"Minutes Late",type:"esriFieldTypeDouble"},{name:"LocationType",alias:"Location Type",type:"esriFieldTypeInteger"},{name:"Name",alias:"Name",type:"esriFieldTypeString"},{name:"RouteName",alias:"Route Name",type:"esriFieldTypeString"},{name:"Sequence",alias:"Sequence",type:"esriFieldTypeInteger"},{name:"ServiceCosts",alias:"Service Costs",type:"esriFieldTypeString"},{name:"ServiceMeters",alias:"Service Meters",type:"esriFieldTypeDouble"},{name:"ServiceMinutes",alias:"Service Minutes",type:"esriFieldTypeDouble"},{name:"Status",alias:"Status",type:"esriFieldTypeInteger"},{name:"TimeWindowEnd",alias:"Time Window End",type:"esriFieldTypeDate"},{name:"TimeWindowEndUTCOffset",alias:"Time Window End Offset",type:"esriFieldTypeInteger"},{name:"TimeWindowStart",alias:"Time Window Start",type:"esriFieldTypeDate"},{name:"TimeWindowStartUTCOffset",alias:"Time Window Start Offset",type:"esriFieldTypeInteger"},{name:"WaitMinutes",alias:"Minutes Wait",type:"esriFieldTypeDouble"}]}static fromGraphic(e){return new ft({arriveCurbApproach:null!=e.attributes.ArrivalCurbApproach?k.JJ.fromJSON(e.attributes.ArrivalCurbApproach):null,arriveTime:null!=e.attributes.ArrivalTime?new Date(e.attributes.ArrivalTime):null,arriveTimeOffset:e.attributes.ArrivalUTCOffset,cumulativeCosts:null!=e.attributes.CumulativeCosts?ne(JSON.parse(e.attributes.CumulativeCosts)):null,cumulativeDistance:e.attributes.CumulativeMeters??null,cumulativeDuration:e.attributes.CumulativeMinutes??null,curbApproach:null!=e.attributes.CurbApproach?k.JJ.fromJSON(e.attributes.CurbApproach):null,departCurbApproach:null!=e.attributes.DepartureCurbApproach?k.JJ.fromJSON(e.attributes.DepartureCurbApproach):null,departTime:null!=e.attributes.DepartureTime?new Date(e.attributes.DepartureTime):null,departTimeOffset:e.attributes.DepartureUTCOffset??null,geometry:e.geometry,lateDuration:e.attributes.LateMinutes??null,locationType:null!=e.attributes.LocationType?k.EM.fromJSON(e.attributes.LocationType):null,name:e.attributes.Name,objectId:e.attributes.ObjectID??e.attributes.__OBJECTID,popupTemplate:e.popupTemplate,routeName:e.attributes.RouteName,sequence:e.attributes.Sequence??null,serviceCosts:null!=e.attributes.ServiceCosts?ne(JSON.parse(e.attributes.ServiceCosts)):null,serviceDistance:e.attributes.ServiceMeters??null,serviceDuration:e.attributes.ServiceMinutes??null,status:null!=e.attributes.Status?k.$r.fromJSON(e.attributes.Status):null,symbol:e.symbol,timeWindowEnd:null!=e.attributes.TimeWindowEnd?new Date(e.attributes.TimeWindowEnd):null,timeWindowEndOffset:e.attributes.TimeWindowEndUTCOffset??null,timeWindowStart:null!=e.attributes.TimeWindowStart?new Date(e.attributes.TimeWindowStart):null,timeWindowStartOffset:e.attributes.TimeWindowStartUTCOffset??null,waitDuration:e.attributes.WaitMinutes??null})}toGraphic(){const e={ObjectID:this.objectId,ArrivalCurbApproach:this.arriveCurbApproach?k.JJ.toJSON(this.arriveCurbApproach):null,ArrivalTime:this.arriveTime?.getTime()??null,ArrivalUTCOffset:this.arriveTimeOffset,CumulativeCosts:this.cumulativeCosts?JSON.stringify(se(this.cumulativeCosts)):null,CumulativeMeters:this.cumulativeDistance,CumulativeMinutes:this.cumulativeDuration,CurbApproach:this.curbApproach?k.JJ.toJSON(this.curbApproach):null,DepartureCurbApproach:this.departCurbApproach?k.JJ.toJSON(this.departCurbApproach):null,DepartureTime:this.departTime?.getTime()??null,DepartureUTCOffset:this.departTimeOffset,LateMinutes:this.lateDuration,LocationType:this.locationType?k.EM.toJSON(this.locationType):null,Name:this.name,RouteName:this.routeName,Sequence:this.sequence,ServiceCosts:this.serviceCosts?JSON.stringify(se(this.serviceCosts)):null,ServiceMeters:this.serviceDistance,ServiceMinutes:this.serviceDuration,Status:this.status?k.$r.toJSON(this.status):null,TimeWindowEnd:this.timeWindowEnd?.getTime()??null,TimeWindowEndUTCOffset:this.timeWindowEndOffset??this.arriveTimeOffset,TimeWindowStart:this.timeWindowStart?.getTime()??null,TimeWindowStartUTCOffset:this.timeWindowStartOffset??this.arriveTimeOffset,WaitMinutes:this.waitDuration};return new n.A({geometry:this.geometry,attributes:e,symbol:this.symbol,popupTemplate:this.popupTemplate})}};function gt(e){if(!e.length)return;const t=e.toArray(),r=t.map(({objectId:e})=>e).filter(e=>null!=e);let i=Math.max(...r,0);for(const e of t)null==e.objectId&&(e.objectId=++i)}function vt(e,t){return!!e.length&&e.length===t.length&&bt(e)&&bt(t)}function bt(e){return e.every(({objectId:e})=>null!=e)}function wt(e){return e.length?e:null}function Tt(e){switch(e){case"esriGeometryPoint":return{type:"esriSMS",style:"esriSMSCircle",size:12,color:[0,0,0,0],outline:Tt("esriGeometryPolyline")};case"esriGeometryPolyline":return{type:"esriSLS",style:"esriSLSSolid",width:1,color:[0,0,0,0]};case"esriGeometryPolygon":return{type:"esriSFS",style:"esriSFSNull",outline:Tt("esriGeometryPolyline")}}}function Ct(e){return"layers"in e}async function St(e){const t=T.A.WGS84;return await(0,w.initializeProjection)(e.spatialReference,t),(0,w.project)(e,t)}function Mt(e,t){switch(t){case"seconds":return e/60;case"hours":return 60*e;case"days":return 60*e*24;default:return e}}function At(e,t){return"decimal-degrees"===t||"points"===t||"unknown"===t?e:(0,y.oU)(e,t,"meters")}(0,i.Cg)([(0,h.MZ)({type:k.JJ.apiValues,json:{read:{source:"attributes.ArrivalCurbApproach",reader:k.JJ.read}}})],ht.prototype,"arriveCurbApproach",void 0),(0,i.Cg)([(0,h.MZ)({type:Date,json:{read:{source:"attributes.ArriveTimeUTC"}}})],ht.prototype,"arriveTime",void 0),(0,i.Cg)([(0,h.MZ)()],ht.prototype,"arriveTimeOffset",void 0),(0,i.Cg)([(0,z.w)("arriveTimeOffset",["attributes.ArriveTime","attributes.ArriveTimeUTC"])],ht.prototype,"readArriveTimeOffset",null),(0,i.Cg)([(0,h.MZ)({json:{name:"attributes.Bearing",read:!1,write:!0}})],ht.prototype,"bearing",void 0),(0,i.Cg)([(0,h.MZ)({json:{name:"attributes.BearingTol",read:!1,write:!0}})],ht.prototype,"bearingTol",void 0),(0,i.Cg)([(0,h.MZ)()],ht.prototype,"cumulativeCosts",void 0),(0,i.Cg)([(0,z.w)("cumulativeCosts",["attributes"])],ht.prototype,"readCumulativeCosts",null),(0,i.Cg)([(0,h.MZ)()],ht.prototype,"cumulativeDistance",void 0),(0,i.Cg)([(0,h.MZ)()],ht.prototype,"cumulativeDuration",void 0),(0,i.Cg)([(0,h.MZ)({type:k.JJ.apiValues,json:{name:"attributes.CurbApproach",read:{reader:k.JJ.read},write:{writer:k.JJ.write}}})],ht.prototype,"curbApproach",void 0),(0,i.Cg)([(0,h.MZ)({type:k.JJ.apiValues,json:{read:{source:"attributes.DepartCurbApproach",reader:k.JJ.read}}})],ht.prototype,"departCurbApproach",void 0),(0,i.Cg)([(0,h.MZ)({type:Date,json:{read:{source:"attributes.DepartTimeUTC"}}})],ht.prototype,"departTime",void 0),(0,i.Cg)([(0,h.MZ)()],ht.prototype,"departTimeOffset",void 0),(0,i.Cg)([(0,z.w)("departTimeOffset",["attributes.DepartTime","attributes.DepartTimeUTC"])],ht.prototype,"readDepartTimeOffset",null),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.DistanceToNetworkInMeters"}}})],ht.prototype,"distanceToNetworkInMeters",void 0),(0,i.Cg)([(0,h.MZ)({type:ge.A,json:{write:!0}})],ht.prototype,"geometry",void 0),(0,i.Cg)([(0,h.MZ)()],ht.prototype,"lateDuration",void 0),(0,i.Cg)([(0,h.MZ)({type:k.EM.apiValues,json:{name:"attributes.LocationType",read:{reader:k.EM.read},write:{writer:k.EM.write}}})],ht.prototype,"locationType",void 0),(0,i.Cg)([(0,h.MZ)({json:{name:"attributes.Name"}})],ht.prototype,"name",void 0),(0,i.Cg)([(0,h.MZ)({json:{name:"attributes.NavLatency",read:!1,write:!0}})],ht.prototype,"navLatency",void 0),(0,i.Cg)([(0,h.MZ)({json:{name:"attributes.ObjectID"}})],ht.prototype,"objectId",void 0),(0,i.Cg)([(0,h.MZ)({type:s.A})],ht.prototype,"popupTemplate",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.PosAlong"}}})],ht.prototype,"posAlong",void 0),(0,i.Cg)([(0,h.MZ)({json:{name:"attributes.RouteName"}})],ht.prototype,"routeName",void 0),(0,i.Cg)([(0,h.MZ)()],ht.prototype,"serviceCosts",void 0),(0,i.Cg)([(0,z.w)("serviceCosts",["attributes"])],ht.prototype,"readServiceCosts",null),(0,i.Cg)([(0,Y.K)("serviceCosts")],ht.prototype,"writeServiceCosts",null),(0,i.Cg)([(0,h.MZ)()],ht.prototype,"serviceDistance",void 0),(0,i.Cg)([(0,h.MZ)()],ht.prototype,"serviceDuration",void 0),(0,i.Cg)([(0,h.MZ)({json:{name:"attributes.Sequence"}})],ht.prototype,"sequence",void 0),(0,i.Cg)([(0,h.MZ)({type:k.mt.apiValues,json:{read:{source:"attributes.SideOfEdge",reader:k.mt.read}}})],ht.prototype,"sideOfEdge",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.SnapX"}}})],ht.prototype,"snapX",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.SnapY"}}})],ht.prototype,"snapY",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.SnapZ"}}})],ht.prototype,"snapZ",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.SourceID"}}})],ht.prototype,"sourceId",void 0),(0,i.Cg)([(0,h.MZ)({json:{read:{source:"attributes.SourceOID"}}})],ht.prototype,"sourceOid",void 0),(0,i.Cg)([(0,h.MZ)({type:k.$r.apiValues,json:{read:{source:"attributes.Status",reader:k.$r.read}}})],ht.prototype,"status",void 0),(0,i.Cg)([(0,h.MZ)({types:D.Es})],ht.prototype,"symbol",void 0),(0,i.Cg)([(0,h.MZ)({type:Date,json:{name:"attributes.TimeWindowEnd"}})],ht.prototype,"timeWindowEnd",void 0),(0,i.Cg)([(0,Y.K)("timeWindowEnd")],ht.prototype,"writeTimeWindowEnd",null),(0,i.Cg)([(0,h.MZ)()],ht.prototype,"timeWindowEndOffset",void 0),(0,i.Cg)([(0,h.MZ)({type:Date,json:{name:"attributes.TimeWindowStart"}})],ht.prototype,"timeWindowStart",void 0),(0,i.Cg)([(0,Y.K)("timeWindowStart")],ht.prototype,"writeTimeWindowStart",null),(0,i.Cg)([(0,h.MZ)()],ht.prototype,"timeWindowStartOffset",void 0),(0,i.Cg)([(0,h.MZ)({readOnly:!0,json:{read:!1}})],ht.prototype,"type",void 0),(0,i.Cg)([(0,h.MZ)()],ht.prototype,"violations",void 0),(0,i.Cg)([(0,z.w)("violations",["attributes"])],ht.prototype,"readViolations",null),(0,i.Cg)([(0,h.MZ)()],ht.prototype,"waitDuration",void 0),(0,i.Cg)([(0,h.MZ)()],ht.prototype,"wait",void 0),(0,i.Cg)([(0,z.w)("wait",["attributes"])],ht.prototype,"readWait",null),ht=ft=(0,i.Cg)([(0,h.$K)("esri.rest.support.Stop")],ht);const It=a.A.ofType(xe),Ot=a.A.ofType(Be),Nt=a.A.ofType(_e),Zt=a.A.ofType(Je),jt=a.A.ofType(ke),Dt=a.A.ofType(ht);let Ft=class extends((0,M.dM)((0,O.j)((0,A.q)((0,I.A)((0,p.P)(S.A)))))){constructor(e){super(e),this._cachedServiceDescription=null,this._featureCollection=null,this._type="Feature Collection",this.checksum=null,this.defaultSymbols=new B,this.directionLines=null,this.directionPoints=null,this.featureCollectionType="route",this.legendEnabled=!1,this.maxScale=0,this.minScale=0,this.pointBarriers=new Nt,this.polygonBarriers=new Zt,this.polylineBarriers=new jt,this.routeInfo=null,this.spatialReference=T.A.WGS84,this.stops=new Dt,this.type="route";const t=()=>{this._setStopSymbol(this.stops)};this.addHandles((0,m.on)(()=>this.stops,"change",t,{sync:!0,onListenerAdd:t}))}writeFeatureCollectionWebmap(e,t,r,i){const o=[this._writePolygonBarriers(),this._writePolylineBarriers(),this._writePointBarriers(),this._writeRouteInfo(),this._writeDirectionLines(),this._writeDirectionPoints(),this._writeStops()].filter(e=>!!e),n=o.map((e,t)=>t),s="web-map"===i.origin?"featureCollection.layers":"layers";(0,c.sM)(s,o,t),t.opacity=this.opacity,t.visibility=this.visible,t.visibleLayers=n}readDirectionLines(e,t){return this._getNetworkFeatures(t,"DirectionLines",e=>xe.fromGraphic(e))}readDirectionPoints(e,t){return this._getNetworkFeatures(t,"DirectionPoints",e=>Be.fromGraphic(e))}get fullExtent(){const e=new v.A({xmin:-180,ymin:-90,xmax:180,ymax:90,spatialReference:T.A.WGS84});if(null!=this.routeInfo?.geometry)return this.routeInfo.geometry.extent??e;if(null==this.stops)return e;const t=this.stops.filter(e=>null!=e.geometry);if(t.length<2)return e;const{spatialReference:r}=t.at(0).geometry;if(null==r)return e;const i=t.toArray().map(e=>{const t=e.geometry;return[t.x,t.y]});return new b.A({points:i,spatialReference:r}).extent}readMaxScale(e,t){const r=Ct(t)?t.layers:t.featureCollection?.layers,i=r?.find(e=>null!=e.layerDefinition.maxScale);return i?.layerDefinition.maxScale??0}readMinScale(e,t){const r=Ct(t)?t.layers:t.featureCollection?.layers,i=r?.find(e=>null!=e.layerDefinition.minScale);return i?.layerDefinition.minScale??0}readPointBarriers(e,t){return this._getNetworkFeatures(t,"Barriers",e=>_e.fromGraphic(e))}readPolygonBarriers(e,t){return this._getNetworkFeatures(t,"PolygonBarriers",e=>Je.fromGraphic(e))}readPolylineBarriers(e,t){return this._getNetworkFeatures(t,"PolylineBarriers",e=>ke.fromGraphic(e))}readRouteInfo(e,t){return this._getNetworkFeatures(t,"RouteInfo",e=>Ve.fromGraphic(e)).at(0)??null}readSpatialReference(e,t){const r=Ct(t)?t.layers:t.featureCollection?.layers;if(!r?.length)return T.A.WGS84;const{layerDefinition:i,featureSet:o}=r[0],n=o.features[0],s=n?.geometry?.spatialReference??o.spatialReference??i.spatialReference??i.extent.spatialReference??C.KK;return T.A.fromJSON(s)}readStops(e,t){return this._getNetworkFeatures(t,"Stops",e=>ht.fromGraphic(e),e=>this._setStopSymbol(e))}get title(){return this.routeInfo?.name??"Route"}set title(e){this._overrideIfSome("title",e)}get url(){return o.A.routeServiceUrl}set url(e){null!=e?this._set("url",(0,N.Jf)(e,u.A.getLogger(this))):this._set("url",o.A.routeServiceUrl)}load(e){return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Feature Collection"]},e)),Promise.resolve(this)}removeAll(){this.removeResult(),this.pointBarriers.removeAll(),this.polygonBarriers.removeAll(),this.polylineBarriers.removeAll(),this.stops.removeAll()}removeResult(){null!=this.directionLines&&(this.directionLines.removeAll(),this._set("directionLines",null)),null!=this.directionPoints&&(this.directionPoints.removeAll(),this._set("directionPoints",null)),null!=this.routeInfo&&this._set("routeInfo",null)}async save(){await this.load();const{fullExtent:e,portalItem:t}=this;if(!t)throw new l.A("routelayer:portal-item-not-set","save() requires to the layer to have a portal item");if(!t.id)throw new l.A("routelayer:portal-item-not-saved","Please use saveAs() first to save the routelayer");if("Feature Collection"!==t.type)throw new l.A("routelayer:portal-item-wrong-type",'Portal item needs to have type "Feature Collection"');if(!this.routeInfo)throw new l.A("routelayer:route-unsolved","save() requires a solved route");const{portal:r}=t;await r.signIn(),r.user||await t.reload();const{itemUrl:i,itemControl:o}=t;if("admin"!==o&&"update"!==o)throw new l.A("routelayer:insufficient-permissions","To save this layer, you need to be the owner or an administrator of your organization");const n={messages:[],origin:"portal-item",portal:r,url:i?(0,f.An)(i):void 0,writtenProperties:[]},s=this.write(void 0,n);return t.extent=await St(e),t.title=this.title,await t.update({data:s}),t}async saveAs(e,t={}){if(await this.load(),null==this.routeInfo)throw new l.A("routelayer:route-unsolved","saveAs() requires a solved route");const r=_.default.from(e).clone();r.extent??=await St(this.fullExtent),r.id=null,r.portal??=P.A.getDefault(),r.title??=this.title,r.type="Feature Collection",r.typeKeywords=["Data","Feature Collection",E.mm.MULTI_LAYER,"Route Layer"];const{portal:i}=r,o={messages:[],origin:"portal-item",portal:i,url:null,writtenProperties:[]};await i.signIn();const n=t?.folder,s=this.write(void 0,o);return await i.user.addItem({item:r,folder:n,data:s}),this.portalItem=r,(0,g.v)(o),o.portalItem=r,r}async solve(e,t){gt(this.stops),gt(this.pointBarriers),gt(this.polylineBarriers),gt(this.polygonBarriers);const r=e?.stops??this.stops,i=e?.pointBarriers??wt(this.pointBarriers),o=e?.polylineBarriers??wt(this.polylineBarriers),n=e?.polygonBarriers??wt(this.polygonBarriers);if(null==r)throw new l.A("routelayer:undefined-stops","the route layer must have stops defined in the route parameters.");if((function(e){return"esri.rest.support.FeatureSet"===e.declaredClass}(r)||function(e){return"esri.rest.support.NetworkFeatureSet"===e.declaredClass}(r))&&r.features.length<2||a.A.isCollection(r)&&r.length<2)throw new l.A("routelayer:insufficent-stops","the route layer must have two or more stops to solve a route.");if(a.A.isCollection(r))for(const e of r)e.routeName=null;const s=e?.apiKey,{checksum:u,url:p}=this,c=await this._getServiceDescription(p,s,t),m=e?.travelMode??c.defaultTravelMode,y=e?.accumulateAttributes??[];m&&(y.push(m.distanceAttributeName),m.timeAttributeName&&y.push(m.timeAttributeName));const f={accumulateAttributes:y,checksum:u,directionsOutputType:"featuresets",ignoreInvalidLocations:!0,pointBarriers:i,polylineBarriers:o,polygonBarriers:n,preserveObjectID:!0,returnBarriers:!!i,returnDirections:!0,returnPolygonBarriers:!!n,returnPolylineBarriers:!!o,returnRoutes:!0,returnStops:!0,stops:r},h=mt.from(e??{});let g;h.set(f);try{g=await De(p,h,t)}catch(e){throw(0,d.zf)(e)?e:new l.A("routelayer:failed-route-request","the routing request failed",{error:e})}const v=this._toRouteLayerSolution(g);return this._isOverridden("title")||(this.title=v.routeInfo.name??"Route"),this._populatePortalFields(v,c,h),v}update(e){const{checksum:t,directionLines:r,directionPoints:i,pointBarriers:o,polygonBarriers:n,polylineBarriers:s,routeInfo:a,stops:l}=e;vt(l,this.stops)?function(e,t){for(const r of e){const e=t.find(e=>e.objectId===r.objectId);e&&(e.arriveCurbApproach=r.arriveCurbApproach,e.arriveTime=r.arriveTime,e.arriveTimeOffset=r.arriveTimeOffset,e.cumulativeCosts=r.cumulativeCosts,e.cumulativeDistance=r.cumulativeDistance,e.cumulativeDuration=r.cumulativeDuration,e.curbApproach=r.curbApproach,e.departCurbApproach=r.departCurbApproach,e.departTime=r.departTime,e.departTimeOffset=r.departTimeOffset,e.distanceToNetworkInMeters=r.distanceToNetworkInMeters,e.geometry=r.geometry,e.lateDuration=r.lateDuration,e.name=r.name,e.navLatency=r.navLatency,e.posAlong=r.posAlong,e.routeName=r.routeName,e.serviceCosts=r.serviceCosts,e.serviceDistance=r.serviceDistance,e.serviceDuration=r.serviceDuration,e.sequence=r.sequence,e.sideOfEdge=r.sideOfEdge,e.snapX=r.snapX,e.snapY=r.snapY,e.snapZ=r.snapZ,e.sourceId=r.sourceId,e.sourceOid=r.sourceOid,e.status=r.status,e.symbol=r.symbol,e.timeWindowEnd=r.timeWindowEnd,e.timeWindowStart=r.timeWindowStart,e.violations=r.violations,e.waitDuration=r.waitDuration,e.wait=r.wait)}}(l,this.stops):this.set({stops:l}),vt(o,this.pointBarriers)?function(e,t){for(const r of e){const e=t.find(e=>e.objectId===r.objectId);e&&(e.addedCost=r.addedCost,e.barrierType=r.barrierType,e.costs=r.costs,e.curbApproach=r.curbApproach,e.fullEdge=r.fullEdge,e.geometry=r.geometry,e.name=r.name,e.sideOfEdge=r.sideOfEdge,e.sourceId=r.sourceId,e.sourceOid=r.sourceOid,e.status=r.status,e.symbol=r.symbol)}}(o,this.pointBarriers):this.set({pointBarriers:o}),vt(s,this.polylineBarriers)?function(e,t){for(const r of e){const e=t.find(e=>e.objectId===r.objectId);e&&(e.barrierType=r.barrierType,e.costs=r.costs,e.geometry=r.geometry,e.name=r.name,e.scaleFactor=r.scaleFactor,e.symbol=r.symbol)}}(s,this.polylineBarriers):this.set({polylineBarriers:s}),vt(n,this.polygonBarriers)?function(e,t){for(const r of e){const e=t.find(e=>e.objectId===r.objectId);e&&(e.barrierType=r.barrierType,e.costs=r.costs,e.geometry=r.geometry,e.name=r.name,e.scaleFactor=r.scaleFactor,e.symbol=r.symbol)}}(n,this.polygonBarriers):this.set({polygonBarriers:n}),this.set({checksum:t}),this._set("directionLines",r),this._set("directionPoints",i),this._set("routeInfo",a),null!=a.geometry&&(this.spatialReference=a.geometry.spatialReference)}_getNetworkFeatures(e,t,r,i){const o=Ct(e)?e.layers:e.featureCollection?.layers,l=o?.find(e=>e.layerDefinition.name===t);if(null==l)return new a.A;const{layerDefinition:u,popupInfo:p,featureSet:c}=l,d=u.drawingInfo.renderer,{features:m}=c,y=c.spatialReference??u.spatialReference??u.extent.spatialReference??C.KK,f=d&&(0,L.L)(d),h=T.A.fromJSON(y),g=m.map(e=>{const i=n.A.fromJSON(e);null!=i.geometry&&null!=e.geometry&&null==e.geometry.spatialReference&&(i.geometry.spatialReference=h);const o=r(i);return o.symbol??=f?.getSymbol(i)??this._getNetworkSymbol(t),o.popupTemplate??=p&&s.A.fromJSON(p),o});return i&&g.some(({symbol:e})=>!e)&&i(g),new a.A(g)}_getNetworkSymbol(e){switch(e){case"Barriers":return this.defaultSymbols.pointBarriers;case"DirectionPoints":return this.defaultSymbols.directionPoints;case"DirectionLines":return this.defaultSymbols.directionLines;case"PolylineBarriers":return this.defaultSymbols.polylineBarriers;case"PolygonBarriers":return this.defaultSymbols.polygonBarriers;case"RouteInfo":return this.defaultSymbols.routeInfo;case"Stops":return null}}async _getServiceDescription(e,t,r){if(null!=this._cachedServiceDescription&&this._cachedServiceDescription.url===e)return this._cachedServiceDescription.serviceDescription;const i=await ee(e,t,r);return this._cachedServiceDescription={serviceDescription:i,url:e},i}_setStopSymbol(e){if(!e||!e.length||!this.defaultSymbols.stops||e.every(({symbol:e})=>!!e))return;const{first:t,last:r,middle:i,unlocated:o,waypoint:n,break:s}=this.defaultSymbols.stops,a=e.map(({sequence:e})=>e).filter(e=>null!=e),l=e.length===a.length;if(!this.routeInfo&&!l||1===e.length)return void e.forEach((o,n)=>{switch(n){case 0:o.symbol=t;break;case e.length-1:o.symbol=r;break;default:o.symbol=i}});const u=Math.min(...a),p=Math.max(...a);for(const a of e)a.sequence!==u?a.sequence!==p?this.routeInfo&&"ok"!==a.status&&"not-located-on-closest"!==a.status?a.symbol=o:"waypoint"!==a.locationType?"break"!==a.locationType?a.symbol=i:a.symbol=s:a.symbol=n:a.symbol=r:a.symbol=t}_toRouteLayerSolution(e){const{checksum:t,routeResults:r}=e,i=r[0].stops?.map(e=>ht.fromJSON(e.toJSON()));this._setStopSymbol(i);const o=new Dt(i),n=new Zt(e.polygonBarriers?.map(e=>{const t=Je.fromJSON(e.toJSON());return t.symbol=this.defaultSymbols.polygonBarriers,t})),s=new jt(e.polylineBarriers?.map(e=>{const t=ke.fromJSON(e.toJSON());return t.symbol=this.defaultSymbols.polylineBarriers,t})),a=new Nt(e.pointBarriers?.map(e=>{const t=_e.fromJSON(e.toJSON());return t.symbol=this.defaultSymbols.pointBarriers,t})),l=r[0].route?.toJSON(),u=Ve.fromJSON(l);u.symbol=this.defaultSymbols.routeInfo;const p=new Ot(r[0].directionPoints?.features.map(e=>{const t=Be.fromJSON(e.toJSON());return t.symbol=this.defaultSymbols.directionPoints,t}));return{checksum:t,directionLines:new It(r[0].directionLines?.features.map(e=>{const t=xe.fromJSON(e.toJSON());return t.symbol=this.defaultSymbols.directionLines,t})),directionPoints:p,pointBarriers:a,polygonBarriers:n,polylineBarriers:s,routeInfo:u,stops:o}}_writeDirectionLines(){return this._writeNetworkFeatures(this.directionLines,this.defaultSymbols.directionLines,"esriGeometryPolyline",xe.fields,"DirectionLines","Direction Lines")}_writeDirectionPoints(){return this._writeNetworkFeatures(this.directionPoints,this.defaultSymbols.directionPoints,"esriGeometryPoint",Be.fields,"DirectionPoints","Direction Points")}_writeNetworkFeatures(e,t,r,i,o,n){if(!e?.length)return null;const s=this.spatialReference.toJSON(),{fullExtent:a,maxScale:l,minScale:u}=this;return{featureSet:{features:e.toArray().map(e=>function(e){const{attributes:t,geometry:r,popupTemplate:i,symbol:o}=e.toGraphic().toJSON();return{attributes:t,geometry:r,popupInfo:i,symbol:o}}(e)),geometryType:r,spatialReference:s},layerDefinition:{capabilities:"Query,Update,Editing",drawingInfo:{renderer:{type:"simple",symbol:null!=t?t.toJSON():Tt(r)}},extent:a.toJSON(),fields:i,geometryType:r,hasM:!1,hasZ:!1,maxScale:l,minScale:u,name:o,objectIdField:"ObjectID",spatialReference:s,title:n,type:"Feature Layer",typeIdField:""}}}_writePointBarriers(){return this._writeNetworkFeatures(this.pointBarriers,this.defaultSymbols.pointBarriers,"esriGeometryPoint",_e.fields,"Barriers","Point Barriers")}_writePolygonBarriers(){return this._writeNetworkFeatures(this.polygonBarriers,this.defaultSymbols.polygonBarriers,"esriGeometryPolygon",Je.fields,"PolygonBarriers","Polygon Barriers")}_writePolylineBarriers(){return this._writeNetworkFeatures(this.polylineBarriers,this.defaultSymbols.polylineBarriers,"esriGeometryPolyline",ke.fields,"PolylineBarriers","Line Barriers")}_writeRouteInfo(){return this._writeNetworkFeatures(null!=this.routeInfo?new a.A([this.routeInfo]):null,this.defaultSymbols.routeInfo,"esriGeometryPolyline",Ve.fields,"RouteInfo","Route Details")}_writeStops(){const e=this._writeNetworkFeatures(this.stops,null,"esriGeometryPoint",ht.fields,"Stops","Stops");if(null==e)return null;const{stops:t}=this.defaultSymbols,r=t?.first?.toJSON(),i=t?.middle?.toJSON(),o=t?.last?.toJSON();return e.layerDefinition.drawingInfo.renderer={type:"uniqueValue",field1:"Sequence",defaultSymbol:i,uniqueValueInfos:[{value:"1",symbol:r,label:"First Stop"},{value:`${this.stops.length}`,symbol:o,label:"Last Stop"}]},e}_populatePortalFields(e,t,r){const i=t.networkDataset?.networkAttributes,o=i?.filter(({usageType:e})=>"cost"===e)??[],n=r.travelMode??t.defaultTravelMode;if(null==n)return void u.A.getLogger(this).warn("route-layer:missing-travel-mode","The routing service must have a default travel mode or one must be specified in the route parameter.");const{timeAttributeName:s,distanceAttributeName:a}=n,p=o.find(({name:e})=>e===s),c=o.find(({name:e})=>e===a),d=r.travelMode?.impedanceAttributeName??r.impedanceAttribute??t.impedance,m=p?.units,y=c?.units;if(!m||!y)throw new l.A("routelayer:unknown-impedance-units","the units of either the distance or time impedance are unknown");const f=r.directionsLanguage??t.directionsLanguage,h=r.accumulateAttributes??t.accumulateAttributeNames??[],g=new Set(o.filter(({name:e})=>e===s||e===a||e===d||null!=e&&h.includes(e)).map(({name:e})=>e)),v=e=>{for(const t in e)g.has(t)||delete e[t]};for(const t of e.pointBarriers)null!=t.costs&&(t.addedCost=t.costs[d]??0,v(t.costs));for(const t of e.polygonBarriers)null!=t.costs&&(t.scaleFactor=t.costs[d]??1,v(t.costs));for(const t of e.polylineBarriers)null!=t.costs&&(t.scaleFactor=t.costs[d]??1,v(t.costs));const{routeInfo:b}=e,{findBestSequence:w,preserveFirstStop:T,preserveLastStop:C,startTimeIsUTC:S,timeWindowsAreUTC:M}=r;b.analysisSettings=new $e({accumulateAttributes:h,directionsLanguage:f,findBestSequence:w,preserveFirstStop:T,preserveLastStop:C,startTimeIsUTC:S,timeWindowsAreUTC:M,travelMode:n}),b.totalDuration=Mt(b.totalCosts?.[s]??0,m),b.totalDistance=At(b.totalCosts?.[a]??0,y),b.totalLateDuration=Mt(b.totalViolations?.[s]??0,m),b.totalWaitDuration=Mt(b.totalWait?.[s]??0,m),null!=b.totalCosts&&v(b.totalCosts),null!=b.totalViolations&&v(b.totalViolations),null!=b.totalWait&&v(b.totalWait);for(const t of e.stops)null!=t.serviceCosts&&(t.serviceDuration=Mt(t.serviceCosts[s]??0,m),t.serviceDistance=At(t.serviceCosts[a]??0,y),v(t.serviceCosts)),null!=t.cumulativeCosts&&(t.cumulativeDuration=Mt(t.cumulativeCosts[s]??0,m),t.cumulativeDistance=At(t.cumulativeCosts[a]??0,y),v(t.cumulativeCosts)),null!=t.violations&&(t.lateDuration=Mt(t.violations[s]??0,m),v(t.violations)),null!=t.wait&&(t.waitDuration=Mt(t.wait[s]??0,m),v(t.wait))}};(0,i.Cg)([(0,h.MZ)({readOnly:!0,json:{read:!1,origins:{"portal-item":{write:{allowNull:!0,ignoreOrigin:!0}},"web-map":{write:{overridePolicy(){return{allowNull:!0,ignoreOrigin:null==this.portalItem}}}}}}})],Ft.prototype,"_featureCollection",void 0),(0,i.Cg)([(0,Y.K)(["web-map","portal-item"],"_featureCollection")],Ft.prototype,"writeFeatureCollectionWebmap",null),(0,i.Cg)([(0,h.MZ)({readOnly:!0,json:{read:!1,origins:{"web-map":{write:{target:"type",overridePolicy(){return{ignoreOrigin:null!=this.portalItem}}}}}}})],Ft.prototype,"_type",void 0),(0,i.Cg)([(0,h.MZ)({type:String})],Ft.prototype,"checksum",void 0),(0,i.Cg)([(0,h.MZ)({nonNullable:!0,type:B})],Ft.prototype,"defaultSymbols",void 0),(0,i.Cg)([(0,h.MZ)({readOnly:!0})],Ft.prototype,"directionLines",void 0),(0,i.Cg)([(0,z.w)(["web-map","portal-item"],"directionLines",["layers","featureCollection.layers"])],Ft.prototype,"readDirectionLines",null),(0,i.Cg)([(0,h.MZ)({readOnly:!0})],Ft.prototype,"directionPoints",void 0),(0,i.Cg)([(0,z.w)(["web-map","portal-item"],"directionPoints",["layers","featureCollection.layers"])],Ft.prototype,"readDirectionPoints",null),(0,i.Cg)([(0,h.MZ)({readOnly:!0,json:{read:!1,origins:{"web-map":{write:{ignoreOrigin:!0}}}}})],Ft.prototype,"featureCollectionType",void 0),(0,i.Cg)([(0,h.MZ)({readOnly:!0})],Ft.prototype,"fullExtent",null),(0,i.Cg)([(0,h.MZ)({json:{origins:{"web-map":{name:"featureCollection.showLegend"}},write:!0}})],Ft.prototype,"legendEnabled",void 0),(0,i.Cg)([(0,h.MZ)({type:["show","hide"]})],Ft.prototype,"listMode",void 0),(0,i.Cg)([(0,h.MZ)({type:Number,nonNullable:!0,json:{write:!1}})],Ft.prototype,"maxScale",void 0),(0,i.Cg)([(0,z.w)(["web-map","portal-item"],"maxScale",["layers","featureCollection.layers"])],Ft.prototype,"readMaxScale",null),(0,i.Cg)([(0,h.MZ)({type:Number,nonNullable:!0,json:{write:!1}})],Ft.prototype,"minScale",void 0),(0,i.Cg)([(0,z.w)(["web-map","portal-item"],"minScale",["layers","featureCollection.layers"])],Ft.prototype,"readMinScale",null),(0,i.Cg)([(0,h.MZ)({type:["ArcGISFeatureLayer"],value:"ArcGISFeatureLayer"})],Ft.prototype,"operationalLayerType",void 0),(0,i.Cg)([(0,h.MZ)({nonNullable:!0,type:a.A.ofType(_e)})],Ft.prototype,"pointBarriers",void 0),(0,i.Cg)([(0,z.w)(["web-map","portal-item"],"pointBarriers",["layers","featureCollection.layers"])],Ft.prototype,"readPointBarriers",null),(0,i.Cg)([(0,h.MZ)({nonNullable:!0,type:a.A.ofType(Je)})],Ft.prototype,"polygonBarriers",void 0),(0,i.Cg)([(0,z.w)(["web-map","portal-item"],"polygonBarriers",["layers","featureCollection.layers"])],Ft.prototype,"readPolygonBarriers",null),(0,i.Cg)([(0,h.MZ)({nonNullable:!0,type:a.A.ofType(ke)})],Ft.prototype,"polylineBarriers",void 0),(0,i.Cg)([(0,z.w)(["web-map","portal-item"],"polylineBarriers",["layers","featureCollection.layers"])],Ft.prototype,"readPolylineBarriers",null),(0,i.Cg)([(0,h.MZ)({readOnly:!0})],Ft.prototype,"routeInfo",void 0),(0,i.Cg)([(0,z.w)(["web-map","portal-item"],"routeInfo",["layers","featureCollection.layers"])],Ft.prototype,"readRouteInfo",null),(0,i.Cg)([(0,h.MZ)({type:T.A})],Ft.prototype,"spatialReference",void 0),(0,i.Cg)([(0,z.w)(["web-map","portal-item"],"spatialReference",["layers","featureCollection.layers"])],Ft.prototype,"readSpatialReference",null),(0,i.Cg)([(0,h.MZ)({nonNullable:!0,type:a.A.ofType(ht)})],Ft.prototype,"stops",void 0),(0,i.Cg)([(0,z.w)(["web-map","portal-item"],"stops",["layers","featureCollection.layers"])],Ft.prototype,"readStops",null),(0,i.Cg)([(0,h.MZ)()],Ft.prototype,"title",null),(0,i.Cg)([(0,h.MZ)({readOnly:!0,json:{read:!1}})],Ft.prototype,"type",void 0),(0,i.Cg)([(0,h.MZ)()],Ft.prototype,"url",null),Ft=(0,i.Cg)([(0,h.$K)("esri.layers.RouteLayer")],Ft);const xt=Ft},37539:(e,t,r)=>{r.d(t,{pO:()=>f,jd:()=>d,Tp:()=>m,w5:()=>c});var i=r(34727),o=r(86211),n=r(73941),s=r(79258);Math.PI;const a=s.$O.radius,l=s.$O.eccentricitySquared,u={a1:a*l,a2:a*l*a*l,a3:a*l*l/2,a4:a*l*a*l*2.5,a5:a*l+a*l*l/2,a6:1-l};s.$O.radius,s.$O.flattening,s.Sw.radius,s.Sw.flattening,s.sH.radius,s.sH.flattening,s.sH.radius;var p=r(21325);const c={2:{5:f,7:null,9:null,10:f,1:S,6:null,8:null,0:null,3:g,11:v,2:f,4:N},5:{5:f,7:null,9:null,10:f,1:S,6:null,8:null,0:null,3:g,11:v,2:f,4:N},7:{5:null,7:f,9:null,10:f,1:null,6:C,8:null,0:null,3:null,11:null,2:null,4:null},9:{5:null,7:null,9:f,10:f,1:null,6:null,8:T,0:null,3:null,11:null,2:null,4:null},3:{5:h,7:null,9:null,10:h,1:function(e,t,r,i){const o=e[t]/R,n=x-2*Math.atan(Math.exp(-e[t+1]/R)),s=R+(e[t+2]??0),a=Math.cos(n)*s;r[i]=Math.cos(o)*a,r[i+1]=Math.sin(o)*a,r[i+2]=Math.sin(n)*s},6:null,8:null,0:null,3:f,11:function(e,t,r,i){h(e,t,r,i),v(r,i,r,i)},2:h,4:function(e,t,r,i){h(e,t,r,i),N(r,i,r,i)}},4:{5:Z,7:null,9:null,10:Z,1:function(e,t,r,i){Z(e,t,r,i),S(r,i,r,i)},6:null,8:null,0:null,3:function(e,t,r,i){Z(e,t,r,i),g(r,i,r,i)},11:function(e,t,r,i){Z(e,t,r,i),v(r,i,r,i)},2:Z,4:f},1:{5:O,7:null,9:null,10:O,1:f,6:null,8:null,0:null,3:function(e,t,r,i){O(e,t,r,i),g(r,i,r,i)},11:function(e,t,r,i){O(e,t,r,i),v(r,i,r,i)},2:O,4:function(e,t,r,i){O(e,t,r,i),N(r,i,r,i)}},6:{5:null,7:I,9:null,10:I,1:null,6:f,8:null,0:null,3:null,11:null,2:null,4:null},8:{5:null,7:null,9:A,10:A,1:null,6:null,8:f,0:null,3:null,11:null,2:null,4:null},0:{5:null,7:null,9:null,10:null,1:null,6:null,8:null,0:f,3:null,11:null,2:null,4:null},10:{5:f,7:f,9:f,10:f,1:S,6:C,8:T,0:null,3:g,11:v,2:f,4:N},11:{5:b,7:null,9:null,10:b,1:function(e,t,r,i){b(e,t,r,i),S(r,i,r,i)},6:null,8:null,0:null,3:function(e,t,r,i){b(e,t,r,i),g(r,i,r,i)},11:f,2:b,4:function(e,t,r,i){b(e,t,r,i),N(r,i,r,i)}}};function d(e,t){return m(e,t)?.projector}function m(e,t){if(null==e||null==t)return null;if(j.source.spatialReference===e&&j.dest.spatialReference===t)return j;const r=y(e,j.source),i=y(t,j.dest);return 0===r&&0===i?(0,p.aI)(e,t)?j.projector=f:j.projector=null:j.projector=c[r][i],j}function y(e,t){return e?t.spatialReference===e?t.spatialReferenceId:(t.spatialReference=e,"metersPerUnit"in t&&(t.metersPerUnit=(0,o.GA)(e,1)),(0,n.jA)(e)?t.spatialReferenceId=1:(0,p.oT)(e)?t.spatialReferenceId=2:(0,p.K8)(e)?t.spatialReferenceId=3:(0,p.r1)(e)?t.spatialReferenceId=11:e.wkt===n.Ro.wkt?t.spatialReferenceId=4:4490===e.wkid?t.spatialReferenceId=5:e.wkt===n.FY.wkt?t.spatialReferenceId=6:e.wkt===n.LJ.wkt?t.spatialReferenceId=8:(0,p.q8)(e)?t.spatialReferenceId=7:(0,p.KQ)(e)?t.spatialReferenceId=9:t.spatialReferenceId=0):0}function f(e,t,r,i){e!==r&&(r[i++]=e[t++],r[i++]=e[t++],r[i]=e[t]??0)}function h(e,t,r,i){r[i]=F*(e[t]/R),r[i+1]=F*(x-2*Math.atan(Math.exp(-e[t+1]/R))),r[i+2]=e[t+2]??0}function g(e,t,r,o){!function(e,t,r,o,n){const s=.4999999*Math.PI,a=(0,i.qE)(D*e[t+1],-s,s),l=Math.sin(a);r[o++]=D*e[t]*n.radius,r[o++]=n.halfSemiMajorAxis*Math.log((1+l)/(1-l)),r[o]=e[t+2]??0}(e,t,r,o,s.$O)}function v(e,t,r,i){r[i]=e[t]*B,r[i+1]=e[t+1]*B,r[i+2]=e[t+2]??0}function b(e,t,r,i){r[i]=e[t]*P,r[i+1]=e[t+1]*P,r[i+2]=e[t+2]??0}function w(e,t,r,i,o){const n=o+(e[t+2]??0),s=D*e[t],a=D*e[t+1],l=Math.cos(a)*n;r[i]=Math.cos(s)*l,r[i+1]=Math.sin(s)*l,r[i+2]=Math.sin(a)*n}function T(e,t,r,i){w(e,t,r,i,s.Sw.radius)}function C(e,t,r,i){w(e,t,r,i,s.sH.radius)}function S(e,t,r,i){w(e,t,r,i,s.$O.radius)}function M(e,t,r,o,n){const s=e[t],a=e[t+1],l=e[t+2]??0,u=Math.sqrt(s*s+a*a+l*l),p=(0,i.YN)(l/(0===u?1:u)),c=Math.atan2(a,s);r[o++]=F*c,r[o++]=F*p,r[o]=u-n}function A(e,t,r,i){M(e,t,r,i,s.Sw.radius)}function I(e,t,r,i){M(e,t,r,i,s.sH.radius)}function O(e,t,r,i){M(e,t,r,i,s.$O.radius)}function N(e,t,r,i){!function(e,t,r,i,o){const n=D*e[t],s=D*e[t+1],a=e[t+2]??0,l=Math.sin(s),u=Math.cos(s),p=o.radius/Math.sqrt(1-o.eccentricitySquared*l*l);r[i++]=(p+a)*u*Math.cos(n),r[i++]=(p+a)*u*Math.sin(n),r[i++]=(p*(1-o.eccentricitySquared)+a)*l}(e,t,r,i,s.$O)}function Z(e,t,r,i){const o=u,n=e[t],a=e[t+1],l=e[t+2]??0;let p,c,d,m,y,f,h,g,v,b,w,T,C,S,M,A,I,O,N,Z,j;p=Math.abs(l),c=n*n+a*a,d=Math.sqrt(c),m=c+l*l,y=Math.sqrt(m),Z=Math.atan2(a,n),f=l*l/m,h=c/m,S=o.a2/y,M=o.a3-o.a4/y,h>.3?(g=p/y*(1+h*(o.a1+S+f*M)/y),N=Math.asin(g),b=g*g,v=Math.sqrt(1-b)):(v=d/y*(1-f*(o.a5-S-h*M)/y),N=Math.acos(v),b=1-v*v,g=Math.sqrt(b)),w=1-s.$O.eccentricitySquared*b,T=s.$O.radius/Math.sqrt(w),C=o.a6*T,S=d-T*v,M=p-C*g,I=v*S+g*M,A=v*M-g*S,O=A/(C/w+I),N+=O,j=I+A*O/2,l<0&&(N=-N),r[i++]=F*Z,r[i++]=F*N,r[i]=j}const j={source:{spatialReference:null,spatialReferenceId:0,metersPerUnit:1},dest:{spatialReference:null,spatialReferenceId:0,metersPerUnit:1},projector:f},D=(0,i.kU)(1),F=(0,i.KJ)(1),x=.5*Math.PI,R=s.$O.radius,B=R*Math.PI/180,P=180/(R*Math.PI)},46130:(e,t,r)=>{r.d(t,{v:()=>o});var i=r(76553);function o(e){e?.writtenProperties&&e.writtenProperties.forEach(({target:e,propName:t,newOrigin:r})=>{(0,i.H)(e)&&r&&e.originOf(t)!==r&&e.updateOrigin(t,r)})}},46140:(e,t,r)=>{r.d(t,{R:()=>o});var i=r(49186);let o=class e{constructor(e,t,r=""){this.major=e,this.minor=t,this._context=r}lessThan(e,t){return this.major<e||e===this.major&&this.minor<t}greaterEqual(e,t){return!this.lessThan(e,t)}validate(e){if(this.major!==e.major){const t=this._context&&this._context+":",r=this._context&&this._context+" ";throw new i.A(t+"unsupported-version",`Required major ${r}version is '${this.major}', but got '\${version.major}.\${version.minor}'`,{version:e})}}clone(){return new e(this.major,this.minor,this._context)}static parse(t,r=""){const[o,n]=t.split("."),s=/^\s*\d+\s*$/;if(!o?.match||!s.test(o))throw new i.A((r&&r+":")+"invalid-version","Expected major version to be a number, but got '${version}'",{version:t});if(!n?.match||!s.test(n))throw new i.A((r&&r+":")+"invalid-version","Expected minor version to be a number, but got '${version}'",{version:t});const a=parseInt(o,10),l=parseInt(n,10);return new e(a,l,r)}}},54339:(e,t,r)=>{function i(e,t){switch(t.type){case"object-id":case"unique-id-simple":return e.attributes[t.fieldName];case"unique-id-composite":{const r=[];for(const i of t.fieldNames)r.push(e.attributes[i]??null);return JSON.stringify(r)}}}function o(e,t){if("uniqueIdFields"in t&&t.uniqueIdFields?.length){if(1===t.uniqueIdFields.length)return e.attributes?.[t.uniqueIdFields[0]];const r=t.uniqueIdFields.map(t=>e.attributes?.[t]);return JSON.stringify(r)}return"objectIdField"in t&&t.objectIdField?e.attributes?.[t.objectIdField]:null}r.d(t,{W:()=>i,r:()=>o})},55674:(e,t,r)=>{r.d(t,{Ad:()=>m,Gj:()=>h,QY:()=>d,lL:()=>g,xR:()=>y});var i=r(66131),o=r(49186),n=(r(44208),r(44729)),s=r(15032),a=r(65864),l=r(95466),u=r(43668),p=r(98623);const c=["geometry","scale","timeProperties"];function d(e,t){if(null!=t)for(const r of c)t.hasArcadeDependency(r)&&e.add(r);return e}function m(e,t){return f.create(e,t,null,["$feature","$view"])}function y(e,t,r){return f.create(e,t,r,["$feature","$view","$config"])}class f{static async create(e,t,r,i){const{arcade:n,Dictionary:s}=await(0,u.l)();let a;try{a=n.parseScript(e)}catch(t){throw new o.A("arcade-bad-expression","Failed to parse arcade script",{script:e,error:t})}const l=n.scriptUsesGeometryEngine(a);l&&await n.enableGeometrySupport(),await n.loadDependentModules(new Set,a,null,!1,l);const p={vars:i.reduce((e,t)=>({...e,[t]:null}),{}),spatialReference:t,useAsync:!1},c=n.compileScript(a,p);let d=null;null!=r&&(d=new s(r),d.immutable=!0);const m=new s;return m.immutable=!1,m.setField("scale",0),new f(e,n,a,c,t,m,d,s)}constructor(e,t,r,i,o,n,s,a){this.script=e,this._arcade=t,this._syntaxTree=r,this._compiled=i,this._spatialReference=o,this._viewDict=n,this._configDict=s,this._dictionaryCtor=a,this._dependencies=new Map,this._featureReader=new h,this._dependencies.set("geometry",t.scriptTouchesGeometry(this._syntaxTree)),this._dependencies.set("scale",this._arcade.referencesMember(this._syntaxTree,"scale")),this._dependencies.set("timeProperties",this._arcade.scriptUsesViewProperties(this._syntaxTree,["timeProperties"]))}evaluate(e,t){const r=t.$view?.timeZone;if(t.$view){let e;if(this._viewDict.setField("scale",t.$view.scale),null!=t.$view.timeProperties){const{currentStart:o,currentEnd:n}=t.$view.timeProperties;e=new this._dictionaryCtor({currentStart:null!=o?null!=r?i.lY.epochToArcadeDate(o,r):i.lY.unknownEpochToArcadeDate(o):void 0,currentEnd:null!=n?null!=r?i.lY.epochToArcadeDate(n,r):i.lY.unknownEpochToArcadeDate(n):void 0,startIncluded:!0,endIncluded:!0})}this._viewDict.setField("timeProperties",e)}return this._compiled({vars:{$view:this._viewDict,$config:this._configDict,$feature:e},spatialReference:this._spatialReference,timeZone:r})}repurposeFeature(e,t){return this._featureReader.bind(e,t,this._spatialReference),this._featureReader}references(e){return this._dependencies.get(e)??!1}}class h{constructor(){this._boundTarget=null,this._boundSchema={fields:null,fieldsIndex:null,spatialReference:null,get geometryType(){return null},get objectIdField(){return null}},this.arcadeDeclaredClass="esri.arcade.Feature",this._contextTimeZone=null}bind(e,t,r){const i=t??new l.A(g(e.attributes));this._boundTarget=e,this._boundSchema.fields=i.fields,this._boundSchema.fieldsIndex=i,this._boundSchema.spatialReference=r}_getField(e){return this._boundSchema.fieldsIndex.get(e)}get contextTimeZone(){return this._contextTimeZone}set contextTimeZone(e){this._contextTimeZone=e}readArcadeFeature(){return this}hasField(e){return this._boundSchema.fieldsIndex.has(e)}geometry(){if("fromJSON"in this._boundTarget)return this._boundTarget.geometry;const e=(0,a.rS)(this._boundTarget.geometry);if(e){if(!this._boundSchema.spatialReference)throw new Error("InternalError: Expected spatial reference to be defined");e.spatialReference=this._boundSchema.spatialReference}return e}_hasGeometry(){return null!=this._boundTarget.geometry}isUnknownDateTimeField(e){return this._boundSchema.fieldsIndex.getTimeZone(e)===p.L5}field(e,t=!0){const r=this._getField(e);if(r){const t=this._boundTarget.attributes[r.name];if(null==t)return null;switch(r.type){case"date-only":case"esriFieldTypeDateOnly":return n.n.fromReader(t);case"time-only":case"esriFieldTypeTimeOnly":return s.k.fromReader(t);case"esriFieldTypeTimestampOffset":case"timestamp-offset":return i.lY.fromReaderAsTimeStampOffset(t);case"date":case"esriFieldTypeDate":return this.isUnknownDateTimeField(e)?i.lY.unknownEpochToArcadeDate(t):i.lY.epochToArcadeDate(t,this.contextTimeZone??p.qU);default:return t}}if(t)throw new Error(`Field ${e} does not exist`);return null}setField(e,t){throw new Error("Unable to update feature attribute values, feature is readonly")}keys(){return this._boundSchema.fieldsIndex.fields.map(e=>e.name)}isEmpty(){return this._boundSchema.fields.length<=0&&!this._hasGeometry()}castToText(e=!1){return JSON.stringify(this._boundTarget)}gdbVersion(){return null}fullSchema(){return this._boundSchema}castAsJson(e=null){return{attributes:this._boundTarget.attributes,geometry:!0===e?.keepGeometryType?this.geometry():this.geometry()?.toJSON()??null}}castAsJsonAsync(e=null,t=null){return Promise.resolve(this.castAsJson(t))}}function g(e){const t=[];for(const r in e)t.push({name:r,alias:r,type:"string"==typeof e[r]?"esriFieldTypeString":"esriFieldTypeDouble"});return t}},62815:(e,t,r)=>{r.d(t,{N:()=>s});var i=r(86211),o=r(73941),n=r(21325);function s(e,t,r){if(null==t||null==r||r.vcsWkid||(0,n.aI)(t,r)||(0,o.xP)(t)||(0,o.xP)(r))return null;const s=(0,i.G9)(t)/(0,i.G9)(r);if(1===s)return null;switch(e){case"point":case"esriGeometryPoint":return e=>function(e,t){null!=e?.z&&(e.z*=t)}(e,s);case"polyline":case"esriGeometryPolyline":return e=>function(e,t){if(e)for(const r of e.paths)for(const e of r)e.length>2&&(e[2]*=t)}(e,s);case"polygon":case"esriGeometryPolygon":return e=>function(e,t){if(e)for(const r of e.rings)for(const e of r)e.length>2&&(e[2]*=t)}(e,s);case"multipoint":case"esriGeometryMultipoint":return e=>function(e,t){if(e)for(const r of e.points)r.length>2&&(r[2]*=t)}(e,s);case"extent":case"esriGeometryEnvelope":return e=>function(e,t){e&&null!=e.zmin&&null!=e.zmax&&(e.zmin*=t,e.zmax*=t)}(e,s);default:return null}}},63074:(e,t,r)=>{r.d(t,{LF:()=>u,dM:()=>p,sU:()=>a});var i=r(31635),o=r(91429),n=r(89317),s=r(76369);const a={type:["average","color-burn","color-dodge","color","darken","destination-atop","destination-in","destination-out","destination-over","difference","exclusion","hard-light","hue","invert","lighten","lighter","luminosity","minus","multiply","normal","overlay","plus","reflect","saturation","screen","soft-light","source-atop","source-in","source-out","vivid-light","xor"],nonNullable:!0,json:{read:!1,write:!1,origins:{"web-map":{read:!0,write:{layerContainerTypes:n.K}},"portal-item":{read:!0,write:{layerContainerTypes:n.K}}}}},l={read:{reader:s.LF},write:{allowNull:!0,writer:s.M9,layerContainerTypes:n.K}},u={json:{read:!1,write:!1,origins:{"web-map":l,"portal-item":l}}},p=e=>{const t=e;let r=class extends t{constructor(){super(...arguments),this.blendMode="normal",this.effect=null}};return(0,i.Cg)([(0,o.MZ)(a)],r.prototype,"blendMode",void 0),(0,i.Cg)([(0,o.MZ)(u)],r.prototype,"effect",void 0),r=(0,i.Cg)([(0,o.$K)("esri.layers.mixins.BlendLayer")],r),r}},65494:(e,t,r)=>{r.d(t,{L:()=>l,r:()=>s});var i=r(67076),o=r(90360),n=r(41214);function s(e,t){return l(e,null,t)}const a=(0,o.C)({types:n.Hg});function l(e,t,r){return e?e&&(e.styleName||e.styleUrl)&&"uniqueValue"!==e.type?(r?.messages&&r.messages.push(new i.A("renderer:unsupported","Only UniqueValueRenderer can be referenced from a web style, but found '"+e.type+"'",{definition:e,context:r})),null):a(e,t,r):null}},69052:(e,t,r)=>{r.d(t,{hr:()=>o,ie:()=>l,uC:()=>a});var i=r(34727);class o{constructor(e,t){this.min=e,this.max=t,this.range=t-e}normalize(e,t=0,r=!1){return n(this.range,this.min,this.max,e,t,r)}clamp(e,t=0){return(0,i.qE)(e-t,this.min,this.max)+t}monotonic(e,t,r){return e<t?t:t+s(this.range,e-t,r)}minimalMonotonic(e,t,r){return n(this.range,e,e+this.range,t,r)}center(e,t,r){return t=this.monotonic(e,t,r),this.normalize((e+t)/2,r)}diff(e,t,r){return this.monotonic(e,t,r)-e}shortestSignedDiff(e,t){e=this.normalize(e);const r=(t=this.normalize(t))-e,i=t<e?this.minimalMonotonic(e,t)-e:t-this.minimalMonotonic(t,e);return Math.abs(r)<Math.abs(i)?r:i}contains(e,t,r){return t=this.minimalMonotonic(e,t),(r=this.minimalMonotonic(e,r))>e&&r<t}}function n(e,t,r,i,o=0,n=!1){return(i-=o)<t?i+=s(e,t-i):i>r&&(i-=s(e,i-r)),n&&i===r&&(i=t),i+o}function s(e,t,r=0){return Math.ceil((t-r)/e)*e+r}const a=new o(0,2*Math.PI),l=(new o(-Math.PI,Math.PI),new o(0,360))},70328:(e,t,r)=>{r.d(t,{BI:()=>b,DC:()=>c,Ej:()=>m,Ie:()=>g,Jt:()=>v,Ne:()=>y,RF:()=>p,aI:()=>T,fA:()=>s,gE:()=>l,hZ:()=>h,iT:()=>d,is:()=>w,qv:()=>C,vI:()=>f,vY:()=>a,v_:()=>S,vt:()=>n,w1:()=>u});var i=r(5443),o=(r(19419),r(4197));function n(e=S){return[e[0],e[1],e[2],e[3],e[4],e[5]]}function s(e,t,r,i,o,s,a=n()){return a[0]=e,a[1]=t,a[2]=r,a[3]=i,a[4]=o,a[5]=s,a}function a(e,t=n()){return function(e,t,r,i=n()){return h(i,C),function(e,t,r=0,i=t.length/3){let o=e[0],n=e[1],s=e[2],a=e[3],l=e[4],u=e[5];for(let e=0;e<i;e++)o=Math.min(o,t[r+3*e]),n=Math.min(n,t[r+3*e+1]),s=Math.min(s,t[r+3*e+2]),a=Math.max(a,t[r+3*e]),l=Math.max(l,t[r+3*e+1]),u=Math.max(u,t[r+3*e+2]);e[0]=o,e[1]=n,e[2]=s,e[3]=a,e[4]=l,e[5]=u}(i,e,t,r),i}(e,0,e.length/3,t)}function l(e,t=(0,o.jh)(24)){const[r,i,n,s,a,l]=e;return t[0]=r,t[1]=i,t[2]=n,t[3]=r,t[4]=i,t[5]=l,t[6]=r,t[7]=a,t[8]=n,t[9]=r,t[10]=a,t[11]=l,t[12]=s,t[13]=i,t[14]=n,t[15]=s,t[16]=i,t[17]=l,t[18]=s,t[19]=a,t[20]=n,t[21]=s,t[22]=a,t[23]=l,t}function u(e,t){const r=isFinite(e[2])||isFinite(e[5]);return new i.A(r?{xmin:e[0],xmax:e[3],ymin:e[1],ymax:e[4],zmin:e[2],zmax:e[5],spatialReference:t}:{xmin:e[0],xmax:e[3],ymin:e[1],ymax:e[4],spatialReference:t})}function p(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[2]=Math.min(e[2],t[2]),e[3]=Math.max(e[3],t[3]),e[4]=Math.max(e[4],t[4]),e[5]=Math.max(e[5],t[5])}function c(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[3]=Math.max(e[3],t[2]),e[4]=Math.max(e[4],t[3])}function d(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[2]=Math.min(e[2],t[2]),e[3]=Math.max(e[3],t[0]),e[4]=Math.max(e[4],t[1]),e[5]=Math.max(e[5],t[2])}function m(e,t=[0,0,0]){return t[0]=function(e){return e[0]>=e[3]?0:e[3]-e[0]}(e),t[1]=function(e){return e[1]>=e[4]?0:e[4]-e[1]}(e),t[2]=function(e){return e[2]>=e[5]?0:e[5]-e[2]}(e),t}function y(e,t,r=e){return r[0]=t[0],r[1]=t[1],r[2]=t[2],r!==e&&(r[3]=e[3],r[4]=e[4],r[5]=e[5]),r}function f(e,t,r=e){return r[3]=t[0],r[4]=t[1],r[5]=t[2],r!==e&&(r[0]=e[0],r[1]=e[1],r[2]=e[2]),e}function h(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e}function g(e){return e?h(e,C):n(C)}function v(e,t){return e[0]=t[0],e[1]=t[1],e[2]=Number.NEGATIVE_INFINITY,e[3]=t[2],e[4]=t[3],e[5]=Number.POSITIVE_INFINITY,e}function b(e,t,r,i,o){return e[0]=t,e[1]=r,e[2]=Number.NEGATIVE_INFINITY,e[3]=i,e[4]=o,e[5]=Number.POSITIVE_INFINITY,e}function w(e){return 6===e.length}function T(e,t,r){if(null==e||null==t)return e===t;if(!w(e)||!w(t))return!1;if(r){for(let i=0;i<e.length;i++)if(!r(e[i],t[i]))return!1}else for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}const C=[1/0,1/0,1/0,-1/0,-1/0,-1/0],S=[0,0,0,0,0,0];n()},73681:(e,t,r)=>{r.d(t,{n:()=>l});var i=r(49186),o=r(53966),n=r(46140),s=r(95466),a=r(55674);class l{static async from(e,t,r){const s=e.dictionary_version?n.R.parse(e.dictionary_version):null,p=new Set(e.itemsNames),c={};if(t)for(const e in t)c[e]=t[e];if(e.authoringInfo.configuration)for(const t of e.authoringInfo.configuration)c.hasOwnProperty(t.name)||(c[t.name]=t.value);const d=new Set(e.authoringInfo.symbol);for(const e of Object.keys(r))d.delete(e);d.size&&o.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("missing-fields: fieldMap entries for the following symbol fields are missing",{symbolFields:d});const m=await(0,a.xR)(e.expression,null,c);if(!m)throw new i.A("dictionary-renderer:expression-error","Unable to create dictionary renderer expression");const y=!s||!s.greaterEqual(4,0);y&&o.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("Dictionary script does not support native field types. Applying fallback",{version:s});const f=new u(r,y);return new l(y,p,m,f)}constructor(e,t,r,i){this._requiresFieldCoercionToString=e,this._itemNames=t,this._compiled=r,this._reader=i}get itemNames(){return this._itemNames}evaluate(e,t,r,i){try{return this._reader.bind(e,r,i),this._compiled.evaluate(this._reader,{$view:{scale:t}})}catch(e){o.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("arcade: dictionary script evaluation failed",{error:e})}return null}createDictionaryFieldsIndex(e){if(!this._requiresFieldCoercionToString)return new s.A(e);const t=e.map(e=>({...e,type:"esriFieldTypeString"}));return new s.A(t)}}class u extends a.Gj{constructor(e,t){super(),this._fieldMap=e,this._requiresFieldCoercionToString=t}_getField(e){const t=this._fieldMap[e]??e;return this._boundSchema.fieldsIndex.get(t)}field(e){if(!this._requiresFieldCoercionToString)return super.field(e,!1);const t=this._getField(e);return null==t||null==this._boundTarget.attributes[t.name]?"":""+this._boundTarget.attributes[t.name]}}},76369:(e,t,r)=>{r.d(t,{LF:()=>C,M9:()=>S});var i=r(49186),o=r(93637),n=r(40876),s=r(59247),a=r(27865);class l extends SyntaxError{constructor(e,t,r,i){super(e),this.expected=t,this.found=r,this.location=i,this.name="SyntaxError"}format(e){let t="Error: "+this.message;if(this.location){let r=null;const i=e.find(e=>e.source===this.location.source);i&&(r=i.text.split(/\r\n|\n|\r/g));const o=this.location.start,n=this.location.source&&"function"==typeof this.location.source.offset?this.location.source.offset(o):o,s=this.location.source+":"+n.line+":"+n.column;if(r){const e=this.location.end,i="".padEnd(n.line.toString().length," "),a=r[o.line-1],l=(o.line===e.line?e.column:a.length+1)-o.column||1;t+="\n --\x3e "+s+"\n"+i+" |\n"+n.line+" | "+a+"\n"+i+" | "+"".padEnd(o.column-1," ")+"".padEnd(l,"^")}else t+="\n at "+s}return t}static buildMessage(e,t){function r(e){return e.codePointAt(0).toString(16).toUpperCase()}const i=Object.prototype.hasOwnProperty.call(RegExp.prototype,"unicode")?new RegExp("[\\p{C}\\p{Mn}\\p{Mc}]","gu"):null;function o(e){return i?e.replace(i,e=>"\\u{"+r(e)+"}"):e}function n(e){return o(e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,e=>"\\x0"+r(e)).replace(/[\x10-\x1F\x7F-\x9F]/g,e=>"\\x"+r(e)))}function s(e){return o(e.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,e=>"\\x0"+r(e)).replace(/[\x10-\x1F\x7F-\x9F]/g,e=>"\\x"+r(e)))}const a={literal:e=>'"'+n(e.text)+'"',class(e){const t=e.parts.map(e=>Array.isArray(e)?s(e[0])+"-"+s(e[1]):s(e));return"["+(e.inverted?"^":"")+t.join("")+"]"+(e.unicode?"u":"")},any:()=>"any character",end:()=>"end of input",other:e=>e.description};function l(e){return a[e.type](e)}return"Expected "+function(e){const t=e.map(l);if(t.sort(),t.length>0){let e=1;for(let r=1;r<t.length;r++)t[r-1]!==t[r]&&(t[e]=t[r],e++);t.length=e}switch(t.length){case 1:return t[0];case 2:return t[0]+" or "+t[1];default:return t.slice(0,-1).join(", ")+", or "+t[t.length-1]}}(e)+" but "+function(e){return e?'"'+n(e)+'"':"end of input"}(t)+" found."}}function u(e){if(!e||0===e.length)return null;if("string"==typeof e){const t=p(e);return t&&0!==t.length?t:null}const t=e.map(e=>{if(!Number.isFinite(e.scale)||e.scale<=0)throw new i.A("effect:invalid-scale","scale must be finite and greater than 0",{stop:e});return{scale:e.scale,effects:p(e.value)}});t.sort((e,t)=>t.effects.length-e.effects.length);for(let e=0;e<t.length-1;e++){if(!(0,a.mj)(t[e].effects,t[e+1].effects))throw new i.A("effect:interpolation-impossible","Cannot interpolate by scale between 2 lists of mixed effects",{a:t[e].effects,b:t[e+1].effects});(0,a.O9)(t[e].effects,t[e+1].effects)}return t.sort((e,t)=>t.scale-e.scale),t}function p(e){let t;if(!e)return[];try{t=function(e,t){const r={},i=(t=void 0!==t?t:{}).grammarSource,o={start:Te};let n=Te;const s="none",a=")",u=",",p="(",c="%",d="px",m="cm",y="mm",f="in",h="pt",g="pc",v="deg",b="rad",w="grad",T="turn",C="#",S=".",M="e",A=/^[ \t\n\r]/,I=/^[a-z\-]/,O=/^[0-9a-fA-F]/,N=/^[+\-]/,Z=/^[0-9]/,j=ge("none"),D=fe("none",!1),F=fe(")",!1),x=fe(",",!1),R=he([" ","\t","\n","\r"],!1,!1,!1),B=ge("function"),P=fe("(",!1),_=ge("identifier"),E=he([["a","z"],"-"],!1,!1,!1),L=ge("percentage"),J=fe("%",!1),U=ge("length"),k=fe("px",!1),$=fe("cm",!1),W=fe("mm",!1),V=fe("in",!1),G=fe("pt",!1),q=fe("pc",!1),K=ge("angle"),z=fe("deg",!1),Y=fe("rad",!1),H=fe("grad",!1),X=fe("turn",!1),Q=ge("number"),ee=ge("color"),te=fe("#",!1),re=he([["0","9"],["a","f"],["A","F"]],!1,!1,!1),ie=he(["+","-"],!1,!1,!1),oe=he([["0","9"]],!1,!1,!1),ne=fe(".",!1),se=fe("e",!1);let ae=0|t.peg$currPos,le=ae;const ue=[{line:1,column:1}];let pe,ce=ae,de=t.peg$maxFailExpected||[],me=0|t.peg$silentFails;if(t.startRule){if(!(t.startRule in o))throw new Error("Can't start parsing from rule \""+t.startRule+'".');n=o[t.startRule]}function ye(){return e.substring(le,ae)}function fe(e,t){return{type:"literal",text:e,ignoreCase:t}}function he(e,t,r,i){return{type:"class",parts:e,inverted:t,ignoreCase:r,unicode:i}}function ge(e){return{type:"other",description:e}}function ve(t){let r,i=ue[t];if(i)return i;if(t>=ue.length)r=ue.length-1;else for(r=t;!ue[--r];);for(i=ue[r],i={line:i.line,column:i.column};r<t;)10===e.charCodeAt(r)?(i.line++,i.column=1):i.column++,r++;return ue[t]=i,i}function be(e,t,r){const o=ve(e),n=ve(t);return{source:i,start:{offset:e,line:o.line,column:o.column},end:{offset:t,line:n.line,column:n.column}}}function we(e){ae<ce||(ae>ce&&(ce=ae,de=[]),de.push(e))}function Te(){let e;return e=Ce(),e===r&&(e=function(){let e,t;if(e=[],t=Se(),t!==r)for(;t!==r;)e.push(t),t=Se();else e=r;return e}()),e}function Ce(){let t,i;return me++,t=ae,Ae(),e.substr(ae,4)===s?(i=s,ae+=4):(i=r,0===me&&we(D)),i!==r?(Ae(),le=t,t=[]):(ae=t,t=r),me--,t===r&&0===me&&we(j),t}function Se(){let t,i,o,n;return t=ae,Ae(),i=function(){let t,i,o;return me++,t=ae,i=Ie(),i!==r?(40===e.charCodeAt(ae)?(o=p,ae++):(o=r,0===me&&we(P)),o!==r?(le=t,t=i):(ae=t,t=r)):(ae=t,t=r),me--,t===r&&(i=r,0===me&&we(B)),t}(),i!==r?(Ae(),o=function(){let t,i,o,n,s,a,l,p;if(t=ae,i=Me(),i!==r){for(o=[],n=ae,s=Ae(),44===e.charCodeAt(ae)?(a=u,ae++):(a=r,0===me&&we(x)),a===r&&(a=null),l=Ae(),p=Me(),p!==r?(s=[s,a,l,p],n=s):(ae=n,n=r);n!==r;)o.push(n),n=ae,s=Ae(),44===e.charCodeAt(ae)?(a=u,ae++):(a=r,0===me&&we(x)),a===r&&(a=null),l=Ae(),p=Me(),p!==r?(s=[s,a,l,p],n=s):(ae=n,n=r);le=t,t=function(e,t){return t.length>0?function(e,t){return[e].concat(function(e){return e.map(function(e){return e[3]})}(t))}(e,t):[e]}(i,o)}else ae=t,t=r;return t}(),o===r&&(o=null),Ae(),41===e.charCodeAt(ae)?(n=a,ae++):(n=r,0===me&&we(F)),n!==r?(Ae(),le=t,t=function(e,t){return{type:"function",name:e,parameters:t||[]}}(i,o)):(ae=t,t=r)):(ae=t,t=r),t}function Me(){let e,t;return e=ae,t=Oe(),t===r&&(t=Ne(),t===r&&(t=Ze(),t===r&&(t=function(){let e,t;return me++,e=ae,Ae(),t=De(),t!==r?(le=e,e=function(e){return{value:e,unit:null}}(t)):(ae=e,e=r),me--,e===r&&0===me&&we(Q),e}()))),t!==r&&(le=e,t=function(e){return{type:"quantity",value:e.value,unit:e.unit}}(t)),e=t,e===r&&(e=ae,t=je(),t!==r&&(le=e,t=function(e){return{type:"color",colorType:e.type,value:e.value}}(t)),e=t),e}function Ae(){let t,i;for(me++,t=[],i=e.charAt(ae),A.test(i)?ae++:(i=r,0===me&&we(R));i!==r;)t.push(i),i=e.charAt(ae),A.test(i)?ae++:(i=r,0===me&&we(R));return me--,t}function Ie(){let t,i,o;if(me++,t=ae,i=[],o=e.charAt(ae),I.test(o)?ae++:(o=r,0===me&&we(E)),o!==r)for(;o!==r;)i.push(o),o=e.charAt(ae),I.test(o)?ae++:(o=r,0===me&&we(E));else i=r;return i!==r&&(le=t,i=ye()),t=i,me--,t===r&&(i=r,0===me&&we(_)),t}function Oe(){let t,i,o;return me++,t=ae,Ae(),i=De(),i!==r?(37===e.charCodeAt(ae)?(o=c,ae++):(o=r,0===me&&we(J)),o!==r?(le=t,t=function(e){return{value:e,unit:"%"}}(i)):(ae=t,t=r)):(ae=t,t=r),me--,t===r&&0===me&&we(L),t}function Ne(){let t,i,o;return me++,t=ae,Ae(),i=De(),i!==r?(e.substr(ae,2)===d?(o=d,ae+=2):(o=r,0===me&&we(k)),o!==r?(le=t,t=function(e){return{value:e,unit:"px"}}(i)):(ae=t,t=r)):(ae=t,t=r),t===r&&(t=ae,Ae(),i=De(),i!==r?(e.substr(ae,2)===m?(o=m,ae+=2):(o=r,0===me&&we($)),o!==r?(le=t,t=function(e){return{value:e,unit:"cm"}}(i)):(ae=t,t=r)):(ae=t,t=r),t===r&&(t=ae,Ae(),i=De(),i!==r?(e.substr(ae,2)===y?(o=y,ae+=2):(o=r,0===me&&we(W)),o!==r?(le=t,t=function(e){return{value:e,unit:"mm"}}(i)):(ae=t,t=r)):(ae=t,t=r),t===r&&(t=ae,Ae(),i=De(),i!==r?(e.substr(ae,2)===f?(o=f,ae+=2):(o=r,0===me&&we(V)),o!==r?(le=t,t=function(e){return{value:e,unit:"in"}}(i)):(ae=t,t=r)):(ae=t,t=r),t===r&&(t=ae,Ae(),i=De(),i!==r?(e.substr(ae,2)===h?(o=h,ae+=2):(o=r,0===me&&we(G)),o!==r?(le=t,t=function(e){return{value:e,unit:"pt"}}(i)):(ae=t,t=r)):(ae=t,t=r),t===r&&(t=ae,Ae(),i=De(),i!==r?(e.substr(ae,2)===g?(o=g,ae+=2):(o=r,0===me&&we(q)),o!==r?(le=t,t=function(e){return{value:e,unit:"pc"}}(i)):(ae=t,t=r)):(ae=t,t=r)))))),me--,t===r&&0===me&&we(U),t}function Ze(){let t,i,o;return me++,t=ae,i=De(),i!==r?(e.substr(ae,3)===v?(o=v,ae+=3):(o=r,0===me&&we(z)),o!==r?(le=t,t=function(e){return{value:e,unit:"deg"}}(i)):(ae=t,t=r)):(ae=t,t=r),t===r&&(t=ae,i=De(),i!==r?(e.substr(ae,3)===b?(o=b,ae+=3):(o=r,0===me&&we(Y)),o!==r?(le=t,t=function(e){return{value:e,unit:"rad"}}(i)):(ae=t,t=r)):(ae=t,t=r),t===r&&(t=ae,i=De(),i!==r?(e.substr(ae,4)===w?(o=w,ae+=4):(o=r,0===me&&we(H)),o!==r?(le=t,t=function(e){return{value:e,unit:"grad"}}(i)):(ae=t,t=r)):(ae=t,t=r),t===r&&(t=ae,i=De(),i!==r?(e.substr(ae,4)===T?(o=T,ae+=4):(o=r,0===me&&we(X)),o!==r?(le=t,t=function(e){return{value:e,unit:"turn"}}(i)):(ae=t,t=r)):(ae=t,t=r)))),me--,t===r&&(i=r,0===me&&we(K)),t}function je(){let t,i,o,n;if(me++,t=ae,35===e.charCodeAt(ae)?(i=C,ae++):(i=r,0===me&&we(te)),i!==r){if(o=[],n=e.charAt(ae),O.test(n)?ae++:(n=r,0===me&&we(re)),n!==r)for(;n!==r;)o.push(n),n=e.charAt(ae),O.test(n)?ae++:(n=r,0===me&&we(re));else o=r;o!==r?(le=t,t={type:"hex",value:ye()}):(ae=t,t=r)}else ae=t,t=r;return t===r&&(t=ae,i=Se(),i!==r&&(le=t,i=function(e){return{type:"function",value:e}}(i)),t=i,t===r&&(t=ae,i=Ie(),i!==r&&(le=t,i={type:"named",value:ye()}),t=i)),me--,t===r&&(i=r,0===me&&we(ee)),t}function De(){let t,i,o,n,s,a,l,u;for(t=ae,i=e.charAt(ae),N.test(i)?ae++:(i=r,0===me&&we(ie)),i===r&&(i=null),o=ae,n=[],s=e.charAt(ae),Z.test(s)?ae++:(s=r,0===me&&we(oe));s!==r;)n.push(s),s=e.charAt(ae),Z.test(s)?ae++:(s=r,0===me&&we(oe));if(46===e.charCodeAt(ae)?(s=S,ae++):(s=r,0===me&&we(ne)),s!==r){if(a=[],l=e.charAt(ae),Z.test(l)?ae++:(l=r,0===me&&we(oe)),l!==r)for(;l!==r;)a.push(l),l=e.charAt(ae),Z.test(l)?ae++:(l=r,0===me&&we(oe));else a=r;a!==r?(n=[n,s,a],o=n):(ae=o,o=r)}else ae=o,o=r;if(o===r)if(o=[],n=e.charAt(ae),Z.test(n)?ae++:(n=r,0===me&&we(oe)),n!==r)for(;n!==r;)o.push(n),n=e.charAt(ae),Z.test(n)?ae++:(n=r,0===me&&we(oe));else o=r;if(o!==r){if(n=ae,101===e.charCodeAt(ae)?(s=M,ae++):(s=r,0===me&&we(se)),s!==r){if(a=e.charAt(ae),N.test(a)?ae++:(a=r,0===me&&we(ie)),a===r&&(a=null),l=[],u=e.charAt(ae),Z.test(u)?ae++:(u=r,0===me&&we(oe)),u!==r)for(;u!==r;)l.push(u),u=e.charAt(ae),Z.test(u)?ae++:(u=r,0===me&&we(oe));else l=r;l!==r?(s=[s,a,l],n=s):(ae=n,n=r)}else ae=n,n=r;n===r&&(n=null),le=t,t=parseFloat(ye())}else ae=t,t=r;return t}pe=n();const Fe=pe!==r&&ae===e.length;function xe(){throw pe!==r&&ae<e.length&&we({type:"end"}),function(e,t,r){return new l(l.buildMessage(e,t),e,t,r)}(de,ce<e.length?function(t=ae){const r=e.codePointAt(t);return void 0===r?"":String.fromCodePoint(r)}(ce):null,ce<e.length?be(ce,ce+1):be(ce,ce))}return t.peg$library?{peg$result:pe,peg$currPos:ae,peg$FAILED:r,peg$maxFailExpected:de,peg$maxFailPos:ce,peg$success:Fe,peg$throw:Fe?void 0:xe}:Fe?pe:void xe()}(e)}catch(t){throw new i.A("effect:invalid-syntax","Invalid effect syntax",{value:e,error:t})}return t.map(e=>function(e){try{switch(e.name){case"grayscale":case"sepia":case"saturate":case"invert":case"brightness":case"contrast":return function(e){let t=1;return c(e.parameters,1),1===e.parameters.length&&(t=h(e.parameters[0])),new s.yG(e.name,t)}(e);case"opacity":return function(e){let t=1;return c(e.parameters,1),1===e.parameters.length&&(t=h(e.parameters[0])),new s.jm(t)}(e);case"hue-rotate":return function(e){let t=0;return c(e.parameters,1),1===e.parameters.length&&(t=function(e){return function(e){if("quantity"!==e.type||!(0===e.value&&null===e.unit||e.unit&&null!=y[e.unit]))throw new i.A("effect:type-error",`Expected <angle>, Actual: ${d(e)}`,{term:e})}(e),e.value*y[e.unit]||0}(e.parameters[0])),new s.Nd(t)}(e);case"blur":return function(e){let t=0;return c(e.parameters,1),1===e.parameters.length&&(t=g(e.parameters[0]),m(t,e.parameters[0])),new s.Fk(t)}(e);case"drop-shadow":return function(e){const t=[];let r=null;for(const o of e.parameters)if("color"===o.type){if(t.length&&Object.freeze(t),r)throw new i.A("effect:type-error","Accepts only one color",{});r=v(o)}else{const e=g(o);if(Object.isFrozen(t))throw new i.A("effect:type-error","<length> parameters not consecutive",{lengths:t});t.push(e),3===t.length&&m(e,o)}if(t.length<2||t.length>3)throw new i.A("effect:type-error",`Expected <length>{2,3}, Actual: <length>{${t.length}}`,{lengths:t});return new s.$b(t[0],t[1],t[2]||0,r||b("black"))}(e);case"bloom":return function(e){let t=1,r=0,i=0;return c(e.parameters,3),e.parameters[0]&&(t=h(e.parameters[0])),e.parameters[1]&&(r=g(e.parameters[1]),m(r,e.parameters[1])),e.parameters[2]&&(i=h(e.parameters[2])),new s.bv(t,r,i)}(e)}}catch(t){throw t.details.filter=e,t}throw new i.A("effect:unknown-effect",`Effect '${e.name}' is not supported`,{effect:e})}(e))}function c(e,t){if(e.length>t)throw new i.A("effect:type-error",`Function supports up to ${t} parameters, Actual: ${e.length}`,{parameters:e})}function d(e){if("color"===e.type)return"<color>";if(e.unit){if(e.unit in f)return"<length>";if(e.unit in y)return"<angle>";if("%"===e.unit)return"<percentage>"}return"<double>"}function m(e,t){if(e<0)throw new i.A("effect:type-error",`Negative values are not allowed, Actual: ${e}`,{term:t})}const y={deg:1,grad:.9,rad:180/Math.PI,turn:360},f={px:1,cm:96/2.54,mm:96/2.54/10,in:96,pc:16,pt:96/72};function h(e){!function(e){if("quantity"!==e.type||null!==e.unit&&"%"!==e.unit)throw new i.A("effect:type-error",`Expected <double> or <percentage>, Actual: ${d(e)}`,{term:e})}(e);const t=e.value;return m(t,e),"%"===e.unit?.01*t:t}function g(e){return function(e){if("quantity"!==e.type||!(0===e.value&&null===e.unit||e.unit&&null!=f[e.unit]))throw new i.A("effect:type-error",`Expected <length>, Actual: ${d(e)}`,{term:e})}(e),e.value*f[e.unit]||0}function v(e){switch(e.colorType){case"hex":return(0,n.j5)(e.value);case"named":return b(e.value);case"function":return function(e){if(c(e.parameters,4),w.test(e.name))return[h(e.parameters[0]),h(e.parameters[1]),h(e.parameters[2]),e.parameters[3]?h(e.parameters[3]):1];if(T.test(e.name))return(0,n.ay)(function(e){return function(e){if("quantity"!==e.type||null!==e.unit)throw new i.A("effect:type-error",`Expected <double>, Actual: ${d(e)}`,{term:e})}(e),m(e.value,e),e.value}(e.parameters[0]),h(e.parameters[1]),h(e.parameters[2]),e.parameters[3]?h(e.parameters[3]):1);throw new i.A("effect:syntax-error",`Invalid color function '${e.name}'`,{colorFunction:e})}(e.value)}}function b(e){if(!(0,n.V6)(e))throw new i.A("effect:unknown-color",`color '${e}' isn't valid`,{namedColor:e});return(0,n.c4)(e)}const w=/^rgba?/i,T=/^hsla?/i;function C(e,t,r){try{return function(e){if(!e||0===e.length)return null;if(function(e){const t=e[0];return!!t&&"scale"in t}(e)){const t=[];for(const r of e)t.push({scale:r.scale,value:M(r.value)});return t}return M(e)}(e)}catch(e){r?.messages?.push(e)}return null}function S(e,t,r,i){try{const i=function(e){const t=u(e);return t?(0,a.dw)(t)?t.map(e=>e.toJSON()):t.map(({scale:e,effects:t})=>({scale:e,value:t.map(e=>e.toJSON())})):null}(e);(0,o.sM)(r,i,t)}catch(e){i.messages&&i.messages.push(e)}}function M(e){if(!e?.length)return"";const t=[];for(const r of e){let e=[];switch(r.type){case"grayscale":case"sepia":case"saturate":case"invert":case"brightness":case"contrast":case"opacity":e=[A(r,"amount")];break;case"blur":e=[A(r,"radius","pt")];break;case"hue-rotate":e=[A(r,"angle","deg")];break;case"drop-shadow":e=[A(r,"xoffset","pt"),A(r,"yoffset","pt"),A(r,"blurRadius","pt"),I(r,"color")];break;case"bloom":e=[A(r,"strength"),A(r,"radius","pt"),A(r,"threshold")]}const i=`${r.type}(${e.filter(Boolean).join(" ")})`;u(i),t.push(i)}return t.join(" ")}function A(e,t,r){if(null==e[t])throw new i.A("effect:missing-parameter",`Missing parameter '${t}' in ${e.type} effect`,{effect:e});return r?e[t]+r:""+e[t]}function I(e,t){if(null==e[t])throw new i.A("effect:missing-parameter",`Missing parameter '${t}' in ${e.type} effect`,{effect:e});const r=e[t];return`rgba(${r[0]||0}, ${r[1]||0}, ${r[2]||0}, ${r[3]/255||0})`}},76553:(e,t,r)=>{function i(e){return e&&"getAtOrigin"in e&&"originOf"in e}r.d(t,{H:()=>i})},80754:(e,t,r)=>{r.d(t,{j7:()=>s,kS:()=>l,kd:()=>a,r8:()=>u});var i=r(82799),o=r(16930),n=r(65864);const s={102100:{maxX:20037508.342788905,minX:-20037508.342788905,plus180Line:new i.A({paths:[[[20037508.342788905,-20037508.342788905],[20037508.342788905,20037508.342788905]]],spatialReference:o.A.WebMercator}),minus180Line:new i.A({paths:[[[-20037508.342788905,-20037508.342788905],[-20037508.342788905,20037508.342788905]]],spatialReference:o.A.WebMercator})},4326:{maxX:180,minX:-180,plus180Line:new i.A({paths:[[[180,-180],[180,180]]],spatialReference:o.A.WGS84}),minus180Line:new i.A({paths:[[[-180,-180],[-180,180]]],spatialReference:o.A.WGS84})}};function a(e,t){return Math.ceil((e-t)/(2*t))}function l(e,t){const r=u(e);for(const e of r)for(const r of e)r[0]+=t;return e}function u(e){return(0,n.Bi)(e)?e.rings:e.paths}},91218:(e,t,r)=>{r.r(t),r.d(t,{canProjectWithoutEngine:()=>W,initializeProjection:()=>G,isEqualBaseGCS:()=>V,isLoaded:()=>j,isLoadedOrLoad:()=>D,isLoadedOrLoadFor:()=>F,load:()=>R,project:()=>B,projectExtent:()=>re,projectMany:()=>P,projectMultipoint:()=>Y,projectOrLoad:()=>_,projectOrLoadMany:()=>E,projectPoint:()=>K,projectPolygon:()=>ee,projectPolyline:()=>X,projectWithZConversion:()=>$,projectWithoutEngine:()=>q,requiresLoad:()=>x,test:()=>U,tryProjectWithZConversion:()=>k,unload:()=>J});var i=r(49186),o=r(74887),n=r(62788),s=r(95488),a=r(51850),l=r(21276),u=r(73941),p=r(5443),c=r(91075),d=r(48526),m=r(86738),y=r(39829),f=r(82799),h=r(16930),g=r(159),v=r(9762),b=r(37539);function w(e,t,r,i,o,n){return T[0]=e,T[1]=t,T[2]=r,(0,v.projectBuffer)(T,i,0,o,n,0)}const T=(0,a.vt)();var C=r(21325),S=r(62815);let M=null,A=null,I=null,O=null,N={};const Z=new s.I;function j(){return!!(A?.isLoaded()&&I?.isLoaded()&&O?.isLoaded())}function D(){return!!j()||((0,n.gc)(Z),R(),!1)}function F(e,t){return!e||!t||W(e,t)||D()}function x(e,t){return!W(e,t)&&!j()}async function R(e){null==M&&(M=Promise.all([r.e(3276).then(r.bind(r,83276)).then(e=>(A=e,A.load())),r.e(8377).then(r.bind(r,8377)).then(e=>(I=e,I.load())),r.e(2158).then(r.bind(r,12158)).then(e=>(O=e,O.load()))])),await M,(0,o.Te)(e),Z.notify()}function B(e,t,r){return Array.isArray(e)?0===e.length?[]:((0,l.H)(e),P(e,e[0].spatialReference,t,r)):((0,l.f)(e),P([e],e.spatialReference,t,r)[0])}function P(e,t,r,i){if(null==t||null==r)return e;if(W(t,r,i))return e.map(e=>q(e,t,r));if(null==i?.geographicTransformation&&(0,u.jA)(t))return e.map(e=>q(e,t,h.A.WGS84)).map(e=>k(e,r));if(null==i?.geographicTransformation&&(0,u.jA)(r))return e.map(e=>k(e,h.A.WGS84)).map(e=>q(e,h.A.WGS84,r));if(!j())throw new L;if(!i?.geographicTransformation)if(i?.extendedParams)i={...i,geographicTransformation:O.getTransformation(t,r,i.areaOfInterestExtent)||new g.A};else if(!i?.areaOfInterestExtent){const e=function(e,t){return[e.wkid?.toString()??"-1",e.wkt?.toString()??"",e.wkt2?.toString()??"",t.wkid?.toString()??"-1",t.wkt?.toString()??"",t.wkt2?.toString()??""].join()}(t,r);let o=N[e];o||(o=O.getTransformation(t,r)||new g.A,N[e]=o),i={geographicTransformation:o}}return e[0].spatialReference||(e[0].spatialReference=t),e[0]instanceof c.A?A.executeMany(e,r,i):I.executeMany(e,r,i)}function _(e,t){const r=E([e],t);return null!=r.pending?{pending:r.pending,geometry:null}:null!=r.geometries?{pending:null,geometry:r.geometries[0]}:{pending:null,geometry:null}}function E(e,t){if(!j())for(const r of e)if(null!=r&&!(0,C.aI)(r.spatialReference,t)&&(0,C.fn)(r.spatialReference)&&(0,C.fn)(t)&&!W(r.spatialReference,t))return(0,n.gc)(Z),{pending:R(),geometries:null};return{pending:null,geometries:e.map(e=>null==e?null:(0,C.aI)(e.spatialReference,t)?e:(0,C.fn)(e.spatialReference)&&(0,C.fn)(t)?k(e,t):null)}}class L extends i.A{constructor(){super("projection:not-loaded","projection engine not fully loaded yet, please call load()")}}function J(){M=null,A=null,I=null,O=null,N={}}const U={get loadPromise(){return M}};function k(e,t){try{const r=B(e,t);if(null==r)return null;"xmin"in e&&"xmin"in r&&(r.zmin=e.zmin,r.zmax=e.zmax);const i=(0,S.N)(r.type,e.spatialReference,t);return null!=i&&i(r),r}catch(e){if(!(e instanceof L))throw e;return null}}async function $(e,t,r){const i=e.spatialReference;return null!=i&&null!=t&&await G(i,t,null,r),k(e,t)}function W(e,t,r){return!(r?.areaOfInterestExtent||r?.extendedParams||r?.geographicTransformation)&&(!!(0,C.aI)(e,t)||(0,C.fn)(e)&&(0,C.fn)(t)&&!!(0,b.jd)(e,t))}function V(e,t){if((0,C.aI)(e,t))return!0;if(!(0,C.fn)(e)||!(0,C.fn)(t))return!1;const r=(0,C.oT)(e)||(0,C.K8)(e)||(0,C.x1)(e),i=(0,C.oT)(t)||(0,C.K8)(t)||(0,C.x1)(t);return r&&i}async function G(e,t,r,i){if(j())return(0,o.NO)(i);if(Array.isArray(e)){for(const{source:t,dest:r,options:o}of e)if(t&&r&&!W(t,r,o))return R(i)}else if(e&&t&&!W(e,t,r))return R(i);return(0,o.NO)(i)}function q(e,t,r){return e?"x"in e?z(e,t,new m.A,r,0):"xmin"in e?ie(e,t,new p.A,r,0):"rings"in e?te(e,t,new y.A,r,0):"paths"in e?Q(e,t,new f.A,r,0):"points"in e?H(e,t,new d.A,r,0):null:null}function K(e,t,r=t.spatialReference,i=0){return null!=r&&null!=e.spatialReference&&null!=z(e,e.spatialReference,t,r,i)}function z(e,t,r,i,o){ne[0]=e.x,ne[1]=e.y;const n=e.z;return ne[2]=void 0!==n?n:o,(0,v.projectBuffer)(ne,t,0,ne,i,0)?(r.x=ne[0],r.y=ne[1],r.spatialReference=i,void 0!==n||(0,u.xP)(i)?(r.z=ne[2],r.hasZ=!0):(r.z=void 0,r.hasZ=!1),void 0===e.m?(r.m=void 0,r.hasM=!1):(r.m=e.m,r.hasM=!0),r):null}function Y(e,t,r=t.spatialReference,i=0){return null!=e.spatialReference&&null!=r&&null!=H(e,e.spatialReference,t,r,i)}function H(e,t,r,i,o){const{points:n,hasZ:s,hasM:a}=e,l=[],p=n.length,c=[];for(const e of n)c.push(e[0],e[1],s?e[2]:o);if(!(0,v.projectBuffer)(c,t,0,c,i,0,p))return null;const d=s||(0,u.xP)(i);for(let e=0;e<p;++e){const t=3*e,r=c[t],i=c[t+1];d&&a?l.push([r,i,c[t+2],n[e][3]]):d?l.push([r,i,c[t+2]]):a?l.push([r,i,n[e][2]]):l.push([r,i])}return r.points=l,r.spatialReference=i,r.hasZ=s,r.hasM=a,r}function X(e,t,r=t.spatialReference,i=0){return null!=e.spatialReference&&null!=r&&null!=Q(e,e.spatialReference,t,r,i)}function Q(e,t,r,i,o){const{paths:n,hasZ:s,hasM:a}=e,l=[];if(!oe(n,s??!1,a??!1,t,l,i,o))return null;const p=s||(0,u.xP)(i);return r.paths=l,r.spatialReference=i,r.hasZ=p,r.hasM=a,r}function ee(e,t,r=t.spatialReference,i=0){return null!=e.spatialReference&&null!=r&&null!=te(e,e.spatialReference,t,r,i)}function te(e,t,r,i,o){const{rings:n,hasZ:s,hasM:a}=e,l=[];if(!oe(n,s??!1,a??!1,t,l,i,o))return null;const p=s||(0,u.xP)(i);return r.rings=l,r.spatialReference=i,r.hasZ=p,r.hasM=a,r}function re(e,t,r=t.spatialReference,i=0){return null!=e.spatialReference&&null!=r&&null!=ie(e,e.spatialReference,t,r,i)}function ie(e,t,r,i,o){const{xmin:n,ymin:s,xmax:a,ymax:l,hasZ:p,hasM:c}=e;if(!w(n,s,p?e.zmin:o,t,ne,i))return null;const d=p||(0,u.xP)(i);return r.xmin=ne[0],r.ymin=ne[1],d&&(r.zmin=ne[2]),w(a,l,p?e.zmax:o,t,ne,i)?(r.xmax=ne[0],r.ymax=ne[1],d&&(r.zmax=ne[2]),c&&(r.mmin=e.mmin,r.mmax=e.mmax),r.spatialReference=i,r):null}function oe(e,t,r,i,o,n,s=0){const a=new Array;for(const r of e)for(const e of r)a.push(e[0],e[1],t?e[2]:s);if(!(0,v.projectBuffer)(a,i,0,a,n,0))return!1;let l=0;o.length=0;const p=t||(0,u.xP)(n);for(const t of e){const e=new Array;for(const i of t)p&&r?e.push([a[l++],a[l++],a[l++],i[3]]):p?e.push([a[l++],a[l++],a[l++]]):r?(e.push([a[l++],a[l++],i[2]]),l++):(e.push([a[l++],a[l++]]),l++);o.push(e)}return!0}const ne=(0,a.vt)()},92300:(e,t,r)=>{r.d(t,{V:()=>n,X:()=>o});var i=r(65864);function o(e){return{geometryType:(0,i.$B)(e[0]),geometries:e.map(e=>e.toJSON())}}function n(e,t,r){const o=(0,i.xD)(t);return e.map(e=>{const t=o.fromJSON(e);return t.spatialReference=r,t})}},95466:(e,t,r)=>{r.d(t,{A:()=>m});var i=r(49186),o=r(53966),n=r(91869),s=r(3330),a=r(12195),l=r(30524),u=r(98623),p=r(56400),c=r(28097);const d=new Map;class m{static fromJSON(e){return new m(e.fields,e.timeZoneByFieldName)}static fromLayer(e){return new m(e.fields??[],g(e))}static fromLayerJSON(e){return new m(e.fields??[],g(e))}constructor(e=[],t){this._fieldsMap=new Map,this._normalizedFieldsMap=new Map,this._dateFieldsSet=new Set,this._numericFieldsSet=new Set,this._requiredFields=null,this.dateFields=[],this.numericFields=[],this.fields=e||[],this._timeZoneByFieldName=t?new Map(t):null;const r=[];for(const e of this.fields){const t=e?.name,i=f(t);if(t&&i){const o=y(t);this._fieldsMap.set(t,e),this._fieldsMap.set(o,e),this._normalizedFieldsMap.set(i,e),r.push(`${o}:${e.type}:${this._timeZoneByFieldName?.get(t)}`),(0,l.vE)(e)?(this.dateFields.push(e),this._dateFieldsSet.add(e)):(0,l.WA)(e)&&(this._numericFieldsSet.add(e),this.numericFields.push(e)),(0,l.te)(e)||(0,l.Xz)(e)||(e.editable=null==e.editable||!!e.editable,e.nullable=null==e.nullable||!!e.nullable)}}r.sort(),this.uid=r.join()}get requiredFields(){if(!this._requiredFields){this._requiredFields=[];for(const e of this.fields)(0,l.te)(e)||(0,l.Xz)(e)||e.nullable||void 0!==(0,l.lD)(e)||this._requiredFields.push(e)}return this._requiredFields}equals(e){return this.uid===e?.uid}has(e){return null!=this.get(e)}get(e){if(!e)return;let t=this._fieldsMap.get(e);return t||(t=this._fieldsMap.get(y(e))??this._normalizedFieldsMap.get(f(e)),t&&this._fieldsMap.set(e,t),t)}getTimeZone(e){const t=this.get(e&&"string"!=typeof e?e.name:e);return t?this._timeZoneByFieldName?this._timeZoneByFieldName.get(t.name):"date"===t.type||"esriFieldTypeDate"===t.type?(o.A.getLogger("esri.layers.support.FieldsIndex").errorOnce(new i.A("getTimeZone:no-timezone-information",`no time zone information for field '${t.name}'`)),u.n$):h.has(t.type)?u.L5:null:null}getLuxonTimeZone(e){const t=this.getTimeZone(e);return t?t===u.L5?s.GB.instance:t===u.n$?c.mQ.utcInstance:(0,n.tE)(d,t,()=>c.oh.create(t)):null}isDateField(e){return this._dateFieldsSet.has(this.get(e))}isTimeOnlyField(e){return(0,l.OH)(this.get(e))}isNumericField(e){return this._numericFieldsSet.has(this.get(e))}normalizeFieldName(e){return this.get(e)?.name??void 0}toJSON(){return{fields:this.fields.map(e=>(0,a.W)(e)?e.toJSON():e),timeZoneByFieldName:this._timeZoneByFieldName?Array.from(this._timeZoneByFieldName.entries()):null}}}function y(e){return e.trim().toLowerCase()}function f(e){return(0,l.rS)(e)?.toLowerCase()??""}const h=new Set(["time-only","date-only","timestamp-offset","esriFieldTypeDateOnly","esriFieldTypeTimeOnly","esriFieldTypeTimestampOffset"]);function g(e){const t=new Map;if(!e.fields)return t;const r=!0===e.datesInUnknownTimezone,{timeInfo:i,editFieldsInfo:o}=e,n=(i?"startField"in i?i.startField:i.startTimeField:"")??"",s=(i?"endField"in i?i.endField:i.endTimeField:"")??"",a=function(e){return"dateFieldsTimeZone"in e}(e)?e.dateFieldsTimeZone??null:e.dateFieldsTimeReference?(0,p.ZS)(e.dateFieldsTimeReference):null,l=o?function(e){return"timeZone"in e}(o)?o.timeZone??a:o.dateFieldsTimeReference?(0,p.ZS)(o.dateFieldsTimeReference):a??u.n$:null,c=i?function(e){return"timeZone"in e}(i)?i.timeZone??a:i.timeReference?(0,p.ZS)(i.timeReference):a:null,d=new Map([[y(o?.creationDateField??""),l],[y(o?.editDateField??""),l],[y(n),c],[y(s),c]]);for(const{name:i,type:o}of e.fields)if(h.has(o))t.set(i,u.L5);else if("date"!==o&&"esriFieldTypeDate"!==o)t.set(i,null);else if(r)t.set(i,u.L5);else{const e=d.get(y(i??""))??a;t.set(i,e)}return t}},96576:(e,t,r)=>{r.d(t,{A:()=>c});var i,o=r(31635),n=r(4718),s=r(91429),a=r(92438),l=r(63988),u=r(49849),p=r(93223);let c=i=class extends((0,l.h)(a.A)){constructor(e){super(e),this.description=null,this.label=null,this.symbol=null,this.type="simple"}async collectRequiredFields(e,t){await Promise.all([this.collectSymbolFields(e,t),this.collectVVRequiredFields(e,t)])}async collectSymbolFields(e,t){await Promise.all(this.symbols.map(r=>r.collectRequiredFields(e,t)))}getSymbol(e,t){return this.symbol}async getSymbolAsync(e,t){return this.symbol}get symbols(){return this.symbol?[this.symbol]:[]}getAttributeHash(){return this.visualVariables?.reduce((e,t)=>e+t.getAttributeHash(),"")??""}getMeshHash(){return this.symbols.reduce((e,t)=>e+JSON.stringify(t),"")}get arcadeRequired(){return this.arcadeRequiredForVisualVariables}clone(){return new i({description:this.description,label:this.label,symbol:(0,n.o8)(this.symbol),visualVariables:(0,n.o8)(this.visualVariables),authoringInfo:(0,n.o8)(this.authoringInfo)})}};(0,o.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],c.prototype,"description",void 0),(0,o.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],c.prototype,"label",void 0),(0,o.Cg)([(0,s.MZ)(u.Wp)],c.prototype,"symbol",void 0),(0,o.Cg)([(0,p.e)({simple:"simple"})],c.prototype,"type",void 0),c=i=(0,o.Cg)([(0,s.$K)("esri.renderers.SimpleRenderer")],c)},99157:(e,t,r)=>{r.d(t,{A:()=>a});var i,o=r(31635),n=r(69622),s=r(91429);let a=i=class extends n.A{constructor(e){super(e),this.isInverse=!1,this.wkt=null,this.wkid=null}getInverse(){return new i({isInverse:!this.isInverse,wkid:this.wkid,wkt:this.wkt})}};(0,o.Cg)([(0,s.MZ)()],a.prototype,"isInverse",void 0),(0,o.Cg)([(0,s.MZ)()],a.prototype,"wkt",void 0),(0,o.Cg)([(0,s.MZ)()],a.prototype,"wkid",void 0),a=i=(0,o.Cg)([(0,s.$K)("esri.geometry.operators.support.GeographicTransformationStep")],a)}}]);