@arcgis/core 5.0.0-next.37 → 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 (147) hide show
  1. package/Color.js +1 -1
  2. package/analysis/DimensionSimpleStyle.js +1 -1
  3. package/analysis/ElevationProfileAnalysis.js +1 -1
  4. package/applications/Components/testUtils.d.ts +4 -0
  5. package/applications/Components/testUtils.js +5 -0
  6. package/assets/esri/core/workers/RemoteClient.js +1 -1
  7. package/assets/esri/core/workers/chunks/02a65563779b4c64b2cf.js +1 -0
  8. package/assets/esri/core/workers/chunks/{328106e181e5957ceaa5.js → 09ac2bbc7327e6e6b5a2.js} +1 -1
  9. package/assets/esri/core/workers/chunks/1a9ed3c59a9a8bafb251.js +1 -0
  10. package/assets/esri/core/workers/chunks/{b96af22ec1470905e4fb.js → 1c857191e5898aba50fe.js} +1 -1
  11. package/assets/esri/core/workers/chunks/2795e491f803654413d2.js +1 -0
  12. package/assets/esri/core/workers/chunks/{3904f8732c9953cb177d.js → 28b235b56a83c498d73f.js} +1 -1
  13. package/assets/esri/core/workers/chunks/36d15c35fbbd4dedd5cb.js +1 -0
  14. package/assets/esri/core/workers/chunks/48f805929fe6241952f5.js +1 -0
  15. package/assets/esri/core/workers/chunks/4c278fb2d51ca6226050.js +1 -0
  16. package/assets/esri/core/workers/chunks/6052eccb9395c8efb295.js +1 -0
  17. package/assets/esri/core/workers/chunks/613cbac9cb925cd20b48.js +1 -0
  18. package/assets/esri/core/workers/chunks/{febce0d80f019dc2a427.js → 646f58b69d2354f1ef27.js} +1 -1
  19. package/assets/esri/core/workers/chunks/7eab0bb42f9f062522ef.js +1 -0
  20. package/assets/esri/core/workers/chunks/{5e34a183420e7007a989.js → 8e8d5422f57269d8c8d2.js} +1 -1
  21. package/assets/esri/core/workers/chunks/9100330ed4b4437c819d.js +1 -0
  22. package/assets/esri/core/workers/chunks/95cb062cae4c31c07124.js +1 -0
  23. package/assets/esri/core/workers/chunks/{ce8fc1ca229d53a4b68d.js → 96f798ee286b59396131.js} +50 -50
  24. package/assets/esri/core/workers/chunks/{e9bc3c6482ba778c9349.js → 9d95f38da21f97214f83.js} +1 -1
  25. package/assets/esri/core/workers/chunks/ad4fcb73cfe9a1e4b710.js +1 -0
  26. package/assets/esri/core/workers/chunks/{a8a017d7969562d21d2e.js → b48aceaeefa07214e430.js} +1 -1
  27. package/assets/esri/core/workers/chunks/c1a4d1ec0125617374b4.js +1 -0
  28. package/assets/esri/core/workers/chunks/{d2a6f035022a3f060ffa.js → c320a29df40e85fb4a8e.js} +1 -1
  29. package/assets/esri/core/workers/chunks/{52c8687b473c9953c2f2.js → d9958654c6438f28237b.js} +1 -1
  30. package/assets/esri/core/workers/chunks/{27ec791318e81285c222.js → dca6a61fd239cf1ff90c.js} +1 -1
  31. package/assets/esri/core/workers/chunks/e66bcdfd75e0113d1cec.js +1 -0
  32. package/assets/esri/core/workers/chunks/f1381c5a2a1de1ef9139.js +1 -0
  33. package/assets/esri/core/workers/chunks/f21cb5b34d4d1e3af1a9.js +1 -0
  34. package/chunks/ChapmanAtmosphere.glsl.js +20 -20
  35. package/chunks/GaussianSplat.glsl.js +2 -2
  36. package/chunks/HUDMaterial.glsl.js +38 -38
  37. package/chunks/Haze.glsl.js +23 -23
  38. package/config.js +1 -1
  39. package/core/Collection.js +1 -1
  40. package/core/CollectionFlattener.js +1 -1
  41. package/core/arrayUtils.js +1 -1
  42. package/geometry/support/buffer/BufferView.js +1 -1
  43. package/geometry/support/curves/densifyCurvedGeometry.js +1 -1
  44. package/interfaces.d.ts +74 -0
  45. package/kernel.js +1 -1
  46. package/layers/ImageryTileLayer.js +1 -1
  47. package/layers/RouteLayer.js +1 -1
  48. package/layers/support/FeatureReductionCluster.js +1 -1
  49. package/layers/support/LabelClass.js +1 -1
  50. package/package.json +3 -3
  51. package/renderers/FlowRenderer.js +1 -1
  52. package/renderers/HeatmapRenderer.js +1 -1
  53. package/renderers/PieChartRenderer.js +1 -1
  54. package/rest/route/utils.js +1 -1
  55. package/rest/support/PointBarrier.js +1 -1
  56. package/rest/support/Stop.js +1 -1
  57. package/support/revision.js +1 -1
  58. package/support/tests/meshUtils.js +5 -0
  59. package/support/tests/serviceMockDependencies.js +5 -0
  60. package/support/tests/setupServiceMocksMesh.js +5 -0
  61. package/symbols/Font.js +1 -1
  62. package/symbols/IconSymbol3DLayer.js +1 -1
  63. package/symbols/LineSymbol.js +1 -1
  64. package/symbols/LineSymbol3DLayer.js +1 -1
  65. package/symbols/MarkerSymbol.js +1 -1
  66. package/symbols/PictureFillSymbol.js +1 -1
  67. package/symbols/PictureMarkerSymbol.js +1 -1
  68. package/symbols/TextSymbol.js +1 -1
  69. package/symbols/TextSymbol3DLayer.js +1 -1
  70. package/symbols/callouts/LineCallout3D.js +1 -1
  71. package/symbols/edges/Edges3D.js +1 -1
  72. package/symbols/support/Symbol3DIconOutline.js +1 -1
  73. package/symbols/support/Symbol3DOutline.js +1 -1
  74. package/symbols/support/Symbol3DVerticalOffset.js +1 -1
  75. package/views/2d/layers/RouteLayerView2D.js +1 -1
  76. package/views/2d/layers/support/RouteLayerInteraction.js +1 -1
  77. package/views/2d/layers/support/util.js +1 -1
  78. package/views/3d/analysis/Dimension/DimensionTool.js +1 -1
  79. package/views/3d/analysis/Slice/SliceTool.js +1 -1
  80. package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
  81. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillVisualization.js +1 -1
  82. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementShiftTool.js +1 -1
  83. package/views/3d/camera/intersectionUtils.js +1 -1
  84. package/views/3d/environment/ChapmanApproximation.glsl.js +8 -8
  85. package/views/3d/environment/ChapmanAtmosphere.glsl.js +1 -1
  86. package/views/3d/environment/ChapmanRaymarching.glsl.js +16 -15
  87. package/views/3d/layers/FlowSubView3D.js +1 -1
  88. package/views/3d/layers/PointCloudWorker.js +1 -1
  89. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  90. package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
  91. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  92. package/views/3d/layers/graphics/Graphics3DLineCalloutSymbolLayer.js +1 -1
  93. package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
  94. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  95. package/views/3d/state/NearFarHeuristic.js +1 -1
  96. package/views/3d/support/flow/FlowSubViewTiles3D.js +1 -1
  97. package/views/3d/support/gaussianSplatting/GaussianSplatDataStore.js +1 -1
  98. package/views/3d/support/gaussianSplatting/GaussianSplatFadeHelper.js +1 -1
  99. package/views/3d/terrain/OverlayRenderer.js +1 -1
  100. package/views/3d/terrain/TerrainSurface.js +1 -1
  101. package/views/3d/webgl-engine/core/shaderLibrary/TextureBackedBuffer.glsl.js +4 -4
  102. package/views/3d/webgl-engine/core/shaderLibrary/TextureBackedBufferFields.glsl.js +1 -1
  103. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +12 -12
  104. package/views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatUnpacking.glsl.js +8 -8
  105. package/views/3d/webgl-engine/lib/CutFillColor.js +1 -1
  106. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  107. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  108. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBuffer.js +1 -1
  109. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBufferFieldCreation.js +5 -0
  110. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBufferFields.js +1 -1
  111. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBufferLayout.js +1 -1
  112. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBufferLayoutField.js +5 -0
  113. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBufferUtils.js +5 -0
  114. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBuffer.js +5 -0
  115. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBufferView.js +5 -0
  116. package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
  117. package/views/3d/webgl-engine/shaders/TerrainTechnique.js +1 -1
  118. package/views/BreakpointsOwner.js +1 -1
  119. package/views/ToolViewManager.js +1 -1
  120. package/views/View.js +1 -1
  121. package/views/analysis/ElevationProfile/ElevationProfileTool.js +1 -1
  122. package/views/draw/support/Reshape.js +1 -1
  123. package/views/interactive/InteractiveToolBase.js +1 -1
  124. package/views/interactive/ToolViewManagerManipulatorState.js +1 -1
  125. package/views/layers/GroupLayerView.js +1 -1
  126. package/views/support/Scheduler.js +1 -1
  127. package/widgets/OrientedImageryViewer/components/ImageOverlays.js +1 -1
  128. package/widgets/ScaleRangeSlider.js +1 -1
  129. package/widgets/Slider.js +1 -1
  130. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
  131. package/assets/esri/core/workers/chunks/1d877c3c96c40eab906c.js +0 -1
  132. package/assets/esri/core/workers/chunks/22f745539ca54d8cd30d.js +0 -1
  133. package/assets/esri/core/workers/chunks/42f3e83826b3a3dedaaa.js +0 -1
  134. package/assets/esri/core/workers/chunks/44471962c30344dfafdf.js +0 -1
  135. package/assets/esri/core/workers/chunks/8ca83a9af9d24b192128.js +0 -1
  136. package/assets/esri/core/workers/chunks/951a3442d4342539f2ea.js +0 -1
  137. package/assets/esri/core/workers/chunks/9527f1a611557a7af237.js +0 -1
  138. package/assets/esri/core/workers/chunks/ad3a4d139613b4c0e0b4.js +0 -1
  139. package/assets/esri/core/workers/chunks/c1c77a00f639eaee9c0d.js +0 -1
  140. package/assets/esri/core/workers/chunks/c5967133f3ba34a883f8.js +0 -1
  141. package/assets/esri/core/workers/chunks/c8d2cce4a426c72ab173.js +0 -1
  142. package/assets/esri/core/workers/chunks/e0a74250d22fa1d7dc18.js +0 -1
  143. package/assets/esri/core/workers/chunks/e3be67c762af672ec602.js +0 -1
  144. package/assets/esri/core/workers/chunks/eefad79be500667af96e.js +0 -1
  145. package/assets/esri/core/workers/chunks/f8caceeaa14d99c35526.js +0 -1
  146. package/assets/esri/core/workers/chunks/f919f0db9f9ec0c649b9.js +0 -1
  147. package/views/3d/webgl-engine/core/shaderLibrary/util/FastApproximateTrigonometry.glsl.js +0 -26
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[5967],{9093:(e,t,n)=>{function r(){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]]}n.d(t,{o8:()=>o,vt:()=>r,zK:()=>i});const i=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:i,clone:o,create:r,fromValues:function(e,t,n,r,o,i,l,s,a,u,c,f,d,p,h,g){return[e,t,n,r,o,i,l,s,a,u,c,f,d,p,h,g]}},Symbol.toStringTag,{value:"Module"}))},9762:(e,t,n)=>{n.r(t),n.d(t,{projectBuffer:()=>o});var r=n(37539);function o(e,t,n,o,i,l,s=Math.floor(e.length/3)){const a=(0,r.jd)(t,i);if(null==a)return!1;if(a===r.pO){if(e===o&&n===l)return!0;const t=n+3*s;for(let r=n,i=l;r<t;r++,i++)o[i]=e[r]??0;return!0}const u=n+3*s;for(let t=n,r=l;t<u;t+=3,r+=3)a(e,t,o,r);return!0}},19356:(e,t,n)=>{n.d(t,{i:()=>r});const r=new(n(66552).J)({none:"none",lowFourBit:"low-four-bit",highFourBit:"high-four-bit",absoluteValue:"absolute-value",moduloTen:"modulo-ten"})},20061:(e,t,n)=>{n.d(t,{A:()=>p});var r,o=n(31635),i=n(69540),l=n(66552),s=n(25482),a=n(91429),u=n(56507),c=n(93223);const f=(0,l.O)()({ascendingValues:"ascending-values",descendingValues:"descending-values"});let d=r=class extends((0,i.OU)(s.o)){static from(e){return(0,u.PZ)(r,e)}constructor(e){super(e),this.title=null,this.order=null}};(0,o.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],d.prototype,"title",void 0),(0,o.Cg)([(0,c.e)(f)],d.prototype,"order",void 0),d=r=(0,o.Cg)([(0,a.$K)("esri.renderers.support.RendererLegendOptions")],d);const p=d},29242:(e,t,n)=>{function r(){return[1,0,0,0,1,0,0,0,1]}function o(e,t,n,r,o,i,l,s,a){return[e,t,n,r,o,i,l,s,a]}n.d(t,{fA:()=>o,vt:()=>r,zK:()=>i});const i=[1,0,0,0,1,0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:i,clone:function(e){return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},create:r,fromValues:o},Symbol.toStringTag,{value:"Module"}))},31635:(e,t,n)=>{function r(e,t,n,r){var o,i=arguments.length,l=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(l=(i<3?o(l):i>3?o(t,n,l):o(t,n))||l);return i>3&&l&&Object.defineProperty(t,n,l),l}function o(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var r,o;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");r=t[Symbol.asyncDispose]}if(void 0===r){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");r=t[Symbol.dispose],n&&(o=r)}if("function"!=typeof r)throw new TypeError("Object not disposable.");o&&(r=function(){try{o.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t}n.d(t,{Cg:()=>r,hk:()=>l,mS:()=>o}),Object.create,Object.create;var i="function"==typeof SuppressedError?SuppressedError:function(e,t,n){var r=new Error(n);return r.name="SuppressedError",r.error=e,r.suppressed=t,r};function l(e){function t(t){e.error=e.hasError?new i(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}var n,r=0;return function o(){for(;n=e.stack.pop();)try{if(!n.async&&1===r)return r=0,e.stack.push(n),Promise.resolve().then(o);if(n.dispose){var i=n.dispose.call(n.value);if(n.async)return r|=2,Promise.resolve(i).then(o,function(e){return t(e),o()})}else r|=1}catch(e){t(e)}if(1===r)return e.hasError?Promise.reject(e.error):Promise.resolve();if(e.hasError)throw e.error}()}},34142:(e,t,n)=>{n.r(t),n.d(t,{default:()=>A});var r=n(4576),o=n(34275),i=n(67026),l=n(82534),s=n(38954),a=n(72385),u=n(16930),c=n(9762),f=(n(44208),n(63531)),d=n(69846),p=n(48425),h=n(59418),g=n(37203);function y(e,t,n){return e?.attributeInfo.useElevation?t?function(e,t){const n=new Float64Array(t);for(let r=0;r<t;r++)n[r]=e[3*r+2];return n}(t,n):null:e?.attributeInfo.storageInfo?(0,h.m0)(e.attributeInfo.storageInfo,e.buffer,n,!0):null}function b(e){switch(e){default:case null:case"none":return e=>e;case"low-four-bit":return e=>15&e;case"high-four-bit":return e=>(240&e)>>4;case"absolute-value":return e=>Math.abs(e);case"modulo-ten":return e=>e%10}}function m(e){let t=0;for(const n of e||[])t|=1<<n;return t}var w=n(57005);class M{transform(e){const t=this._transform(e),n=[t.points.buffer,t.rgb.buffer];null!=t.pointIdFilterMap&&n.push(t.pointIdFilterMap.buffer);for(const e of t.attributes)"buffer"in e.values&&(0,o.mw)(e.values.buffer)&&e.values.buffer!==t.rgb.buffer&&n.push(e.values.buffer);return Promise.resolve({result:t,transferList:n})}_transform(e){const t=function(e,t){if(null==e.encoding||""===e.encoding){const n=(0,h.wH)(t,e);if(null==n.vertexAttributes.position)return;const r=(0,h.MA)(t,n.vertexAttributes.position),o=n.header.fields,i=[o.offsetX,o.offsetY,o.offsetZ],l=[o.scaleX,o.scaleY,o.scaleZ],s=r.length/3,a=new Float64Array(3*s);for(let e=0;e<s;e++)a[3*e]=r[3*e]*l[0]+i[0],a[3*e+1]=r[3*e+1]*l[1]+i[1],a[3*e+2]=r[3*e+2]*l[2]+i[2];return a}if("lepcc-xyz"===e.encoding)return(0,g.Me)(t).result}(e.schema,e.geometryBuffer);let n=t.length/3,o=null;const i=new Array,l=y(e.primaryAttributeData,t,n);null!=e.primaryAttributeData&&l&&i.push({attributeInfo:e.primaryAttributeData.attributeInfo,values:l});const s=y(e.modulationAttributeData,t,n);null!=e.modulationAttributeData&&s&&i.push({attributeInfo:e.modulationAttributeData.attributeInfo,values:s});let a=function(e,t,n,r){const{rendererJSON:o,isRGBRenderer:i}=e;let l=null,s=null;if(t&&i)l=t;else if(t&&"pointCloudUniqueValueRenderer"===o?.type){s=p.A.fromJSON(o);const e=s.colorUniqueValueInfos;l=new Uint8Array(3*r);const n=b(s.fieldTransformType);for(let o=0;o<r;o++){const r=(n?n(t[o]):t[o])+"";for(let t=0;t<e.length;t++)if(e[t].values.includes(r)){l[3*o]=e[t].color.r,l[3*o+1]=e[t].color.g,l[3*o+2]=e[t].color.b;break}}}else if(t&&"pointCloudStretchRenderer"===o?.type){s=d.A.fromJSON(o);const e=s.stops;l=new Uint8Array(3*r);const n=b(s.fieldTransformType);for(let o=0;o<r;o++){const r=n?n(t[o]):t[o],i=e.length-1;if(r<e[0].value)l[3*o]=e[0].color.r,l[3*o+1]=e[0].color.g,l[3*o+2]=e[0].color.b;else if(r>=e[i].value)l[3*o]=e[i].color.r,l[3*o+1]=e[i].color.g,l[3*o+2]=e[i].color.b;else for(let t=1;t<e.length;t++)if(r<e[t].value){const n=(r-e[t-1].value)/(e[t].value-e[t-1].value);l[3*o]=e[t].color.r*n+e[t-1].color.r*(1-n),l[3*o+1]=e[t].color.g*n+e[t-1].color.g*(1-n),l[3*o+2]=e[t].color.b*n+e[t-1].color.b*(1-n);break}}}else if(t&&"pointCloudClassBreaksRenderer"===o?.type){s=f.A.fromJSON(o);const e=s.colorClassBreakInfos;l=new Uint8Array(3*r);const n=b(s.fieldTransformType);for(let o=0;o<r;o++){const r=n?n(t[o]):t[o];for(let t=0;t<e.length;t++)if(r>=e[t].minValue&&r<=e[t].maxValue){l[3*o]=e[t].color.r,l[3*o+1]=e[t].color.g,l[3*o+2]=e[t].color.b;break}}}else l=new Uint8Array(3*r).fill(255);if(n&&s?.colorModulation){const e=s.colorModulation.minValue,t=s.colorModulation.maxValue,o=.3;for(let i=0;i<r;i++){const r=n[i],s=r>=t?1:r<=e?o:o+(1-o)*(r-e)/(t-e);l[3*i]=s*l[3*i],l[3*i+1]=s*l[3*i+1],l[3*i+2]=s*l[3*i+2]}}return l}(e.rendererInfo,l,s,n);if(e.filterInfo&&e.filterInfo.length>0&&null!=e.filterAttributesData){const l=e.filterAttributesData.filter(r.Ru).map(e=>{const r=y(e,t,n),o={attributeInfo:e.attributeInfo,values:r};return i.push(o),o});o=new Uint32Array(n),n=function(e,t,n,r,o){const i=e.length/3;let l=0;for(let s=0;s<i;s++){let i=!0;for(let e=0;e<r.length&&i;e++){const{filterJSON:t}=r[e],n=o[e].values[s];switch(t.type){case"pointCloudValueFilter":{const e="exclude"===t.mode;t.values.includes(n)===e&&(i=!1);break}case"pointCloudBitfieldFilter":{const e=m(t.requiredSetBits),r=m(t.requiredClearBits);(n&e)===e&&0===(n&r)||(i=!1);break}case"pointCloudReturnFilter":{const e=15&n,r=n>>>4&15,o=r>1,l=1===e,s=e===r;let a=!1;for(const e of t.includedReturns)if("last"===e&&s||"firstOfMany"===e&&l&&o||"lastOfMany"===e&&s&&o||"single"===e&&!o){a=!0;break}a||(i=!1);break}}}i&&(n[l]=s,e[3*l]=e[3*s],e[3*l+1]=e[3*s+1],e[3*l+2]=e[3*s+2],t[3*l]=t[3*s],t[3*l+1]=t[3*s+1],t[3*l+2]=t[3*s+2],l++)}return l}(t,a,o,e.filterInfo,l)}for(const r of e.userAttributesData){const e=y(r,t,n);i.push({attributeInfo:r.attributeInfo,values:e})}3*n<a.length&&(a=a.slice(0,3*n)),function(e,t,n){if(0!==n)for(let r=0;r<t;r++)e[3*r+2]+=n}(t,n,e.elevationOffset);const c=v(t,n,w.ab.fromData(e.obbData),u.A.fromJSON(e.inSR),u.A.fromJSON(e.outSR));return{obbData:e.obbData,points:c,rgb:a,attributes:i,pointIdFilterMap:o}}}function v(e,t,n,r,o){if(!(0,c.projectBuffer)(e,r,0,e,o,0,t))throw new Error("Can't reproject");const l=(0,a.o8)(n.center),u=(0,a.vt)(),f=(0,a.vt)(),d=(0,a.o8)(n.halfSize);(0,i.Xr)(C,n.quaternion);const p=new Float32Array(3*t);for(let n=0;n<t;n++){let t=3*n;u[0]=e[t]-l[0],u[1]=e[t+1]-l[1],u[2]=e[t+2]-l[2],(0,s.r)(f,u,C),d[0]=Math.max(d[0],Math.abs(f[0])),d[1]=Math.max(d[1],Math.abs(f[1])),d[2]=Math.max(d[2],Math.abs(f[2])),p[t++]=u[0],p[t++]=u[1],p[t]=u[2]}return n.halfSize=d,p}const C=(0,l.vt)();function A(){return new M}},34304:(e,t,n)=>{n.d(t,{DF:()=>a,FD:()=>o,Ov:()=>i,ct:()=>u});let r=1e-6;function o(){return r}const i=Math.random,l=Math.PI/180,s=180/Math.PI;function a(e){return e*l}function u(e){return e*s}Object.freeze(Object.defineProperty({__proto__:null,RANDOM:i,equals:function(e,t){return Math.abs(e-t)<=r*Math.max(1,Math.abs(e),Math.abs(t))},getEpsilon:o,setEpsilon:function(e){r=e},toDegree:u,toRadian:a},Symbol.toStringTag,{value:"Module"}))},37203:(e,t,n)=>{n.d(t,{Ax:()=>b,Me:()=>u,mb:()=>h});var r=n(49186);const o=!0,i={identifierOffset:0,identifierLength:10,versionOffset:10,checksumOffset:12,byteCount:16};function l(e,t,n){return{identifier:String.fromCharCode.apply(null,new Uint8Array(e,n+i.identifierOffset,i.identifierLength)),version:t.getUint16(n+i.versionOffset,o),checksum:t.getUint32(n+i.checksumOffset,o)}}const s={sizeLo:0,sizeHi:4,minX:8,minY:16,minZ:24,maxX:32,maxY:40,maxZ:48,errorX:56,errorY:64,errorZ:72,count:80,reserved:84,byteCount:88};function a(e,t){return{sizeLo:e.getUint32(t+s.sizeLo,o),sizeHi:e.getUint32(t+s.sizeHi,o),minX:e.getFloat64(t+s.minX,o),minY:e.getFloat64(t+s.minY,o),minZ:e.getFloat64(t+s.minZ,o),maxX:e.getFloat64(t+s.maxX,o),maxY:e.getFloat64(t+s.maxY,o),maxZ:e.getFloat64(t+s.maxZ,o),errorX:e.getFloat64(t+s.errorX,o),errorY:e.getFloat64(t+s.errorY,o),errorZ:e.getFloat64(t+s.errorZ,o),count:e.getUint32(t+s.count,o),reserved:e.getUint32(t+s.reserved,o)}}function u(e){const t=new DataView(e,0);let n=0;const{identifier:o,version:u}=l(e,t,n);if(n+=i.byteCount,"LEPCC "!==o)throw new r.A("lepcc-decode-error","Bad identifier");if(u>1)throw new r.A("lepcc-decode-error","Unknown version");const f=a(t,n);if(n+=s.byteCount,f.sizeHi*2**32+f.sizeLo!==e.byteLength)throw new r.A("lepcc-decode-error","Bad size");const d=new Float64Array(3*f.count),p=[],h=[],g=[],y=[];if(n=c(e,n,p),n=c(e,n,h),n=c(e,n,g),n=c(e,n,y),n!==e.byteLength)throw new r.A("lepcc-decode-error","Bad length");let b=0,m=0;for(let e=0;e<p.length;e++){m+=p[e];let t=0;for(let n=0;n<h[e];n++){t+=g[b];const e=y[b];d[3*b]=Math.min(f.maxX,f.minX+2*f.errorX*t),d[3*b+1]=Math.min(f.maxY,f.minY+2*f.errorY*m),d[3*b+2]=Math.min(f.maxZ,f.minZ+2*f.errorZ*e),b++}}return{errorX:f.errorX,errorY:f.errorY,errorZ:f.errorZ,result:d}}function c(e,t,n){const r=[];t=f(e,t,r);const o=[];for(let i=0;i<r.length;i++){o.length=0,t=f(e,t,o);for(let e=0;e<o.length;e++)n.push(o[e]+r[i])}return t}function f(e,t,n){const i=new DataView(e,t),l=i.getUint8(0),s=31&l,a=!!(32&l),u=(192&l)>>6;let c=0;if(0===u)c=i.getUint32(1,o),t+=5;else if(1===u)c=i.getUint16(1,o),t+=3;else{if(2!==u)throw new r.A("lepcc-decode-error","Bad count type");c=i.getUint8(1),t+=2}if(a)throw new r.A("lepcc-decode-error","LUT not implemented");const f=Math.ceil(c*s/8),d=new Uint8Array(e,t,f);let p=0,h=0,g=0;const y=-1>>>32-s;for(let e=0;e<c;e++){for(;h<s;)p|=d[g]<<h,h+=8,g+=1;n[e]=p&y,p>>>=s,h-=s,h+s>32&&(p|=d[g-1]>>8-h)}return t+g}const d={sizeLo:0,sizeHi:4,count:8,colorMapCount:12,lookupMethod:14,compressionMethod:15,byteCount:16};function p(e,t){return{sizeLo:e.getUint32(t+d.sizeLo,o),sizeHi:e.getUint32(t+d.sizeHi,o),count:e.getUint32(t+d.count,o),colorMapCount:e.getUint16(t+d.colorMapCount,o),lookupMethod:e.getUint8(t+d.lookupMethod),compressionMethod:e.getUint8(t+d.compressionMethod)}}function h(e){const t=new DataView(e,0);let n=0;const{identifier:o,version:s}=l(e,t,n);if(n+=i.byteCount,"ClusterRGB"!==o)throw new r.A("lepcc-decode-error","Bad identifier");if(s>1)throw new r.A("lepcc-decode-error","Unknown version");const a=p(t,n);if(n+=d.byteCount,a.sizeHi*2**32+a.sizeLo!==e.byteLength)throw new r.A("lepcc-decode-error","Bad size");if((2===a.lookupMethod||1===a.lookupMethod)&&0===a.compressionMethod){if(3*a.colorMapCount+a.count+n!==e.byteLength||a.colorMapCount>256)throw new r.A("lepcc-decode-error","Bad count");const t=new Uint8Array(e,n,3*a.colorMapCount),o=new Uint8Array(e,n+3*a.colorMapCount,a.count),i=new Uint8Array(3*a.count);for(let e=0;e<a.count;e++){const n=o[e];i[3*e]=t[3*n],i[3*e+1]=t[3*n+1],i[3*e+2]=t[3*n+2]}return i}if(0===a.lookupMethod&&0===a.compressionMethod){if(3*a.count+n!==e.byteLength||0!==a.colorMapCount)throw new r.A("lepcc-decode-error","Bad count");return new Uint8Array(e,n).slice()}if(a.lookupMethod<=2&&1===a.compressionMethod){if(n+3!==e.byteLength||1!==a.colorMapCount)throw new r.A("lepcc-decode-error","Bad count");const o=t.getUint8(n),i=t.getUint8(n+1),l=t.getUint8(n+2),s=new Uint8Array(3*a.count);for(let e=0;e<a.count;e++)s[3*e]=o,s[3*e+1]=i,s[3*e+2]=l;return s}throw new r.A("lepcc-decode-error","Bad method "+a.lookupMethod+","+a.compressionMethod)}const g={sizeLo:0,sizeHi:4,count:8,scaleFactor:12,bitsPerPoint:14,reserved:15,byteCount:16};function y(e,t){return{sizeLo:e.getUint32(t+g.sizeLo,o),sizeHi:e.getUint32(t+g.sizeHi,o),count:e.getUint32(t+g.count,o),scaleFactor:e.getUint16(t+g.scaleFactor,o),bitsPerPoint:e.getUint8(t+g.bitsPerPoint),reserved:e.getUint8(t+g.reserved)}}function b(e){const t=new DataView(e,0);let n=0;const{identifier:o,version:s}=l(e,t,n);if(n+=i.byteCount,"Intensity "!==o)throw new r.A("lepcc-decode-error","Bad identifier");if(s>1)throw new r.A("lepcc-decode-error","Unknown version");const a=y(t,n);if(n+=g.byteCount,a.sizeHi*2**32+a.sizeLo!==e.byteLength)throw new r.A("lepcc-decode-error","Bad size");const u=new Uint16Array(a.count);if(8===a.bitsPerPoint){if(a.count+n!==e.byteLength)throw new r.A("lepcc-decode-error","Bad size");const t=new Uint8Array(e,n,a.count);for(let e=0;e<a.count;e++)u[e]=t[e]*a.scaleFactor}else if(16===a.bitsPerPoint){if(2*a.count+n!==e.byteLength)throw new r.A("lepcc-decode-error","Bad size");const t=new Uint16Array(e,n,a.count);for(let e=0;e<a.count;e++)u[e]=t[e]*a.scaleFactor}else{const t=[];if(f(e,n,t)!==e.byteLength)throw new r.A("lepcc-decode-error","Bad size");for(let e=0;e<a.count;e++)u[e]=t[e]*a.scaleFactor}return u}},37539:(e,t,n)=>{n.d(t,{pO:()=>g,jd:()=>d,Tp:()=>p,w5:()=>f});var r=n(34727),o=n(86211),i=n(73941),l=n(79258);Math.PI;const s=l.$O.radius,a=l.$O.eccentricitySquared,u={a1:s*a,a2:s*a*s*a,a3:s*a*a/2,a4:s*a*s*a*2.5,a5:s*a+s*a*a/2,a6:1-a};l.$O.radius,l.$O.flattening,l.Sw.radius,l.Sw.flattening,l.sH.radius,l.sH.flattening,l.sH.radius;var c=n(21325);const f={2:{5:g,7:null,9:null,10:g,1:A,6:null,8:null,0:null,3:b,11:m,2:g,4:j},5:{5:g,7:null,9:null,10:g,1:A,6:null,8:null,0:null,3:b,11:m,2:g,4:j},7:{5:null,7:g,9:null,10:g,1:null,6:C,8:null,0:null,3:null,11:null,2:null,4:null},9:{5:null,7:null,9:g,10:g,1:null,6:null,8:v,0:null,3:null,11:null,2:null,4:null},3:{5:y,7:null,9:null,10:y,1:function(e,t,n,r){const o=e[t]/V,i=z-2*Math.atan(Math.exp(-e[t+1]/V)),l=V+(e[t+2]??0),s=Math.cos(i)*l;n[r]=Math.cos(o)*s,n[r+1]=Math.sin(o)*s,n[r+2]=Math.sin(i)*l},6:null,8:null,0:null,3:g,11:function(e,t,n,r){y(e,t,n,r),m(n,r,n,r)},2:y,4:function(e,t,n,r){y(e,t,n,r),j(n,r,n,r)}},4:{5:k,7:null,9:null,10:k,1:function(e,t,n,r){k(e,t,n,r),A(n,r,n,r)},6:null,8:null,0:null,3:function(e,t,n,r){k(e,t,n,r),b(n,r,n,r)},11:function(e,t,n,r){k(e,t,n,r),m(n,r,n,r)},2:k,4:g},1:{5:U,7:null,9:null,10:U,1:g,6:null,8:null,0:null,3:function(e,t,n,r){U(e,t,n,r),b(n,r,n,r)},11:function(e,t,n,r){U(e,t,n,r),m(n,r,n,r)},2:U,4:function(e,t,n,r){U(e,t,n,r),j(n,r,n,r)}},6:{5:null,7:O,9:null,10:O,1:null,6:g,8:null,0:null,3:null,11:null,2:null,4:null},8:{5:null,7:null,9:I,10:I,1:null,6:null,8:g,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:g,3:null,11:null,2:null,4:null},10:{5:g,7:g,9:g,10:g,1:A,6:C,8:v,0:null,3:b,11:m,2:g,4:j},11:{5:w,7:null,9:null,10:w,1:function(e,t,n,r){w(e,t,n,r),A(n,r,n,r)},6:null,8:null,0:null,3:function(e,t,n,r){w(e,t,n,r),b(n,r,n,r)},11:g,2:w,4:function(e,t,n,r){w(e,t,n,r),j(n,r,n,r)}}};function d(e,t){return p(e,t)?.projector}function p(e,t){if(null==e||null==t)return null;if(R.source.spatialReference===e&&R.dest.spatialReference===t)return R;const n=h(e,R.source),r=h(t,R.dest);return 0===n&&0===r?(0,c.aI)(e,t)?R.projector=g:R.projector=null:R.projector=f[n][r],R}function h(e,t){return e?t.spatialReference===e?t.spatialReferenceId:(t.spatialReference=e,"metersPerUnit"in t&&(t.metersPerUnit=(0,o.GA)(e,1)),(0,i.jA)(e)?t.spatialReferenceId=1:(0,c.oT)(e)?t.spatialReferenceId=2:(0,c.K8)(e)?t.spatialReferenceId=3:(0,c.r1)(e)?t.spatialReferenceId=11:e.wkt===i.Ro.wkt?t.spatialReferenceId=4:4490===e.wkid?t.spatialReferenceId=5:e.wkt===i.FY.wkt?t.spatialReferenceId=6:e.wkt===i.LJ.wkt?t.spatialReferenceId=8:(0,c.q8)(e)?t.spatialReferenceId=7:(0,c.KQ)(e)?t.spatialReferenceId=9:t.spatialReferenceId=0):0}function g(e,t,n,r){e!==n&&(n[r++]=e[t++],n[r++]=e[t++],n[r]=e[t]??0)}function y(e,t,n,r){n[r]=x*(e[t]/V),n[r+1]=x*(z-2*Math.atan(Math.exp(-e[t+1]/V))),n[r+2]=e[t+2]??0}function b(e,t,n,o){!function(e,t,n,o,i){const l=.4999999*Math.PI,s=(0,r.qE)(T*e[t+1],-l,l),a=Math.sin(s);n[o++]=T*e[t]*i.radius,n[o++]=i.halfSemiMajorAxis*Math.log((1+a)/(1-a)),n[o]=e[t+2]??0}(e,t,n,o,l.$O)}function m(e,t,n,r){n[r]=e[t]*q,n[r+1]=e[t+1]*q,n[r+2]=e[t+2]??0}function w(e,t,n,r){n[r]=e[t]*P,n[r+1]=e[t+1]*P,n[r+2]=e[t+2]??0}function M(e,t,n,r,o){const i=o+(e[t+2]??0),l=T*e[t],s=T*e[t+1],a=Math.cos(s)*i;n[r]=Math.cos(l)*a,n[r+1]=Math.sin(l)*a,n[r+2]=Math.sin(s)*i}function v(e,t,n,r){M(e,t,n,r,l.Sw.radius)}function C(e,t,n,r){M(e,t,n,r,l.sH.radius)}function A(e,t,n,r){M(e,t,n,r,l.$O.radius)}function S(e,t,n,o,i){const l=e[t],s=e[t+1],a=e[t+2]??0,u=Math.sqrt(l*l+s*s+a*a),c=(0,r.YN)(a/(0===u?1:u)),f=Math.atan2(s,l);n[o++]=x*f,n[o++]=x*c,n[o]=u-i}function I(e,t,n,r){S(e,t,n,r,l.Sw.radius)}function O(e,t,n,r){S(e,t,n,r,l.sH.radius)}function U(e,t,n,r){S(e,t,n,r,l.$O.radius)}function j(e,t,n,r){!function(e,t,n,r,o){const i=T*e[t],l=T*e[t+1],s=e[t+2]??0,a=Math.sin(l),u=Math.cos(l),c=o.radius/Math.sqrt(1-o.eccentricitySquared*a*a);n[r++]=(c+s)*u*Math.cos(i),n[r++]=(c+s)*u*Math.sin(i),n[r++]=(c*(1-o.eccentricitySquared)+s)*a}(e,t,n,r,l.$O)}function k(e,t,n,r){const o=u,i=e[t],s=e[t+1],a=e[t+2]??0;let c,f,d,p,h,g,y,b,m,w,M,v,C,A,S,I,O,U,j,k,R;c=Math.abs(a),f=i*i+s*s,d=Math.sqrt(f),p=f+a*a,h=Math.sqrt(p),k=Math.atan2(s,i),g=a*a/p,y=f/p,A=o.a2/h,S=o.a3-o.a4/h,y>.3?(b=c/h*(1+y*(o.a1+A+g*S)/h),j=Math.asin(b),w=b*b,m=Math.sqrt(1-w)):(m=d/h*(1-g*(o.a5-A-y*S)/h),j=Math.acos(m),w=1-m*m,b=Math.sqrt(w)),M=1-l.$O.eccentricitySquared*w,v=l.$O.radius/Math.sqrt(M),C=o.a6*v,A=d-v*m,S=c-C*b,O=m*A+b*S,I=m*S-b*A,U=I/(C/M+O),j+=U,R=O+I*U/2,a<0&&(j=-j),n[r++]=x*k,n[r++]=x*j,n[r]=R}const R={source:{spatialReference:null,spatialReferenceId:0,metersPerUnit:1},dest:{spatialReference:null,spatialReferenceId:0,metersPerUnit:1},projector:g},T=(0,r.kU)(1),x=(0,r.KJ)(1),z=.5*Math.PI,V=l.$O.radius,q=V*Math.PI/180,P=180/(V*Math.PI)},40876:(e,t,n)=>{n.d(t,{Eq:()=>p,G1:()=>g,TS:()=>i,Tf:()=>m,V6:()=>o,Vm:()=>h,ay:()=>a,c1:()=>y,c4:()=>l,j5:()=>u,lT:()=>f,oW:()=>c,xV:()=>M});const r={transparent:[0,0,0,0],black:[0,0,0,1],silver:[192,192,192,1],gray:[128,128,128,1],white:[255,255,255,1],maroon:[128,0,0,1],red:[255,0,0,1],purple:[128,0,128,1],fuchsia:[255,0,255,1],green:[0,128,0,1],lime:[0,255,0,1],olive:[128,128,0,1],yellow:[255,255,0,1],navy:[0,0,128,1],blue:[0,0,255,1],teal:[0,128,128,1],aqua:[0,255,255,1],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],blanchedalmond:[255,235,205,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],oldlace:[253,245,230,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],rebeccapurple:[102,51,153,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],whitesmoke:[245,245,245,1],yellowgreen:[154,205,50,1]};function o(e){return!!r[e]||!!r[e.toLowerCase()]}function i(e){return r[e]??r[e.toLowerCase()]}function l(e){return[...i(e)]}function s(e,t,n){n<0&&++n,n>1&&--n;const r=6*n;return r<1?e+(t-e)*r:2*n<1?t:3*n<2?e+(t-e)*(2/3-n)*6:e}function a(e,t,n,r=1){const o=(e%360+360)%360/360,i=n<=.5?n*(t+1):n+t-n*t,l=2*n-i;return[Math.round(255*s(l,i,o+1/3)),Math.round(255*s(l,i,o)),Math.round(255*s(l,i,o-1/3)),r]}function u(e){const t=e.length>5,n=t?8:4,r=(1<<n)-1,o=t?1:17,i=t?9===e.length:5===e.length;let l=Number("0x"+e.slice(1));if(isNaN(l))return null;const s=[0,0,0,1];let a;return i&&(a=l&r,l>>=n,s[3]=o*a/255),a=l&r,l>>=n,s[2]=o*a,a=l&r,l>>=n,s[1]=o*a,a=l&r,l>>=n,s[0]=o*a,s}function c(e){if(!e.startsWith("#")||isNaN(Number(`0x${e.slice(1)}`)))return null;switch(e.length){case 4:case 5:{const t=parseInt(e.slice(1,2),16),n=parseInt(e.slice(2,3),16),r=parseInt(e.slice(3,4),16),o=4===e.length?15:parseInt(e.slice(4),16);return[t+16*t,n+16*n,r+16*r,(o+16*o)/255]}case 7:case 9:return[parseInt(e.slice(1,3),16),parseInt(e.slice(3,5),16),parseInt(e.slice(5,7),16),(7===e.length?255:parseInt(e.slice(7),16))/255];default:return null}}function f(e){const t=e.toLowerCase().match(/^(rgba?|hsla?)\(([\s.\-,%0-9]+)\)/);if(t){const e=t[2].split(/\s*,\s*/),n=t[1];if("rgb"===n&&3===e.length||"rgba"===n&&4===e.length){if(e[0].endsWith("%")){const t=e.map(e=>2.56*parseFloat(e));return 4===e.length&&(t[3]=parseFloat(e[3])),d(t)}return d(e.map(e=>parseFloat(e)))}if("hsl"===n&&3===e.length||"hsla"===n&&4===e.length)return a(parseFloat(e[0]),parseFloat(e[1])/100,parseFloat(e[2])/100,parseFloat(e[3]??"1"))}return null}function d(e){return e[0]=y(e[0]),e[1]=y(e[1]),e[2]=y(e[2]),e[3]=4===e.length?g(e[3]):1,e}function p(e){let t=o(e)?i(e):null;return t??=f(e),t??=c(e),t}function h(e){const t=p(e);return null!=t?[t[0]/255,t[1]/255,t[2]/255,t[3]]:null}function g(e){return b(e,0,1)}function y(e){return Math.round(b(e,0,255))}function b(e,t,n){return e=Number(e),isNaN(e)?n:e<t?t:e>n?n:e}const m=2.2,w=1/m;function M(e){return e**w}},48425:(e,t,n)=>{n.d(t,{A:()=>b});var r,o=n(31635),i=n(4718),l=n(91429),s=n(51857),a=n(20061),u=n(68197),c=n(25482),f=n(56507);let d=r=class extends c.o{constructor(){super(...arguments),this.description=null,this.label=null,this.values=null,this.color=null}clone(){return new r({description:this.description,label:this.label,values:(0,i.o8)(this.values),color:(0,i.o8)(this.color)})}};(0,o.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],d.prototype,"description",void 0),(0,o.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],d.prototype,"label",void 0),(0,o.Cg)([(0,l.MZ)({type:[String],json:{write:{isRequired:!0}}})],d.prototype,"values",void 0),(0,o.Cg)([(0,l.MZ)({type:u.A,json:{type:[f.jz],write:{isRequired:!0}}})],d.prototype,"color",void 0),d=r=(0,o.Cg)([(0,l.$K)("esri.renderers.support.pointCloud.ColorUniqueValueInfo")],d);const p=d;var h,g=n(19356),y=n(93223);let b=h=class extends s.A{constructor(e){super(e),this.type="point-cloud-unique-value",this.field=null,this.fieldTransformType=null,this.colorUniqueValueInfos=null,this.legendOptions=null}clone(){return new h({...this.cloneProperties(),field:(0,i.o8)(this.field),fieldTransformType:(0,i.o8)(this.fieldTransformType),colorUniqueValueInfos:(0,i.o8)(this.colorUniqueValueInfos),legendOptions:(0,i.o8)(this.legendOptions)})}};(0,o.Cg)([(0,y.e)({pointCloudUniqueValueRenderer:"point-cloud-unique-value"})],b.prototype,"type",void 0),(0,o.Cg)([(0,l.MZ)({json:{write:{isRequired:!0}},type:String})],b.prototype,"field",void 0),(0,o.Cg)([(0,l.MZ)({type:g.i.apiValues,json:{type:g.i.jsonValues,read:g.i.read,write:g.i.write}})],b.prototype,"fieldTransformType",void 0),(0,o.Cg)([(0,l.MZ)({type:[p],json:{write:{isRequired:!0}}})],b.prototype,"colorUniqueValueInfos",void 0),(0,o.Cg)([(0,l.MZ)({type:a.A,json:{write:!0}})],b.prototype,"legendOptions",void 0),b=h=(0,o.Cg)([(0,l.$K)("esri.renderers.PointCloudUniqueValueRenderer")],b)},51850:(e,t,n)=>{function r(){return[0,0,0]}function o(e){return[e[0],e[1],e[2]]}function i(e,t,n){return[e,t,n]}function l(e,t,n){return[e,t,n]}function s(e,t=[0,0,0]){const n=Math.min(3,e.length);for(let r=0;r<n;++r)t[r]=e[r];return t}function a(){return i(1,1,1)}function u(){return i(1,0,0)}function c(){return i(0,1,0)}function f(){return i(0,0,1)}n.d(t,{CN:()=>l,Cb:()=>y,Cw:()=>h,JP:()=>g,Un:()=>p,ci:()=>s,fA:()=>i,o8:()=>o,uY:()=>d,vt:()=>r});const d=[0,0,0],p=a(),h=u(),g=c(),y=f();Object.freeze(Object.defineProperty({__proto__:null,ONES:p,UNIT_X:h,UNIT_Y:g,UNIT_Z:y,ZEROS:d,clone:o,create:r,freeze:l,fromArray:s,fromValues:i,ones:a,unitX:u,unitY:c,unitZ:f,zeros:function(){return[0,0,0]}},Symbol.toStringTag,{value:"Module"}))},51857:(e,t,n)=>{n.d(t,{A:()=>C});var r,o=n(31635),i=n(66552),l=n(25482),s=n(4718),a=n(91429);let u=r=class extends l.o{constructor(){super(...arguments),this.field=null,this.minValue=0,this.maxValue=255}clone(){return new r({field:this.field,minValue:this.minValue,maxValue:this.maxValue})}};(0,o.Cg)([(0,a.MZ)({type:String,json:{write:{isRequired:!0}}})],u.prototype,"field",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}})],u.prototype,"minValue",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}})],u.prototype,"maxValue",void 0),u=r=(0,o.Cg)([(0,a.$K)("esri.renderers.support.pointCloud.ColorModulation")],u);const c=u,f=new i.J({pointCloudFixedSizeAlgorithm:"fixed-size",pointCloudSplatAlgorithm:"splat"});let d=class extends l.o{};(0,o.Cg)([(0,a.MZ)({type:f.apiValues,readOnly:!0,nonNullable:!0,json:{type:f.jsonValues,read:!1,write:{writer:f.write,isRequired:!0}}})],d.prototype,"type",void 0),d=(0,o.Cg)([(0,a.$K)("esri.renderers.support.pointCloud.PointSizeAlgorithm")],d);const p=d;var h,g=n(93223);let y=h=class extends p{constructor(){super(...arguments),this.type="fixed-size",this.size=0,this.useRealWorldSymbolSizes=null}clone(){return new h({size:this.size,useRealWorldSymbolSizes:this.useRealWorldSymbolSizes})}};(0,o.Cg)([(0,g.e)({pointCloudFixedSizeAlgorithm:"fixed-size"})],y.prototype,"type",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}})],y.prototype,"size",void 0),(0,o.Cg)([(0,a.MZ)({type:Boolean,json:{write:!0}})],y.prototype,"useRealWorldSymbolSizes",void 0),y=h=(0,o.Cg)([(0,a.$K)("esri.renderers.support.pointCloud.PointSizeFixedSizeAlgorithm")],y);const b=y;var m;let w=m=class extends p{constructor(){super(...arguments),this.type="splat",this.scaleFactor=1}clone(){return new m({scaleFactor:this.scaleFactor})}};(0,o.Cg)([(0,g.e)({pointCloudSplatAlgorithm:"splat"})],w.prototype,"type",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,value:1,nonNullable:!0,json:{write:{isRequired:!0}}})],w.prototype,"scaleFactor",void 0),w=m=(0,o.Cg)([(0,a.$K)("esri.renderers.support.pointCloud.PointSizeSplatAlgorithm")],w);const M={key:"type",base:p,typeMap:{"fixed-size":b,splat:w}},v=(0,i.O)()({pointCloudClassBreaksRenderer:"point-cloud-class-breaks",pointCloudRGBRenderer:"point-cloud-rgb",pointCloudStretchRenderer:"point-cloud-stretch",pointCloudUniqueValueRenderer:"point-cloud-unique-value"});let C=class extends l.o{constructor(e){super(e),this.type=void 0,this.pointSizeAlgorithm=null,this.colorModulation=null,this.pointsPerInch=10}clone(){return console.warn(".clone() is not implemented for "+this.declaredClass),null}cloneProperties(){return{pointSizeAlgorithm:(0,s.o8)(this.pointSizeAlgorithm),colorModulation:(0,s.o8)(this.colorModulation),pointsPerInch:(0,s.o8)(this.pointsPerInch)}}};(0,o.Cg)([(0,a.MZ)({type:v.apiValues,readOnly:!0,nonNullable:!0,json:{type:v.jsonValues,read:!1,write:{writer:v.write,isRequired:!0}}})],C.prototype,"type",void 0),(0,o.Cg)([(0,a.MZ)({types:M,json:{write:!0}})],C.prototype,"pointSizeAlgorithm",void 0),(0,o.Cg)([(0,a.MZ)({type:c,json:{write:!0}})],C.prototype,"colorModulation",void 0),(0,o.Cg)([(0,a.MZ)({json:{write:!0},nonNullable:!0,type:Number})],C.prototype,"pointsPerInch",void 0),C=(0,o.Cg)([(0,a.$K)("esri.renderers.PointCloudRenderer")],C)},59418:(e,t,n)=>{n.d(t,{wH:()=>g,MA:()=>d,E5:()=>p,m0:()=>b});var r=n(49186),o=n(4718),i=n(53966),l=n(34275),s=n(37203);const a=()=>i.A.getLogger("esri.views.3d.layers.i3s.I3SBinaryReader");function u(e,t,n){let o="",i=0;for(;i<n;){const l=e[t+i];if(l<128)o+=String.fromCharCode(l),i++;else if(l>=192&&l<224){if(i+1>=n)throw new r.A("utf8-decode-error","UTF-8 Decode failed. Two byte character was truncated.");const s=(31&l)<<6|63&e[t+i+1];o+=String.fromCharCode(s),i+=2}else if(l>=224&&l<240){if(i+2>=n)throw new r.A("utf8-decode-error","UTF-8 Decode failed. Multi byte character was truncated.");const s=(15&l)<<12|(63&e[t+i+1])<<6|63&e[t+i+2];o+=String.fromCharCode(s),i+=3}else{if(!(l>=240&&l<248))throw new r.A("utf8-decode-error","UTF-8 Decode failed. Invalid multi byte sequence.");{if(i+3>=n)throw new r.A("utf8-decode-error","UTF-8 Decode failed. Multi byte character was truncated.");const s=(7&l)<<18|(63&e[t+i+1])<<12|(63&e[t+i+2])<<6|63&e[t+i+3];if(s>=65536){const e=55296+(s-65536>>10),t=56320+(1023&s);o+=String.fromCharCode(e,t)}else o+=String.fromCharCode(s);i+=4}}}return o}function c(e,t){const n={byteOffset:0,byteCount:0,fields:Object.create(null)};let r=0;for(let o=0;o<t.length;o++){const i=t[o],l=i.valueType||i.type,s=w[l];n.fields[i.property]=s(e,r),r+=m[l].BYTES_PER_ELEMENT}return n.byteCount=r,n}function f(e,t,n){const o=[];let i,l,s=0;for(l=0;l<e;l+=1){if(i=t[l],i>0){if(o.push(u(n,s,i-1)),0!==n[s+i-1])throw new r.A("string-array-error","Invalid string array: missing null termination.")}else o.push(null);s+=i}return o}function d(e,t){return new(0,m[t.valueType])(e,t.byteOffset,t.count*t.valuesPerElement)}function p(e,t){if(!e)return null;const n=e[t];return(0,l.IY)(e)?n===l.PI?null:n:(0,l._G)(e)?n===l.h2?null:n:n!=n?null:n}function h(e,t,n){if(t!==e&&a().error(`Invalid ${n} buffer size\n expected: ${e}, actual: ${t})`),t<e)throw new r.A("buffer-too-small","Binary buffer is too small",{expectedSize:e,actualSize:t})}function g(e,t){const n=c(e,t&&t.header);let r=n.byteCount;const o={isDraco:!1,header:n,byteOffset:n.byteCount,byteCount:0,vertexAttributes:{}},i=n.fields,l=null!=i.vertexCount?i.vertexCount:i.count;for(const e of t.ordering){if(!t.vertexAttributes[e])continue;const n={...t.vertexAttributes[e],byteOffset:r,count:l},i=y[e]||"_"+e;o.vertexAttributes[i]=n,r+=v(n.valueType)*n.valuesPerElement*l}const s=i.faceCount;if(t.faces&&s){o.faces={};for(const e of t.ordering){if(!t.faces[e])continue;const n={...t.faces[e],byteOffset:r,count:s};o.faces[e]=n,r+=v(n.valueType)*n.valuesPerElement*s}}const a=i.featureCount;if(t.featureAttributes&&t.featureAttributeOrder&&a){o.featureAttributes={};for(const e of t.featureAttributeOrder){if(!t.featureAttributes[e])continue;const n={...t.featureAttributes[e],byteOffset:r,count:a};o.featureAttributes[e]=n,r+=("UInt64"===n.valueType?8:v(n.valueType))*n.valuesPerElement*a}}return h(r,e.byteLength,"geometry"),o.byteCount=r-o.byteOffset,o}const y={position:"position",normal:"normal",color:"color",uv0:"uv0",region:"uvRegion"};function b(e,t,n,i=!1){if("lepcc-rgb"===e.encoding)return i?(0,s.mb)(t):function(e){return Array.isArray(e)?e.length<l.y9?e:new Uint8Array(e):e.length<l.y9?Array.from(e):e}((0,s.mb)(t));if("lepcc-intensity"===e.encoding)return i?(0,s.Ax)(t):function(e){return Array.isArray(e)?e.length<l.y9?e:new Uint16Array(e):e.length<l.y9?Array.from(e):e}((0,s.Ax)(t));if(null!=e.encoding&&""!==e.encoding)throw new r.A("unknown-attribute-storage-info-encoding","Unknown Attribute Storage Info Encoding");e["attributeByteCounts "]&&!e.attributeByteCounts&&(a().warn("Warning: Trailing space in 'attributeByteCounts '."),e.attributeByteCounts=e["attributeByteCounts "]),"ObjectIds"===e.ordering[0]&&e.hasOwnProperty("objectIds")&&(a().warn("Warning: Case error in objectIds"),e.ordering[0]="objectIds");const u=function(e,t,n){const i=null!=t.header?c(e,t.header):{byteOffset:0,byteCount:0,fields:{count:n}},l={header:i,byteOffset:i.byteCount,byteCount:0,entries:Object.create(null)};let s=i.byteCount;for(let e=0;e<t.ordering.length;e++){const n=t.ordering[e],a=(0,o.o8)(t[n]);if(a.count=i.fields.count??0,"String"===a.valueType){if(a.byteOffset=s,a.byteCount=i.fields[n+"ByteCount"],"UTF-8"!==a.encoding)throw new r.A("unsupported-encoding","Unsupported String encoding.",{encoding:a.encoding});if(a.timeEncoding&&"ECMA_ISO8601"!==a.timeEncoding)throw new r.A("unsupported-time-encoding","Unsupported time encoding.",{timeEncoding:a.timeEncoding})}else{if(!M(a.valueType))throw new r.A("unsupported-value-type","Unsupported binary valueType",{valueType:a.valueType});{const e=v(a.valueType);s+=s%e!==0?e-s%e:0,a.byteOffset=s,a.byteCount=e*a.valuesPerElement*a.count}}s+=a.byteCount??0,l.entries[n]=a}return l.byteCount=s-l.byteOffset,l}(t,e,n);h(u.byteOffset+u.byteCount,t.byteLength,"attribute");const g=u.entries.attributeValues||u.entries.objectIds;if(g){if("String"===g.valueType){const e=u.entries.attributeByteCounts,n=d(t,e),r=function(e,t){return new Uint8Array(e,t.byteOffset,t.byteCount)}(t,g);return g.timeEncoding?function(e,t,n){return f(e,t,n).map(e=>{const t=e?Date.parse(e):null;return null==t||Number.isNaN(t)?null:t})}(e.count,n,r):f(e.count,n,r)}return i?d(t,g):function(e,t){const n=d(e,t);if(n.length>=l.y9)return n;const r=new Array;return n.forEach((e,t)=>r.push(p(n,t))),r}(t,g)}throw new r.A("bad-attribute-storage-info","Bad attributeStorageInfo specification.")}const m={Float32:Float32Array,Float64:Float64Array,UInt8:Uint8Array,Int8:Int8Array,UInt16:Uint16Array,Int16:Int16Array,UInt32:Uint32Array,Int32:Int32Array},w={Float32:(e,t)=>new DataView(e,0).getFloat32(t,!0),Float64:(e,t)=>new DataView(e,0).getFloat64(t,!0),UInt8:(e,t)=>new DataView(e,0).getUint8(t),Int8:(e,t)=>new DataView(e,0).getInt8(t),UInt16:(e,t)=>new DataView(e,0).getUint16(t,!0),Int16:(e,t)=>new DataView(e,0).getInt16(t,!0),UInt32:(e,t)=>new DataView(e,0).getUint32(t,!0),Int32:(e,t)=>new DataView(e,0).getInt32(t,!0)};function M(e){return m.hasOwnProperty(e)}function v(e){return M(e)?m[e].BYTES_PER_ELEMENT:0}},63531:(e,t,n)=>{n.d(t,{A:()=>b});var r,o=n(31635),i=n(4718),l=n(91429),s=n(51857),a=n(20061),u=n(68197),c=n(25482),f=n(56507);let d=r=class extends c.o{constructor(){super(...arguments),this.description=null,this.label=null,this.minValue=0,this.maxValue=0,this.color=null}clone(){return new r({description:this.description,label:this.label,minValue:this.minValue,maxValue:this.maxValue,color:(0,i.o8)(this.color)})}};(0,o.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],d.prototype,"description",void 0),(0,o.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],d.prototype,"label",void 0),(0,o.Cg)([(0,l.MZ)({type:Number,json:{read:{source:"classMinValue"},write:{target:"classMinValue",isRequired:!0}}})],d.prototype,"minValue",void 0),(0,o.Cg)([(0,l.MZ)({type:Number,json:{read:{source:"classMaxValue"},write:{target:"classMaxValue",isRequired:!0}}})],d.prototype,"maxValue",void 0),(0,o.Cg)([(0,l.MZ)({type:u.A,json:{type:[f.jz],write:{isRequired:!0}}})],d.prototype,"color",void 0),d=r=(0,o.Cg)([(0,l.$K)("esri.renderers.support.pointCloud.ColorClassBreakInfo")],d);const p=d;var h,g=n(19356),y=n(93223);let b=h=class extends s.A{constructor(e){super(e),this.type="point-cloud-class-breaks",this.field=null,this.legendOptions=null,this.fieldTransformType=null,this.colorClassBreakInfos=null}clone(){return new h({...this.cloneProperties(),field:this.field,fieldTransformType:this.fieldTransformType,colorClassBreakInfos:(0,i.o8)(this.colorClassBreakInfos),legendOptions:(0,i.o8)(this.legendOptions)})}};(0,o.Cg)([(0,y.e)({pointCloudClassBreaksRenderer:"point-cloud-class-breaks"})],b.prototype,"type",void 0),(0,o.Cg)([(0,l.MZ)({json:{write:{isRequired:!0}},type:String})],b.prototype,"field",void 0),(0,o.Cg)([(0,l.MZ)({type:a.A,json:{write:!0}})],b.prototype,"legendOptions",void 0),(0,o.Cg)([(0,l.MZ)({type:g.i.apiValues,json:{type:g.i.jsonValues,read:g.i.read,write:g.i.write}})],b.prototype,"fieldTransformType",void 0),(0,o.Cg)([(0,l.MZ)({type:[p],json:{write:{isRequired:!0}}})],b.prototype,"colorClassBreakInfos",void 0),b=h=(0,o.Cg)([(0,l.$K)("esri.renderers.PointCloudClassBreaksRenderer")],b)},68197:(e,t,n)=>{n.d(t,{A:()=>u});var r=n(40876),o=n(4576),i=n(34727),l=n(56507);function s(e){return(0,i.qE)((0,l.Vr)(e),0,255)}function a(e,t){const n=e.toString(16).padStart(2,"0");return t?n.slice(0,1):n}class u{static blendColors(e,t,n,r=new u){return r.r=Math.round(e.r+(t.r-e.r)*n),r.g=Math.round(e.g+(t.g-e.g)*n),r.b=Math.round(e.b+(t.b-e.b)*n),r.a=e.a+(t.a-e.a)*n,r._sanitize()}static fromRgb(e,t){const n=(0,r.lT)(e);return n?u.fromArray(n,t):null}static fromHex(e,t=new u){const n=(0,r.oW)(e);return n?u.fromArray(n,t):null}static fromArray(e,t=new u){return t._set(Number(e[0]),Number(e[1]),Number(e[2]),Number(e[3])),isNaN(t.a)&&(t.a=1),t._sanitize()}static fromString(e,t){const n=(0,r.Eq)(e);return n?u.fromArray(n,t):null}static fromJSON(e){return null!=e?new u([e[0],e[1],e[2],(e[3]??255)/255]):void 0}static toUnitRGB(e){return null!=e?[e.r/255,e.g/255,e.b/255]:null}static toUnitRGBA(e,t){return null==e?null:(t??=[0,0,0,0],t[0]=e.r/255,t[1]=e.g/255,t[2]=e.b/255,t[3]=null!=e.a?e.a:1,t)}constructor(e){this.r=255,this.g=255,this.b=255,this.a=1,e&&this.setColor(e)}get isBright(){return.299*this.r+.587*this.g+.114*this.b>=127}setColor(e){if("string"==typeof e)u.fromString(e,this);else if((0,o.yc)(e))u.fromArray(e,this);else{const t=e;this._set(t.r??0,t.g??0,t.b??0,t.a??1),e instanceof u||this._sanitize()}return this}toRgb(){return[this.r,this.g,this.b]}toRgba(){return[this.r,this.g,this.b,this.a]}toHex(e){const t=e?.capitalize??!1,n=e?.digits??6,r=3===n||4===n,o=4===n||8===n,i=`#${a(this.r,r)}${a(this.g,r)}${a(this.b,r)}${o?a(Math.round(255*this.a),r):""}`;return t?i.toUpperCase():i}toCss(e=!1){const t=this.r+", "+this.g+", "+this.b;return e?`rgba(${t}, ${this.a})`:`rgb(${t})`}toString(){return this.toCss(!0)}toJSON(){return this.toArray()}toArray(e=0){const t=s(this.r),n=s(this.g),r=s(this.b);return 0===e||1!==this.a?[t,n,r,s(255*this.a)]:[t,n,r]}clone(){return new u(this.toRgba())}hash(){return this.r<<24|this.g<<16|this.b<<8|255*this.a}equals(e){return null!=e&&e.r===this.r&&e.g===this.g&&e.b===this.b&&e.a===this.a}_sanitize(){return this.r=(0,r.c1)(this.r),this.g=(0,r.c1)(this.g),this.b=(0,r.c1)(this.b),this.a=(0,r.G1)(this.a),this}_set(e,t,n,r){this.r=e,this.g=t,this.b=n,this.a=r}}u.prototype.declaredClass="esri.Color"},69540:(e,t,n)=>{n.d(t,{OU:()=>c,Pw:()=>f});var r=n(31635),o=n(69622),i=(n(44208),n(4718)),l=(n(53966),n(97768)),s=n(88620),a=n(64108);const u=Symbol("ClonableMixin"),c=e=>{var t;const n=e;let o=class extends n{constructor(){super(...arguments),this[t]=!0}static{t=u}clone(e){const t=(0,s.oY)(this);(0,l.Lw)(t,"unable to clone instance of non-accessor class");const n=t.metadata,r=t.store,o={},a=new Map;for(const t in n){const l=n[t],s=r?.originOf(t),u=l.clonable;if(l.readOnly||!1===u||7!==s&&0!==s&&5!==s&&4!==s)continue;const c=this[t];let f=null;if("function"==typeof u)f=u(c,e);else if("reference"===u)f=c;else if(f=(0,i.TU)(c,e),null!=c&&null==f)continue;0===s?a.set(t,f):o[t]=f}const u=new(0,Object.getPrototypeOf(this).constructor)(o);if(a.size){const e=(0,s.oY)(u)?.store;if(e)for(const[t,n]of a)e.set(t,n,0)}return u}};return o=(0,r.Cg)([(0,a.$)("esri.core.Clonable")],o),o},f=c(o.A)},69846:(e,t,n)=>{n.d(t,{A:()=>d});var r,o=n(31635),i=n(4718),l=n(91429),s=n(51857),a=n(20061),u=n(19356),c=n(72500),f=n(93223);let d=r=class extends s.A{constructor(e){super(e),this.type="point-cloud-stretch",this.field=null,this.legendOptions=null,this.fieldTransformType=null,this.stops=null}clone(){return new r({...this.cloneProperties(),field:(0,i.o8)(this.field),fieldTransformType:(0,i.o8)(this.fieldTransformType),stops:(0,i.o8)(this.stops),legendOptions:(0,i.o8)(this.legendOptions)})}};(0,o.Cg)([(0,f.e)({pointCloudStretchRenderer:"point-cloud-stretch"})],d.prototype,"type",void 0),(0,o.Cg)([(0,l.MZ)({json:{write:{isRequired:!0}},type:String})],d.prototype,"field",void 0),(0,o.Cg)([(0,l.MZ)({type:a.A,json:{write:!0}})],d.prototype,"legendOptions",void 0),(0,o.Cg)([(0,l.MZ)({type:u.i.apiValues,json:{type:u.i.jsonValues,read:u.i.read,write:u.i.write}})],d.prototype,"fieldTransformType",void 0),(0,o.Cg)([(0,l.MZ)({type:[c.A],json:{write:{isRequired:!0}}})],d.prototype,"stops",void 0),d=r=(0,o.Cg)([(0,l.$K)("esri.renderers.PointCloudStretchRenderer")],d)},72385:(e,t,n)=>{function r(){return new Float32Array(3)}function o(e){const t=new Float32Array(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function i(e,t,n){const r=new Float32Array(3);return r[0]=e,r[1]=t,r[2]=n,r}function l(){return r()}function s(){return i(1,1,1)}function a(){return i(1,0,0)}function u(){return i(0,1,0)}function c(){return i(0,0,1)}n.d(t,{fA:()=>i,o8:()=>o,vt:()=>r});const f=l(),d=s(),p=a(),h=u(),g=c();Object.freeze(Object.defineProperty({__proto__:null,ONES:d,UNIT_X:p,UNIT_Y:h,UNIT_Z:g,ZEROS:f,clone:o,create:r,fromValues:i,ones:s,unitX:a,unitY:u,unitZ:c,zeros:l},Symbol.toStringTag,{value:"Module"}))},72500:(e,t,n)=>{n.d(t,{A:()=>f});var r,o=n(31635),i=n(68197),l=n(25482),s=n(91429),a=n(56507),u=n(43937);let c=r=class extends l.o{constructor(e){super(e),this.color=null,this.label=null,this.value=null}writeValue(e,t,n){t[n]=e??0}clone(){return new r({color:this.color&&this.color.clone(),label:this.label,value:this.value})}};(0,o.Cg)([(0,s.MZ)({type:i.A,json:{type:[a.jz],write:{isRequired:!0}}})],c.prototype,"color",void 0),(0,o.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],c.prototype,"label",void 0),(0,o.Cg)([(0,s.MZ)({type:Number,json:{write:{writerEnsuresNonNull:!0}}})],c.prototype,"value",void 0),(0,o.Cg)([(0,u.K)("value")],c.prototype,"writeValue",null),c=r=(0,o.Cg)([(0,s.$K)("esri.renderers.visualVariables.support.ColorStop")],c);const f=c},77690:(e,t,n)=>{n.d(t,{B8:()=>s,Ge:()=>p,I0:()=>d,KC:()=>a,a4:()=>u,hZ:()=>i,hs:()=>f,lw:()=>c,mg:()=>l,z0:()=>o});var r=n(34304);function o(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[4],e[4]=t[5],e[5]=t[6],e[6]=t[8],e[7]=t[9],e[8]=t[10],e}function i(e,t,n,r,o,i,l,s,a,u){return e[0]=t,e[1]=n,e[2]=r,e[3]=o,e[4]=i,e[5]=l,e[6]=s,e[7]=a,e[8]=u,e}function l(e,t){if(e===t){const n=t[1],r=t[2],o=t[5];e[1]=t[3],e[2]=t[6],e[3]=n,e[5]=t[7],e[6]=r,e[7]=o}else e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8];return e}function s(e,t){const n=t[0],r=t[1],o=t[2],i=t[3],l=t[4],s=t[5],a=t[6],u=t[7],c=t[8],f=c*l-s*u,d=-c*i+s*a,p=u*i-l*a;let h=n*f+r*d+o*p;return h?(h=1/h,e[0]=f*h,e[1]=(-c*r+o*u)*h,e[2]=(s*r-o*l)*h,e[3]=d*h,e[4]=(c*n-o*a)*h,e[5]=(-s*n+o*i)*h,e[6]=p*h,e[7]=(-u*n+r*a)*h,e[8]=(l*n-r*i)*h,e):null}function a(e,t){const n=t[0],r=t[1],o=t[2],i=t[3],l=t[4],s=t[5],a=t[6],u=t[7],c=t[8];return e[0]=l*c-s*u,e[1]=o*u-r*c,e[2]=r*s-o*l,e[3]=s*a-i*c,e[4]=n*c-o*a,e[5]=o*i-n*s,e[6]=i*u-l*a,e[7]=r*a-n*u,e[8]=n*l-r*i,e}function u(e){const t=e[0],n=e[1],r=e[2],o=e[3],i=e[4],l=e[5],s=e[6],a=e[7],u=e[8];return t*(u*i-l*a)+n*(-u*o+l*s)+r*(a*o-i*s)}function c(e,t,n){const r=t[0],o=t[1],i=t[2],l=t[3],s=t[4],a=t[5],u=t[6],c=t[7],f=t[8],d=n[0],p=n[1],h=n[2],g=n[3],y=n[4],b=n[5],m=n[6],w=n[7],M=n[8];return e[0]=d*r+p*l+h*u,e[1]=d*o+p*s+h*c,e[2]=d*i+p*a+h*f,e[3]=g*r+y*l+b*u,e[4]=g*o+y*s+b*c,e[5]=g*i+y*a+b*f,e[6]=m*r+w*l+M*u,e[7]=m*o+w*s+M*c,e[8]=m*i+w*a+M*f,e}function f(e,t,n){const r=n[0],o=n[1],i=n[2];return e[0]=r*t[0],e[1]=r*t[1],e[2]=r*t[2],e[3]=o*t[3],e[4]=o*t[4],e[5]=o*t[5],e[6]=i*t[6],e[7]=i*t[7],e[8]=i*t[8],e}function d(e,t){const n=t[0],r=t[1],o=t[2],i=t[3],l=n+n,s=r+r,a=o+o,u=n*l,c=r*l,f=r*s,d=o*l,p=o*s,h=o*a,g=i*l,y=i*s,b=i*a;return e[0]=1-f-h,e[3]=c-b,e[6]=d+y,e[1]=c+b,e[4]=1-u-h,e[7]=p-g,e[2]=d-y,e[5]=p+g,e[8]=1-u-f,e}function p(e,t){const n=t[0],r=t[1],o=t[2],i=t[3],l=t[4],s=t[5],a=t[6],u=t[7],c=t[8],f=t[9],d=t[10],p=t[11],h=t[12],g=t[13],y=t[14],b=t[15],m=n*s-r*l,w=n*a-o*l,M=n*u-i*l,v=r*a-o*s,C=r*u-i*s,A=o*u-i*a,S=c*g-f*h,I=c*y-d*h,O=c*b-p*h,U=f*y-d*g,j=f*b-p*g,k=d*b-p*y;let R=m*k-w*j+M*U+v*O-C*I+A*S;return R?(R=1/R,e[0]=(s*k-a*j+u*U)*R,e[1]=(a*O-l*k-u*I)*R,e[2]=(l*j-s*O+u*S)*R,e[3]=(o*j-r*k-i*U)*R,e[4]=(n*k-o*O+i*I)*R,e[5]=(r*O-n*j-i*S)*R,e[6]=(g*A-y*C+b*v)*R,e[7]=(y*M-h*A-b*w)*R,e[8]=(h*C-g*M+b*m)*R,e):null}function h(e,t,n){return e[0]=t[0]-n[0],e[1]=t[1]-n[1],e[2]=t[2]-n[2],e[3]=t[3]-n[3],e[4]=t[4]-n[4],e[5]=t[5]-n[5],e[6]=t[6]-n[6],e[7]=t[7]-n[7],e[8]=t[8]-n[8],e}const g=c,y=h;Object.freeze(Object.defineProperty({__proto__:null,add:function(e,t,n){return e[0]=t[0]+n[0],e[1]=t[1]+n[1],e[2]=t[2]+n[2],e[3]=t[3]+n[3],e[4]=t[4]+n[4],e[5]=t[5]+n[5],e[6]=t[6]+n[6],e[7]=t[7]+n[7],e[8]=t[8]+n[8],e},adjoint:a,copy:function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e},determinant:u,equals:function(e,t){const n=e[0],o=e[1],i=e[2],l=e[3],s=e[4],a=e[5],u=e[6],c=e[7],f=e[8],d=t[0],p=t[1],h=t[2],g=t[3],y=t[4],b=t[5],m=t[6],w=t[7],M=t[8],v=(0,r.FD)();return Math.abs(n-d)<=v*Math.max(1,Math.abs(n),Math.abs(d))&&Math.abs(o-p)<=v*Math.max(1,Math.abs(o),Math.abs(p))&&Math.abs(i-h)<=v*Math.max(1,Math.abs(i),Math.abs(h))&&Math.abs(l-g)<=v*Math.max(1,Math.abs(l),Math.abs(g))&&Math.abs(s-y)<=v*Math.max(1,Math.abs(s),Math.abs(y))&&Math.abs(a-b)<=v*Math.max(1,Math.abs(a),Math.abs(b))&&Math.abs(u-m)<=v*Math.max(1,Math.abs(u),Math.abs(m))&&Math.abs(c-w)<=v*Math.max(1,Math.abs(c),Math.abs(w))&&Math.abs(f-M)<=v*Math.max(1,Math.abs(f),Math.abs(M))},exactEquals:function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]},frob:function(e){return Math.sqrt(e[0]**2+e[1]**2+e[2]**2+e[3]**2+e[4]**2+e[5]**2+e[6]**2+e[7]**2+e[8]**2)},fromMat2d:function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=0,e[3]=t[2],e[4]=t[3],e[5]=0,e[6]=t[4],e[7]=t[5],e[8]=1,e},fromMat4:o,fromQuat:d,fromRotation:function(e,t){const n=Math.sin(t),r=Math.cos(t);return e[0]=r,e[1]=n,e[2]=0,e[3]=-n,e[4]=r,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},fromScaling:function(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=t[1],e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},fromTranslation:function(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=t[0],e[7]=t[1],e[8]=1,e},identity:function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},invert:s,isOrthoNormal:function(e){const t=(0,r.FD)(),n=e[0],o=e[1],i=e[2],l=e[3],s=e[4],a=e[5],u=e[6],c=e[7],f=e[8];return Math.abs(1-(n*n+l*l+u*u))<=t&&Math.abs(1-(o*o+s*s+c*c))<=t&&Math.abs(1-(i*i+a*a+f*f))<=t},mul:g,multiply:c,multiplyScalar:function(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*n,e[5]=t[5]*n,e[6]=t[6]*n,e[7]=t[7]*n,e[8]=t[8]*n,e},multiplyScalarAndAdd:function(e,t,n,r){return e[0]=t[0]+n[0]*r,e[1]=t[1]+n[1]*r,e[2]=t[2]+n[2]*r,e[3]=t[3]+n[3]*r,e[4]=t[4]+n[4]*r,e[5]=t[5]+n[5]*r,e[6]=t[6]+n[6]*r,e[7]=t[7]+n[7]*r,e[8]=t[8]+n[8]*r,e},normalFromMat4:p,normalFromMat4Legacy:function(e,t){const n=t[0],r=t[1],o=t[2],i=t[4],l=t[5],s=t[6],a=t[8],u=t[9],c=t[10],f=c*l-s*u,d=-c*i+s*a,p=u*i-l*a,h=n*f+r*d+o*p;if(!h)return null;const g=1/h;return e[0]=f*g,e[1]=(-c*r+o*u)*g,e[2]=(s*r-o*l)*g,e[3]=d*g,e[4]=(c*n-o*a)*g,e[5]=(-s*n+o*i)*g,e[6]=p*g,e[7]=(-u*n+r*a)*g,e[8]=(l*n-r*i)*g,e},projection:function(e,t,n){return e[0]=2/t,e[1]=0,e[2]=0,e[3]=0,e[4]=-2/n,e[5]=0,e[6]=-1,e[7]=1,e[8]=1,e},rotate:function(e,t,n){const r=t[0],o=t[1],i=t[2],l=t[3],s=t[4],a=t[5],u=t[6],c=t[7],f=t[8],d=Math.sin(n),p=Math.cos(n);return e[0]=p*r+d*l,e[1]=p*o+d*s,e[2]=p*i+d*a,e[3]=p*l-d*r,e[4]=p*s-d*o,e[5]=p*a-d*i,e[6]=u,e[7]=c,e[8]=f,e},scale:f,scaleByVec2:function(e,t,n){const r=n[0],o=n[1];return e[0]=r*t[0],e[1]=r*t[1],e[2]=r*t[2],e[3]=o*t[3],e[4]=o*t[4],e[5]=o*t[5],e},set:i,str:function(e){return"mat3("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+")"},sub:y,subtract:h,translate:function(e,t,n){const r=t[0],o=t[1],i=t[2],l=t[3],s=t[4],a=t[5],u=t[6],c=t[7],f=t[8],d=n[0],p=n[1];return e[0]=r,e[1]=o,e[2]=i,e[3]=l,e[4]=s,e[5]=a,e[6]=d*r+p*l+u,e[7]=d*o+p*s+c,e[8]=d*i+p*a+f,e},transpose:l},Symbol.toStringTag,{value:"Module"}))}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[7048],{6797:(e,t,r)=>{r.d(t,{Ui:()=>p});var i=r(69622),s=r(7762),o=r(88620);const n=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 s.A?Object.keys(e.items):a(e)?(0,o.oY)(e).keys():e?Object.keys(e):[]}function u(e,t){return e instanceof s.A?e.items[t]:e[t]}function d(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),s=l(t);if(0===i.length&&0===s.length)return;if(!i.length||!s.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 o=s.filter(e=>!i.includes(e)),p=i.filter(e=>!s.includes(e)),y=i.filter(r=>s.includes(r)&&u(e,r)!==u(t,r)).concat(o,p).sort(),h=d(e);if(h&&n.has(h)&&y.length)return{type:"complete",oldValue:e,newValue:t};let f;const m=a(e)&&a(t);for(const i of y){const s=u(e,i),o=u(t,i);let n;if((m||"function"!=typeof s&&"function"!=typeof o)&&s!==o&&(null!=s||null!=o)){if(r&&r[i]&&"function"==typeof r[i])n=r[i]?.(s,o);else if(s instanceof Date&&o instanceof Date){if(s.getTime()===o.getTime())continue;n={type:"complete",oldValue:s,newValue:o}}else n="object"==typeof s&&"object"==typeof o&&d(s)===d(o)?c(s,o):{type:"complete",oldValue:s,newValue:o};null!=n&&(null!=f?f.diff[i]=n:f={type:"partial",diff:{[i]:n}})}}return f}function p(e,t){if("function"!=typeof e&&"function"!=typeof t&&(null!=e||null!=t))return null==e||null==t||"object"==typeof e&&"object"==typeof t&&d(e)!==d(t)?{type:"complete",oldValue:e,newValue:t}:c(e,t)}},15775:(e,t,r)=>{r.d(t,{A:()=>ce});var i=r(31635),s=r(37838),o=r(11254),n=r(7762),a=r(49186),l=r(44208),u=r(4902),d=r(4718),c=r(92474),p=r(53966),y=r(25728),h=r(39516),f=r(84952),m=r(91429),g=r(56507),b=r(35666),w=r(88620),v=r(5443),S=r(16930),_=r(50498),I=r(89808),x=r(99959);const C=Symbol("isMapImageGraphicOriginSymbol");var A;class F extends x.A{get[(A=C,I.Q)](){return this.layer}constructor(e,t){super(),this[A]=!0,this.type="map-image",this.layer=e,this.sublayer=t}get id(){return`${this.layer.id}:__${this.sublayer.id}__`}}const T=Symbol("isTileGraphicOriginSymbol");var M;class O extends x.A{get[(M=T,I.Q)](){return this.layer}constructor(e,t){super(),this[M]=!0,this.type="tile",this.layer=e,this.sublayer=t}get id(){return`${this.layer.id}:__${this.sublayer.id}__`}}var D,P=r(64314),Z=r(32756),L=r(15426),j=r(33143),E=r(20437),R=r(95466),q=r(30524),V=r(46499),N=r(39383),k=r(37352),$=r(91880),B=r(45067),Q=r(22453),z=r(27733),G=r(49053),J=r(41214),K=r(2272),U=r(54546),Y=r(61956),H=r(30291),X=r(33910),W=r(43440),ee=r(36005),te=r(43937);function re(e){return"esriSMS"===e?.type}function ie(e,t,r){const i=r.minimumWritableOrigin||r.origin;return!!i&&e.originIdOf(t)>=(0,b.aB)(i)}function se(e,t,r){const i=ie(this,t,r);return{ignoreOrigin:!0,allowNull:i,enabled:!!r&&"map-image"===r.layer?.type&&(r.writeSublayerStructure||i)}}function oe(e,t,r){return{enabled:!!r&&"tile"===r.layer?.type&&(ie(this,t,r)||this._isOverridden(t))}}function ne(e,t,r){return{ignoreOrigin:!0,enabled:r&&r.writeSublayerStructure||!1}}function ae(e,t,r){return{ignoreOrigin:!0,enabled:!!r?.writeSublayerStructure&&this.originIdOf(t)>2}}function le(e,t,r){return{ignoreOrigin:!0,enabled:!!r&&(r.writeSublayerStructure||ie(this,t,r))}}let ue=0;const de=new Set(["layer","parent","loaded","loadStatus","loadError","loadWarnings"]);let ce=class extends((0,y.P)((0,u.s)(c.x_))){static{D=this}constructor(e){super(e),this.attributeTableTemplate=null,this.capabilities=void 0,this.maxScaleRange={minScale:0,maxScale:0},this.fields=null,this.fullExtent=null,this.geometryType=null,this.globalIdField=null,this.isTable=!1,this.legendEnabled=!0,this.objectIdField=null,this.parent=null,this.popupEnabled=!0,this.popupTemplate=null,this.relationships=null,this.sourceJSON=null,this.spatialReference=null,this.title=null,this.typeIdField=null,this.type="sublayer",this.types=null,this._lastParsedUrl=null}async load(e){return this.addResolvingPromise(this.reload(e)),this}readCapabilities(e,t){t=t.layerDefinition||t;const{attachment:r,operations:{supportsQuery:i,supportsQueryAttachments:s},query:{supportsFormatPBF:o,supportsOrderBy:n,supportsPagination:a},data:{supportsAttachment:l},queryRelated:u}=(0,Q.S)(t,this.url);return{attachment:{supportsOrderByFields:r?.supportsOrderByFields??!1,supportsResize:r?.supportsResize??!1,supportsTypeWildcard:r?.supportsTypeWildcard??!1},exportMap:{supportsModification:!!t.canModifyLayer},operations:{supportsQuery:i,supportsQueryAttachments:s},data:{supportsAttachment:l},query:{supportsFormatPBF:o,supportsOrderBy:n,supportsPagination:a},queryRelated:u}}get defaultPopupTemplate(){return this.createPopupTemplate()}set definitionExpression(e){this._setAndNotifyLayer("definitionExpression",e)}get effectiveScaleRange(){const{minScale:e,maxScale:t}=this;return{minScale:e,maxScale:t}}readMaxScaleRange(e,t){return{minScale:(t=t.layerDefinition||t).minScale??0,maxScale:t.maxScale??0}}get fieldsIndex(){return new R.A(this.fields||[])}set floorInfo(e){this._setAndNotifyLayer("floorInfo",e)}readGlobalIdFieldFromService(e,t){if((t=t.layerDefinition||t).globalIdField)return t.globalIdField;if(t.fields)for(const e of t.fields)if("esriFieldTypeGlobalID"===e.type)return e.name}get graphicOrigin(){if(!this.layer)return null;switch(this.layer.type){case"tile":return new O(this.layer,this);case"map-image":return new F(this.layer,this)}}get id(){return this._get("id")??ue++}set id(e){this._get("id")!==e&&(!1!==this.layer?.capabilities?.exportMap?.supportsDynamicLayers?this._set("id",e):this._logLockedError("id","capability not available 'layer.capabilities.exportMap.supportsDynamicLayers'"))}readIsTable(e,t){return"Table"===t.type}set labelingInfo(e){this._setAndNotifyLayer("labelingInfo",e)}writeLabelingInfo(e,t,r,i){e&&e.length&&(t.layerDefinition={drawingInfo:{labelingInfo:e.map(e=>e.write({},i))}})}set labelsVisible(e){this._setAndNotifyLayer("labelsVisible",e)}set layer(e){this._set("layer",e),this.sublayers?.forEach(t=>t.layer=e)}set listMode(e){this._set("listMode",e)}set minScale(e){this._setAndNotifyLayer("minScale",e)}readMinScale(e,t){return t.minScale||t.layerDefinition?.minScale||0}set maxScale(e){this._setAndNotifyLayer("maxScale",e)}readMaxScale(e,t){return t.maxScale||t.layerDefinition?.maxScale||0}readObjectIdFieldFromService(e,t){if((t=t.layerDefinition||t).objectIdField)return t.objectIdField;const r=t.fields?.find(e=>"esriFieldTypeOID"===e.type);return r?.name}set opacity(e){this._setAndNotifyLayer("opacity",e)}readOpacity(e,t){const{layerDefinition:r}=t;return 1-.01*(r?.transparency??r?.drawingInfo?.transparency??0)}writeOpacity(e,t,r,i){t.layerDefinition={drawingInfo:{transparency:100-100*e}}}set orderBy(e){this._setAndNotifyLayer("orderBy",e)}writeParent(e,t){this.parent&&this.parent!==this.layer?t.parentLayerId=(0,g.Vr)(this.parent.id):t.parentLayerId=-1}get queryTask(){if(!this.layer)return null;const{capabilities:e,fieldsIndex:t,layer:r,url:i}=this,{spatialReference:s}=r,o="gdbVersion"in r?r.gdbVersion:void 0,n=(0,l.A)("featurelayer-pbf")&&e?.query.supportsFormatPBF;return new P.A({fieldsIndex:t,gdbVersion:o,pbfSupported:n,queryAttachmentsSupported:e?.operations?.supportsQueryAttachments??!1,sourceSpatialReference:s,url:i})}set renderer(e){if((0,q.yp)(e,this.fieldsIndex),e)for(const t of e.symbols)if((0,X.wk)(t)){p.A.getLogger(this).warn("Sublayer renderer should use 2D symbols");break}this._setAndNotifyLayer("renderer",e)}get source(){return this._get("source")||new G.f({mapLayerId:this.id})}set source(e){this._setAndNotifyLayer("source",e)}set sublayers(e){this._handleSublayersChange(e,this._get("sublayers")),this._set("sublayers",e)}castSublayers(e){return(0,g.dp)(n.A.ofType(D),e)}writeSublayers(e,t,r){this.sublayers?.length&&(t[r]=this.sublayers.map(e=>e.id).toArray().reverse())}readTitle(e,t){return t.layerDefinition?.name??t.name}readTypeIdField(e,t){let r=(t=t.layerDefinition||t).typeIdField;if(r&&t.fields){r=r.toLowerCase();const e=t.fields.find(e=>e.name.toLowerCase()===r);e&&(r=e.name)}return r}get url(){const e=this.layer?.parsedUrl??this._lastParsedUrl,t=this.source;if(!e)return null;if(this._lastParsedUrl=e,"map-layer"===t?.type)return`${e.path}/${t.mapLayerId}`;const r={layer:JSON.stringify({source:this.source})};return`${e.path}/dynamicLayer?${(0,f.x0)(r)}`}set url(e){this._overrideIfSome("url",e)}set visible(e){this._setAndNotifyLayer("visible",e)}writeVisible(e,t,r,i){t[r]=this.getAtOrigin("defaultVisibility","service")||e}clone(){const{store:e}=(0,w.oY)(this),t=new D;return(0,w.oY)(t).store=e.clone(de),this.commitProperty("url"),t._lastParsedUrl=this._lastParsedUrl,t}createPopupTemplate(e){return(0,H.tn)(this,e)}createQuery(){return new Y.A({returnGeometry:!0,where:this.definitionExpression||"1=1"})}async createFeatureLayer(){if(this.hasOwnProperty("sublayers"))return null;const e=(await Promise.all([r.e(7330),r.e(9953),r.e(1017),r.e(9708),r.e(8654),r.e(6647),r.e(7694)]).then(r.bind(r,68654))).default,{layer:t,url:i}=this;let s;if(i&&this.originIdOf("url")>2)s=new e({url:i});else{if(!t?.parsedUrl)throw new a.A("createFeatureLayer:missing-information","Cannot create a FeatureLayer without a url or a parent layer");{const r=t.parsedUrl;s=new e({url:r.path}),r&&this.source&&("map-layer"===this.source.type?s.layerId=this.source.mapLayerId:s.dynamicDataSource=this.source)}}return null!=t?.refreshInterval&&(s.refreshInterval=t.refreshInterval),this.definitionExpression&&(s.definitionExpression=this.definitionExpression),this.floorInfo&&(s.floorInfo=(0,d.o8)(this.floorInfo)),this.originIdOf("labelingInfo")>2&&(s.labelingInfo=(0,d.o8)(this.labelingInfo)),this.originIdOf("labelsVisible")>0&&(s.labelsVisible=this.labelsVisible),this.originIdOf("legendEnabled")>0&&(s.legendEnabled=this.legendEnabled),this.originIdOf("visible")>0&&(s.visible=this.visible),this.originIdOf("minScale")>0&&(s.minScale=this.minScale),this.originIdOf("maxScale")>0&&(s.maxScale=this.maxScale),this.originIdOf("opacity")>0&&(s.opacity=this.opacity),this.originIdOf("popupTemplate")>0&&(s.popupTemplate=(0,d.o8)(this.popupTemplate)),this.originIdOf("renderer")>2&&(s.renderer=(0,d.o8)(this.renderer)),"data-layer"===this.source?.type&&(s.dynamicDataSource=this.source.clone()),this.originIdOf("title")>0&&(s.title=this.title),"map-image"===t?.type&&t.originIdOf("customParameters")>0&&(s.customParameters=t.customParameters),"tile"===t?.type&&t.originIdOf("customParameters")>0&&(s.customParameters=t.customParameters),s}getField(e){return this.fieldsIndex.get(e)}getFeatureType(e){return(0,L.xd)(this.types,this.typeIdField,e)}getFieldDomain(e,t){const r=t?.feature,i=this.getFeatureType(r);if(i){const t=i.domains&&i.domains[e];if(t&&"inherited"!==t.type)return t}return this._getLayerDomain(e)}async queryAttachments(e,t){await this.load();let r=U.A.from(e);const i=this.capabilities;if(!i?.data?.supportsAttachment)throw new a.A("queryAttachments:not-supported","this layer doesn't support attachments");const{attachmentTypes:s,objectIds:o,globalIds:n,num:l,size:u,start:d,where:c}=r;if(!i?.operations?.supportsQueryAttachments&&(s?.length>0||n?.length>0||u?.length>0||l||d||c))throw new a.A("queryAttachments:option-not-supported","when 'capabilities.operations.supportsQueryAttachments' is false, only objectIds is supported",r);if(!(o?.length||n?.length||c))throw new a.A("queryAttachments:invalid-query","'objectIds', 'globalIds', or 'where' are required to perform attachment query",r);return!i?.attachment?.supportsOrderByFields&&r.orderByFields?.length&&(r=r.clone(),r.orderByFields=null),this.queryTask.executeAttachmentQuery(r,t)}async queryFeatureCount(e=this.createQuery(),t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new a.A("queryFeatureCount:not-supported","this layer doesn't support queries.");if(!this.url)throw new a.A("queryFeatureCount:not-supported","this layer has no url.");const r=this.layer?.apiKey;return await this.queryTask.executeForCount(e,{...t,query:{...this.layer?.customParameters,token:r}})}async queryFeatures(e=this.createQuery(),t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new a.A("queryFeatures:not-supported","this layer doesn't support queries.");if(!this.url)throw new a.A("queryFeatures:not-supported","this layer has no url.");const r=await this.queryTask.execute(e,{...t,query:{...this.layer?.customParameters,token:this.layer?.apiKey}});if(r?.features){const e=this.graphicOrigin;for(const t of r.features)t.sourceLayer=this,t.origin=e}return r}async queryObjectIds(e=this.createQuery(),t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new a.A("queryObjectIds:not-supported","this layer doesn't support queries.");if(!this.url)throw new a.A("queryObjectIds:not-supported","this layer has no url.");const r=this.layer?.apiKey;return await this.queryTask.executeForIds(e,{...t,query:{...this.layer?.customParameters,token:r}})}async queryRelatedFeatures(e,t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new a.A("queryRelatedFeatures:not-supported","this layer doesn't support queries.");if(!this.url)throw new a.A("queryRelatedFeatures:not-supported","this layer has no url.");const r=this.layer?.apiKey;return await this.queryTask.executeRelationshipQuery(e,{...t,query:{...this.layer?.customParameters,token:r}})}async queryRelatedFeaturesCount(e,t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new a.A("queryRelatedFeaturesCount:not-supported","this layer doesn't support queries.");if(!this.capabilities.queryRelated.supportsCount)throw new a.A("queryRelatedFeaturesCount:not-supported","this layer doesn't support query related counts.");if(!this.url)throw new a.A("queryRelatedFeaturesCount:not-supported","this layer has no url.");const r=this.layer?.apiKey;return await this.queryTask.executeRelationshipQueryForCount(e,{...t,query:{...this.layer?.customParameters,token:r}})}async reload(e){if("not-loaded"===this.loadStatus)return this.load(e).then(()=>{});const{layer:t,url:r}=this;if(!t&&!r)throw new a.A("sublayer:missing-layer","Sublayer can't be loaded without being part of a layer",{sublayer:this});const i=t?await t.fetchSublayerInfo(this,e):(await(0,o.A)(r,{query:{f:"json"},...e})).data;if(this.loaded&&this.originIdOf("url")>2){const e=new Set(["drawingInfo","maxScale","minScale","name"]);if(null!=i)for(const t of Object.keys(i))e.has(t)&&delete i[t]}i&&(this.sourceJSON={...this.sourceJSON,...i},this.read({layerDefinition:i},{origin:"service",layer:t,url:(0,K.Dl)(r)}))}toExportImageJSON(e){const t={id:this.id,source:this.source?.toJSON()||{mapLayerId:this.id,type:"mapLayer"}},r=(0,h.mA)(e,this.definitionExpression);null!=r&&(t.definitionExpression=r);const i=["renderer","labelingInfo","opacity","labelsVisible"].reduce((e,t)=>(e[t]=this.originIdOf(t),e),{}),s=Object.keys(i).some(e=>i[e]>2);if(s){const e=t.drawingInfo={};if(i.renderer>2&&(e.renderer=this.renderer?this.renderer.toJSON():null),i.labelsVisible>2&&(e.showLabels=this.labelsVisible),this.labelsVisible&&i.labelingInfo>2)if(this.labelingInfo){!this.loaded&&this.labelingInfo?.some(e=>!e.labelPlacement)&&p.A.getLogger(this).warnOnce(`A Sublayer (title: ${this.title}, id: ${this.id}) has an undefined 'labelPlacement' and so labels cannot be displayed. Either define a valid 'labelPlacement' or call Sublayer.load() to use a default value based on geometry type.`,{sublayer:this});let t=this.labelingInfo;null!=this.geometryType&&(t=(0,N.z)(this.labelingInfo,_.gy.toJSON(this.geometryType))),e.showLabels=!0,e.labelingInfo=t.filter(e=>e.labelPlacement).map(e=>e.toJSON({origin:"service",layer:this.layer}))}else e.showLabels=!1;i.opacity>2&&(e.transparency=100-100*this.opacity),this._assignDefaultSymbolColors(e.renderer)}return(this.layer?.capabilities?.exportMap?.supportsSublayerOrderBy??!1)&&this.originIdOf("orderBy")>2&&(t.orderBy=this.orderBy?.map(e=>e.toJSON())??null),t}_assignDefaultSymbolColors(e){this._forEachSimpleMarkerSymbols(e,e=>{e.color||"esriSMSX"!==e.style&&"esriSMSCross"!==e.style||(e.outline?.color?e.color=e.outline.color:e.color=[0,0,0,0])})}_forEachSimpleMarkerSymbols(e,t){if(e){const r=("uniqueValueInfos"in e?e.uniqueValueInfos:"classBreakInfos"in e?e.classBreakInfos:null)??[];for(const e of r)re(e.symbol)&&t(e.symbol);"symbol"in e&&re(e.symbol)&&t(e.symbol),"defaultSymbol"in e&&re(e.defaultSymbol)&&t(e.defaultSymbol)}}_setAndNotifyLayer(e,t){const r=this.layer,i=this._get(e);let s,o;switch(e){case"definitionExpression":case"floorInfo":s="supportsSublayerDefinitionExpression";break;case"minScale":case"maxScale":case"visible":s="supportsSublayerVisibility";break;case"labelingInfo":case"labelsVisible":case"opacity":case"renderer":case"source":s="supportsDynamicLayers",o="supportsModification";break;case"orderBy":s="supportsSublayerOrderBy",o="supportsModification"}const n=(0,w.oY)(this).getDefaultOrigin();if("service"!==n){if(s&&!1===this.layer?.capabilities?.exportMap?.[s])return void this._logLockedError(e,`capability not available 'layer.capabilities.exportMap.${s}'`);if(o&&!1===this.capabilities?.exportMap[o])return void this._logLockedError(e,`capability not available 'capabilities.exportMap.${o}'`)}"source"!==e||"not-loaded"===this.loadStatus?(this._set(e,t),"service"!==n&&i!==t&&r?.emit&&r.emit("sublayer-update",{propertyName:e,target:this})):this._logLockedError(e,"'source' can't be changed after calling sublayer.load()")}_handleSublayersChange(e,t){t&&(t.forEach(e=>{e.parent=null,e.layer=null}),this.removeAllHandles()),e&&(e.forEach(e=>{e.parent=this,e.layer=this.layer}),this.addHandles([e.on("after-add",({item:e})=>{e.parent=this,e.layer=this.layer}),e.on("after-remove",({item:e})=>{e.parent=null,e.layer=null}),e.on("before-changes",e=>{(this.layer?.capabilities?.exportMap?.supportsSublayersChanges??1)||(p.A.getLogger(this).error(new a.A("sublayer:sublayers-non-modifiable","Sublayer can't be added, moved, or removed from the layer's sublayers",{sublayer:this,layer:this.layer})),e.preventDefault())})]))}_logLockedError(e,t){const{layer:r,declaredClass:i}=this;p.A.getLogger(i).error(new a.A("sublayer:locked",`Property '${String(e)}' can't be changed on Sublayer from the layer '${r?.id}'`,{reason:t,sublayer:this,layer:r}))}_getLayerDomain(e){return this.fieldsIndex.get(e)?.domain??null}static{this.test={isMapImageLayerOverridePolicy:e=>e===ae||e===ne||e===se,isTileImageLayerOverridePolicy:e=>e===oe}}};(0,i.Cg)([(0,m.MZ)({type:W.A,json:{name:"attributeTableInfo",write:{overridePolicy:se},origins:{"web-scene":{write:!1}}}})],ce.prototype,"attributeTableTemplate",void 0),(0,i.Cg)([(0,m.MZ)({readOnly:!0})],ce.prototype,"capabilities",void 0),(0,i.Cg)([(0,ee.w)("service","capabilities",["layerDefinition.canModifyLayer","layerDefinition.capabilities"])],ce.prototype,"readCapabilities",null),(0,i.Cg)([(0,m.MZ)()],ce.prototype,"defaultPopupTemplate",null),(0,i.Cg)([(0,m.MZ)({type:String,value:null,json:{name:"layerDefinition.definitionExpression",write:{allowNull:!0,overridePolicy:se}}})],ce.prototype,"definitionExpression",null),(0,i.Cg)([(0,m.MZ)({readOnly:!0})],ce.prototype,"effectiveScaleRange",null),(0,i.Cg)([(0,ee.w)("service","maxScaleRange",["minScale","maxScale"])],ce.prototype,"readMaxScaleRange",null),(0,i.Cg)([(0,m.MZ)({type:[E.A],json:{origins:{service:{read:{source:"layerDefinition.fields"}}}}})],ce.prototype,"fields",void 0),(0,i.Cg)([(0,m.MZ)({readOnly:!0})],ce.prototype,"fieldsIndex",null),(0,i.Cg)([(0,m.MZ)({type:k.A,value:null,json:{name:"layerDefinition.floorInfo",read:{source:"layerDefinition.floorInfo"},write:{target:"layerDefinition.floorInfo",overridePolicy:se},origins:{"web-scene":{read:!1,write:!1}}}})],ce.prototype,"floorInfo",null),(0,i.Cg)([(0,m.MZ)({type:v.A,json:{read:{source:"layerDefinition.extent"}}})],ce.prototype,"fullExtent",void 0),(0,i.Cg)([(0,m.MZ)({type:_.gy.apiValues,json:{origins:{service:{name:"layerDefinition.geometryType",read:{reader:_.gy.read}}}}})],ce.prototype,"geometryType",void 0),(0,i.Cg)([(0,m.MZ)({type:String})],ce.prototype,"globalIdField",void 0),(0,i.Cg)([(0,ee.w)("service","globalIdField",["layerDefinition.globalIdField","layerDefinition.fields"])],ce.prototype,"readGlobalIdFieldFromService",null),(0,i.Cg)([(0,m.MZ)({readOnly:!0})],ce.prototype,"graphicOrigin",null),(0,i.Cg)([(0,m.MZ)({type:g.jz,json:{write:{ignoreOrigin:!0}}})],ce.prototype,"id",null),(0,i.Cg)([(0,m.MZ)({readOnly:!0})],ce.prototype,"isTable",void 0),(0,i.Cg)([(0,ee.w)("service","isTable",["type"])],ce.prototype,"readIsTable",null),(0,i.Cg)([(0,m.MZ)({value:null,type:[V.A],json:{read:{source:"layerDefinition.drawingInfo.labelingInfo"},write:{target:"layerDefinition.drawingInfo.labelingInfo",overridePolicy:ae}}})],ce.prototype,"labelingInfo",null),(0,i.Cg)([(0,te.K)("labelingInfo")],ce.prototype,"writeLabelingInfo",null),(0,i.Cg)([(0,m.MZ)({type:Boolean,value:!0,json:{read:{source:"layerDefinition.drawingInfo.showLabels"},write:{target:"layerDefinition.drawingInfo.showLabels",overridePolicy:ne}}})],ce.prototype,"labelsVisible",null),(0,i.Cg)([(0,m.MZ)({value:null})],ce.prototype,"layer",null),(0,i.Cg)([(0,m.MZ)({type:String,json:{write:{overridePolicy:oe}}})],ce.prototype,"layerItemId",void 0),(0,i.Cg)([(0,m.MZ)({type:Boolean,value:!0,json:{origins:{service:{read:{enabled:!1}}},read:{source:"showLegend"},write:{target:"showLegend",overridePolicy:le}}})],ce.prototype,"legendEnabled",void 0),(0,i.Cg)([(0,m.MZ)({type:["show","hide","hide-children"],value:"show",json:{read:!1,write:!1,origins:{"web-scene":{read:!0,write:!0}}}})],ce.prototype,"listMode",null),(0,i.Cg)([(0,m.MZ)({type:Number,value:0,json:{write:{overridePolicy:ne}}})],ce.prototype,"minScale",null),(0,i.Cg)([(0,ee.w)("minScale",["minScale","layerDefinition.minScale"])],ce.prototype,"readMinScale",null),(0,i.Cg)([(0,m.MZ)({type:Number,value:0,json:{write:{overridePolicy:ne}}})],ce.prototype,"maxScale",null),(0,i.Cg)([(0,ee.w)("maxScale",["maxScale","layerDefinition.maxScale"])],ce.prototype,"readMaxScale",null),(0,i.Cg)([(0,m.MZ)()],ce.prototype,"objectIdField",void 0),(0,i.Cg)([(0,ee.w)("service","objectIdField",["layerDefinition.objectIdField","layerDefinition.fields"])],ce.prototype,"readObjectIdFieldFromService",null),(0,i.Cg)([(0,m.MZ)({type:Number,value:1,json:{write:{target:"layerDefinition.drawingInfo.transparency",overridePolicy:ne}}})],ce.prototype,"opacity",null),(0,i.Cg)([(0,ee.w)("opacity",["layerDefinition.drawingInfo.transparency","layerDefinition.transparency"])],ce.prototype,"readOpacity",null),(0,i.Cg)([(0,te.K)("opacity")],ce.prototype,"writeOpacity",null),(0,i.Cg)([(0,m.MZ)({value:null,type:[$.A],json:{name:"layerDefinition.orderBy",read:{reader:Z.Rr},write:{overridePolicy:se},origins:{"web-scene":{read:!1,write:!1}}}})],ce.prototype,"orderBy",null),(0,i.Cg)([(0,m.MZ)({json:{type:g.jz,write:{target:"parentLayerId",writerEnsuresNonNull:!0,overridePolicy:ne}}})],ce.prototype,"parent",void 0),(0,i.Cg)([(0,te.K)("parent")],ce.prototype,"writeParent",null),(0,i.Cg)([(0,m.MZ)({type:Boolean,value:!0,json:{read:{source:"disablePopup",reader:(e,t)=>!t.disablePopup},write:{target:"disablePopup",overridePolicy:le,writer(e,t,r){t[r]=!e}}}})],ce.prototype,"popupEnabled",void 0),(0,i.Cg)([(0,m.MZ)({type:s.A,json:{read:{source:"popupInfo"},write:{target:"popupInfo",overridePolicy:le}}})],ce.prototype,"popupTemplate",void 0),(0,i.Cg)([(0,m.MZ)({readOnly:!0})],ce.prototype,"queryTask",null),(0,i.Cg)([(0,m.MZ)({type:[B.A],readOnly:!0,json:{origins:{service:{read:{source:"layerDefinition.relationships"}}}}})],ce.prototype,"relationships",void 0),(0,i.Cg)([(0,m.MZ)({types:J.Hg,value:null,json:{name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy:ae},origins:{"web-scene":{types:J.XJ,name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy:ae}}}}})],ce.prototype,"renderer",null),(0,i.Cg)([(0,m.MZ)({types:{key:"type",base:null,typeMap:{"data-layer":z.L,"map-layer":G.f}},cast(e){if(e){if("mapLayerId"in e)return(0,g.PZ)(G.f,e);if("dataSource"in e)return(0,g.PZ)(z.L,e)}return e},json:{name:"layerDefinition.source",write:{overridePolicy:ne}}})],ce.prototype,"source",null),(0,i.Cg)([(0,m.MZ)()],ce.prototype,"sourceJSON",void 0),(0,i.Cg)([(0,m.MZ)({type:S.A,json:{origins:{service:{read:{source:"layerDefinition.extent.spatialReference"}}}}})],ce.prototype,"spatialReference",void 0),(0,i.Cg)([(0,m.MZ)({value:null,json:{type:[g.jz],write:{target:"subLayerIds",allowNull:!0,overridePolicy:ne}}})],ce.prototype,"sublayers",null),(0,i.Cg)([(0,m.wg)("sublayers")],ce.prototype,"castSublayers",null),(0,i.Cg)([(0,te.K)("sublayers")],ce.prototype,"writeSublayers",null),(0,i.Cg)([(0,m.MZ)({type:String,json:{name:"name",write:{overridePolicy:le}}})],ce.prototype,"title",void 0),(0,i.Cg)([(0,ee.w)("service","title",["name","layerDefinition.name"])],ce.prototype,"readTitle",null),(0,i.Cg)([(0,m.MZ)({type:String})],ce.prototype,"typeIdField",void 0),(0,i.Cg)([(0,m.MZ)({json:{read:!1},readOnly:!0,value:"sublayer"})],ce.prototype,"type",void 0),(0,i.Cg)([(0,ee.w)("typeIdField",["layerDefinition.typeIdField"])],ce.prototype,"readTypeIdField",null),(0,i.Cg)([(0,m.MZ)({type:[j.A],json:{origins:{service:{read:{source:"layerDefinition.types"}}}}})],ce.prototype,"types",void 0),(0,i.Cg)([(0,m.MZ)({type:String,json:{name:"layerUrl",write:{overridePolicy:oe}}})],ce.prototype,"url",null),(0,i.Cg)([(0,m.MZ)({type:Boolean,value:!0,json:{read:{source:"defaultVisibility"},write:{target:"defaultVisibility",overridePolicy:ne}}})],ce.prototype,"visible",null),(0,i.Cg)([(0,te.K)("visible")],ce.prototype,"writeVisible",null),ce=D=(0,i.Cg)([(0,m.$K)("esri.layers.support.Sublayer")],ce)},20615:(e,t,r)=>{r.d(t,{I:()=>n});var i=r(2272),s=r(80893),o=r(61956);function n(e,t,r,n){return(0,s.gW)((0,i.Dl)(e),o.A.from(t),r,n)}},29005:(e,t,r)=>{r.d(t,{A:()=>u});var i=r(31635),s=r(69540),o=r(66552),n=r(25482),a=r(91429);const l=new o.J({esriFeatureEditToolAutoCompletePolygon:"auto-complete-polygon",esriFeatureEditToolCircle:"circle",esriFeatureEditToolEllipse:"ellipse",esriFeatureEditToolFreehand:"freehand",esriFeatureEditToolLine:"line",esriFeatureEditToolNone:"none",esriFeatureEditToolPoint:"point",esriFeatureEditToolPolygon:"polygon",esriFeatureEditToolRectangle:"rectangle",esriFeatureEditToolArrow:"arrow",esriFeatureEditToolTriangle:"triangle",esriFeatureEditToolLeftArrow:"left-arrow",esriFeatureEditToolRightArrow:"right-arrow",esriFeatureEditToolUpArrow:"up-arrow",esriFeatureEditToolDownArrow:"down-arrow"});let u=class extends((0,s.OU)(n.o)){constructor(e){super(e),this.name=null,this.description=null,this.drawingTool=null,this.prototype=null,this.thumbnail=null}};(0,i.Cg)([(0,a.MZ)({json:{write:!0}})],u.prototype,"name",void 0),(0,i.Cg)([(0,a.MZ)({json:{write:!0}})],u.prototype,"description",void 0),(0,i.Cg)([(0,a.MZ)({json:{read:l.read,write:l.write}})],u.prototype,"drawingTool",void 0),(0,i.Cg)([(0,a.MZ)({json:{write:!0}})],u.prototype,"prototype",void 0),(0,i.Cg)([(0,a.MZ)({json:{write:!0}})],u.prototype,"thumbnail",void 0),u=(0,i.Cg)([(0,a.$K)("esri.layers.support.FeatureTemplate")],u)},32730:(e,t,r)=>{r.d(t,{BI:()=>m,D3:()=>h,XJ:()=>f,lc:()=>y,mX:()=>b,rU:()=>g,tH:()=>I});var i=r(799);const s="__begin__",o="__end__",n=new RegExp(s,"ig"),a=new RegExp(o,"ig"),l=new RegExp("^"+s,"i"),u=new RegExp(o+"$","i"),d='"',c=d+" + ",p=" + "+d;function y(e){return e.replaceAll(new RegExp("\\[","g"),"{").replaceAll(new RegExp("\\]","g"),"}")}function h(e){return e.replaceAll(new RegExp("\\{","g"),"[").replaceAll(new RegExp("\\}","g"),"]")}function f(e){const t={expression:"",type:"none"};return e.labelExpressionInfo?e.labelExpressionInfo.value?(t.expression=e.labelExpressionInfo.value,t.type="conventional"):e.labelExpressionInfo.expression&&(t.expression=e.labelExpressionInfo.expression,t.type="arcade"):null!=e.labelExpression&&(t.expression=y(e.labelExpression),t.type="conventional"),t}function m(e){const t=f(e);if(!t)return null;switch(t.type){case"conventional":return b(t.expression);case"arcade":return t.expression}return null}function g(e){const t=f(e);if(!t)return null;switch(t.type){case"conventional":return function(e){const t=e?.match(w);return t?.[1].trim()||null}(t.expression);case"arcade":return I(t.expression)}return null}function b(e){let t;return e?(t=(0,i.HC)(e,e=>s+'$feature["'+e+'"]'+o),t=l.test(t)?t.replace(l,""):d+t,t=u.test(t)?t.replace(u,""):t+d,t=t.replaceAll(n,c).replaceAll(a,p)):t='""',t}const w=/^\s*\{([^}]+)\}\s*$/i,v=/^\s*(?:(?:\$feature\.(\w+))|(?:\$feature\[(["'])(.+)(\2)\]));?\s*$/i,S=/^\s*(?:(?:\$feature\.(\w+))|(?:\$feature\[(["'])(.+)(\2)\]));?\s*(?:DomainName\(\s*\$feature\s*,\s*(["'])(\1|\3)(\5)\s*\));?\s*$/i,_=/^\s*(?:DomainName\(\s*\$feature\s*,\s*(["'])(.+)(\1)\s*\));?\s*$/i;function I(e){if(!e)return null;let t=v.exec(e)||S.exec(e);return t?t[1]||t[3]:(t=_.exec(e),t?t[2]:null)}},32756:(e,t,r)=>{r.d(t,{Rr:()=>a,fY:()=>u,ne:()=>l});var i=r(31635),s=r(93637),o=r(91429),n=r(91880);function a(e,t,r){if(!e)return null;const i=e.find(e=>!!e.field);if(!i)return null;const s=new n.A;return s.read(i,r),[s]}const l={type:[n.A],json:{origins:{"web-scene":{write:!1,read:!1}},name:"layerDefinition.orderBy",read:{reader:a},write:{writer:function(e,t,r,i){const o=e.find(e=>!!e.field);o&&(0,s.sM)(r,[o.toJSON()],t)}}}},u=e=>{const t=e;let r=class extends t{constructor(){super(...arguments),this.orderBy=null}};return(0,i.Cg)([(0,o.MZ)(l)],r.prototype,"orderBy",void 0),r=(0,i.Cg)([(0,o.$K)("esri.layers.mixins.OrderedLayer")],r),r}},33143:(e,t,r)=>{r.d(t,{A:()=>c});var i=r(31635),s=r(69540),o=r(25482),n=r(91429),a=r(8631),l=r(29005),u=r(36005),d=r(43937);let c=class extends((0,s.OU)(o.o)){constructor(e){super(e),this.id=null,this.name=null,this.domains=null,this.templates=null}readDomains(e){const t={};for(const r of Object.keys(e))t[r]=(0,a.rS)(e[r]);return t}writeDomains(e,t){const r={};for(const t of Object.keys(e))e[t]&&(r[t]=e[t]?.toJSON());t.domains=r}};(0,i.Cg)([(0,n.MZ)({json:{write:!0}})],c.prototype,"id",void 0),(0,i.Cg)([(0,n.MZ)({json:{write:!0}})],c.prototype,"name",void 0),(0,i.Cg)([(0,n.MZ)({json:{write:!0}})],c.prototype,"domains",void 0),(0,i.Cg)([(0,u.w)("domains")],c.prototype,"readDomains",null),(0,i.Cg)([(0,d.K)("domains")],c.prototype,"writeDomains",null),(0,i.Cg)([(0,n.MZ)({type:[l.A],json:{write:!0}})],c.prototype,"templates",void 0),c=(0,i.Cg)([(0,n.$K)("esri.layers.support.FeatureType")],c)},33446:(e,t,r)=>{r.d(t,{C:()=>n,m:()=>o});var i=r(49186),s=r(74887);async function o(e,t,r){let o;try{o=await createImageBitmap(e)}catch(e){throw new i.A("request:server",`Unable to load ${t}`,{url:t,error:e})}return(0,s.Te)(r),o}async function n(e,t,r,o,n){let a;try{a=await createImageBitmap(e)}catch(e){throw new i.A("request:server",`Unable to load tile ${t}/${r}/${o}`,{error:e,level:t,row:r,col:o})}return(0,s.Te)(n),a}},37352:(e,t,r)=>{r.d(t,{A:()=>l});var i,s=r(31635),o=r(7762),n=r(25482),a=r(91429);let l=i=class extends n.o{constructor(e){super(e),this.floorField=null,this.viewAllMode=!1,this.viewAllLevelIds=new o.A}clone(){return new i({floorField:this.floorField,viewAllMode:this.viewAllMode,viewAllLevelIds:this.viewAllLevelIds})}};(0,s.Cg)([(0,a.MZ)({type:String,json:{write:{isRequired:!0}}})],l.prototype,"floorField",void 0),(0,s.Cg)([(0,a.MZ)({json:{read:!1,write:!1}})],l.prototype,"viewAllMode",void 0),(0,s.Cg)([(0,a.MZ)({json:{read:!1,write:!1}})],l.prototype,"viewAllLevelIds",void 0),l=i=(0,s.Cg)([(0,a.$K)("esri.layers.support.LayerFloorInfo")],l)},38961:(e,t,r)=>{r.d(t,{A:()=>d});var i=r(31635),s=r(7762),o=r(36708),n=r(10107),a=r(64108),l=r(80559);let u=class extends s.A{constructor(e){super(e),this.getCollections=null}initialize(){this.addHandles((0,l.fm)(()=>this._refresh(),o.OH))}destroy(){this.getCollections=null}_refresh(){const e=this.getCollections?.();if(null==e)return void this.removeAll();let t=0;for(const r of e)null!=r&&(t=this._processCollection(t,r));this.splice(t)}_createNewInstance(e){return new s.A(e)}_processCollection(e,t){if(!t)return e;const r=this.itemFilterFunction??(e=>!!e);for(const i of t)if(i){if(r(i)){const t=this.indexOf(i,e);t>=0?t!==e&&this.reorder(i,e):this.add(i,e),++e}if(this.getChildrenFunction){const t=this.getChildrenFunction(i);if(Array.isArray(t))for(const r of t)e=this._processCollection(e,r);else e=this._processCollection(e,t)}}return e}};(0,i.Cg)([(0,n.MZ)()],u.prototype,"getCollections",void 0),(0,i.Cg)([(0,n.MZ)()],u.prototype,"getChildrenFunction",void 0),(0,i.Cg)([(0,n.MZ)()],u.prototype,"itemFilterFunction",void 0),u=(0,i.Cg)([(0,a.$)("esri.core.CollectionFlattener")],u);const d=u},41366:(e,t,r)=>{r.d(t,{K:()=>c,Q:()=>l});var i=r(31635),s=r(66552),o=r(53966),n=r(91429),a=r(93223);const l=(0,s.O)()({naturalLog:"natural-log",squareRoot:"square-root",percentOfTotal:"percent-of-total",log:"log",field:"field"}),u="percent-of-total",d="field",c=e=>{const t=e;let r=class extends t{constructor(){super(...arguments),this.normalizationField=null,this.normalizationMaxValue=null,this.normalizationMinValue=null,this.normalizationTotal=null}get normalizationType(){let e=this._get("normalizationType");const t=!!this.normalizationField,r=null!=this.normalizationTotal;return t||r?(e=t&&d||r&&u||null,t&&r&&o.A.getLogger(this).warn("warning: both normalizationField and normalizationTotal are set!")):e!==d&&e!==u||(e=null),e}set normalizationType(e){this._set("normalizationType",e)}};return(0,i.Cg)([(0,n.MZ)({type:String,json:{name:"parameters.normalizationField",write:!0}})],r.prototype,"normalizationField",void 0),(0,i.Cg)([(0,n.MZ)({type:Number,json:{name:"parameters.normalizationMaxValue",write:!0}})],r.prototype,"normalizationMaxValue",void 0),(0,i.Cg)([(0,n.MZ)({type:Number,json:{name:"parameters.normalizationMinValue",write:!0}})],r.prototype,"normalizationMinValue",void 0),(0,i.Cg)([(0,n.MZ)({type:Number,json:{name:"parameters.normalizationTotal",write:!0}})],r.prototype,"normalizationTotal",void 0),(0,i.Cg)([(0,a.e)(l,{name:"parameters.normalizationType"})],r.prototype,"normalizationType",null),r=(0,i.Cg)([(0,n.$K)("esri.rest.support.NormalizationBinParametersMixin")],r),r}},45067:(e,t,r)=>{r.d(t,{A:()=>d});var i=r(31635),s=r(69540),o=r(66552),n=r(25482),a=r(91429);const l=new o.J({esriRelCardinalityOneToOne:"one-to-one",esriRelCardinalityOneToMany:"one-to-many",esriRelCardinalityManyToMany:"many-to-many"}),u=new o.J({esriRelRoleOrigin:"origin",esriRelRoleDestination:"destination"});let d=class extends((0,s.OU)(n.o)){constructor(e){super(e),this.cardinality=null,this.catalogId=null,this.composite=null,this.id=null,this.keyField=null,this.keyFieldInRelationshipTable=null,this.name=null,this.relatedTableId=null,this.relationshipTableId=null,this.role=null}};(0,i.Cg)([(0,a.MZ)({json:{read:l.read,write:l.write}})],d.prototype,"cardinality",void 0),(0,i.Cg)([(0,a.MZ)({json:{name:"catalogID"}})],d.prototype,"catalogId",void 0),(0,i.Cg)([(0,a.MZ)({json:{read:!0,write:!0}})],d.prototype,"composite",void 0),(0,i.Cg)([(0,a.MZ)({json:{read:!0,write:!0}})],d.prototype,"id",void 0),(0,i.Cg)([(0,a.MZ)({json:{read:!0,write:!0}})],d.prototype,"keyField",void 0),(0,i.Cg)([(0,a.MZ)({json:{read:!0,write:!0}})],d.prototype,"keyFieldInRelationshipTable",void 0),(0,i.Cg)([(0,a.MZ)({json:{read:!0,write:!0}})],d.prototype,"name",void 0),(0,i.Cg)([(0,a.MZ)({json:{read:!0,write:!0}})],d.prototype,"relatedTableId",void 0),(0,i.Cg)([(0,a.MZ)({json:{read:!0,write:!0}})],d.prototype,"relationshipTableId",void 0),(0,i.Cg)([(0,a.MZ)({json:{read:u.read,write:u.write}})],d.prototype,"role",void 0),d=(0,i.Cg)([(0,a.$K)("esri.layers.support.Relationship")],d)},46140:(e,t,r)=>{r.d(t,{R:()=>s});var i=r(49186);let s=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[s,o]=t.split("."),n=/^\s*\d+\s*$/;if(!s?.match||!n.test(s))throw new i.A((r&&r+":")+"invalid-version","Expected major version to be a number, but got '${version}'",{version:t});if(!o?.match||!n.test(o))throw new i.A((r&&r+":")+"invalid-version","Expected minor version to be a number, but got '${version}'",{version:t});const a=parseInt(s,10),l=parseInt(o,10);return new e(a,l,r)}}},52136:(e,t,r)=>{r.d(t,{p:()=>o});var i=r(31635),s=r(91429);const o=e=>{const t=e;let r=class extends t{get apiKey(){return this._isOverridden("apiKey")?this._get("apiKey"):"portalItem"in this?this.portalItem?.apiKey:null}set apiKey(e){null!=e?this._override("apiKey",e):(this._clearOverride("apiKey"),this.clear("apiKey","user"))}};return(0,i.Cg)([(0,s.MZ)({type:String})],r.prototype,"apiKey",null),r=(0,i.Cg)([(0,s.$K)("esri.layers.mixins.APIKeyMixin")],r),r}},55674:(e,t,r)=>{r.d(t,{Ad:()=>y,Gj:()=>m,QY:()=>p,lL:()=>g,xR:()=>h});var i=r(66131),s=r(49186),o=(r(44208),r(44729)),n=r(15032),a=r(65864),l=r(95466),u=r(43668),d=r(98623);const c=["geometry","scale","timeProperties"];function p(e,t){if(null!=t)for(const r of c)t.hasArcadeDependency(r)&&e.add(r);return e}function y(e,t){return f.create(e,t,null,["$feature","$view"])}function h(e,t,r){return f.create(e,t,r,["$feature","$view","$config"])}class f{static async create(e,t,r,i){const{arcade:o,Dictionary:n}=await(0,u.l)();let a;try{a=o.parseScript(e)}catch(t){throw new s.A("arcade-bad-expression","Failed to parse arcade script",{script:e,error:t})}const l=o.scriptUsesGeometryEngine(a);l&&await o.enableGeometrySupport(),await o.loadDependentModules(new Set,a,null,!1,l);const d={vars:i.reduce((e,t)=>({...e,[t]:null}),{}),spatialReference:t,useAsync:!1},c=o.compileScript(a,d);let p=null;null!=r&&(p=new n(r),p.immutable=!0);const y=new n;return y.immutable=!1,y.setField("scale",0),new f(e,o,a,c,t,y,p,n)}constructor(e,t,r,i,s,o,n,a){this.script=e,this._arcade=t,this._syntaxTree=r,this._compiled=i,this._spatialReference=s,this._viewDict=o,this._configDict=n,this._dictionaryCtor=a,this._dependencies=new Map,this._featureReader=new m,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:s,currentEnd:o}=t.$view.timeProperties;e=new this._dictionaryCtor({currentStart:null!=s?null!=r?i.lY.epochToArcadeDate(s,r):i.lY.unknownEpochToArcadeDate(s):void 0,currentEnd:null!=o?null!=r?i.lY.epochToArcadeDate(o,r):i.lY.unknownEpochToArcadeDate(o):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 m{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)===d.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 o.n.fromReader(t);case"time-only":case"esriFieldTypeTimeOnly":return n.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??d.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}},58501:(e,t,r)=>{r.d(t,{q:()=>s});var i=r(62815);function s(e,t,r){if(!r?.features||!r.hasZ)return;const s=(0,i.N)(r.geometryType,t,e.outSpatialReference);if(s)for(const e of r.features)s(e.geometry)}},63389:(e,t,r)=>{function i(e,t,r){const i=t.flatten(({sublayers:e})=>e).length;return i!==e.length||!!e.some(e=>e.originIdOf("minScale")>r||e.originIdOf("maxScale")>r||e.originIdOf("renderer")>r||e.originIdOf("labelingInfo")>r||e.originIdOf("opacity")>r||e.originIdOf("labelsVisible")>r||e.originIdOf("source")>r)||!o(e,t)}function s(e,t,r){return!!e.some(e=>{const t=e.source,i=!t||"map-layer"===t.type&&t.mapLayerId===e.id&&(null==t.gdbVersion||t.gdbVersion===r);e.commitProperty("renderer"),e.commitProperty("labelingInfo"),e.commitProperty("opacity"),e.commitProperty("labelsVisible"),e.commitProperty("orderBy");const s=e.layer?.capabilities?.exportMap?.supportsSublayerOrderBy??!1;return!i||e.originIdOf("renderer")>2||e.originIdOf("labelingInfo")>2||e.originIdOf("opacity")>2||e.originIdOf("labelsVisible")>2||s&&e.originIdOf("orderBy")>2})||!o(e,t)}function o(e,t){if(!e?.length||null==t)return!0;const r=t.slice().reverse().flatten(({sublayers:e})=>e&&e.toArray().reverse()).map(e=>e.id).toArray();if(e.length>r.length)return!1;let i=0;const s=r.length;for(const{id:t}of e){for(;i<s&&r[i]!==t;)i++;if(i>=s)return!1}return!0}function n(e){return!!e&&e.some(e=>null!=e.minScale||null!=e.layerDefinition?.minScale)}r.d(t,{Sk:()=>s,Zx:()=>i,_X:()=>n})},64314:(e,t,r)=>{r.d(t,{A:()=>D});var i=r(31635),s=r(69622),o=r(49186),n=r(44208),a=r(74887),l=r(84952),u=r(91429),d=r(21325),c=r(20557),p=r(27733),y=r(2272),h=r(20615),f=r(74910),m=r(78286),g=r(99199),b=r(97768),w=r(62815),v=r(90708);function S(e,t){return t}function _(e,t,r,i){switch(r){case 0:return A(e,t+i,0);case 1:return"lowerLeft"===e.originPosition?A(e,t+i,1):function({translate:e,scale:t},r,i){return e[i]-r*t[i]}(e,t+i,1)}}function I(e,t,r,i){return 2===r?A(e,t,2):_(e,t,r,i)}function x(e,t,r,i){return 2===r?0===t?0:A(e,t,3):_(e,t,r,i)}function C(e,t,r,i){return 3===r?0===t?0:A(e,t,3):I(e,t,r,i)}function A({translate:e,scale:t},r,i){return e[i]+r*t[i]}class F{constructor(e){this._options=e,this.geometryTypes=["esriGeometryPoint","esriGeometryMultipoint","esriGeometryPolyline","esriGeometryPolygon"],this._previousCoordinate=[0,0],this._transform=null,this._applyTransform=S,this._lengths=[],this._currentLengthIndex=0,this._toAddInCurrentPath=0,this._vertexDimension=0,this._mValueOffset=null,this._coordinateBuffer=null,this._coordinateBufferPtr=0,this._attributesConstructor=class{}}createFeatureResult(){return{fields:[],features:[]}}finishFeatureResult(e){if(this._options.applyTransform&&(e.transform=null),this._attributesConstructor=class{},this._coordinateBuffer=null,this._lengths.length=0,!e.hasZ)return;const t=(0,w.N)(e.geometryType,this._options.sourceSpatialReference,e.spatialReference);if(null!=t)for(const r of e.features)t(r.geometry)}createSpatialReference(){return{}}addField(e,t){const r=e.fields;(0,b.Lw)(r),r.push(t);const i=r.map(e=>e.name);this._attributesConstructor=function(){for(const e of i)this[e]=null}}addFeature(e,t){e.features.push(t)}prepareFeatures(e){switch(this._transform=e.transform,this._options.applyTransform&&e.transform&&(this._applyTransform=this._deriveApplyTransform(e)),this._mValueOffset=null,this._vertexDimension=2,e.hasZ&&this._vertexDimension++,e.hasM&&(this._mValueOffset=this._vertexDimension,this._vertexDimension++),e.geometryType){case"esriGeometryPoint":this.addCoordinate=(e,t,r)=>this.addCoordinatePoint(e,t,r),this.createGeometry=e=>this.createPointGeometry(e);break;case"esriGeometryPolygon":this.addCoordinate=(e,t,r)=>this._addCoordinatePolygon(e,t,r),this.createGeometry=e=>this._createPolygonGeometry(e);break;case"esriGeometryPolyline":this.addCoordinate=(e,t,r)=>this._addCoordinatePolyline(e,t,r),this.createGeometry=e=>this._createPolylineGeometry(e);break;case"esriGeometryMultipoint":this.addCoordinate=(e,t,r)=>this._addCoordinateMultipoint(e,t,r),this.createGeometry=e=>this._createMultipointGeometry(e)}}createFeature(){return this._lengths.length=0,this._currentLengthIndex=0,this._previousCoordinate[0]=0,this._previousCoordinate[1]=0,this._coordinateBuffer=null,this._coordinateBufferPtr=0,{attributes:new this._attributesConstructor}}allocateCoordinates(){}addLength(e,t,r){0===this._lengths.length&&(this._toAddInCurrentPath=t),this._lengths.push(t)}addQueryGeometry(e,t){const{queryGeometry:r,queryGeometryType:i}=t,s=r.justXY();this._transform&&(0,v.aQ)(s,this._transform);const o=(0,v.zv)(s,i,!1,!1);e.queryGeometryType=i,e.queryGeometry={...o}}createPointGeometry(e){const t={x:0,y:0,spatialReference:e.spatialReference};return e.hasZ&&(t.z=0),e.hasM&&(t.m=0),t}addCoordinatePoint(e,t,r){const i=this._transform;switch(t=this._applyTransform(i,t,r,0),r){case 0:e.x=t;break;case 1:e.y=t;break;case 2:"z"in e?e.z=t:e.m=t;break;case 3:e.m=t}}_transformPathLikeValue(e,t){let r=0;t<=1&&(r=this._previousCoordinate[t],this._previousCoordinate[t]+=e);const i=this._transform;return null!==this._mValueOffset&&0===e&&t>0&&!(t%this._mValueOffset)?0:this._applyTransform(i,e,t,r)}_addCoordinatePolyline(e,t,r){this._dehydratedAddPointsCoordinate(e.paths,t,r)}_addCoordinatePolygon(e,t,r){this._dehydratedAddPointsCoordinate(e.rings,t,r)}_addCoordinateMultipoint(e,t,r){0===r&&e.points.push([]);const i=this._transformPathLikeValue(t,r);e.points[e.points.length-1].push(i)}_createPolygonGeometry(e){return{rings:[[]],spatialReference:e.spatialReference,hasZ:!!e.hasZ,hasM:!!e.hasM}}_createPolylineGeometry(e){return{paths:[[]],spatialReference:e.spatialReference,hasZ:!!e.hasZ,hasM:!!e.hasM}}_createMultipointGeometry(e){return{points:[],spatialReference:e.spatialReference,hasZ:!!e.hasZ,hasM:!!e.hasM}}_dehydratedAddPointsCoordinate(e,t,r){0===r&&0===this._toAddInCurrentPath--&&(e.push([]),this._toAddInCurrentPath=this._lengths[++this._currentLengthIndex]-1,this._previousCoordinate[0]=0,this._previousCoordinate[1]=0);const i=this._transformPathLikeValue(t,r),s=e[e.length-1];0===r&&(this._coordinateBufferPtr=0,this._coordinateBuffer=new Array(this._vertexDimension),s.push(this._coordinateBuffer)),this._coordinateBuffer[this._coordinateBufferPtr++]=i}_deriveApplyTransform(e){const{hasZ:t,hasM:r}=e;return t&&r?C:t?I:r?x:_}}var T=r(80893),M=r(22671),O=r(61956);let D=class extends s.A{constructor(e){super(e),this.dynamicDataSource=null,this.fieldsIndex=null,this.gdbVersion=null,this.infoFor3D=null,this.pbfSupported=!1,this.queryAttachmentsSupported=!1,this.sourceSpatialReference=null,this.uniqueIdFields=null,this.url=null}get parsedUrl(){return(0,l.An)(this.url)}async execute(e,t){const r=await this.executeJSON(e,t);return this.featureSetFromJSON(e,r,t)}async executeJSON(e,t){const r=this._normalizeQuery(e),i=null!=e.outStatistics?.[0],s=(0,n.A)("featurelayer-pbf-statistics"),o=(!i||s)&&!0!==e.returnTrueCurves;let a;if(this.pbfSupported&&o)try{a=await async function(e,t,r,i){const s=(0,y.Dl)(e),o={...r},n=O.A.from(t),a=!n.quantizationParameters;return await(0,T.IJ)(s,n,new F({sourceSpatialReference:n.sourceSpatialReference,applyTransform:a}),o,i)}(this.url,r,t,{uniqueIdFields:this.uniqueIdFields})}catch(e){if("query:parsing-pbf"!==e.name)throw e;this.pbfSupported=!1}return this.pbfSupported&&o||(a=await(0,g.e)(this.url,r,t,{uniqueIdFields:this.uniqueIdFields})),this._normalizeFields(a.fields),a}async featureSetFromJSON(e,t,i){if(!this._queryGet3DObjectFormat(e)||null==this.infoFor3D||!t.features)return M.A.fromJSON(t);const{meshFeatureSetFromJSON:s}=await(0,a.qr)(Promise.all([r.e(8487),r.e(36),r.e(5066)]).then(r.bind(r,40050)),i);return s(e,this.infoFor3D,t)}executeForCount(e,t){return(0,h.I)(this.url,this._normalizeQuery(e),t,{uniqueIdFields:this.uniqueIdFields})}executeForExtent(e,t){return(0,f.L)(this.url,this._normalizeQuery(e),t)}executeForIds(e,t){return(0,m.V)(this.url,this._normalizeQuery(e),t,{uniqueIdFields:this.uniqueIdFields})}async executeRelationshipQuery(e,t){const[{default:i},{executeRelationshipQuery:s}]=await(0,a.qr)(Promise.all([Promise.resolve().then(r.bind(r,26591)),r.e(1763).then(r.bind(r,71763))]),t);let o=i.from(e);return(this.gdbVersion||this.dynamicDataSource)&&(o=o.clone(),o.gdbVersion=o.gdbVersion||this.gdbVersion,o.dynamicDataSource=o.dynamicDataSource||this.dynamicDataSource),s(this.url,o,t)}async executeRelationshipQueryForCount(e,t){const[{default:i},{executeRelationshipQueryForCount:s}]=await(0,a.qr)(Promise.all([Promise.resolve().then(r.bind(r,26591)),r.e(1763).then(r.bind(r,71763))]),t);let o=i.from(e);return(this.gdbVersion||this.dynamicDataSource)&&(o=o.clone(),o.gdbVersion=o.gdbVersion||this.gdbVersion,o.dynamicDataSource=o.dynamicDataSource||this.dynamicDataSource),s(this.url,o,t)}async executeAttachmentQuery(e,t){const{executeAttachmentQuery:i,fetchAttachments:s,processAttachmentQueryResult:o}=await(0,a.qr)(r.e(9239).then(r.bind(r,9239)),t),n=(0,y.Dl)(this.url);return o(n,await(this.queryAttachmentsSupported?i(n,e,t):s(n,e,t)))}async executeAttributeBinsQuery(e,t){const{executeAttributeBinsQuery:i}=await(0,a.qr)(r.e(3103).then(r.bind(r,33103)),t);return i(this.parsedUrl,e,t)}async executePivotQuery(e,t){const{executePivotQuery:i}=await(0,a.qr)(r.e(566).then(r.bind(r,80566)),t);return i(this.parsedUrl,e,t)}async executeTopFeaturesQuery(e,t){const{executeTopFeaturesQuery:i}=await(0,a.qr)(r.e(1273).then(r.bind(r,11273)),t);return i(this.parsedUrl,e,this.sourceSpatialReference,t)}async executeForTopIds(e,t){const{executeForTopIds:i}=await(0,a.qr)(r.e(1277).then(r.bind(r,21277)),t);return i(this.parsedUrl,e,t)}async executeForTopExtents(e,t){const{executeForTopExtents:i}=await(0,a.qr)(r.e(8018).then(r.bind(r,8018)),t);return i(this.parsedUrl,e,t)}async executeForTopCount(e,t){const{executeForTopCount:i}=await(0,a.qr)(r.e(980).then(r.bind(r,10980)),t);return i(this.parsedUrl,e,t)}_normalizeQuery(e){let t=O.A.from(e);t.sourceSpatialReference=t.sourceSpatialReference||this.sourceSpatialReference,(this.gdbVersion||this.dynamicDataSource)&&(t=t===e?t.clone():t,t.gdbVersion=e.gdbVersion||this.gdbVersion,t.dynamicDataSource=e.dynamicDataSource?p.L.from(e.dynamicDataSource):this.dynamicDataSource);const{infoFor3D:r}=this,i=this._queryGet3DObjectFormat(e);if(null!=r&&i){if(t=t===e?t.clone():t,t.formatOf3DObjects=i,t.outSpatialReference&&!(0,d.aI)(t.outSpatialReference,this.sourceSpatialReference))throw new o.A("query:unsupported-out-spatial-reference","3D object feature services do not support projection of geometries");if(null==t.outFields||!t.outFields.includes("*")){t=t===e?t.clone():t,null==t.outFields&&(t.outFields=[]);const{originX:i,originY:s,originZ:o,translationX:n,translationY:a,translationZ:l,scaleX:u,scaleY:d,scaleZ:c,rotationX:p,rotationY:y,rotationZ:h,rotationDeg:f}=r.transformFieldRoles;t.outFields.push(i,s,o,n,a,l,u,d,c,p,y,h,f)}}return t}_normalizeFields(e){if(null!=this.fieldsIndex&&null!=e)for(const t of e){const e=this.fieldsIndex.get(t.name);e&&Object.assign(t,e.toJSON())}}_queryGet3DObjectFormat({returnGeometry:e,multipatchOption:t,outStatistics:r}){return!0!==e||"xyFootprint"===t||r?null:(0,c.Hz)(this.infoFor3D)}};(0,i.Cg)([(0,u.MZ)({type:p.L})],D.prototype,"dynamicDataSource",void 0),(0,i.Cg)([(0,u.MZ)()],D.prototype,"fieldsIndex",void 0),(0,i.Cg)([(0,u.MZ)()],D.prototype,"gdbVersion",void 0),(0,i.Cg)([(0,u.MZ)()],D.prototype,"infoFor3D",void 0),(0,i.Cg)([(0,u.MZ)({readOnly:!0})],D.prototype,"parsedUrl",null),(0,i.Cg)([(0,u.MZ)()],D.prototype,"pbfSupported",void 0),(0,i.Cg)([(0,u.MZ)()],D.prototype,"queryAttachmentsSupported",void 0),(0,i.Cg)([(0,u.MZ)()],D.prototype,"sourceSpatialReference",void 0),(0,i.Cg)([(0,u.MZ)()],D.prototype,"uniqueIdFields",void 0),(0,i.Cg)([(0,u.MZ)({type:String})],D.prototype,"url",void 0),D=(0,i.Cg)([(0,u.$K)("esri.layers.graphics.sources.support.QueryTask")],D)},73681:(e,t,r)=>{r.d(t,{n:()=>l});var i=r(49186),s=r(53966),o=r(46140),n=r(95466),a=r(55674);class l{static async from(e,t,r){const n=e.dictionary_version?o.R.parse(e.dictionary_version):null,d=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 p=new Set(e.authoringInfo.symbol);for(const e of Object.keys(r))p.delete(e);p.size&&s.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("missing-fields: fieldMap entries for the following symbol fields are missing",{symbolFields:p});const y=await(0,a.xR)(e.expression,null,c);if(!y)throw new i.A("dictionary-renderer:expression-error","Unable to create dictionary renderer expression");const h=!n||!n.greaterEqual(4,0);h&&s.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("Dictionary script does not support native field types. Applying fallback",{version:n});const f=new u(r,h);return new l(h,d,y,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){s.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("arcade: dictionary script evaluation failed",{error:e})}return null}createDictionaryFieldsIndex(e){if(!this._requiresFieldCoercionToString)return new n.A(e);const t=e.map(e=>({...e,type:"esriFieldTypeString"}));return new n.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]}}},74910:(e,t,r)=>{r.d(t,{L:()=>a});var i=r(5443),s=r(2272),o=r(80893),n=r(61956);async function a(e,t,r){const a=(0,s.Dl)(e),l=await(0,o.Jf)(a,n.A.from(t),{...r}),u=l.extent;return!u||isNaN(u.xmin)||isNaN(u.ymin)||isNaN(u.xmax)||isNaN(u.ymax)?{count:l.count,extent:null}:{count:l.count,extent:i.A.fromJSON(u)}}},78286:(e,t,r)=>{r.d(t,{V:()=>n});var i=r(2272),s=r(80893),o=r(61956);async function n(e,t,r,n){const a=(0,i.Dl)(e),l=await(0,s.Pk)(a,o.A.from(t),r,n);return l.objectIds??function(e){if(e)return function(e){return!Array.isArray(e[0])}(e)?e:e.map(e=>JSON.stringify(e))}(l.uniqueIds)??[]}},81583:(e,t,r)=>{r.d(t,{L:()=>a,g:()=>n});var i=r(60999),s=r(7762),o=r(92474);async function n(e,t){return await e.load(),a(e,t)}async function a(e,t){const r=[],n=(...e)=>{for(const t of e)null!=t&&(Array.isArray(t)?n(...t):s.A.isCollection(t)?t.forEach(e=>n(e)):(0,o.Zm)(t)&&r.push(t))};t(n);let a=null;if(await(0,i.Tj)(r,async e=>{const t=await(0,i.Ke)(function(e){return"loadAll"in e&&"function"==typeof e.loadAll}(e)?e.loadAll():e.load());!1!==t.ok||a||(a=t)}),a)throw a.error;return e}},91880:(e,t,r)=>{r.d(t,{A:()=>u});var i,s=r(31635),o=r(66552),n=r(25482),a=r(91429);const l=new o.J({asc:"ascending",desc:"descending"});let u=class extends n.o{static{i=this}constructor(e){super(e),this.field=null,this.valueExpression=null,this.order="ascending"}clone(){return new i({field:this.field,valueExpression:this.valueExpression,order:this.order})}};(0,s.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],u.prototype,"field",void 0),(0,s.Cg)([(0,a.MZ)({type:String,json:{write:!0,origins:{"web-scene":{read:!1,write:!1}}}})],u.prototype,"valueExpression",void 0),(0,s.Cg)([(0,a.MZ)({type:l.apiValues,json:{type:l.jsonValues,read:l.read,write:l.write}})],u.prototype,"order",void 0),u=i=(0,s.Cg)([(0,a.$K)("esri.layers.support.OrderByInfo")],u)},91921:(e,t,r)=>{r.d(t,{I:()=>m});var i=r(31635),s=r(7762),o=r(38961),n=r(49186),a=r(53966),l=r(36708),u=r(91429),d=r(35666),c=r(88620),p=r(15775),y=r(63389);const h=s.A.ofType(p.A);function f(e,t){e&&e.forEach(e=>{t(e),e.sublayers&&e.sublayers.length&&f(e.sublayers,t)})}const m=e=>{const t=e;let r=class extends t{constructor(...e){super(...e),this.allSublayers=new o.A({getCollections:()=>[this.sublayers],getChildrenFunction:e=>e.sublayers}),this.sublayersSourceJSON={2:{},3:{},4:{},5:{},6:{}},this.subtables=null,this.addHandles([(0,l.wB)(()=>this.sublayers,(e,t)=>this._handleSublayersChange(e,t),l.OH),(0,l.wB)(()=>this.subtables,(e,t)=>this._handleSublayersChange(e,t),l.OH)])}destroy(){this.allSublayers.destroy()}readSublayers(e,t){if(!t||!e)return;const{sublayersSourceJSON:r}=this,i=(0,d.aB)(t.origin);if(i<2)return;if(r[i]={context:t,visibleLayers:e.visibleLayers||r[i].visibleLayers,layers:e.layers||r[i].layers},i>2)return;this._set("serviceSublayers",this.createSublayersForOrigin("service").sublayers);const{sublayers:s,origin:o}=this.createSublayersForOrigin("web-document"),n=(0,c.oY)(this);n.setDefaultOrigin(o),this._set("sublayers",new h(s)),n.setDefaultOrigin("user")}findSublayerById(e){return this.allSublayers.find(t=>t.id===e)}createServiceSublayers(){return this.createSublayersForOrigin("service").sublayers}createSublayersForOrigin(e){let t;const r=(0,d.aB)("web-document"===e?"web-map":e);let i=2,s=this.sublayersSourceJSON[2].layers,o=this.sublayersSourceJSON[2].context,n=null;const a=[3,4,5].filter(e=>e<=r);for(const e of a){const t=this.sublayersSourceJSON[e];(0,y._X)(t.layers)&&(i=e,s=t.layers,o=t.context,t.visibleLayers&&(n={visibleLayers:t.visibleLayers,context:t.context}))}const l=[3,4,5].filter(e=>e>i&&e<=r);let u=null;for(const e of l){const{layers:r,visibleLayers:i,context:s}=this.sublayersSourceJSON[e];r&&(u={layers:r,context:s},t??=e),i&&(n={visibleLayers:i,context:s})}const c=function(e,t){const r=[],i={};return e?(e.forEach(e=>{const s=new p.A;if(s.read(e,t),i[s.id]=s,null!=e.parentLayerId&&-1!==e.parentLayerId){const t=i[e.parentLayerId];t.sublayers||(t.sublayers=[]),t.sublayers.unshift(s)}else r.unshift(s)}),r):r}(s,o),m=new Map,g=new Set;if(u)for(const e of u.layers)m.set(e.id,e);if(n?.visibleLayers)for(const e of n.visibleLayers)g.add(e);return f(c,e=>{u&&e.read(m.get(e.id),u.context),n&&e.read({defaultVisibility:g.has(e.id)},n.context)}),{origin:(0,d.OL)(i),originWithPartialOverrides:t?(0,d.OL)(t):null,sublayers:new h({items:c})}}read(e,t){super.read(e,t),this.readSublayers(e,t)}_handleSublayersChange(e,t){t&&(t.forEach(e=>{e.parent=null,e.layer=null}),this.removeHandles("sublayers-owner")),e&&(e.forEach(e=>{e.parent=this,e.layer=this}),this.addHandles([e.on("after-add",({item:e})=>{e.parent=this,e.layer=this}),e.on("after-remove",({item:e})=>{e.parent=null,e.layer=null})],"sublayers-owner"),"tile"===this.type&&this.addHandles(e.on("before-changes",e=>{a.A.getLogger("esri.layers.TileLayer").error(new n.A("tilelayer:sublayers-non-modifiable","Sublayer can't be added, moved, or removed from the layer's sublayers",{layer:this})),e.preventDefault()}),"sublayers-owner"))}};return(0,i.Cg)([(0,u.MZ)({readOnly:!0})],r.prototype,"allSublayers",void 0),(0,i.Cg)([(0,u.MZ)({readOnly:!0,type:s.A.ofType(p.A)})],r.prototype,"serviceSublayers",void 0),(0,i.Cg)([(0,u.MZ)({value:null,type:h,json:{read:!1,write:{allowNull:!0,ignoreOrigin:!0}}})],r.prototype,"sublayers",void 0),(0,i.Cg)([(0,u.MZ)({readOnly:!0})],r.prototype,"sublayersSourceJSON",void 0),(0,i.Cg)([(0,u.MZ)({type:h,json:{read:{source:"tables"}}})],r.prototype,"subtables",void 0),r=(0,i.Cg)([(0,u.$K)("esri.layers.mixins.SublayersOwner")],r),r}},98534:(e,t,r)=>{r.d(t,{V:()=>m});var i=r(31635),s=r(11254),o=r(91869),n=r(74887),a=r(84952),l=r(46140),u=r(91429),d=r(5443),c=r(16930),p=r(60694),y=r(10873),h=r(10407),f=r(36005);const m=e=>{const t=e;let r=class extends t{constructor(){super(...arguments),this.capabilities=void 0,this.copyright=null,this.fullExtent=null,this.legendEnabled=!0,this.spatialReference=null,this.version=void 0,this._allLayersAndTablesMap=null}readCapabilities(e,t){const r=t.capabilities&&t.capabilities.split(",").map(e=>e.toLowerCase().trim());if(!r)return{operations:{supportsExportMap:!1,supportsExportTiles:!1,supportsIdentify:!1,supportsQuery:!1,supportsTileMap:!1},exportMap:null,exportTiles:null};const i=this.type,s="tile"!==i&&!!t.supportsDynamicLayers,o=r.includes("query"),n=r.includes("map"),a=!!t.exportTilesAllowed,u=r.includes("tilemap"),d=r.includes("data"),c="tile"!==i&&(!t.tileInfo||s),p="tile"!==i&&(!t.tileInfo||s),y="tile"!==i,h="tile"!==i&&s&&t.currentVersion>=11.1,f=t.cimVersion?l.R.parse(t.cimVersion):null,m=f?.greaterEqual(1,4)??!1,g=f?.greaterEqual(2,0)??!1;return{operations:{supportsExportMap:n,supportsExportTiles:a,supportsIdentify:o,supportsQuery:d,supportsTileMap:u},exportMap:n?{supportsArcadeExpressionForLabeling:m,supportsCIMSymbols:g,supportsDynamicLayers:s,supportsSublayerOrderBy:h,supportsSublayerDefinitionExpression:p,supportsSublayerVisibility:c,supportsSublayersChanges:y}:null,exportTiles:a?{maxExportTilesCount:+t.maxExportTilesCount}:null}}readVersion(e,t){let r=t.currentVersion;return r||(r=t.hasOwnProperty("capabilities")||t.hasOwnProperty("tables")?10:t.hasOwnProperty("supportedImageFormatTypes")?9.31:9.3),r}async fetchRelatedService(e){const t=this.portalItem;if(!t||!(0,h.bK)(t))return null;this._relatedFeatureServicePromise||(this._relatedFeatureServicePromise=t.fetchRelatedItems({relationshipType:"Service2Service",direction:"reverse"},e).then(e=>e.find(e=>"Feature Service"===e.type)??null,()=>null));const r=await this._relatedFeatureServicePromise;return(0,n.Te)(e),r?{itemId:r.id,url:r.url}:null}async fetchSublayerInfo(e,t){const{source:r}=e;if(this?.portalItem&&"tile"===this.type&&"map-layer"===r?.type&&(0,h.bK)(this.portalItem)&&e.originIdOf("url")<2){const i=await this.fetchRelatedService(t);i&&(e.url=(0,a.fj)(i.url,r.mapLayerId.toString()),e.layerItemId=i.itemId)}const{url:i}=e;let o;if("data-layer"===r.type)o=(await(0,s.A)(i,{responseType:"json",query:{f:"json",...this.customParameters,token:this.apiKey},...t})).data;else if(i&&e.originIdOf("url")>2)try{const e=await this._fetchAllLayersAndTablesFromService(i),t=(0,p.qg)(i)?.sublayer??r.mapLayerId;o=e.get(t)}catch{}else{let i=e.id;"map-layer"===r?.type&&(i=r.mapLayerId);try{o=(await this.fetchAllLayersAndTables(t)).get(i)}catch{}}return o}async fetchAllLayersAndTables(e){return this._fetchAllLayersAndTablesFromService(this.parsedUrl?.path,e)}async _fetchAllLayersAndTablesFromService(e,t){await this.load(t),this._allLayersAndTablesMap||=new Map;const r=(0,p.qg)(e),i=(0,o.tE)(this._allLayersAndTablesMap,r?.url.path,()=>(0,s.A)((0,a.fj)(r?.url.path,"/layers"),{responseType:"json",query:{f:"json",...this.customParameters,token:this.apiKey}}).then(e=>{const t=new Map,{layers:r,tables:i}=e.data,s=[...r??[],...i??[]];for(const e of s)t.set(e.id,e);return{result:t}},e=>({error:e}))),l=await i;if((0,n.Te)(t),"result"in l)return l.result;throw l.error}};return(0,i.Cg)([(0,u.MZ)({readOnly:!0})],r.prototype,"capabilities",void 0),(0,i.Cg)([(0,f.w)("service","capabilities",["capabilities","cimVersion","currentVersion","exportTilesAllowed","maxExportTilesCount","supportsDynamicLayers","tileInfo"])],r.prototype,"readCapabilities",null),(0,i.Cg)([(0,u.MZ)({json:{read:{source:"copyrightText"}}})],r.prototype,"copyright",void 0),(0,i.Cg)([(0,u.MZ)({type:d.A})],r.prototype,"fullExtent",void 0),(0,i.Cg)([(0,u.MZ)(y.id)],r.prototype,"id",void 0),(0,i.Cg)([(0,u.MZ)({type:Boolean,json:{origins:{service:{read:{enabled:!1}}},read:{source:"showLegend"},write:{target:"showLegend"}}})],r.prototype,"legendEnabled",void 0),(0,i.Cg)([(0,u.MZ)(y.M6)],r.prototype,"popupEnabled",void 0),(0,i.Cg)([(0,u.MZ)({type:c.A})],r.prototype,"spatialReference",void 0),(0,i.Cg)([(0,u.MZ)({readOnly:!0})],r.prototype,"version",void 0),(0,i.Cg)([(0,f.w)("service","version",["currentVersion","capabilities","tables","supportedImageFormatTypes"])],r.prototype,"readVersion",null),r=(0,i.Cg)([(0,u.$K)("esri.layers.mixins.ArcGISMapService")],r),r}},99199:(e,t,r)=>{r.d(t,{e:()=>l,s:()=>a});var i=r(2272),s=r(80893),o=r(22671),n=r(61956);async function a(e,t,r,i){const s=await l(e,t,r,i);return o.A.fromJSON(s)}function l(e,t,r,o){const a=(0,i.Dl)(e),l={...r},u=n.A.from(t);return(0,s.eW)(a,u,u.sourceSpatialReference,l,o)}}}]);
@@ -0,0 +1 @@
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),M=i(25036),O=i(82935),_=i(10873),F=i(20437),P=i(74797),k=i(22796),D=i(87045),N=i(76353),L=i(84169),E=i(4916),B=i(68197),z=i(5443),J=i(16930),U=i(73444),$=i(14140),j=i(16019);function q(e){return["x","e","east","long","longitude"].includes(e.toLowerCase())}function Z(e){return["y","n","west","lat","latitude"].includes(e.toLowerCase())}function H(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];q(l)?a=e:Z(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 J.A({wkid:f}),[p,d]=s[a],[m,g]=s[n],y=new z.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 V(e){const t=(0,U.lR)();return t?e[t]??Object.values(e)[0]:Object.values(e)[0]}function G(){return Math.round(255*Math.random())}function W(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=V(r)),a&&(t[e].unit=a.label?V(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?V(e.label):null;if(r.Label=a,e.preferredColor){const t=B.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=G(),e.Green=G(),e.Blue=G())}));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 X(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,j.X1)(t,i)}function K(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 Y=i(45617),Q=i(87186),ee=i(77301),te=i(28435),ie=i(6952);let se=class extends E.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,te.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 z.A({xmin:-.5,ymin:.5,xmax:f-.5,ymax:h-.5,spatialReference:new J.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 Q.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,te.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,ie.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 Y.A({variableName:r.name,dimensionName:e.name,values:[e.values?.[0]??e.extent?.[0]],isSlice:!0})),n=(0,ee.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,ie.eH)(o);r.statistics=l.statistics,r.histograms||(r.histograms=l.histograms)}}};(0,r.Cg)([(0,h.MZ)({type:String,json:{write:!0}})],se.prototype,"datasetFormat",void 0),(0,r.Cg)([(0,h.MZ)()],se.prototype,"source",void 0),(0,r.Cg)([(0,h.MZ)()],se.prototype,"url",null),se=(0,r.Cg)([(0,h.$K)("esri.layers.support.rasterDatasets.InMemoryRaster")],se);const re=se;var ae=i(22671);let ne=class extends E.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,ie.eH)(i[0]),l=a?.map(e=>({BandName:e})),c={DataType:r?"Thematic":s?"Scientific":"Generic",BandProperties:l},u=new re({source:{extent:t,pixelBlocks:i,attributeTable:r?ae.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(!q(t[t.length-1])||!Z(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}=H(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=W(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":X(o),g=t*i,y=o.length/g;for(let s=0;s<y;s++){const a=$.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 $.A({width:t,height:i,mask:l?n:null,pixels:[a],pixelType:m});e.updateStatistics(),r?.length?u[K(p,d,s)+h]=e:u.push(e)}else{const e=u[s];e.pixels.push(a),l?e.mask&&(e.mask=$.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}})],ne.prototype,"datasetFormat",void 0),(0,r.Cg)([(0,h.MZ)({constructOnly:!0})],ne.prototype,"source",void 0),ne=(0,r.Cg)([(0,h.$K)("esri.layers.support.rasterDatasets.CovJSONRaster")],ne);const oe=ne;var le=i(44208),ce=i(4576),ue=i(21325),fe=i(50103),he=i(21312);function pe(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 de(e){if(!e)return null;let t=Number(e);if(!isNaN(t)&&0!==t)return new J.A({wkid:t});if(e=String(e).trim(),(0,ue.jp)(e))return new J.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=me(n);const l=new J.A(t?{wkid:t}:{wkt:n}),c=me(o);return c&&(l.vcsWkid=c),l}return i.startsWith("GEOGCS")||i.startsWith("PROJCS")?(t=me(e),new J.A(0!==t?{wkid:t}:{wkt:e})):null}function me(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 ge(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,fe.g7)(e,"SRS")){if(!t.spatialReference){const i=(0,fe.mX)(e);t.spatialReference=de(i)}}else if((0,fe.g7)(e,"Metadata"))if("xml:ESRI"===e.getAttribute("domain")){const{spatialReference:i,transform:s}=function(e){const t=(0,fe.V6)(e,"GeodataXform"),i=de((0,fe.v7)(t,"SpatialReference/WKID")||(0,fe.mX)(t,"SpatialReference/WKT"));if("typens:PolynomialXform"!==t.getAttribute("xsi:type"))return{spatialReference:i,transform:null};const s=(0,fe.v7)(t,"PolynomialOrder")??1,r=(0,fe.Ui)(t,"CoeffX/Double"),a=(0,fe.Ui)(t,"CoeffY/Double"),n=(0,fe.Ui)(t,"InverseCoeffX/Double"),o=(0,fe.Ui)(t,"InverseCoeffY/Double"),l=pe(r,a),c=pe(n,o);return{spatialReference:i,transform:l&&c&&l.length&&c.length?new he.A({spatialReference:i,polynomialOrder:s,forwardCoefficients:l,inverseCoefficients:c}):null}}(e);t.transform=s,t.spatialReference||(t.spatialReference=i)}else(0,fe.IC)(e,"MDI").forEach(e=>t.metadata[e.getAttribute("key")]=(0,fe.mX)(e));else if((0,fe.g7)(e,"PAMRasterBand")){const i=function(e){const t=(0,fe.v7)(e,"NoDataValue"),i=(0,fe.V6)(e,"Histograms/HistItem"),s=(0,fe.v7)(i,"HistMin"),r=(0,fe.v7)(i,"HistMax"),a=(0,fe.v7)(i,"BucketCount"),n=(0,fe.mX)(i,"HistCounts")?.split("|").map(e=>Number(e));let o,l,c,u;(0,fe.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,fe.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(ce.Ru):null;const s=!!i[0].histogram;t.histograms=s?i.map(e=>e.histogram).filter(ce.Ru):null}return t}var ye=i(77649);let we=class extends E.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 J.A({wkid:3857})),r?.length&&null==s&&(s=(0,ie.Pg)(r));const{width:o,height:l}=t;let c=new z.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 re({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,ye.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,le.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=ge(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 he.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}})],we.prototype,"datasetFormat",void 0),we=(0,r.Cg)([(0,h.$K)("esri.layers.support.rasterDatasets.ImageAuxRaster")],we);const ve=we;var xe=i(97768),be=i(84952),Ie=i(86738),Ce=i(20223),Se=i(25943),Ae=i(73037),Te=i(82371);let Re=class extends E.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,M=t===m.maxRow?S:w;return(0,te.z$)(d,{x:A,y:T},{width:R-A,height:M-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 D.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 D.A.fromJSON({...e,lods:e.lods.filter(e=>{const i=t(e.scale);return i<=r&&i>=a})})}return D.A.fromJSON(e)}(s.tileInfo,s):D.A.fromJSON(s.tileInfo);(0,xe.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 Ce.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,be.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=J.A.fromJSON(t.spatialReference||e.spatialReference),a=new Ie.A({x:t.pixelSizeX,y:t.pixelSizeY,spatialReference:r});return new Q.A({width:i,height:s,bandCount:3,extent:z.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 Me=Re;var Oe=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 E.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 $.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,ie.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(Oe.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,fe.V6)(e,"MRF_META/Raster");if(!t)throw new o.A("mrf:open","not a valid MRF format");const i=(0,fe.V6)(t,"Size"),s=parseInt(i.getAttribute("x"),10),r=parseInt(i.getAttribute("y"),10),a=parseInt(i.getAttribute("c"),10),n=((0,fe.mX)(t,"Compression")||"none").toLowerCase();if(!Fe.has(n))throw new o.A("mrf:open","currently does not support compression "+n);const l=(0,fe.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,fe.V6)(t,"PageSize"),f=parseInt(u.getAttribute("x"),10),h=parseInt(u.getAttribute("y"),10),p=(0,fe.V6)(t,"DataValues");let d,m;if(p&&(m=p.getAttribute("NoData"),null!=m&&(d=m.trim().split(" ").map(e=>parseFloat(e)))),(0,fe.V6)(e,"MRF_META/CachedSource"))throw new o.A("mrf:open","currently does not support MRF referencing other data files");const g=(0,fe.V6)(e,"MRF_META/GeoTags"),y=(0,fe.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,fe.mX)(g,"Projection")||"";let a=J.A.WGS84;if("LOCAL_CS[]"!==r)if(r.toLowerCase().startsWith("epsg:")){const e=Number(r.slice(5));isNaN(e)||0===e||(a=new J.A({wkid:e}))}else a=de(r)??J.A.WGS84;else v=!0,a=new J.A({wkid:3857});w=new z.A(e,t,i,s),w.spatialReference=a}else v=!0,w=new z.A({xmin:-.5,ymin:.5-r,xmax:s-.5,ymax:.5,spatialReference:new J.A({wkid:3857})});const x=(0,fe.V6)(e,"MRF_META/Rsets"),b=parseInt(x?.getAttribute("scale")||"2",10),I=w.spatialReference,C=new Ce.A({origin:new Ie.A({x:w.xmin,y:w.ymax,spatialReference:I}),blockWidth:f,blockHeight:h,pyramidBlockWidth:f,pyramidBlockHeight:h,compression:n,pyramidScalingFactor:b}),S=new Ie.A({x:w.width/s,y:w.height/r,spatialReference:I}),A=new Q.A({width:s,height:r,extent:w,isPseudoSpatialReference:v,spatialReference:I,bandCount:a,pixelType:c,pixelSize:S,noDataValue:d,storageInfo:C}),T=(0,fe.mX)(e,"datafile"),R=(0,fe.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 ge(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 E.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=de(t.extent.spatialReference?.wkt||t.extent.spatialReference?.wkid),w=!!t.isPseudoGeographic;null==y&&(w=!0,y=new J.A({wkid:3857}));const v=new z.A({...t.extent,spatialReference:y}),x=new Ie.A(v?{x:v.xmin,y:v.ymax,spatialReference:y}:{x:0,y:0}),b=new Ce.A({blockWidth:r,blockHeight:a,pyramidBlockWidth:f,pyramidBlockHeight:h,compression:l,origin:x,firstPyramidLevel:c,maximumPyramidLevel:u,pyramidResolutions:p,blockBoundary:d}),I=new Ie.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 Q.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 z.A({xmin:-.5,ymin:.5-s,xmax:i-.5,ymax:.5,spatialReference:y}),R.transform=new he.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 Ie.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,ie.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 Ie.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 ge(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?ae.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:Me}),je.set("JPG",{desc:"JPG Raster Format",constructor:ve}),je.set("PNG",{desc:"PNG Raster Format",constructor:ve}),je.set("GIF",{desc:"GIF Raster Format",constructor:ve}),je.set("BMP",{desc:"BMP Raster Format",constructor:ve}),je.set("CovJSON",{desc:"COVJSON Raster Format",constructor:oe}),je.set("MEMORY",{desc:"In Memory Raster Format",constructor:re});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,M.j)((0,C.q)((0,S.A)((0,T.H)((0,b.d)((0,I.o)((0,A.G)((0,O.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,N.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,N.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 L.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)({type:D.A})],We.prototype,"tileInfo",void 0),(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),M=n.A.fromJSON(y.spatialReference||y.extent.spatialReference),O="fulfilled"===C[0].status?C[0].value?.data:null,_=O?.features?.length?u.A.fromJSON(O):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:M}),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:M,pixelSize:new a.A({x:y.pixelSizeX,y:y.pixelSizeY,spatialReference:M}),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)}}]);
@@ -2,7 +2,7 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{ChapmanRaymarching as e}from"../views/3d/environment/ChapmanRaymarching.glsl.js";import{Gamma as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{addMainLightDirection as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Float3PassUniform as t}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as o,If as n}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as l}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{ScreenSpacePassAtmosphere as s}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{SphereIntersect as c}from"../views/3d/webgl-engine/shaders/SphereIntersect.glsl.js";import{ToneMapping as m}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as d}from"../views/webgl/ShaderBuilder.js";function g(g){const h=new d;h.include(s);const{reduced:p}=g,{fragment:u}=h;return a(u),u.include(r),u.include(c),u.include(m),u.include(e,!1),u.uniforms.add(new t("backgroundColor",e=>e.backgroundColor),new i("innerFadeDistance",e=>e.innerFadeDistance),new i("altitudeFade",e=>e.altitudeFade),new l("depthTexture",e=>e.mainDepth)).code.add(o`vec4 applyUndergroundAtmosphere(vec3 rayDir, vec3 lightDirection, vec4 fragColor) {
5
+ import{ChapmanRaymarching as e}from"../views/3d/environment/ChapmanRaymarching.glsl.js";import{Gamma as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{addMainLightDirection as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Float2PassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float3BindUniform as t}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{Float3PassUniform as o}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as n}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as l,If as c}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as m}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{ScreenSpacePassAtmosphere as d}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{SphereIntersect as g}from"../views/3d/webgl-engine/shaders/SphereIntersect.glsl.js";import{ToneMapping as h}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as p}from"../views/webgl/ShaderBuilder.js";function u(u){const f=new p;f.include(d);const{reduced:w}=u,{fragment:y}=f;return a(y),y.include(r),y.include(g),y.include(h),y.include(e,!1),y.uniforms.add(new n("heightParameters",e=>e.heightParameters),new i("radii",e=>e.radii),new t("cameraPosition",e=>e.camera.eye),new o("backgroundColor",e=>e.backgroundColor),new s("innerFadeDistance",e=>e.innerFadeDistance),new s("altitudeFade",e=>e.altitudeFade),new m("depthTexture",e=>e.mainDepth)).code.add(l`vec4 applyUndergroundAtmosphere(vec3 rayDir, vec3 lightDirection, vec4 fragColor) {
6
6
  float rayPlanetDistance = heightParameters[1] - radii[0] * radii[0];
7
7
  vec2 rayPlanetIntersect = sphereIntersect(cameraPosition, rayDir, rayPlanetDistance);
8
8
  if (!((rayPlanetIntersect.x <= rayPlanetIntersect.y) && rayPlanetIntersect.y > 0.0)) {
@@ -19,28 +19,28 @@ return mix(fragColor, surfaceColor, smoothstep(0.0, 1.0, relDist * relDist));
19
19
  float getGlow(float dist, float radius, float intensity) {
20
20
  return pow(radius / max(dist, 1e-6), intensity);
21
21
  }
22
- vec3 getSun(vec3 cameraPos, vec3 rayDir, vec3 lightDir){
23
- float scaleFract = (length(cameraPos) - radii[0]) / scaleHeight;
24
- float sunOpticalDepth = getOpticalDepth(cameraPos, rayDir, max(scaleFract, 0.0));
22
+ vec3 getSun(vec3 rayDir, vec3 lightDir){
23
+ float scaleFract = (length(cameraPosition) - radii[0]) / scaleHeight;
24
+ float sunOpticalDepth = getOpticalDepth(cameraPosition, rayDir, max(scaleFract, 0.0));
25
25
  vec3 sunTransmittance = exp(-(mix(betaCombined, betaRayleigh, 0.5)) * max(0.0, sunOpticalDepth));
26
26
  float mu = clamp(dot(rayDir, lightDir), 0.0, 1.0);
27
27
  float sunDisc = 256.0 * smoothstep(0.0, 128.0, clamp(getGlow(1.0 - mu, 3e-5, 3.0), 0.0, 128.0));
28
28
  return normalize(sunTransmittance) * sunDisc;
29
- }`).main.add(o`
30
- vec3 rayDir = normalize(worldRay);
31
- float terrainDepth = -1.0;
32
- ${n(!p,o`float depthSample = texture(depthTexture, uv).r;
33
- if (depthSample != 1.0) {
34
- fragColor = vec4(0);
35
- return;
36
- }`)}
29
+ }`).main.add(l`
30
+ vec3 rayDir = normalize(worldRay);
31
+ ${c(!w,l`
32
+ float depthSample = texture(depthTexture, uv).r;
33
+ if (depthSample != 1.0) {
34
+ fragColor = vec4(0.0);
35
+ return;
36
+ }`)}
37
37
 
38
- vec3 col = linearizeGamma(backgroundColor);
39
- col += raymarchAtmosphere(cameraPosition, rayDir, mainLightDirection, terrainDepth);
40
- col += getSun(cameraPosition, rayDir, mainLightDirection);
41
- float alpha = smoothstep(0.0, mix(0.15, 0.01, heightParameters[3]), length(col));
38
+ vec3 color = linearizeGamma(backgroundColor) +
39
+ raymarchAtmosphere(rayDir, mainLightDirection, -1.0) +
40
+ getSun(rayDir, mainLightDirection);
41
+ float alpha = smoothstep(0.0, mix(0.15, 0.01, heightParameters[3]), length(color));
42
42
 
43
- col = tonemapACES(col);
44
- fragColor = delinearizeGamma(vec4(col, alpha));
45
- fragColor = applyUndergroundAtmosphere(rayDir, mainLightDirection, fragColor);
46
- `),h}const h=Object.freeze(Object.defineProperty({__proto__:null,build:g},Symbol.toStringTag,{value:"Module"}));export{h as C,g as b};
43
+ color = tonemapACES(color);
44
+ fragColor = delinearizeGamma(vec4(color, alpha));
45
+ fragColor = applyUndergroundAtmosphere(rayDir, mainLightDirection, fragColor);
46
+ `),f}const f=Object.freeze(Object.defineProperty({__proto__:null,build:u},Symbol.toStringTag,{value:"Module"}));export{f as C,u as b};