@arcgis/core 5.0.0-next.120 → 5.0.0-next.122
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/WebScene.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/09cf8aed89a1ea1f8b28.js +1 -0
- package/assets/esri/core/workers/chunks/{4cb702d574c100483226.js → 0fe47bf45428100cc808.js} +1 -1
- package/assets/esri/core/workers/chunks/{8c5e834c2d243fc369fe.js → 18b0776aef1536867ab8.js} +1 -1
- package/assets/esri/core/workers/chunks/22d12c309af9c19a1a48.js +1 -0
- package/assets/esri/core/workers/chunks/{aefc089928ada18bc4d4.js → 2762149a922275136171.js} +2 -2
- package/assets/esri/core/workers/chunks/{5aab1db039b2b61c6c6b.js → 2bb7bb7901bd343201fc.js} +1 -1
- package/assets/esri/core/workers/chunks/{a990650a83e971444838.js → 2d1a772abd730b61854f.js} +1 -1
- package/assets/esri/core/workers/chunks/2d67ab4927a968d5c8d4.js +1 -0
- package/assets/esri/core/workers/chunks/{ee2ae61fc747b5f9827b.js → 2e7d4a437717606bc39c.js} +1 -1
- package/assets/esri/core/workers/chunks/360b3499e2a671c309ce.js +1 -0
- package/assets/esri/core/workers/chunks/3b0cfe3db8d90e02d6c6.js +1 -0
- package/assets/esri/core/workers/chunks/3d78e9b3c97c0ce21d16.js +1 -0
- package/assets/esri/core/workers/chunks/4550b7620932cd6de20e.js +1 -0
- package/assets/esri/core/workers/chunks/{618832e86ba9ec13ffcb.js → 455fbddd814e4681f0c0.js} +1 -1
- package/assets/esri/core/workers/chunks/{3db4938b3f89b9b8234e.js → 4742a8c19b86a5f859f0.js} +1 -1
- package/assets/esri/core/workers/chunks/{904ad26ad7c3bde63d33.js → 5062ed46edb88c0d343c.js} +1 -1
- package/assets/esri/core/workers/chunks/58cf3d35771b87bd74e5.js +1 -0
- package/assets/esri/core/workers/chunks/{d84af069f1057044c879.js → 5c12a9b0db317620dce2.js} +1 -1
- package/assets/esri/core/workers/chunks/65ad8838911a6d71816b.js +1 -0
- package/assets/esri/core/workers/chunks/6a043be736f096d70070.js +1 -0
- package/assets/esri/core/workers/chunks/{7a85e08cb968586f8d74.js → 72acfb74fd9ab9bae923.js} +2 -2
- package/assets/esri/core/workers/chunks/79ee97609f72e4cf989c.js +1 -0
- package/assets/esri/core/workers/chunks/7e6309bfed6692e8d2d7.js +2 -0
- package/assets/esri/core/workers/chunks/804c31973f7d116523cb.js +1 -0
- package/assets/esri/core/workers/chunks/{dc65843654dc25bd8f97.js → 8177e95596b71bf020aa.js} +1 -1
- package/assets/esri/core/workers/chunks/{ca767f0e3aa559b13699.js → 90aeef17af12cfbecb36.js} +1 -1
- package/assets/esri/core/workers/chunks/{4bd98d025bcd713eddca.js → 91858b02da40ff251ab2.js} +2 -2
- package/assets/esri/core/workers/chunks/{c064025d0dc69bb44f0d.js → a115984b794a7f90b2c0.js} +1 -1
- package/assets/esri/core/workers/chunks/{723c5286771704b864ab.js → a32b274404dfd2fb70ee.js} +9 -9
- package/assets/esri/core/workers/chunks/a3e8b7185d63a0f85931.js +1 -0
- package/assets/esri/core/workers/chunks/{6be2dc8331ecf944efdc.js → a5af20f3d484d2d3bafe.js} +1 -1
- package/assets/esri/core/workers/chunks/{29b30526ddac8d3ee997.js → a6006718fe22d9f2fa87.js} +1 -1
- package/assets/esri/core/workers/chunks/b0b24fb60a21b995b348.js +1 -0
- package/assets/esri/core/workers/chunks/b6e155b42a4a423139e7.js +1 -0
- package/assets/esri/core/workers/chunks/{8f4626f06b8ec1053469.js → bc9997d15ec0a86793c6.js} +1 -1
- package/assets/esri/core/workers/chunks/bf9b2aa2e67ca746ec7c.js +1 -0
- package/assets/esri/core/workers/chunks/c9babe86c00ae69e63ee.js +2 -0
- package/assets/esri/core/workers/chunks/{da40c63408affee86ac4.js → d0d1378e714ff0e43e26.js} +1 -1
- package/assets/esri/core/workers/chunks/d9c1e1ec5c56f09fb82f.js +1 -0
- package/assets/esri/core/workers/chunks/e8a7ff6210cd11d3a828.js +1 -0
- package/assets/esri/core/workers/chunks/eaf5d55060ffc55aac39.js +1 -0
- package/assets/esri/core/workers/chunks/f0b8de5b3cfbe9223df6.js +1 -0
- package/assets/esri/core/workers/chunks/fd5a5b05a1551cdb8c87.js +1 -0
- package/assets/esri/themes/base/widgets/_FeatureTable.scss +1 -0
- package/assets/esri/themes/base/widgets/_Grid.scss +8 -1
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/config.js +1 -1
- package/core/Logger.js +1 -1
- package/core/Version.js +1 -1
- package/core/deprecate.js +1 -1
- package/kernel.js +1 -1
- package/layers/ImageryLayer.d.ts +1 -1
- package/layers/MapImageLayer.d.ts +1 -1
- package/layers/TileLayer.d.ts +1 -1
- package/layers/WebTileLayer.d.ts +1 -1
- package/layers/graphics/data/QueryEngineResult.js +1 -1
- package/layers/orientedImagery/transformations/imageToWorld.js +1 -1
- package/layers/orientedImagery/transformations/utils.js +1 -1
- package/layers/orientedImagery/transformations/worldToImage.js +1 -1
- package/layers/raster/datasets/ImageServerRaster.js +1 -1
- package/layers/support/relativeTimeQueryUtils.js +1 -1
- package/networks/support/jsonTypes.d.ts +2 -2
- package/package.json +2 -2
- package/renderers/support/rasterRendererHelper.js +1 -1
- package/rest/print.js +1 -1
- package/support/basemapUtils.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/support/Symbol3DEmissive.d.ts +9 -9
- package/symbols/support/Symbol3DMaterial.d.ts +8 -8
- package/time/TimeExtent.d.ts +1 -1
- package/views/2d/engine/webgl/OverlayMultipoint.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReaderPBF.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReaderPBFHeader.js +1 -1
- package/views/3d/analysis/ShadowCast/ShadowCastTooltip.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillController.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillVisualization.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
- package/views/3d/webgl-engine/lib/CutFillDepth.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/VaoWriter.js +1 -1
- package/views/Attribution.js +1 -1
- package/views/DOMContainer.js +1 -1
- package/views/LinkChartView.d.ts +1 -1
- package/views/MapView.d.ts +1 -1
- package/views/SceneView.d.ts +1 -1
- package/views/SelectionManager.d.ts +242 -0
- package/views/View.d.ts +1 -1
- package/views/draw/plugins/BezierSegmentPlugin.js +1 -1
- package/views/draw/plugins/CircularArcSegmentPlugin.js +2 -0
- package/views/input/types.d.ts +1 -1
- package/views/selection/types.d.ts +140 -0
- package/views/support/selectionUtils.js +1 -1
- package/views/ui/DefaultUI.d.ts +5 -12
- package/views/ui/DefaultUI.js +1 -1
- package/views/ui/types.d.ts +1 -1
- package/webscene/SunLighting.d.ts +20 -2
- package/webscene/VirtualLighting.d.ts +20 -2
- package/webscene/support/schemaValidator.js +1 -1
- package/webscene/support/versionUtils.js +1 -1
- package/widgets/Attribution/AttributionViewModel.d.ts +1 -1
- package/widgets/Attribution.d.ts +1 -1
- package/widgets/FeatureTable/FeatureTableViewModel.d.ts +1 -1
- package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
- package/widgets/FeatureTable.d.ts +9 -3
- package/widgets/FeatureTable.js +1 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/adapters/sketch/DataCaptureAdapter.js +1 -1
- package/widgets/OrientedImageryViewer/adapters/view/MapViewAdapter.js +1 -1
- package/widgets/OrientedImageryViewer/adapters/view/SceneViewAdapter.js +1 -1
- package/widgets/OrientedImageryViewer/services/TransformationService.js +1 -1
- package/widgets/OrientedImageryViewer/support/dataCaptureUtils.js +1 -1
- package/widgets/OrientedImageryViewer/support/geometryUtils.js +1 -1
- package/widgets/OrientedImageryViewer/support/urlUtils.js +1 -1
- package/widgets/OrientedImageryViewer/utils.js +1 -1
- package/widgets/OrientedImageryViewer.js +1 -1
- package/widgets/PanoramicViewer/PanoramicViewerViewModel.js +1 -1
- package/widgets/PanoramicViewer/support/PanoramicMedia.js +1 -1
- package/widgets/Sketch/support/PluginManager.js +1 -1
- package/widgets/TimeSlider/TimeSliderViewModel.d.ts +1 -2
- package/widgets/TimeSlider.d.ts +3 -4
- package/assets/esri/core/workers/chunks/00112f984698b31909d3.js +0 -1
- package/assets/esri/core/workers/chunks/012992dc3910466ed207.js +0 -1
- package/assets/esri/core/workers/chunks/0485ae33a8b327974751.js +0 -1
- package/assets/esri/core/workers/chunks/0f5d033babc5c8440785.js +0 -1
- package/assets/esri/core/workers/chunks/127b1ff5c50d10a4e288.js +0 -1
- package/assets/esri/core/workers/chunks/147d0f7a2e471442c95c.js +0 -2
- package/assets/esri/core/workers/chunks/18c63f79c8ec398bc501.js +0 -1
- package/assets/esri/core/workers/chunks/1f613c599eff3b16c1d2.js +0 -1
- package/assets/esri/core/workers/chunks/2431a5480f0d22f00e00.js +0 -1
- package/assets/esri/core/workers/chunks/360dd5cd63d132b5c7d5.js +0 -2
- package/assets/esri/core/workers/chunks/3e4c5cc24bdc1c807125.js +0 -1
- package/assets/esri/core/workers/chunks/495e00c2a4ed45a0d00b.js +0 -1
- package/assets/esri/core/workers/chunks/545d801c4ba6f49df726.js +0 -1
- package/assets/esri/core/workers/chunks/8556d06f522914e71bb8.js +0 -1
- package/assets/esri/core/workers/chunks/8ac7a552189143ab4f91.js +0 -1
- package/assets/esri/core/workers/chunks/98c3b7d8db53f0b12642.js +0 -1
- package/assets/esri/core/workers/chunks/a37a003da59bdaf7ec0e.js +0 -1
- package/assets/esri/core/workers/chunks/ad688eee6a9f2be6df4a.js +0 -1
- package/assets/esri/core/workers/chunks/c88101cb8301f095d037.js +0 -1
- package/assets/esri/core/workers/chunks/cc245eb1c5aaaac5916e.js +0 -1
- package/assets/esri/core/workers/chunks/dee14ddc753eec27a9bf.js +0 -1
- package/assets/esri/core/workers/chunks/f27c32f0fac5cf635bab.js +0 -1
- package/assets/esri/core/workers/chunks/fb4bcf366ba1b51668f6.js +0 -1
- /package/assets/esri/core/workers/chunks/{aefc089928ada18bc4d4.js.LICENSE.txt → 2762149a922275136171.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{7a85e08cb968586f8d74.js.LICENSE.txt → 72acfb74fd9ab9bae923.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{360dd5cd63d132b5c7d5.js.LICENSE.txt → 7e6309bfed6692e8d2d7.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{4bd98d025bcd713eddca.js.LICENSE.txt → 91858b02da40ff251ab2.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{147d0f7a2e471442c95c.js.LICENSE.txt → c9babe86c00ae69e63ee.js.LICENSE.txt} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4347],{159(e,t,i){i.d(t,{A:()=>l});var n,s=i(5482),r=i(69622),a=i(91429),o=i(99157);let l=n=class extends r.A{constructor(e){super(e),this.steps=[]}getInverse(){const e=new n;for(let t=this.steps.length-1;t>=0;t--){const i=this.steps[t];e.steps.push(i.getInverse())}return e}};(0,s.Cg)([(0,a.MZ)({type:[o.A],nonNullable:!0})],l.prototype,"steps",void 0),l=n=(0,s.Cg)([(0,a.$K)("esri.geometry.operators.support.GeographicTransformation")],l)},5834(e,t,i){i.d(t,{A:()=>p});var n=i(5482),s=i(93637),r=i(91429),a=i(56507),o=i(41266),l=i(41366),u=i(93223);function c(e,t,i){(0,s.sM)(i,e instanceof Date?e.getTime():e,t)}let p=class extends((0,l.K)(o.A)){constructor(e){super(e),this.numBins=null,this.end=null,this.start=null,this.type="auto-interval"}};(0,n.Cg)([(0,r.MZ)({type:Number,json:{name:"parameters.numberOfBins",write:!0}})],p.prototype,"numBins",void 0),(0,n.Cg)([(0,r.MZ)({json:{name:"parameters.end",write:{writer:c}}})],p.prototype,"end",void 0),(0,n.Cg)([(0,r.MZ)({json:{name:"parameters.start",write:{writer:c}}})],p.prototype,"start",void 0),(0,n.Cg)([(0,u.e)({autoIntervalBin:"auto-interval"},{readOnly:!0})],p.prototype,"type",void 0),p=(0,n.Cg)([(0,r.$K)("esri.rest.support.AutoIntervalBinParameters")],p),p.from=(0,a.dp)(p)},8384(e,t,i){i.d(t,{G:()=>C});var n=i(4718),s=i(12359),r=i(90634),a=i(62577),o=i(21325),l=i(46329),u=i(52006),c=i(29441),p=i(51441),d=i(30524),f=i(87445),h=i(1873),m=i(43668);class y{constructor(e,t,i){this._fieldDataCache=new Map,this._returnDistinctMap=new Map,this.returnDistinctValues=e.returnDistinctValues??!1,this.fieldsIndex=i,this.featureAdapter=t;const n=e.outFields;if(n&&!n.includes("*")){this.outFields=n;let e=0;for(const t of n){const n=(0,c.Wq)(t),s=this.fieldsIndex.get(n),r=s?null:(0,c.j4)(n,i),a=s?s.name:(0,c.SY)(t)||"FIELD_EXP_"+e++;this._fieldDataCache.set(t,{alias:a,clause:r})}}}countDistinctValues(e){return this.returnDistinctValues?(e.forEach(e=>this.getAttributes(e)),this._returnDistinctMap.size):e.length}getAttributes(e){const t=this._processAttributesForOutFields(e);return this._processAttributesForDistinctValues(t)}getFieldValue(e,t,i){if(i)return this.featureAdapter.getAttribute(e,i.name);const n=t;let s=null;return this._fieldDataCache.has(n)?s=this._fieldDataCache.get(n)?.clause:i||(s=(0,c.j4)(t,this.fieldsIndex),this._fieldDataCache.set(n,{alias:n,clause:s})),s?.calculateValue(e,this.featureAdapter)}getDataValues(e,t,i=!0){const n=t.normalizationType,s=t.normalizationTotal,r=this.fieldsIndex.get(t.field),a=(0,d.zD)(r)||(0,d.Ah)(r),o=(0,d.OH)(r);return e.map(e=>{let r=t.field&&this.getFieldValue(e,t.field,this.fieldsIndex.get(t.field));if(t.field2?(r=`${(0,h.gJ)(r)}${t.fieldDelimiter}${(0,h.gJ)(this.getFieldValue(e,t.field2,this.fieldsIndex.get(t.field2)))}`,t.field3&&(r=`${r}${t.fieldDelimiter}${(0,h.gJ)(this.getFieldValue(e,t.field3,this.fieldsIndex.get(t.field3)))}`)):"string"==typeof r&&i&&(a?r=r?new Date(r).getTime():null:o&&(r=r?(0,f.rb)(r):null)),n&&Number.isFinite(r)){const i="field"===n&&t.normalizationField?this.getFieldValue(e,t.normalizationField,this.fieldsIndex.get(t.normalizationField)):null;r=(0,h.zS)(r,n,i,s)}return r})}async getExpressionValues(e,t,i,n,s){const{arcadeUtils:r}=await(0,m.l)(),a=r.hasGeometryOperations(t);a&&await r.enableGeometryOperations();const o=r.createFunction(t),l=r.getViewInfo(i),u={fields:this.fieldsIndex.fields};return e.map(e=>{const t={attributes:this.featureAdapter.getAttributes(e),layer:u,geometry:a?{...(0,p.pL)(n.geometryType,this.featureAdapter.getGeometry(e)),spatialReference:i?.spatialReference}:null},c=r.createExecContext(t,l,s);return r.executeFunction(o,c)})}validateItem(e,t){return this._fieldDataCache.has(t)||this._fieldDataCache.set(t,{alias:t,clause:(0,c.j4)(t,this.fieldsIndex)}),this._fieldDataCache.get(t)?.clause?.testFeature(e,this.featureAdapter)??!1}validateItems(e,t){return this._fieldDataCache.has(t)||this._fieldDataCache.set(t,{alias:t,clause:(0,c.j4)(t,this.fieldsIndex)}),this._fieldDataCache.get(t)?.clause?.testSet(e,this.featureAdapter)??!1}_processAttributesForOutFields(e){const t=this.outFields;if(!t?.length)return this.featureAdapter.getAttributes(e);const i={};for(const n of t){const{alias:t,clause:s}=this._fieldDataCache.get(n);i[t]=s?s.calculateValue(e,this.featureAdapter):this.featureAdapter.getAttribute(e,t)}return i}_processAttributesForDistinctValues(e){if(null==e||!this.returnDistinctValues)return e;const t=this.outFields,i=[];if(t)for(const n of t){const{alias:t}=this._fieldDataCache.get(n);i.push(e[t])}else for(const t in e)i.push(e[t]);const n=`${(t||["*"]).join(",")}=${i.join(",")}`;let s=this._returnDistinctMap.get(n)||0;return this._returnDistinctMap.set(n,++s),s>1?null:e}}var g=i(31464),x=i(58727);class v{constructor(e,t,i){this.objectId=e,this.target=t,this.distance=i}}class w extends v{constructor(e,t,i){super(e,t,i),this.type="vertex"}}class _ extends v{constructor(e,t,i,n,s,r=!1){super(e,t,i),this.start=n,this.end=s,this.draped=r,this.type="edge"}}var S=i(5834),F=i(59977),R=i(57231),I=i(11440),T=i(60909),M=i(98623),A=i(92647);const b="bin";class C{constructor(e,t,i){this.items=e,this.query=t,this.geometryType=i.geometryType,this.hasM=i.hasM,this.hasZ=i.hasZ,this.fieldsIndex=i.fieldsIndex,this.objectIdField=i.objectIdField,this.spatialReference=i.spatialReference,this.featureAdapter=i.featureAdapter}get size(){return this.items.length}createQueryResponseForCount(){const e=new y(this.query,this.featureAdapter,this.fieldsIndex);if(!this.query.outStatistics)return e.countDistinctValues(this.items);const{groupByFieldsForStatistics:t,having:i,outStatistics:n}=this.query,s=t?.length;if(!s)return 1;const r=new Map,a=new Map,o=new Set;for(const s of n){const{statisticType:n}=s,l="exceedslimit"!==n?s.onStatisticField:void 0;if(!a.has(l)){const i=[];for(const n of t){const t=this._getAttributeValues(e,n,this.items,r);i.push(t)}a.set(l,this._calculateUniqueValues(i,this.items,e.returnDistinctValues))}const u=a.get(l);for(const t in u){const{data:n,items:s}=u[t],r=n.join(",");i&&!e.validateItems(s,i)||o.add(r)}}return o.size}async createQueryResponse(){let e;if(e=this.query.outStatistics?this.query.outStatistics.some(e=>"exceedslimit"===e.statisticType)?this._createExceedsLimitQueryResponse():await this._createStatisticsQueryResponse(this.query,this.items):this._createFeatureQueryResponse(this.query),this.query.returnQueryGeometry){const t=this.query.geometry;(0,o.fn)(this.query.outSR)&&!(0,o.aI)(t.spatialReference,this.query.outSR)?e.queryGeometry=(0,p.ag)({spatialReference:this.query.outSR,...(0,g.Cv)(t,t.spatialReference,this.query.outSR)}):e.queryGeometry=(0,p.ag)({spatialReference:this.query.outSR,...t})}return e}createSnappingResponse(e,t,i){const n=this.featureAdapter,s=B(this.hasZ,this.hasM),{point:r}=e,a="number"==typeof e.distance?e.distance:e.distance.x,o="number"==typeof e.distance?e.distance:e.distance.y;function c(e,t){const i=(e-r.x)/a,n=(t-r.y)/o;return i*i+n*n}const p={candidates:[]},d="esriGeometryPolygon"===this.geometryType,f="esriGeometryPolyline"===this.geometryType||"esriGeometryPoint"===this.geometryType,h=this._getPointCreator(t,this.spatialReference,i),m=new O(null,0),y=new O(null,0),g={x:0,y:0,z:0};for(const e of this.items){const t=n.getObjectId(e),i=n.getGeometryWithCurves?.(e);if(null!=i){v(i,t);continue}const s=n.getGeometry(e);null==s||x(s,t)}return p.candidates.sort((e,t)=>e.distance-t.distance),p;function x(t,i){const{coords:n}=t,a=t.isPoint?P:t.lengths;if(m.coords=n,y.coords=n,e.returnEdge){let e=0;for(let t=0;t<a.length;t++){const n=a[t],o=e;for(let t=0;t<n;t++,e+=s){if(!d&&t===n-1)continue;if(m.coordsIndex=e,y.coordsIndex=t===n-1?o:e+s,!z(g,r,m,y))continue;const a=c(g.x,g.y);a<=1&&p.candidates.push(new _(i,h(g),Math.sqrt(a),h(m),h(y)))}}}if("all"===e.vertexMode){let e=0;for(let t=0;t<a.length;t++){const n=a[t],r=e,o=y;o.coordsIndex=r;for(let t=0;t<n;t++,e+=s){if(m.coordsIndex=e,d&&t===n-1&&m.x===o.x&&m.y===o.y)continue;const s=c(m.x,m.y);s<=1&&p.candidates.push(new w(i,h(m),Math.sqrt(s)))}}}else if(f&&"ends"===e.vertexMode){let e=0;const t=[];for(let i=0;i<a.length;i++){t.push(e);const n=a[i];e+=n*s,n>1&&t.push(e-s)}for(const e of t){m.coordsIndex=e;const t=c(m.x,m.y);t<=1&&p.candidates.push(new w(i,h(m),Math.sqrt(t)))}}}function v(t,i){const{candidates:n}=p,s={x:0,y:0,z:0};if(e.returnEdge){const e=[r.x,r.y],a=new O(e,0),o=new O(e,0);for(const{segments:r}of t.parts)for(const{start:t,curve:p}of r){const{curvePoint:r}=(0,l.y)(t,p,e),d=c(...r);d>1||([s.x,s.y]=r,a.coords=t,o.coords=(0,u.yP)(p),n.push(new _(i,h(s),Math.sqrt(d),h(a),h(o))))}}function a(e){s.x=t.vertexXY[2*e],s.y=t.vertexXY[2*e+1];const r=c(s.x,s.y);r>1||(s.z=t.vertexZ?.[e]??0,n.push(new w(i,h(s),Math.sqrt(r))))}if("all"===e.vertexMode){const{vertexCount:e}=t;for(let t=0;t<e;++t)a(t);return}if("ends"===e.vertexMode)switch(t.type){case"point":a(0);break;case"polyline":for(let e=0;e<t.partCount;++e){const i=t.partOffsets[e],n=t.partOffsets[e+1];a(i),n!==i&&a(n)}}}}_getPointCreator(e,t,i){const n=null==i||(0,o.aI)(t,i)?e=>e:e=>(0,g.Cv)(e,t,i),{hasZ:s}=this;return s&&e?({x:e,y:t,z:i})=>n({x:e,y:t,z:i}):({x:e,y:t})=>n({x:e,y:t,z:0})}async createSummaryStatisticsResponse(e){const{field:t,valueExpression:i,normalizationField:n,normalizationType:s,normalizationTotal:r,minValue:a,maxValue:o,scale:l,timeZone:u,outStatisticTypes:c}=e,p=this.fieldsIndex.get(t),f=(0,d.vE)(p)||(0,d.zD)(p)||(0,d.Ah)(p),m=await this._getDataValues({field:t,valueExpression:i,normalizationField:n,normalizationType:s,normalizationTotal:r,scale:l,timeZone:u},this.items),y=(0,h.Vb)({normalizationType:s,normalizationField:n,minValue:a,maxValue:o}),g={value:.5,fieldType:p?.type},x=(0,d.yM)(p)?(0,h.z9)({values:m,supportsNullCount:y,percentileParams:g,outStatisticTypes:c}):(0,h.G_)({values:m,minValue:a,maxValue:o,useSampleStdDev:!s,supportsNullCount:y,percentileParams:g,outStatisticTypes:c});return(0,h.oZ)(x,c,f)}async createUniqueValuesResponse(e){const{field:t,valueExpression:i,domains:n,returnAllCodedValues:s,scale:r,timeZone:a}=e,o=await this._getDataValues({field:t,field2:e.field2,field3:e.field3,fieldDelimiter:e.fieldDelimiter,valueExpression:i,scale:r,timeZone:a},this.items,!1),l=(0,h.b3)(o);return(0,h.lv)(l,n,s,e.fieldDelimiter)}async createClassBreaksResponse(e){const{field:t,valueExpression:i,normalizationField:n,normalizationType:s,normalizationTotal:r,classificationMethod:a,standardDeviationInterval:o,minValue:l,maxValue:u,numClasses:c,scale:p,timeZone:d}=e,f=await this._getDataValues({field:t,valueExpression:i,normalizationField:n,normalizationType:s,normalizationTotal:r,scale:p,timeZone:d},this.items),m=(0,h.Rw)(f,{field:t,normalizationField:n,normalizationType:s,normalizationTotal:r,classificationMethod:a,standardDeviationInterval:o,minValue:l,maxValue:u,numClasses:c});return(0,h.jM)(m,a)}async createHistogramResponse(e){const{field:t,valueExpression:i,normalizationField:n,normalizationType:s,normalizationTotal:r,classificationMethod:a,standardDeviationInterval:o,minValue:l,maxValue:u,numBins:c,scale:p,timeZone:d}=e,f=await this._getDataValues({field:t,valueExpression:i,normalizationField:n,normalizationType:s,normalizationTotal:r,scale:p,timeZone:d},this.items);return(0,h.$y)(f,{field:t,normalizationField:n,normalizationType:s,normalizationTotal:r,classificationMethod:a,standardDeviationInterval:o,minValue:l,maxValue:u,numBins:c})}_sortFeatures(e,t,i){if(e.length>1&&t?.length)for(const n of t.slice().reverse()){const t=n.split(" "),s=t[0],r=this.fieldsIndex.get(s),a=!!t[1]&&"desc"===t[1].toLowerCase(),o=(0,h.FM)(r?.type,a,"case-sensitive");e.sort((e,t)=>{const n=i(e,s,r),a=i(t,s,r);return o(n,a)})}}_createFeatureQueryResponse(e){const{items:t,geometryType:i,hasM:n,hasZ:s,objectIdField:r,spatialReference:o}=this,{outFields:l,outSR:u,quantizationParameters:c,resultRecordCount:d,resultOffset:f,returnZ:h,returnM:m}=e,y=null!=d&&t.length>(f||0)+d,g=l&&(l.includes("*")?[...this.fieldsIndex.fields]:l.map(e=>this.fieldsIndex.get(e)));return{exceededTransferLimit:y,features:this._createFeatures(e,t),fields:g,geometryType:i,hasM:n&&m,hasZ:s&&h,objectIdFieldName:r,spatialReference:(0,p.ag)(u||o),transform:c&&(0,a.VV)(c)||null}}_createFeatures(e,t){const i=new y(e,this.featureAdapter,this.fieldsIndex),{hasM:n,hasZ:s}=this,{orderByFields:r,quantizationParameters:o,returnGeometry:l,returnCentroid:u,maxAllowableOffset:c,resultOffset:d,resultRecordCount:f,returnZ:h=!1,returnM:m=!1}=e,g=s&&h,x=n&&m;let v=[],w=0;const _=[...t];if(this._sortFeatures(_,r,(e,t,n)=>i.getFieldValue(e,t,n)),this.geometryType&&(l||u)){const e=(0,a.VV)(o)??void 0,t="esriGeometryPolygon"===this.geometryType||"esriGeometryPolyline"===this.geometryType;if(l&&!u)for(const n of _){const s=this.featureAdapter.getGeometry(n),r=this._addFeatureJSONMetadata(n,{attributes:i.getAttributes(n),geometry:(0,p.pL)(this.geometryType,s,c,e,g,x)});t&&s&&!r.geometry&&(r.centroid=(0,p.LQ)(this,this.featureAdapter.getCentroid(n,this),e)),v[w++]=r}else if(!l&&u)for(const t of _)v[w++]=this._addFeatureJSONMetadata(t,{attributes:i.getAttributes(t),centroid:(0,p.LQ)(this,this.featureAdapter.getCentroid(t,this),e)});else for(const t of _)v[w++]=this._addFeatureJSONMetadata(t,{attributes:i.getAttributes(t),centroid:(0,p.LQ)(this,this.featureAdapter.getCentroid(t,this),e),geometry:(0,p.pL)(this.geometryType,this.featureAdapter.getGeometry(t),c,e,g,x)})}else for(const e of _){const t=i.getAttributes(e);t&&(v[w++]=this._addFeatureJSONMetadata(e,{attributes:t}))}const S=d||0;if(null!=f){const e=S+f;v=v.slice(S,Math.min(v.length,e))}return v}_addFeatureJSONMetadata(e,t){const i=this.featureAdapter.getMetadata?.(e);return void 0!==i&&(t.metadata=i),t}_createExceedsLimitQueryResponse(){let e=!1,t=Number.POSITIVE_INFINITY,i=Number.POSITIVE_INFINITY,n=Number.POSITIVE_INFINITY;for(const e of this.query.outStatistics??[])if("exceedslimit"===e.statisticType){t=null!=e.maxPointCount?e.maxPointCount:Number.POSITIVE_INFINITY,i=null!=e.maxRecordCount?e.maxRecordCount:Number.POSITIVE_INFINITY,n=null!=e.maxVertexCount?e.maxVertexCount:Number.POSITIVE_INFINITY;break}if("esriGeometryPoint"===this.geometryType)e=this.items.length>t;else if(this.items.length>i)e=!0;else{const t=B(this.hasZ,this.hasM),i=this.featureAdapter;e=this.items.reduce((e,t)=>{const n=i.getGeometry(t);return e+(null!=n&&n.coords.length||0)},0)/t>n}return{fields:[{name:"exceedslimit",type:"esriFieldTypeInteger",alias:"exceedslimit",sqlType:"sqlTypeInteger",domain:null,defaultValue:null}],features:[{attributes:{exceedslimit:Number(e)}}]}}async _createStatisticsQueryResponse(e,t,i={attributes:{}}){const n=[],s=new Map,r=new Map,a=new Map,o=new Map,l=new y(e,this.featureAdapter,this.fieldsIndex),u=e.outStatistics,{groupByFieldsForStatistics:c,having:p,orderByFields:f,resultRecordCount:h}=e,m=c?.length,g=!!m,x=g?c[0]:null,v=g&&!this.fieldsIndex.get(x);for(const e of u??[]){const{outStatisticFieldName:u,statisticType:f}=e,h=e,y="exceedslimit"!==f?e.onStatisticField:void 0,w="percentile_disc"===f||"percentile_cont"===f,_="EnvelopeAggregate"===f||"CentroidAggregate"===f||"ConvexHullAggregate"===f,S=g&&1===m&&(y===x||v)&&"count"===f;if(g){if(!a.has(y)){const e=[];for(const i of c){const n=this._getAttributeValues(l,i,t,s);e.push(n)}a.set(y,this._calculateUniqueValues(e,t,!_&&l.returnDistinctValues))}const e=a.get(y);if(!e)continue;const i=Object.keys(e);for(const n of i){const{count:i,data:r,items:a,itemPositions:d}=e[n],f=r.join(",");if(!p||l.validateItems(a,p)){const e=o.get(f)||{attributes:{}};if(_){e.aggregateGeometries||(e.aggregateGeometries={});const{aggregateGeometries:t,outStatisticFieldName:i}=await this._getAggregateGeometry(h,a);e.aggregateGeometries[i]=t}else{let n=null;if(S)n=i;else{const e=this._getAttributeValues(l,y,t,s),i=d.map(t=>e[t]);n=w&&"statisticParameters"in h?this._getPercentileValue(h,i):this._getStatisticValue(h,i,null,l.returnDistinctValues)}e.attributes[u]=n}let n=0;c.forEach((t,i)=>e.attributes[this.fieldsIndex.get(t)?t:"EXPR_"+ ++n]=r[i]),o.set(f,e)}}}else if(_){i.aggregateGeometries||(i.aggregateGeometries={});const{aggregateGeometries:e,outStatisticFieldName:n}=await this._getAggregateGeometry(h,t);i.aggregateGeometries[n]=e}else{const e=this._getAttributeValues(l,y,t,s);i.attributes[u]=w&&"statisticParameters"in h?this._getPercentileValue(h,e):this._getStatisticValue(h,e,r,l.returnDistinctValues)}const F="min"!==f&&"max"!==f||!(0,d.yM)(this.fieldsIndex.get(y))&&!this._isAnyDateField(y)?null:this.fieldsIndex.get(y)?.type;n.push({name:u,alias:u,type:F||"esriFieldTypeDouble"})}const w=g?Array.from(o.values()):[i];return this._sortFeatures(w,f,(e,t)=>e.attributes[t]),h&&(w.length=Math.min(h,w.length)),{fields:n,features:w}}_isAnyDateField(e){const t=this.fieldsIndex.get(e);return(0,d.vE)(t)||(0,d.zD)(t)||(0,d.Ah)(t)||(0,d.OH)(t)}async _getAggregateGeometry(e,t){const{convexHull:n,union:a}=await i.e(1023).then(i.bind(i,81023)),{statisticType:o,outStatisticFieldName:l}=e,{featureAdapter:u,spatialReference:c,geometryType:d}=this,f=t.map(e=>(0,p.pL)(d,u.getGeometry(e))),h=n(c,f,!0)[0],m={aggregateGeometries:null,outStatisticFieldName:null};if("EnvelopeAggregate"===o){const e=h?(0,r.v)(h):(0,r.HA)(a(c,f));m.aggregateGeometries={...e,spatialReference:c},m.outStatisticFieldName=l||"extent"}else if("CentroidAggregate"===o){const e=h?(0,s.l8)(h):(0,s.Z4)((0,r.HA)(a(c,f)));m.aggregateGeometries={x:e[0],y:e[1],spatialReference:c},m.outStatisticFieldName=l||"centroid"}else"ConvexHullAggregate"===o&&(m.aggregateGeometries=h,m.outStatisticFieldName=l||"convexHull");return m}_getStatisticValue(e,t,i,n){const{onStatisticField:s,statisticType:r}=e;let a=null;return a=i?.has(s)?i.get(s):(0,d.yM)(this.fieldsIndex.get(s))||this._isAnyDateField(s)?(0,h.z9)({values:t,returnDistinct:n}):(0,h.G_)({values:n?[...new Set(t)]:t,minValue:null,maxValue:null,useSampleStdDev:!0}),i&&i.set(s,a),a["var"===r?"variance":r]}_getPercentileValue(e,t){const{onStatisticField:i,statisticParameters:n,statisticType:s}=e,{value:r,orderBy:a}=n,o=this.fieldsIndex.get(i);return(0,h.qg)(t,{value:r,orderBy:a,fieldType:o?.type,isDiscrete:"percentile_disc"===s})}_getAttributeValues(e,t,i,n){if(n.has(t))return n.get(t);const s=this.fieldsIndex.get(t),r=i.map(i=>e.getFieldValue(i,t,s));return n.set(t,r),r}_calculateUniqueValues(e,t,i){const n={},s=t.length;for(let r=0;r<s;r++){const s=t[r],a=[];for(const t of e)a.push(t[r]);const o=a.join(",");null==n[o]?n[o]={count:1,data:a,items:[s],itemPositions:[r]}:(i||n[o].count++,n[o].items.push(s),n[o].itemPositions.push(r))}return n}async _getDataValues(e,t,i=!0){const s=new y(this.query,this.featureAdapter,this.fieldsIndex),{valueExpression:r,scale:a,timeZone:o}=e;return r?s.getExpressionValues(t,r,{viewingMode:"map",scale:a,spatialReference:this.query.outSR||this.spatialReference},{geometryType:this.geometryType,hasZ:this.hasZ,hasM:this.hasM},o):s.getDataValues(t,(0,n.o8)(e),i)}_calculateHistogramBins(e,t,i){if(null==t.min&&null==t.max)return[];const n=t.intervals,s=t.min??0,r=t.max??0,a=n.map(([e,t])=>({minValue:e,maxValue:t,count:0,items:[]}));for(let t=0;t<e.length;t++){const o=e[t],l=i[t];if(null!=o&&o>=s&&o<=r){const e=(0,h.Ak)(n,o);e>-1&&(a[e].count++,a[e].items.push(l))}}return a}async createQueryBinsResponse(e){const t=e.bin?.splitBy;if(!t)return this._createBinsResponse(e);const{value:i,outAlias:n,valueType:s}=t,r=[],a=[{name:n??i,alias:n??i,type:s??"esriFieldTypeString"},{name:b,alias:b,type:"esriFieldTypeInteger"}],o=new y(e,this.featureAdapter,this.fieldsIndex),l=new Map,u=[...this.items];this._sortFeatures(u,[i],(e,t,i)=>o.getFieldValue(e,t,i));const c=this._getAttributeValues(o,i,u,l),p=this._calculateUniqueValues([c],u,o.returnDistinctValues);for(const t in p){const{items:s}=p[t],o=await this._createBinsResponse(e,s);if(r.push(...o.features.map(e=>({...e,attributes:{...e.attributes,[n??i]:t}}))),o.fields)for(const e of o.fields)a.some(t=>t.name===e.name)||a.push(e)}return{fields:a,features:r}}async _createBinsResponse(e,t){const i=e.bin;switch(t=t??this.items,i.type){case"autoIntervalBin":return this._createAutoIntervalBinsResponse(S.A.fromJSON(i),e,t);case"dateBin":return this._createDateBinsResponse(F.A.fromJSON(i),e,t);case"fixedBoundariesBin":return this._createFixedBoundariesBinsResponse(I.A.fromJSON(i),e,t);case"fixedIntervalBin":return this._createFixedIntervalBinsResponse(T.A.fromJSON(i),e,t)}}async _createAutoIntervalBinsResponse(e,t,i){const{field:n,normalizationField:s,numBins:r,normalizationType:a,normalizationTotal:o,start:l,end:u}=e,c=await this._getDataValues({field:e.field||e.expression,normalizationField:e.normalizationField,normalizationType:e.normalizationType,normalizationTotal:e.normalizationTotal,timeZone:t.outTimeReference?.ianaTimeZone},i),p=(0,h.sU)(c,{field:n,normalizationField:s,normalizationType:a,normalizationTotal:o,numBins:r,minValue:(0,x.dO)(a?e.normalizationMinValue:l,!1),maxValue:(0,x.dO)(a?e.normalizationMaxValue:u,!1)}),d=this._calculateHistogramBins(c,p,i);return this._createFeaturesFromHistogramBins(d,t)}async _createDateBinsResponse(e,t,i){const{field:n,interval:s,start:r,end:a,snapToData:o,returnFullIntervalBin:l,offset:u,firstDayOfWeek:c}=e,p=s.unit,f=await this._getDataValues({field:e.field,timeZone:t.outTimeReference?.ianaTimeZone},i),h=(0,d.OH)(this.fieldsIndex.get(n)),m=R.g.toJSON(p),y=f.filter(Boolean).sort((e,t)=>e-t),g=null!=r?(0,x.dO)(r,h):y[0],v=null!=a?(0,x.dO)(a,h):y[y.length-1],w=[];if(null!=g&&null!=v){const e={zone:t.outTimeReference?.ianaTimeZone??M.n$},i=u?.unit?R.g.toJSON(u.unit):"milliseconds",n={[i]:u?.value||0},r=A.c9.fromMillis(g,e).minus(n),a=A.c9.fromMillis(v,e).minus(n),p="number"==typeof c&&c>=1&&c<=7?c:7,d=(e,t)=>{const i=(e.weekday-t+7)%7;return e.minus({days:i}).startOf("day")};if("last"===o){let e="week"===m?((e,t)=>d(e,t).plus({days:7}))(a,p):a;for(;e>r;){const t=e.minus({[m]:s.value});if(t<r){w.unshift([l?t.plus(n).toMillis():r.plus(n).toMillis(),e.plus(n).toMillis()]);break}w.unshift([t.plus(n).toMillis(),e.plus(n).toMillis()]),e=t}}else{let e="first"===o?r:"week"===m?d(r,p):r.startOf(m);for(;e<=a;){const t=e.plus({[m]:s.value});if(t>a){w.push([e.plus(n).toMillis(),l?t.plus(n).toMillis():a.plus(n).toMillis()]);break}w.push([e.plus(n).toMillis(),t.plus(n).toMillis()]),e=t}}}const _=this._calculateHistogramBins(f,{intervals:w,min:g,max:v},i);return this._createFeaturesFromHistogramBins(_,t)}async _createFixedBoundariesBinsResponse(e,t,i){const{field:n}=e,s=await this._getDataValues({field:n,timeZone:t.outTimeReference?.ianaTimeZone},i),r=(0,d.OH)(this.fieldsIndex.get(n)),a=e.boundaries.map(e=>(0,x.dO)(e,r)).sort((e,t)=>e-t),o=[];for(let e=0;e<a.length-1;e++)o.push([a[e],a[e+1]]);const l={intervals:o,min:a.at(0),max:a.at(-1)},u=this._calculateHistogramBins(s,l,i);return this._createFeaturesFromHistogramBins(u,t)}async _createFixedIntervalBinsResponse(e,t,i){const{field:n,interval:s,normalizationType:r,start:a,end:o}=e,l=await this._getDataValues({field:e.field,normalizationField:e.normalizationField,normalizationType:r,normalizationTotal:e.normalizationTotal,timeZone:t.outTimeReference?.ianaTimeZone},i),u=(0,d.OH)(this.fieldsIndex.get(n)),c=(0,h.sU)(l,{field:n,classificationMethod:"defined-interval",definedInterval:s,minValue:(0,x.dO)(r?e.normalizationMinValue:a,u),maxValue:(0,x.dO)(r?e.normalizationMaxValue:o,u)},!0),p=this._calculateHistogramBins(l,c,i);return this._createFeaturesFromHistogramBins(p,t)}async _createFeaturesFromHistogramBins(e,t){const{upperBoundaryAlias:i,lowerBoundaryAlias:n}=t,s=n||"lowerBoundary",r=i||"upperBoundary",a=[],o=[{name:s,alias:s,type:"esriFieldTypeDouble"},{name:r,alias:r,type:"esriFieldTypeDouble"}],l=t.bin?.stackBy?.value,u=t.bin?.stackBy?.outAlias;l&&o.push({name:b,alias:b,type:"esriFieldTypeInteger"},{name:u??l,alias:u??l,type:"esriFieldTypeString"});let c=0;const p="dateBin"===t.bin.type,d=t.outTimeReference?.ianaTimeZone;for(const i of e){const{minValue:e,maxValue:n,items:f}=i,h={attributes:{}};let m;if(h.attributes[s]=p&&d&&null!=e?A.c9.fromMillis(e,{zone:d}).toISO():e,t.bin.hideUpperBound||(h.attributes[r]=p&&d&&null!=n?A.c9.fromMillis(n,{zone:d}).toISO():n),l?(m=await this._createStatisticsQueryResponse({...t,groupByFieldsForStatistics:[l],orderByFields:[l]},f),h.attributes[b]=++c,"flat"===t.bin.jsonStyle?a.push(...m.features.map(({attributes:{EXPR_1:e,...t},...i})=>({...i,attributes:u??e?{...t,[u??e]:e,...h.attributes}:{...t,...h.attributes}}))):(h.stackedAttributes=m.features.map(({attributes:{EXPR_1:e,...t}})=>u??e?{...t,[u??e]:e}:t),a.push(h))):(t.bin?.splitBy&&(h.attributes[b]=++c),m=await this._createStatisticsQueryResponse(t,f,h),a.push(h)),m.fields)for(const e of m.fields)o.some(t=>t.name===e.name)||o.push(e)}return"desc"===t.binOrder&&a.reverse(),{fields:o,features:a}}}function z(e,t,i,n){const s=n.x-i.x,r=n.y-i.y,a=t.x-i.x,o=t.y-i.y,l=s*s+r*r;if(0===l)return!1;const u=a*s+o*r,c=Math.min(1,Math.max(0,u/l));return e.x=i.x+s*c,e.y=i.y+r*c,!0}function B(e,t){return e?t?4:3:t?3:2}class O{constructor(e,t){this.coords=e,this.coordsIndex=t}get x(){return this.coords[this.coordsIndex]}get y(){return this.coords[this.coordsIndex+1]}get z(){return this.coords[this.coordsIndex+2]}}const P=[1]},9762(e,t,i){i.r(t),i.d(t,{projectBuffer:()=>s});var n=i(49208);function s(e,t,i,s,r,a,o=Math.floor(e.length/3)){const l=(0,n.jd)(t,r);if(null==l)return!1;if(l===n.pO){if(e===s&&i===a)return!0;const t=i+3*o;for(let n=i,r=a;n<t;n++,r++)s[r]=e[n]??0;return!0}const u=i+3*o;for(let t=i,n=a;t<u;t+=3,n+=3)l(e,t,s,n);return!0}},11006(e,t,i){function n(e,t,i,n,r){s(e,t,i||0,n||e.length-1,r||a)}function s(e,t,i,n,a){for(;n>i;){if(n-i>600){var o=n-i+1,l=t-i+1,u=Math.log(o),c=.5*Math.exp(2*u/3),p=.5*Math.sqrt(u*c*(o-c)/o)*(l-o/2<0?-1:1);s(e,t,Math.max(i,Math.floor(t-l*c/o+p)),Math.min(n,Math.floor(t+(o-l)*c/o+p)),a)}var d=e[t],f=i,h=n;for(r(e,i,t),a(e[n],d)>0&&r(e,i,n);f<h;){for(r(e,f,h),f++,h--;a(e[f],d)<0;)f++;for(;a(e[h],d)>0;)h--}0===a(e[i],d)?r(e,i,h):r(e,++h,n),h<=t&&(i=h+1),t<=h&&(n=h-1)}}function r(e,t,i){var n=e[t];e[t]=e[i],e[i]=n}function a(e,t){return e<t?-1:e>t?1:0}i.d(t,{q:()=>n})},11440(e,t,i){i.d(t,{A:()=>u});var n=i(5482),s=i(93637),r=i(91429),a=i(56507),o=i(41266),l=i(93223);let u=class extends o.A{constructor(e){super(e),this.boundaries=[],this.type="fixed-boundaries"}};(0,n.Cg)([(0,r.MZ)({json:{name:"parameters.boundaries",write:{writer:function(e,t,i){(0,s.sM)(i,e&&function(e){return e[0]instanceof Date}(e)?e.map(e=>e.getTime()):e,t)}}}})],u.prototype,"boundaries",void 0),(0,n.Cg)([(0,l.e)({fixedBoundariesBin:"fixed-boundaries"},{readOnly:!0})],u.prototype,"type",void 0),u=(0,n.Cg)([(0,r.$K)("esri.rest.support.FixedBoundariesBinParameters")],u),u.from=(0,a.dp)(u)},17136(e,t,i){i.d(t,{Y_:()=>A,O7:()=>T,el:()=>I});var n=i(92602),s=i(69052),r=i(49186),a=i(53966),o=i(39829),l=i(82799),u=i(16930),c=i(80754),p=i(21325),d=i(28735),f=i(11254),h=i(60408),m=i(65864),y=i(2272),g=i(84952),x=i(92300);const v=()=>a.A.getLogger("esri.geometry.support.normalizeUtils");function w(e){return"polygon"===e[0].type}function _(e){return"polyline"===e[0].type}function S(e,t,i){if(t){const t=function(e,t){if(!(e instanceof l.A||e instanceof o.A)){const e="straightLineDensify: the input geometry is neither polyline nor polygon";throw v().error(e),new r.A("internal:geometry",e)}const i=(0,c.r8)(e),n=[];for(const e of i){const i=[];n.push(i),i.push([e[0][0],e[0][1]]);for(let n=0;n<e.length-1;n++){const s=e[n][0],r=e[n][1],a=e[n+1][0],o=e[n+1][1],l=Math.sqrt((a-s)*(a-s)+(o-r)*(o-r)),u=(o-r)/l,c=(a-s)/l,p=l/t;if(p>1){for(let e=1;e<=p-1;e++){const n=e*t,a=c*n+s,o=u*n+r;i.push([a,o])}const e=(l+Math.floor(p-1)*t)/2,n=c*e+s,a=u*e+r;i.push([n,a])}i.push([a,o])}}return function(e){return"polygon"===e.type}(e)?new o.A({rings:n,spatialReference:e.spatialReference}):new l.A({paths:n,spatialReference:e.spatialReference})}(e,1e6);e=(0,d.ci)(t,!0)}return i&&(e=(0,c.kS)(e,i)),e}function F(e,t,i){if(Array.isArray(e)){const n=e[0];if(n>t){const i=(0,c.kd)(n,t);e[0]=n+i*(-2*t)}else if(n<i){const t=(0,c.kd)(n,i);e[0]=n+t*(-2*i)}}else{const n=e.x;if(n>t){const i=(0,c.kd)(n,t);e=e.clone().offset(i*(-2*t),0)}else if(n<i){const t=(0,c.kd)(n,i);e=e.clone().offset(t*(-2*i),0)}}return e}function R(e,t){let i=-1;for(let n=0;n<t.cutIndexes.length;n++){const s=t.cutIndexes[n],r=t.geometries[n],a=(0,c.r8)(r);for(let e=0;e<a.length;e++){const t=a[e];t.some(i=>{if(i[0]<180)return!0;{let i=0;for(let e=0;e<t.length;e++){const n=t[e][0];i=n>i?n:i}i=Number(i.toFixed(9));const n=-360*(0,c.kd)(i,180);for(let i=0;i<t.length;i++){const t=r.getPoint(e,i);r.setPoint(e,i,t.clone().offset(n,0))}return!0}})}if(s===i){if(w(e))for(const t of(0,c.r8)(r))e[s]=e[s].addRing(t);else if(_(e))for(const t of(0,c.r8)(r))e[s]=e[s].addPath(t)}else i=s,e[s]=r}return e}async function I(e,t,i){if(!Array.isArray(e))return I([e],t);t&&"string"!=typeof t&&v().warn("normalizeCentralMeridian()","The url object is deprecated, use the url string instead");const s="string"==typeof t?t:t?.url??n.A.geometryServiceUrl;let r,a,u,w,_,T,M,A,b=0;const C=[],z=[];for(const t of e)if(null!=t)if(r||(r=t.spatialReference,a=(0,p.Vp)(r),u=r.isWebMercator,T=u?102100:4326,w=c.j7[T].maxX,_=c.j7[T].minX,M=c.j7[T].plus180Line,A=c.j7[T].minus180Line),a)if("mesh"===t.type)z.push(t);else if("point"===t.type)z.push(F(t.clone(),w,_));else if("multipoint"===t.type){const e=t.clone();e.points=e.points.map(e=>F(e,w,_)),z.push(e)}else if("extent"===t.type){const e=t.clone()._normalize(!1,!1,a);z.push(e.rings?new o.A(e):e)}else if(t.extent){const e=t.extent,i=(0,c.kd)(e.xmin,_)*(2*w);let n=0===i?t.clone():(0,c.kS)(t.clone(),i);e.offset(i,0);let{xmin:s,xmax:r}=e;s=Number(s.toFixed(9)),r=Number(r.toFixed(9)),e.intersects(M)&&r!==w?(b=r>b?r:b,n=S(n,u),C.push(n),z.push("cut")):e.intersects(A)&&s!==_?(b=r*(2*w)>b?r*(2*w):b,n=S(n,u,360),C.push(n),z.push("cut")):z.push(n)}else z.push(t.clone());else z.push(t);else z.push(t);let B=(0,c.kd)(b,w),O=-90;const P=B,G=new l.A;for(;B>0;){const e=360*B-180;G.addPath([[e,O],[e,-1*O]]),O*=-1,B--}if(C.length>0&&P>0){const t=R(C,await async function(e,t,i,n){const s=(0,y.Dl)(e),r=t[0].spatialReference,a={...n,responseType:"json",query:{...s.query,f:"json",sr:(0,p.YX)(r),target:JSON.stringify({geometryType:(0,h.$B)(t[0]),geometries:t}),cutter:JSON.stringify(i)}},o=await(0,f.A)(s.path+"/cut",a),{cutIndexes:l,geometries:u=[]}=o.data;return{cutIndexes:l,geometries:u.map(e=>{const t=(0,m.rS)(e);return t.spatialReference=r,t})}}(s,C,G,i)),n=[],r=[];for(let i=0;i<z.length;i++){const s=z[i];if("cut"!==s)r.push(s);else{const s=t.shift(),a=e[i];null!=a&&"polygon"===a.type&&a.rings&&a.rings.length>1&&s.rings.length>=a.rings.length?(n.push(s),r.push("simplify")):r.push(u?(0,d.Gh)(s):s)}}if(!n.length)return r;const a=await async function(e,t,i){const n="string"==typeof e?(0,g.An)(e):e,s=t[0].spatialReference,r=(0,h.$B)(t[0]),a={...i,query:{...n.query,f:"json",sr:(0,p.YX)(s),geometries:JSON.stringify((0,x.X)(t))}},{data:o}=await(0,f.A)(n.path+"/simplify",a);return(0,x.V)(o.geometries,r,s)}(s,n,i),o=[];for(let e=0;e<r.length;e++){const t=r[e];"simplify"!==t?o.push(t):o.push(u?(0,d.Gh)(a.shift()):a.shift())}return o}const q=[];for(let e=0;e<z.length;e++){const t=z[e];if("cut"!==t)q.push(t);else{const e=C.shift();q.push(!0===u?(0,d.Gh)(e):e)}}return q}function T(e,t,i){const n=(0,p.Vp)(i);if(null==n)return e;const[s,r]=n.valid,a=2*r;let o=0,l=0;t>r?o=Math.ceil(Math.abs(t-r)/a):t<s&&(o=-Math.ceil(Math.abs(t-s)/a)),e>r?l=Math.ceil(Math.abs(e-r)/a):e<s&&(l=-Math.ceil(Math.abs(e-s)/a));let u=e+(o-l)*a;const c=u-t;return c>r?u-=a:c<s&&(u+=a),u}function M(e){const t=(0,p.Vp)(e);if(null==t)return null;const[i,n]=t.valid;return new s.hr(i,n)}const A=M(u.A.WGS84);M(u.A.WebMercator)},29441(e,t,i){i.d(t,{MG:()=>x,SN:()=>f,SY:()=>g,VW:()=>c,Wq:()=>y,eD:()=>h,j4:()=>m,vl:()=>u});var n=i(49186),s=i(44123),r=i(98453);const a=new s.WhereClauseCache(50,500),o="unsupported-query",l=" as ",u=new Set(["esriFieldTypeOID","esriFieldTypeSmallInteger","esriFieldTypeBigInteger","esriFieldTypeInteger","esriFieldTypeSingle","esriFieldTypeDouble","esriFieldTypeLong"]),c=new Set(["esriFieldTypeDate","esriFieldTypeDateOnly","esriFieldTypeTimeOnly","esriFieldTypeTimestampOffset"]),p=new Set(["esriFieldTypeString","esriFieldTypeGUID","esriFieldTypeGlobalID",...u,...c]);function d(e,t,i={}){const s=m(t,e);if(!s){const i=a.getError(t,e);throw new n.A(o,"invalid SQL expression",{expression:t,error:i})}const r=i.expressionName||"expression";if(i.validateStandardized&&!s.isStandardized)throw new n.A(o,`${r} is not standard`,{expression:t});if(i.validateAggregate&&!s.isAggregate)throw new n.A(o,`${r} does not contain a valid aggregate function`,{expression:t});return s.fieldNames}function f(e,t,i,n){if(!i)return!0;const s="where clause";return x(e,t,d(e,i,{validateStandardized:!0,expressionName:s}),{expressionName:s,query:n}),!0}function h(e,t,i,s,r){if(!i)return!0;const a="having clause",l=d(e,i,{validateAggregate:!0,expressionName:a});x(e,t,l,{expressionName:a,query:r});const u=m(i,e),c=u?.getExpressions().every(t=>{const{aggregateType:i,field:n}=t,r=e.get(n)?.name;return s.some(t=>{const{onStatisticField:n,statisticType:s}=t,a=e.get(n)?.name;return a===r&&s.toLowerCase().trim()===i})});if(!c)throw new n.A(o,"expressions in having clause should also exist in outStatistics",{having:i});return!0}function m(e,t){return e?a.get(e,t):null}function y(e){return/\((.*?)\)/.test(e)?e:e.split(l)[0]}function g(e){return e.split(l)[1]}function x(e,t,i,s={}){const r=new Map;if(function(e,t,i,n,s){const r=s.includes("*")?[...i,...s.filter(e=>"*"!==e)]:s;for(const s of r)if(t.get(s))v(e,t,i,n,s);else try{const r=d(t,y(s),{validateStandardized:!0});for(const s of r)v(e,t,i,n,s)}catch(t){e.set(s,{type:"expression-error",expression:s,error:t})}}(r,e,t,s.allowedFieldTypes??p,i),r.size){const e=s.expressionName??"expression";throw new n.A(o,`${e} contains invalid or missing fields`,{errors:Array.from(r.values()),query:s.query})}}function v(e,t,i,n,s){const a=t.get(s);a?i.has(a.name)?"all"!==n&&!1===n?.has(a.type)&&e.set(s,{type:"invalid-type",fieldName:a.name,fieldType:r.m.fromJSON(a.type),allowedFieldTypes:Array.from(n,e=>r.m.fromJSON(e))}):e.set(s,{type:"missing-field",fieldName:a.name}):e.set(s,{type:"invalid-field",fieldName:s})}},31464(e,t,i){i.d(t,{Cv:()=>m,Nk:()=>d,lK:()=>g});var n=i(4576),s=i(74887),r=i(91218),a=i(21325),o=i(28735);const l=[0,0];function u(e,t){if(!t)return null;if("x"in t){const i={x:0,y:0};return[i.x,i.y]=e(t.x,t.y,l),null!=t.z&&(i.z=t.z),null!=t.m&&(i.m=t.m),i}if("xmin"in t){const i={xmin:0,ymin:0,xmax:0,ymax:0};return[i.xmin,i.ymin]=e(t.xmin,t.ymin,l),[i.xmax,i.ymax]=e(t.xmax,t.ymax,l),t.hasZ&&(i.zmin=t.zmin,i.zmax=t.zmax,i.hasZ=!0),t.hasM&&(i.mmin=t.mmin,i.mmax=t.mmax,i.hasM=!0),i}return"rings"in t?{rings:c(t.rings,e),hasM:t.hasM,hasZ:t.hasZ}:"paths"in t?{paths:c(t.paths,e),hasM:t.hasM,hasZ:t.hasZ}:"points"in t?{points:p(t.points,e),hasM:t.hasM,hasZ:t.hasZ}:null}function c(e,t){const i=[];for(const n of e)i.push(p(n,t));return i}function p(e,t){const i=[];for(const n of e){const e=t(n[0],n[1],[0,0]);i.push(e),n.length>2&&e.push(n[2]),n.length>3&&e.push(n[3])}return i}async function d(e,t){if(!e||!t)return;const i=Array.isArray(e)?e.map(e=>null!=e.geometry?e.geometry.spatialReference:null).filter(n.Ru):[e];await(0,r.initializeProjection)(i.map(e=>({source:e,dest:t})))}const f=u.bind(null,o.je),h=u.bind(null,o.tD);function m(e,t,i,n){if(!e)return null;if(i||(i=t,t=e.spatialReference),!(0,a.fn)(t)||!(0,a.fn)(i)||(0,a.aI)(t,i))return e;if((0,o.y7)(t,i)){const t=(0,a.K8)(i)?f(e):h(e);return t.spatialReference=i,t}return(0,r.projectMany)([e],t,i,n)[0]}const y=new class{constructor(){this._jobs=[],this._timer=null,this._process=this._process.bind(this)}async push(e,t,i,n){if(!e?.length||!t||!i||(0,a.aI)(t,i))return e;const r={geometries:e,inSpatialReference:t,outSpatialReference:i,options:n,resolve:(0,s.Tw)()};return this._jobs.push(r),this._timer??=setTimeout(this._process,10),r.resolve.promise}_process(){this._timer=null;const e=this._jobs.shift();if(!e)return;const{geometries:t,inSpatialReference:i,outSpatialReference:n,resolve:s,options:l}=e,u=t.filter(e=>null!=e);let c;c=(0,o.y7)(i,n)&&null==l?.extendedParams?(0,a.K8)(n)?u.map(f):u.map(h):(0,r.projectMany)(u,i,n,l);let p=0;s(t.map(e=>null==e?null:c[p++])),this._jobs.length>0&&(this._timer=setTimeout(this._process,10))}};function g(e,t,i,n){return y.push(e,t,i,n)}},34403(e,t,i){i.d(t,{TP:()=>a});var n=i(79258);Math.PI;const s=n.$O.radius,r=n.$O.eccentricitySquared,a={a1:s*r,a2:s*r*s*r,a3:s*r*r/2,a4:s*r*s*r*2.5,a5:s*r+s*r*r/2,a6:1-r};n.$O.radius,n.$O.flattening,n.Sw.radius,n.Sw.flattening,n.sH.radius,n.sH.flattening,n.sH.radius},41266(e,t,i){i.d(t,{A:()=>m});var n=i(5482),s=i(69540),r=i(66552),a=i(25482),o=i(91429),l=i(56507),u=i(93223);const c=new r.J({esriFieldTypeInteger:"integer",esriFieldTypeString:"string"});let p=class extends((0,s.OU)(a.o)){constructor(e){super(e),this.alias=null,this.responseType=null,this.type=null,this.value=null,this.valueType=null}};(0,n.Cg)([(0,o.MZ)({type:String,json:{name:"outAlias",write:!0}})],p.prototype,"alias",void 0),(0,n.Cg)([(0,o.MZ)({type:String})],p.prototype,"responseType",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],p.prototype,"type",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],p.prototype,"value",void 0),(0,n.Cg)([(0,u.e)(c)],p.prototype,"valueType",void 0),p=(0,n.Cg)([(0,o.$K)("esri.rest.support.AttributeBinsGrouping")],p);const d=p;p.from=(0,l.dp)(p);const f=new r.J({esriFieldTypeSmallInteger:"small-integer",esriFieldTypeInteger:"integer",esriFieldTypeSingle:"single",esriFieldTypeDouble:"double",esriFieldTypeLong:"long",esriFieldTypeDate:"date",esriFieldTypeDateOnly:"date-only",esriFieldTypeTimeOnly:"time-only",esriFieldTypeTimestampOffset:"timestamp-offset"}),h=new r.J({naturalLog:"natural-log",squareRoot:"square-root"});let m=class extends((0,s.OU)(a.o)){constructor(e){super(e),this.expression=null,this.expressionValueType=null,this.field=null,this.firstDayOfWeek=null,this.hideUpperBound=null,this.splitBy=null,this.stackBy=null,this.transformation=null}};(0,n.Cg)([(0,o.MZ)({type:String,json:{name:"onExpression.value",write:!0}})],m.prototype,"expression",void 0),(0,n.Cg)([(0,u.e)(f,{name:"onExpression.valueType"})],m.prototype,"expressionValueType",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{name:"onField",write:!0}})],m.prototype,"field",void 0),(0,n.Cg)([(0,o.MZ)({type:Number,json:{write:!0}})],m.prototype,"firstDayOfWeek",void 0),(0,n.Cg)([(0,o.MZ)({type:Boolean,json:{write:!0}})],m.prototype,"hideUpperBound",void 0),(0,n.Cg)([(0,o.MZ)({type:d,json:{write:{overridePolicy(){return{enabled:null!=this.splitBy?.value||null!=this.splitBy?.type}}}}})],m.prototype,"splitBy",void 0),(0,n.Cg)([(0,o.MZ)({type:d,json:{write:{target:{stackBy:{type:d},jsonStyle:{type:String}},writer:(e,t)=>{e&&(t.stackBy=e.toJSON(),null!=e.responseType&&(t.jsonStyle=e.responseType))},overridePolicy(){return{enabled:null!=this.stackBy?.value||null!=this.stackBy?.type}}},read:{source:["stackBy","jsonStyle"],reader:(e,t)=>d.fromJSON({...t.stackBy,responseType:t.jsonStyle})}}})],m.prototype,"stackBy",void 0),(0,n.Cg)([(0,u.e)(h)],m.prototype,"transformation",void 0),m=(0,n.Cg)([(0,o.$K)("esri.rest.support.BinParametersBase")],m)},41366(e,t,i){i.d(t,{K:()=>p,Q:()=>l});var n=i(5482),s=i(66552),r=i(53966),a=i(91429),o=i(93223);const l=(0,s.O)()({naturalLog:"natural-log",squareRoot:"square-root",percentOfTotal:"percent-of-total",log:"log",field:"field"}),u="percent-of-total",c="field",p=e=>{const t=e;let i=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,i=null!=this.normalizationTotal;return t||i?(e=t&&c||i&&u||null,t&&i&&r.A.getLogger(this).warn("warning: both normalizationField and normalizationTotal are set!")):e!==c&&e!==u||(e=null),e}set normalizationType(e){this._set("normalizationType",e)}};return(0,n.Cg)([(0,a.MZ)({type:String,json:{name:"parameters.normalizationField",write:!0}})],i.prototype,"normalizationField",void 0),(0,n.Cg)([(0,a.MZ)({type:Number,json:{name:"parameters.normalizationMaxValue",write:!0}})],i.prototype,"normalizationMaxValue",void 0),(0,n.Cg)([(0,a.MZ)({type:Number,json:{name:"parameters.normalizationMinValue",write:!0}})],i.prototype,"normalizationMinValue",void 0),(0,n.Cg)([(0,a.MZ)({type:Number,json:{name:"parameters.normalizationTotal",write:!0}})],i.prototype,"normalizationTotal",void 0),(0,n.Cg)([(0,o.e)(l,{name:"parameters.normalizationType"})],i.prototype,"normalizationType",null),i=(0,n.Cg)([(0,a.$K)("esri.rest.support.NormalizationBinParametersMixin")],i),i}},44123(e,t,i){i.d(t,{WhereClauseCache:()=>r});var n=i(66344),s=i(89696);class r{constructor(e,t){this._cache=new n.q(e),this._invalidCache=new n.q(t)}get(e,t){const i=`${t?.uid}:${e}`,n=this._cache.get(i);if(n)return n;if(null!=this._invalidCache.get(i))return null;try{const n=s.A.create(e,{fieldsIndex:t});return this._cache.put(i,n),n}catch(e){return this._invalidCache.put(i,e),null}}getError(e,t){const i=`${t?.uid}:${e}`;return this._invalidCache.get(i)??null}}},44794(e,t,i){i.d(t,{v:()=>o});var n=i(4718),s=i(62788),r=i(95488);class a{constructor(e,t){this._observable=new r.I,this._value=e,this._equalityFunction=t}get value(){return(0,s.gc)(this._observable),this._value}set value(e){this._equalityFunction(e,this._value)||(this._value=e,this._observable.notify())}mutate(e){e(this._value),this._observable.notify()}}function o(e,t=n.gh){return new a(e,t)}},46329(e,t,i){i.d(t,{y:()=>p});var n=i(49186),s=i(4305),r=i(513),a=i(50954),o=i(52006),l=i(49663),u=i(46068),c=i(59803);function p(e,t,i){if((0,o.Xq)(t))return(0,c.T)(e,t,i);if((0,o.n1)(t)){const r=(0,s.m_)(e,t,i)[0];if(null==r)throw new n.A("closestPointOnCurve:unexpected-error","Failed to find close point on bezier curve");return r}if((0,o.aO)(t)){const n=(0,a.pM)(e,t);return(0,r.fM)(n,i)}if((0,o.DA)(t)){const n=(0,l.i)(e,t);return(0,r.fM)(n,i)}const p=(0,u.SW)(e,t);return(0,u.pb)(p,i)}},49208(e,t,i){i.d(t,{Tp:()=>p,jd:()=>c,pO:()=>f,w5:()=>u});var n=i(34727),s=i(86211),r=i(73941),a=i(79258),o=i(34403),l=i(21325);const u={2:{5:f,7:null,9:null,10:f,1:_,6:null,8:null,0:null,3:m,11:y,2:f,4:T},5:{5:f,7:null,9:null,10:f,1:_,6:null,8:null,0:null,3:m,11:y,2:f,4:T},7:{5:null,7:f,9:null,10:f,1:null,6:w,8:null,0:null,3:null,11:null,2:null,4:null},9:{5:null,7:null,9:f,10:f,1:null,6:null,8:v,0:null,3:null,11:null,2:null,4:null},3:{5:h,7:null,9:null,10:h,1:function(e,t,i,n){const s=e[t]/B,r=z-2*Math.atan(Math.exp(-e[t+1]/B)),a=B+(e[t+2]??0),o=Math.cos(r)*a;i[n]=Math.cos(s)*o,i[n+1]=Math.sin(s)*o,i[n+2]=Math.sin(r)*a},6:null,8:null,0:null,3:f,11:function(e,t,i,n){h(e,t,i,n),y(i,n,i,n)},2:h,4:function(e,t,i,n){h(e,t,i,n),T(i,n,i,n)}},4:{5:M,7:null,9:null,10:M,1:function(e,t,i,n){M(e,t,i,n),_(i,n,i,n)},6:null,8:null,0:null,3:function(e,t,i,n){M(e,t,i,n),m(i,n,i,n)},11:function(e,t,i,n){M(e,t,i,n),y(i,n,i,n)},2:M,4:f},1:{5:I,7:null,9:null,10:I,1:f,6:null,8:null,0:null,3:function(e,t,i,n){I(e,t,i,n),m(i,n,i,n)},11:function(e,t,i,n){I(e,t,i,n),y(i,n,i,n)},2:I,4:function(e,t,i,n){I(e,t,i,n),T(i,n,i,n)}},6:{5:null,7:R,9:null,10:R,1:null,6:f,8:null,0:null,3:null,11:null,2:null,4:null},8:{5:null,7:null,9:F,10:F,1:null,6:null,8:f,0:null,3:null,11:null,2:null,4:null},0:{5:null,7:null,9:null,10:null,1:null,6:null,8:null,0:f,3:null,11:null,2:null,4:null},10:{5:f,7:f,9:f,10:f,1:_,6:w,8:v,0:null,3:m,11:y,2:f,4:T},11:{5:g,7:null,9:null,10:g,1:function(e,t,i,n){g(e,t,i,n),_(i,n,i,n)},6:null,8:null,0:null,3:function(e,t,i,n){g(e,t,i,n),m(i,n,i,n)},11:f,2:g,4:function(e,t,i,n){g(e,t,i,n),T(i,n,i,n)}}};function c(e,t){return p(e,t)?.projector}function p(e,t){if(null==e||null==t)return null;if(A.source.spatialReference===e&&A.dest.spatialReference===t)return A;const i=d(e,A.source),n=d(t,A.dest);return 0===i&&0===n?(0,l.aI)(e,t)?A.projector=f:A.projector=null:A.projector=u[i][n],A}function d(e,t){return e?t.spatialReference===e?t.spatialReferenceId:(t.spatialReference=e,"metersPerUnit"in t&&(t.metersPerUnit=(0,s.GA)(e,1)),(0,r.jA)(e)?t.spatialReferenceId=1:(0,l.oT)(e)?t.spatialReferenceId=2:(0,l.K8)(e)?t.spatialReferenceId=3:(0,l.r1)(e)?t.spatialReferenceId=11:e.wkt===r.Ro.wkt?t.spatialReferenceId=4:4490===e.wkid?t.spatialReferenceId=5:e.wkt===r.FY.wkt?t.spatialReferenceId=6:e.wkt===r.LJ.wkt?t.spatialReferenceId=8:(0,r.q8)(e)?t.spatialReferenceId=7:(0,r.KQ)(e)?t.spatialReferenceId=9:t.spatialReferenceId=0):0}function f(e,t,i,n){e!==i&&(i[n++]=e[t++],i[n++]=e[t++],i[n]=e[t]??0)}function h(e,t,i,n){i[n]=C*(e[t]/B),i[n+1]=C*(z-2*Math.atan(Math.exp(-e[t+1]/B))),i[n+2]=e[t+2]??0}function m(e,t,i,s){!function(e,t,i,s,r){const a=.4999999*Math.PI,o=(0,n.qE)(b*e[t+1],-a,a),l=Math.sin(o);i[s++]=b*e[t]*r.radius,i[s++]=r.halfSemiMajorAxis*Math.log((1+l)/(1-l)),i[s]=e[t+2]??0}(e,t,i,s,a.$O)}function y(e,t,i,n){i[n]=e[t]*O,i[n+1]=e[t+1]*O,i[n+2]=e[t+2]??0}function g(e,t,i,n){i[n]=e[t]*P,i[n+1]=e[t+1]*P,i[n+2]=e[t+2]??0}function x(e,t,i,n,s){const r=s+(e[t+2]??0),a=b*e[t],o=b*e[t+1],l=Math.cos(o)*r;i[n]=Math.cos(a)*l,i[n+1]=Math.sin(a)*l,i[n+2]=Math.sin(o)*r}function v(e,t,i,n){x(e,t,i,n,a.Sw.radius)}function w(e,t,i,n){x(e,t,i,n,a.sH.radius)}function _(e,t,i,n){x(e,t,i,n,a.$O.radius)}function S(e,t,i,s,r){const a=e[t],o=e[t+1],l=e[t+2]??0,u=Math.sqrt(a*a+o*o+l*l),c=(0,n.YN)(l/(0===u?1:u)),p=Math.atan2(o,a);i[s++]=C*p,i[s++]=C*c,i[s]=u-r}function F(e,t,i,n){S(e,t,i,n,a.Sw.radius)}function R(e,t,i,n){S(e,t,i,n,a.sH.radius)}function I(e,t,i,n){S(e,t,i,n,a.$O.radius)}function T(e,t,i,n){!function(e,t,i,n,s){const r=b*e[t],a=b*e[t+1],o=e[t+2]??0,l=Math.sin(a),u=Math.cos(a),c=s.radius/Math.sqrt(1-s.eccentricitySquared*l*l);i[n++]=(c+o)*u*Math.cos(r),i[n++]=(c+o)*u*Math.sin(r),i[n++]=(c*(1-s.eccentricitySquared)+o)*l}(e,t,i,n,a.$O)}function M(e,t,i,n){const s=o.TP,r=e[t],l=e[t+1],u=e[t+2]??0;let c,p,d,f,h,m,y,g,x,v,w,_,S,F,R,I,T,M,A,b,z;c=Math.abs(u),p=r*r+l*l,d=Math.sqrt(p),f=p+u*u,h=Math.sqrt(f),b=Math.atan2(l,r),m=u*u/f,y=p/f,F=s.a2/h,R=s.a3-s.a4/h,y>.3?(g=c/h*(1+y*(s.a1+F+m*R)/h),A=Math.asin(g),v=g*g,x=Math.sqrt(1-v)):(x=d/h*(1-m*(s.a5-F-y*R)/h),A=Math.acos(x),v=1-x*x,g=Math.sqrt(v)),w=1-a.$O.eccentricitySquared*v,_=a.$O.radius/Math.sqrt(w),S=s.a6*_,F=d-_*x,R=c-S*g,T=x*F+g*R,I=x*R-g*F,M=I/(S/w+T),A+=M,z=T+I*M/2,u<0&&(A=-A),i[n++]=C*b,i[n++]=C*A,i[n]=z}const A={source:{spatialReference:null,spatialReferenceId:0,metersPerUnit:1},dest:{spatialReference:null,spatialReferenceId:0,metersPerUnit:1},projector:f},b=(0,n.kU)(1),C=(0,n.KJ)(1),z=.5*Math.PI,B=a.$O.radius,O=B*Math.PI/180,P=180/(B*Math.PI)},51441(e,t,i){i.d(t,{LQ:()=>s,ag:()=>a,pL:()=>r});var n=i(90708);function s(e,t,i,s=e.hasZ,r=e.hasM){if(null==t)return null;const a=e.hasZ&&s,o=e.hasM&&r;if(i){const e=(0,n.Nl)(t,"esriGeometryPoint",i,s,r);return(0,n.DF)(e,a,o)}return(0,n.DF)(t,a,o)}function r(e,t,i,s,r,a){if(null==t)return null;const o="coords"in t?t:t.geometry;if(null==o)return null;const{hasZ:l,hasM:u}=o,c=l&&(r??=l),p=u&&(a??=u);if(i){let t=(0,n.kz)(o,e,i,r,a);return s&&(t=(0,n.Nl)(t,e,s)),(0,n.zv)(t,e,c,p)}if(s){const t=(0,n.Nl)(o,e,s,r,a);return(0,n.zv)(t,e,c,p)}return(0,n.zv)(o,e,c,p)}function a(e){return e&&o in e?JSON.parse(JSON.stringify(e,l)):e}const o="_geVersion",l=(e,t)=>e===o?void 0:t},56390(e,t,i){i.d(t,{do:()=>L,Wc:()=>$});var n=i(4576),s=i(21818),r=i(49186),a=(i(44208),i(4718)),o=i(97768),l=i(74887),u=i(86211),c=i(12195),p=i(91218),d=i(70328),f=i(19419),h=i(537),m=i(60408),y=i(65864),g=i(17136),x=i(21325),v=i(90708),w=i(29441),_=i(51441),S=i(31464);class F{constructor(){this._storage=new Map,this._purgeInterval=5,this._sweep=()=>{if(this._timer=void 0,!this._storage)return;const e=1e3*this._purgeInterval,t=performance.now()-e;for(const[i,n]of this._storage){if(!(n.time<t))return void(this._storage.size>0&&(this._timer=setTimeout(this._sweep,e)));this._storage.delete(i)}}}destroy(){this._storage?.clear(),this._storage=null,clearTimeout(this._timer)}put(e,t){this._storage?.set(e,new I(t)),this._scheduleSweep()}get(e){const t=this._storage?.get(e);if(t)return this._storage?.delete(e),t.time=performance.now(),this._storage?.set(e,t),t.items}clear(){this._storage?.clear()}_scheduleSweep(){this._storage&&(this._timer??=setTimeout(this._sweep,1e3*this._purgeInterval))}get test(){}}let R=0;class I{constructor(e){this.items=e,this.time=performance.now(),this.id=R++}}var T=i(99352),M=i(8384),A=i(58727),b=i(62660),C=i(43668);const z="unsupported-query";async function B(e,{fieldsIndex:t,geometryType:i,spatialReference:n,availableFields:s}){if(null!=e.geometryPrecision||e.multipatchOption&&"xyFootprint"!==e.multipatchOption||e.pixelSize||e.relationParam||e.text)throw new r.A(z,"Unsupported query options",{query:e});return O(t,s,e),function(e,t,i){const{outStatistics:n,groupByFieldsForStatistics:s,having:a}=i,o=s?.length,l=n?.length;if(a){if(!o||!l)throw new r.A(z,"outStatistics and groupByFieldsForStatistics should be specified with having",{query:i});(0,w.eD)(e,t,a,n,i)}if(l){if(null==(u=n)||!u.every(e=>"exceedslimit"!==e.statisticType))return;const a=n.map(e=>e.onStatisticField).filter(Boolean);(0,w.MG)(e,t,a,{expressionName:"onStatisticFields",query:i}),o&&(0,w.MG)(e,t,s,{expressionName:"groupByFieldsForStatistics",query:i});for(const s of n){const{onStatisticField:n,statisticType:a}=s;if("percentile_disc"!==a&&"percentile_cont"!==a||!("statisticParameters"in s))e.get(n)&&"count"!==a&&"min"!==a&&"max"!==a&&(0,w.MG)(e,t,[n],{expressionName:`outStatistics with '${a}' statistic type`,allowedFieldTypes:P,query:i});else{const{statisticParameters:e}=s;if(!e)throw new r.A(z,"statisticParameters should be set for percentile type",{definition:s,query:i})}}}var u}(t,s,e),Promise.all([(0,b.c0)(e,i,n),(0,S.Nk)(n,e.outSR)]).then(()=>e)}function O(e,t,i){const{returnDistinctValues:n,outStatistics:s}=i,a=s?s.map(e=>e.outStatisticFieldName&&e.outStatisticFieldName.toLowerCase()).filter(Boolean):[];if("orderByFields"in i&&i.orderByFields&&i.orderByFields.length>0){const n=" asc",s=" desc",r=i.orderByFields.map(e=>{const t=e.toLowerCase();return t.includes(n)?t.split(n)[0]:t.includes(s)?t.split(s)[0]:e}).filter(e=>!a.includes(e));(0,w.MG)(e,t,r,{expressionName:"orderByFields",query:i})}if("outFields"in i)if(i.outFields?.length)(0,w.MG)(e,t,i.outFields,{expressionName:"outFields",query:i,allowedFieldTypes:"all"});else if(n)throw new r.A(z,"outFields should be specified for returnDistinctValues",{query:i});(0,w.SN)(e,t,i.where,i)}const P=new Set([...w.vl,...w.VW]);async function G(e,t,i,n){let s=[];if(i.valueExpression){const{arcadeUtils:e}=await(0,C.l)();s=e.extractFieldNames(i.valueExpression)}if(i.field&&s.push(i.field),i.field2&&s.push(i.field2),i.field3&&s.push(i.field3),i.normalizationField&&s.push(i.normalizationField),!s.length&&!i.valueExpression)throw new r.A(z,"field or valueExpression is required",{params:i});(0,w.MG)(e,t,s,{expressionName:"statistics",query:n})}var q=i(86420),E=i(95466),j=(i(71511),i(53966),i(36708),i(44794),i(78659)),N=i(5482),D=i(69622),V=i(91429);let Q=class extends D.A{constructor(){super(...arguments),this.SCHEDULER_LOG_SLOW_TASKS=!1,this.FEATURE_SERVICE_SNAPPING_SOURCE_TILE_TREE_SHOW_TILES=!1}};(0,N.Cg)([(0,V.MZ)()],Q.prototype,"SCHEDULER_LOG_SLOW_TASKS",void 0),(0,N.Cg)([(0,V.MZ)()],Q.prototype,"FEATURE_SERVICE_SNAPPING_SOURCE_TILE_TREE_SHOW_TILES",void 0),Q=(0,N.Cg)([(0,V.$K)("esri.views.support.debugFlags")],Q),new Q,Symbol("Yield");new Map([["immediate",0],["schedule",4],["slide",0],["stream loader",0],["elevation query",0],["terrain",1],["surface geometry updates",1],["LoD renderer",2],["Graphics3D",2],["I3S",2],["point cloud",2],["feature fetcher",2],["stream controller",2],["clouds generator",2],["overlay",4],["overlay renderer",4],["stage",4],["graphics deconflictor",4],["graphics filter visibility",4],["graphics scale visibility",4],["graphics frustum visibility",4],["POI frequent",6],["POI infrequent",30],["labeler",8],["feature query",8],["feature tile tree",16],["fast feature tile tree",0],["elevation alignment",12],["elevation alignment scene",14],["text texture atlas",12],["texture unload",12],["line of sight tool",16],["interactive line of sight tool",0],["volume measurement",4],["snapping",0],["shadow accumulator",30],["flow generator",12],["gaussian splat sorting",2],["gaussian splat texture atlas",12],["mapview fetch queue",0],["mapview layerview update",2],["mapview vector tile parsing queue",0]]),(0,j.l5)(6.5),(0,j.l5)(1),(0,j.l5)(30),(0,j.l5)(1e3/30),(0,j.l5)(100);const k=new class{constructor(){this._begin=performance?.now()??0,this._budget=0,this._done=!1,this._progressed=!1,this._enabled=!0}run(e){return!this.done&&(!0===e()&&this.madeProgress(),!0)}get done(){return this._done}get budget(){return this._budget}madeProgress(){return this._progressed=!0,this._done=this.elapsed>=this._budget&&this._enabled,this._done}get enabled(){return this._enabled}set enabled(e){this._enabled=e}reset(e){this._begin=this.now(),this._budget=e,this.resetProgress()}get remaining(){return Math.max(this._budget-this.elapsed,0)}now(){return performance.now()}get elapsed(){return this.now()-this._begin}resetProgress(){this._progressed=!1,this._done=!1}get hasProgressed(){return this._progressed}};k.enabled=!1;const Z=new class{remove(){}processQueue(){}schedule(e,t,i){try{if((0,l.G4)(t)){const e=(0,l.NK)();return i?Promise.resolve(i(e)):Promise.reject(e)}return(0,l.z7)(e(k))}catch(e){return Promise.reject(e)}}reschedule(e,t,i){return this.schedule(e,t,i)}async scheduleGenerator(e,t,i){if((0,l.G4)(t)){const e=(0,l.NK)();if(i)return i(e);throw e}const n=e(k);for(;;){const e=n.next(k),s=(0,l.$X)(e)?await e:e;if((0,l.G4)(t)){const e=(0,l.NK)();if(i){const t=i(e),s=n.return(null);return(0,l.$X)(s)&&await(0,l.QZ)(s),t}const t=n.throw(e);throw(0,l.$X)(t)&&await(0,l.QZ)(t),e}if(s.done)return s.value}}};class L{constructor(e){this._changeHandle=null,this.capabilities={query:T.F},this.geometryType=e.geometryType,this.hasM=!!e.hasM,this.hasZ=!!e.hasZ,this.spatialReference=e.spatialReference,this.definitionExpression=e.definitionExpression,this.featureStore=e.featureStore,this.aggregateAdapter=e.aggregateAdapter,this._cache=e.cache??new F,this.timeInfo=e.timeInfo,this.featureIdInfo=e.featureIdInfo,"object-id"===e.featureIdInfo.type&&(this.objectIdField=e.featureIdInfo.fieldName),this._changeHandle=this.featureStore.events.on("changed",()=>this._clearCache()),this.fieldsIndex=(0,c.W)(e.fieldsIndex)?e.fieldsIndex:E.A.fromJSON(e.fieldsIndex),!e.availableFields||1===e.availableFields.length&&"*"===e.availableFields[0]?this.availableFields=new Set(this.fieldsIndex.fields.map(e=>e.name)):this.availableFields=new Set(e.availableFields.map(e=>this.fieldsIndex.get(e)?.name).filter(e=>null!=e)),e.scheduler&&e.priority?this._frameTask=e.scheduler.registerTask(e.priority):this._frameTask=Z}destroy(){this._changeHandle=(0,o.xt)(this._changeHandle),this._frameTask=(0,o.xt)(this._frameTask),this._clearCache(),(0,o.pR)(this._cache)}get featureAdapter(){return this.featureStore.featureAdapter}async executeQuery(e,t){const i=(0,l.Mq)(t);return await this._frameTask.scheduleGenerator(()=>this._executeQueryFeatureSet(e),i)}async executeQueryForCount(e={},t){const i=(0,l.Mq)(t);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForCount(e),i)}async executeQueryForExtent(e,t){const i=(0,l.Mq)(t);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForExtent(e),i)}async executeQueryForIds(e,t){return Array.from(await this.executeQueryForIdSet(e,t))}async executeQueryForIdSet(e,t){const i=(0,l.Mq)(t);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForIdSet(e),i)}async executeQueryForLatestObservations(e,t){const i=(0,l.Mq)(t);if(!this.timeInfo?.trackIdField)throw new r.A("unsupported-query","Missing timeInfo or timeInfo.trackIdField",{query:e,timeInfo:this.timeInfo});return await this._frameTask.scheduleGenerator(()=>this._executeQueryForLatestObservations(e),i)}async executeQueryForOpaqueFeatures(e,t){const i=(0,l.Mq)(t);return(await this._frameTask.scheduleGenerator(()=>this._executeQuery(e,{}),i)).items}async executeAttributeBinsQuery(e,t){const i=(0,l.Mq)(t);return e=(0,a.o8)(e),await this._frameTask.scheduleGenerator(()=>this._executeAttributeBinsQuery(e),i)}async executeQueryForSummaryStatistics(e={},t,i){const n=(0,l.Mq)(i);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForSummaryStatistics(e,t),n)}async executeQueryForUniqueValues(e={},t,i){const n=(0,l.Mq)(i);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForUniqueValues(e,t),n)}async executeQueryForClassBreaks(e={},t,i){const n=(0,l.Mq)(i);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForClassBreaks(e,t),n)}async executeQueryForHistogram(e={},t,i){const n=(0,l.Mq)(i);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForHistogram(e,t),n)}async executeQueryForSnapping(e,t){const i=(0,l.Mq)(t);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForSnapping(e,i),i)}async fetchRecomputedExtents(e){const t=(0,l.Mq)(e);this._timeExtentPromise||=(0,q.W)(this.timeInfo,this.featureStore);const[i,n]=await Promise.all([this._getFullExtent(),this._timeExtentPromise]);return(0,l.Te)(t),{fullExtent:i,timeExtent:n}}_clearCache(){this._cache.clear(),this._allFeaturesPromise=null,this._timeExtentPromise=null,this._fullExtentPromise=null}async*_executeQueryFeatureSet(e){try{const t=yield*this._executeQuery(e,{});return yield,await t.createQueryResponse()}catch(t){if(t!==A.v8)throw t;return await new M.G([],e,this).createQueryResponse()}}async*_executeQueryForCount(e){try{const t=yield*this._executeQuery(e,{returnGeometry:!1,returnCentroid:!1,outSR:null});return yield,t.createQueryResponseForCount()}catch(e){if(e!==A.v8)throw e;return 0}}async*_executeQueryForExtent(e){const t=e.outSR;try{const i=yield*this._executeQuery(e,{returnGeometry:!0,returnCentroid:!1,outSR:null});yield;const n=i.size;if(!n)return{count:0,extent:null};const s=await this._getBounds(i.items,i.spatialReference,t??this.spatialReference);return yield,{count:n,extent:s}}catch(e){if(e===A.v8)return{count:0,extent:null};throw e}}async*_executeQueryForIdSet(e){try{const t=yield*this._executeQuery(e,{returnGeometry:!0,returnCentroid:!1,outSR:null});yield;const i=t.items,n=new Set;for(const e of i)n.add(t.featureAdapter.getObjectId(e));return n}catch(e){if(e===A.v8)return new Set;throw e}}async*_executeQueryForLatestObservations(e){try{const t=yield*this._executeQuery(e,{});return yield,this._filterLatest(t),yield,await t.createQueryResponse()}catch(t){if(t!==A.v8)throw t;return await new M.G([],e,this).createQueryResponse()}}async*_executeAttributeBinsQuery(e){let t;try{e=await(0,A.iJ)(e,this.definitionExpression,this.spatialReference),yield,e=await async function(e,t){const i=e.bin;if(!i.onField&&!i.onExpression?.value||"autoIntervalBin"===i.type&&null==i.parameters.numberOfBins||"dateBin"===i.type&&(null==i.parameters.number||null==i.parameters.unit)||"fixedBoundariesBin"===i.type&&null==i.parameters.boundaries||"fixedIntervalBin"===i.type&&null==i.parameters.interval)throw new r.A(z,"Unsupported query options",{query:e});return B(e,t)}(e,{availableFields:this.availableFields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,spatialReference:this.spatialReference}),yield;const i=yield*this._executeSceneFilterQuery(e);yield,t=yield*this._executeGeometryQuery(e,i),yield,this._executeAggregateIdsQuery(t),yield,this._executeObjectIdsQuery(t),yield,this._executeTimeQuery(t),yield,this._executeAttributesQuery(t),yield}catch(i){if(i!==A.v8)throw i;t=new M.G([],e,this)}return await t.createQueryBinsResponse(e)}async*_executeQueryForSummaryStatistics(e={},t){const{field:i,normalizationField:n,valueExpression:s}=t,r=yield*this._executeQueryForStatistics(e,{field:i,normalizationField:n,valueExpression:s});return yield,await r.createSummaryStatisticsResponse(t)}async*_executeQueryForUniqueValues(e={},t){const{field:i,field2:n,field3:s,valueExpression:r}=t,a=yield*this._executeQueryForStatistics(e,{field:i,field2:n,field3:s,valueExpression:r});return yield,await a.createUniqueValuesResponse(t)}async*_executeQueryForClassBreaks(e,t){const{field:i,normalizationField:n,valueExpression:s}=t,r=yield*this._executeQueryForStatistics(e,{field:i,normalizationField:n,valueExpression:s});return yield,await r.createClassBreaksResponse(t)}async*_executeQueryForHistogram(e,t){const{field:i,normalizationField:n,valueExpression:s}=t,r=yield*this._executeQueryForStatistics(e,{field:i,normalizationField:n,valueExpression:s});return yield,await r.createHistogramResponse(t)}async*_executeQueryForSnapping(e,t){const{point:i,distance:n,returnEdge:s,vertexMode:r}=e;if(!s&&"none"===r)return{candidates:[]};let o=(0,a.o8)(e.query);o=await(0,A.T2)(o,this.definitionExpression,this.spatialReference),yield,o=await B(o,{availableFields:this.availableFields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,spatialReference:this.spatialReference}),yield;const l=!(0,x.aI)(i.spatialReference,this.spatialReference);l&&(await(0,S.Nk)(i.spatialReference,this.spatialReference),yield);const u="number"==typeof n?n:n.x,c="number"==typeof n?n:n.y,p={xmin:i.x-u,xmax:i.x+u,ymin:i.y-c,ymax:i.y+c,spatialReference:i.spatialReference},d=l?(0,S.Cv)(p,this.spatialReference):p;if(!d)return{candidates:[]};const f=(await(0,g.el)((0,y.rS)(i),null,{signal:t}))[0];yield;const h=(await(0,g.el)((0,y.rS)(d),null,{signal:t}))[0];if(yield,null==f||null==h)return{candidates:[]};const m=await this._searchFeatures(U(h.toJSON()));yield;const v=new M.G(m,o,this);this._executeObjectIdsQuery(v),yield,this._executeTimeQuery(v),yield,this._executeAttributesQuery(v),yield,yield*this._executeGeometryQueryForSnapping(v),yield;const w=f.toJSON(),_=l?(0,S.Cv)(w,this.spatialReference):w,F=l?Math.max(d.xmax-d.xmin,d.ymax-d.ymin)/2:n;return v.createSnappingResponse({...e,point:_,distance:F},o.returnZ,i.spatialReference)}async _getBounds(e,t,i){const n=(0,d.hZ)((0,d.vt)(),d.qv);return await this.featureStore.forEachBounds(e,e=>(0,d.RF)(n,e)),$(n,t,i,this.spatialReference,this.hasZ)}_getFullExtent(){return this._fullExtentPromise||="getFullExtent"in this.featureStore&&this.featureStore.getFullExtent?Promise.resolve(this.featureStore.getFullExtent(this.spatialReference)):this._getAllFeatures().then(e=>this._getBounds(e,this.spatialReference,this.spatialReference)),this._fullExtentPromise}async _getAllFeaturesQueryEngineResult(e){return new M.G(await this._getAllFeatures(),e,this)}async _getAllFeatures(){if(null==this._allFeaturesPromise){const e=[];this._allFeaturesPromise=(async()=>await this.featureStore.forEach(t=>e.push(t)))().then(()=>(0,s.z)(e))}const e=this._allFeaturesPromise,t=await e;return e===this._allFeaturesPromise?t.slice():this._getAllFeatures()}async*_executeQuery(e,t){e=(0,a.o8)(e),e=await(0,A.GC)(e,this.definitionExpression,this.spatialReference),yield,e=await B(e,{availableFields:this.availableFields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,spatialReference:this.spatialReference}),yield,e={...e,...t};const i=yield*this._executeSceneFilterQuery(e);yield;const n=yield*this._executeGeometryQuery(e,i);return yield,this._executeAggregateIdsQuery(n),yield,this._executeObjectIdsQuery(n),yield,this._executeTimeQuery(n),yield,this._executeAttributesQuery(n),n}async*_executeSceneFilterQuery(e){if(null==e.sceneFilter)return null;const{outSR:t,returnGeometry:i,returnCentroid:n}=e,s=this.featureStore.featureSpatialReference,r=e.sceneFilter.geometry,a=null==s||(0,x.aI)(s,r.spatialReference)?r:(0,S.Cv)(r,s);if(!a)return null;const o=i||n,l=(0,x.fn)(t)&&!(0,x.aI)(this.spatialReference,t)&&o?async e=>this._project(e,t):e=>e;yield;const u=this.featureAdapter,c=await this._searchFeatures(U(a));if(yield,"disjoint"===e.sceneFilter.spatialRelationship){if(!c.length)return null;const t=new Set;for(const e of c)t.add(u.getObjectId(e));const i=await this._getAllFeatures();yield;const n=await(0,b.xt)("esriSpatialRelDisjoint",a,this.geometryType);yield;const s=e=>!t.has(u.getObjectId(e))||n(u.getGeometry(e)),r=yield*this._runSpatialFilter(i,s);yield;const o=new M.G(r,e,this);return await l(o)}if(!c.length)return new M.G([],e,this);if(this._canExecuteSinglePass(a,e))return await l(new M.G(c,e,this));const p=await(0,b.xt)("esriSpatialRelContains",a,this.geometryType);yield;const d=yield*this._runSpatialFilter(c,e=>p(u.getGeometry(e)));return yield,await l(new M.G(d,e,this))}async*_executeGeometryQuery(e,t){if(null!=t&&0===t.items.length)return t;const{geometry:i,outSR:s,returnGeometry:r,returnCentroid:a}=e,o=t?null:this._getCacheKey(e),l=o?this._cache.get(o):null;if(l)return new M.G(l,e,this);const u=(0,x.fn)(s)&&!(0,x.aI)(this.spatialReference,s),c=r||a,p=async e=>(u&&c&&await this._project(e,s),o&&this._cache.put(o,e.items),e),d=this.featureStore.featureSpatialReference,f=!i||null==d||(0,x.aI)(d,i.spatialReference)?i:(0,S.Cv)(i,d);if(!f)return await p(null!=t?t:await this._getAllFeaturesQueryEngineResult(e));yield;const h=this.featureAdapter;let m=await this._searchFeatures(U(i));yield;const y=e.spatialRel??"esriSpatialRelIntersects";if("esriSpatialRelDisjoint"===y){if(!m.length)return await p(null!=t?t:await this._getAllFeaturesQueryEngineResult(e));const i=new Set;for(const e of m)i.add(h.getObjectId(e));let n;null!=t?n=t.items:(yield,n=await this._getAllFeatures(),yield);const s=await(0,b.xt)(y,f,this.geometryType);yield;const r=e=>!i.has(h.getObjectId(e))||s(h.getGeometry(e)),a=yield*this._runSpatialFilter(n,r);yield;const o=new M.G(a,e,this);return await p(o)}if(null!=t){const e=new n.vW;m=m.filter(i=>(0,n.qh)(t.items,i,t.items.length,e)>=0)}if(!m.length){const t=new M.G([],e,this);return o&&this._cache.put(o,t.items),t}if(this._canExecuteSinglePass(f,e))return await p(new M.G(m,e,this));const g=await(0,b.xt)(y,f,this.geometryType);yield;const v=yield*this._runSpatialFilter(m,e=>g(h.getGeometry(e)));return yield,await p(new M.G(v,e,this))}_executeAggregateIdsQuery(e){if(0===e.items.length||!e.query.aggregateIds?.length||null==this.aggregateAdapter)return;const t=new Set;for(const i of e.query.aggregateIds)this.aggregateAdapter.getFeatureObjectIds(i).forEach(e=>t.add(e));const i=this.featureAdapter.getObjectId;e.items=e.items.filter(e=>t.has(i(e)))}_executeObjectIdsQuery(e){if(0===e.items.length||!e.query.objectIds?.length)return;const t=new Set(e.query.objectIds),i=this.featureAdapter.getObjectId;e.items=e.items.filter(e=>t.has(i(e)))}_executeTimeQuery(e){if(0===e.items.length)return;const t=(0,q.I)(this.timeInfo,e.query.timeExtent,this.featureAdapter);null!=t&&(e.items=e.items.filter(t))}_executeAttributesQuery(e){if(0===e.items.length)return;const t=(0,w.j4)(e.query.where,this.fieldsIndex);if(t){if(!t.isStandardized)throw new TypeError("Where clause is not standardized");e.items=e.items.filter(e=>t.testFeature(e,this.featureAdapter))}}async*_executeGeometryQueryForSnapping(e){const{query:t}=e,{spatialRel:i}=t;if(!e?.items?.length||!t.geometry||!i)return;const n=await(0,b.xt)(i,t.geometry,this.geometryType);yield;const s=this.featureAdapter,r=yield*this._runSpatialFilter(e.items,e=>n(s.getGeometry(e)));e.items=r}*_runSpatialFilter(e,t){if(!t)return e;if(null==this._frameTask)return e.filter(e=>t(e));let i=yield;const n=new Array;for(const s of e)t(s)&&n.push(s),i.madeProgress(),i.done&&(i=yield);return n}_filterLatest(e){const{trackIdField:t,startTimeField:i,endTimeField:n}=this.timeInfo,s=n||i,r=new Map,a=this.featureAdapter.getAttribute;for(const i of e.items){const e=a(i,t),n=a(i,s),o=r.get(e);(!o||n>a(o,s))&&r.set(e,i)}e.items=Array.from(r.values())}_getCacheKey(e){const{geometry:t,spatialRel:i,returnGeometry:n,returnCentroid:s,outSR:r,resultType:a,cacheHint:o}=e;if("tile"!==a&&!o)return null;const l=n||s;return(0,x.fn)(r)&&!(0,x.aI)(this.spatialReference,r)&&l?JSON.stringify([t,i,r]):JSON.stringify([t,i])}_canExecuteSinglePass(e,t){const{spatialRel:i}=t;return(0,b.tC)(e)&&("esriSpatialRelEnvelopeIntersects"===i||"esriGeometryPoint"===this.geometryType&&("esriSpatialRelIntersects"===i||"esriSpatialRelContains"===i))}async _project(e,t){if(!t||(0,x.aI)(this.spatialReference,t))return e;const i=this.featureAdapter,n=(0,p.isLoaded)()?await this._getFullExtent():void 0,r=await(0,S.lK)(e.items.map(e=>(0,_.pL)(this.geometryType,i.getGeometry(e))),this.spatialReference,t,{areaOfInterestExtent:n});return e.items=(0,s.z)(r.map((t,n)=>i.cloneWithGeometry(e.items[n],(0,v.Ux)(t,this.hasZ,this.hasM),this.geometryType))),e}async _searchFeatures(e){const t=new Set;await Promise.all(e.map(e=>this.featureStore.forEachInBounds(e,e=>t.add(e))));const i=Array.from(t.values());return t.clear(),i}async*_executeQueryForStatistics(e,t){e=(0,a.o8)(e);try{e=await(0,A.GC)(e,this.definitionExpression,this.spatialReference),yield,e=await async function(e,t,{fieldsIndex:i,geometryType:n,spatialReference:s,availableFields:a}){if(null!=e.geometryPrecision||e.multipatchOption||e.pixelSize||e.relationParam||e.text||e.outStatistics||e.groupByFieldsForStatistics||e.having||e.orderByFields)throw new r.A(z,"Unsupported query options",{query:e});return O(i,a,e),Promise.all([G(i,a,t,e),(0,b.c0)(e,n,s),(0,S.Nk)(s,e.outSR)]).then(()=>e)}(e,t,{availableFields:this.availableFields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,spatialReference:this.spatialReference}),yield;const i=yield*this._executeSceneFilterQuery(e);yield;const n=yield*this._executeGeometryQuery(e,i);return yield,this._executeAggregateIdsQuery(n),yield,this._executeObjectIdsQuery(n),yield,this._executeTimeQuery(n),yield,this._executeAttributesQuery(n),yield,n}catch(t){if(t!==A.v8)throw t;return new M.G([],e,this)}}get test(){}}function U(e){if((0,b.tC)(e)){if((0,m.ZC)(e))return[(0,f.fA)(Math.min(e.xmin,e.xmax),Math.min(e.ymin,e.ymax),Math.max(e.xmin,e.xmax),Math.max(e.ymin,e.ymax))];if((0,m.Bi)(e))return e.rings.map(e=>(0,f.fA)(Math.min(e[0][0],e[2][0]),Math.min(e[0][1],e[2][1]),Math.max(e[0][0],e[2][0]),Math.max(e[0][1],e[2][1])))}return[(0,h.Rg)((0,f.vt)(),e)]}function $(e,t,i,n,s){const r={xmin:e[0],ymin:e[1],xmax:e[3],ymax:e[4],spatialReference:(0,_.ag)(n)};s&&isFinite(e[2])&&isFinite(e[5])&&(r.zmin=e[2],r.zmax=e[5],r.hasZ=!0);const a=(0,S.Cv)(r,t,i);if(a.spatialReference=(0,_.ag)(i),a.xmax-a.xmin===0){const e=(0,u.GA)(a.spatialReference);a.xmin-=e,a.xmax+=e}if(a.ymax-a.ymin===0){const e=(0,u.GA)(a.spatialReference);a.ymin-=e,a.ymax+=e}if(s&&null!=a.zmin&&null!=a.zmax&&a.zmax-a.zmin===0){const e=(0,u.GA)(a.spatialReference);a.zmin-=e,a.zmax+=e}return a}},57231(e,t,i){i.d(t,{g:()=>n});const n=(0,i(66552).O)()({year:"years",quarter:"quarters",month:"months",week:"weeks",day:"days",hour:"hours",minute:"minutes",second:"seconds"})},58727(e,t,i){i.d(t,{GC:()=>y,T2:()=>g,VY:()=>f,dO:()=>v,iJ:()=>m,v8:()=>h});var n=i(49186),s=i(66552),r=i(86211),a=i(91218),o=i(90634),l=i(60408),u=i(65864),c=i(17136),p=i(21325),d=i(31464);const f=new s.J({esriSRUnit_Meter:"meters",esriSRUnit_Kilometer:"kilometers",esriSRUnit_Foot:"feet",esriSRUnit_StatuteMile:"miles",esriSRUnit_NauticalMile:"nautical-miles",esriSRUnit_USNauticalMile:"us-nautical-miles"}),h=Object.freeze({});async function m(e,t,i){const n=e.bin;return n.onField&&(n.onField=n.onField.trim()),n.onExpression?.value&&(n.onExpression.value=n.onExpression.value.trim()),n.splitBy&&(n.splitBy.value&&(n.splitBy.value=n.splitBy.value.trim()),n.splitBy.outAlias&&(n.splitBy.outAlias=n.splitBy.outAlias.trim())),n.stackBy&&(n.stackBy.value&&(n.stackBy.value=n.stackBy.value.trim()),n.stackBy.outAlias&&(n.stackBy.outAlias=n.stackBy.outAlias.trim())),"normalizationField"in n.parameters&&n.parameters.normalizationField&&(n.parameters.normalizationField=n.parameters.normalizationField.trim()),e.outStatistics?.length||(e.outStatistics=[{statisticType:"count",onStatisticField:"1",outStatisticFieldName:"frequency"}]),y(e,t,i)}async function y(e,t,i){const{outFields:n,orderByFields:s,groupByFieldsForStatistics:r,outStatistics:a}=e;if(n)for(let e=0;e<n.length;e++)n[e]=n[e].trim();if(s)for(let e=0;e<s.length;e++)s[e]=s[e].trim();if(r)for(let e=0;e<r.length;e++)r[e]=r[e].trim();if(a)for(let e=0;e<a.length;e++)a[e].onStatisticField&&(a[e].onStatisticField=a[e].onStatisticField.trim());return e.geometry&&!e.outSR&&(e.outSR=e.geometry.spatialReference),g(e,t,i)}async function g(e,t,s){if(!e)return null;let{where:a}=e;if(e.where=a=a?.trim(),(!a||/^1 *= *1$/.test(a)||t&&t===a)&&(e.where=null),!e.geometry)return e;let m=await async function(e){const{distance:t,units:s}=e,a=e.geometry;if(null==t||"vertexAttributes"in a)return a;const o=a.spatialReference,u=s?f.fromJSON(s):(0,r.Ij)(o),c=o&&((0,p.EA)(o)||(0,p.K8)(o))?a:await(0,d.Nk)(o,p.KK).then(()=>(0,d.Cv)(a,p.KK)),h=await i.e(9159).then(i.bind(i,49159));await h.load();const m=h.execute(c,t||1,{unit:u})??void 0;if(!m||!(0,l.Bi)(m)||0===m.rings.length)throw new n.A("unsupported-query:invalid-parameters","Invalid parameters for query by distance");return m}(e);if(e.distance=0,e.units=null,"esriSpatialRelEnvelopeIntersects"===e.spatialRel){const{spatialReference:t}=e.geometry;m=(0,o.HA)(m),m.spatialReference=t}if(m){await(0,d.Nk)(m.spatialReference,s),m=function(e,t){const i=e.spatialReference;return x(e,t)&&(0,l.ZC)(e)?{spatialReference:i,rings:[[[e.xmin,e.ymin],[e.xmin,e.ymax],[e.xmax,e.ymax],[e.xmax,e.ymin],[e.xmin,e.ymin]]]}:e}(m,s);const t=(await(0,c.el)((0,u.rS)(m)))[0];if(null==t)throw h;const i="quantizationParameters"in e&&e.quantizationParameters?.tolerance||"maxAllowableOffset"in e&&e.maxAllowableOffset||0,n=i&&x(m,s)?{extendedParams:{densificationStep:8*i}}:void 0,r=t.toJSON(),a=(0,d.Cv)(r,r.spatialReference,s,n);if(!a)throw h;a.spatialReference=s,e.geometry=a}return e}function x(e,t){if(!e)return!1;const i=e.spatialReference;return((0,l.ZC)(e)||(0,l.Bi)(e)||(0,l.Rg)(e))&&!(0,p.aI)(i,t)&&!(0,a.canProjectWithoutEngine)(i,t)}function v(e,t){return null==e?null:"string"==typeof e?t?new Date(`1970-01-01T${e}Z`).getTime():new Date(e).getTime():e instanceof Date?e.getTime():e}},59977(e,t,i){i.d(t,{A:()=>y});var n=i(5482),s=i(93637),r=i(91429),a=i(56507),o=i(41266),l=i(69540),u=i(25482),c=i(57231),p=i(93223);let d=class extends((0,l.OU)(u.o)){constructor(e){super(e),this.value=null,this.unit=null}};(0,n.Cg)([(0,r.MZ)({type:Number,json:{name:"number",write:!0}})],d.prototype,"value",void 0),(0,n.Cg)([(0,p.e)(c.g)],d.prototype,"unit",void 0),d=(0,n.Cg)([(0,r.$K)("esri.rest.support.DateBinTimeInterval")],d);const f=d;function h(e,t,i){(0,s.sM)(i,"string"==typeof e?e:e?.getTime(),t)}function m(e,t){const i=e.parameters[t];return i?"string"==typeof i?i:new Date(i):null}d.from=(0,a.dp)(d);let y=class extends o.A{constructor(e){super(e),this.end=null,this.interval=null,this.offset=null,this.returnFullIntervalBin=!1,this.start=null,this.snapToData=null,this.type="date"}};(0,n.Cg)([(0,r.MZ)({cast:e=>null!=e?"string"==typeof e?e:new Date(e):null,json:{name:"parameters.end",read:{reader:(e,t)=>m(t,"end")},write:{writer:h}}})],y.prototype,"end",void 0),(0,n.Cg)([(0,r.MZ)({type:f,json:{name:"parameters",write:!0}})],y.prototype,"interval",void 0),(0,n.Cg)([(0,r.MZ)({type:f,json:{name:"parameters.offset",write:!0}})],y.prototype,"offset",void 0),(0,n.Cg)([(0,r.MZ)({type:Boolean,json:{name:"parameters.returnFullIntervalBin",write:!0}})],y.prototype,"returnFullIntervalBin",void 0),(0,n.Cg)([(0,r.MZ)({cast:e=>null!=e?"string"==typeof e?e:new Date(e):null,json:{name:"parameters.start",read:{reader:(e,t)=>m(t,"start")},write:{writer:h}}})],y.prototype,"start",void 0),(0,n.Cg)([(0,r.MZ)({type:String,json:{name:"parameters.snapToData",write:!0}})],y.prototype,"snapToData",void 0),(0,n.Cg)([(0,p.e)({dateBin:"date"},{readOnly:!0})],y.prototype,"type",void 0),y=(0,n.Cg)([(0,r.$K)("esri.rest.support.DateBinParameters")],y),y.from=(0,a.dp)(y)},60909(e,t,i){i.d(t,{A:()=>p});var n=i(5482),s=i(93637),r=i(91429),a=i(56507),o=i(41266),l=i(41366),u=i(93223);function c(e,t,i){(0,s.sM)(i,e instanceof Date?e.getTime():e,t)}let p=class extends((0,l.K)(o.A)){constructor(e){super(e),this.end=null,this.interval=null,this.start=null,this.type="fixed-interval"}};(0,n.Cg)([(0,r.MZ)({json:{name:"parameters.end",write:{writer:c}}})],p.prototype,"end",void 0),(0,n.Cg)([(0,r.MZ)({type:Number,json:{name:"parameters.interval",write:!0}})],p.prototype,"interval",void 0),(0,n.Cg)([(0,r.MZ)({json:{name:"parameters.start",write:{writer:c}}})],p.prototype,"start",void 0),(0,n.Cg)([(0,u.e)({fixedIntervalBin:"fixed-interval"},{readOnly:!0})],p.prototype,"type",void 0),p=(0,n.Cg)([(0,r.$K)("esri.rest.support.FixedIntervalBinParameters")],p),p.from=(0,a.dp)(p)},62660(e,t,i){i.d(t,{tC:()=>S,c0:()=>_,xt:()=>w});var n=i(49186),s=i(94078),r=i(12176),a=i(60408),o=i(21325);function l(e,t){return c(e,t.coords[0],t.coords[1])}function u(e,t){const{coords:i,lengths:n,stride:s}=t;if(!n)return!1;for(let t=0,r=0;t<n.length;t++,r+=s)if(!c(e,i[r],i[r+1]))return!1;return!0}function c(e,t,i){if(!e)return!1;const{coords:n,lengths:s,stride:r}=e;let a=!1,o=0;for(const e of s)a=p(a,n,r,o,e,t,i),o+=e*r;return a}function p(e,t,i,n,s,r,a){let o=e,l=n;for(let e=n,u=n+s*i;e<u;e+=i){l=e+i,l===u&&(l=n);const s=t[e],c=t[e+1],p=t[l],d=t[l+1];(c<a&&d>=a||d<a&&c>=a)&&s+(a-c)/(d-c)*(p-s)<r&&(o=!o)}return o}var d=i(90708),f=i(51441),h=i(31464);const m="unsupported-query",y={esriSpatialRelIntersects:!0,esriSpatialRelContains:!0,esriSpatialRelWithin:!0,esriSpatialRelCrosses:!0,esriSpatialRelDisjoint:!0,esriSpatialRelTouches:!0,esriSpatialRelOverlaps:!0,esriSpatialRelEnvelopeIntersects:!0,esriSpatialRelIndexIntersects:!1,esriSpatialRelRelation:!1},g={esriGeometryPoint:!0,esriGeometryMultiPatch:!1,esriGeometryMultipoint:!0,esriGeometryPolyline:!0,esriGeometryPolygon:!0,esriGeometryEnvelope:!0},x={esriGeometryPoint:!0,esriGeometryMultiPatch:!0,esriGeometryMultipoint:!0,esriGeometryPolyline:!0,esriGeometryPolygon:!0,esriGeometryEnvelope:!1},v={esriSpatialRelIntersects:()=>Promise.all([i.e(3661),i.e(1878),i.e(8885),i.e(5756),i.e(3299),i.e(8414)]).then(i.bind(i,55284)),esriSpatialRelContains:()=>Promise.all([i.e(3661),i.e(1878),i.e(8885),i.e(5756),i.e(3299),i.e(609)]).then(i.bind(i,51508)),esriSpatialRelCrosses:()=>Promise.all([i.e(3661),i.e(1878),i.e(8885),i.e(5756),i.e(3299),i.e(7316)]).then(i.bind(i,85672)),esriSpatialRelDisjoint:()=>Promise.all([i.e(3661),i.e(1878),i.e(8885),i.e(5756),i.e(3299),i.e(6960)]).then(i.bind(i,7978)),esriSpatialRelEnvelopeIntersects:null,esriSpatialRelIndexIntersects:null,esriSpatialRelOverlaps:()=>Promise.all([i.e(3661),i.e(1878),i.e(8885),i.e(5756),i.e(3299),i.e(3304)]).then(i.bind(i,46178)),esriSpatialRelTouches:()=>Promise.all([i.e(3661),i.e(1878),i.e(8885),i.e(5756),i.e(3299),i.e(7987)]).then(i.bind(i,83547)),esriSpatialRelWithin:()=>Promise.all([i.e(3661),i.e(1878),i.e(8885),i.e(5756),i.e(3299),i.e(1787)]).then(i.bind(i,85445)),esriSpatialRelRelation:null};async function w(e,t,i){if((0,a.Bi)(t)){if("esriGeometryPoint"===i&&("esriSpatialRelIntersects"===e||"esriSpatialRelContains"===e)){const e=(0,d.Ye)(t,!1,!1);return t=>l(e,t)}if("esriGeometryMultipoint"===i){const i=(0,d.Ye)(t,!1,!1);if("esriSpatialRelContains"===e)return e=>u(i,e)}}if((0,a.ZC)(t)){if("esriGeometryPoint"===i&&("esriSpatialRelIntersects"===e||"esriSpatialRelContains"===e))return e=>(0,s.qz)(t,(0,f.pL)(i,e));if("esriGeometryMultipoint"===i&&"esriSpatialRelContains"===e)return e=>(0,s.rL)(t,(0,f.pL)(i,e));if("esriSpatialRelIntersects"===e){const e="mesh"===(n=i)?r.xB:(0,r.xK)(n);return n=>e(t,(0,f.pL)(i,n))}}var n;"esriSpatialRelEnvelopeIntersects"===e&&(e="esriSpatialRelIntersects");const o=await function(e){const t=v[e];if(null==t)throw new Error(`Cannot load unsupported spatial operator: ${e}`);return t()}(e);return e=>o.execute(t,(0,f.pL)(i,e))}async function _(e,t,i){const{spatialRel:s,geometry:r}=e;if(r){if(null==(l=s)||!0!==y[l])throw new n.A(m,"Unsupported query spatial relationship",{query:e});if((0,o.fn)(r.spatialReference)&&(0,o.fn)(i)){if(!function(e){return null!=e&&!0===g[(0,a.$B)(e)]}(r))throw new n.A(m,"Unsupported query geometry type",{query:e});if(!function(e){return null!=e&&!0===x[e]}(t))throw new n.A(m,"Unsupported layer geometry type",{query:e});if(e.outSR)return(0,h.Nk)(e.geometry?.spatialReference,e.outSR)}}var l}function S(e){if((0,a.ZC)(e))return!0;if((0,a.Bi)(e)){for(const t of e.rings){if(5!==t.length)return!1;if(t[0][0]!==t[1][0]||t[0][0]!==t[4][0]||t[2][0]!==t[3][0]||t[0][1]!==t[3][1]||t[0][1]!==t[4][1]||t[1][1]!==t[2][1])return!1}return!0}return!1}},69052(e,t,i){i.d(t,{hr:()=>s,ie:()=>l,uC:()=>o});var n=i(34727);class s{constructor(e,t){this.min=e,this.max=t,this.range=t-e}normalize(e,t=0,i=!1){return r(this.range,this.min,this.max,e,t,i)}clamp(e,t=0){return(0,n.qE)(e-t,this.min,this.max)+t}monotonic(e,t,i){return e<t?t:t+a(this.range,e-t,i)}minimalMonotonic(e,t,i){return r(this.range,e,e+this.range,t,i)}center(e,t,i){return t=this.monotonic(e,t,i),this.normalize((e+t)/2,i)}diff(e,t,i){return this.monotonic(e,t,i)-e}shortestSignedDiff(e,t){e=this.normalize(e);const i=(t=this.normalize(t))-e,n=t<e?this.minimalMonotonic(e,t)-e:t-this.minimalMonotonic(t,e);return Math.abs(i)<Math.abs(n)?i:n}contains(e,t,i){return t=this.minimalMonotonic(e,t),(i=this.minimalMonotonic(e,i))>e&&i<t}}function r(e,t,i,n,s=0,r=!1){return(n-=s)<t?n+=a(e,t-n):n>i&&(n-=a(e,n-i)),r&&n===i&&(n=t),n+s}function a(e,t,i=0){return Math.ceil((t-i)/e)*e+i}const o=new s(0,2*Math.PI),l=(new s(-Math.PI,Math.PI),new s(0,360))},80754(e,t,i){i.d(t,{j7:()=>a,kS:()=>l,kd:()=>o,r8:()=>u});var n=i(82799),s=i(16930),r=i(60408);const a={102100:{maxX:20037508.342788905,minX:-20037508.342788905,plus180Line:new n.A({paths:[[[20037508.342788905,-20037508.342788905],[20037508.342788905,20037508.342788905]]],spatialReference:s.A.WebMercator}),minus180Line:new n.A({paths:[[[-20037508.342788905,-20037508.342788905],[-20037508.342788905,20037508.342788905]]],spatialReference:s.A.WebMercator})},4326:{maxX:180,minX:-180,plus180Line:new n.A({paths:[[[180,-180],[180,180]]],spatialReference:s.A.WGS84}),minus180Line:new n.A({paths:[[[-180,-180],[-180,180]]],spatialReference:s.A.WGS84})}};function o(e,t){return Math.ceil((e-t)/(2*t))}function l(e,t){const i=u(e);for(const e of i)for(const i of e)i[0]+=t;return e}function u(e){return(0,r.Bi)(e)?e.rings:e.paths}},86420(e,t,i){i.d(t,{I:()=>r,W:()=>s});var n=i(21818);async function s(e,t){if(!e)return null;const i=t.featureAdapter,{startTimeField:s,endTimeField:r}=e;let a=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY;if(s&&r)await t.forEach(e=>{const t=i.getAttribute((0,n.z)(e),s),l=i.getAttribute((0,n.z)(e),r);null==t||isNaN(t)||(a=Math.min(a,t)),null==l||isNaN(l)||(o=Math.max(o,l))});else{const e=s||r;await t.forEach(t=>{const s=i.getAttribute((0,n.z)(t),e);null==s||isNaN(s)||(a=Math.min(a,s),o=Math.max(o,s))})}return{start:a,end:o}}function r(e,t,i){if(!t||!e)return null;const{startTimeField:n,endTimeField:s}=e;if(!n&&!s)return null;const{start:r,end:a}=t;if(null===r&&null===a)return null;if(void 0===r&&void 0===a)return()=>!1;const o=i.getAttributeAsTimestamp?.bind(i)??i.getAttribute.bind(i);return n&&s?function(e,t,i,n,s){return null!=n&&null!=s?r=>{const a=e(r,t),o=e(r,i);return(null==a||a<=s)&&(null==o||o>=n)}:null!=n?t=>{const s=e(t,i);return null==s||s>=n}:null!=s?i=>{const n=e(i,t);return null==n||n<=s}:void 0}(o,n,s,r,a):function(e,t,i,n){return null!=i&&null!=n&&i===n?n=>e(n,t)===i:null!=i&&null!=n?s=>{const r=e(s,t);return null!=r&&r>=i&&r<=n}:null!=i?n=>{const s=e(n,t);return null!=s&&s>=i}:null!=n?i=>{const s=e(i,t);return null!=s&&s<=n}:void 0}(o,n||s,r,a)}},91218(e,t,i){i.r(t),i.d(t,{canProjectWithoutEngine:()=>L,initializeProjection:()=>$,isEqualBaseGCS:()=>U,isLoaded:()=>z,isLoadedOrLoad:()=>B,isLoadedOrLoadFor:()=>O,load:()=>G,project:()=>q,projectAsync:()=>Z,projectExtent:()=>ne,projectMany:()=>E,projectMultipoint:()=>K,projectOrLoad:()=>N,projectOrLoadMany:()=>D,projectPoint:()=>J,projectPolygon:()=>te,projectPolyline:()=>X,projectWithoutEngine:()=>H,requiresLoad:()=>P,test:()=>k,tryProject:()=>j,unload:()=>Q});var n=i(49186),s=i(74887),r=i(62788),a=i(95488),o=i(51850),l=i(21276),u=i(73941),c=i(5443),p=i(91075),d=i(48526),f=i(86738),h=i(39829),m=i(82799),y=i(16930),g=i(98764),x=i(159),v=i(9762),w=i(49208);function _(e,t,i,n,s,r){return S[0]=e,S[1]=t,S[2]=i,(0,v.projectBuffer)(S,n,0,s,r,0)}const S=(0,o.vt)();var F=i(21325),R=i(52006);let I=null,T=null,M=null,A=null,b={};const C=new a.I;function z(){return!!(T?.isLoaded()&&M?.isLoaded()&&A?.isLoaded())}function B(){return!!z()||((0,r.gc)(C),G(),!1)}function O(e,t){return!e||!t||L(e,t)||B()}function P(e,t){return!L(e,t)&&!z()}async function G(e){null==I&&(I=Promise.all([i.e(3276).then(i.bind(i,83276)).then(e=>(T=e,T.load())),i.e(8377).then(i.bind(i,8377)).then(e=>(M=e,M.load())),i.e(2158).then(i.bind(i,12158)).then(e=>(A=e,A.load()))])),await I,(0,s.Te)(e),C.notify()}function q(e,t,i){return Array.isArray(e)?0===e.length?[]:((0,l.H)(e),E(e,e[0].spatialReference,t,i)):((0,l.f)(e),E([e],e.spatialReference,t,i)[0])}function E(e,t,i,n){if(null==t||null==i)return e;if(!e.some(e=>(0,R.Ed)(e))&&L(t,i,n))return e.map(e=>H(e,t,i));if(null==n?.geographicTransformation&&(0,u.jA)(t))return E(e.map(e=>H(e,t,y.A.WGS84)),y.A.WGS84,i,{zConversionDisabled:n?.zConversionDisabled});if(null==n?.geographicTransformation&&(0,u.jA)(i))return E(e,t,y.A.WGS84).map(e=>H(e,y.A.WGS84,i));if(!z())throw new V;if(!n?.geographicTransformation)if(n?.extendedParams)n={...n,geographicTransformation:A.getTransformation(t,i,n.areaOfInterestExtent)||new x.A};else if(!n?.areaOfInterestExtent){const e=function(e,t){return[e.wkid?.toString()??"-1",e.wkt?.toString()??"",e.wkt2?.toString()??"",t.wkid?.toString()??"-1",t.wkt?.toString()??"",t.wkt2?.toString()??""].join()}(t,i);let s=b[e];s||(s=A.getTransformation(t,i)||new x.A,b[e]=s),n={geographicTransformation:s,zConversionDisabled:n?.zConversionDisabled}}return e[0].spatialReference||(e[0].spatialReference=t),e[0]instanceof p.A?T.executeMany(e,i,n):M.executeMany(e,i,n)}function j(e,t,i){try{return q(e,t,i)}catch(e){return null}}function N(e,t){const i=D([e],t);return null!=i.pending?{pending:i.pending,geometry:null}:null!=i.geometries?{pending:null,geometry:i.geometries[0]}:{pending:null,geometry:null}}function D(e,t,i){if(!z())for(const i of e)if(null!=i&&!(0,F.aI)(i.spatialReference,t)&&(0,F.fn)(i.spatialReference)&&(0,F.fn)(t)&&!L(i.spatialReference,t))return(0,r.gc)(C),{pending:G(),geometries:null};return{pending:null,geometries:e.map(e=>null==e?null:(0,F.aI)(e.spatialReference,t)?e:(0,F.fn)(e.spatialReference)&&(0,F.fn)(t)?q(e,t,i):null)}}class V extends n.A{constructor(){super("projection:not-loaded","projection engine not fully loaded yet, please call load()")}}function Q(){I=null,T=null,M=null,A=null,b={}}const k={get loadPromise(){return I}};async function Z(e,t,i){if((0,s.Te)(i),!e)return e;const n=D(Array.isArray(e)?e:[e],t,i);if(n.pending)return await n.pending,(0,s.Te)(i),Z(e,t,i);const r=n.geometries??[];return Array.isArray(e)?r:r[0]}function L(e,t,i){return!(i?.areaOfInterestExtent||i?.extendedParams||i?.geographicTransformation)&&(!!(0,F.aI)(e,t)||(0,F.fn)(e)&&(0,F.fn)(t)&&!!(0,w.jd)(e,t))}function U(e,t){if((0,F.aI)(e,t))return!0;if(!(0,F.fn)(e)||!(0,F.fn)(t))return!1;const i=(0,F.oT)(e)||(0,F.K8)(e)||(0,F.x1)(e),n=(0,F.oT)(t)||(0,F.K8)(t)||(0,F.x1)(t);return i&&n}async function $(e,t,i,n){if(z())return(0,s.NO)(n);if(Array.isArray(e)){for(const{source:t,dest:i,options:s}of e)if(t&&i&&!L(t,i,s))return G(n)}else if(e&&t&&!L(e,t,i))return G(n);return(0,s.NO)(n)}function H(e,t,i){return e?"x"in e?W(e,t,new f.A,i,0):"xmin"in e?se(e,t,new c.A,i,0):"rings"in e?ie(e,t,new h.A,i,0):"paths"in e?ee(e,t,new m.A,i,0):"points"in e?Y(e,t,new d.A,i,0):null:null}function J(e,t,i=t.spatialReference,n=0){return null!=i&&null!=e.spatialReference&&null!=W(e,e.spatialReference,t,i,n)}function W(e,t,i,n,s){oe[0]=e.x,oe[1]=e.y;const r=e.z;return oe[2]=void 0!==r?r:s,(0,v.projectBuffer)(oe,t,0,oe,n,0)?(i.x=oe[0],i.y=oe[1],i.spatialReference=n,void 0!==r||(0,u.xP)(n)?(i.z=oe[2],i.hasZ=!0):(i.z=void 0,i.hasZ=!1),void 0===e.m?(i.m=void 0,i.hasM=!1):(i.m=e.m,i.hasM=!0),i):null}function K(e,t,i=t.spatialReference,n=0){return null!=e.spatialReference&&null!=i&&null!=Y(e,e.spatialReference,t,i,n)}function Y(e,t,i,n,s){const{points:r,hasZ:a,hasM:o}=e,l=[],u=r.length,c=[];for(const e of r)c.push(e[0],e[1],a?e[2]:s);if(!(0,v.projectBuffer)(c,t,0,c,n,0,u))return null;const p=ae(a,n);for(let e=0;e<u;++e){const t=3*e,i=c[t],n=c[t+1];p&&o?l.push([i,n,c[t+2],r[e][3]]):p?l.push([i,n,c[t+2]]):o?l.push([i,n,r[e][2]]):l.push([i,n])}return i.points=l,i.spatialReference=n,i.hasZ=a,i.hasM=o,i}function X(e,t,i=t.spatialReference,n=0){return null!=e.spatialReference&&null!=i&&null!=ee(e,e.spatialReference,t,i,n)}function ee(e,t,i,n,s){const{paths:r,hasZ:a,hasM:o}=e,l=[];if(!re(r,a??!1,o??!1,t,l,n,s))return null;const u=ae(a,n);return i.paths=l,i.spatialReference=n,i.hasZ=u,i.hasM=o,i}function te(e,t,i=t.spatialReference,n=0){return null!=e.spatialReference&&null!=i&&null!=ie(e,e.spatialReference,t,i,n)}function ie(e,t,i,n,s){const{rings:r,hasZ:a,hasM:o}=e,l=[];if(!re(r,a??!1,o??!1,t,l,n,s))return null;const u=ae(a,n);return i.rings=l,i.spatialReference=n,i.hasZ=u,i.hasM=o,i}function ne(e,t,i=t.spatialReference,n=0){return null!=e.spatialReference&&null!=i&&null!=se(e,e.spatialReference,t,i,n)}function se(e,t,i,n,s){const{xmin:r,ymin:a,xmax:o,ymax:l,hasZ:u,hasM:c}=e;if(!_(r,a,u?e.zmin:s,t,oe,n))return null;const p=ae(u,n);return i.xmin=oe[0],i.ymin=oe[1],p&&(i.zmin=oe[2]),_(o,l,u?e.zmax:s,t,oe,n)?(i.xmax=oe[0],i.ymax=oe[1],p&&(i.zmax=oe[2]),c&&(i.mmin=e.mmin,i.mmax=e.mmax),i.spatialReference=n,i):null}function re(e,t,i,n,s,r,a=0){const o=new Array;for(const i of e)for(const e of i)o.push(e[0],e[1],t?e[2]:a);if(!(0,v.projectBuffer)(o,n,0,o,r,0))return!1;let l=0;s.length=0;const u=ae(t,r);for(const t of e){const e=new Array;for(const n of t)u&&i?e.push([o[l++],o[l++],o[l++],n[3]]):u?e.push([o[l++],o[l++],o[l++]]):i?(e.push([o[l++],o[l++],n[2]]),l++):(e.push([o[l++],o[l++]]),l++);s.push(e)}return!0}function ae(e,t){return e||(0,u.xP)(t)||(0,F.aI)(t,g.Y0)}const oe=(0,o.vt)()},92300(e,t,i){i.d(t,{V:()=>a,X:()=>r});var n=i(60408),s=i(65864);function r(e){return{geometryType:(0,n.$B)(e[0]),geometries:e.map(e=>e.toJSON())}}function a(e,t,i){const n=(0,s.xD)(t);return e.map(e=>{const t=n.fromJSON(e);return t.spatialReference=i,t})}},98764(e,t,i){i.d(t,{GD:()=>a,Y0:()=>u,lO:()=>c});var n=i(73941),s=i(16930),r=i(21325);const a=new s.A(n.fv),o=new s.A(n.FY),l=new s.A(n.LJ),u=new s.A(n.Ro);function c(e){const t=p.get(e);if(t)return t;let i=a;if(e)if(e===o)i=o;else if(e===l)i=l;else{const t=e.wkid,n=e.latestWkid;if(null!=t||null!=n)(0,r.tl)(t)||(0,r.tl)(n)?i=o:((0,r.ZL)(t)||(0,r.ZL)(n))&&(i=l);else{const t=e.wkt2??e.wkt;if(t){const e=t.toUpperCase();e===d?i=o:e===f&&(i=l)}}}return p.set(e,i),i}const p=new Map,d=o.wkt.toUpperCase(),f=l.wkt.toUpperCase()},99157(e,t,i){i.d(t,{A:()=>o});var n,s=i(5482),r=i(69622),a=i(91429);let o=n=class extends r.A{constructor(e){super(e),this.isInverse=!1,this.wkt=null,this.wkid=null}getInverse(){return new n({isInverse:!this.isInverse,wkid:this.wkid,wkt:this.wkt})}};(0,s.Cg)([(0,a.MZ)()],o.prototype,"isInverse",void 0),(0,s.Cg)([(0,a.MZ)()],o.prototype,"wkt",void 0),(0,s.Cg)([(0,a.MZ)()],o.prototype,"wkid",void 0),o=n=(0,s.Cg)([(0,a.$K)("esri.geometry.operators.support.GeographicTransformationStep")],o)},99352(e,t,i){i.d(t,{F:()=>n,P:()=>s});const n={supportsStatistics:!0,supportsPercentileStatistics:!0,supportsSpatialAggregationStatistics:!1,supportedSpatialAggregationStatistics:{envelope:!1,centroid:!1,convexHull:!1},supportsCentroid:!0,supportsCentroidOnDegeneratedQuantizedGeometry:!0,supportsCacheHint:!0,supportsCurrentUser:!1,supportsDegeneratedQuantizedGeometry:!1,supportsDistance:!0,supportsDistinct:!0,supportsExtent:!0,supportsGeometryProperties:!1,supportsHavingClause:!0,supportsOrderBy:!0,supportsPagination:!0,supportsPaginationOnAggregatedQueries:!1,supportsQuantization:!0,supportsQuantizationEditMode:!1,supportsQueryGeometry:!0,supportsResultType:!0,supportsReturnMesh:!1,supportsSqlExpression:!0,supportsMaxRecordCountFactor:!1,supportsStandardizedQueriesOnly:!0,supportsTopFeaturesQuery:!1,supportsQueryByAnonymous:!0,supportsQueryByOthers:!0,supportsHistoricMoment:!1,supportsFormatPBF:!1,supportsDisjointSpatialRelationship:!0,supportsDefaultSpatialReference:!1,supportsFullTextSearch:!1,supportsCompactGeometry:!1,maxRecordCountFactor:void 0,maxRecordCount:void 0,maxUniqueIDCount:void 0,relativeTimeBinWindow:0,standardMaxRecordCount:void 0,tileMaxRecordCount:void 0,supportsTrueCurve:!1},s={supportsDate:!0,supportsFixedInterval:!0,supportsAutoInterval:!0,supportsFixedBoundaries:!0,supportsStackBy:!0,supportsSplitBy:!0,supportsSnapToData:!1,supportsReturnFullIntervalBin:!1,supportsFirstDayOfWeek:!1,supportsNormalization:!0,supportedStatistics:{count:!0,sum:!0,avg:!0,var:!0,stddev:!0,min:!0,max:!0,percentileContinuous:!0,percentileDiscrete:!0,envelope:!0,centroid:!0,convexHull:!0},supportedNormalizationTypes:{field:!0,log:!0,naturalLog:!0,percentOfTotal:!0,squareRoot:!0}}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1072,3447,9062],{1873(e,t,r){r.d(t,{$y:()=>R,Ak:()=>V,FM:()=>h,G_:()=>p,Rw:()=>j,Vb:()=>d,b3:()=>S,gJ:()=>u,jM:()=>A,lv:()=>O,oZ:()=>Z,qg:()=>y,sU:()=>L,z9:()=>c,zS:()=>E});var i=r(9760),n=r(84892);const s=/\s*(\+|-)?((\d+(\.\d+)?)|(\.\d+))\s*/gi,o=new Set(["esriFieldTypeDate","esriFieldTypeInteger","esriFieldTypeSmallInteger","esriFieldTypeSingle","esriFieldTypeDouble","esriFieldTypeLong","esriFieldTypeOID","esriFieldTypeBigInteger"]),l=new Set(["esriFieldTypeTimeOnly","esriFieldTypeDateOnly"]),a=["min","max","avg","stddev","count","sum","variance","nullcount","median"];function u(e){return null==e||"string"==typeof e&&!e?"<Null>":e}function d(e){const t=null!=e.normalizationField||null!=e.normalizationType,r=null!=e.minValue||null!=e.maxValue,i=!!e.sqlExpression&&e.supportsSQLExpression;return!t&&!r&&!i}function c(e){const{outStatisticTypes:t}=e,r=e.returnDistinct?[...new Set(e.values)]:e.values,i=r.filter(e=>null!=e).sort(),n=i.length,s={count:n,min:i[0],max:i[n-1]};return e.supportsNullCount&&(s.nullcount=r.length-n),!e.percentileParams||t?.include?.length&&!t.include.includes("median")||t?.exclude?.length&&t.exclude.includes("median")||(s.median=y(r,e.percentileParams)),s}function p(e){const{values:t,useSampleStdDev:r,supportsNullCount:i,outStatisticTypes:n}=e;let s=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,l=null,a=null,u=null,d=null,c=0;const p=null==e.minValue?-1/0:e.minValue,h=null==e.maxValue?1/0:e.maxValue;for(const e of t)Number.isFinite(e)?e>=p&&e<=h&&(l=null===l?e:l+e,s=Math.min(s,e),o=Math.max(o,e),c++):"string"==typeof e&&c++;if(c&&null!=l){a=l/c;let e=0;for(const r of t)Number.isFinite(r)&&r>=p&&r<=h&&(e+=(r-a)**2);d=r?c>1?e/(c-1):0:c>0?e/c:0,u=Math.sqrt(d)}else s=null,o=null;const f={avg:a,count:c,max:o,min:s,stddev:u,sum:l,variance:d};return i&&(f.nullcount=t.length-c),!e.percentileParams||n?.include?.length&&!n.include.includes("median")||n?.exclude?.length&&n.exclude.includes("median")||(f.median=y(t,e.percentileParams)),f}function y(e,t){const{fieldType:r,value:i,orderBy:n,isDiscrete:s}=t,o=h(r,"desc"===n,"case-insensitive");if(0===(e=[...e].filter(e=>null!=e).sort((e,t)=>o(e,t))).length)return null;if(i<=0)return e[0];if(i>=1)return e[e.length-1];const l=(e.length-1)*i,a=Math.floor(l),u=a+1,d=l%1,c=e[a],p=e[u];return u>=e.length||s||"string"==typeof c||"string"==typeof p?c:c*(1-d)+p*d}function h(e,t,r="case-sensitive"){if(e){if(o.has(e))return F(t);if(l.has(e))return C(t,!0);if("esriFieldTypeTimestampOffset"===e)return function(e){return e?w:v}(t);const i=C(t,"case-sensitive"===r);if("esriFieldTypeString"===e)return i;if("esriFieldTypeGUID"===e||"esriFieldTypeGlobalID"===e)return(e,t)=>i(T(e),T(t))}const i=t?1:-1,n=F(t),s=C(t,"case-sensitive"===r),a=g(t);return(e,t)=>"number"==typeof e&&"number"==typeof t?n(e,t):"string"==typeof e&&"string"==typeof t?s(e,t):a(e,t)??i}const f=(e,t)=>null==e?null==t?0:1:null==t?-1:null,m=(e,t)=>null==e?null==t?0:-1:null==t?1:null;function g(e){return e?f:m}const v=(e,t)=>m(e,t)??(e===t?0:new Date(e).getTime()-new Date(t).getTime()),w=(e,t)=>f(e,t)??(e===t?0:new Date(t).getTime()-new Date(e).getTime()),b=(e,t)=>m(e,t)??(e===t?0:e<t?-1:1),_=(e,t)=>f(e,t)??(e===t?0:e<t?1:-1);function C(e,t){if(t)return e?_:b;const r=g(e);return e?(e,t)=>{const i=r(e,t);return null!=i?i:(e=e.toUpperCase())>(t=t.toUpperCase())?-1:e<t?1:0}:(e,t)=>{const i=r(e,t);return null!=i?i:(e=e.toUpperCase())<(t=t.toUpperCase())?-1:e>t?1:0}}const M=(e,t)=>f(e,t)??t-e,x=(e,t)=>m(e,t)??e-t;function F(e){return e?M:x}function T(e){return e.slice(24,36)+e.slice(19,23)+e.slice(16,18)+e.slice(14,16)+e.slice(11,13)+e.slice(9,11)+e.slice(6,8)+e.slice(4,6)+e.slice(2,4)+e.slice(0,2)}function Z(e,t,r){let i;for(i in e)t?.include?.length&&!t.include.includes(i)||t?.exclude?.length&&t.exclude.includes(i)?delete e[i]:a.includes(i)&&(Number.isFinite(e[i])||(e[i]=null));return r?(["avg","stddev","variance"].forEach(t=>{null!=e[t]&&(e[t]=Math.ceil(e[t]??0))}),e):e}function S(e){const t={};for(let r of e)(null==r||"string"==typeof r&&""===r.trim())&&(r=null),null==t[r]?t[r]={count:1,data:r}:t[r].count++;return{count:t}}function I(e){return"coded-value"!==e?.type?[]:e.codedValues.map(e=>e.code)}function O(e,t,r,i){const n=e.count,s=[];if(r&&t){const e=[],r=I(t[0]);for(const n of r)if(t[1]){const r=I(t[1]);for(const s of r)if(t[2]){const r=I(t[2]);for(const t of r)e.push(`${u(n)}${i}${u(s)}${i}${u(t)}`)}else e.push(`${u(n)}${i}${u(s)}`)}else e.push(n);for(const t of e)n.hasOwnProperty(t)||(n[t]={data:t,count:0})}for(const e in n){const t=n[e];s.push({value:t.data,count:t.count,label:t.label})}return{uniqueValueInfos:s}}function E(e,t,r,i){let n=null;switch(t){case"log":0!==e&&(n=Math.log(e)*Math.LOG10E);break;case"percent-of-total":Number.isFinite(i)&&0!==i&&(n=e/i*100);break;case"field":Number.isFinite(r)&&0!==r&&(n=e/r);break;case"natural-log":e>0&&(n=Math.log(e));break;case"square-root":e>0&&(n=e**.5)}return n}function j(e,t,r){const s=function(e){const{breakCount:t,field:r,normalizationField:n,normalizationType:s}=e,o=e.classificationMethod||"equal-interval",l="standard-deviation"===o?e.standardDeviationInterval||1:void 0,a="defined-interval"===o?e.definedInterval:void 0;return new i.A({breakCount:t,classificationField:r,classificationMethod:o,normalizationField:"field"===s?n:void 0,normalizationType:s,standardDeviationInterval:l,definedInterval:a})}({field:t.field,normalizationType:t.normalizationType,normalizationField:t.normalizationField,classificationMethod:t.classificationMethod,standardDeviationInterval:t.standardDeviationInterval,definedInterval:t.definedInterval,breakCount:t.numClasses||5});return e=function(e,t,r){const i=t??-1/0,n=r??1/0;return e.filter(e=>Number.isFinite(e)&&e>=i&&e<=n)}(e,t.minValue,t.maxValue),(0,n.t)({definition:s,values:e,normalizationTotal:t.normalizationTotal},r)}function A(e,t){let r=e.classBreaks;const i=r.length,n=r[0]?.minValue,o=r[i-1]?.maxValue,l="standard-deviation"===t,a=s;return r=r.map(e=>{const t=e.label,r={minValue:e.minValue,maxValue:e.maxValue,label:t};if(l&&t){const e=t.match(a),i=e?.map(e=>+e.trim())??[];2===i.length?(r.minStdDev=i[0],r.maxStdDev=i[1],i[0]<0&&i[1]>0&&(r.hasAvg=!0)):1===i.length&&(t.includes("<")?(r.minStdDev=null,r.maxStdDev=i[0]):t.includes(">")&&(r.minStdDev=i[0],r.maxStdDev=null))}return r}),{minValue:n,maxValue:o,classBreakInfos:r,normalizationTotal:e.normalizationTotal}}function R(e,t){const r=L(e,t);if(null==r.min&&null==r.max)return{bins:[],minValue:r.min,maxValue:r.max,normalizationTotal:t.normalizationTotal};const i=r.intervals,n=r.min??0,s=r.max??0,o=i.map((e,t)=>({minValue:i[t][0],maxValue:i[t][1],count:0}));for(const t of e)if(null!=t&&t>=n&&t<=s){const e=V(i,t);e>-1&&o[e].count++}return{bins:o,minValue:n,maxValue:s,normalizationTotal:t.normalizationTotal}}function L(e,t,r=!1){const{field:i,classificationMethod:n,standardDeviationInterval:s,definedInterval:o,normalizationType:l,normalizationField:a,normalizationTotal:u,minValue:c,maxValue:y}=t,h=t.numBins||10;let f=null,m=null,g=null;if(n&&"equal-interval"!==n||l){const{classBreaks:t}=j(e,{field:i,normalizationType:l,normalizationField:a,normalizationTotal:u,classificationMethod:n,standardDeviationInterval:s,definedInterval:o,minValue:c,maxValue:y,numClasses:h},null!=c&&null!=y?[c,y]:void 0);f=t[0]?.minValue,m=t[t.length-1]?.maxValue,g=t.map(e=>[e.minValue,e.maxValue])}else{if(null!=c&&null!=y)f=c,m=y;else{const t=p({values:e,minValue:c,maxValue:y,useSampleStdDev:!l,supportsNullCount:d({normalizationType:l,normalizationField:a,minValue:c,maxValue:y})});f=t.min??null,m=t.max??null}g=function(e,t,r){const i=(t-e)/r,n=[];let s,o=e;for(let e=1;e<=r;e++)s=o+i,s=Number(s.toFixed(16)),n.push([o,e===r?t:s]),o=s;return n}(f??0,m??0,h)}if(r&&g.length){const e=g.at(-1)[1];g.push([e,e])}return{min:f,max:m,intervals:g}}function V(e,t){let r=-1;for(let i=e.length-1;i>=0;i--)if(t>=e[i][0]){r=i;break}return r}},22671(e,t,r){r.d(t,{A:()=>v});var i,n=r(5482),s=r(52106),o=r(66552),l=r(25482),a=r(4718),u=r(91429),d=r(16930),c=r(60408),p=r(65864),y=r(50498),h=r(20437),f=r(36005),m=r(43937);const g=new o.J({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryEnvelope:"extent",mesh:"mesh","":null});let v=i=class extends l.o{constructor(e){super(e),this.displayFieldName=null,this.exceededTransferLimit=!1,this.features=[],this.fields=null,this.geometryType=null,this.hasM=!1,this.hasZ=!1,this.queryGeometry=null,this.spatialReference=null}readFeatures(e,t){return this.readFeaturesWithClass(e,t,s.A)}writeGeometryType(e,t,r,i){if(e)return void g.write(e,t,r,i);const{features:n}=this;if(n)for(const e of n)if(null!=e?.geometry)return void g.write(e.geometry.type,t,r,i)}readQueryGeometry(e,t){if(!e)return null;const r=!!e.spatialReference,i=(0,p.rS)(e);return i&&!r&&t.spatialReference&&(i.spatialReference=d.A.fromJSON(t.spatialReference)),i}writeSpatialReference(e,t){if(e)return void(t.spatialReference=e.toJSON());const{features:r}=this;if(r)for(const e of r)if(e&&null!=e.geometry&&e.geometry.spatialReference)return void(t.spatialReference=e.geometry.spatialReference.toJSON())}clone(){return new i(this.cloneProperties())}cloneProperties(){return(0,a.o8)({displayFieldName:this.displayFieldName,exceededTransferLimit:this.exceededTransferLimit,features:this.features,fields:this.fields,geometryType:this.geometryType,hasM:this.hasM,hasZ:this.hasZ,queryGeometry:this.queryGeometry,spatialReference:this.spatialReference,transform:this.transform})}toJSON(e){const t=this.write();if(t.features&&Array.isArray(e)&&e.length>0)for(let r=0;r<t.features.length;r++){const i=t.features[r];if(i.geometry){const t=e?.[r];i.geometry=t?.toJSON()||i.geometry}}return t}quantize(e){const{scale:[t,r],translate:[i,n]}=e,s=this.features,o=this._getQuantizationFunction(this.geometryType,e=>Math.round((e-i)/t),e=>Math.round((n-e)/r));for(let e=0,t=s.length;e<t;e++)o?.(s[e].geometry)||(s.splice(e,1),e--,t--);return this.transform=e,this}unquantize(){const{geometryType:e,features:t,transform:r}=this;if(!r)return this;const{translate:[i,n],scale:[s,o]}=r;let l=null,a=null;if(this.hasZ&&null!=r?.scale?.[2]){const{translate:[,,e],scale:[,,t]}=r;l=r=>r*t+e}if(this.hasM&&null!=r?.scale?.[3]){const{translate:[,,,e],scale:[,,,t]}=r;a=r=>null==r?r:r*t+e}const u=this._getHydrationFunction(e,e=>e*s+i,e=>n-e*o,l,a);for(const{geometry:e}of t)null!=e&&u&&u(e);return this.transform=null,this}readFeaturesWithClass(e,t,r){const i=d.A.fromJSON(t.spatialReference),n=[];for(let t=0;t<e.length;t++){const s=e[t],o=r.fromJSON(s),l=s.geometry?.spatialReference;null==o.geometry||l||(o.geometry.spatialReference=i);const a=s.aggregateGeometries,u=o.aggregateGeometries;if(a&&null!=u)for(const e in u){const t=u[e],r=a[e],n=r?.spatialReference;null==t||n||(t.spatialReference=i)}n.push(o)}return n}_quantizePoints(e,t,r){let i,n;const s=[];for(let o=0,l=e.length;o<l;o++){const l=e[o];if(o>0){const e=t(l[0]),o=r(l[1]);e===i&&o===n||(s.push([e-i,o-n]),i=e,n=o)}else i=t(l[0]),n=r(l[1]),s.push([i,n])}return s.length>0?s:null}_getQuantizationFunction(e,t,r){return"point"===e?e=>(e.x=t(e.x),e.y=r(e.y),e):"polyline"===e||"polygon"===e?e=>{const i=(0,c.Bi)(e)?e.rings:e.paths,n=[];for(let e=0,s=i.length;e<s;e++){const s=i[e],o=this._quantizePoints(s,t,r);o&&n.push(o)}return n.length>0?((0,c.Bi)(e)?e.rings=n:e.paths=n,e):null}:"multipoint"===e?e=>{const i=this._quantizePoints(e.points,t,r);return i&&i.length>0?(e.points=i,e):null}:"extent"===e?e=>e:null}_getHydrationFunction(e,t,r,i,n){return"point"===e?e=>{e.x=t(e.x),e.y=r(e.y),i&&(e.z=i(e.z))}:"polyline"===e||"polygon"===e?e=>{const s=(0,c.Bi)(e)?e.rings:e.paths;let o,l;for(let e=0,i=s.length;e<i;e++){const i=s[e];for(let e=0,n=i.length;e<n;e++){const n=i[e];e>0?(o+=n[0],l+=n[1]):(o=n[0],l=n[1]),n[0]=t(o),n[1]=r(l)}}if(i&&n)for(let e=0,t=s.length;e<t;e++){const t=s[e];for(let e=0,r=t.length;e<r;e++){const r=t[e];r[2]=i(r[2]),r[3]=n(r[3])}}else if(i)for(let e=0,t=s.length;e<t;e++){const t=s[e];for(let e=0,r=t.length;e<r;e++){const r=t[e];r[2]=i(r[2])}}else if(n)for(let e=0,t=s.length;e<t;e++){const t=s[e];for(let e=0,r=t.length;e<r;e++){const r=t[e];r[2]=n(r[2])}}}:"extent"===e?e=>{e.xmin=t(e.xmin),e.ymin=r(e.ymin),e.xmax=t(e.xmax),e.ymax=r(e.ymax),i&&null!=e.zmax&&null!=e.zmin&&(e.zmax=i(e.zmax),e.zmin=i(e.zmin)),n&&null!=e.mmax&&null!=e.mmin&&(e.mmax=n(e.mmax),e.mmin=n(e.mmin))}:"multipoint"===e?e=>{const s=e.points;let o,l;for(let e=0,i=s.length;e<i;e++){const i=s[e];e>0?(o+=i[0],l+=i[1]):(o=i[0],l=i[1]),i[0]=t(o),i[1]=r(l)}if(i&&n)for(let e=0,t=s.length;e<t;e++){const t=s[e];t[2]=i(t[2]),t[3]=n(t[3])}else if(i)for(let e=0,t=s.length;e<t;e++){const t=s[e];t[2]=i(t[2])}else if(n)for(let e=0,t=s.length;e<t;e++){const t=s[e];t[2]=n(t[2])}}:null}};(0,n.Cg)([(0,u.MZ)({type:String,json:{write:!0}})],v.prototype,"displayFieldName",void 0),(0,n.Cg)([(0,u.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],v.prototype,"exceededTransferLimit",void 0),(0,n.Cg)([(0,u.MZ)({type:[s.A],json:{write:!0}})],v.prototype,"features",void 0),(0,n.Cg)([(0,f.w)("features")],v.prototype,"readFeatures",null),(0,n.Cg)([(0,u.MZ)({type:[h.A],json:{write:!0}})],v.prototype,"fields",void 0),(0,n.Cg)([(0,u.MZ)({type:["point","multipoint","polyline","polygon","extent","mesh"],json:{read:{reader:g.read}}})],v.prototype,"geometryType",void 0),(0,n.Cg)([(0,m.K)("geometryType")],v.prototype,"writeGeometryType",null),(0,n.Cg)([(0,u.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],v.prototype,"hasM",void 0),(0,n.Cg)([(0,u.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],v.prototype,"hasZ",void 0),(0,n.Cg)([(0,u.MZ)({types:y.yR,json:{write:!0}})],v.prototype,"queryGeometry",void 0),(0,n.Cg)([(0,f.w)("queryGeometry")],v.prototype,"readQueryGeometry",null),(0,n.Cg)([(0,u.MZ)({type:d.A,json:{write:!0}})],v.prototype,"spatialReference",void 0),(0,n.Cg)([(0,m.K)("spatialReference")],v.prototype,"writeSpatialReference",null),(0,n.Cg)([(0,u.MZ)({json:{write:!0}})],v.prototype,"transform",void 0),v=i=(0,n.Cg)([(0,u.$K)("esri.rest.support.FeatureSet")],v),v.prototype.toJSON.isDefaultToJSON=!0},32587(e,t,r){r.d(t,{A:()=>s});var i=r(62788),n=r(95488);class s{constructor(e){this._observable=new n.I,this._notifyPending=!1,this._batchDepth=0,this._map=new Map(e)}get size(){return(0,i.gc)(this._observable),this._map.size}batch(e){try{this._batchDepth++,e()}finally{this._batchDepth--,this._notifyPending&&0===this._batchDepth&&(this._notifyPending=!1,this._notify())}}clear(){this._map.size>0&&(this._map.clear(),this._notify())}delete(e){const t=this._map.delete(e);return t&&this._notify(),t}entries(){return(0,i.gc)(this._observable),this._map.entries()}forEach(e,t){(0,i.gc)(this._observable),this._map.forEach((r,i)=>e.call(t,r,i,this),t)}get(e){return(0,i.gc)(this._observable),this._map.get(e)}has(e){return(0,i.gc)(this._observable),this._map.has(e)}keys(){return(0,i.gc)(this._observable),this._map.keys()}set(e,t){return this._map.set(e,t),this._notify(),this}transformValues(e,t=this._map.keys()){this.batch(()=>{for(const r of t){if(!this._map.has(r))continue;const t=this._map.get(r),i=e(t,r);i!==t&&this.set(r,i)}})}values(){return(0,i.gc)(this._observable),this._map.values()}[Symbol.iterator](){return(0,i.gc)(this._observable),this._map[Symbol.iterator]()}[Symbol.dispose](){this._observable.destroy()}get[Symbol.toStringTag](){return this._map[Symbol.toStringTag]}_notify(){this._batchDepth>0?this._notifyPending=!0:this._observable.notify()}}},32756(e,t,r){r.d(t,{Rr:()=>l,fY:()=>u,ne:()=>a});var i=r(5482),n=r(93637),s=r(91429),o=r(91880);function l(e,t,r){if(!e)return null;const i=e.find(e=>!!e.field);if(!i)return null;const n=new o.A;return n.read(i,r),[n]}const a={type:[o.A],json:{origins:{"web-scene":{write:!1,read:!1}},name:"layerDefinition.orderBy",read:{reader:l},write:{writer:function(e,t,r,i){const s=e.find(e=>!!e.field);s&&(0,n.sM)(r,[s.toJSON()],t)}}}},u=e=>{const t=e;let r=class extends t{constructor(){super(...arguments),this.orderBy=null}};return(0,i.Cg)([(0,s.MZ)(a)],r.prototype,"orderBy",void 0),r=(0,i.Cg)([(0,s.$K)("esri.layers.mixins.OrderedLayer")],r),r}},33143(e,t,r){r.d(t,{A:()=>c});var i=r(5482),n=r(69540),s=r(25482),o=r(91429),l=r(8631),a=r(29005),u=r(36005),d=r(43937);let c=class extends((0,n.OU)(s.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,l.r)(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,o.MZ)({json:{write:!0}})],c.prototype,"id",void 0),(0,i.Cg)([(0,o.MZ)({json:{write:!0}})],c.prototype,"name",void 0),(0,i.Cg)([(0,o.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,o.MZ)({type:[a.A],json:{write:!0}})],c.prototype,"templates",void 0),c=(0,i.Cg)([(0,o.$K)("esri.layers.support.FeatureType")],c)},44794(e,t,r){r.d(t,{v:()=>l});var i=r(4718),n=r(62788),s=r(95488);class o{constructor(e,t){this._observable=new s.I,this._value=e,this._equalityFunction=t}get value(){return(0,n.gc)(this._observable),this._value}set value(e){this._equalityFunction(e,this._value)||(this._value=e,this._observable.notify())}mutate(e){e(this._value),this._observable.notify()}}function l(e,t=i.gh){return new o(e,t)}},46140(e,t,r){r.d(t,{A:()=>n});var i=r(49186);class n{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 n(this.major,this.minor,this._context)}static parse(e,t=""){const[r,s]=e.split("."),o=/^\s*\d+\s*$/;if(!r?.match||!o.test(r))throw new i.A((t&&t+":")+"invalid-version","Expected major version to be a number, but got '${version}'",{version:e});if(!s?.match||!o.test(s))throw new i.A((t&&t+":")+"invalid-version","Expected minor version to be a number, but got '${version}'",{version:e});const l=parseInt(r,10),a=parseInt(s,10);return new n(l,a,t)}}},55674(e,t,r){r.d(t,{Ad:()=>y,Gj:()=>m,QY:()=>p,lL:()=>g,xR:()=>h});var i=r(66131),n=r(49186),s=(r(44208),r(44729)),o=r(15032),l=r(65864),a=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:s,Dictionary:o}=await(0,u.l)();let l;try{l=s.parseScript(e)}catch(t){throw new n.A("arcade-bad-expression","Failed to parse arcade script",{script:e,error:t})}const a=s.scriptUsesGeometryEngine(l);a&&await s.enableGeometrySupport(),await s.loadDependentModules(new Set,l,null,!1,a);const d={vars:i.reduce((e,t)=>({...e,[t]:null}),{}),spatialReference:t,useAsync:!1},c=s.compileScript(l,d);let p=null;null!=r&&(p=new o(r),p.immutable=!0);const y=new o;return y.immutable=!1,y.setField("scale",0),new f(e,s,l,c,t,y,p,o)}constructor(e,t,r,i,n,s,o,l){this.script=e,this._arcade=t,this._syntaxTree=r,this._compiled=i,this._spatialReference=n,this._viewDict=s,this._configDict=o,this._dictionaryCtor=l,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:n,currentEnd:s}=t.$view.timeProperties;e=new this._dictionaryCtor({currentStart:null!=n?null!=r?i.lY.epochToArcadeDate(n,r):i.lY.unknownEpochToArcadeDate(n):void 0,currentEnd:null!=s?null!=r?i.lY.epochToArcadeDate(s,r):i.lY.unknownEpochToArcadeDate(s):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 a.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,l.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 s.n.fromReader(t);case"time-only":case"esriFieldTypeTimeOnly":return o.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:()=>n});var i=r(62815);function n(e,t,r){if(!r?.features||!r.hasZ)return;const n=(0,i.N)(r.geometryType,t,e.outSpatialReference);if(n)for(const e of r.features)n(e.geometry)}},61760(e,t,r){r.d(t,{PU:()=>o,YW:()=>a,ex:()=>n,hv:()=>l,zp:()=>s}),r(34727);var i=r(90629);r(78955),r(91829);const n=2.4;function s(e){return(0,i.PN)(e*n)}function o(e){return(0,i.Lz)(e)/n}function l(e,t,r){const i=Math.sqrt(e**2+t**2)/r;return i>1?0:3/(Math.PI*r**2)*(1-i**2)**2}function a(e){return"function"==typeof e?e:e?t=>+t[e]:()=>1}},62815(e,t,r){r.d(t,{N:()=>o,d:()=>l});var i=r(86211),n=r(73941),s=r(21325);function o(e,t,r){const i=l(t,r);if(1!==i)switch(e){case"point":case"esriGeometryPoint":return e=>function(e,t){null!=e?.z&&(e.z*=t)}(e,i);case"polyline":case"esriGeometryPolyline":return e=>function(e,t){if(e)for(const r of e.paths)for(const e of r)e.length>2&&(e[2]*=t)}(e,i);case"polygon":case"esriGeometryPolygon":return e=>function(e,t){if(e)for(const r of e.rings)for(const e of r)e.length>2&&(e[2]*=t)}(e,i);case"multipoint":case"esriGeometryMultipoint":return e=>function(e,t){if(e)for(const r of e.points)r.length>2&&(r[2]*=t)}(e,i);case"extent":case"esriGeometryEnvelope":return e=>function(e,t){e&&null!=e.zmin&&null!=e.zmax&&(e.zmin*=t,e.zmax*=t)}(e,i);default:return}}function l(e,t){return null==e||null==t||t.vcsWkid||(0,s.aI)(e,t)||(0,n.xP)(e)||(0,n.xP)(t)?1:(0,i.G9)(e)/(0,i.G9)(t)}},73681(e,t,r){r.d(t,{n:()=>a});var i=r(49186),n=r(53966),s=r(46140),o=r(95466),l=r(55674);class a{static async from(e,t,r){const o=e.dictionary_version?s.A.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&&n.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("missing-fields: fieldMap entries for the following symbol fields are missing",{symbolFields:p});const y=await(0,l.xR)(e.expression,null,c);if(!y)throw new i.A("dictionary-renderer:expression-error","Unable to create dictionary renderer expression");const h=!o||!o.greaterEqual(4,0);h&&n.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("Dictionary script does not support native field types. Applying fallback",{version:o});const f=new u(r,h);return new a(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){n.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("arcade: dictionary script evaluation failed",{error:e})}return null}createDictionaryFieldsIndex(e){if(!this._requiresFieldCoercionToString)return new o.A(e);const t=e.map(e=>({...e,type:"esriFieldTypeString"}));return new o.A(t)}}class u extends l.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]}}},83508(e,t,r){r.r(t),r.d(t,{default:()=>fe});var i=r(5482),n=r(11254),s=r(7762),o=r(49186),l=r(91869),a=r(25728),u=r(74887),d=r(84952),c=r(91429),p=r(4146),y=r(36563),h=r(66344),f=r(32587),m=r(36708),g=r(44794),v=r(56507),w=r(63074),b=r(25036),_=r(10873),C=r(91880),M=r(1873);let x=class extends((0,b.j)((0,w.dM)((0,a.M)(p.A)))){constructor(e){super(e),this._layerCache=new h.q(20,e=>e.destroy()),this._oidToReference=new f.A,this._layerToReference=new Map,this.legendEnabled=!0,this.layers=new s.A,this.maximumVisibleSublayers=10,this.opacity=1,this.parent=null,this.persistenceEnabled=!0,this.title="Layers in view",this.type="catalog-dynamic-group",this.visible=!0}initialize(){this.addHandles([this.layers.on("after-add",({item:e})=>{e.parent=this}),this.layers.on("after-remove",({item:e})=>{e.parent=null}),(0,m.wB)(()=>this._orderBy,()=>{this._updateLayerSortValues(),this._sortAllLayers()})])}load(e){return this.addResolvingPromise(this.parent.load()),Promise.resolve(this)}destroy(){this._layerCache.destroy(),this._oidToReference.clear(),this._layerToReference.clear()}get _orderBy(){return this.parent?this.parent.orderBy?.find(e=>!e.valueExpression&&e.field)??new C.A({field:this.parent.objectIdField}):null}get _referenceComparator(){const e=this._orderBy;if(!this.parent||!e)return()=>0;const t=this.parent.fieldsIndex.get(e.field),r=(0,M.FM)(t?.toJSON().type,"descending"===e.order,"case-sensitive"),i=(0,M.FM)("esriFieldTypeOID","descending"===e.order);return(e,t)=>r(t.sortValue,e.sortValue)||i(t.objectId,e.objectId)}get fullExtent(){return this.parent?.fullExtent??null}get updating(){return(0,l.Bs)(this._oidToReference,({pending:e})=>null!=e)}acquireLayer(e){if(this.destroyed)return(0,y.hA)();const t=this._getLayerReference(e);return t.count++,(0,y.hA)(()=>{t.count--,t.count||this._destroyLayerReference(t)})}_getLayerReference(e){const t=e.getObjectId();return(0,l.tE)(this._oidToReference,t,()=>{const t=e.getObjectId(),r=`${t}`,i=e.getAttribute(this.parent.itemSourceField),n=new F(e,t,i),s=this._layerCache.pop(r);return s?(this._addLayer(n,s),n):(n.pending=this.parent.createLayerFromFootprint(e).then(e=>{n.count?this._addLayer(n,e):(this.destroyed||this._layerCache.get(r)||this._layerCache.put(r,e),n.layer=null)}).catch(()=>{}).finally(()=>{n.pending=null}),n)})}_destroyLayerReference(e){e.layer&&(this._layerToReference.delete(e.layer),this.layers.remove(e.layer),this.destroyed?e.layer.destroy():this._layerCache.put(`${e.objectId}`,e.layer),e.layer=null),this._oidToReference.delete(e.objectId)}_addLayer(e,t){e.layer=t,t.persistenceEnabled=!1,this._layerToReference.set(t,e),this._updateLayerSortValue(e),this.layers.add(t),this._sortAllLayers()}_updateLayerSortValues(){for(const e of this._layerToReference.values())this._updateLayerSortValue(e)}_updateLayerSortValue(e){this._orderBy&&(e.sortValue=e.footprint.getAttribute(this._orderBy.field))}_sortAllLayers(){this.layers.sort((e,t)=>this._referenceComparator(this._layerToReference.get(e),this._layerToReference.get(t)))}};(0,i.Cg)([(0,c.MZ)()],x.prototype,"_orderBy",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],x.prototype,"_referenceComparator",null),(0,i.Cg)([(0,c.MZ)(_.fV)],x.prototype,"legendEnabled",void 0),(0,i.Cg)([(0,c.MZ)({type:["show","hide","hide-children"],json:{write:!0}})],x.prototype,"listMode",void 0),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],x.prototype,"fullExtent",null),(0,i.Cg)([(0,c.MZ)({type:String,json:{origins:{service:{read:!1},"portal-item":{read:!1}},write:{ignoreOrigin:!0,isRequired:!0}}})],x.prototype,"id",void 0),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],x.prototype,"layers",void 0),(0,i.Cg)([(0,c.MZ)({type:v.jz,range:{min:0,max:50},json:{write:!0,default:10}})],x.prototype,"maximumVisibleSublayers",void 0),(0,i.Cg)([(0,c.MZ)(_.ke)],x.prototype,"opacity",void 0),(0,i.Cg)([(0,c.MZ)({clonable:!1})],x.prototype,"parent",void 0),(0,i.Cg)([(0,c.MZ)({type:String,nonNullable:!0,json:{write:{ignoreOrigin:!0,isRequired:!0}}})],x.prototype,"title",void 0),(0,i.Cg)([(0,c.MZ)({json:{read:!1}})],x.prototype,"type",void 0),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],x.prototype,"updating",null),(0,i.Cg)([(0,c.MZ)({type:Boolean,json:{name:"visibility",write:!0}})],x.prototype,"visible",void 0),x=(0,i.Cg)([(0,c.$K)("esri.layers.catalog.CatalogDynamicGroupLayer")],x);class F{constructor(e,t,r){this.footprint=e,this.objectId=t,this.itemSource=r,this.count=0,this.layer=null,this.sortValue=void 0,this._pending=(0,g.v)(null)}get pending(){return this._pending.value}set pending(e){this._pending.value=e}}var T=r(37838),Z=r(4718),S=r(78247),I=r(55156),O=r(60950),E=r(89808),j=r(99959);const A=Symbol("isCatalogGraphicOrigin");var R;class L extends j.A{get[(R=A,O.ym)](){return this.layer}get[I.e](){return this.layer}get[E.Q](){return this.layer}constructor(e){super(),this[R]=!0,this.type="catalog",this.layer=e}get id(){return this.layer.id}}var V=r(87718),D=r(30524),P=r(46499),N=r(39383),z=r(96576),q=r(41214),G=r(30291),k=r(94985);let $=class extends((0,b.j)((0,V.F)((0,w.dM)((0,a.M)(p.A))))){constructor(e){super(e),this.attributeTableTemplate=null,this.charts=null,this.editingEnabled=!0,this.elevationInfo=null,this.formTemplate=null,this.graphicOrigin=new L(this),this.labelingInfo=null,this.labelsVisible=!0,this.legendEnabled=!0,this.maxScale=0,this.minScale=0,this.opacity=1,this.parent=null,this.persistenceEnabled=!0,this.popupEnabled=!0,this.popupTemplate=null,this.title="Footprints",this.type="catalog-footprint",this.visible=!0}load(e){return this.addResolvingPromise(this._doLoad(e)),Promise.resolve(this)}async _doLoad(e){await this.parent.load(e),(0,D.yp)(this.renderer,this.fieldsIndex),this.addHandles([this.parent.on("apply-edits",e=>this.emit("apply-edits",e)),this.parent.on("edits",e=>this.emit("edits",e)),this.parent.on("refresh",e=>this.emit("refresh",e))])}get apiKey(){return this.parent?.apiKey}get capabilities(){return this.parent?.capabilities}get customParameters(){return this.parent?.customParameters}get dateFieldsTimeZone(){return this.parent?.dateFieldsTimeZone??null}get datesInUnknownTimezone(){return this.parent?.datesInUnknownTimezone??!1}get definitionExpression(){return this.parent?.definitionExpression}get editingInfo(){return this.parent?.editingInfo}get effectiveCapabilities(){return this.parent?.effectiveCapabilities}get createQueryVersion(){return this.parent?.createQueryVersion}get defaultPopupTemplate(){return this.createPopupTemplate()}get displayField(){return this.parent?.displayField}get displayFilterEnabled(){return this.parent?.displayFilterEnabled??!0}get displayFilterInfo(){return this.parent?.displayFilterInfo??null}get effectiveEditingEnabled(){return!1}get fields(){return this.parent?.fields}get fieldsIndex(){return this.parent?.fieldsIndex}get fullExtent(){return this.parent?.fullExtent}get geometryFieldsInfo(){return this.parent?.geometryFieldsInfo}get geometryType(){return this.parent?.geometryType}get globalIdField(){return this.parent?.globalIdField}get hasM(){return this.parent?.hasM??!1}get hasZ(){return this.parent?.hasZ??!1}get objectIdField(){return this.parent?.objectIdField}get orderBy(){return this.parent?.orderBy??null}get outFields(){return this.parent?.outFields}get parsedUrl(){return this.parent?.parsedUrl??null}get preferredTimeZone(){return this.parent?.preferredTimeZone??null}set renderer(e){(0,D.yp)(e,this.fieldsIndex),this._set("renderer",e)}get renderer(){return this._isOverridden("renderer")?this._get("renderer"):function(){const e=new k.A({style:"solid",color:[0,0,0,0],outline:{style:"solid",color:[96,96,96,.75],width:.75}});return new z.A({symbol:e})}()}get returnM(){return this.parent?.returnM}get returnZ(){return this.parent?.returnZ}get source(){return this.parent?.source}get timeExtent(){return this.parent?.timeExtent}get timeInfo(){return this.parent?.timeInfo}get timeOffset(){return this.parent?.timeOffset}get typeIdField(){return this.parent?.typeIdField}get types(){return this.parent?.types}get useViewTime(){return this.parent?.useViewTime??!0}get version(){return this.parent?.version}async applyEdits(e,t){return await this.load(),this.parent.applyEdits(e,t)}createPopupTemplate(e){const t={fields:this.fields,objectIdField:this.objectIdField,title:this.title};return(0,G.tn)(t,e)}createQuery(){return this.parent?.createQuery()}getField(e){return this.parent?.getField(e)}getFieldDomain(e,t){return this.parent?.getFieldDomain(e,t)}async queryExtent(e,t){return await this.load(),this.parent.queryExtent(e,t)}async queryFeatures(e,t){return await this.load(),this.parent.queryFeatures(e,t)}async queryFeatureCount(e,t){return await this.load(),this.parent.queryFeatureCount(e,t)}async queryObjectIds(e,t){return await this.load(),this.parent.queryObjectIds(e,t)}async queryAttributeBins(e,t){return await this.load(),this.parent.queryAttributeBins(e,t)}};(0,i.Cg)([(0,c.MZ)(_.zQ)],$.prototype,"attributeTableTemplate",void 0),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"apiKey",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"capabilities",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"customParameters",null),(0,i.Cg)([(0,c.MZ)()],$.prototype,"dateFieldsTimeZone",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"datesInUnknownTimezone",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"definitionExpression",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"editingInfo",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"effectiveCapabilities",null),(0,i.Cg)([(0,c.MZ)({json:{origins:{"web-scene":{write:!1}},write:!0}})],$.prototype,"charts",void 0),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"createQueryVersion",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"defaultPopupTemplate",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"displayField",null),(0,i.Cg)([(0,c.MZ)({type:Boolean,nonNullable:!0,json:{name:"enableEditing",write:!0,origins:{"web-scene":{read:!1,write:!1}}}})],$.prototype,"editingEnabled",void 0),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"effectiveEditingEnabled",null),(0,i.Cg)([(0,c.MZ)((()=>{const e=(0,Z.o8)(_.Yj);return e.json.origins["web-map"]={read:!1,write:!1},e})())],$.prototype,"elevationInfo",void 0),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"fields",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"fieldsIndex",null),(0,i.Cg)([(0,c.MZ)({type:S.A,json:{name:"formInfo",write:!0,origins:{"web-scene":{read:!1,write:!1}}}})],$.prototype,"formTemplate",void 0),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"fullExtent",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"geometryFieldsInfo",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"geometryType",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"globalIdField",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0,clonable:!1})],$.prototype,"graphicOrigin",void 0),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"hasM",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"hasZ",null),(0,i.Cg)([(0,c.MZ)({type:String,json:{origins:{service:{read:!1},"portal-item":{read:!1}},write:{ignoreOrigin:!0,isRequired:!0}}})],$.prototype,"id",void 0),(0,i.Cg)([(0,c.MZ)({type:[P.A],json:{name:"layerDefinition.drawingInfo.labelingInfo",read:N.w,write:!0}})],$.prototype,"labelingInfo",void 0),(0,i.Cg)([(0,c.MZ)(_.kF)],$.prototype,"labelsVisible",void 0),(0,i.Cg)([(0,c.MZ)(_.fV)],$.prototype,"legendEnabled",void 0),(0,i.Cg)([(0,c.MZ)({type:["show","hide"],json:{write:!0}})],$.prototype,"listMode",void 0),(0,i.Cg)([(0,c.MZ)((()=>{const e=(0,Z.o8)(_.hG);return e.json.origins.service.read=!1,e})())],$.prototype,"maxScale",void 0),(0,i.Cg)([(0,c.MZ)((()=>{const e=(0,Z.o8)(_.hn);return e.json.origins.service.read=!1,e})())],$.prototype,"minScale",void 0),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"objectIdField",null),(0,i.Cg)([(0,c.MZ)(_.ke)],$.prototype,"opacity",void 0),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"orderBy",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"outFields",null),(0,i.Cg)([(0,c.MZ)({clonable:!1})],$.prototype,"parent",void 0),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"parsedUrl",null),(0,i.Cg)([(0,c.MZ)(_.M6)],$.prototype,"popupEnabled",void 0),(0,i.Cg)([(0,c.MZ)({type:T.A,json:{name:"popupInfo",write:!0}})],$.prototype,"popupTemplate",void 0),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"preferredTimeZone",null),(0,i.Cg)([(0,c.MZ)({types:q.Hg,json:{origins:{"web-scene":{types:q.XJ}},name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy(e,t){return{ignoreOrigin:this.originIdOf(t)<3}}}}})],$.prototype,"renderer",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"returnM",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"returnZ",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"source",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"timeExtent",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"timeInfo",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"timeOffset",null),(0,i.Cg)([(0,c.MZ)({type:String,nonNullable:!0,json:{write:{ignoreOrigin:!0,isRequired:!0}}})],$.prototype,"title",void 0),(0,i.Cg)([(0,c.MZ)({json:{read:!1}})],$.prototype,"type",void 0),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"typeIdField",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"types",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],$.prototype,"useViewTime",null),(0,i.Cg)([(0,c.MZ)({type:Boolean,json:{name:"visibility",write:!0}})],$.prototype,"visible",void 0),$=(0,i.Cg)([(0,c.$K)("esri.layers.catalog.CatalogFootprintLayer")],$);var B=r(72593),U=r(52136),J=r(18768),Q=r(69208),K=r(6455),Y=r(47685),H=r(10086),W=r(16131),X=r(32756),ee=r(8303),te=r(54310),re=r(82935),ie=r(15426),ne=r(33143),se=r(17036),oe=r(91908),le=r(20655),ae=r(80812),ue=r(39131),de=r(61956);const ce=(0,se.p)();function pe(e,t,r,i){const n=e.write({},i);(function(e){if(null==e)return!0;const t=Object.keys(e);return!t.length||1===t.length&&"id"===t[0]})(n)||(t[r]=n)}let ye=class extends((0,K.FJ)((0,H.j)((0,Y.w6)((0,w.dM)((0,X.fY)((0,re.e)((0,b.j)((0,te.J)((0,J.b)((0,W.q)((0,ee.A)((0,a.M)((0,Q.d)((0,U.p)(p.A))))))))))))))){constructor(e){super(e),this.legendEnabled=!0,this._portals=new Map,this._layerToFootprint=new WeakMap,this.drawOrderField="cd_draworder",this.dynamicGroupLayer=new x({parent:this}),this.elevationInfo=null,this.fields=null,this.fieldsIndex=null,this.floorInfo=null,this.footprintLayer=new $({parent:this}),this.itemNameField="cd_itemname",this.itemSourceField="cd_itemsource",this.itemTypeField="cd_itemtype",this.layers=new s.A([this.dynamicGroupLayer,this.footprintLayer]),this.maxScaleField="cd_maxscale",this.minScaleField="cd_minscale",this.orderBy=null,this.outFields=null,this.supportedSourceTypes=new Set(["Catalog Layer"]),this.source=new B.default({layer:this,supportedSourceTypes:this.supportedSourceTypes}),this.type="catalog",this.typeIdField=null,this.types=null}load(e){const t=null!=e?e.signal:null,r=this.loadFromPortal({supportedTypes:["Feature Service"]},e).catch(u.QP).then(async()=>{const{url:e,source:r,portalItem:i}=this;if(!e)throw new o.A("catalog-layer:missing-url","Catalog layer must be created with a url");if(null==this.layerId){const r=await this._fetchFirstValidLayerId(t);if(null==r)throw new o.A("catalog-layer:missing-layerId","There is no Catalog Layer in the service",{service:e});this.layerId=r}await r.load({signal:t});const{sourceJSON:n}=r;n&&(this.sourceJSON=n,this.read(n,{origin:"service",portalItem:i,portal:i?.portal,url:this.parsedUrl}))}).then(()=>{const e=[this.itemNameField,this.itemSourceField,this.itemTypeField,this.minScaleField,this.maxScaleField],t=e.filter(e=>!this.fieldsIndex.has(e));if(t.length)throw new o.A("catalog-layer:missing-fields","There are missing fields to operate properly",{requiredFields:e,missingFields:t})}).then(()=>(0,ie.VA)(this,"load",e));return this.addResolvingPromise(r),Promise.resolve(this)}destroy(){this.footprintLayer.destroy(),this.dynamicGroupLayer.destroy();for(const e of this._portals.values())e.destroy();this._portals.clear()}get createQueryVersion(){return this.commitProperty("definitionExpression"),this.commitProperty("timeExtent"),this.commitProperty("timeOffset"),this.commitProperty("geometryType"),this.commitProperty("capabilities"),(this._get("createQueryVersion")??0)+1}get editingEnabled(){return this.loaded&&null!=this.capabilities&&this.capabilities.operations.supportsEditing&&this.userHasEditingPrivileges}get effectiveEditingEnabled(){return!1}async applyEdits(e,t){return(0,ie.ct)(this,e,t)}async createLayerFromFootprint(e){const t=await this._createLayer(e);return this._configureLayer(t,e),this._layerToFootprint.set(t,e),t}createFootprintFromLayer(e){return this._layerToFootprint.get(e)?.clone()}createQuery(){const e=new de.A,t=this.capabilities?.query;e.returnGeometry=!0,t&&(e.compactGeometryEnabled=t.supportsCompactGeometry,e.defaultSpatialReferenceEnabled=t.supportsDefaultSpatialReference),e.outFields=["*"];const{timeOffset:r,timeExtent:i}=this;return e.timeExtent=null!=r&&null!=i?i.offset(-r.value,r.unit):i||null,e.where=this.definitionExpression||"1=1",e}getFeatureType(e){return(0,ie.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.getField(e)?.domain}async hasDataChanged(){return(0,ie.jp)(this)}async queryFeatures(e,t){const r=await this.load(),i=await r.source.queryFeatures(de.A.from(e)??r.createQuery(),t),n=r.footprintLayer.graphicOrigin;if(i?.features)for(const e of i.features)e.layer=e.sourceLayer=r.footprintLayer,e.origin=n;return i}async queryObjectIds(e,t){return(await this.load()).source.queryObjectIds(de.A.from(e)??this.createQuery(),t)}async queryFeatureCount(e,t){return(await this.load()).source.queryFeatureCount(de.A.from(e)??this.createQuery(),t)}async queryExtent(e,t){return(await this.load()).source.queryExtent(de.A.from(e)??this.createQuery(),t)}serviceSupportsSpatialReference(e){return this.loaded&&(0,oe.D)(this,e)}read(e,t){if(super.read(e,t),e){const{footprintLayer:r,dynamicGroupLayer:i}=e;r&&this.footprintLayer.read(r,t),i&&this.dynamicGroupLayer.read(i,t)}}async queryAttributeBins(e,t){const{source:i,capabilities:n}=await this.load();(0,ie.ZJ)(e,n,"CatalogLayer");const s=await r.e(6956).then(r.bind(r,14575)),o=await i.queryAttributeBins(s.default.from(e),t);if(o.features)for(const e of o.features)e.layer=e.sourceLayer=this.footprintLayer;return o}async _fetchFirstValidLayerId(e){const{data:t}=await(0,n.A)(this.url,{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e});if(this.applyPreferredHost(t),Array.isArray(t?.layers))return t.layers.find(({type:e})=>!!e&&this.supportedSourceTypes.has(e))?.id}async _createLayer(e){const t=e.getAttribute(this.itemSourceField);if(!t)throw new o.A("catalog-layer:item-source-missing",`The footprint is missing the "${this.itemSourceField}" attribute`);const i=JSON.parse(t);if(function(e){return"object"==typeof e&&null!=e&&"itemId"in e&&"portalUrl"in e}(i)){const{itemId:e,portalUrl:t}=i,r=(0,ue.qG)(t),n=this.portalItem?.portal,s=le.A.getDefault();let o,a=!0;n&&(0,d.ut)(t,n.url)?o=n:(0,d.ut)(t,s.url)?o=s:(o=(0,l.tE)(this._portals,r,()=>new le.A({url:r})),a=!1);const u=await p.A.fromPortalItem(new ae.default({id:e,portal:o}));return a||await he(u),u}if(function(e){return"object"==typeof e&&null!=e&&"url"in e}(i))return p.A.fromArcGISServerUrl({url:i.url});const{default:n}=await r.e(7546).then(r.bind(r,45165));return new n}_configureLayer(e,t){const r=t.getAttribute(this.itemNameField);r&&(e.title=r);const i=t.getAttribute(this.maxScaleField);null!=i&&"maxScale"in e&&(e.maxScale=i);const n=t.getAttribute(this.minScaleField);null!=n&&"minScale"in e&&(e.minScale=n)}};async function he(e){if("portalItem"in e&&e.portalItem){try{await e.load()}catch{}e.portalItem=null,"group"===e.type&&await Promise.allSettled([...e.layers.map(e=>he(e)),...e.tables.map(e=>he(e))])}}(0,i.Cg)([(0,c.MZ)(_.fV)],ye.prototype,"legendEnabled",void 0),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],ye.prototype,"createQueryVersion",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],ye.prototype,"drawOrderField",void 0),(0,i.Cg)([(0,c.MZ)({type:x,readOnly:!0,json:{read:!1,write:{ignoreOrigin:!0,writer:pe}}})],ye.prototype,"dynamicGroupLayer",void 0),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],ye.prototype,"editingEnabled",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],ye.prototype,"effectiveEditingEnabled",null),(0,i.Cg)([(0,c.MZ)({json:{origins:{"web-scene":{name:"layerDefinition.elevationInfo",read:!1,write:!1}}}})],ye.prototype,"elevationInfo",void 0),(0,i.Cg)([(0,c.MZ)({...ce.fields,readOnly:!0,json:{origins:{service:{read:!0}},read:!1}})],ye.prototype,"fields",void 0),(0,i.Cg)([(0,c.MZ)(ce.fieldsIndex)],ye.prototype,"fieldsIndex",void 0),(0,i.Cg)([(0,c.MZ)({json:{origins:{"web-scene":{name:"layerDefinition.floorInfo",read:!1,write:!1}}}})],ye.prototype,"floorInfo",void 0),(0,i.Cg)([(0,c.MZ)({type:$,readOnly:!0,json:{read:!1,write:{ignoreOrigin:!0,writer:pe}}})],ye.prototype,"footprintLayer",void 0),(0,i.Cg)([(0,c.MZ)(_.id)],ye.prototype,"id",void 0),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],ye.prototype,"itemNameField",void 0),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],ye.prototype,"itemSourceField",void 0),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],ye.prototype,"itemTypeField",void 0),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],ye.prototype,"layers",void 0),(0,i.Cg)([(0,c.MZ)({type:["show","hide","hide-children"]})],ye.prototype,"listMode",void 0),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],ye.prototype,"maxScaleField",void 0),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],ye.prototype,"minScaleField",void 0),(0,i.Cg)([(0,c.MZ)({value:"CatalogLayer",type:["CatalogLayer"]})],ye.prototype,"operationalLayerType",void 0),(0,i.Cg)([(0,c.MZ)({json:{origins:{"web-scene":{name:"layerDefinition.orderBy",write:!0,read:!0}}}})],ye.prototype,"orderBy",void 0),(0,i.Cg)([(0,c.MZ)(ce.outFields)],ye.prototype,"outFields",void 0),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],ye.prototype,"source",void 0),(0,i.Cg)([(0,c.MZ)({json:{read:!1}})],ye.prototype,"type",void 0),(0,i.Cg)([(0,c.MZ)({type:String})],ye.prototype,"typeIdField",void 0),(0,i.Cg)([(0,c.MZ)({type:[ne.A]})],ye.prototype,"types",void 0),ye=(0,i.Cg)([(0,c.$K)("esri.layers.CatalogLayer")],ye);const fe=ye},87718(e,t,r){r.d(t,{F:()=>T,Y:()=>F});var i,n=r(5482),s=r(91429),o=r(49186),l=r(25482),a=r(93637),u=r(76369),d=r(66552),c=r(4718),p=r(50498),y=r(61956),h=r(79677);const f=new d.J({esriSpatialRelIntersects:"intersects",esriSpatialRelContains:"contains",esriSpatialRelCrosses:"crosses",esriSpatialRelDisjoint:"disjoint",esriSpatialRelEnvelopeIntersects:"envelope-intersects",esriSpatialRelIndexIntersects:"index-intersects",esriSpatialRelOverlaps:"overlaps",esriSpatialRelTouches:"touches",esriSpatialRelWithin:"within",esriSpatialRelRelation:"relation"}),m=new d.J({esriSRUnit_Meter:"meters",esriSRUnit_Kilometer:"kilometers",esriSRUnit_Foot:"feet",esriSRUnit_StatuteMile:"miles",esriSRUnit_NauticalMile:"nautical-miles",esriSRUnit_USNauticalMile:"us-nautical-miles"});let g=i=class extends l.o{constructor(e){super(e),this.where=null,this.geometry=null,this.spatialRelationship="intersects",this.distance=void 0,this.objectIds=null,this.units=null,this.timeExtent=null}createQuery(e={}){const{where:t,geometry:r,spatialRelationship:i,timeExtent:n,objectIds:s,units:o,distance:l}=this;return new y.A({geometry:(0,c.o8)(r),objectIds:(0,c.o8)(s),spatialRelationship:i,timeExtent:(0,c.o8)(n),where:t,units:o,distance:l,...e})}clone(){const{where:e,geometry:t,spatialRelationship:r,timeExtent:n,objectIds:s,units:o,distance:l}=this;return new i({geometry:(0,c.o8)(t),objectIds:(0,c.o8)(s),spatialRelationship:r,timeExtent:(0,c.o8)(n),where:e,units:o,distance:l})}};(0,n.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],g.prototype,"where",void 0),(0,n.Cg)([(0,s.MZ)({types:p.yR,json:{write:!0}})],g.prototype,"geometry",void 0),(0,n.Cg)([(0,s.MZ)({type:f.apiValues,json:{name:"spatialRel",read:{reader:f.read},write:{allowNull:!1,writer:f.write,overridePolicy(){return{enabled:null!=this.geometry}}}}})],g.prototype,"spatialRelationship",void 0),(0,n.Cg)([(0,s.MZ)({type:Number,json:{write:{overridePolicy(e){return{enabled:null!=e&&null!=this.geometry}}}}})],g.prototype,"distance",void 0),(0,n.Cg)([(0,s.MZ)({type:[Number],json:{write:!0}})],g.prototype,"objectIds",void 0),(0,n.Cg)([(0,s.MZ)({type:m.apiValues,json:{read:m.read,write:{writer:m.write,overridePolicy(e){return{enabled:null!=e&&null!=this.geometry}}}}})],g.prototype,"units",void 0),(0,n.Cg)([(0,s.MZ)({type:h.A,json:{write:!0}})],g.prototype,"timeExtent",void 0),g=i=(0,n.Cg)([(0,s.$K)("esri.layers.support.FeatureFilter")],g);const v=g;var w;const b={read:{reader:u.LF},write:{writer:u.M9,overridePolicy(){return{allowNull:null!=this.excludedEffect,isRequired:null==this.excludedEffect}}}},_={read:{reader:u.LF},write:{writer:u.M9,overridePolicy(){return{allowNull:null!=this.includedEffect,isRequired:null==this.includedEffect}}}},C={name:"showExcludedLabels",default:!0};let M=w=class extends l.o{constructor(e){super(e),this.filter=null,this.includedEffect=null,this.excludedEffect=null,this.excludedLabelsVisible=!1}write(e,t){const r=super.write(e,t);if(t?.origin){if(r.filter){const e=Object.keys(r.filter);if(e.length>1||"where"!==e[0])return t.messages?.push(new o.A("web-document-write:unsupported-feature-effect","Invalid feature effect 'filter'. A filter can only contain a 'where' property",{layer:t.layer,effect:this})),null}if("showExcludedLabels"in r)return t.messages?.push(new o.A("web-document-write:unsupported-feature-effect","Invalid value for property 'excludedLabelsVisible' which should always be 'true'",{layer:t.layer,effect:this})),null}return r}clone(){return new w({filter:null!=this.filter?this.filter.clone():null,includedEffect:this.includedEffect,excludedEffect:this.excludedEffect,excludedLabelsVisible:this.excludedLabelsVisible})}};(0,n.Cg)([(0,s.MZ)({type:v,json:{write:{allowNull:!0,writer(e,t,r,i){const n=e?.write({},i);n&&0!==Object.keys(n).length?(0,a.sM)(r,n,t):(0,a.sM)(r,null,t)}}}})],M.prototype,"filter",void 0),(0,n.Cg)([(0,s.MZ)({json:{read:u.LF,write:{writer:u.M9,allowNull:!0},origins:{"web-map":b,"portal-item":b}}})],M.prototype,"includedEffect",void 0),(0,n.Cg)([(0,s.MZ)({json:{read:u.LF,write:{writer:u.M9,allowNull:!0},origins:{"web-map":_,"portal-item":_}}})],M.prototype,"excludedEffect",void 0),(0,n.Cg)([(0,s.MZ)({type:Boolean,json:{write:!0,name:"showExcludedLabels",origins:{"web-map":C,"portal-item":C}}})],M.prototype,"excludedLabelsVisible",void 0),M=w=(0,n.Cg)([(0,s.$K)("esri.layers.support.FeatureEffect")],M);const x={write:{allowNull:!0}},F={type:M,json:{origins:{"web-map":x,"portal-item":x}}},T=e=>{const t=e;let r=class extends t{constructor(){super(...arguments),this.featureEffect=null}};return(0,n.Cg)([(0,s.MZ)(F)],r.prototype,"featureEffect",void 0),r=(0,n.Cg)([(0,s.$K)("esri.layers.mixins.FeatureEffectLayer")],r),r}},91880(e,t,r){r.d(t,{A:()=>u});var i,n=r(5482),s=r(66552),o=r(25482),l=r(91429);const a=new s.J({asc:"ascending",desc:"descending"});let u=class extends o.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,n.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],u.prototype,"field",void 0),(0,n.Cg)([(0,l.MZ)({type:String,json:{write:!0,origins:{"web-scene":{read:!1,write:!1}}}})],u.prototype,"valueExpression",void 0),(0,n.Cg)([(0,l.MZ)({type:a.apiValues,json:{type:a.jsonValues,read:a.read,write:a.write}})],u.prototype,"order",void 0),u=i=(0,n.Cg)([(0,l.$K)("esri.layers.support.OrderByInfo")],u)},96520(e,t,r){r.d(t,{u:()=>o});var i=r(86211),n=r(21325);function s(e,t,r){if(null==e.hasM||e.hasZ)for(const e of t)for(const t of e)t.length>2&&(t[2]*=r)}function o(e,t,r){if(!e&&!t||!r)return;const n=(0,i.G9)(r);l(e,r,n),l(t,r,n)}function l(e,t,r){if(e)for(const i of e)a(i.geometry,t,r)}function a(e,t,r){if(!e?.spatialReference||(0,n.aI)(e.spatialReference,t))return;const o=(0,i.G9)(e.spatialReference)/r;if(1!==o)if("x"in e)null!=e.z&&(e.z*=o);else if("rings"in e)s(e,e.rings,o);else if("paths"in e)s(e,e.paths,o);else if("points"in e&&(null==e.hasM||e.hasZ))for(const t of e.points)t.length>2&&(t[2]*=o)}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1003],{1003(e,t,s){s.r(t),s.d(t,{default:()=>ge});var i=s(49186),n=s(5482),a=s(91429),r=s(49859),o=s(68197),l=s(5443),f=s(16930),c=s(73444),u=s(94778),h=s(14140);function p(e){return["x","e","east","long","longitude"].includes(e.toLowerCase())}function d(e){return["y","n","west","lat","latitude"].includes(e.toLowerCase())}function m(e){const{axes:t}=e.domain,s=Object.keys(t),i=[],n=[];let a=-1,r=-1,o=[];for(let e=0;e<s.length;e++){const l=s[e];p(l)?a=e:d(l)&&(r=e);const f=t[l],c=[];if("values"in f){f.values.forEach(e=>c.push("string"==typeof e?new Date(e).getTime():e));const e=c[1]-c[0];i.push([c[0]-.5*e,c[c.length-1]+.5*e]),n.push(e)}else{const{start:e,stop:t,num:s}=f,a=(t-e)/(s-1);i.push([e-.5*a,t+.5*a]),n.push(a);for(let t=0;t<s;t++)c.push(e+a*t)}o.push({name:l,values:c,extent:[c[0],c[c.length-1]]})}a>-1&&-1===r?r=0===a?1:0:r>-1&&-1===a?a=0===r?1:0:-1===r&&-1===a&&(a=0,r=1),o=o.filter((e,t)=>!(t===a||t===r));const{referencing:c}=e.domain,u=c.find(e=>e.coordinates.includes(s[a])).system.id,h=u?.slice(u.lastIndexOf("/")+1),m=null==h||"CRS84"===h?4326:Number(h),g=new f.A({wkid:m}),[y,x]=i[a],[w,I]=i[r],v=new l.A({xmin:y,xmax:x,ymin:w,ymax:I,spatialReference:g});return{width:Math.round(v.width/n[a]),height:Math.round(v.height/n[r]),extent:v,dimensions:o}}function g(e){const t=(0,c.lR)();return t?e[t]??Object.values(e)[0]:Object.values(e)[0]}function y(){return Math.round(255*Math.random())}function x(e){const t={},{parameters:s}=e;if(!s)return t;for(const[e,i]of Object.entries(s)){const{type:s,description:n,unit:a,categoryEncoding:r,observedProperty:l}=i;if("Parameter"===s&&(t[e]={},n&&(t[e].description=g(n)),a&&(t[e].unit=a.label?g(a.label):null,t[e].symbol=a.symbol?.value),r)){const s=Object.entries(r).map((e,t)=>({OID:t,Value:Number(e[1]),ClassName:e[0].slice(e[0].lastIndexOf("/")+1),Count:1}));let i=!1;l?.categories?.length&&(l.categories.forEach(e=>{if(!e.id)return;const t=e.id.slice(e.id.lastIndexOf("/")+1),n=s.find(e=>e.ClassName===t);if(!n)return;const a=e.label?g(e.label):null;if(n.Label=a,e.preferredColor){const t=o.A.fromHex(e.preferredColor);t&&(i=!0,n.Red=t.r,n.Green=t.g,n.Blue=t.b)}}),i&&s.forEach(e=>{null==e.Red&&(e.Red=y(),e.Green=y(),e.Blue=y())}));const n={objectIdFieldName:"",fields:[{name:"OID",type:"esriFieldTypeOID",alias:"OID",domain:null},{name:"Value",type:"esriFieldTypeInteger",alias:"Value",domain:null},{name:"Count",type:"esriFieldTypeDouble",alias:"Count",domain:null},{name:"ClassName",type:"esriFieldTypeString",alias:"ClassName",domain:null,length:50},{name:"Label",type:"esriFieldTypeString",alias:"Label",domain:null,length:50}],features:s.map(e=>({attributes:e}))};i&&n.fields.push({name:"Red",type:"esriFieldTypeInteger",alias:"Red",domain:null},{name:"Green",type:"esriFieldTypeInteger",alias:"Green",domain:null},{name:"Blue",type:"esriFieldTypeInteger",alias:"Blue",domain:null}),t[e].attributeTable=n}}return t}function w(e){let t=Number.MAX_VALUE,s=-Number.MAX_VALUE;for(let i=0;i<e.length;i++){const n=e[i];null!=n&&(n<t&&(t=n),n>s&&(s=n))}return(0,u.X1)(t,s)}function I(e,t,s){const i=e.map((e,s)=>({name:e,count:t[s]})).sort((e,t)=>e.name>t.name?-1:1),n=(a=1,e=>a*=e.count);var a;const r=[...i.slice(1),{name:"",count:1}].reverse().map(n).reverse();let o=0;for(let n=e.length-1;n>=0;n--)o+=r[i.findIndex(({name:t})=>t===e[n])]*(s%t[n]),s=Math.floor(s/t[n]);return o}var v=s(74887),C=s(4366),b=s(47520),T=s(51927),S=s(45617),A=s(87186);let R=class extends r.A{constructor(){super(...arguments),this.datasetFormat="MEMORY",this.source=null}get url(){return""}fetchRawTile(e,t,s,i={}){if(!this._pixelBlockTiles){const{rasterInfo:n}=this,[a,r]=n.storageInfo.tileInfo.size,{sliceId:o}=i,{pixelBlocks:l}=this.source,f={pixelBlock:null==o?l[0]:l[o],useBilinear:"thematic"!==n.dataType,tileSize:{width:a,height:r},level:e,row:t,col:s},c=this.rasterJobHandler?this.rasterJobHandler.clipTile(f,i):(0,b.J$)(f);return Promise.resolve(c)}const n=this._pixelBlockTiles.get(`${e}/${t}/${s}`);return Promise.resolve(n)}async _open(e){const t=this.source,{pixelBlocks:s,attributeTable:i,statistics:n,histograms:a,name:r,nativeExtent:o,transform:c,colormap:u}=t,h=s[0],{width:p,height:d,pixelType:m}=h,g=t.extent??new l.A({xmin:-.5,ymin:.5,xmax:p-.5,ymax:d-.5,spatialReference:new f.A({wkid:3857})}),y=t.isPseudoSpatialReference??!t.extent,x={x:g.width/p,y:g.height/d},w={...t.keyProperties};t.dataType&&(w.DataType=t.dataType),t.bandInfos&&(w.BandProperties=t.bandInfos.map(e=>e.toJSON())),i&&(w.DataType="Thematic");const I=new A.A({width:p,height:d,pixelType:m,extent:g,nativeExtent:o,attributeTable:i,colormap:u,transform:c,pixelSize:x,spatialReference:g.spatialReference,bandCount:h.pixels.length,keyProperties:w,multidimensionalInfo:t.multidimensionalInfo,statistics:n,isPseudoSpatialReference:y,histograms:a});this.ioConfig.skipMapInfo&&this.updateImageSpaceRasterInfo(I),this.createRemoteDatasetStorageInfo(I,512,512),this._set("rasterInfo",I),this.updateTileInfo(),I.multidimensionalInfo?await this._buildMDimStats(t.pixelBlocks,I.multidimensionalInfo):await this._buildInMemoryRaster(h,{width:512,height:512},e),I.multidimensionalInfo||(this.source=null),this.datasetName=r}async _buildInMemoryRaster(e,t,s){const{rasterInfo:n}=this,a=n.storageInfo.maximumPyramidLevel??0,r="thematic"!==n.dataType,o=this.rasterJobHandler?this.rasterJobHandler.split({pixelBlock:e,tileSize:t,maximumPyramidLevel:a,useBilinear:r},s):Promise.resolve((0,b.lD)(e,t,a,r)),l=null!=n.statistics,f=null!=n.histograms,c=this.ioConfig.skipStatistics||l?Promise.resolve({statistics:null,histograms:null}):this.rasterJobHandler?this.rasterJobHandler.estimateStatisticsHistograms({pixelBlock:e},s):Promise.resolve((0,T.f4)(e)),u=await(0,v.Lx)([o,c]);if(!u[0].value&&u[1].value)throw new i.A("inmemory-raster:open","failed to build in memory raster");this._pixelBlockTiles=u[0].value,l||(n.statistics=u[1].value?.statistics),f||(n.histograms=u[1].value?.histograms)}async _buildMDimStats(e,t,s){for(let i=0;i<t.variables.length;i++){const n=t.variables[i];if(n.statistics)continue;const a=n.dimensions.map(e=>new S.A({variableName:n.name,dimensionName:e.name,values:[e.values?.[0]??e.extent?.[0]],isSlice:!0})),r=(0,C.NG)(a,t),o=null==r?null:e[r];if(null==o)continue;const l=this.rasterJobHandler?await this.rasterJobHandler.computeStatisticsHistograms({pixelBlock:o},s):(0,T.eH)(o);n.statistics=l.statistics,n.histograms||(n.histograms=l.histograms)}}};(0,n.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],R.prototype,"datasetFormat",void 0),(0,n.Cg)([(0,a.MZ)()],R.prototype,"source",void 0),(0,n.Cg)([(0,a.MZ)()],R.prototype,"url",null),R=(0,n.Cg)([(0,a.$K)("esri.layers.raster.datasets.InMemoryRaster")],R);const M=R;var O=s(22671);let k=class extends r.A{constructor(){super(...arguments),this.datasetFormat="CovJSON"}fetchRawTile(e,t,s,i={}){return this._inMemoryRaster.fetchRawTile(e,t,s,i)}async _open(e){const{extent:t,pixelBlocks:s,multidimensionalInfo:i,attributeTable:n,bandNames:a}=await this._fetchData(e),{statistics:r,histograms:o}=(0,T.eH)(s[0]),l=a?.map(e=>({BandName:e})),f={DataType:n?"Thematic":i?"Scientific":"Generic",BandProperties:l},c=new M({source:{extent:t,pixelBlocks:s,attributeTable:n?O.A.fromJSON(n):null,multidimensionalInfo:i,statistics:r,histograms:o,keyProperties:f,isPseudoSpatialReference:!1}});await c.open(),this._inMemoryRaster=c;const u=this.source?"":this.url.slice(this.url.lastIndexOf("/")+1);this._set("datasetName",u.slice(0,u.indexOf("."))),this._set("rasterInfo",c.rasterInfo)}async _fetchData(e){const t=this.source??(await this.request(this.url,{signal:e?.signal})).data,s="imagery-tile-layer:open-coverage-json";if("coverage"!==t.type?.toLowerCase()||"grid"!==t.domain?.domainType?.toLowerCase())throw new i.A(s,"Only coverage with Grid domain type is supported");if(!t.ranges)throw new i.A(s,"Missing ranges in the grid coverage data");if(!t.domain.referencing?.length)throw new i.A(s,"Missing domain referencing in the grid coverage data");const n=Object.values(t.ranges);for(let e=0;e<n.length;e++){const{axisNames:t,shape:a,type:r,values:o}=n[e];if(!("ndarray"===r.toLowerCase()&&o?.length&&t?.length&&a?.length))throw new i.A(s,"Only ranges with valid NdArray, axisNames, shape, and inline values are supported");if(!p(t[t.length-1])||!d(t[t.length-2]))throw new i.A(s,"Only row-major ordered pixel values are supported. X axis must be the last axis.")}return function(e){const{width:t,height:s,extent:i,dimensions:n}=m(e),{ranges:a}=e,r=Object.keys(a).sort((e,t)=>e<t?-1:1),o=[];for(let e=0;e<r.length;e++){const t=r[e];n?.length&&o.push({name:t,dimensions:n})}const l=x(e);o.forEach(e=>l[e.name]&&Object.assign(e,l[e.name]));const f=o.length?{variables:o}:void 0,c=[];for(let e=0;e<r.length;e++){const i=r[e],{values:o,dataType:l,axisNames:f,shape:u}=a[i],p=u.length>2?e*u.slice(0,-2).reduce((e,t)=>e*t):0,d=f.slice(0,-2),m=u.slice(0,-2),g="float"===l?"f32":w(o),y=t*s,x=o.length/y;for(let i=0;i<x;i++){const a=h.A.createEmptyBand(g,y),r=new Uint8Array(y).fill(255);let l=!1;const f=i*y;for(let e=0;e<y;e++){const t=o[f+e];null==t?(r[e]=0,l=!0):a[e]=t}if(0===e||n?.length){const e=new h.A({width:t,height:s,mask:l?r:null,pixels:[a],pixelType:g});e.updateStatistics(),n?.length?c[I(d,m,i)+p]=e:c.push(e)}else{const e=c[i];e.pixels.push(a),l?e.mask&&(e.mask=h.A.combineBandMasks([e.mask,r])):e.mask=l?r:null}}}const u=Object.values(l).find(e=>e.attributeTable)?.attributeTable;return{extent:i,pixelBlocks:c,multidimensionalInfo:f,attributeTable:u,bandNames:f?void 0:r}}(t)}};(0,n.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],k.prototype,"datasetFormat",void 0),(0,n.Cg)([(0,a.MZ)({constructOnly:!0})],k.prototype,"source",void 0),k=(0,n.Cg)([(0,a.$K)("esri.layers.raster.datasets.CovJSONRaster")],k);const _=k;var F=s(44208),P=s(4576),B=s(21325),N=s(330),D=s(43163);function E(e,t){if(!e||!t)return null;const s=[];for(let i=0;i<e.length;i++)s.push(e[i]),s.push(t[i]);return s}function L(e){if(!e)return null;let t=Number(e);if(!isNaN(t)&&0!==t)return new f.A({wkid:t});if(e=String(e).trim(),(0,B.jp)(e))return new f.A({wkt2:e});const s=e.toUpperCase();if(s.startsWith("COMPD_CS")){if(!s.includes("VERTCS")||!s.includes("GEOGCS")&&!s.startsWith("PROJCS"))return null;const i=s.indexOf("VERTCS"),n=s.indexOf("PROJCS"),a=n>-1?n:s.indexOf("GEOGCS");if(-1===a)return null;const r=e.slice(a,e.lastIndexOf("]",i)+1).trim(),o=e.slice(i,e.lastIndexOf("]")).trim();t=z(r);const l=new f.A(t?{wkid:t}:{wkt:r}),c=z(o);return c&&(l.vcsWkid=c),l}return s.startsWith("GEOGCS")||s.startsWith("PROJCS")?(t=z(e),new f.A(0!==t?{wkid:t}:{wkt:e})):null}function z(e){const t=e.replaceAll("]","[").replaceAll('"',"").split("[").map(e=>e.trim()).filter(e=>""!==e),s=t[t.length-1].split(","),i=s[0]?.toLowerCase();if(("epsg"===i||"esri"===i)&&e.endsWith('"]]')){const e=Number(s[1]);if(!isNaN(e)&&0!==e)return e}return 0}function U(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,N.g7)(e,"SRS")){if(!t.spatialReference){const s=(0,N.mX)(e);t.spatialReference=L(s)}}else if((0,N.g7)(e,"Metadata"))if("xml:ESRI"===e.getAttribute("domain")){const{spatialReference:s,transform:i}=function(e){const t=(0,N.V6)(e,"GeodataXform"),s=L((0,N.v7)(t,"SpatialReference/WKID")||(0,N.mX)(t,"SpatialReference/WKT"));if("typens:PolynomialXform"!==t.getAttribute("xsi:type"))return{spatialReference:s,transform:null};const i=(0,N.v7)(t,"PolynomialOrder")??1,n=(0,N.Ui)(t,"CoeffX/Double"),a=(0,N.Ui)(t,"CoeffY/Double"),r=(0,N.Ui)(t,"InverseCoeffX/Double"),o=(0,N.Ui)(t,"InverseCoeffY/Double"),l=E(n,a),f=E(r,o);return{spatialReference:s,transform:l&&f&&l.length&&f.length?new D.A({spatialReference:s,polynomialOrder:i,forwardCoefficients:l,inverseCoefficients:f}):null}}(e);t.transform=i,t.spatialReference||(t.spatialReference=s)}else(0,N.IC)(e,"MDI").forEach(e=>t.metadata[e.getAttribute("key")]=(0,N.mX)(e));else if((0,N.g7)(e,"PAMRasterBand")){const s=function(e){const t=(0,N.v7)(e,"NoDataValue"),s=(0,N.V6)(e,"Histograms/HistItem"),i=(0,N.v7)(s,"HistMin"),n=(0,N.v7)(s,"HistMax"),a=(0,N.v7)(s,"BucketCount"),r=(0,N.mX)(s,"HistCounts")?.split("|").map(e=>Number(e));let o,l,f,c;(0,N.IC)(e,"Metadata/MDI").forEach(e=>{const t=Number(e.textContent??e.nodeValue);switch(e.getAttribute("key").toUpperCase()){case"STATISTICS_MINIMUM":o=t;break;case"STATISTICS_MAXIMUM":l=t;break;case"STATISTICS_MEAN":f=t;break;case"STATISTICS_STDDEV":c=t}});const u=(0,N.v7)(e,"Metadata/SourceBandIndex");return{noDataValue:t,histogram:r?.length&&null!=i&&null!=n?{min:i,max:n,size:a||r.length,counts:r}:null,sourceBandIndex:u,statistics:null!=o&&null!=l?{min:o,max:l,avg:f,stddev:c}:null}}(e);null!=s.sourceBandIndex&&null==t.rasterBands[s.sourceBandIndex]?t.rasterBands[s.sourceBandIndex]=s:t.rasterBands.push(s)}});const s=t.rasterBands;if(s.length){const e=!!s[0].statistics;t.statistics=e?s.map(e=>e.statistics).filter(P.Ru):null;const i=!!s[0].histogram;t.histograms=i?s.map(e=>e.histogram).filter(P.Ru):null}return t}var J=s(20758);let H=class extends r.A{fetchRawTile(e,t,s,i={}){return this._inMemoryRaster.fetchRawTile(e,t,s,i)}async _open(e){const t=await this._fetchData(e);let{spatialReference:s,statistics:i,histograms:n,transform:a}=await this._fetchAuxiliaryData(e);const r=!s;r&&(s=new f.A({wkid:3857})),n?.length&&null==i&&(i=(0,T.Pg)(n));const{width:o,height:c}=t;let u=new l.A({xmin:-.5,ymin:.5-c,xmax:o-.5,ymax:.5,spatialReference:s});const h=a?a.forwardTransform(u):u;let p=!0;if(a){const e=a.forwardCoefficients;p=e&&0===e[1]&&0===e[2],p&&(a=null,u=h)}const d=new M({source:{extent:h,nativeExtent:u,transform:a,pixelBlocks:[t],statistics:i,histograms:n,keyProperties:{DateType:"Processed"},isPseudoSpatialReference:r},ioConfig:{sampling:"closest",skipStatistics:!0}});this.ioConfig.skipMapInfo&&(d.ioConfig.skipMapInfo=!0),await d.open(),d.source=null,this._set("rasterInfo",d.rasterInfo),this._inMemoryRaster=d}async _fetchData(e){const{data:t}=await this.request(this.url,{responseType:"array-buffer",signal:e?.signal}),s=(0,J.g)(t).toUpperCase();if("JPG"!==s&&"PNG"!==s&&"GIF"!==s&&"BMP"!==s)throw new i.A("image-aux-raster:open","the data is not a supported format");this._set("datasetFormat",s);const n=s.toLowerCase(),a="gif"===n||"bmp"===n||!(0,F.A)("ios"),r=await this.decodePixelBlock(t,{format:n,useCanvas:a,hasNoZlibMask:!0});if(null==r)throw new i.A("image-aux-raster:open","the data cannot be decoded");return r}async _fetchAuxiliaryData(e){const t=e?.signal,{skipExtensions:s=[],skipMapInfo:i}=this.ioConfig,n=i||s.includes("aux.xml")?null:this.request(this.url+".aux.xml",{responseType:"xml",signal:t}),a=this.datasetFormat,r="JPG"===a?"jgw":"PNG"===a?"pgw":"BMP"===a?"bpw":null,o=r&&s.includes(r)?null:this.request(this.url.slice(0,this.url.lastIndexOf("."))+"."+r,{responseType:"text",signal:t}),l=await(0,v.Lx)([n,o]);if(t?.aborted)throw(0,v.NK)();const f=U(l[0].value?.data);if(!f.transform){const e=l[1].value?l[1].value.data.split("\n").slice(0,6).map(e=>Number(e)):null;f.transform=6===e?.length?new D.A({forwardCoefficients:[e[4],e[5],e[0],-e[1],e[2],-e[3]]}):null}return f}};(0,n.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],H.prototype,"datasetFormat",void 0),H=(0,n.Cg)([(0,a.$K)("esri.layers.raster.datasets.ImageAuxRaster")],H);const G=H;var q=s(97768),j=s(84952),V=s(86738),W=s(75414),X=s(20223),Z=s(87045),$=s(25943),Y=s(82371);let K=class extends r.A{constructor(){super(...arguments),this._levelOffset=0,this._tilemapCache=null,this._slices=null,this.datasetFormat="RasterTileServer",this.tileType=null}async fetchRawTile(e,t,s,i={}){const{storageInfo:n,extent:a}=this.rasterInfo,{transposeInfo:r}=n,o=null!=r&&!!i.transposedVariableName;if(this._slices&&!o&&null==i.sliceId)return null;const l=o?0:n.maximumPyramidLevel-e+this._levelOffset,f=`${this.url}/tile/${l}/${t}/${s}`,c={...this._slices?o?{variable:i.transposedVariableName}:{sliceId:i.sliceId||0}:null,...i.refreshParameters};let u,h;if(n.isBsqTile){const e=(i.bandIds?.length?i.bandIds:[0,1,2]).map(e=>this.request(f,{query:{...c,bandId:e},responseType:"array-buffer",signal:i.signal})),t=await Promise.all(e),s=t.map(e=>e.data.byteLength).reduce((e,t)=>e+t),n=new Uint8Array(s);h=[];let a=0;for(const{data:e}of t)h.push(a),n.set(new Uint8Array(e),a),a+=e.byteLength;u=n.buffer}else u=(await this.request(f,{query:c,responseType:"array-buffer",signal:i.signal})).data;if(!u)return null;const p=o?r.tileSize:n.tileInfo.size,d=await this.decodePixelBlock(u,{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=n.blockBoundary[e];if("jpg"!==n.compression||s>m.minCol&&s<m.maxCol&&t>m.minRow&&t<m.maxRow)return d;const{origin:g,blockWidth:y,blockHeight:x}=n,{x:w,y:I}=this.getPyramidPixelSize(e),v=Math.round((a.xmin-g.x)/w)%y,C=Math.round((a.xmax-g.x)/w)%y||y,T=Math.round((g.y-a.ymax)/I)%x,S=Math.round((g.y-a.ymin)/I)%x||x,A=s===m.minCol?v:0,R=t===m.minRow?T:0,M=s===m.maxCol?C:y,O=t===m.maxRow?S:x;return(0,b.z$)(d,{x:A,y:R},{width:M-A,height:O-R}),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 s=this._slices[e].multidimensionalDefinition;if(s.length===t.length&&!s.some(e=>{const s=t.find(t=>e.variableName===t.variableName&&t.dimensionName===e.dimensionName);return!s||(Array.isArray(e.values[0])?`${e.values[0][0]}-${e.values[0][1]}`:e.values[0])!==(Array.isArray(s.values[0])?`${s.values[0][0]}-${s.values[0][1]}`:s.values[0])}))return e}return null}async fetchVariableStatisticsHistograms(e,t){const s=this.request(this.url+"/statistics",{query:{variable:e,f:"json"},signal:t}).then(e=>e.data?.statistics),i=this.request(this.url+"/histograms",{query:{variable:e,f:"json"},signal:t}).then(e=>e.data?.histograms),n=await Promise.all([s,i]);return n[0]&&n[0].forEach(e=>{e.avg=e.mean,e.stddev=e.standardDeviation}),n[1]?.[0]?.counts?.length||(n[1]=null),{statistics:n[0]||null,histograms:n[1]||null}}async computeBestPyramidLevelForLocation(e,t={}){if(!this._tilemapCache)return 0;let s=this.identifyPixelLocation(e,0,t.datumTransformation);if(null===s)return null;let i=0;const{maximumPyramidLevel:n}=this.rasterInfo.storageInfo;let a=n-i+this._levelOffset;const r=s.srcLocation;for(;a>=0;){try{if("available"===await this._tilemapCache.fetchAvailability(a,s.row,s.col,t))break}catch{}if(a--,i++,s=this.identifyPixelLocation(r,i,t.datumTransformation),null===s)return null}return-1===a||null==s?null:i}async _open(e){const t=e?.signal,s=this.sourceJSON?{data:this.sourceJSON}:await this.request(this.url,{query:{f:"json"},signal:t});s.ssl&&(this.url=this.url.replace(/^http:/i,"https:"));const n=s.data;if(this.sourceJSON=n,!n)throw new i.A("imageserverraster:open","cannot initialize tiled image service, missing service info");if(!n.tileInfo)throw new i.A("imageserverraster:open","use ImageryLayer to open non-tiled image services");this._fixScaleInServiceInfo(),this.tileType=n.cacheType,null==this.tileType&&(["jpg","jpeg","png","png8","png24","png32","mixed"].includes(n.tileInfo.format.toLowerCase())?this.tileType="Map":"lerc"===n.tileInfo.format.toLowerCase()?this.tileType="Elevation":this.tileType="Raster"),this.datasetName=n.name?.slice(n.name.indexOf("/")+1)??"";const a=await this._fetchRasterInfo({signal:t});if(null==a)throw new i.A("image-server-raster:open","cannot initialize image service");(0,Y.E9)(a,n);const r="Map"===this.tileType?function(e,t){if(!e)return null;const{minScale:s,maxScale:i,minLOD:n,maxLOD:a}=t;if(null!=n&&null!=a)return Z.A.fromJSON({...e,lods:e.lods.filter(({level:e})=>null!=e&&e>=n&&e<=a)});if(0!==s&&0!==i){const t=e=>Math.round(1e4*e)/1e4,n=s?t(s):1/0,a=i?t(i):-1/0;return Z.A.fromJSON({...e,lods:e.lods.filter(e=>{const s=t(e.scale);return s<=n&&s>=a})})}return Z.A.fromJSON(e)}(n.tileInfo,n):Z.A.fromJSON(n.tileInfo);(0,q.Lw)(r);const[o,l]=this._computeMinMaxLOD(a,r),{extent:f,pixelSize:c}=a,u=.5/a.width*c.x,h=Math.max(c.x,c.y),{lods:p}=r;("Map"!==this.tileType&&0!==n.maxScale||Math.abs(c.x-c.y)>u||!p.some(e=>Math.abs(e.resolution-h)<u))&&(c.x=c.y=o.resolution,a.width=Math.ceil((f.xmax-f.xmin)/c.x-.1),a.height=Math.ceil((f.ymax-f.ymin)/c.y-.1));const d=o.level-l.level,[m,g]=r.size,y=[],x=[];p.forEach((e,t)=>{e.level>=l.level&&e.level<=o.level&&y.push({x:e.resolution,y:e.resolution}),t<p.length-1&&x.push(Math.round(10*e.resolution/p[t+1].resolution)/10)}),y.sort((e,t)=>e.x-t.x);const w=this.computeBlockBoundary(f,m,g,r.origin,y,d),I=y.length>1?y.slice(1):null;let v;n.transposeInfo&&(v={tileSize:[n.transposeInfo.rows,n.transposeInfo.cols],packetSize:a.keyProperties?._yxs.PacketSize??0});const C=x.length<=1||x.length>=3&&x.slice(0,-1).every(e=>e===x[0])?x[0]??2:Math.round(10/(l.resolution/o.resolution)**(-1/d))/10;if(a.storageInfo=new X.A({blockWidth:r.size[0],blockHeight:r.size[1],pyramidBlockWidth:r.size[0],pyramidBlockHeight:r.size[1],pyramidResolutions:I,pyramidScalingFactor:C,compression:r.format,origin:r.origin,firstPyramidLevel:1,maximumPyramidLevel:d,tileInfo:r,isBsqTile:!!n.bsq,transposeInfo:v,blockBoundary:w}),function(e){const{extent:t,spatialReference:s}=e;t.xmin>-1&&t.xmax>181&&s?.wkid&&s.isGeographic&&(e.nativeExtent=e.extent,e.transform=new W.A,e.extent=e.transform.forwardTransform(t))}(a),this._set("rasterInfo",a),n.capabilities.toLowerCase().includes("tilemap")){const e={tileInfo:a.storageInfo.tileInfo,parsedUrl:(0,j.An)(this.url),url:this.url,tileServers:[]};this._tilemapCache=new $.d({layer:e})}}async _fetchRasterInfo(e){const t=this.sourceJSON;if("Map"===this.tileType){const e=t.fullExtent||t.extent,s=Math.ceil((e.xmax-e.xmin)/t.pixelSizeX-.1),i=Math.ceil((e.ymax-e.ymin)/t.pixelSizeY-.1),n=f.A.fromJSON(t.spatialReference||e.spatialReference),a=new V.A({x:t.pixelSizeX,y:t.pixelSizeY,spatialReference:n});return new A.A({width:s,height:i,bandCount:3,extent:l.A.fromJSON(e),spatialReference:n,pixelSize:a,pixelType:"u8",statistics:null,keyProperties:{DataType:"processed"}})}const s={...e,query:{...this.ioConfig.customFetchParameters,f:"json"}},i=(0,Y.Tw)(this.url,this.sourceJSON,s),n=t.hasMultidimensions?this.request(`${this.url}/slices`,s).then(e=>e.data?.slices).catch(()=>null):null,a=await Promise.all([i,n]);return this._slices=a[1],a[0]}_fixScaleInServiceInfo(){const{sourceJSON:e}=this;e.minScale&&e.minScale<0&&(e.minScale=0),e.maxScale&&e.maxScale<0&&(e.maxScale=0)}_computeMinMaxLOD(e,t){const{pixelSize:s}=e,i=.5/e.width*s.x,{lods:n}=t,a=t.lodAt(Math.max.apply(null,n.map(e=>e.level))),r=t.lodAt(Math.min.apply(null,n.map(e=>e.level))),{tileType:o}=this;if("Map"===o)return this._levelOffset=n[0].level,[a,r];if("Raster"===o)return[n.find(e=>e.resolution===s.x)??a,r];const{minScale:l,maxScale:f}=this.sourceJSON;let c=a;f>0&&(c=n.find(e=>Math.abs(e.scale-f)<i),c||(c=n.filter(e=>e.scale>f).sort((e,t)=>e.scale>t.scale?1:-1)[0]??a));let u=r;return l>0&&(u=n.find(e=>Math.abs(e.scale-l)<i)??r,this._levelOffset=u.level-r.level),[c,u]}};(0,n.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],K.prototype,"datasetFormat",void 0),(0,n.Cg)([(0,a.MZ)()],K.prototype,"tileType",void 0),K=(0,n.Cg)([(0,a.$K)("esri.layers.raster.datasets.ImageServerRaster")],K);const Q=K;var ee=s(10713);const te=new Map;te.set("Byte","u8"),te.set("Int8","s8"),te.set("UInt8","u8"),te.set("Int16","s16"),te.set("UInt16","u16"),te.set("Int32","s32"),te.set("UInt32","u32"),te.set("Float32","f32"),te.set("Float64","f32"),te.set("Double64","f32");const se=new Map;se.set("none",{blobExtension:".til",isOneSegment:!0,decoderFormat:"bip"}),se.set("lerc",{blobExtension:".lrc",isOneSegment:!1,decoderFormat:"lerc"}),se.set("deflate",{blobExtension:".pzp",isOneSegment:!0,decoderFormat:"deflate"}),se.set("jpeg",{blobExtension:".pjg",isOneSegment:!0,decoderFormat:"jpg"}),se.set("qb3",{blobExtension:".pq3",isOneSegment:!0,decoderFormat:"qb3"});let ie=class extends r.A{constructor(){super(...arguments),this._files=null,this._storageIndex=null,this.datasetFormat="MRF"}async fetchRawTile(e,t,s,i={}){const{blockWidth:n,blockHeight:a,blockBoundary:r}=this.rasterInfo.storageInfo,o=r[e];if(!o||o.maxRow<t||o.maxCol<s||o.minRow>t||o.minCol>s)return null;const{bandCount:l,pixelType:f}=this.rasterInfo,{ranges:c,actualTileWidth:u,actualTileHeight:p}=this._getTileLocation(e,t,s);if(!c||0===c.length)return null;if(0===c[0].from&&0===c[0].to){const e=new Uint8Array(n*a);return new h.A({width:n,height:a,pixels:void 0,mask:e,validPixelCount:0})}const{bandIds:d}=this.ioConfig,m=this._getBandSegmentCount(),g=[];let y=0;for(y=0;y<m;y++)d&&!d.includes(y)||g.push(this.request(this._files.data,{range:{from:c[y].from,to:c[y].to},responseType:"array-buffer",signal:i.signal}));const x=await Promise.all(g),w=x.map(e=>e.data.byteLength).reduce((e,t)=>e+t),I=new Uint8Array(w),v=[];let C=0;for(y=0;y<m;y++)v.push(C),I.set(new Uint8Array(x[y].data),C),C+=x[y].data.byteLength;const b=se.get(this.rasterInfo.storageInfo.compression).decoderFormat,T=await this.decodePixelBlock(I.buffer,{width:n,height:a,format:b,planes:d?.length||l,offsets:v,pixelType:f}).catch(()=>null);if(null==T)return null;let{noDataValue:S}=this.rasterInfo;if(null!=S&&"lerc"!==b&&!T.mask&&(S=S[0],null!=S)){const e=T.width*T.height,t=new Uint8Array(e);if(Math.abs(S)>1e24)for(y=0;y<e;y++)Math.abs((T.pixels[0][y]-S)/S)>1e-6&&(t[y]=1);else for(y=0;y<e;y++)T.pixels[0][y]!==S&&(t[y]=1);T.mask=t}let A=0,R=0;if(u!==n||p!==a){let e=T.mask;if(e)for(y=0;y<a;y++)if(R=y*n,y<p)for(A=u;A<n;A++)e[R+A]=0;else for(A=0;A<n;A++)e[R+A]=0;else for(e=new Uint8Array(n*a),T.mask=e,y=0;y<p;y++)for(R=y*n,A=0;A<u;A++)e[R+A]=1}return T}async _open(e){this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1);const t=e?e.signal:null,s=await this.request(this.url,{responseType:"xml",signal:t}),{rasterInfo:i,files:n}=this._parseHeader(s.data),{skipMapInfo:a,skipExtensions:r=[]}=this.ioConfig;if(!r.includes("aux.xml")&&!a){const t=await this._fetchAuxiliaryData(e);null!=t&&(i.statistics=t.statistics??i.statistics,i.histograms=t.histograms,t.histograms&&null==i.statistics&&(i.statistics=(0,T.Pg)(t.histograms)))}a&&this.updateImageSpaceRasterInfo(i),this._set("rasterInfo",i),this._files=n;const o=await this.request(n.index,{responseType:"array-buffer",signal:t});this._storageIndex=function(e){if(e.byteLength%16>0)throw new Error("invalid array buffer must be multiples of 16");let t,s,i,n,a,r;if(ee.Z){for(s=new Uint8Array(e),n=new ArrayBuffer(e.byteLength),i=new Uint8Array(n),a=0;a<e.byteLength/4;a++)for(r=0;r<4;r++)i[4*a+r]=s[4*a+3-r];t=new Uint32Array(n)}else t=new Uint32Array(e);return t}(o.data);const{blockWidth:l,blockHeight:f}=this.rasterInfo.storageInfo,c=this.rasterInfo.storageInfo.pyramidScalingFactor,{width:u,height:h}=this.rasterInfo,p=[],d=this._getBandSegmentCount();let m=0,g=-1;for(;m<this._storageIndex.length;){g++;const e=Math.ceil(u/l/c**g)-1,t=Math.ceil(h/f/c**g)-1;m+=(e+1)*(t+1)*d*4,p.push({maxRow:t,maxCol:e,minCol:0,minRow:0})}this.rasterInfo.storageInfo.blockBoundary=p,g>0&&(this.rasterInfo.storageInfo.firstPyramidLevel=1,this.rasterInfo.storageInfo.maximumPyramidLevel=g),this.updateTileInfo()}_getBandSegmentCount(){return se.get(this.rasterInfo.storageInfo.compression).isOneSegment?1:this.rasterInfo.bandCount}_getTileLocation(e,t,s){const{blockWidth:i,blockHeight:n,pyramidScalingFactor:a}=this.rasterInfo.storageInfo,{width:r,height:o}=this.rasterInfo,l=this._getBandSegmentCount();let f,c,u,h=0,p=0;for(u=0;u<e;u++)p=a**u,f=Math.ceil(r/i/p),c=Math.ceil(o/n/p),h+=f*c;p=a**e,f=Math.ceil(r/i/p),c=Math.ceil(o/n/p),h+=t*f+s,h*=4*l;const d=this._storageIndex.subarray(h,h+4*l);let m=0,g=0;const y=[];for(let e=0;e<l;e++)m=d[4*e]*2**32+d[4*e+1],g=m+d[4*e+2]*2**32+d[4*e+3]-1,y.push({from:m,to:g});return{ranges:y,actualTileWidth:s<f-1?i:Math.ceil(r/p)-i*(f-1),actualTileHeight:t<c-1?n:Math.ceil(o/p)-n*(c-1)}}_parseHeader(e){const t=(0,N.V6)(e,"MRF_META/Raster");if(!t)throw new i.A("mrf:open","not a valid MRF format");const s=(0,N.V6)(t,"Size"),n=parseInt(s.getAttribute("x"),10),a=parseInt(s.getAttribute("y"),10),r=parseInt(s.getAttribute("c"),10),o=((0,N.mX)(t,"Compression")||"none").toLowerCase();if(!se.has(o))throw new i.A("mrf:open","currently does not support compression "+o);const c=(0,N.mX)(t,"DataType")||"UInt8",u=te.get(c);if(null==u)throw new i.A("mrf:open","currently does not support pixel type "+c);const h=(0,N.V6)(t,"PageSize"),p=parseInt(h.getAttribute("x"),10),d=parseInt(h.getAttribute("y"),10),m=(0,N.V6)(t,"DataValues");let g,y;if(m&&(y=m.getAttribute("NoData"),null!=y&&(g=y.trim().split(" ").map(e=>parseFloat(e)))),(0,N.V6)(e,"MRF_META/CachedSource"))throw new i.A("mrf:open","currently does not support MRF referencing other data files");const x=(0,N.V6)(e,"MRF_META/GeoTags"),w=(0,N.V6)(x,"BoundingBox");let I,v=!1;if(null!=w){const e=parseFloat(w.getAttribute("minx")),t=parseFloat(w.getAttribute("miny")),s=parseFloat(w.getAttribute("maxx")),i=parseFloat(w.getAttribute("maxy")),n=(0,N.mX)(x,"Projection")||"";let a=f.A.WGS84;if("LOCAL_CS[]"!==n)if(n.toLowerCase().startsWith("epsg:")){const e=Number(n.slice(5));isNaN(e)||0===e||(a=new f.A({wkid:e}))}else a=L(n)??f.A.WGS84;else v=!0,a=new f.A({wkid:3857});I=new l.A(e,t,s,i),I.spatialReference=a}else v=!0,I=new l.A({xmin:-.5,ymin:.5-a,xmax:n-.5,ymax:.5,spatialReference:new f.A({wkid:3857})});const C=(0,N.V6)(e,"MRF_META/Rsets"),b=parseInt(C?.getAttribute("scale")||"2",10),T=I.spatialReference,S=new X.A({origin:new V.A({x:I.xmin,y:I.ymax,spatialReference:T}),blockWidth:p,blockHeight:d,pyramidBlockWidth:p,pyramidBlockHeight:d,compression:o,pyramidScalingFactor:b}),R=new V.A({x:I.width/n,y:I.height/a,spatialReference:T}),M=new A.A({width:n,height:a,extent:I,isPseudoSpatialReference:v,spatialReference:T,bandCount:r,pixelType:u,pixelSize:R,noDataValue:g,storageInfo:S}),O=(0,N.mX)(e,"datafile"),k=(0,N.mX)(e,"IndexFile");return{rasterInfo:M,files:{mrf:this.url,index:k||this.url.replace(".mrf",".idx"),data:O||this.url.replace(".mrf",se.get(o).blobExtension)}}}async _fetchAuxiliaryData(e){try{const{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:e?.signal});return U(t)}catch{return null}}};(0,n.Cg)([(0,a.MZ)()],ie.prototype,"_files",void 0),(0,n.Cg)([(0,a.MZ)()],ie.prototype,"_storageIndex",void 0),(0,n.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],ie.prototype,"datasetFormat",void 0),ie=(0,n.Cg)([(0,a.$K)("esri.layers.raster.datasets.MRFRaster")],ie);const ne=ie;var ae=s(53966),re=s(9334);function oe(e){const t=e.fields,s=e.records,i=t.some(e=>"oid"===e.name.toLowerCase())?"OBJECTID":"OID",n=[{name:i,type:"esriFieldTypeOID",alias:"OID"}].concat(t.map(e=>({name:e.name,type:"esriFieldType"+e.typeName,alias:e.name}))),a=n.map(e=>e.name),r=[];let o=0,l=0;return s.forEach(e=>{const t={};for(t[i]=o++,l=1;l<a.length;l++)t[a[l]]=e[l-1];r.push({attributes:t})}),{displayFieldName:"",fields:n,features:r}}class le{static get supportedVersions(){return[5]}static parse(e){const t=new DataView(e),s=3&t.getUint8(0);if(3!==s)return{header:{version:s},recordSet:null};const i=t.getUint32(4,!0),n=t.getUint16(8,!0),a=t.getUint16(10,!0),r={version:s,recordCount:i,headerByteCount:n,recordByteCount:a};let o=32;const l=[],f=[];let c;if(3===s){for(;13!==t.getUint8(o);)c=String.fromCharCode(t.getUint8(o+11)).trim(),l.push({name:(0,re.w)(new Uint8Array(e,o,11)),type:c,typeName:["String","Date","Double","Boolean","String","Integer"][["C","D","F","L","M","N"].indexOf(c)],length:t.getUint8(o+16)}),o+=32;if(o+=1,l.length>0)for(;f.length<i&&e.byteLength-o>a;){const s=[];32===t.getUint8(o)?(o+=1,l.forEach(t=>{if("C"===t.type)s.push((0,re.w)(new Uint8Array(e,o,t.length)).trim());else if("N"===t.type)s.push(parseInt(String.fromCharCode.apply(null,new Uint8Array(e,o,t.length)).trim(),10));else if("F"===t.type)s.push(parseFloat(String.fromCharCode.apply(null,new Uint8Array(e,o,t.length)).trim()));else if("D"===t.type){const i=String.fromCharCode.apply(null,new Uint8Array(e,o,t.length)).trim();s.push(new Date(parseInt(i.slice(0,4),10),parseInt(i.slice(4,6),10)-1,parseInt(i.slice(6,8),10)))}o+=t.length}),f.push(s)):o+=a}}return{header:r,fields:l,records:f,recordSet:oe({fields:l,records:f})}}}var fe=s(87877),ce=s(94213);const ue=(e,t)=>e.get(t)?.values,he=(e,t)=>e.get(t)?.values?.[0];let pe=class extends r.A{constructor(){super(...arguments),this._files=null,this._headerInfo=null,this._bufferSize=1048576,this._chunkSize=10485760,this.datasetFormat="TIFF"}async fetchRawTile(e,t,s,i={}){if(!this._headerInfo?.isSupported||this.isBlockOutside(e,t,s))return null;const n=await this._fetchRawTiffTile(e,t,s,!1,i);if(null!=n&&this._headerInfo.hasMaskBand){const a=await this._fetchRawTiffTile(e,t,s,!0,i);null!=a&&a.pixels[0]instanceof Uint8Array&&(n.mask=a.pixels[0])}return n}async _open(e){const t=e?e.signal:null,{data:s}=await this.request(this.url,{range:{from:0,to:this._bufferSize},responseType:"array-buffer",signal:t});if(!s)throw new i.A("tiffraster:open","failed to open url "+this.url);this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1,this.url.lastIndexOf("."));const{littleEndian:n,firstIFDPos:a,isBigTiff:r}=(0,fe.uT)(s),o=[],c={fileChunk:s,posIFD:a,fileOffset:0};await this._readIFDs(o,c,n,r?8:4,t);const{imageInfo:u,rasterInfo:h}=function(e){const t=(0,fe.uc)(e),{width:s,height:i,tileWidth:n,tileHeight:a,planes:r,pixelType:o,compression:c,firstPyramidLevel:u,maximumPyramidLevel:h,pyramidBlockWidth:p,pyramidBlockHeight:d,pyramidResolutions:m,tileBoundary:g,affine:y,metadata:x}=t;let w=L(t.extent.spatialReference?.wkt||t.extent.spatialReference?.wkid),I=!!t.isPseudoGeographic;null==w&&(I=!0,w=new f.A({wkid:3857}));const v=new l.A({...t.extent,spatialReference:w}),C=new V.A(v?{x:v.xmin,y:v.ymax,spatialReference:w}:{x:0,y:0}),b=new X.A({blockWidth:n,blockHeight:a,pyramidBlockWidth:p,pyramidBlockHeight:d,compression:c,origin:C,firstPyramidLevel:u,maximumPyramidLevel:h,pyramidResolutions:m,blockBoundary:g}),T=new V.A({x:(v.xmax-v.xmin)/s,y:(v.ymax-v.ymin)/i,spatialReference:w}),S=x?{BandProperties:x.bandProperties,DataType:x.dataType}:{};let R=null;const M=he(e[0],"PHOTOMETRICINTERPRETATION"),O=ue(e[0],"COLORMAP");if(M<=3&&O?.length>3&&O.length%3==0){R=[];const e=O.length/3;for(let t=0;t<e;t++)R.push([t,O[t]>>>8,O[t+e]>>>8,O[t+2*e]>>>8])}const k=new A.A({width:s,height:i,bandCount:r,pixelType:o,pixelSize:T,storageInfo:b,spatialReference:w,isPseudoSpatialReference:I,keyProperties:S,extent:v,colormap:R,statistics:x?x.statistics:null});if(y?.length&&(k.nativeExtent=new l.A({xmin:-.5,ymin:.5-i,xmax:s-.5,ymax:.5,spatialReference:w}),k.transform=new D.A({polynomialOrder:1,forwardCoefficients:[y[2]+y[0]/2,y[5]-y[3]/2,y[0],y[3],-y[1],-y[4]]}),k.extent=k.transform.forwardTransform(k.nativeExtent),k.pixelSize=new V.A({x:(v.xmax-v.xmin)/s,y:(v.ymax-v.ymin)/i,spatialReference:w}),b.origin.x=-.5,b.origin.y=.5),m){const{x:e,y:t}=k.pixelSize;m.forEach(s=>{s.x*=e,s.y*=t})}return{imageInfo:t,rasterInfo:k}}(o),p=(0,fe.zS)(o),d=(0,fe.r9)(o);if(this._headerInfo={littleEndian:n,isBigTiff:r,ifds:o,pyramidIFDs:p,maskIFDs:d,...u},this._set("rasterInfo",h),!u.isSupported)throw new i.A("tiffraster:open","this tiff is not supported: "+u.message);if(!u.tileWidth)throw new i.A("tiffraster:open","none-tiled tiff is not optimized for access, convert to COG and retry.");h.isPseudoSpatialReference&&ae.A.getLogger(this).warn("The spatial reference for this tiff is unsupported. Only EPSG spatial reference codes and Esri WKTs are supported.");const m=o[0].get("PREDICTOR")?.values?.[0],g=o[0].get("SAMPLEFORMAT")?.values?.[0];if(3===g&&2===m)throw new i.A("tiffraster:open","unsupported horizontal difference encoding. Predictor=3 is supported for floating point data");const{skipMapInfo:y,skipExtensions:x=[]}=this.ioConfig;if(!x.includes("aux.xml")&&!y){const t=await this._fetchAuxiliaryMetaData(e);null!=t&&function(e,t){if(t.statistics=e.statistics??t.statistics,t.histograms=e.histograms,e.histograms&&null==t.statistics&&(t.statistics=(0,T.Pg)(e.histograms)),e.transform&&null==t.transform){t.transform=e.transform,t.nativeExtent=t.extent;const s=t.transform.forwardTransform(t.nativeExtent);t.pixelSize=new V.A({x:(s.xmax-s.xmin)/t.width,y:(s.ymax-s.ymin)/t.height,spatialReference:t.spatialReference}),t.extent=s}t.isPseudoSpatialReference&&e.spatialReference&&(t.spatialReference=e.spatialReference,t.extent.spatialReference=t.nativeExtent.spatialReference=t.storageInfo.origin.spatialReference=t.spatialReference)}(t,h)}x.includes("vat.dbf")||1!==h.bandCount||"u8"!==h.pixelType||y||(h.attributeTable=await this._fetchAuxiliaryTable(e),null!=h.attributeTable&&(h.keyProperties.DataType="thematic")),y&&this.updateImageSpaceRasterInfo(h),this.updateTileInfo()}async _validateOrFetchHeaderBuffer(e,t){let{fileChunk:s,fileOffset:i,posIFD:n}=e;return(n+8>=s.byteLength||n<0)&&(i=n+i,s=(await this.request(this.url,{range:{from:i,to:i+this._bufferSize},responseType:"array-buffer",signal:t})).data,n=0),{fileChunk:s,fileOffset:i,posIFD:n}}async _readIFDs(e,t,s,n=4,a){if(!t.posIFD)return null;t=await this._validateOrFetchHeaderBuffer(t,a);const r=await this._readIFD(t,s,ce.NB,n,a);if(!r?.ifd)throw new i.A("tiffraster:open","cannot parse tiff header. failed to open url "+this.url);if(e.push(r.ifd),!r.nextIFD)return null;t.posIFD=r.nextIFD-t.fileOffset,await this._readIFDs(e,t,s,n,a)}async _readIFD(e,t,s=ce.NB,i=4,n){let{fileChunk:a,posIFD:r,fileOffset:o}=e;if(!e.fileChunk)return null;const l=(0,fe.JM)(a,t,r,o,s,i);if(l.success){const e=[];if(l.ifd?.forEach(t=>{t.values||e.push(t)}),e.length>0&&await this._fillOffsets(e,t,l.nextIFD,n),l.ifd?.has("GEOKEYDIRECTORY")){const e=l.ifd.get("GEOKEYDIRECTORY"),s=e?.values;if(s&&s.length>4){const i=s[0]+"."+s[1]+"."+s[2];r=e.valueOffset+6-o;const l=await this._validateOrFetchHeaderBuffer({fileChunk:a,posIFD:r,fileOffset:o},n),f=await this._readIFD(l,t,ce.YC,2,n);e.data=f?.ifd,e.data&&e.data.set("GEOTIFFVersion",{id:0,type:2,valueCount:1,valueOffset:null,values:[i]})}}return l}return l.requiredBufferSize?(a=(await this.request(this.url,{range:{from:o,to:o+r+l.requiredBufferSize+8},responseType:"array-buffer",signal:n})).data,a.byteLength<r+l.requiredBufferSize?null:(e.fileChunk=a,e.fileOffset=o,this._readIFD(e,t,s,i,n))):null}async _fillOffsets(e,t,s,i){const n=e.filter(e=>null!=e.offlineOffsetSize);if(0===n.length)return;const a=n.map(e=>e.offlineOffsetSize),r=Math.min.apply(null,a.map(e=>e[0])),o=Math.max.apply(null,a.map(e=>e[0]+e[1]));let l=1===a.length||o-r<=this._bufferSize;if(!l&&a.length>1&&(a.sort((e,t)=>e[0]-t[0]),l=a.reduce((e,t)=>e===t[0]?t[0]+t[1]:0,a[0][0])===o),l){const e=await this._fetchOffsets(r,Math.max(o,r+this._bufferSize),i);return void n.forEach(s=>(0,fe.Cr)(e,t,s,r))}const f=n.map(async e=>{const s=e.offlineOffsetSize,n=await this._fetchOffsets(s[0],s[1]+s[0],i);(0,fe.Cr)(n,t,e,s[0])});await Promise.all(f)}async _fetchOffsets(e,t,s){const i=[],n=this._chunkSize,a=Math.ceil((t-e)/n);let r=e;for(let e=0;e<a;e++)i.push(this.request(this.url,{range:{from:r,to:e===a-1?t:r+n-1},responseType:"array-buffer",signal:s})),r+=n;const o=await Promise.all(i);if(1===a)return o[0].data;const l=new Uint8Array(t-e+1);for(let e=0;e<a;e++)l.set(new Uint8Array(o[e].data),e*n);return l.buffer}async _fetchRawTiffTile(e,t,s,i,n={}){const a=this._getTileLocation(e,t,s,i);if(!a)return null;const{ranges:r,actualTileWidth:o,actualTileHeight:l,ifd:f}=a,c=r.map(e=>this.request(this.url,{range:e,responseType:"array-buffer",signal:n.signal})),u=await Promise.all(c),h=u.map(e=>e.data.byteLength).reduce((e,t)=>e+t),p=1===u.length?u[0].data:new ArrayBuffer(h),d=[0],m=[0];if(u.length>1){const e=new Uint8Array(p);for(let t=0,s=0;t<u.length;t++){const i=u[t].data;e.set(new Uint8Array(i),s),d[t]=s,s+=i.byteLength,m[t]=i.byteLength}}const{blockWidth:g,blockHeight:y}=this.getBlockWidthHeight(e),x=await this.decodePixelBlock(p,{format:"tiff",customOptions:{headerInfo:this._headerInfo,ifd:f,offsets:d,sizes:m},width:g,height:y,planes:null,pixelType:null});if(null==x)return null;if(o!==g||l!==y){let e=x.mask;if(e)for(let t=0;t<y;t++){const s=t*g;if(t<l)for(let t=o;t<g;t++)e[s+t]=0;else for(let t=0;t<g;t++)e[s+t]=0}else{e=new Uint8Array(g*y),x.mask=e;for(let t=0;t<l;t++){const s=t*g;for(let t=0;t<o;t++)e[s+t]=1}}}return x}_getTileLocation(e,t,s,i=!1){const{firstPyramidLevel:n,blockBoundary:a}=this.rasterInfo.storageInfo,r=0===e?0:e-(n-1),{_headerInfo:o}=this;if(!o)return null;const l=i?o.maskIFDs[r]:0===r?o?.ifds[0]:o?.pyramidIFDs[r-1];if(!l)return null;const f=(0,fe.XO)(l,o),c=ue(l,"TILEOFFSETS");if(void 0===c)return null;const u=ue(l,"TILEBYTECOUNTS"),{minRow:h,minCol:p,maxRow:d,maxCol:m}=a[r];if(t>d||s>m||t<h||s<p)return null;const g=he(l,"IMAGEWIDTH"),y=he(l,"IMAGELENGTH"),x=he(l,"TILEWIDTH"),w=he(l,"TILELENGTH"),I=[];if(f){const{bandCount:e}=this.rasterInfo;for(let i=0;i<e;i++){const e=i*(d+1)*(m+1)+t*(m+1)+s;I[i]={from:c[e],to:c[e]+u[e]-1}}}else{const e=t*(m+1)+s;I.push({from:c[e],to:c[e]+u[e]-1})}for(let e=0;e<I.length;e++)if(null==I[e].from||!I[e].to||I[e].to<0)return null;return{ranges:I,ifd:l,actualTileWidth:s===m&&g%x||x,actualTileHeight:t===d&&y%w||w}}async _fetchAuxiliaryMetaData(e){try{const{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:e?.signal});return U(t)}catch{return null}}async _fetchAuxiliaryTable(e){try{const{data:t}=await this.request(this.url+".vat.dbf",{responseType:"array-buffer",signal:e?.signal}),s=le.parse(t);return s?.recordSet?O.A.fromJSON(s.recordSet):null}catch{return null}}};(0,n.Cg)([(0,a.MZ)()],pe.prototype,"_files",void 0),(0,n.Cg)([(0,a.MZ)()],pe.prototype,"_headerInfo",void 0),(0,n.Cg)([(0,a.MZ)()],pe.prototype,"_bufferSize",void 0),(0,n.Cg)([(0,a.MZ)()],pe.prototype,"_chunkSize",void 0),(0,n.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],pe.prototype,"datasetFormat",void 0),pe=(0,n.Cg)([(0,a.$K)("esri.layers.raster.datasets.TIFFRaster")],pe);const de=pe,me=new Map;me.set("MRF",{desc:"Meta Raster Format",constructor:ne}),me.set("TIFF",{desc:"GeoTIFF",constructor:de}),me.set("RasterTileServer",{desc:"Raster Tile Server",constructor:Q}),me.set("JPG",{desc:"JPG Raster Format",constructor:G}),me.set("PNG",{desc:"PNG Raster Format",constructor:G}),me.set("GIF",{desc:"GIF Raster Format",constructor:G}),me.set("BMP",{desc:"BMP Raster Format",constructor:G}),me.set("CovJSON",{desc:"COVJSON Raster Format",constructor:_}),me.set("MEMORY",{desc:"In Memory Raster Format",constructor:M});class ge{static get supportedFormats(){const e=new Set;return me.forEach((t,s)=>e.add(s)),e}static async open(e){const{url:t,ioConfig:s,source:n,sourceJSON:a}=e;let r=e.datasetFormat??s?.datasetFormat;null==r&&(t.includes(".")?r=t.slice(t.lastIndexOf(".")+1).toUpperCase():"coverage"===n?.type?.toLowerCase()?r="CovJSON":n?.extent&&n.pixelblocks&&(r="MEMORY")),"OVR"===r||"TIF"===r?r="TIFF":"JPG"===r||"JPEG"===r||"JFIF"===r?r="JPG":"COVJSON"===r&&(r="CovJSON"),t.toLowerCase().includes("/imageserver")&&!t.toLowerCase().includes("/wcsserver")&&(r="RasterTileServer");const o={url:t,source:n,sourceJSON:a,datasetFormat:r,ioConfig:s??{bandIds:null,sampling:null}};if(Object.keys(o).forEach(e=>{null==o[e]&&delete o[e]}),r){if(!this.supportedFormats.has(r))throw new i.A("rasterfactory:open","not a supported format "+r);if("CRF"===r)throw new i.A("rasterfactory:open",`cannot open raster: ${t}`);const s=new(0,me.get(r).constructor)(o);return await s.open({signal:e.signal}),s}const l=Array.from(me.keys()).filter(e=>"CovJSON"!==e&&"Memory"!==e);let f=0;const c=()=>{if(r=l[f++],!r)return null;if("CRF"===r)return null;const t=new(0,me.get(r).constructor)(o);return t.open({signal:e.signal}).then(()=>t).catch(()=>c())};return c()}static register(e,t,s){me.has(e.toUpperCase())||me.set(e.toUpperCase(),{desc:t,constructor:s})}}},10333(e,t,s){s.d(t,{A:()=>r});var i=s(5482),n=s(25482),a=s(91429);let r=class extends n.o{get affectsPixelSize(){return!1}forwardTransform(e){return e}inverseTransform(e){return e}};(0,i.Cg)([(0,a.MZ)()],r.prototype,"affectsPixelSize",null),(0,i.Cg)([(0,a.MZ)({json:{write:!0}})],r.prototype,"spatialReference",void 0),r=(0,i.Cg)([(0,a.$K)("esri.layers.raster.transforms.BaseRasterTransform")],r)},43163(e,t,s){s.d(t,{A:()=>d});var i,n=s(5482),a=s(91429),r=s(5443),o=s(86738),l=s(10333),f=s(36005),c=s(43937),u=s(93223);function h(e,t,s){const{x:i,y:n}=t;if(s<2)return{x:e[0]+i*e[2]+n*e[4],y:e[1]+i*e[3]+n*e[5]};if(2===s){const t=i*i,s=n*n,a=i*n;return{x:e[0]+i*e[2]+n*e[4]+t*e[6]+a*e[8]+s*e[10],y:e[1]+i*e[3]+n*e[5]+t*e[7]+a*e[9]+s*e[11]}}const a=i*i,r=n*n,o=i*n,l=a*i,f=a*n,c=i*r,u=n*r;return{x:e[0]+i*e[2]+n*e[4]+a*e[6]+o*e[8]+r*e[10]+l*e[12]+f*e[14]+c*e[16]+u*e[18],y:e[1]+i*e[3]+n*e[5]+a*e[7]+o*e[9]+r*e[11]+l*e[13]+f*e[15]+c*e[17]+u*e[19]}}function p(e,t,s){const{xmin:i,ymin:n,xmax:a,ymax:o,spatialReference:l}=t;let f=[];if(s<2)f.push({x:i,y:o}),f.push({x:a,y:o}),f.push({x:i,y:n}),f.push({x:a,y:n});else{let e=10;for(let t=0;t<e;t++)f.push({x:i,y:n+(o-n)*t/(e-1)}),f.push({x:a,y:n+(o-n)*t/(e-1)});e=8;for(let t=1;t<=e;t++)f.push({x:i+(a-i)*t/e,y:n}),f.push({x:i+(a-i)*t/e,y:o})}f=f.map(t=>h(e,t,s));const c=f.map(e=>e.x),u=f.map(e=>e.y);return new r.A({xmin:Math.min.apply(null,c),xmax:Math.max.apply(null,c),ymin:Math.min.apply(null,u),ymax:Math.max.apply(null,u),spatialReference:l})}let d=i=class extends l.A{constructor(){super(...arguments),this.polynomialOrder=1,this.type="polynomial"}readForwardCoefficients(e,t){const{coeffX:s,coeffY:i}=t;if(!s?.length||!i?.length||s.length!==i.length)return null;const n=[];for(let e=0;e<s.length;e++)n.push(s[e]),n.push(i[e]);return n}writeForwardCoefficients(e,t,s){const i=[],n=[];for(let t=0;t<e?.length;t++)t%2==0?i.push(e[t]):n.push(e[t]);t.coeffX=i,t.coeffY=n}get inverseCoefficients(){let e=this._get("inverseCoefficients");const t=this._get("forwardCoefficients");return!e&&t&&this.polynomialOrder<2&&(e=function(e){const[t,s,i,n,a,r]=e,o=i*r-a*n,l=a*n-i*r;return[(a*s-t*r)/o,(i*s-t*n)/l,r/o,n/l,-a/o,-i/l]}(t)),e}set inverseCoefficients(e){this._set("inverseCoefficients",e)}readInverseCoefficients(e,t){const{inverseCoeffX:s,inverseCoeffY:i}=t;if(!s?.length||!i?.length||s.length!==i.length)return null;const n=[];for(let e=0;e<s.length;e++)n.push(s[e]),n.push(i[e]);return n}writeInverseCoefficients(e,t,s){const i=[],n=[];for(let t=0;t<e?.length;t++)t%2==0?i.push(e[t]):n.push(e[t]);t.inverseCoeffX=i,t.inverseCoeffY=n}get affectsPixelSize(){return this.polynomialOrder>0}forwardTransform(e){if("point"===e.type){const t=h(this.forwardCoefficients,e,this.polynomialOrder);return new o.A({x:t.x,y:t.y,spatialReference:e.spatialReference})}return p(this.forwardCoefficients,e,this.polynomialOrder)}inverseTransform(e){if("point"===e.type){const t=h(this.inverseCoefficients,e,this.polynomialOrder);return new o.A({x:t.x,y:t.y,spatialReference:e.spatialReference})}return p(this.inverseCoefficients,e,this.polynomialOrder)}clone(){return new i({polynomialOrder:this.polynomialOrder,forwardCoefficients:this.forwardCoefficients?[...this.forwardCoefficients]:null,inverseCoefficients:this.inverseCoefficients?[...this.inverseCoefficients]:null})}};(0,n.Cg)([(0,a.MZ)({json:{write:!0}})],d.prototype,"polynomialOrder",void 0),(0,n.Cg)([(0,a.MZ)()],d.prototype,"forwardCoefficients",void 0),(0,n.Cg)([(0,f.w)("forwardCoefficients",["coeffX","coeffY"])],d.prototype,"readForwardCoefficients",null),(0,n.Cg)([(0,c.K)("forwardCoefficients")],d.prototype,"writeForwardCoefficients",null),(0,n.Cg)([(0,a.MZ)({json:{write:!0}})],d.prototype,"inverseCoefficients",null),(0,n.Cg)([(0,f.w)("inverseCoefficients",["inverseCoeffX","inverseCoeffY"])],d.prototype,"readInverseCoefficients",null),(0,n.Cg)([(0,c.K)("inverseCoefficients")],d.prototype,"writeInverseCoefficients",null),(0,n.Cg)([(0,a.MZ)()],d.prototype,"affectsPixelSize",null),(0,n.Cg)([(0,u.e)({PolynomialXform:"polynomial"})],d.prototype,"type",void 0),d=i=(0,n.Cg)([(0,a.$K)("esri.layers.raster.transforms.PolynomialTransform")],d)},75414(e,t,s){s.d(t,{A:()=>l});var i,n=s(5482),a=s(91429),r=s(10333),o=s(93223);let l=i=class extends r.A{constructor(){super(...arguments),this.type="gcs-shift",this.tolerance=1e-8}forwardTransform(e){return"point"===(e=e.clone()).type?(e.x>180+this.tolerance&&(e.x-=360),e):(e.xmin>=180-this.tolerance?(e.xmax-=360,e.xmin-=360):e.xmax>180+this.tolerance&&(e.xmin=-180,e.xmax=180),e)}inverseTransform(e){return"point"===(e=e.clone()).type?(e.x<-this.tolerance&&(e.x+=360),e):(e.xmin<-this.tolerance&&(e.xmin+=360,e.xmax+=360),e)}clone(){return new i({tolerance:this.tolerance})}};(0,n.Cg)([(0,o.e)({GCSShiftXform:"gcs-shift"})],l.prototype,"type",void 0),(0,n.Cg)([(0,a.MZ)()],l.prototype,"tolerance",void 0),l=i=(0,n.Cg)([(0,a.$K)("esri.layers.raster.transforms.GCSShiftTransform")],l)}}]);
|