@arcgis/core 5.2.0-next.55 → 5.2.0-next.57
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{0ffd0190adfed8e5937a.js → 2aeb8a4a426ec56f6133.js} +1 -1
- package/assets/esri/core/workers/chunks/{2fbb00a29faeaa02912b.js → 2cfd2b433deecec413d3.js} +1 -1
- package/assets/esri/core/workers/chunks/{77f19d204a4673b1e676.js → 358b22e4940ae9329ffa.js} +2 -2
- package/assets/esri/core/workers/chunks/{847ce06b14a921cd16f0.js → 4a7d48b5c75cb710689a.js} +1 -1
- package/assets/esri/core/workers/chunks/4abd54518e35050feb90.js +1 -0
- package/assets/esri/core/workers/chunks/61d0ada7627f21988183.js +1 -0
- package/assets/esri/core/workers/chunks/{a239f1e82dde4f7ada32.js → 7f67c6e9e0a8fe918711.js} +1 -1
- package/assets/esri/core/workers/chunks/8ce649e55fefc8eca55c.js +1 -0
- package/assets/esri/core/workers/chunks/{5d6d07ecebf881ad913f.js → 912e9743d006ccc723bf.js} +1 -1
- package/assets/esri/core/workers/chunks/{7e2bf6dd26c3cf0b49b0.js → 9de1125b708c4a591edf.js} +1 -1
- package/assets/esri/core/workers/chunks/{ce719d3aec8b52bfe160.js → ba65c976eaa458d82ab9.js} +1 -1
- package/assets/esri/core/workers/chunks/c25dc9073e73d6b44d88.js +1 -0
- package/assets/esri/core/workers/chunks/{c38992b250731137cb1a.js → c39b6707d8284d57ff26.js} +1 -1
- package/assets/esri/core/workers/chunks/{2d6d2d4df05bba9fa4a6.js → f9e299ac2d1c9ef78326.js} +1 -1
- package/config.js +1 -1
- package/core/has.js +1 -1
- package/geometry/support/normalizeUtilsSync.js +1 -1
- package/kernel.js +1 -1
- package/package.json +6 -6
- package/support/revision.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
- package/views/3d/analysis/LineOfSightAnalysisView3D.js +1 -1
- package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/SceneLayerWorkerHandle.js +1 -1
- package/views/3d/layers/graphics/SpatialIndex2D.js +1 -1
- package/views/3d/layers/i3s/LayerElevationProvider.js +1 -1
- package/views/3d/layers/support/StageLayerElevationProvider.js +1 -1
- package/views/3d/support/ElevationUpdateEvent.js +2 -0
- package/views/3d/support/elevationUpdateExtentUtils.js +2 -0
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/SceneView.js +1 -1
- package/assets/esri/core/workers/chunks/2da337d7fd9295f6b967.js +0 -1
- package/assets/esri/core/workers/chunks/9e474465d069cb9e94f5.js +0 -1
- package/assets/esri/core/workers/chunks/c5043c42a6aaa276a521.js +0 -1
- package/assets/esri/core/workers/chunks/c8db0a4fb5bc982dc9fc.js +0 -1
- package/views/3d/analysis/LineOfSight/LineOfSightTool2.js +0 -2
- package/views/3d/terrain/ElevationUpdateEvent.js +0 -2
- /package/assets/esri/core/workers/chunks/{77f19d204a4673b1e676.js.LICENSE.txt → 358b22e4940ae9329ffa.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[88,926],{69540(e,t,s){var i=s(5482),r=s(69622),n=(s(44208),s(4718)),o=(s(53966),s(97768)),a=s(88620),l=s(64108);const u=Symbol("ClonableMixin"),h=e=>{var t;const s=e;let r=class extends s{constructor(){super(...arguments),this[t]=!0}static{t=u}clone(e){const t=(0,a.oY)(this);(0,o.Lw)(t,"unable to clone instance of non-accessor class");const s=t.metadata,i=t.store,r={},l=new Map;for(const t in s){const o=s[t],a=i?.originOf(t),u=o.clonable;if(o.readOnly||!1===u||7!==a&&0!==a&&5!==a&&4!==a)continue;const h=this[t];let c=null;if("function"==typeof u)c=u(h,e);else if("reference"===u)c=h;else if(c=(0,n.TU)(h,e),null!=h&&null==c)continue;0===a?l.set(t,c):r[t]=c}const u=new(0,Object.getPrototypeOf(this).constructor)(r);if(l.size){const e=(0,a.oY)(u)?.store;if(e)for(const[t,s]of l)e.set(t,s,0)}return u}};return r=(0,i.Cg)([(0,l.$)("esri.core.Clonable")],r),r},c=h(r.A);s.d(t,["OU",0,h,"Pw",0,c])},60999(e,t,s){s.d(t,{DZ:()=>f,Ke:()=>p,Tj:()=>h,UT:()=>y,aD:()=>_,jJ:()=>u});var i=s(5482),r=s(69622),n=s(97768),o=s(17676),a=s(10107),l=s(64108);function u(e,t,s){return(0,o.Lx)(e.map((e,i)=>t.apply(s,[e,i])))}async function h(e,t,s){return(await(0,o.Lx)(e.map((e,i)=>t.apply(s,[e,i])))).map(e=>e.value)}function c(e){return{ok:!0,value:e}}function d(e){return{ok:!1,error:e}}async function p(e){if(null==e)return{ok:!1,error:new Error("no promise provided")};try{return c(await e)}catch(e){return d(e)}}async function f(e){try{return c(await e)}catch(e){return(0,o.QP)(e),d(e)}}function y(e,t){return new m(e,t)}let m=class extends r.A{get value(){return null!=(e=this._result)&&!0===e.ok?e.value:null;var e}get error(){return null!=(e=this._result)&&!1===e.ok?e.error:null;var e}get finished(){return null!=this._result}constructor(e,t){super({}),this._result=null,this._abortHandle=null,this.abort=()=>{this._abortController=(0,n.DC)(this._abortController)},this.remove=this.abort,this._abortController=new AbortController;const{signal:s}=this._abortController;this.promise=e(s),this.promise.then(e=>{this._result=c(e),this._cleanup()},e=>{this._result=d(e),this._cleanup()}),this._abortHandle=(0,o.u7)(t,this.abort)}normalizeCtorArgs(){return{}}destroy(){this.abort()}_cleanup(){this._abortHandle=(0,n.xt)(this._abortHandle),this._abortController=null}};(0,i.Cg)([(0,a.MZ)()],m.prototype,"value",null),(0,i.Cg)([(0,a.MZ)()],m.prototype,"error",null),(0,i.Cg)([(0,a.MZ)()],m.prototype,"finished",null),(0,i.Cg)([(0,a.MZ)()],m.prototype,"promise",void 0),(0,i.Cg)([(0,a.MZ)()],m.prototype,"_result",void 0),m=(0,i.Cg)([(0,l.$)("esri.core.asyncUtils.ReactiveTask")],m);class _{constructor(){this._sequence=Promise.resolve()}async acquire(){let e;this._sequence=new Promise(t=>{e=this._sequence.then(()=>t,()=>t)});const t=await e;return{[Symbol.dispose]:t}}async run(e){const t={stack:[],error:void 0,hasError:!1};try{return(0,i.mS)(t,await this.acquire(),!1),await e()}catch(e){t.error=e,t.hasError=!0}finally{(0,i.hk)(t)}}}},75503(e,t,s){s.d(t,{wq:()=>a});var i=s(4576),r=s(21818),n=(s(44208),s(15142)),o=s(11006);class a{constructor(e=9,t){this._compareMinX=d,this._compareMinY=p,this._toBBox=e=>e,this._maxEntries=Math.max(4,e||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),t&&("function"==typeof t?this._toBBox=t:this._initFormat(t)),this.clear()}destroy(){this.clear(),b.prune(),w.prune(),C.prune(),I.prune()}all(e){l(this._data,e)}search(e,t){let s=this._data;const i=this._toBBox;if(v(e,s))for(b.clear();s;){for(let r=0,n=s.children.length;r<n;r++){const n=s.children[r],o=s.leaf?i(n):n;v(e,o)&&(s.leaf?t(n):g(e,o)?l(n,t):b.push(n))}s=b.pop()}}collides(e){let t=this._data;const s=this._toBBox;if(!v(e,t))return!1;for(b.clear();t;){for(let i=0,r=t.children.length;i<r;i++){const r=t.children[i],n=t.leaf?s(r):r;if(v(e,n)){if(t.leaf||g(e,n))return!0;b.push(r)}}t=b.pop()}return!1}load(e){if(!e.length)return this;if(e.length<this._minEntries){for(let t=0,s=e.length;t<s;t++)this.insert(e[t]);return this}let t=this._build(e.slice(),0,e.length-1,0);if(this._data.children.length)if(this._data.height===t.height)this._splitRoot(this._data,t);else{if(this._data.height<t.height){const e=this._data;this._data=t,t=e}this._insert(t,this._data.height-t.height-1,!0)}else this._data=t;return this}insert(e){return e&&this._insert(e,this._data.height-1),this}clear(){return this._data=new F([]),this}remove(e){if(!e)return this;let t,s=this._data,n=null,o=0,a=!1;const l=this._toBBox(e);for(C.clear(),I.clear();s||C.length>0;){if(s||(s=C.pop(),n=C.data[C.length-1],o=I.pop()??0,a=!0),s.leaf&&(t=(0,i.qh)(s.children,(0,r.z)(e),s.children.length,s.indexHint),-1!==t))return s.children.splice(t,1),C.push(s),this._condense(C),this;a||s.leaf||!g(s,l)?n?(o++,s=n.children[o],a=!1):s=null:(C.push(s),I.push(o),o=0,n=s,s=s.children[0])}return this}toJSON(){return this._data}fromJSON(e){return this._data=e,this}_build(e,t,s,i){const r=s-t+1;let n=this._maxEntries;if(r<=n){const i=new F(e.slice(t,s+1));return u(i,this._toBBox),i}i||(i=Math.ceil(Math.log(r)/Math.log(n)),n=Math.ceil(r/n**(i-1)));const o=new T([]);o.height=i;const a=Math.ceil(r/n),l=a*Math.ceil(Math.sqrt(n));x(e,t,s,l,this._compareMinX);for(let r=t;r<=s;r+=l){const t=Math.min(r+l-1,s);x(e,r,t,a,this._compareMinY);for(let s=r;s<=t;s+=a){const r=Math.min(s+a-1,t);o.children.push(this._build(e,s,r,i-1))}}return u(o,this._toBBox),o}_insert(e,t,s){const i=this._toBBox,r=s?e:i(e);C.clear();const n=function(e,t,s,i){for(;i.push(t),!0!==t.leaf&&i.length-1!==s;){let s,i=1/0,r=1/0;for(let n=0,o=t.children.length;n<o;n++){const o=t.children[n],a=f(o),l=m(e,o)-a;l<r?(r=l,i=a<i?a:i,s=o):l===r&&a<i&&(i=a,s=o)}t=s||t.children[0]}return t}(r,this._data,t,C);for(n.children.push(e),c(n,r);t>=0&&C.data[t].children.length>this._maxEntries;)this._split(C,t),t--;!function(e,t,s){for(let i=s;i>=0;i--)c(t.data[i],e)}(r,C,t)}_split(e,t){const s=e.data[t],i=s.children.length,r=this._minEntries;this._chooseSplitAxis(s,r,i);const n=this._chooseSplitIndex(s,r,i);if(!n)return;const o=s.children.splice(n,s.children.length-n),a=s.leaf?new F(o):new T(o);a.height=s.height,u(s,this._toBBox),u(a,this._toBBox),t?e.data[t-1].children.push(a):this._splitRoot(s,a)}_splitRoot(e,t){this._data=new T([e,t]),this._data.height=e.height+1,u(this._data,this._toBBox)}_chooseSplitIndex(e,t,s){let i,r,n;i=r=1/0;for(let o=t;o<=s-t;o++){const t=h(e,0,o,this._toBBox),a=h(e,o,s,this._toBBox),l=_(t,a),u=f(t)+f(a);l<i?(i=l,n=o,r=u<r?u:r):l===i&&u<r&&(r=u,n=o)}return n}_chooseSplitAxis(e,t,s){const i=e.leaf?this._compareMinX:d,r=e.leaf?this._compareMinY:p;this._allDistMargin(e,t,s,i)<this._allDistMargin(e,t,s,r)&&e.children.sort(i)}_allDistMargin(e,t,s,i){e.children.sort(i);const r=this._toBBox,n=h(e,0,t,r),o=h(e,s-t,s,r);let a=y(n)+y(o);for(let i=t;i<s-t;i++){const t=e.children[i];c(n,e.leaf?r(t):t),a+=y(n)}for(let i=s-t-1;i>=t;i--){const t=e.children[i];c(o,e.leaf?r(t):t),a+=y(o)}return a}_condense(e){for(let t=e.length-1;t>=0;t--){const s=e.data[t];if(0===s.children.length)if(t>0){const r=e.data[t-1],n=r.children;n.splice((0,i.qh)(n,s,n.length,r.indexHint),1)}else this.clear();else u(s,this._toBBox)}}_initFormat(e){const t=["return a"," - b",";"];this._compareMinX=new Function("a","b",t.join(e[0])),this._compareMinY=new Function("a","b",t.join(e[1])),this._toBBox=new Function("a","return {minX: a"+e[0]+", minY: a"+e[1]+", maxX: a"+e[2]+", maxY: a"+e[3]+"};")}}function l(e,t){let s=e;for(w.clear();s;){if(!0===s.leaf)for(const e of s.children)t((0,r.z)(e));else w.pushArray(s.children);s=w.pop()??null}}function u(e,t){h(e,0,e.children.length,t,e)}function h(e,t,s,i,r){r||(r=new F([])),r.minX=1/0,r.minY=1/0,r.maxX=-1/0,r.maxY=-1/0;for(let n,o=t;o<s;o++)n=e.children[o],c(r,e.leaf?i(n):n);return r}function c(e,t){e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY)}function d(e,t){return e.minX-t.minX}function p(e,t){return e.minY-t.minY}function f(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function y(e){return e.maxX-e.minX+(e.maxY-e.minY)}function m(e,t){return(Math.max(t.maxX,e.maxX)-Math.min(t.minX,e.minX))*(Math.max(t.maxY,e.maxY)-Math.min(t.minY,e.minY))}function _(e,t){const s=Math.max(e.minX,t.minX),i=Math.max(e.minY,t.minY),r=Math.min(e.maxX,t.maxX),n=Math.min(e.maxY,t.maxY);return Math.max(0,r-s)*Math.max(0,n-i)}function g(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function v(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function x(e,t,s,i,r){const n=[t,s];for(;n.length;){const t=n.pop(),s=n.pop();if(t-s<=i)continue;const a=s+Math.ceil((t-s)/i/2)*i;(0,o.q)(e,a,s,t,r),n.push(s,a,a,t)}}const b=new n.A,w=new n.A,C=new n.A,I=new n.A({deallocator:void 0});class M{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}}class S extends M{constructor(){super(...arguments),this.height=1,this.indexHint=new i.vW}}class F extends S{constructor(e){super(),this.children=e,this.leaf=!0}}class T extends S{constructor(e){super(),this.children=e,this.leaf=!1}}},36708(e,t,s){s.d(t,{C_:()=>d,on:()=>c,wB:()=>l,z7:()=>u});var i=s(37955),r=s(36563),n=s(97768),o=s(17676),a=s(14012);function l(e,t,s={}){return h(e,t,s,p)}function u(e,t,s={}){return h(e,t,s,f)}function h(e,t,s={},i){let r=null;const o=s.once?(e,s)=>{i(e)&&((0,n.xt)(r),t(e,s))}:(e,s)=>{i(e)&&t(e,s)};if(r=(0,a.Cn)(e,o,s.sync,s.equals),s.initial){const t=e();o(t,t)}return r}function c(e,t,s,o={}){let a=null,u=null,h=null;function c(){a&&u&&(u.remove(),o.onListenerRemove?.(a),a=null,u=null)}function d(e){o.once&&o.once&&(0,n.xt)(h),s(e)}const p=l(e,(e,s)=>{c(),(0,i.wb)(e)&&(a=e,u=(0,i.on)(e,t,d),o.onListenerAdd?.(e))},{sync:o.sync,initial:!0});return h=(0,r.hA)(()=>{p.remove(),c()}),h}function d(e,t){return function(e,t,s){if((0,o.G4)(s))return Promise.reject((0,o.NK)());const i=e();if(t?.(i))return Promise.resolve(i);let a=null;function l(){a=(0,n.xt)(a)}return new Promise((i,n)=>{a=(0,r.vE)([(0,o.u7)(s,()=>{l(),n((0,o.NK)())}),h(e,e=>{l(),i(e)},{sync:!1,once:!0},t??p)])})}(e,f,t)}function p(e){return!0}function f(e){return!!e}s(80559),s.d(t,["OH",0,{sync:!0},"Vh",0,{initial:!0},"pc",0,{sync:!0,initial:!0}])},48526(e,t,s){s.d(t,{A:()=>m});var i,r=s(5482),n=s(4576),o=s(4718),a=s(91429),l=s(5443),u=s(91075),h=s(86738),c=s(16930),d=s(90634),p=s(47610),f=s(56993),y=s(43937);let m=i=class extends u.A{constructor(e){super(function(e){if(!e)return;let{points:t,hasM:s,hasZ:i,spatialReference:r}=e;switch(t??=[],t?.at(0)?.length){case 4:i??=!0,s??=!0;break;case 3:i??=!0!==s,s??=!i;break;default:i??=!1,s??=!1}return r??=c.A.WGS84,{...e,hasM:s,hasZ:i,points:t,spatialReference:r}}(e)),this.points=[],this.type="multipoint"}get cache(){return this.commitProperty("points"),this.commitProperty("hasZ"),this.commitProperty("hasM"),this.commitProperty("spatialReference"),{}}get extent(){const e=(0,d.ge)(this);return e?new l.A({...e,spatialReference:this.spatialReference}):null}writePoints(e,t){t.points=(0,o.o8)(this.points)}clone(){const{points:e,spatialReference:t,hasM:s,hasZ:r}=this;return new i({points:(0,o.o8)(e),spatialReference:t.clone(),hasM:s,hasZ:r})}equals(e){if(this===e)return!0;if(null==e)return!1;const t=this.spatialReference,s=e.spatialReference;return null!=t==(null!=s)&&!(null!=t&&null!=s&&!t.equals(s))&&(0,n.aI)(this.points,e.points,p.v6)}addPoint(e){return(0,f.h)(this,e),Array.isArray(e)?this.points.push(e):this.points.push(e.toArray()),this.notifyChange("points"),this}getPoint(e){if(!this._validateInputs(e))return null;const t=this.points[e],s={x:t[0],y:t[1],spatialReference:this.spatialReference};let i=2;return this.hasZ&&(s.z=t[2],i=3),this.hasM&&(s.m=t[i]),new h.A(s)}removePoint(e){if(!this._validateInputs(e))return null;const t=new h.A(this.points.splice(e,1)[0],this.spatialReference);return this.notifyChange("points"),t}setPoint(e,t){return this._validateInputs(e)?((0,f.h)(this,t),Array.isArray(t)||(t=t.toArray()),this.points[e]=t,this.notifyChange("points"),this):this}toJSON(e){return this.write({},e)}_validateInputs(e){return null!=e&&e>=0&&e<this.points.length}};(0,r.Cg)([(0,a.MZ)({readOnly:!0})],m.prototype,"cache",null),(0,r.Cg)([(0,a.MZ)({readOnly:!0})],m.prototype,"extent",null),(0,r.Cg)([(0,a.MZ)({type:[[Number]],json:{write:{isRequired:!0}}})],m.prototype,"points",void 0),(0,r.Cg)([(0,y.K)("points")],m.prototype,"writePoints",null),m=i=(0,r.Cg)([(0,a.$K)("esri.geometry.Multipoint")],m),m.prototype.toJSON.isDefaultToJSON=!0},82799(e,t,s){s.d(t,{A:()=>f});var i,r=s(5482),n=s(4718),o=s(91429),a=s(5443),l=s(91075),u=s(86738),h=s(16930),c=s(90634),d=s(56993),p=s(43937);let f=i=class extends l.A{constructor(e){super(function(e){if(!e)return;let{paths:t,hasM:s,hasZ:i,spatialReference:r}=e;switch(t??=[],function(e){return"number"==typeof e[0]?.[0]}(t)&&(t=[t]),t[0]?.[0]?.length){case 4:i??=!0,s??=!0;break;case 3:i??=!0!==s,s??=!i;break;default:i??=!1,s??=!1}return r??=h.A.WGS84,{...e,hasM:s,hasZ:i,paths:t,spatialReference:r}}(e)),this.curvePaths=void 0,this.paths=[],this.type="polyline"}get cache(){return this.commitProperty("curvePaths"),this.commitProperty("hasM"),this.commitProperty("hasZ"),this.commitProperty("paths"),this.commitProperty("spatialReference"),{}}writeCurvePaths(e,t){t.curvePaths=(0,n.o8)(e)}get extent(){const e=(0,c.Z3)(this),{spatialReference:t}=this;return e?new a.A({...e,spatialReference:t}):null}writePaths(e,t){t.paths=(0,n.o8)(this.paths)}addPath(e){if(!e)return;const t=this.paths,s=t.length;if(function(e){return!Array.isArray(e[0])}(e)){const i=[];for(let t=0,s=e.length;t<s;t++)i[t]=e[t].toArray();t[s]=i}else t[s]=e.slice();return this.notifyChange("paths"),this}clone(){const e=new i;return e.spatialReference=this.spatialReference,e.paths=(0,n.o8)(this.paths),e.curvePaths=(0,n.o8)(this.curvePaths),e.hasZ=this.hasZ,e.hasM=this.hasM,e}getPoint(e,t){if(!this._validateInputs(e,t))return null;const s=this.paths[e][t],i=this.hasZ,r=this.hasM;return i&&!r?new u.A(s[0],s[1],s[2],void 0,this.spatialReference):r&&!i?new u.A(s[0],s[1],void 0,s[2],this.spatialReference):i&&r?new u.A(s[0],s[1],s[2],s[3],this.spatialReference):new u.A(s[0],s[1],this.spatialReference)}insertPoint(e,t,s){return this._validateInputs(e,t,!0)?((0,d.h)(this,s),Array.isArray(s)||(s=s.toArray()),this.paths[e].splice(t,0,s),this.notifyChange("paths"),this):this}removePath(e){if(!this._validateInputs(e,null))return null;const t=this.paths.splice(e,1)[0],s=this.spatialReference,i=t.map(e=>new u.A(e,s));return this.notifyChange("paths"),i}removePoint(e,t){if(!this._validateInputs(e,t))return null;const s=new u.A(this.paths[e].splice(t,1)[0],this.spatialReference);return this.notifyChange("paths"),s}setPoint(e,t,s){return this._validateInputs(e,t)?((0,d.h)(this,s),Array.isArray(s)||(s=s.toArray()),this.paths[e][t]=s,this.notifyChange("paths"),this):this}_validateInputs(e,t,s=!1){if(null==e||e<0||e>=this.paths.length)return!1;if(null!=t){const i=this.paths[e];if(s&&(t<0||t>i.length))return!1;if(!s&&(t<0||t>=i.length))return!1}return!0}toJSON(e){return this.write({},e)}};(0,r.Cg)([(0,o.MZ)({readOnly:!0})],f.prototype,"cache",null),(0,r.Cg)([(0,o.MZ)({json:{write:!0,origins:{"portal-item":{write:!1},"web-map":{write:!1},"web-scene":{write:!1}}}})],f.prototype,"curvePaths",void 0),(0,r.Cg)([(0,p.K)("curvePaths")],f.prototype,"writeCurvePaths",null),(0,r.Cg)([(0,o.MZ)({readOnly:!0})],f.prototype,"extent",null),(0,r.Cg)([(0,o.MZ)({type:[[[Number]]],json:{write:{isRequired:!0}}})],f.prototype,"paths",void 0),(0,r.Cg)([(0,p.K)("paths")],f.prototype,"writePaths",null),f=i=(0,r.Cg)([(0,o.$K)("esri.geometry.Polyline")],f),f.prototype.toJSON.isDefaultToJSON=!0},60408(e,t,s){function i(e){return void 0!==e.xmin&&void 0!==e.ymin&&void 0!==e.xmax&&void 0!==e.ymax}function r(e){return void 0!==e.points}function n(e){return void 0!==e.x&&void 0!==e.y}function o(e){return void 0!==e.paths||void 0!==e.curvePaths}function a(e){return void 0!==e.rings||void 0!==e.curveRings}function l(e){return"object"==typeof e&&"vertexAttributes"in e}function u(e){return e?n(e)?"esriGeometryPoint":o(e)?"esriGeometryPolyline":a(e)?"esriGeometryPolygon":i(e)?"esriGeometryEnvelope":r(e)?"esriGeometryMultipoint":null:null}function h(e){return null!=e&&("hasZ"in e&&e.hasZ||"z"in e&&null!=e.z)}function c(e){return null!=e&&("hasM"in e&&e.hasM||"m"in e&&null!=e.m)}s.d(t,{$B:()=>u,Bi:()=>a,Pv:()=>h,Rg:()=>o,U9:()=>r,W0:()=>c,ZC:()=>i,fT:()=>n,uW:()=>l})},65864(e,t,s){s.d(t,{rS:()=>h,xD:()=>d});var i=s(5443),r=s(91075),n=s(48526),o=s(86738),a=s(39829),l=s(82799),u=s(60408);function h(e){return null==e?null:e instanceof r.A?e:(0,u.fT)(e)?o.A.fromJSON(e):(0,u.Rg)(e)?l.A.fromJSON(e):(0,u.Bi)(e)?a.A.fromJSON(e):(0,u.U9)(e)?n.A.fromJSON(e):(0,u.ZC)(e)?i.A.fromJSON(e):null}const c={esriGeometryPoint:o.A,esriGeometryPolyline:l.A,esriGeometryPolygon:a.A,esriGeometryEnvelope:i.A,esriGeometryMultipoint:n.A,esriGeometryMultiPatch:a.A};function d(e){return e&&c[e]||null}},6518(e,t,s){s.d(t,{F:()=>a});var i=s(44208),r=s(75503),n=s(19419);const o={minX:0,minY:0,maxX:0,maxY:0};class a{constructor(){this._indexInvalid=!1,this._boundsToLoad=[],this._boundsById=new Map,this._idByBounds=new Map,this._index=new r.wq(9,(0,i.A)("esri-csp-restrictions")?e=>({minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]}):["[0]","[1]","[2]","[3]"]),this._loadIndex=()=>{if(this._indexInvalid){const e=new Array(this._idByBounds.size);let t=0;this._idByBounds.forEach((s,i)=>{e[t++]=i}),this._indexInvalid=!1,this._index.clear(),this._index.load(e)}else this._boundsToLoad.length&&(this._index.load(Array.from(new Set(this._boundsToLoad.filter(e=>this._idByBounds.has(e))))),this._boundsToLoad.length=0)}}get fullBounds(){if(!this._boundsById.size)return null;const e=(0,n.Ie)();for(const t of this._boundsById.values())t&&(e[0]=Math.min(t[0],e[0]),e[1]=Math.min(t[1],e[1]),e[2]=Math.max(t[2],e[2]),e[3]=Math.max(t[3],e[3]));return e}get valid(){return!this._indexInvalid}clear(){this._indexInvalid=!1,this._boundsToLoad.length=0,this._boundsById.clear(),this._idByBounds.clear(),this._index.clear()}delete(e){const t=this._boundsById.get(e);this._boundsById.delete(e),t&&(this._idByBounds.delete(t),this._indexInvalid||this._index.remove(t))}forEachInBounds(e,t){this._loadIndex(),function(e,t,s){(function(e){o.minX=e[0],o.minY=e[1],o.maxX=e[2],o.maxY=e[3]})(t),e.search(o,s)}(this._index,e,e=>t(this._idByBounds.get(e)))}get(e){return this._boundsById.get(e)}has(e){return this._boundsById.has(e)}invalidateIndex(){this._indexInvalid||(this._indexInvalid=!0,this._boundsToLoad.length=0)}set(e,t){if(!this._indexInvalid){const t=this._boundsById.get(e);t&&(this._index.remove(t),this._idByBounds.delete(t))}this._boundsById.set(e,t),t&&(this._idByBounds.set(t,e),this._indexInvalid||(this._boundsToLoad.push(t),this._boundsToLoad.length>5e4&&this._loadIndex()))}}},39357(e,t,s){s.d(t,{A:()=>a});var i,r=s(5482),n=s(25482),o=s(91429);let a=i=class extends n.o{constructor(e){super(e),this.name=null,this.code=null}clone(){return new i({name:this.name,code:this.code})}};(0,r.Cg)([(0,o.MZ)({type:String,json:{write:{isRequired:!0}}})],a.prototype,"name",void 0),(0,r.Cg)([(0,o.MZ)({type:[String,Number],json:{write:{isRequired:!0}}})],a.prototype,"code",void 0),a=i=(0,r.Cg)([(0,o.$K)("esri.layers.support.CodedValue")],a)},53177(e,t,s){s.d(t,{A:()=>h});var i,r=s(5482),n=s(4718),o=s(91429),a=s(39357),l=s(76357),u=s(93223);let h=class extends l.A{static{i=this}constructor(e){super(e),this.codedValues=null,this.type="coded-value"}getName(e){let t=null;if(this.codedValues){const s=String(e);this.codedValues.some(e=>(String(e.code)===s&&(t=e.name),!!t))}return t}clone(){return new i({codedValues:(0,n.o8)(this.codedValues),name:this.name})}};(0,r.Cg)([(0,o.MZ)({type:[a.A],json:{write:{isRequired:!0}}})],h.prototype,"codedValues",void 0),(0,r.Cg)([(0,u.e)({codedValue:"coded-value"})],h.prototype,"type",void 0),h=i=(0,r.Cg)([(0,o.$K)("esri.layers.support.CodedValueDomain")],h)},76357(e,t,s){s.d(t,{A:()=>u});var i=s(5482),r=s(66552),n=s(25482),o=s(91429),a=s(93223);const l=new r.J({inherited:"inherited",codedValue:"coded-value",range:"range"});let u=class extends n.o{constructor(e){super(e),this.name=null,this.type=null}};(0,i.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],u.prototype,"name",void 0),(0,i.Cg)([(0,a.e)(l),(0,o.MZ)({json:{write:{isRequired:!0}}})],u.prototype,"type",void 0),u=(0,i.Cg)([(0,o.$K)("esri.layers.support.Domain")],u)},20437(e,t,s){s.d(t,{A:()=>f});var i,r=s(5482),n=s(66552),o=s(25482),a=s(91429),l=s(56507),u=s(8631),h=s(98453),c=s(36005),d=s(93223);const p=new n.J({binary:"binary",coordinate:"coordinate",countOrAmount:"count-or-amount",currency:"currency",dateAndTime:"date-and-time",description:"description",emailAddress:"email-address",locationOrPlaceName:"location-or-place-name",measurement:"measurement",nameOrTitle:"name-or-title",none:"none",orderedOrRanked:"ordered-or-ranked",percentageOrRatio:"percentage-or-ratio",phoneNumber:"phone-number",typeOrCategory:"type-or-category",uniqueIdentifier:"unique-identifier",url:"url"});let f=class extends o.o{static{i=this}constructor(e){super(e),this.alias=null,this.defaultValue=void 0,this.description=null,this.domain=null,this.editable=!0,this.length=void 0,this.name=null,this.nullable=!0,this.type=null,this.valueType=null,this.visible=!0}readDescription(e,{description:t}){let s=null;try{s=t?JSON.parse(t):null}catch(e){}return s?.value??null}readValueType(e,{description:t}){let s=null;try{s=t?JSON.parse(t):null}catch(e){}return s?p.fromJSON(s.fieldValueType):null}clone(){return new i({alias:this.alias,defaultValue:this.defaultValue,description:this.description,domain:this.domain?.clone()??null,editable:this.editable,length:this.length,name:this.name,nullable:this.nullable,type:this.type,valueType:this.valueType,visible:this.visible})}};(0,r.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],f.prototype,"alias",void 0),(0,r.Cg)([(0,a.MZ)({type:[String,Number],json:{write:{allowNull:!0}}})],f.prototype,"defaultValue",void 0),(0,r.Cg)([(0,a.MZ)()],f.prototype,"description",void 0),(0,r.Cg)([(0,c.w)("description")],f.prototype,"readDescription",null),(0,r.Cg)([(0,a.MZ)({types:u.g,json:{read:{reader:u.r},write:!0}})],f.prototype,"domain",void 0),(0,r.Cg)([(0,a.MZ)({type:Boolean,json:{write:!0}})],f.prototype,"editable",void 0),(0,r.Cg)([(0,a.MZ)({type:l.jz,json:{write:{overridePolicy:e=>({enabled:Number.isFinite(e)})}}})],f.prototype,"length",void 0),(0,r.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],f.prototype,"name",void 0),(0,r.Cg)([(0,a.MZ)({type:Boolean,json:{write:!0}})],f.prototype,"nullable",void 0),(0,r.Cg)([(0,d.e)(h.m)],f.prototype,"type",void 0),(0,r.Cg)([(0,a.MZ)()],f.prototype,"valueType",void 0),(0,r.Cg)([(0,c.w)("valueType",["description"])],f.prototype,"readValueType",null),(0,r.Cg)([(0,a.MZ)({type:Boolean,json:{read:!1}})],f.prototype,"visible",void 0),f=i=(0,r.Cg)([(0,a.$K)("esri.layers.support.Field")],f)},41628(e,t,s){s.d(t,{A:()=>l});var i,r=s(5482),n=s(91429),o=s(76357),a=s(93223);let l=class extends o.A{static{i=this}constructor(e){super(e),this.maxValue=null,this.minValue=null,this.type="range"}clone(){return new i({maxValue:this.maxValue,minValue:this.minValue,name:this.name})}};(0,r.Cg)([(0,n.MZ)({json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range?.[1]},write:{enabled:!1,overridePolicy(){return{enabled:null!=this.maxValue&&null==this.minValue}},target:"range",writer(e,t,s){t[s]=[this.minValue||0,e]},isRequired:!0}}})],l.prototype,"maxValue",void 0),(0,r.Cg)([(0,n.MZ)({json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range?.[0]},write:{target:"range",writer(e,t,s){t[s]=[e,this.maxValue||0]},isRequired:!0}}})],l.prototype,"minValue",void 0),(0,r.Cg)([(0,a.e)({range:"range"})],l.prototype,"type",void 0),l=i=(0,r.Cg)([(0,n.$K)("esri.layers.support.RangeDomain")],l)},8631(e,t,s){s.d(t,{r:()=>d,g:()=>c});var i,r=s(53177),n=s(76357),o=s(5482),a=s(91429),l=s(93223);let u=class extends n.A{static{i=this}constructor(e){super(e),this.type="inherited"}clone(){return new i}};(0,o.Cg)([(0,l.e)({inherited:"inherited"})],u.prototype,"type",void 0),u=i=(0,o.Cg)([(0,a.$K)("esri.layers.support.InheritedDomain")],u);var h=s(41628);const c={key:"type",base:n.A,typeMap:{range:h.A,"coded-value":r.A,inherited:u}};function d(e){if(!e?.type)return null;switch(e.type){case"range":return h.A.fromJSON(e);case"codedValue":return r.A.fromJSON(e);case"inherited":return u.fromJSON(e)}return null}},98453(e,t,s){const i=new(s(66552).J)({esriFieldTypeSmallInteger:"small-integer",esriFieldTypeInteger:"integer",esriFieldTypeSingle:"single",esriFieldTypeDouble:"double",esriFieldTypeLong:"long",esriFieldTypeString:"string",esriFieldTypeDate:"date",esriFieldTypeOID:"oid",esriFieldTypeGeometry:"geometry",esriFieldTypeBlob:"blob",esriFieldTypeRaster:"raster",esriFieldTypeGUID:"guid",esriFieldTypeGlobalID:"global-id",esriFieldTypeXML:"xml",esriFieldTypeBigInteger:"big-integer",esriFieldTypeDateOnly:"date-only",esriFieldTypeTimeOnly:"time-only",esriFieldTypeTimestampOffset:"timestamp-offset"});s.d(t,["m",0,i])},31756(e,t,s){var i=s(86211),r=s(79258);const n={unknown:1,inches:(0,i.oU)(1,"meters","inches"),feet:(0,i.oU)(1,"meters","feet"),"us-feet":(0,i.oU)(1,"meters","us-feet"),yards:(0,i.oU)(1,"meters","yards"),miles:(0,i.oU)(1,"meters","miles"),"nautical-miles":(0,i.oU)(1,"meters","nautical-miles"),millimeters:(0,i.oU)(1,"meters","millimeters"),centimeters:(0,i.oU)(1,"meters","centimeters"),decimeters:(0,i.oU)(1,"meters","decimeters"),meters:(0,i.oU)(1,"meters","meters"),kilometers:(0,i.oU)(1,"meters","kilometers"),"decimal-degrees":1/(0,i.vl)(1,"meters",r.$O.radius)};s.d(t,["j",0,n])},63746(e,t,s){function i(e){return class{constructor(){for(const t of e)this[t]=null}}}function r(e,t=1){const{transform:s,hasZ:i,hasM:r}=e;if(null==s)return i&&1!==t?e=>{e[2]*=t}:null;const[n,o]=function(e,t,s,i){let{scale:r,translate:n,originPosition:o}=e;return"upperLeft"===o&&(r=r.map((e,t)=>1===t?-e:e)),t&&(r=r.map((e,t)=>2===t?e*i:e),n=n.map((e,t)=>2===t?e*i:e)),!t&&s&&(r=r.filter((e,t)=>2!==t),n=n.filter((e,t)=>2!==t)),[r,n]}(s,i,r,t),a=e.hasZ?3:2;return e=>{for(let t=0;t<e.length&&(t!==a||0!==e[t]);++t)e[t]=e[t]*n[t]+o[t]}}s.d(t,{M:()=>r,_:()=>i})},2272(e,t,s){s.d(t,{Dl:()=>u,gf:()=>c,jV:()=>l,lF:()=>h});var i=s(92602),r=s(70333),n=s(4718),o=s(84952),a=s(926);function l(e,t){return t?{...t,query:{...e,...t.query}}:{query:e}}function u(e){return"string"==typeof e?(0,o.An)(e):(0,n.o8)(e)}function h(e,t,s){const i={};for(const r in e){if("declaredClass"===r)continue;const n=e[r];if(null!=n&&"function"!=typeof n)if(Array.isArray(n))i[r]=n.map(e=>h(e));else if("object"==typeof n)if(n.toJSON){const e=n.toJSON(s?.[r]);i[r]=t?e:JSON.stringify(e)}else i[r]=t?n:JSON.stringify(n);else i[r]=n}return i}async function c(e,t,n){const o=function(e,t){return e?t&&(0,a.Qc)(e)?t:(0,a.getApiKey)(e)??r.id?.findCredential(e)?.token:null}(e,t);if(o)return o;!r.id&&i.A.request.useIdentity&&await Promise.all([s.e(7632),s.e(5710),s.e(148)]).then(s.bind(s,50148));const l=await r.id.getCredential(e,n);return l?.token}},926(e,t,s){s.d(t,{Dd:()=>d,Jn:()=>p,Qc:()=>f,getApiKey:()=>h,getSessionToken:()=>c});var i=s(92602),r=s(11254),n=s(84952);const o=/^https?:\/\/(i?basemaps|basemapstyles)-api\.arcgis\.com\//i,a=new Set(["elevation3d.arcgis.com","js.arcgis.com","jsdev.arcgis.com","jsqa.arcgis.com","static.arcgis.com"]),l=new Map;let u=null;function h(e){if(!f(e))return null;const t=t=>t instanceof RegExp?t.test(e):"string"==typeof t&&e.startsWith(t),s=i.A.apiKeys;if(Array.isArray(s.scopes))for(const e of s.scopes)if(Array.isArray(e.urls)){if(e.urls.some(t))return e.token}else if(t(e.urls))return e.token;return s.basemapStyles&&o.test(e)?s.basemapStyles:i.A.apiKey&&/^https?:\/\/.+\.arcgis\.com(\/|$)/i.test(e)?i.A.apiKey:null}async function c(e){if(!i.A.sessions?.basemap?.enabled||!o.test(e))return null;const t=h(e);if(!t)return null;u&&await u;const{styleFamily:s="arcgis",autoRefresh:n,duration:a=43200}=i.A.sessions.basemap,c=`${t}:${s}`,d=l.get(c);if(d&&(!n||d.endTime>Date.now()))return d.sessionToken;let p;u=(0,r.A)("https://basemapstyles-api.arcgis.com/arcgis/rest/services/styles/v2/sessions/start",{cacheBust:!0,query:{durationSeconds:a,styleFamily:s,token:t}});try{p=(await u).data,p.endTime-=5e3,l.set(c,p)}finally{u=null}return p.sessionToken}function d(){return null!=i.A.apiKey||null!=i.A.apiKeys.basemapStyles}function p(e,t){return t?f(e):null!=h(e)}function f(e){const t=(0,n.$z)(e,!0);return!!t&&!a.has(t)&&!e.endsWith("/sharing/rest/generateToken")}},88625(e,t,s){s.d(t,{A:()=>g});var i,r=s(5482),n=s(69540),o=s(66552),a=s(25482),l=s(97768),u=s(91429),h=s(30524);let c=i=class extends a.o{constructor(e){super(e),this.expression=void 0,this.title=void 0}async collectRequiredFields(e,t){return(0,h.Dx)(e,t,null,this.expression)}clone(){return new i({expression:this.expression,title:this.title})}equals(e){return this.expression===e.expression&&this.title===e.title}};(0,r.Cg)([(0,u.MZ)({type:String,json:{write:{isRequired:!0}}})],c.prototype,"expression",void 0),(0,r.Cg)([(0,u.MZ)({type:String,json:{write:!0}})],c.prototype,"title",void 0),c=i=(0,r.Cg)([(0,u.$K)("esri.symbols.support.FeatureExpressionInfo")],c);const d=c;var p=s(16271),f=s(36005),y=s(43937);const m=(0,o.O)()({onTheGround:"on-the-ground",relativeToGround:"relative-to-ground",relativeToScene:"relative-to-scene",absoluteHeight:"absolute-height"}),_=new o.J({foot:"feet",kilometer:"kilometers",meter:"meters",mile:"miles","us-foot":"us-feet",yard:"yards"});let g=class extends((0,n.OU)(a.o)){constructor(e){super(e),this.featureExpressionInfo=void 0,this.offset=null}readFeatureExpressionInfo(e,t){return null!=e?e.expression?e:void 0:t.featureExpression&&0===t.featureExpression.value?{expression:"0"}:void 0}writeFeatureExpressionInfo(e,t,s,i){t[s]=e.write({},i),"0"===e.expression&&(t.featureExpression={value:0})}get mode(){const{offset:e,featureExpressionInfo:t}=this;return this._isOverridden("mode")?this._get("mode"):null!=e||t?"relative-to-ground":"on-the-ground"}set mode(e){this._override("mode",e)}set unit(e){this._set("unit",e)}write(e,t){return this.offset||this.mode||this.featureExpressionInfo||this.unit?super.write(e,t):null}equals(e){return this.mode===e.mode&&this.offset===e.offset&&this.unit===e.unit&&(0,l.CM)(this.featureExpressionInfo,e.featureExpressionInfo)}};(0,r.Cg)([(0,u.MZ)({type:d,json:{write:!0}})],g.prototype,"featureExpressionInfo",void 0),(0,r.Cg)([(0,f.w)("featureExpressionInfo",["featureExpressionInfo","featureExpression"])],g.prototype,"readFeatureExpressionInfo",null),(0,r.Cg)([(0,y.K)("featureExpressionInfo",{featureExpressionInfo:{type:d},"featureExpression.value":{type:[0]}})],g.prototype,"writeFeatureExpressionInfo",null),(0,r.Cg)([(0,u.MZ)({type:m.apiValues,nonNullable:!0,json:{type:m.jsonValues,read:m.read,write:{writer:m.write,isRequired:!0}}})],g.prototype,"mode",null),(0,r.Cg)([(0,u.MZ)({type:Number,json:{write:!0}})],g.prototype,"offset",void 0),(0,r.Cg)([(0,u.MZ)({type:p.KQ,json:{type:String,read:_.read,write:_.write}})],g.prototype,"unit",null),g=(0,r.Cg)([(0,u.$K)("esri.symbols.support.ElevationInfo")],g)},16271(e,t,s){s.d(t,{Ao:()=>n});var i=s(4576),r=s(31756);function n(e){return 1/(r.j[e]||1)}const o=function(){const e=Object.keys(r.j);return(0,i.TF)(e,"decimal-degrees"),e.sort(),e}();s.d(t,["KQ",0,o])},20401(e,t,s){s.r(t),s.d(t,{default:()=>Oe});var i=s(5482),r=s(65529),n=s(17676),o=s(36708),a=s(91429),l=s(79897),u=s(16930),h=s(65864),c=s(4576),d=s(49186),p=s(53966),f=s(87992),y=s(70328),m=s(6518),_=s(50498),g=s(69397),v=s(27647);class x{constructor(e=null,t={},s,i,r=0,n=null){this.geometry=e,this.attributes=t,this.centroid=s,this.objectId=i,this.displayId=r,this.distance=n}weakClone(){return new x(this.geometry,this.attributes,this.centroid,this.objectId,this.displayId,this.distance)}clone(){return new x(this.geometry?.clone(),{...this.attributes},this.centroid?.clone(),this.objectId,this.displayId,this.distance)}get usedMemory(){return 128+(0,g.lM)(this.attributes)+(this.geometry?.usedMemory??0)}ensureCentroid(e){return this.centroid??=(0,v.Q)(this.geometry&&(0,f.JR)(this.geometry)),this.centroid}}const b={getObjectId:e=>e.objectId,getAttributes:e=>e.attributes,getAttribute:(e,t)=>e.attributes[t],cloneWithGeometry:(e,t,s)=>new x((0,f.Nh)(_.gy.fromJSON(s),t),e.attributes,null,e.objectId,e.displayId,e.distance),getGeometry:e=>e.geometry&&(0,f.JR)(e.geometry),getGeometryWithCurves:e=>e.geometry,getCentroid:(e,t)=>e.ensureCentroid(t)};var w=s(51441);const C=(0,y.vt)();class I{constructor(e,t,s){this.geometryType=e,this.hasZ=t,this.hasM=s,this._boundsStore=new m.F,this._featuresById=new Map,this._usedMemory=0,this.events=new r.bk,this.featureAdapter=b}get usedMemory(){return this._usedMemory}get numFeatures(){return this._featuresById.size}get fullBounds(){return this._boundsStore.fullBounds}get storeStatistics(){const e=this._featuresById.size;let t=0;return this._featuresById.forEach(({geometry:e})=>{t+=e?e.vertexCount:0}),{featureCount:e,vertexCount:t}}getFullExtent(e){if(null==this.fullBounds)return null;const[t,s,i,r]=this.fullBounds;return{xmin:t,ymin:s,xmax:i,ymax:r,spatialReference:(0,w.ag)(e)}}add(e){this._add(e),this._emitChanged()}addMany(e){for(const t of e)this._add(t);this._emitChanged()}upsertMany(e){const t=e.map(e=>this._upsert(e));return this._emitChanged(),t.filter(c.Ru)}clear(){this._featuresById.clear(),this._boundsStore.clear(),this._emitChanged(),this._usedMemory=0}removeById(e){const t=this._featuresById.get(e);return t?(this._remove(t),this._emitChanged(),t):null}removeManyById(e){this._boundsStore.invalidateIndex();for(const t of e){const e=this._featuresById.get(t);e&&this._remove(e)}this._emitChanged()}forEachBounds(e,t){for(const s of e){const e=this._boundsStore.get(s.objectId);e&&t((0,y.Jt)(C,e))}}getFeature(e){return this._featuresById.get(e)}has(e){return this._featuresById.has(e)}forEach(e){this._featuresById.forEach(t=>e(t))}forEachInBounds(e,t){this._boundsStore.forEachInBounds(e,e=>{t(this._featuresById.get(e))})}_emitChanged(){this.events.emit("changed",void 0)}_add(e){if(!e)return;const t=e.objectId;if(null==t)return void p.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new d.A("featurestore:invalid-feature","feature id is missing",{feature:e}));const s=this._featuresById.get(t);let i;if(s?(e.displayId=s.displayId,i=this._boundsStore.get(t)??void 0,this._boundsStore.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(s)??0):this.onFeatureAdd?.(e),!e.geometry)return this._boundsStore.set(t,null),void this._featuresById.set(t,e);this._boundsStore.set(t,(0,f.NO)(e.geometry,i)),this._featuresById.set(t,e),this._usedMemory+=this.estimateFeatureUsedMemory?.(e)??0}_upsert(e){const t=e?.objectId;if(null==t)return p.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new d.A("featurestore:invalid-feature","feature id is missing",{feature:e})),null;const s=this._featuresById.get(t);if(!s)return this._add(e),e;this._usedMemory-=this.estimateFeatureUsedMemory?.(s)??0;const{geometry:i,attributes:r}=e;for(const e in r)s.attributes[e]=r[e];return i&&(s.geometry=i,this._boundsStore.set(t,(0,f.NO)(i)??null)),this._usedMemory+=this.estimateFeatureUsedMemory?.(s)??0,s}_remove(e){null!=this.onFeatureRemove&&this.onFeatureRemove(e);const t=e.objectId;return this._boundsStore.delete(t),this._featuresById.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(e)??0,e}}var M=s(75752),S=s(87045),F=s(72802),T=s(97552),A=s(88625),P=s(66344),B=s(91869),O=s(86211),R=s(52006),Z=s(16271);function E(e=!1,t){if(e){const{elevationInfo:e,alignPointsInFeatures:s}=t;return new q(e,s)}return new j}class j{async alignCandidates(e,t,s){return e}notifyElevationSourceChange(){}}class q{constructor(e,t){this._elevationInfo=e,this._alignPointsInFeatures=t,this._alignmentsCache=new P.q(1024),this._cacheVersion=0}async alignCandidates(e,t,s){const i=this._elevationInfo;return null==i||"absolute-height"!==i.mode||i.featureExpressionInfo?this._alignComputedElevationCandidates(e,t,s):(function(e,t,s){const{offset:i,unit:r}=s;if(null==i)return;const n=(0,O.G9)(t),o=i*((0,Z.Ao)(r??"meters")/n);for(const t of e)switch(t.type){case"edge":t.start.z+=o,t.end.z+=o,t.curve&&((0,R.yP)(t.curve)[2]+=o);continue;case"vertex":t.target.z+=o;continue}}(e,t,i),e)}notifyElevationSourceChange(){this._alignmentsCache.clear(),this._cacheVersion++}async _alignComputedElevationCandidates(e,t,s){const i=new Map;for(const t of e)(0,B.tE)(i,t.objectId,X).push(t);const[r,o,a]=this._prepareQuery(i,t),l=await this._alignPointsInFeatures(r,s);if((0,n.Te)(s),a!==this._cacheVersion)return this._alignComputedElevationCandidates(e,t,s);this._applyCacheAndResponse(r,l,o);const{drapedObjectIds:u,failedObjectIds:h}=l,c=[];for(const t of e){const{objectId:e}=t;u.has(e)&&"edge"===t.type&&(t.draped=!0),h.has(e)||c.push(t)}return c}_prepareQuery(e,t){const s=[],i=[];for(const[t,r]of e){const e=[];for(const s of r)this._addToQueriesOrCachedResult(t,s.target,e,i),"edge"===s.type&&(this._addToQueriesOrCachedResult(t,s.start,e,i),this._addToQueriesOrCachedResult(t,s.end,e,i));0!==e.length&&s.push({objectId:t,points:e})}return[{spatialReference:t.toJSON(),pointsInFeatures:s},i,this._cacheVersion]}_addToQueriesOrCachedResult(e,t,s,i){const r=N(e,t),n=this._alignmentsCache.get(r);null==n?s.push(t):i.push(new Y(t,n))}_applyCacheAndResponse(e,{elevations:t,drapedObjectIds:s,failedObjectIds:i},r){for(const e of r)e.apply();let n=0;const o=this._alignmentsCache;for(const{objectId:r,points:a}of e.pointsInFeatures){if(i.has(r)){n+=a.length;continue}const e=!s.has(r);for(const s of a){const i=N(r,s),a=t[n++];s.z=a,e&&o.put(i,a,1)}}}}class Y{constructor(e,t){this.point=e,this.z=t}apply(){this.point.z=this.z}}function N(e,{x:t,y:s,z:i,spatialReference:r}){return`${e}-${t}-${s}-${i??0}}-wkid:${r?.wkid}`}function X(){return[]}class k{filter(e,t){return t}notifyElevationSourceChange(){}}class V{filter(e,t){const{point:s,distance:i}=e,{z:r}=s;if(null==r)return t;if(0===t.length)return t;const n=function(e){return"number"==typeof e?{x:e,y:e,z:e}:e}(i),o=this._updateCandidatesTo3D(t,s,n).filter(z);return o.sort(H),o}_updateCandidatesTo3D(e,t,s){for(const i of e)switch(i.type){case"edge":G(i,t,s);continue;case"vertex":L(i,t,s);continue}return e}}function z(e){return e.distance<=1}function J(e=!1){return e?new V:new k}function G(e,t,{x:s,y:i,z:r}){const{start:n,end:o,target:a}=e;if(e.curve)throw new Error("Curves are not yet supported.");e.draped||function(e,t,s,i){const r=i.x-s.x,n=i.y-s.y,o=i.z-s.z,a=r*r+n*n+o*o,l=(t.x-s.x)*r+(t.y-s.y)*n+o*(t.z-s.z),u=Math.min(1,Math.max(0,l/a)),h=s.x+r*u,c=s.y+n*u,d=s.z+o*u;e.x=h,e.y=c,e.z=d}(a,t,n,o);const l=(t.x-a.x)/s,u=(t.y-a.y)/i,h=(t.z-a.z)/r;e.distance=Math.sqrt(l*l+u*u+h*h)}function L(e,t,{x:s,y:i,z:r}){const{target:n}=e,o=(t.x-n.x)/s,a=(t.y-n.y)/i,l=(t.z-n.z)/r,u=Math.sqrt(o*o+a*a+l*l);e.distance=u}function H(e,t){return e.distance-t.distance}var $=s(4718),K=s(799);function U(e=!1,t){return e?new Q(t):new D}class D{async fetch(){return[]}notifySymbologyChange(){}}class Q{constructor(e){this._getSymbologyCandidates=e,this._candidatesCache=new P.q(1024),this._cacheVersion=0}async fetch(e,t){if(0===e.length)return[];const s=[],i=[],r=this._candidatesCache;for(const t of e){const e=W(t),n=r.get(e);if(n)for(const e of n)i.push((0,$.o8)(e));else s.push(t),r.put(e,[],1)}if(0===s.length)return i;const o=this._cacheVersion,{candidates:a,sourceCandidateIndices:l}=await this._getSymbologyCandidates(s,t);if((0,n.Te)(t),o!==this._cacheVersion)return this.fetch(e,t);const u=[],{length:h}=a;for(let e=0;e<h;++e){const t=a[e],i=W(s[l[e]]),n=r.get(i);n.push(t),r.put(i,n,n.length),u.push((0,$.o8)(t))}return i.concat(u)}notifySymbologyChange(){this._candidatesCache.clear(),this._cacheVersion++}}function W(e){switch(e.type){case"vertex":{const{objectId:t,target:s}=e,i=`${t}-vertex-${s.x}-${s.y}-${s.z??0}`;return(0,K.Wm)(i).toString()}case"edge":{const{objectId:t,start:s,end:i}=e,r=`${t}-edge-${s.x}-${s.y}-${s.z??0}-to-${i.x}-${i.y}-${i.z??0}`;return(0,K.Wm)(r).toString()}default:return""}}var ee=s(69622),te=s(60999),se=s(3483),ie=s(13069),re=s(5443),ne=s(19419),oe=s(92722),ae=s(54339);class le{constructor(){this.globalIdFieldName=null,this.geohashFieldName=null,this.geometryProperties=null,this.geometryType=null,this.spatialReference=null,this.hasZ=!1,this.hasM=!1,this.features=[],this.fields=[],this.transform=null,this.exceededTransferLimit=!1,this.uniqueIdField=null,this.queryGeometryType=null,this.queryGeometry=null}weakClone(){const e=new le;return e.globalIdFieldName=this.globalIdFieldName,e.geohashFieldName=this.geohashFieldName,e.geometryProperties=this.geometryProperties,e.geometryType=this.geometryType,e.spatialReference=this.spatialReference,e.hasZ=this.hasZ,e.hasM=this.hasM,e.features=this.features,e.fields=this.fields,e.transform=this.transform,e.exceededTransferLimit=this.exceededTransferLimit,e.uniqueIdField=this.uniqueIdField,e.queryGeometry=this.queryGeometry,e.queryGeometryType=this.queryGeometryType,e}}var ue=s(60694),he=s(62815),ce=s(63746);class de{constructor(e){this._options=e,this.featureSet=new le,this.parseOnly=null,this._idInfo=null,this._transformInPlace=null,this._transformInPlaceXY=null,this._push=de._pushXY,this._attributesClass=null,this._previousX=0,this._previousY=0,this._vertex=[],this._i=0,this._geometry=null,this._iVertex=0,this._iPart=0,this._isPolygon=!1,this._ringEndsAt=-1}queryGeometryType(){return this.featureSet.queryGeometryType}queryGeometry(){return this.featureSet.queryGeometry}idField(e){"string"==typeof e?this._idInfo??={type:"object-id",fieldName:e}:this._idInfo={type:"unique-id-simple",fieldName:e.name}}finish(){if(this._idInfo)for(const e of this.featureSet.features)e.objectId=(0,ae.W)(e,this._idInfo);const{spatialReference:e,features:t}=this.featureSet;if(e)for(const{geometry:s}of t)s&&(s.spatialReference=e);this.featureSet.transform=null}feature(){this._attributesClass??=(0,ce._)(this.featureSet.fields?.map(e=>e.name)??[]),this.featureSet.features.push(new x(null,new this._attributesClass,null,0)),this._setVertexTransformer()}centroid(e){const{hasZ:t,hasM:s}=this.featureSet;this.featureSet.features.at(-1).centroid=new oe.A([],e,t,s)}geometry(e,t,s){this._previousX=this._previousY=0,this._i=this._iVertex=this._iPart=0;let{hasZ:i,hasM:r}=this.featureSet;i??=!1,r??=!1,this._vertex=[0,0],i&&this._vertex.push(0),r&&this._vertex.push(0);const n=_.gy.fromJSON(t);this._isPolygon="polygon"===n;const o=Number(this._isPolygon),a="point"===n?1:s.reduce((e,t)=>e+t-o,0),l="point"===n?0:s.length;if(this._geometry=(0,f.V2)(n,a,l,i,r,!1),this._push=i?r?de._pushXYZM:de._pushXYZ:r?de._pushXYM:de._pushXY,this._geometry.isMultipart()){this._geometry.partOffsets[0]=0;for(let e=0;e<l;++e)this._geometry.partOffsets[e+1]=this._geometry.partOffsets[e]+s[e]-o}this._ringEndsAt=o?this._geometry.partOffsets.at(1)??0:-1,1===e?(this.featureSet.queryGeometry=this._geometry,this.featureSet.queryGeometryType=t):this.featureSet.features.at(-1).geometry=this._geometry}coord(e){const t=this._vertex;t[this._i++]=e,this._i<t.length||(this._i=0,t[0]+=this._previousX,t[1]+=this._previousY,[this._previousX,this._previousY]=t,this._iVertex===this._ringEndsAt&&(++this._iPart,this._ringEndsAt=this._geometry.partOffsets[this._iPart+1],this._previousX=this._previousY=0,this._isPolygon)||(this._transformInPlace?.(t),this._push(this)))}curvedGeometry(e,t,s,i){let{hasZ:r,hasM:n}=this.featureSet;r??=!1,n??=!1,this._i=this._iVertex=this._iPart=0;const o=_.gy.fromJSON(e);this._isPolygon="polygon"===o;const a=Number(!this._isPolygon),l=t.length;let u=0,h=0,c=a*l;for(let e=0;e<s.length;++e)switch(c+=i[e],s[e]){case 1:case 3:u+=i[e];continue;case 2:h+=i[e]}this._geometry=(0,f.V2)(o,c,l,r,n,!0,u,h);const{partOffsets:d}=this._geometry;d[0]=0;for(let e=0,s=0;e<l;++e){d[e+1]=d[e]+a;for(let r=0;r<t[e];++r)d[e+1]+=i[s++]}switch(e){case"esriGeometryPoint":case"esriGeometryMultipoint":throw new Error(`Curved ${e} does not make sense`)}this.featureSet.features.at(-1).geometry=this._geometry}startCurvedPart(e){}finishCurvedPart(e){this._isPolygon||(this._transform(e,this._vertex),this._push(this)),++this._iPart}lineSegment(e,t){this._transform(e,this._vertex),this._push(this)}bezierSegment(e,t,s,i){this._transform(e,this._vertex),this._push(this),this._transformXY(t,ye.b[0]),this._transformXY(s,ye.b[1]),this._transformXY(i,ye.b[2]),this._i=(0,f.tr)(this._vertex,ye,this._geometry,this._iVertex-1,this._i)}circularArcSegment(e,t,s){this._transform(e,this._vertex),this._push(this),this._transformXY(t,pe.c[0]),this._transformXY(s,pe.c[1]),this._i=(0,f.e6)(this._vertex,pe,this._geometry,this._iVertex-1,this._i)}ellipticArcSegment(e,t,s,i,r,n,o,a){this._transform(e,this._vertex),this._push(this),this._transformXY(t,fe.a[0]),this._transformXY(s,fe.a[1]),fe.a[2]=i,fe.a[3]=r,fe.a[4]=n,fe.a[5]=o,fe.a[6]=a,this._i=(0,f._s)(this._vertex,fe,this._geometry,this._iVertex-1,this._i)}static _pushXY(e){const t=e._iVertex++,{vertexXY:s}=e._geometry;[s[2*t],s[2*t+1]]=e._vertex}static _pushXYZ(e){const t=e._iVertex++,{vertexXY:s,vertexZ:i}=e._geometry;[s[2*t],s[2*t+1],i[t]]=e._vertex}static _pushXYM(e){const t=e._iVertex++,{vertexXY:s,vertexM:i}=e._geometry;[s[2*t],s[2*t+1],i[t]]=e._vertex}static _pushXYZM(e){const t=e._iVertex++,{vertexXY:s,vertexM:i,vertexZ:r}=e._geometry;[s[2*t],s[2*t+1],r[t],i[t]]=e._vertex}_setVertexTransformer(){const{sourceSpatialReference:e}=this._options,{spatialReference:t,hasZ:s,transform:i}=this.featureSet,r=s?(0,he.d)(e,t):1;this._transformInPlace??=(0,ce.M)(this.featureSet,r),this._transformInPlaceXY??=(0,ce.M)({transform:i})}_transform(e,t){for(let s=0;s<e.length;++s)t[s]=e[s];this._transformInPlace?.(t)}_transformXY(e,t){t[0]=e[0],t[1]=e[1],this._transformInPlaceXY?.(t)}}const pe={c:[[0,0],[0,0]]},fe={a:[[0,0],[0,0],0,0,0,0,0]},ye={b:[[0,0],[0,0],[0,0]]};var me=s(80893);class _e{constructor(e,t){this.key=e,this.resolution=t,this.state={type:0},this.alive=!0}process(e){switch(this.state.type){case 0:return this.state=this._gotoFetchCount(this.state,e),this.state.task.promise.then(e.resume,e.resume);case 1:case 3:break;case 2:return this.state=this._gotoFetchFeatures(this.state,e),this.state.task.promise.then(e.resume,e.resume);case 4:this.state=this._goToDone(this.state,e)}return null}get debugInfo(){return{key:this.key,featureCount:this._featureCount,state:this._stateToString}}get _featureCount(){switch(this.state.type){case 0:case 1:return 0;case 2:return this.state.featureCount;case 3:return this.state.previous.featureCount;case 4:return this.state.features.length;case 5:return this.state.previous.features.length}}get _stateToString(){switch(this.state.type){case 0:return"created";case 1:return"fetch-count";case 2:return"fetched-count";case 3:return"fetch-features";case 4:return"fetched-features";case 5:return"done"}}_gotoFetchCount(e,t){return{type:1,previous:e,task:(0,te.UT)(async e=>{const s=await(0,te.DZ)(t.fetchCount(this,e));1===this.state.type&&(this.state=function(e,t){return{type:2,featureCount:t,previous:e}}(this.state,s.ok?s.value:1/0))})}}_gotoFetchFeatures(e,t){return{type:3,previous:e,task:(0,te.UT)(async s=>{const i=await(0,te.DZ)(t.fetchFeatures(this,e.featureCount,s));3===this.state.type&&(this.state=function(e,t){return{type:4,previous:e,features:t}}(this.state,i.ok?i.value:[]))})}}_goToDone(e,t){return t.finish(this,e.features),{type:5,previous:e}}reset(){const e=this.state;switch(this.state={type:0},e.type){case 0:case 2:case 4:case 5:break;case 1:case 3:e.task.abort()}}}let ge=class extends ee.A{get _minimumVerticesPerFeature(){switch(this.store?.featureStore.geometryType){case"esriGeometryPoint":case"esriGeometryMultipoint":return 1;case"esriGeometryPolygon":return 4;case"esriGeometryPolyline":return 2}}get _mandatoryOutFields(){const e=new Set;return this.objectIdField&&e.add(this.objectIdField),this.globalIdField&&e.add(this.globalIdField),e}set outFields(e){const t=this._get("outFields"),s=(0,se.KC)(e,this._mandatoryOutFields);(0,se.aI)(s,t)||(this._set("outFields",s),(0,se.Yy)(s,t)||this.refresh())}get outFields(){return this._get("outFields")??this._mandatoryOutFields}set filter(e){const t=this._get("filter"),s=this._filterProperties(e);JSON.stringify(t)!==JSON.stringify(s)&&this._set("filter",s)}set customParameters(e){const t=this._get("customParameters");JSON.stringify(t)!==JSON.stringify(e)&&this._set("customParameters",e)}get _configuration(){return{filter:this.filter,customParameters:this.customParameters,tileInfo:this.tileInfo,tileSize:this.tileSize}}set tileInfo(e){const t=this._get("tileInfo");t!==e&&(null!=e&&null!=t&&JSON.stringify(e)===JSON.stringify(t)||(this._set("tileInfo",e),this.store.tileInfo=e))}set tileSize(e){this._get("tileSize")!==e&&this._set("tileSize",e)}get updating(){return this._updatingHandles.updating}get hasZ(){return this.store.featureStore.hasZ}constructor(e){super(e),this.suspended=!0,this._historicMoment=null,this.tilesOfInterest=new Array,this.availability=0,this._pendingTiles=new Map,this._updatingHandles=new l.U}initialize(){this._initializeFetchExtent(),this._updatingHandles.add(()=>this._configuration,()=>this.refresh()),this._updatingHandles.add(()=>this.tilesOfInterest,()=>{this._updatePriorities(),this._process()},{sync:!0,initial:!0,equals:(e,t)=>(0,c.aI)(e,t,({id:e},{id:t})=>e===t)}),this._updatingHandles.addWhen(()=>!this.suspended,()=>this._process())}_updatePriorities(){this.store.setPriorityOrderByKey(this.tilesOfInterest.map(({id:e})=>e)??[])}destroy(){this._pendingTiles.forEach(e=>this._deletePendingTile(e)),this._pendingTiles.clear(),this.store.destroy(),this.tilesOfInterest.length=0,this._updatingHandles.destroy()}refresh(){this.store.refresh(),this._pendingTiles.forEach(e=>this._deletePendingTile(e)),this._process()}async handleEdits(e){if(e.historicMoment&&(this._historicMoment=e.historicMoment),!e.addedFeatures.length&&!e.updatedFeatures.length&&!e.deletedFeatures.length)return;for(const e of this._pendingTiles.values())e.reset();const t={...e,deletedFeatures:e.deletedFeatures.map(({objectId:e,globalId:t})=>e&&-1!==e?e:this._lookupObjectIdByGlobalId(t))},s=(0,te.UT)(async e=>{try{await this.store.processEdits(t,(e,t)=>this._queryFeaturesById(e,t),e),this._processPendingTiles()}catch(e){(0,n.QP)(e),p.A.getLogger(this).warn("Failed to apply edits",e)}});this.addHandles(s),await this._updatingHandles.addPromise(s.promise)}setHistoricMoment(e){e?.getTime()!==this._historicMoment?.getTime()&&(this._historicMoment=e,this.refresh())}_initializeFetchExtent(){if(!this.capabilities.query.supportsExtent||!(0,ue.Wo)(this.url))return;const e=(0,te.UT)(async e=>{try{const t=await(0,me.Jf)(this.url,new T.A({where:"1=1",outSpatialReference:this.spatialReference,cacheHint:this.capabilities.query.supportsCacheHint??void 0}),{query:this._configuration.customParameters,signal:e});this.store.extent=re.A.fromJSON(t?.extent)}catch(e){(0,n.QP)(e),p.A.getLogger(this).warn("Failed to fetch data extent",e)}});this._updatingHandles.consumePromise(e.promise.then(()=>this._process())),this.addHandles(e)}get debugInfo(){return{numberOfFeatures:this.store.featureStore.numFeatures,tilesOfInterest:this.tilesOfInterest,pendingTiles:Array.from(this._pendingTiles.values()).map(e=>e.debugInfo),storedTiles:this.store.debugInfo}}_process(){this._markTilesNotAlive(),this._createPendingTiles(),this._deletePendingTiles(),this._processPendingTiles()}_markTilesNotAlive(){for(const e of this._pendingTiles.values())e.alive=!1}_createPendingTiles(){if(this.suspended)return;const e=this._collectMissingTilesInfo();if(this._setAvailability(null==e?1:e.coveredArea/e.fullArea),null!=e)for(const{data:t,resolution:s}of e.missingTiles){const e=this._pendingTiles.get(t.id);e?(e.resolution=s,e.alive=!0):this._createPendingTile(t,s)}}_collectMissingTilesInfo(){let e=null;for(const t of this.tilesOfInterest){const s=this.store.process(t,(e,t)=>this._verifyTileComplexity(e,t),this.outFields);null==e?e=s:e.prepend(s)}return e}_deletePendingTiles(){for(const e of this._pendingTiles.values())e.alive||this._deletePendingTile(e)}_processPendingTiles(){const e={fetchCount:(e,t)=>this._fetchCount(e,t),fetchFeatures:(e,t,s)=>this._fetchFeatures(e,t,s),finish:(e,t)=>this._finishPendingTile(e,t),resume:()=>this._processPendingTiles()};if(this._ensureFetchAllCounts(e))for(const t of this._pendingTiles.values())this._verifyTileComplexity(this.store.getFeatureCount(t.key),t.resolution)&&this._updatingHandles.consumePromise(t.process(e))}_verifyTileComplexity(e,t){return this._verifyVertexComplexity(e)&&this._verifyFeatureDensity(e,t)}_verifyVertexComplexity(e){return e*this._minimumVerticesPerFeature<be}_verifyFeatureDensity(e,t){if(null==this.tileInfo)return!1;const s=this.tileSize*t;return e*(we/(s*s))<Ce}_ensureFetchAllCounts(e){let t=!0;for(const s of this._pendingTiles.values())s.state.type<2&&this._updatingHandles.consumePromise(s.process(e)),s.state.type<=1&&(t=!1);return t}_finishPendingTile(e,t){this.store.add(e.key,t),this._deletePendingTile(e),this._updateAvailability()}_updateAvailability(){const e=this._collectMissingTilesInfo();this._setAvailability(null==e?1:e.coveredArea/e.fullArea)}_setAvailability(e){this._set("availability",e)}_createPendingTile(e,t){const s=new _e(e,t);return this._pendingTiles.set(e.id,s),s}_deletePendingTile(e){e.reset(),this._pendingTiles.delete(e.key.id)}async _fetchCount(e,t){return this.store.fetchCount(e.key,this.url,this._createCountQuery(e),{query:this.customParameters,timeout:xe,signal:t})}async _fetchFeatures(e,t,s){let i=0;const r=[];let n=0,o=t;for(;;){const a=this._createFeaturesQuery(e),l=this._setPagingParameters(a,i,o),{features:u,exceededTransferLimit:h}=await this._queryFeatures(a,s);l&&(i+=a.num),n+=u.length;for(const e of u)r.push(e);if(o=t-n,!l||!h||o<=0)return r}}_filterProperties(e){return null==e?{where:"1=1",gdbVersion:void 0,timeExtent:void 0}:{where:e.where||"1=1",timeExtent:e.timeExtent,gdbVersion:e.gdbVersion}}_lookupObjectIdByGlobalId(e){const t=this.globalIdField,s=this.objectIdField;if(null==t)throw new Error("Expected globalIdField to be defined");let i=null;const r=e?(0,ie.AG)(e):e;if(this.store.featureStore.forEach(e=>{r===(0,ie.AG)(e.attributes[t])&&(i=e.objectId??e.attributes[s])}),null==i)throw new Error(`Expected to find a feature with globalId ${e}`);return i}_queryFeaturesById(e,t){const s=this._createFeaturesQuery();return s.objectIds=e,this._queryFeatures(s,t)}async _queryFeatures(e,t){return 0===e.num?new le:this.capabilities.query.supportsFormatPBF?this._queryFeaturesPBF(e,t):this._queryFeaturesJSON(e,t)}async _queryFeaturesPBF(e,t){const{sourceSpatialReference:s}=this;return await(0,me.IJ)(this.url,e,new de({sourceSpatialReference:s}),{query:this._configuration.customParameters,timeout:xe,signal:t})}async _queryFeaturesJSON(e,t){const{sourceSpatialReference:s}=this;return function({exceededTransferLimit:e,features:t,fields:s,geometryType:i,hasM:r,hasZ:n,spatialReference:o,transform:a},l){const u=new le;u.exceededTransferLimit=e??!1;for(const e of t??[]){let t,s;i&&(t=e.geometry&&(0,f.ME)(e.geometry),s=e.centroid&&new oe.A([],[e.centroid.x,e.centroid.y]));const r=(0,ae.W)(e,l),n=void 0;u.features.push(new x(t,e.attributes,s,r,n,e.distance))}return u.fields=s??u.fields,u.geometryType=i??null,u.hasM=r??!1,u.hasZ=n??!1,u.spatialReference=o??null,u.transform=a??null,u}(await(0,me.eW)(this.url,e,s,{query:this._configuration.customParameters,timeout:xe,signal:t}),{type:"object-id",fieldName:this.objectIdField})}_createCountQuery(e){const t=this._createBaseQuery(e);return this.capabilities.query.supportsCacheHint&&(t.cacheHint=!0),t}_createFeaturesQuery(e=null){const t=this._createBaseQuery(e),s=null!=e?.key?this.store.getAttributesForTile(e?.key?.id):null,i=(0,se.KC)((0,se.iv)(this.outFields,s??new Set),this._mandatoryOutFields);return t.outFields=Array.from(i),t.returnGeometry=!0,this.capabilities.data.supportsTrueCurve&&(!this.capabilities.query.supportsFormatPBF||this.capabilities.query.supportsFormatPBFWithCurves)&&(t.returnTrueCurves=!0),null!=e&&(this.capabilities.query.supportsResultType?t.resultType="tile":this.capabilities.query.supportsCacheHint&&(t.cacheHint=!0)),t}_createBaseQuery(e){const t=new T.A({returnZ:this.hasZ,returnM:!1,historicMoment:this._historicMoment,geometry:null!=this.tileInfo&&null!=e?(0,ne.w1)(e.key.extent,this.tileInfo.spatialReference):void 0}),s=this._configuration.filter;return null!=s&&(t.where=s.where,t.gdbVersion=s.gdbVersion,t.timeExtent=s.timeExtent),t.outSpatialReference=this.spatialReference,t}_setPagingParameters(e,t,s){if(!this.capabilities.query.supportsPagination)return!1;const{supportsMaxRecordCountFactor:i,supportsCacheHint:r,tileMaxRecordCount:n,maxRecordCount:o,supportsResultType:a}=this.capabilities.query,l=i?T.A.MAX_MAX_RECORD_COUNT_FACTOR:1,u=l*((a||r)&&n?n:o||ve);return e.start=t,i?(e.maxRecordCountFactor=Math.min(l,Math.ceil(s/u)),e.num=Math.min(s,e.maxRecordCountFactor*u)):e.num=Math.min(s,u),!0}};(0,i.Cg)([(0,a.MZ)({constructOnly:!0})],ge.prototype,"url",void 0),(0,i.Cg)([(0,a.MZ)({constructOnly:!0})],ge.prototype,"currentVersion",void 0),(0,i.Cg)([(0,a.MZ)({constructOnly:!0})],ge.prototype,"objectIdField",void 0),(0,i.Cg)([(0,a.MZ)({constructOnly:!0})],ge.prototype,"globalIdField",void 0),(0,i.Cg)([(0,a.MZ)({constructOnly:!0})],ge.prototype,"capabilities",void 0),(0,i.Cg)([(0,a.MZ)({constructOnly:!0})],ge.prototype,"sourceSpatialReference",void 0),(0,i.Cg)([(0,a.MZ)({constructOnly:!0})],ge.prototype,"spatialReference",void 0),(0,i.Cg)([(0,a.MZ)({constructOnly:!0})],ge.prototype,"store",void 0),(0,i.Cg)([(0,a.MZ)({readOnly:!0})],ge.prototype,"_minimumVerticesPerFeature",null),(0,i.Cg)([(0,a.MZ)()],ge.prototype,"_mandatoryOutFields",null),(0,i.Cg)([(0,a.MZ)()],ge.prototype,"outFields",null),(0,i.Cg)([(0,a.MZ)()],ge.prototype,"suspended",void 0),(0,i.Cg)([(0,a.MZ)()],ge.prototype,"_historicMoment",void 0),(0,i.Cg)([(0,a.MZ)()],ge.prototype,"filter",null),(0,i.Cg)([(0,a.MZ)()],ge.prototype,"customParameters",null),(0,i.Cg)([(0,a.MZ)({readOnly:!0})],ge.prototype,"_configuration",null),(0,i.Cg)([(0,a.MZ)()],ge.prototype,"tileInfo",null),(0,i.Cg)([(0,a.MZ)()],ge.prototype,"tileSize",null),(0,i.Cg)([(0,a.MZ)()],ge.prototype,"tilesOfInterest",void 0),(0,i.Cg)([(0,a.MZ)({readOnly:!0})],ge.prototype,"updating",null),(0,i.Cg)([(0,a.MZ)({readOnly:!0})],ge.prototype,"availability",void 0),(0,i.Cg)([(0,a.MZ)()],ge.prototype,"hasZ",null),ge=(0,i.Cg)([(0,a.$K)("esri.views.interactive.snapping.featureSources.featureServiceSource.FeatureServiceTiledFetcher")],ge);const ve=2e3,xe=6e5,be=1e6,we=25,Ce=1;s(44208);class Ie{constructor(){this._store=new Map,this._priorities=new Map}get size(){return this._store.size}setPriorityOrderByKey(e){this._priorities.clear();for(let t=e.length-1;t>=0;t--)this._priorities.set(e[t],e.length-t)}hasLowerPriority(e){const t=this._priorities.get(e);if(null==t)return!0;for(const[e]of this._store){const s=this._priorities.get(e);if(null==s||s<t)return!0}return!1}someFromLowestToHighestPriority(e){const{_priorities:t}=this;for(const[s,i]of this._store)if(!t.has(s)&&e(i,s))return!0;for(const[s]of t){const t=this._store.get(s);if(t&&e(t,s))return!0}return!1}set(e,t){this._store.set(e,t)}delete(e){return this._store.delete(e)}get(e){return this._store.get(e)}has(e){return this._store.has(e)}clear(){this._store.clear()}values(){return this._store.values()}[Symbol.iterator](){return this._store[Symbol.iterator]()}}let Me=class extends ee.A{setPriorityOrderByKey(e){this._tiles.setPriorityOrderByKey(e)}get _memoryLimitExceeded(){return this.featureStore.usedMemory>=this.maximumByteSize}constructor(e){super(e),this.tileInfo=null,this.extent=null,this.maximumByteSize=10485760,this._tileBounds=new m.F,this._tiles=new Ie,this._refCounts=new Map,this._tileFeatureCounts=new Map,this._tmpBoundingRect=(0,ne.vt)()}add(e,t){for(const e of t)this._referenceFeature(e.objectId);const s=this.featureStore.upsertMany(t),i=s.map(e=>new Set(Object.keys(e.attributes))).reduce((e,t)=>(0,se.E$)(e,t),new Set(Object.keys(s[0]?.attributes??[]))),r=this._memoryLimitExceeded;this._addTileStorage(e,new Set(s.map(e=>e.objectId)),i),r&&this._applyCacheMemoryLimits()}_applyCacheMemoryLimits(){if(!this._memoryLimitExceeded)return;const{_tiles:e,featureStore:t,maximumByteSize:s}=this;e.someFromLowestToHighestPriority(e=>!this._memoryLimitExceeded||t.usedMemory-this._estimateRemoveTileMemoryReduction(e)<s||(this._removeTileStorage(e),!1))}_estimateRemoveTileMemoryReduction(e){let t=0;for(const s of e.objectIds)if(1===this._refCounts.get(s)){const e=this.featureStore.getFeature(s);e&&(t+=this.featureStore.estimateFeatureUsedMemory?.(e)??0)}return t}_hasAttributesForTile(e,t){if(e){const s=this._tiles.get(e);if(s)return!s.objectIds.size||(0,se.Yy)(t,s.attributeKeys)}return!1}getAttributesForTile(e){return e?this._tiles.get(e)?.attributeKeys:null}destroy(){this.clear(),this._tileFeatureCounts.clear()}clear(){this.featureStore.clear(),this._tileBounds.clear(),this._tiles.clear(),this._refCounts.clear()}refresh(){this.clear(),this._tileFeatureCounts.clear()}processEdits(e,t,s){return this._processEditsDelete(e.deletedFeatures.concat(e.updatedFeatures)),this._processEditsRefetch(e.addedFeatures.concat(e.updatedFeatures),t,s)}_addTileStorage(e,t,s){const i=e.id;this._tiles.set(i,new Se(e,t,s)),this._tileBounds.set(i,e.extent),this._tileFeatureCounts.set(i,t.size)}_remove({id:e}){const t=this._tiles.get(e);t&&this._removeTileStorage(t)}_removeTileStorage(e){const t=[];for(const s of e.objectIds)1===this._unreferenceFeature(s)&&t.push(s);this.featureStore.removeManyById(t);const s=e.key.id;this._tiles.delete(s),this._tileBounds.delete(s)}_processEditsDelete(e){this.featureStore.removeManyById(e);for(const t of this._tiles.values()){for(const s of e)t.objectIds.delete(s);this._tileFeatureCounts.set(t.key.id,t.objectIds.size)}for(const t of e)this._refCounts.delete(t)}async _processEditsRefetch(e,t,s){if(!e.length)return;const{features:i}=await t(e,s);for(const e of i){if(this._tmpBoundingRect.fill(0),null==e.geometry||0===e.geometry.vertexCount)continue;(0,ne.Ie)(this._tmpBoundingRect);const t=(0,f.NO)(e.geometry,this._tmpBoundingRect);this._tileBounds.forEachInBounds(t,t=>{const s=this._tiles.get(t);this.featureStore.add(e);const i=e.objectId;s.objectIds.has(i)||(s.objectIds.add(i),this._referenceFeature(i),this._tileFeatureCounts.set(s.key.id,s.objectIds.size))})}}process(e,t=()=>!0,s){if(null==this.tileInfo||!e.extent||null!=this.extent&&!(0,ne.HY)((0,ne.VY)(this.extent,this._tmpBoundingRect),e.extent))return new Te(e);if(this._memoryLimitExceeded&&!this._tiles.hasLowerPriority(e.id??""))return new Te(e);if(this._hasAttributesForTile(e.id,s))return new Te(e);const i=this._createTileTree(e,this.tileInfo);return this._simplify(i,t,null,0,1),this._collectMissingTiles(e,i,this.tileInfo,s)}get debugInfo(){return Array.from(this._tiles.values()).map(({key:e})=>({key:e.toJSON(),featureCount:this._tileFeatureCounts.get(e.id)||0}))}getFeatureCount(e){return this._tileFeatureCounts.get(e.id)??0}async fetchCount(e,t,s,i){let r=this._tileFeatureCounts.get(e.id);return null!=r||(r=await(0,me.gW)(t,s,i),this._tileFeatureCounts.set(e.id,r)),r}_createTileTree(e,t){const s=new Fe(e.level,e.row,e.col);return t.updateTileInfo(s,1),this._tileBounds.forEachInBounds(e.extent,i=>{const r=this._tiles.get(i)?.key;r&&function(e,t){if(!e||!t)return!1;if(e.level===t.level)return e.row===t.row&&e.col===t.col;const s=e.level<t.level,i=s?e:t,r=s?t:e,n=1<<r.level-i.level;return Math.floor(r.row/n)===i.row&&Math.floor(r.col/n)===i.col}(e,r)&&this._populateChildren(s,r,t,this._tileFeatureCounts.get(r.id)||0)}),s}_populateChildren(e,t,s,i){const r=t.level-e.level-1;if(r<0)return void(e.isLeaf=!0);const n=t.row>>r,o=t.col>>r,a=e.row<<1,l=o-(e.col<<1)+(n-a<<1),u=e.children[l];if(null!=u)this._populateChildren(u,t,s,i);else{const r=new Fe(e.level+1,n,o);s.updateTileInfo(r,1),e.children[l]=r,this._populateChildren(r,t,s,i)}}_simplify(e,t,s,i,r){const n=r*r;if(e.isLeaf)return t(this.getFeatureCount(e),r)?0:(this._remove(e),null!=s&&(s.children[i]=null),n);const o=r/2,a=o*o;let l=0;for(let s=0;s<e.children.length;s++){const i=e.children[s];l+=null!=i?this._simplify(i,t,e,s,o):a}return 0===l?this._mergeChildren(e):1-l/n<Pe&&(this._purge(e),null!=s&&(s.children[i]=null),l=n),l}_mergeChildren(e){const t=new Set;let s;this._forEachLeaf(e,e=>{const i=this._tiles.get(e.id);if(i){s=s?(0,se.E$)(s,i.attributeKeys):new Set(i.attributeKeys);for(const e of i.objectIds)t.has(e)||(t.add(e),this._referenceFeature(e));this._remove(e)}}),this._addTileStorage(e,t,s??new Set),e.isLeaf=!0,e.children[0]=e.children[1]=e.children[2]=e.children[3]=null,this._tileFeatureCounts.set(e.id,t.size)}_forEachLeaf(e,t){for(const s of e.children)null!=s&&(s.isLeaf?t(s):this._forEachLeaf(s,t))}_purge(e){if(null!=e)if(e.isLeaf)this._remove(e);else for(let t=0;t<e.children.length;t++){const s=e.children[t];this._purge(s),e.children[t]=null}}_collectMissingTiles(e,t,s,i){const r=new Ae(s,e,this.extent);return this._collectMissingTilesRecurse(t,r,1,i),r.info}_collectMissingTilesRecurse(e,t,s,i){const r=this._tiles.has(e.id)&&!this._hasAttributesForTile(e.id,i);if(r&&t.addMissing(e.level,e.row,e.col,s),e.isLeaf)return;if(!e.hasChildren)return void(r||t.addMissing(e.level,e.row,e.col,s));const n=s/2;for(let s=0;s<e.children.length;s++){const r=e.children[s];null==r?t.addMissing(e.level+1,(e.row<<1)+((2&s)>>1),(e.col<<1)+(1&s),n):this._collectMissingTilesRecurse(r,t,n,i)}}_referenceFeature(e){const t=(this._refCounts.get(e)||0)+1;return this._refCounts.set(e,t),1===t?0:2}_unreferenceFeature(e){const t=(this._refCounts.get(e)||0)-1;return 0===t?(this._refCounts.delete(e),1):(t>0&&this._refCounts.set(e,t),2)}get test(){}};(0,i.Cg)([(0,a.MZ)({constructOnly:!0})],Me.prototype,"featureStore",void 0),(0,i.Cg)([(0,a.MZ)()],Me.prototype,"tileInfo",void 0),(0,i.Cg)([(0,a.MZ)()],Me.prototype,"extent",void 0),(0,i.Cg)([(0,a.MZ)()],Me.prototype,"maximumByteSize",void 0),Me=(0,i.Cg)([(0,a.$K)("esri.views.interactive.snapping.featureSources.featureServiceSource.FeatureServiceTileStore")],Me);class Se{constructor(e,t,s){this.key=e,this.objectIds=t,this.attributeKeys=s}}class Fe extends F.U{constructor(){super(...arguments),this.isLeaf=!1,this.children=[null,null,null,null]}get hasChildren(){return!this.isLeaf&&(null!=this.children[0]||null!=this.children[1]||null!=this.children[2]||null!=this.children[3])}}class Te{constructor(e,t=[]){this.missingTiles=t,this.fullArea=0,this.coveredArea=0,this.fullArea=(0,ne.Wc)(e.extent),this.coveredArea=this.fullArea}prepend(e){this.missingTiles=e.missingTiles.concat(this.missingTiles),this.coveredArea+=e.coveredArea,this.fullArea+=e.fullArea}}class Ae{constructor(e,t,s){this._tileInfo=e,this._extent=null,this.info=new Te(t),null!=s&&(this._extent=(0,ne.VY)(s))}addMissing(e,t,s,i){const r=new F.U(e,t,s);this._tileInfo.updateTileInfo(r,1)&&(null==this._extent||(0,ne.HY)(this._extent,r.extent))&&(this.info.missingTiles.push({data:r,resolution:i}),this.info.coveredArea-=(0,ne.Wc)(r.extent))}}const Pe=.18751;let Be=class extends r.nJ{constructor(){super(...arguments),this._isInitializing=!0,this.remoteClient=null,this._whenSetup=Promise.withResolvers(),this._elevationAligner=E(),this._elevationFilter=J(),this._symbologyCandidatesFetcher=U(),this._updatingHandles=new l.U,this._alignPointsInFeatures=async(e,t)=>{const s={query:e},i=await this.remoteClient.invoke("alignElevation",s,{signal:t});return(0,n.Te)(t),i},this._getSymbologyCandidates=async(e,t)=>{const s={candidates:e,spatialReference:this._spatialReference.toJSON()},i=await this.remoteClient.invoke("getSymbologyCandidates",s,{signal:t});return(0,n.Te)(t),i}}get updating(){return this._isInitializing||this._updatingHandles.updating||this._featureFetcher.updating}destroy(){this._featureFetcher?.destroy(),this._queryEngine?.destroy(),this._featureStore?.clear()}async setup(e){if(this.destroyed)return{result:{}};const{geometryType:t,objectIdField:s,timeInfo:i,fieldsIndex:r}=e.serviceInfo,{hasZ:n}=e,a=u.A.fromJSON(e.spatialReference);this._spatialReference=a,this._featureStore=new I(t,n,!1),this._featureStore.estimateFeatureUsedMemory=e=>e.usedMemory,this._queryEngine=new M.do({spatialReference:e.spatialReference,featureStore:this._featureStore,geometryType:t,fieldsIndex:r,hasZ:n,hasM:!1,featureIdInfo:{type:"object-id",fieldName:s},timeInfo:i}),this._featureFetcher=new ge({store:new Me({featureStore:this._featureStore}),url:e.serviceInfo.url,currentVersion:e.serviceInfo.currentVersion,objectIdField:e.serviceInfo.objectIdField,globalIdField:e.serviceInfo.globalIdField,capabilities:e.serviceInfo.capabilities,spatialReference:a,sourceSpatialReference:u.A.fromJSON(e.serviceInfo.spatialReference),customParameters:e.configuration.customParameters});const l="3d"===e.configuration.viewType;return this._elevationAligner=E(l,{elevationInfo:null!=e.elevationInfo?A.A.fromJSON(e.elevationInfo):null,alignPointsInFeatures:this._alignPointsInFeatures}),this._elevationFilter=J(l),this.addHandles([(0,o.wB)(()=>this._featureFetcher.availability,e=>this.emit("notify-availability",{availability:e}),o.OH),(0,o.wB)(()=>this.updating,()=>this._notifyUpdating())]),this._whenSetup.resolve(),this._isInitializing=!1,this.configure(e.configuration)}async configure(e){return await this._updatingHandles.addPromise(this._whenSetup.promise),this._updateFeatureFetcherConfiguration(e),Re}async setSuspended(e,t){return await this._updatingHandles.addPromise(this._whenSetup.promise),(0,n.Te)(t),this._featureFetcher.suspended=e,Re}async updateOutFields(e,t){return await this._updatingHandles.addPromise(this._whenSetup.promise),(0,n.Te)(t),this._featureFetcher.outFields=new Set(e??[]),Re}async fetchCandidates(e,t){await this._whenSetup.promise,(0,n.Te)(t);const s=function(e,t){const s=!!t||void 0;if(!e.filter)return{...e,query:{where:"1=1",returnZ:s}};const{distance:i,units:r,spatialRel:n,where:o,timeExtent:a,objectIds:l}=e.filter,u={geometry:e.filter.geometry?(0,h.rS)(e.filter.geometry):void 0,distance:i,units:r,spatialRel:n,timeExtent:a,objectIds:l,returnZ:s,where:o??"1=1"};return{...e,query:u}}(e,this._featureStore.hasZ),i=t?.signal,r=await this._queryEngine.executeQueryForSnapping(s,i);(0,n.Te)(i);const o=await this._elevationAligner.alignCandidates(r.candidates,u.A.fromJSON(e.point.spatialReference)??u.A.WGS84,i);(0,n.Te)(i);const a=await this._symbologyCandidatesFetcher.fetch(o,i);(0,n.Te)(i);const l=0===a.length?o:o.concat(a);return{result:{candidates:this._elevationFilter.filter(s,l)}}}async updateTiles(e,t){return await this._updatingHandles.addPromise(this._whenSetup.promise),(0,n.Te)(t),this._featureFetcher.tileSize=e.tileSize,this._featureFetcher.tilesOfInterest=e.tiles.map(e=>F.U.fromJSON(e)),this._featureFetcher.tileInfo=null!=e.tileInfo?S.A.fromJSON(e.tileInfo):null,Re}async refresh(e,t){return await this._updatingHandles.addPromise(this._whenSetup.promise),(0,n.Te)(t),this._featureFetcher.refresh(),Re}async whenNotUpdating(e,t){return await this._updatingHandles.addPromise(this._whenSetup.promise),(0,n.Te)(t),await(0,o.C_)(()=>!this.updating,t),(0,n.Te)(t),Re}async getDebugInfo(e,t){return(0,n.Te)(t),{result:this._featureFetcher.debugInfo}}async handleEdits(e,t){return await this._updatingHandles.addPromise(this._whenSetup.promise),(0,n.Te)(t),await this._updatingHandles.addPromise(this._featureFetcher.handleEdits(e)),(0,n.Te)(t),Re}async setHistoricMoment(e,t){return this._featureFetcher.setHistoricMoment(e.moment),Re}async notifyElevationSourceChange(e,t){return this._elevationAligner.notifyElevationSourceChange(),Re}async notifySymbologyChange(e,t){return this._symbologyCandidatesFetcher.notifySymbologyChange(),Re}async setSymbologySnappingSupported(e){return this._symbologyCandidatesFetcher=U(e,this._getSymbologyCandidates),Re}_updateFeatureFetcherConfiguration(e){this._featureFetcher.filter=null!=e.filter?T.A.fromJSON(e.filter):null,this._featureFetcher.customParameters=e.customParameters}_notifyUpdating(){this.emit("notify-updating",{updating:this.updating})}};(0,i.Cg)([(0,a.MZ)({readOnly:!0})],Be.prototype,"updating",null),(0,i.Cg)([(0,a.MZ)()],Be.prototype,"_isInitializing",void 0),Be=(0,i.Cg)([(0,a.$K)("esri.views.interactive.snapping.featureSources.featureServiceSource.FeatureServiceSnappingSourceWorker")],Be);const Oe=Be,Re={result:{}}}}]);
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[88,926],{69540(e,t,s){var i=s(5482),r=s(69622),n=(s(44208),s(4718)),o=(s(53966),s(97768)),a=s(88620),l=s(64108);const u=Symbol("ClonableMixin"),h=e=>{var t;const s=e;let r=class extends s{constructor(){super(...arguments),this[t]=!0}static{t=u}clone(e){const t=(0,a.oY)(this);(0,o.Lw)(t,"unable to clone instance of non-accessor class");const s=t.metadata,i=t.store,r={},l=new Map;for(const t in s){const o=s[t],a=i?.originOf(t),u=o.clonable;if(o.readOnly||!1===u||7!==a&&0!==a&&5!==a&&4!==a)continue;const h=this[t];let c=null;if("function"==typeof u)c=u(h,e);else if("reference"===u)c=h;else if(c=(0,n.TU)(h,e),null!=h&&null==c)continue;0===a?l.set(t,c):r[t]=c}const u=new(0,Object.getPrototypeOf(this).constructor)(r);if(l.size){const e=(0,a.oY)(u)?.store;if(e)for(const[t,s]of l)e.set(t,s,0)}return u}};return r=(0,i.Cg)([(0,l.$)("esri.core.Clonable")],r),r},c=h(r.A);s.d(t,["OU",0,h,"Pw",0,c])},60999(e,t,s){s.d(t,{DZ:()=>f,Ke:()=>p,Tj:()=>h,UT:()=>y,aD:()=>_,jJ:()=>u});var i=s(5482),r=s(69622),n=s(97768),o=s(17676),a=s(10107),l=s(64108);function u(e,t,s){return(0,o.Lx)(e.map((e,i)=>t.apply(s,[e,i])))}async function h(e,t,s){return(await(0,o.Lx)(e.map((e,i)=>t.apply(s,[e,i])))).map(e=>e.value)}function c(e){return{ok:!0,value:e}}function d(e){return{ok:!1,error:e}}async function p(e){if(null==e)return{ok:!1,error:new Error("no promise provided")};try{return c(await e)}catch(e){return d(e)}}async function f(e){try{return c(await e)}catch(e){return(0,o.QP)(e),d(e)}}function y(e,t){return new m(e,t)}let m=class extends r.A{get value(){return null!=(e=this._result)&&!0===e.ok?e.value:null;var e}get error(){return null!=(e=this._result)&&!1===e.ok?e.error:null;var e}get finished(){return null!=this._result}constructor(e,t){super({}),this._result=null,this._abortHandle=null,this.abort=()=>{this._abortController=(0,n.DC)(this._abortController)},this.remove=this.abort,this._abortController=new AbortController;const{signal:s}=this._abortController;this.promise=e(s),this.promise.then(e=>{this._result=c(e),this._cleanup()},e=>{this._result=d(e),this._cleanup()}),this._abortHandle=(0,o.u7)(t,this.abort)}normalizeCtorArgs(){return{}}destroy(){this.abort()}_cleanup(){this._abortHandle=(0,n.xt)(this._abortHandle),this._abortController=null}};(0,i.Cg)([(0,a.MZ)()],m.prototype,"value",null),(0,i.Cg)([(0,a.MZ)()],m.prototype,"error",null),(0,i.Cg)([(0,a.MZ)()],m.prototype,"finished",null),(0,i.Cg)([(0,a.MZ)()],m.prototype,"promise",void 0),(0,i.Cg)([(0,a.MZ)()],m.prototype,"_result",void 0),m=(0,i.Cg)([(0,l.$)("esri.core.asyncUtils.ReactiveTask")],m);class _{constructor(){this._sequence=Promise.resolve()}async acquire(){let e;this._sequence=new Promise(t=>{e=this._sequence.then(()=>t,()=>t)});const t=await e;return{[Symbol.dispose]:t}}async run(e){const t={stack:[],error:void 0,hasError:!1};try{return(0,i.mS)(t,await this.acquire(),!1),await e()}catch(e){t.error=e,t.hasError=!0}finally{(0,i.hk)(t)}}}},75503(e,t,s){s.d(t,{wq:()=>a});var i=s(4576),r=s(21818),n=(s(44208),s(15142)),o=s(11006);class a{constructor(e=9,t){this._compareMinX=d,this._compareMinY=p,this._toBBox=e=>e,this._maxEntries=Math.max(4,e||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),t&&("function"==typeof t?this._toBBox=t:this._initFormat(t)),this.clear()}destroy(){this.clear(),b.prune(),w.prune(),C.prune(),I.prune()}all(e){l(this._data,e)}search(e,t){let s=this._data;const i=this._toBBox;if(v(e,s))for(b.clear();s;){for(let r=0,n=s.children.length;r<n;r++){const n=s.children[r],o=s.leaf?i(n):n;v(e,o)&&(s.leaf?t(n):g(e,o)?l(n,t):b.push(n))}s=b.pop()}}collides(e){let t=this._data;const s=this._toBBox;if(!v(e,t))return!1;for(b.clear();t;){for(let i=0,r=t.children.length;i<r;i++){const r=t.children[i],n=t.leaf?s(r):r;if(v(e,n)){if(t.leaf||g(e,n))return!0;b.push(r)}}t=b.pop()}return!1}load(e){if(!e.length)return this;if(e.length<this._minEntries){for(let t=0,s=e.length;t<s;t++)this.insert(e[t]);return this}let t=this._build(e.slice(),0,e.length-1,0);if(this._data.children.length)if(this._data.height===t.height)this._splitRoot(this._data,t);else{if(this._data.height<t.height){const e=this._data;this._data=t,t=e}this._insert(t,this._data.height-t.height-1,!0)}else this._data=t;return this}insert(e){return e&&this._insert(e,this._data.height-1),this}clear(){return this._data=new F([]),this}remove(e){if(!e)return this;let t,s=this._data,n=null,o=0,a=!1;const l=this._toBBox(e);for(C.clear(),I.clear();s||C.length>0;){if(s||(s=C.pop(),n=C.data[C.length-1],o=I.pop()??0,a=!0),s.leaf&&(t=(0,i.qh)(s.children,(0,r.z)(e),s.children.length,s.indexHint),-1!==t))return s.children.splice(t,1),C.push(s),this._condense(C),this;a||s.leaf||!g(s,l)?n?(o++,s=n.children[o],a=!1):s=null:(C.push(s),I.push(o),o=0,n=s,s=s.children[0])}return this}toJSON(){return this._data}fromJSON(e){return this._data=e,this}_build(e,t,s,i){const r=s-t+1;let n=this._maxEntries;if(r<=n){const i=new F(e.slice(t,s+1));return u(i,this._toBBox),i}i||(i=Math.ceil(Math.log(r)/Math.log(n)),n=Math.ceil(r/n**(i-1)));const o=new T([]);o.height=i;const a=Math.ceil(r/n),l=a*Math.ceil(Math.sqrt(n));x(e,t,s,l,this._compareMinX);for(let r=t;r<=s;r+=l){const t=Math.min(r+l-1,s);x(e,r,t,a,this._compareMinY);for(let s=r;s<=t;s+=a){const r=Math.min(s+a-1,t);o.children.push(this._build(e,s,r,i-1))}}return u(o,this._toBBox),o}_insert(e,t,s){const i=this._toBBox,r=s?e:i(e);C.clear();const n=function(e,t,s,i){for(;i.push(t),!0!==t.leaf&&i.length-1!==s;){let s,i=1/0,r=1/0;for(let n=0,o=t.children.length;n<o;n++){const o=t.children[n],a=f(o),l=m(e,o)-a;l<r?(r=l,i=a<i?a:i,s=o):l===r&&a<i&&(i=a,s=o)}t=s||t.children[0]}return t}(r,this._data,t,C);for(n.children.push(e),c(n,r);t>=0&&C.data[t].children.length>this._maxEntries;)this._split(C,t),t--;!function(e,t,s){for(let i=s;i>=0;i--)c(t.data[i],e)}(r,C,t)}_split(e,t){const s=e.data[t],i=s.children.length,r=this._minEntries;this._chooseSplitAxis(s,r,i);const n=this._chooseSplitIndex(s,r,i);if(!n)return;const o=s.children.splice(n,s.children.length-n),a=s.leaf?new F(o):new T(o);a.height=s.height,u(s,this._toBBox),u(a,this._toBBox),t?e.data[t-1].children.push(a):this._splitRoot(s,a)}_splitRoot(e,t){this._data=new T([e,t]),this._data.height=e.height+1,u(this._data,this._toBBox)}_chooseSplitIndex(e,t,s){let i,r,n;i=r=1/0;for(let o=t;o<=s-t;o++){const t=h(e,0,o,this._toBBox),a=h(e,o,s,this._toBBox),l=_(t,a),u=f(t)+f(a);l<i?(i=l,n=o,r=u<r?u:r):l===i&&u<r&&(r=u,n=o)}return n}_chooseSplitAxis(e,t,s){const i=e.leaf?this._compareMinX:d,r=e.leaf?this._compareMinY:p;this._allDistMargin(e,t,s,i)<this._allDistMargin(e,t,s,r)&&e.children.sort(i)}_allDistMargin(e,t,s,i){e.children.sort(i);const r=this._toBBox,n=h(e,0,t,r),o=h(e,s-t,s,r);let a=y(n)+y(o);for(let i=t;i<s-t;i++){const t=e.children[i];c(n,e.leaf?r(t):t),a+=y(n)}for(let i=s-t-1;i>=t;i--){const t=e.children[i];c(o,e.leaf?r(t):t),a+=y(o)}return a}_condense(e){for(let t=e.length-1;t>=0;t--){const s=e.data[t];if(0===s.children.length)if(t>0){const r=e.data[t-1],n=r.children;n.splice((0,i.qh)(n,s,n.length,r.indexHint),1)}else this.clear();else u(s,this._toBBox)}}_initFormat(e){const t=["return a"," - b",";"];this._compareMinX=new Function("a","b",t.join(e[0])),this._compareMinY=new Function("a","b",t.join(e[1])),this._toBBox=new Function("a","return {minX: a"+e[0]+", minY: a"+e[1]+", maxX: a"+e[2]+", maxY: a"+e[3]+"};")}}function l(e,t){let s=e;for(w.clear();s;){if(!0===s.leaf)for(const e of s.children)t((0,r.z)(e));else w.pushArray(s.children);s=w.pop()??null}}function u(e,t){h(e,0,e.children.length,t,e)}function h(e,t,s,i,r){r||(r=new F([])),r.minX=1/0,r.minY=1/0,r.maxX=-1/0,r.maxY=-1/0;for(let n,o=t;o<s;o++)n=e.children[o],c(r,e.leaf?i(n):n);return r}function c(e,t){e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY)}function d(e,t){return e.minX-t.minX}function p(e,t){return e.minY-t.minY}function f(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function y(e){return e.maxX-e.minX+(e.maxY-e.minY)}function m(e,t){return(Math.max(t.maxX,e.maxX)-Math.min(t.minX,e.minX))*(Math.max(t.maxY,e.maxY)-Math.min(t.minY,e.minY))}function _(e,t){const s=Math.max(e.minX,t.minX),i=Math.max(e.minY,t.minY),r=Math.min(e.maxX,t.maxX),n=Math.min(e.maxY,t.maxY);return Math.max(0,r-s)*Math.max(0,n-i)}function g(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function v(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function x(e,t,s,i,r){const n=[t,s];for(;n.length;){const t=n.pop(),s=n.pop();if(t-s<=i)continue;const a=s+Math.ceil((t-s)/i/2)*i;(0,o.q)(e,a,s,t,r),n.push(s,a,a,t)}}const b=new n.A,w=new n.A,C=new n.A,I=new n.A({deallocator:void 0});class M{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}}class S extends M{constructor(){super(...arguments),this.height=1,this.indexHint=new i.vW}}class F extends S{constructor(e){super(),this.children=e,this.leaf=!0}}class T extends S{constructor(e){super(),this.children=e,this.leaf=!1}}},36708(e,t,s){s.d(t,{C_:()=>d,on:()=>c,wB:()=>l,z7:()=>u});var i=s(37955),r=s(36563),n=s(97768),o=s(17676),a=s(14012);function l(e,t,s={}){return h(e,t,s,p)}function u(e,t,s={}){return h(e,t,s,f)}function h(e,t,s={},i){let r=null;const o=s.once?(e,s)=>{i(e)&&((0,n.xt)(r),t(e,s))}:(e,s)=>{i(e)&&t(e,s)};if(r=(0,a.Cn)(e,o,s.sync,s.equals),s.initial){const t=e();o(t,t)}return r}function c(e,t,s,o={}){let a=null,u=null,h=null;function c(){a&&u&&(u.remove(),o.onListenerRemove?.(a),a=null,u=null)}function d(e){o.once&&o.once&&(0,n.xt)(h),s(e)}const p=l(e,(e,s)=>{c(),(0,i.wb)(e)&&(a=e,u=(0,i.on)(e,t,d),o.onListenerAdd?.(e))},{sync:o.sync,initial:!0});return h=(0,r.hA)(()=>{p.remove(),c()}),h}function d(e,t){return function(e,t,s){if((0,o.G4)(s))return Promise.reject((0,o.NK)());const i=e();if(t?.(i))return Promise.resolve(i);let a=null;function l(){a=(0,n.xt)(a)}return new Promise((i,n)=>{a=(0,r.vE)([(0,o.u7)(s,()=>{l(),n((0,o.NK)())}),h(e,e=>{l(),i(e)},{sync:!1,once:!0},t??p)])})}(e,f,t)}function p(e){return!0}function f(e){return!!e}s(80559),s.d(t,["OH",0,{sync:!0},"Vh",0,{initial:!0},"pc",0,{sync:!0,initial:!0}])},48526(e,t,s){s.d(t,{A:()=>m});var i,r=s(5482),n=s(4576),o=s(4718),a=s(91429),l=s(5443),u=s(91075),h=s(86738),c=s(16930),d=s(90634),p=s(47610),f=s(56993),y=s(43937);let m=i=class extends u.A{constructor(e){super(function(e){if(!e)return;let{points:t,hasM:s,hasZ:i,spatialReference:r}=e;switch(t??=[],t?.at(0)?.length){case 4:i??=!0,s??=!0;break;case 3:i??=!0!==s,s??=!i;break;default:i??=!1,s??=!1}return r??=c.A.WGS84,{...e,hasM:s,hasZ:i,points:t,spatialReference:r}}(e)),this.points=[],this.type="multipoint"}get cache(){return this.commitProperty("points"),this.commitProperty("hasZ"),this.commitProperty("hasM"),this.commitProperty("spatialReference"),{}}get extent(){const e=(0,d.ge)(this);return e?new l.A({...e,spatialReference:this.spatialReference}):null}writePoints(e,t){t.points=(0,o.o8)(this.points)}clone(){const{points:e,spatialReference:t,hasM:s,hasZ:r}=this;return new i({points:(0,o.o8)(e),spatialReference:t.clone(),hasM:s,hasZ:r})}equals(e){if(this===e)return!0;if(null==e)return!1;const t=this.spatialReference,s=e.spatialReference;return null!=t==(null!=s)&&!(null!=t&&null!=s&&!t.equals(s))&&(0,n.aI)(this.points,e.points,p.v6)}addPoint(e){return(0,f.h)(this,e),Array.isArray(e)?this.points.push(e):this.points.push(e.toArray()),this.notifyChange("points"),this}getPoint(e){if(!this._validateInputs(e))return null;const t=this.points[e],s={x:t[0],y:t[1],spatialReference:this.spatialReference};let i=2;return this.hasZ&&(s.z=t[2],i=3),this.hasM&&(s.m=t[i]),new h.A(s)}removePoint(e){if(!this._validateInputs(e))return null;const t=new h.A(this.points.splice(e,1)[0],this.spatialReference);return this.notifyChange("points"),t}setPoint(e,t){return this._validateInputs(e)?((0,f.h)(this,t),Array.isArray(t)||(t=t.toArray()),this.points[e]=t,this.notifyChange("points"),this):this}toJSON(e){return this.write({},e)}_validateInputs(e){return null!=e&&e>=0&&e<this.points.length}};(0,r.Cg)([(0,a.MZ)({readOnly:!0})],m.prototype,"cache",null),(0,r.Cg)([(0,a.MZ)({readOnly:!0})],m.prototype,"extent",null),(0,r.Cg)([(0,a.MZ)({type:[[Number]],json:{write:{isRequired:!0}}})],m.prototype,"points",void 0),(0,r.Cg)([(0,y.K)("points")],m.prototype,"writePoints",null),m=i=(0,r.Cg)([(0,a.$K)("esri.geometry.Multipoint")],m),m.prototype.toJSON.isDefaultToJSON=!0},82799(e,t,s){s.d(t,{A:()=>f});var i,r=s(5482),n=s(4718),o=s(91429),a=s(5443),l=s(91075),u=s(86738),h=s(16930),c=s(90634),d=s(56993),p=s(43937);let f=i=class extends l.A{constructor(e){super(function(e){if(!e)return;let{paths:t,hasM:s,hasZ:i,spatialReference:r}=e;switch(t??=[],function(e){return"number"==typeof e[0]?.[0]}(t)&&(t=[t]),t[0]?.[0]?.length){case 4:i??=!0,s??=!0;break;case 3:i??=!0!==s,s??=!i;break;default:i??=!1,s??=!1}return r??=h.A.WGS84,{...e,hasM:s,hasZ:i,paths:t,spatialReference:r}}(e)),this.curvePaths=void 0,this.paths=[],this.type="polyline"}get cache(){return this.commitProperty("curvePaths"),this.commitProperty("hasM"),this.commitProperty("hasZ"),this.commitProperty("paths"),this.commitProperty("spatialReference"),{}}writeCurvePaths(e,t){t.curvePaths=(0,n.o8)(e)}get extent(){const e=(0,c.Z3)(this),{spatialReference:t}=this;return e?new a.A({...e,spatialReference:t}):null}writePaths(e,t){t.paths=(0,n.o8)(this.paths)}addPath(e){if(!e)return;const t=this.paths,s=t.length;if(function(e){return!Array.isArray(e[0])}(e)){const i=[];for(let t=0,s=e.length;t<s;t++)i[t]=e[t].toArray();t[s]=i}else t[s]=e.slice();return this.notifyChange("paths"),this}clone(){const e=new i;return e.spatialReference=this.spatialReference,e.paths=(0,n.o8)(this.paths),e.curvePaths=(0,n.o8)(this.curvePaths),e.hasZ=this.hasZ,e.hasM=this.hasM,e}getPoint(e,t){if(!this._validateInputs(e,t))return null;const s=this.paths[e][t],i=this.hasZ,r=this.hasM;return i&&!r?new u.A(s[0],s[1],s[2],void 0,this.spatialReference):r&&!i?new u.A(s[0],s[1],void 0,s[2],this.spatialReference):i&&r?new u.A(s[0],s[1],s[2],s[3],this.spatialReference):new u.A(s[0],s[1],this.spatialReference)}insertPoint(e,t,s){return this._validateInputs(e,t,!0)?((0,d.h)(this,s),Array.isArray(s)||(s=s.toArray()),this.paths[e].splice(t,0,s),this.notifyChange("paths"),this):this}removePath(e){if(!this._validateInputs(e,null))return null;const t=this.paths.splice(e,1)[0],s=this.spatialReference,i=t.map(e=>new u.A(e,s));return this.notifyChange("paths"),i}removePoint(e,t){if(!this._validateInputs(e,t))return null;const s=new u.A(this.paths[e].splice(t,1)[0],this.spatialReference);return this.notifyChange("paths"),s}setPoint(e,t,s){return this._validateInputs(e,t)?((0,d.h)(this,s),Array.isArray(s)||(s=s.toArray()),this.paths[e][t]=s,this.notifyChange("paths"),this):this}_validateInputs(e,t,s=!1){if(null==e||e<0||e>=this.paths.length)return!1;if(null!=t){const i=this.paths[e];if(s&&(t<0||t>i.length))return!1;if(!s&&(t<0||t>=i.length))return!1}return!0}toJSON(e){return this.write({},e)}};(0,r.Cg)([(0,o.MZ)({readOnly:!0})],f.prototype,"cache",null),(0,r.Cg)([(0,o.MZ)({json:{write:!0,origins:{"portal-item":{write:!1},"web-map":{write:!1},"web-scene":{write:!1}}}})],f.prototype,"curvePaths",void 0),(0,r.Cg)([(0,p.K)("curvePaths")],f.prototype,"writeCurvePaths",null),(0,r.Cg)([(0,o.MZ)({readOnly:!0})],f.prototype,"extent",null),(0,r.Cg)([(0,o.MZ)({type:[[[Number]]],json:{write:{isRequired:!0}}})],f.prototype,"paths",void 0),(0,r.Cg)([(0,p.K)("paths")],f.prototype,"writePaths",null),f=i=(0,r.Cg)([(0,o.$K)("esri.geometry.Polyline")],f),f.prototype.toJSON.isDefaultToJSON=!0},60408(e,t,s){function i(e){return void 0!==e.xmin&&void 0!==e.ymin&&void 0!==e.xmax&&void 0!==e.ymax}function r(e){return void 0!==e.points}function n(e){return void 0!==e.x&&void 0!==e.y}function o(e){return void 0!==e.paths||void 0!==e.curvePaths}function a(e){return void 0!==e.rings||void 0!==e.curveRings}function l(e){return"object"==typeof e&&"vertexAttributes"in e}function u(e){return e?n(e)?"esriGeometryPoint":o(e)?"esriGeometryPolyline":a(e)?"esriGeometryPolygon":i(e)?"esriGeometryEnvelope":r(e)?"esriGeometryMultipoint":null:null}function h(e){return null!=e&&("hasZ"in e&&e.hasZ||"z"in e&&null!=e.z)}function c(e){return null!=e&&("hasM"in e&&e.hasM||"m"in e&&null!=e.m)}s.d(t,{$B:()=>u,Bi:()=>a,Pv:()=>h,Rg:()=>o,U9:()=>r,W0:()=>c,ZC:()=>i,fT:()=>n,uW:()=>l})},65864(e,t,s){s.d(t,{rS:()=>h,xD:()=>d});var i=s(5443),r=s(91075),n=s(48526),o=s(86738),a=s(39829),l=s(82799),u=s(60408);function h(e){return null==e?null:e instanceof r.A?e:(0,u.fT)(e)?o.A.fromJSON(e):(0,u.Rg)(e)?l.A.fromJSON(e):(0,u.Bi)(e)?a.A.fromJSON(e):(0,u.U9)(e)?n.A.fromJSON(e):(0,u.ZC)(e)?i.A.fromJSON(e):null}const c={esriGeometryPoint:o.A,esriGeometryPolyline:l.A,esriGeometryPolygon:a.A,esriGeometryEnvelope:i.A,esriGeometryMultipoint:n.A,esriGeometryMultiPatch:a.A};function d(e){return e&&c[e]||null}},6518(e,t,s){s.d(t,{F:()=>a});var i=s(44208),r=s(75503),n=s(19419);const o={minX:0,minY:0,maxX:0,maxY:0};class a{constructor(){this._indexInvalid=!1,this._boundsToLoad=[],this._boundsById=new Map,this._idByBounds=new Map,this._index=new r.wq(9,(0,i.A)("esri-csp-restrictions")?e=>({minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]}):["[0]","[1]","[2]","[3]"]),this._loadIndex=()=>{if(this._indexInvalid){const e=new Array(this._idByBounds.size);let t=0;this._idByBounds.forEach((s,i)=>{e[t++]=i}),this._indexInvalid=!1,this._index.clear(),this._index.load(e)}else this._boundsToLoad.length&&(this._index.load(Array.from(new Set(this._boundsToLoad.filter(e=>this._idByBounds.has(e))))),this._boundsToLoad.length=0)}}get fullBounds(){if(!this._boundsById.size)return null;const e=(0,n.Ie)();for(const t of this._boundsById.values())t&&(e[0]=Math.min(t[0],e[0]),e[1]=Math.min(t[1],e[1]),e[2]=Math.max(t[2],e[2]),e[3]=Math.max(t[3],e[3]));return e}get valid(){return!this._indexInvalid}clear(){this._indexInvalid=!1,this._boundsToLoad.length=0,this._boundsById.clear(),this._idByBounds.clear(),this._index.clear()}delete(e){const t=this._boundsById.get(e);this._boundsById.delete(e),t&&(this._idByBounds.delete(t),this._indexInvalid||this._index.remove(t))}forEachInBounds(e,t){this._loadIndex(),function(e,t,s){(function(e){o.minX=e[0],o.minY=e[1],o.maxX=e[2],o.maxY=e[3]})(t),e.search(o,s)}(this._index,e,e=>t(this._idByBounds.get(e)))}get(e){return this._boundsById.get(e)}has(e){return this._boundsById.has(e)}invalidateIndex(){this._indexInvalid||(this._indexInvalid=!0,this._boundsToLoad.length=0)}set(e,t){if(!this._indexInvalid){const t=this._boundsById.get(e);t&&(this._index.remove(t),this._idByBounds.delete(t))}this._boundsById.set(e,t),t&&(this._idByBounds.set(t,e),this._indexInvalid||(this._boundsToLoad.push(t),this._boundsToLoad.length>5e4&&this._loadIndex()))}}},39357(e,t,s){s.d(t,{A:()=>a});var i,r=s(5482),n=s(25482),o=s(91429);let a=i=class extends n.o{constructor(e){super(e),this.name=null,this.code=null}clone(){return new i({name:this.name,code:this.code})}};(0,r.Cg)([(0,o.MZ)({type:String,json:{write:{isRequired:!0}}})],a.prototype,"name",void 0),(0,r.Cg)([(0,o.MZ)({type:[String,Number],json:{write:{isRequired:!0}}})],a.prototype,"code",void 0),a=i=(0,r.Cg)([(0,o.$K)("esri.layers.support.CodedValue")],a)},53177(e,t,s){s.d(t,{A:()=>h});var i,r=s(5482),n=s(4718),o=s(91429),a=s(39357),l=s(76357),u=s(93223);let h=class extends l.A{static{i=this}constructor(e){super(e),this.codedValues=null,this.type="coded-value"}getName(e){let t=null;if(this.codedValues){const s=String(e);this.codedValues.some(e=>(String(e.code)===s&&(t=e.name),!!t))}return t}clone(){return new i({codedValues:(0,n.o8)(this.codedValues),name:this.name})}};(0,r.Cg)([(0,o.MZ)({type:[a.A],json:{write:{isRequired:!0}}})],h.prototype,"codedValues",void 0),(0,r.Cg)([(0,u.e)({codedValue:"coded-value"})],h.prototype,"type",void 0),h=i=(0,r.Cg)([(0,o.$K)("esri.layers.support.CodedValueDomain")],h)},76357(e,t,s){s.d(t,{A:()=>u});var i=s(5482),r=s(66552),n=s(25482),o=s(91429),a=s(93223);const l=new r.J({inherited:"inherited",codedValue:"coded-value",range:"range"});let u=class extends n.o{constructor(e){super(e),this.name=null,this.type=null}};(0,i.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],u.prototype,"name",void 0),(0,i.Cg)([(0,a.e)(l),(0,o.MZ)({json:{write:{isRequired:!0}}})],u.prototype,"type",void 0),u=(0,i.Cg)([(0,o.$K)("esri.layers.support.Domain")],u)},20437(e,t,s){s.d(t,{A:()=>f});var i,r=s(5482),n=s(66552),o=s(25482),a=s(91429),l=s(56507),u=s(8631),h=s(98453),c=s(36005),d=s(93223);const p=new n.J({binary:"binary",coordinate:"coordinate",countOrAmount:"count-or-amount",currency:"currency",dateAndTime:"date-and-time",description:"description",emailAddress:"email-address",locationOrPlaceName:"location-or-place-name",measurement:"measurement",nameOrTitle:"name-or-title",none:"none",orderedOrRanked:"ordered-or-ranked",percentageOrRatio:"percentage-or-ratio",phoneNumber:"phone-number",typeOrCategory:"type-or-category",uniqueIdentifier:"unique-identifier",url:"url"});let f=class extends o.o{static{i=this}constructor(e){super(e),this.alias=null,this.defaultValue=void 0,this.description=null,this.domain=null,this.editable=!0,this.length=void 0,this.name=null,this.nullable=!0,this.type=null,this.valueType=null,this.visible=!0}readDescription(e,{description:t}){let s=null;try{s=t?JSON.parse(t):null}catch(e){}return s?.value??null}readValueType(e,{description:t}){let s=null;try{s=t?JSON.parse(t):null}catch(e){}return s?p.fromJSON(s.fieldValueType):null}clone(){return new i({alias:this.alias,defaultValue:this.defaultValue,description:this.description,domain:this.domain?.clone()??null,editable:this.editable,length:this.length,name:this.name,nullable:this.nullable,type:this.type,valueType:this.valueType,visible:this.visible})}};(0,r.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],f.prototype,"alias",void 0),(0,r.Cg)([(0,a.MZ)({type:[String,Number],json:{write:{allowNull:!0}}})],f.prototype,"defaultValue",void 0),(0,r.Cg)([(0,a.MZ)()],f.prototype,"description",void 0),(0,r.Cg)([(0,c.w)("description")],f.prototype,"readDescription",null),(0,r.Cg)([(0,a.MZ)({types:u.g,json:{read:{reader:u.r},write:!0}})],f.prototype,"domain",void 0),(0,r.Cg)([(0,a.MZ)({type:Boolean,json:{write:!0}})],f.prototype,"editable",void 0),(0,r.Cg)([(0,a.MZ)({type:l.jz,json:{write:{overridePolicy:e=>({enabled:Number.isFinite(e)})}}})],f.prototype,"length",void 0),(0,r.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],f.prototype,"name",void 0),(0,r.Cg)([(0,a.MZ)({type:Boolean,json:{write:!0}})],f.prototype,"nullable",void 0),(0,r.Cg)([(0,d.e)(h.m)],f.prototype,"type",void 0),(0,r.Cg)([(0,a.MZ)()],f.prototype,"valueType",void 0),(0,r.Cg)([(0,c.w)("valueType",["description"])],f.prototype,"readValueType",null),(0,r.Cg)([(0,a.MZ)({type:Boolean,json:{read:!1}})],f.prototype,"visible",void 0),f=i=(0,r.Cg)([(0,a.$K)("esri.layers.support.Field")],f)},41628(e,t,s){s.d(t,{A:()=>l});var i,r=s(5482),n=s(91429),o=s(76357),a=s(93223);let l=class extends o.A{static{i=this}constructor(e){super(e),this.maxValue=null,this.minValue=null,this.type="range"}clone(){return new i({maxValue:this.maxValue,minValue:this.minValue,name:this.name})}};(0,r.Cg)([(0,n.MZ)({json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range?.[1]},write:{enabled:!1,overridePolicy(){return{enabled:null!=this.maxValue&&null==this.minValue}},target:"range",writer(e,t,s){t[s]=[this.minValue||0,e]},isRequired:!0}}})],l.prototype,"maxValue",void 0),(0,r.Cg)([(0,n.MZ)({json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range?.[0]},write:{target:"range",writer(e,t,s){t[s]=[e,this.maxValue||0]},isRequired:!0}}})],l.prototype,"minValue",void 0),(0,r.Cg)([(0,a.e)({range:"range"})],l.prototype,"type",void 0),l=i=(0,r.Cg)([(0,n.$K)("esri.layers.support.RangeDomain")],l)},8631(e,t,s){s.d(t,{r:()=>d,g:()=>c});var i,r=s(53177),n=s(76357),o=s(5482),a=s(91429),l=s(93223);let u=class extends n.A{static{i=this}constructor(e){super(e),this.type="inherited"}clone(){return new i}};(0,o.Cg)([(0,l.e)({inherited:"inherited"})],u.prototype,"type",void 0),u=i=(0,o.Cg)([(0,a.$K)("esri.layers.support.InheritedDomain")],u);var h=s(41628);const c={key:"type",base:n.A,typeMap:{range:h.A,"coded-value":r.A,inherited:u}};function d(e){if(!e?.type)return null;switch(e.type){case"range":return h.A.fromJSON(e);case"codedValue":return r.A.fromJSON(e);case"inherited":return u.fromJSON(e)}return null}},98453(e,t,s){const i=new(s(66552).J)({esriFieldTypeSmallInteger:"small-integer",esriFieldTypeInteger:"integer",esriFieldTypeSingle:"single",esriFieldTypeDouble:"double",esriFieldTypeLong:"long",esriFieldTypeString:"string",esriFieldTypeDate:"date",esriFieldTypeOID:"oid",esriFieldTypeGeometry:"geometry",esriFieldTypeBlob:"blob",esriFieldTypeRaster:"raster",esriFieldTypeGUID:"guid",esriFieldTypeGlobalID:"global-id",esriFieldTypeXML:"xml",esriFieldTypeBigInteger:"big-integer",esriFieldTypeDateOnly:"date-only",esriFieldTypeTimeOnly:"time-only",esriFieldTypeTimestampOffset:"timestamp-offset"});s.d(t,["m",0,i])},31756(e,t,s){var i=s(86211),r=s(79258);const n={unknown:1,inches:(0,i.oU)(1,"meters","inches"),feet:(0,i.oU)(1,"meters","feet"),"us-feet":(0,i.oU)(1,"meters","us-feet"),yards:(0,i.oU)(1,"meters","yards"),miles:(0,i.oU)(1,"meters","miles"),"nautical-miles":(0,i.oU)(1,"meters","nautical-miles"),millimeters:(0,i.oU)(1,"meters","millimeters"),centimeters:(0,i.oU)(1,"meters","centimeters"),decimeters:(0,i.oU)(1,"meters","decimeters"),meters:(0,i.oU)(1,"meters","meters"),kilometers:(0,i.oU)(1,"meters","kilometers"),"decimal-degrees":1/(0,i.vl)(1,"meters",r.$O.radius)};s.d(t,["j",0,n])},63746(e,t,s){function i(e){return class{constructor(){for(const t of e)this[t]=null}}}function r(e,t=1){const{transform:s,hasZ:i,hasM:r}=e;if(null==s)return i&&1!==t?e=>{e[2]*=t}:null;const[n,o]=function(e,t,s,i){let{scale:r,translate:n,originPosition:o}=e;return"upperLeft"===o&&(r=r.map((e,t)=>1===t?-e:e)),t&&(r=r.map((e,t)=>2===t?e*i:e),n=n.map((e,t)=>2===t?e*i:e)),!t&&s&&(r=r.filter((e,t)=>2!==t),n=n.filter((e,t)=>2!==t)),[r,n]}(s,i,r,t),a=e.hasZ?3:2;return e=>{for(let t=0;t<e.length&&(t!==a||0!==e[t]);++t)e[t]=e[t]*n[t]+o[t]}}s.d(t,{M:()=>r,_:()=>i})},2272(e,t,s){s.d(t,{Dl:()=>u,gf:()=>c,jV:()=>l,lF:()=>h});var i=s(92602),r=s(70333),n=s(4718),o=s(84952),a=s(926);function l(e,t){return t?{...t,query:{...e,...t.query}}:{query:e}}function u(e){return"string"==typeof e?(0,o.An)(e):(0,n.o8)(e)}function h(e,t,s){const i={};for(const r in e){if("declaredClass"===r)continue;const n=e[r];if(null!=n&&"function"!=typeof n)if(Array.isArray(n))i[r]=n.map(e=>h(e));else if("object"==typeof n)if(n.toJSON){const e=n.toJSON(s?.[r]);i[r]=t?e:JSON.stringify(e)}else i[r]=t?n:JSON.stringify(n);else i[r]=n}return i}async function c(e,t,n){const o=function(e,t){return e?t&&(0,a.Qc)(e)?t:(0,a.getApiKey)(e)??r.id?.findCredential(e)?.token:null}(e,t);if(o)return o;!r.id&&i.A.request.useIdentity&&await Promise.all([s.e(7632),s.e(9283),s.e(148)]).then(s.bind(s,50148));const l=await r.id.getCredential(e,n);return l?.token}},926(e,t,s){s.d(t,{Dd:()=>d,Jn:()=>p,Qc:()=>f,getApiKey:()=>h,getSessionToken:()=>c});var i=s(92602),r=s(11254),n=s(84952);const o=/^https?:\/\/(i?basemaps|basemapstyles)-api\.arcgis\.com\//i,a=new Set(["elevation3d.arcgis.com","js.arcgis.com","jsdev.arcgis.com","jsqa.arcgis.com","static.arcgis.com"]),l=new Map;let u=null;function h(e){if(!f(e))return null;const t=t=>t instanceof RegExp?t.test(e):"string"==typeof t&&e.startsWith(t),s=i.A.apiKeys;if(Array.isArray(s.scopes))for(const e of s.scopes)if(Array.isArray(e.urls)){if(e.urls.some(t))return e.token}else if(t(e.urls))return e.token;return s.basemapStyles&&o.test(e)?s.basemapStyles:i.A.apiKey&&/^https?:\/\/.+\.arcgis\.com(\/|$)/i.test(e)?i.A.apiKey:null}async function c(e){if(!i.A.sessions?.basemap?.enabled||!o.test(e))return null;const t=h(e);if(!t)return null;u&&await u;const{styleFamily:s="arcgis",autoRefresh:n,duration:a=43200}=i.A.sessions.basemap,c=`${t}:${s}`,d=l.get(c);if(d&&(!n||d.endTime>Date.now()))return d.sessionToken;let p;u=(0,r.A)("https://basemapstyles-api.arcgis.com/arcgis/rest/services/styles/v2/sessions/start",{cacheBust:!0,query:{durationSeconds:a,styleFamily:s,token:t}});try{p=(await u).data,p.endTime-=5e3,l.set(c,p)}finally{u=null}return p.sessionToken}function d(){return null!=i.A.apiKey||null!=i.A.apiKeys.basemapStyles}function p(e,t){return t?f(e):null!=h(e)}function f(e){const t=(0,n.$z)(e,!0);return!!t&&!a.has(t)&&!e.endsWith("/sharing/rest/generateToken")}},88625(e,t,s){s.d(t,{A:()=>g});var i,r=s(5482),n=s(69540),o=s(66552),a=s(25482),l=s(97768),u=s(91429),h=s(30524);let c=i=class extends a.o{constructor(e){super(e),this.expression=void 0,this.title=void 0}async collectRequiredFields(e,t){return(0,h.Dx)(e,t,null,this.expression)}clone(){return new i({expression:this.expression,title:this.title})}equals(e){return this.expression===e.expression&&this.title===e.title}};(0,r.Cg)([(0,u.MZ)({type:String,json:{write:{isRequired:!0}}})],c.prototype,"expression",void 0),(0,r.Cg)([(0,u.MZ)({type:String,json:{write:!0}})],c.prototype,"title",void 0),c=i=(0,r.Cg)([(0,u.$K)("esri.symbols.support.FeatureExpressionInfo")],c);const d=c;var p=s(16271),f=s(36005),y=s(43937);const m=(0,o.O)()({onTheGround:"on-the-ground",relativeToGround:"relative-to-ground",relativeToScene:"relative-to-scene",absoluteHeight:"absolute-height"}),_=new o.J({foot:"feet",kilometer:"kilometers",meter:"meters",mile:"miles","us-foot":"us-feet",yard:"yards"});let g=class extends((0,n.OU)(a.o)){constructor(e){super(e),this.featureExpressionInfo=void 0,this.offset=null}readFeatureExpressionInfo(e,t){return null!=e?e.expression?e:void 0:t.featureExpression&&0===t.featureExpression.value?{expression:"0"}:void 0}writeFeatureExpressionInfo(e,t,s,i){t[s]=e.write({},i),"0"===e.expression&&(t.featureExpression={value:0})}get mode(){const{offset:e,featureExpressionInfo:t}=this;return this._isOverridden("mode")?this._get("mode"):null!=e||t?"relative-to-ground":"on-the-ground"}set mode(e){this._override("mode",e)}set unit(e){this._set("unit",e)}write(e,t){return this.offset||this.mode||this.featureExpressionInfo||this.unit?super.write(e,t):null}equals(e){return this.mode===e.mode&&this.offset===e.offset&&this.unit===e.unit&&(0,l.CM)(this.featureExpressionInfo,e.featureExpressionInfo)}};(0,r.Cg)([(0,u.MZ)({type:d,json:{write:!0}})],g.prototype,"featureExpressionInfo",void 0),(0,r.Cg)([(0,f.w)("featureExpressionInfo",["featureExpressionInfo","featureExpression"])],g.prototype,"readFeatureExpressionInfo",null),(0,r.Cg)([(0,y.K)("featureExpressionInfo",{featureExpressionInfo:{type:d},"featureExpression.value":{type:[0]}})],g.prototype,"writeFeatureExpressionInfo",null),(0,r.Cg)([(0,u.MZ)({type:m.apiValues,nonNullable:!0,json:{type:m.jsonValues,read:m.read,write:{writer:m.write,isRequired:!0}}})],g.prototype,"mode",null),(0,r.Cg)([(0,u.MZ)({type:Number,json:{write:!0}})],g.prototype,"offset",void 0),(0,r.Cg)([(0,u.MZ)({type:p.KQ,json:{type:String,read:_.read,write:_.write}})],g.prototype,"unit",null),g=(0,r.Cg)([(0,u.$K)("esri.symbols.support.ElevationInfo")],g)},16271(e,t,s){s.d(t,{Ao:()=>n});var i=s(4576),r=s(31756);function n(e){return 1/(r.j[e]||1)}const o=function(){const e=Object.keys(r.j);return(0,i.TF)(e,"decimal-degrees"),e.sort(),e}();s.d(t,["KQ",0,o])},20401(e,t,s){s.r(t),s.d(t,{default:()=>Oe});var i=s(5482),r=s(65529),n=s(17676),o=s(36708),a=s(91429),l=s(79897),u=s(16930),h=s(65864),c=s(4576),d=s(49186),p=s(53966),f=s(87992),y=s(70328),m=s(6518),_=s(50498),g=s(69397),v=s(27647);class x{constructor(e=null,t={},s,i,r=0,n=null){this.geometry=e,this.attributes=t,this.centroid=s,this.objectId=i,this.displayId=r,this.distance=n}weakClone(){return new x(this.geometry,this.attributes,this.centroid,this.objectId,this.displayId,this.distance)}clone(){return new x(this.geometry?.clone(),{...this.attributes},this.centroid?.clone(),this.objectId,this.displayId,this.distance)}get usedMemory(){return 128+(0,g.lM)(this.attributes)+(this.geometry?.usedMemory??0)}ensureCentroid(e){return this.centroid??=(0,v.Q)(this.geometry&&(0,f.JR)(this.geometry)),this.centroid}}const b={getObjectId:e=>e.objectId,getAttributes:e=>e.attributes,getAttribute:(e,t)=>e.attributes[t],cloneWithGeometry:(e,t,s)=>new x((0,f.Nh)(_.gy.fromJSON(s),t),e.attributes,null,e.objectId,e.displayId,e.distance),getGeometry:e=>e.geometry&&(0,f.JR)(e.geometry),getGeometryWithCurves:e=>e.geometry,getCentroid:(e,t)=>e.ensureCentroid(t)};var w=s(51441);const C=(0,y.vt)();class I{constructor(e,t,s){this.geometryType=e,this.hasZ=t,this.hasM=s,this._boundsStore=new m.F,this._featuresById=new Map,this._usedMemory=0,this.events=new r.bk,this.featureAdapter=b}get usedMemory(){return this._usedMemory}get numFeatures(){return this._featuresById.size}get fullBounds(){return this._boundsStore.fullBounds}get storeStatistics(){const e=this._featuresById.size;let t=0;return this._featuresById.forEach(({geometry:e})=>{t+=e?e.vertexCount:0}),{featureCount:e,vertexCount:t}}getFullExtent(e){if(null==this.fullBounds)return null;const[t,s,i,r]=this.fullBounds;return{xmin:t,ymin:s,xmax:i,ymax:r,spatialReference:(0,w.ag)(e)}}add(e){this._add(e),this._emitChanged()}addMany(e){for(const t of e)this._add(t);this._emitChanged()}upsertMany(e){const t=e.map(e=>this._upsert(e));return this._emitChanged(),t.filter(c.Ru)}clear(){this._featuresById.clear(),this._boundsStore.clear(),this._emitChanged(),this._usedMemory=0}removeById(e){const t=this._featuresById.get(e);return t?(this._remove(t),this._emitChanged(),t):null}removeManyById(e){this._boundsStore.invalidateIndex();for(const t of e){const e=this._featuresById.get(t);e&&this._remove(e)}this._emitChanged()}forEachBounds(e,t){for(const s of e){const e=this._boundsStore.get(s.objectId);e&&t((0,y.Jt)(C,e))}}getFeature(e){return this._featuresById.get(e)}has(e){return this._featuresById.has(e)}forEach(e){this._featuresById.forEach(t=>e(t))}forEachInBounds(e,t){this._boundsStore.forEachInBounds(e,e=>{t(this._featuresById.get(e))})}_emitChanged(){this.events.emit("changed",void 0)}_add(e){if(!e)return;const t=e.objectId;if(null==t)return void p.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new d.A("featurestore:invalid-feature","feature id is missing",{feature:e}));const s=this._featuresById.get(t);let i;if(s?(e.displayId=s.displayId,i=this._boundsStore.get(t)??void 0,this._boundsStore.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(s)??0):this.onFeatureAdd?.(e),!e.geometry)return this._boundsStore.set(t,null),void this._featuresById.set(t,e);this._boundsStore.set(t,(0,f.NO)(e.geometry,i)),this._featuresById.set(t,e),this._usedMemory+=this.estimateFeatureUsedMemory?.(e)??0}_upsert(e){const t=e?.objectId;if(null==t)return p.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new d.A("featurestore:invalid-feature","feature id is missing",{feature:e})),null;const s=this._featuresById.get(t);if(!s)return this._add(e),e;this._usedMemory-=this.estimateFeatureUsedMemory?.(s)??0;const{geometry:i,attributes:r}=e;for(const e in r)s.attributes[e]=r[e];return i&&(s.geometry=i,this._boundsStore.set(t,(0,f.NO)(i)??null)),this._usedMemory+=this.estimateFeatureUsedMemory?.(s)??0,s}_remove(e){null!=this.onFeatureRemove&&this.onFeatureRemove(e);const t=e.objectId;return this._boundsStore.delete(t),this._featuresById.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(e)??0,e}}var M=s(75752),S=s(87045),F=s(72802),T=s(97552),A=s(88625),P=s(66344),B=s(91869),O=s(86211),R=s(52006),Z=s(16271);function E(e=!1,t){if(e){const{elevationInfo:e,alignPointsInFeatures:s}=t;return new q(e,s)}return new j}class j{async alignCandidates(e,t,s){return e}notifyElevationSourceChange(){}}class q{constructor(e,t){this._elevationInfo=e,this._alignPointsInFeatures=t,this._alignmentsCache=new P.q(1024),this._cacheVersion=0}async alignCandidates(e,t,s){const i=this._elevationInfo;return null==i||"absolute-height"!==i.mode||i.featureExpressionInfo?this._alignComputedElevationCandidates(e,t,s):(function(e,t,s){const{offset:i,unit:r}=s;if(null==i)return;const n=(0,O.G9)(t),o=i*((0,Z.Ao)(r??"meters")/n);for(const t of e)switch(t.type){case"edge":t.start.z+=o,t.end.z+=o,t.curve&&((0,R.yP)(t.curve)[2]+=o);continue;case"vertex":t.target.z+=o;continue}}(e,t,i),e)}notifyElevationSourceChange(){this._alignmentsCache.clear(),this._cacheVersion++}async _alignComputedElevationCandidates(e,t,s){const i=new Map;for(const t of e)(0,B.tE)(i,t.objectId,X).push(t);const[r,o,a]=this._prepareQuery(i,t),l=await this._alignPointsInFeatures(r,s);if((0,n.Te)(s),a!==this._cacheVersion)return this._alignComputedElevationCandidates(e,t,s);this._applyCacheAndResponse(r,l,o);const{drapedObjectIds:u,failedObjectIds:h}=l,c=[];for(const t of e){const{objectId:e}=t;u.has(e)&&"edge"===t.type&&(t.draped=!0),h.has(e)||c.push(t)}return c}_prepareQuery(e,t){const s=[],i=[];for(const[t,r]of e){const e=[];for(const s of r)this._addToQueriesOrCachedResult(t,s.target,e,i),"edge"===s.type&&(this._addToQueriesOrCachedResult(t,s.start,e,i),this._addToQueriesOrCachedResult(t,s.end,e,i));0!==e.length&&s.push({objectId:t,points:e})}return[{spatialReference:t.toJSON(),pointsInFeatures:s},i,this._cacheVersion]}_addToQueriesOrCachedResult(e,t,s,i){const r=N(e,t),n=this._alignmentsCache.get(r);null==n?s.push(t):i.push(new Y(t,n))}_applyCacheAndResponse(e,{elevations:t,drapedObjectIds:s,failedObjectIds:i},r){for(const e of r)e.apply();let n=0;const o=this._alignmentsCache;for(const{objectId:r,points:a}of e.pointsInFeatures){if(i.has(r)){n+=a.length;continue}const e=!s.has(r);for(const s of a){const i=N(r,s),a=t[n++];s.z=a,e&&o.put(i,a,1)}}}}class Y{constructor(e,t){this.point=e,this.z=t}apply(){this.point.z=this.z}}function N(e,{x:t,y:s,z:i,spatialReference:r}){return`${e}-${t}-${s}-${i??0}}-wkid:${r?.wkid}`}function X(){return[]}class k{filter(e,t){return t}notifyElevationSourceChange(){}}class V{filter(e,t){const{point:s,distance:i}=e,{z:r}=s;if(null==r)return t;if(0===t.length)return t;const n=function(e){return"number"==typeof e?{x:e,y:e,z:e}:e}(i),o=this._updateCandidatesTo3D(t,s,n).filter(z);return o.sort(H),o}_updateCandidatesTo3D(e,t,s){for(const i of e)switch(i.type){case"edge":G(i,t,s);continue;case"vertex":L(i,t,s);continue}return e}}function z(e){return e.distance<=1}function J(e=!1){return e?new V:new k}function G(e,t,{x:s,y:i,z:r}){const{start:n,end:o,target:a}=e;if(e.curve)throw new Error("Curves are not yet supported.");e.draped||function(e,t,s,i){const r=i.x-s.x,n=i.y-s.y,o=i.z-s.z,a=r*r+n*n+o*o,l=(t.x-s.x)*r+(t.y-s.y)*n+o*(t.z-s.z),u=Math.min(1,Math.max(0,l/a)),h=s.x+r*u,c=s.y+n*u,d=s.z+o*u;e.x=h,e.y=c,e.z=d}(a,t,n,o);const l=(t.x-a.x)/s,u=(t.y-a.y)/i,h=(t.z-a.z)/r;e.distance=Math.sqrt(l*l+u*u+h*h)}function L(e,t,{x:s,y:i,z:r}){const{target:n}=e,o=(t.x-n.x)/s,a=(t.y-n.y)/i,l=(t.z-n.z)/r,u=Math.sqrt(o*o+a*a+l*l);e.distance=u}function H(e,t){return e.distance-t.distance}var $=s(4718),K=s(799);function U(e=!1,t){return e?new Q(t):new D}class D{async fetch(){return[]}notifySymbologyChange(){}}class Q{constructor(e){this._getSymbologyCandidates=e,this._candidatesCache=new P.q(1024),this._cacheVersion=0}async fetch(e,t){if(0===e.length)return[];const s=[],i=[],r=this._candidatesCache;for(const t of e){const e=W(t),n=r.get(e);if(n)for(const e of n)i.push((0,$.o8)(e));else s.push(t),r.put(e,[],1)}if(0===s.length)return i;const o=this._cacheVersion,{candidates:a,sourceCandidateIndices:l}=await this._getSymbologyCandidates(s,t);if((0,n.Te)(t),o!==this._cacheVersion)return this.fetch(e,t);const u=[],{length:h}=a;for(let e=0;e<h;++e){const t=a[e],i=W(s[l[e]]),n=r.get(i);n.push(t),r.put(i,n,n.length),u.push((0,$.o8)(t))}return i.concat(u)}notifySymbologyChange(){this._candidatesCache.clear(),this._cacheVersion++}}function W(e){switch(e.type){case"vertex":{const{objectId:t,target:s}=e,i=`${t}-vertex-${s.x}-${s.y}-${s.z??0}`;return(0,K.Wm)(i).toString()}case"edge":{const{objectId:t,start:s,end:i}=e,r=`${t}-edge-${s.x}-${s.y}-${s.z??0}-to-${i.x}-${i.y}-${i.z??0}`;return(0,K.Wm)(r).toString()}default:return""}}var ee=s(69622),te=s(60999),se=s(3483),ie=s(13069),re=s(5443),ne=s(19419),oe=s(92722),ae=s(54339);class le{constructor(){this.globalIdFieldName=null,this.geohashFieldName=null,this.geometryProperties=null,this.geometryType=null,this.spatialReference=null,this.hasZ=!1,this.hasM=!1,this.features=[],this.fields=[],this.transform=null,this.exceededTransferLimit=!1,this.uniqueIdField=null,this.queryGeometryType=null,this.queryGeometry=null}weakClone(){const e=new le;return e.globalIdFieldName=this.globalIdFieldName,e.geohashFieldName=this.geohashFieldName,e.geometryProperties=this.geometryProperties,e.geometryType=this.geometryType,e.spatialReference=this.spatialReference,e.hasZ=this.hasZ,e.hasM=this.hasM,e.features=this.features,e.fields=this.fields,e.transform=this.transform,e.exceededTransferLimit=this.exceededTransferLimit,e.uniqueIdField=this.uniqueIdField,e.queryGeometry=this.queryGeometry,e.queryGeometryType=this.queryGeometryType,e}}var ue=s(60694),he=s(62815),ce=s(63746);class de{constructor(e){this._options=e,this.featureSet=new le,this.parseOnly=null,this._idInfo=null,this._transformInPlace=null,this._transformInPlaceXY=null,this._push=de._pushXY,this._attributesClass=null,this._previousX=0,this._previousY=0,this._vertex=[],this._i=0,this._geometry=null,this._iVertex=0,this._iPart=0,this._isPolygon=!1,this._ringEndsAt=-1}queryGeometryType(){return this.featureSet.queryGeometryType}queryGeometry(){return this.featureSet.queryGeometry}idField(e){"string"==typeof e?this._idInfo??={type:"object-id",fieldName:e}:this._idInfo={type:"unique-id-simple",fieldName:e.name}}finish(){if(this._idInfo)for(const e of this.featureSet.features)e.objectId=(0,ae.W)(e,this._idInfo);const{spatialReference:e,features:t}=this.featureSet;if(e)for(const{geometry:s}of t)s&&(s.spatialReference=e);this.featureSet.transform=null}feature(){this._attributesClass??=(0,ce._)(this.featureSet.fields?.map(e=>e.name)??[]),this.featureSet.features.push(new x(null,new this._attributesClass,null,0)),this._setVertexTransformer()}centroid(e){const{hasZ:t,hasM:s}=this.featureSet;this.featureSet.features.at(-1).centroid=new oe.A([],e,t,s)}geometry(e,t,s){this._previousX=this._previousY=0,this._i=this._iVertex=this._iPart=0;let{hasZ:i,hasM:r}=this.featureSet;i??=!1,r??=!1,this._vertex=[0,0],i&&this._vertex.push(0),r&&this._vertex.push(0);const n=_.gy.fromJSON(t);this._isPolygon="polygon"===n;const o=Number(this._isPolygon),a="point"===n?1:s.reduce((e,t)=>e+t-o,0),l="point"===n?0:s.length;if(this._geometry=(0,f.V2)(n,a,l,i,r,!1),this._push=i?r?de._pushXYZM:de._pushXYZ:r?de._pushXYM:de._pushXY,this._geometry.isMultipart()){this._geometry.partOffsets[0]=0;for(let e=0;e<l;++e)this._geometry.partOffsets[e+1]=this._geometry.partOffsets[e]+s[e]-o}this._ringEndsAt=o?this._geometry.partOffsets.at(1)??0:-1,1===e?(this.featureSet.queryGeometry=this._geometry,this.featureSet.queryGeometryType=t):this.featureSet.features.at(-1).geometry=this._geometry}coord(e){const t=this._vertex;t[this._i++]=e,this._i<t.length||(this._i=0,t[0]+=this._previousX,t[1]+=this._previousY,[this._previousX,this._previousY]=t,this._iVertex===this._ringEndsAt&&(++this._iPart,this._ringEndsAt=this._geometry.partOffsets[this._iPart+1],this._previousX=this._previousY=0,this._isPolygon)||(this._transformInPlace?.(t),this._push(this)))}curvedGeometry(e,t,s,i){let{hasZ:r,hasM:n}=this.featureSet;r??=!1,n??=!1,this._i=this._iVertex=this._iPart=0;const o=_.gy.fromJSON(e);this._isPolygon="polygon"===o;const a=Number(!this._isPolygon),l=t.length;let u=0,h=0,c=a*l;for(let e=0;e<s.length;++e)switch(c+=i[e],s[e]){case 1:case 3:u+=i[e];continue;case 2:h+=i[e]}this._geometry=(0,f.V2)(o,c,l,r,n,!0,u,h);const{partOffsets:d}=this._geometry;d[0]=0;for(let e=0,s=0;e<l;++e){d[e+1]=d[e]+a;for(let r=0;r<t[e];++r)d[e+1]+=i[s++]}switch(e){case"esriGeometryPoint":case"esriGeometryMultipoint":throw new Error(`Curved ${e} does not make sense`)}this.featureSet.features.at(-1).geometry=this._geometry}startCurvedPart(e){}finishCurvedPart(e){this._isPolygon||(this._transform(e,this._vertex),this._push(this)),++this._iPart}lineSegment(e,t){this._transform(e,this._vertex),this._push(this)}bezierSegment(e,t,s,i){this._transform(e,this._vertex),this._push(this),this._transformXY(t,ye.b[0]),this._transformXY(s,ye.b[1]),this._transformXY(i,ye.b[2]),this._i=(0,f.tr)(this._vertex,ye,this._geometry,this._iVertex-1,this._i)}circularArcSegment(e,t,s){this._transform(e,this._vertex),this._push(this),this._transformXY(t,pe.c[0]),this._transformXY(s,pe.c[1]),this._i=(0,f.e6)(this._vertex,pe,this._geometry,this._iVertex-1,this._i)}ellipticArcSegment(e,t,s,i,r,n,o,a){this._transform(e,this._vertex),this._push(this),this._transformXY(t,fe.a[0]),this._transformXY(s,fe.a[1]),fe.a[2]=i,fe.a[3]=r,fe.a[4]=n,fe.a[5]=o,fe.a[6]=a,this._i=(0,f._s)(this._vertex,fe,this._geometry,this._iVertex-1,this._i)}static _pushXY(e){const t=e._iVertex++,{vertexXY:s}=e._geometry;[s[2*t],s[2*t+1]]=e._vertex}static _pushXYZ(e){const t=e._iVertex++,{vertexXY:s,vertexZ:i}=e._geometry;[s[2*t],s[2*t+1],i[t]]=e._vertex}static _pushXYM(e){const t=e._iVertex++,{vertexXY:s,vertexM:i}=e._geometry;[s[2*t],s[2*t+1],i[t]]=e._vertex}static _pushXYZM(e){const t=e._iVertex++,{vertexXY:s,vertexM:i,vertexZ:r}=e._geometry;[s[2*t],s[2*t+1],r[t],i[t]]=e._vertex}_setVertexTransformer(){const{sourceSpatialReference:e}=this._options,{spatialReference:t,hasZ:s,transform:i}=this.featureSet,r=s?(0,he.d)(e,t):1;this._transformInPlace??=(0,ce.M)(this.featureSet,r),this._transformInPlaceXY??=(0,ce.M)({transform:i})}_transform(e,t){for(let s=0;s<e.length;++s)t[s]=e[s];this._transformInPlace?.(t)}_transformXY(e,t){t[0]=e[0],t[1]=e[1],this._transformInPlaceXY?.(t)}}const pe={c:[[0,0],[0,0]]},fe={a:[[0,0],[0,0],0,0,0,0,0]},ye={b:[[0,0],[0,0],[0,0]]};var me=s(80893);class _e{constructor(e,t){this.key=e,this.resolution=t,this.state={type:0},this.alive=!0}process(e){switch(this.state.type){case 0:return this.state=this._gotoFetchCount(this.state,e),this.state.task.promise.then(e.resume,e.resume);case 1:case 3:break;case 2:return this.state=this._gotoFetchFeatures(this.state,e),this.state.task.promise.then(e.resume,e.resume);case 4:this.state=this._goToDone(this.state,e)}return null}get debugInfo(){return{key:this.key,featureCount:this._featureCount,state:this._stateToString}}get _featureCount(){switch(this.state.type){case 0:case 1:return 0;case 2:return this.state.featureCount;case 3:return this.state.previous.featureCount;case 4:return this.state.features.length;case 5:return this.state.previous.features.length}}get _stateToString(){switch(this.state.type){case 0:return"created";case 1:return"fetch-count";case 2:return"fetched-count";case 3:return"fetch-features";case 4:return"fetched-features";case 5:return"done"}}_gotoFetchCount(e,t){return{type:1,previous:e,task:(0,te.UT)(async e=>{const s=await(0,te.DZ)(t.fetchCount(this,e));1===this.state.type&&(this.state=function(e,t){return{type:2,featureCount:t,previous:e}}(this.state,s.ok?s.value:1/0))})}}_gotoFetchFeatures(e,t){return{type:3,previous:e,task:(0,te.UT)(async s=>{const i=await(0,te.DZ)(t.fetchFeatures(this,e.featureCount,s));3===this.state.type&&(this.state=function(e,t){return{type:4,previous:e,features:t}}(this.state,i.ok?i.value:[]))})}}_goToDone(e,t){return t.finish(this,e.features),{type:5,previous:e}}reset(){const e=this.state;switch(this.state={type:0},e.type){case 0:case 2:case 4:case 5:break;case 1:case 3:e.task.abort()}}}let ge=class extends ee.A{get _minimumVerticesPerFeature(){switch(this.store?.featureStore.geometryType){case"esriGeometryPoint":case"esriGeometryMultipoint":return 1;case"esriGeometryPolygon":return 4;case"esriGeometryPolyline":return 2}}get _mandatoryOutFields(){const e=new Set;return this.objectIdField&&e.add(this.objectIdField),this.globalIdField&&e.add(this.globalIdField),e}set outFields(e){const t=this._get("outFields"),s=(0,se.KC)(e,this._mandatoryOutFields);(0,se.aI)(s,t)||(this._set("outFields",s),(0,se.Yy)(s,t)||this.refresh())}get outFields(){return this._get("outFields")??this._mandatoryOutFields}set filter(e){const t=this._get("filter"),s=this._filterProperties(e);JSON.stringify(t)!==JSON.stringify(s)&&this._set("filter",s)}set customParameters(e){const t=this._get("customParameters");JSON.stringify(t)!==JSON.stringify(e)&&this._set("customParameters",e)}get _configuration(){return{filter:this.filter,customParameters:this.customParameters,tileInfo:this.tileInfo,tileSize:this.tileSize}}set tileInfo(e){const t=this._get("tileInfo");t!==e&&(null!=e&&null!=t&&JSON.stringify(e)===JSON.stringify(t)||(this._set("tileInfo",e),this.store.tileInfo=e))}set tileSize(e){this._get("tileSize")!==e&&this._set("tileSize",e)}get updating(){return this._updatingHandles.updating}get hasZ(){return this.store.featureStore.hasZ}constructor(e){super(e),this.suspended=!0,this._historicMoment=null,this.tilesOfInterest=new Array,this.availability=0,this._pendingTiles=new Map,this._updatingHandles=new l.U}initialize(){this._initializeFetchExtent(),this._updatingHandles.add(()=>this._configuration,()=>this.refresh()),this._updatingHandles.add(()=>this.tilesOfInterest,()=>{this._updatePriorities(),this._process()},{sync:!0,initial:!0,equals:(e,t)=>(0,c.aI)(e,t,({id:e},{id:t})=>e===t)}),this._updatingHandles.addWhen(()=>!this.suspended,()=>this._process())}_updatePriorities(){this.store.setPriorityOrderByKey(this.tilesOfInterest.map(({id:e})=>e)??[])}destroy(){this._pendingTiles.forEach(e=>this._deletePendingTile(e)),this._pendingTiles.clear(),this.store.destroy(),this.tilesOfInterest.length=0,this._updatingHandles.destroy()}refresh(){this.store.refresh(),this._pendingTiles.forEach(e=>this._deletePendingTile(e)),this._process()}async handleEdits(e){if(e.historicMoment&&(this._historicMoment=e.historicMoment),!e.addedFeatures.length&&!e.updatedFeatures.length&&!e.deletedFeatures.length)return;for(const e of this._pendingTiles.values())e.reset();const t={...e,deletedFeatures:e.deletedFeatures.map(({objectId:e,globalId:t})=>e&&-1!==e?e:this._lookupObjectIdByGlobalId(t))},s=(0,te.UT)(async e=>{try{await this.store.processEdits(t,(e,t)=>this._queryFeaturesById(e,t),e),this._processPendingTiles()}catch(e){(0,n.QP)(e),p.A.getLogger(this).warn("Failed to apply edits",e)}});this.addHandles(s),await this._updatingHandles.addPromise(s.promise)}setHistoricMoment(e){e?.getTime()!==this._historicMoment?.getTime()&&(this._historicMoment=e,this.refresh())}_initializeFetchExtent(){if(!this.capabilities.query.supportsExtent||!(0,ue.Wo)(this.url))return;const e=(0,te.UT)(async e=>{try{const t=await(0,me.Jf)(this.url,new T.A({where:"1=1",outSpatialReference:this.spatialReference,cacheHint:this.capabilities.query.supportsCacheHint??void 0}),{query:this._configuration.customParameters,signal:e});this.store.extent=re.A.fromJSON(t?.extent)}catch(e){(0,n.QP)(e),p.A.getLogger(this).warn("Failed to fetch data extent",e)}});this._updatingHandles.consumePromise(e.promise.then(()=>this._process())),this.addHandles(e)}get debugInfo(){return{numberOfFeatures:this.store.featureStore.numFeatures,tilesOfInterest:this.tilesOfInterest,pendingTiles:Array.from(this._pendingTiles.values()).map(e=>e.debugInfo),storedTiles:this.store.debugInfo}}_process(){this._markTilesNotAlive(),this._createPendingTiles(),this._deletePendingTiles(),this._processPendingTiles()}_markTilesNotAlive(){for(const e of this._pendingTiles.values())e.alive=!1}_createPendingTiles(){if(this.suspended)return;const e=this._collectMissingTilesInfo();if(this._setAvailability(null==e?1:e.coveredArea/e.fullArea),null!=e)for(const{data:t,resolution:s}of e.missingTiles){const e=this._pendingTiles.get(t.id);e?(e.resolution=s,e.alive=!0):this._createPendingTile(t,s)}}_collectMissingTilesInfo(){let e=null;for(const t of this.tilesOfInterest){const s=this.store.process(t,(e,t)=>this._verifyTileComplexity(e,t),this.outFields);null==e?e=s:e.prepend(s)}return e}_deletePendingTiles(){for(const e of this._pendingTiles.values())e.alive||this._deletePendingTile(e)}_processPendingTiles(){const e={fetchCount:(e,t)=>this._fetchCount(e,t),fetchFeatures:(e,t,s)=>this._fetchFeatures(e,t,s),finish:(e,t)=>this._finishPendingTile(e,t),resume:()=>this._processPendingTiles()};if(this._ensureFetchAllCounts(e))for(const t of this._pendingTiles.values())this._verifyTileComplexity(this.store.getFeatureCount(t.key),t.resolution)&&this._updatingHandles.consumePromise(t.process(e))}_verifyTileComplexity(e,t){return this._verifyVertexComplexity(e)&&this._verifyFeatureDensity(e,t)}_verifyVertexComplexity(e){return e*this._minimumVerticesPerFeature<be}_verifyFeatureDensity(e,t){if(null==this.tileInfo)return!1;const s=this.tileSize*t;return e*(we/(s*s))<Ce}_ensureFetchAllCounts(e){let t=!0;for(const s of this._pendingTiles.values())s.state.type<2&&this._updatingHandles.consumePromise(s.process(e)),s.state.type<=1&&(t=!1);return t}_finishPendingTile(e,t){this.store.add(e.key,t),this._deletePendingTile(e),this._updateAvailability()}_updateAvailability(){const e=this._collectMissingTilesInfo();this._setAvailability(null==e?1:e.coveredArea/e.fullArea)}_setAvailability(e){this._set("availability",e)}_createPendingTile(e,t){const s=new _e(e,t);return this._pendingTiles.set(e.id,s),s}_deletePendingTile(e){e.reset(),this._pendingTiles.delete(e.key.id)}async _fetchCount(e,t){return this.store.fetchCount(e.key,this.url,this._createCountQuery(e),{query:this.customParameters,timeout:xe,signal:t})}async _fetchFeatures(e,t,s){let i=0;const r=[];let n=0,o=t;for(;;){const a=this._createFeaturesQuery(e),l=this._setPagingParameters(a,i,o),{features:u,exceededTransferLimit:h}=await this._queryFeatures(a,s);l&&(i+=a.num),n+=u.length;for(const e of u)r.push(e);if(o=t-n,!l||!h||o<=0)return r}}_filterProperties(e){return null==e?{where:"1=1",gdbVersion:void 0,timeExtent:void 0}:{where:e.where||"1=1",timeExtent:e.timeExtent,gdbVersion:e.gdbVersion}}_lookupObjectIdByGlobalId(e){const t=this.globalIdField,s=this.objectIdField;if(null==t)throw new Error("Expected globalIdField to be defined");let i=null;const r=e?(0,ie.AG)(e):e;if(this.store.featureStore.forEach(e=>{r===(0,ie.AG)(e.attributes[t])&&(i=e.objectId??e.attributes[s])}),null==i)throw new Error(`Expected to find a feature with globalId ${e}`);return i}_queryFeaturesById(e,t){const s=this._createFeaturesQuery();return s.objectIds=e,this._queryFeatures(s,t)}async _queryFeatures(e,t){return 0===e.num?new le:this.capabilities.query.supportsFormatPBF?this._queryFeaturesPBF(e,t):this._queryFeaturesJSON(e,t)}async _queryFeaturesPBF(e,t){const{sourceSpatialReference:s}=this;return await(0,me.IJ)(this.url,e,new de({sourceSpatialReference:s}),{query:this._configuration.customParameters,timeout:xe,signal:t})}async _queryFeaturesJSON(e,t){const{sourceSpatialReference:s}=this;return function({exceededTransferLimit:e,features:t,fields:s,geometryType:i,hasM:r,hasZ:n,spatialReference:o,transform:a},l){const u=new le;u.exceededTransferLimit=e??!1;for(const e of t??[]){let t,s;i&&(t=e.geometry&&(0,f.ME)(e.geometry),s=e.centroid&&new oe.A([],[e.centroid.x,e.centroid.y]));const r=(0,ae.W)(e,l),n=void 0;u.features.push(new x(t,e.attributes,s,r,n,e.distance))}return u.fields=s??u.fields,u.geometryType=i??null,u.hasM=r??!1,u.hasZ=n??!1,u.spatialReference=o??null,u.transform=a??null,u}(await(0,me.eW)(this.url,e,s,{query:this._configuration.customParameters,timeout:xe,signal:t}),{type:"object-id",fieldName:this.objectIdField})}_createCountQuery(e){const t=this._createBaseQuery(e);return this.capabilities.query.supportsCacheHint&&(t.cacheHint=!0),t}_createFeaturesQuery(e=null){const t=this._createBaseQuery(e),s=null!=e?.key?this.store.getAttributesForTile(e?.key?.id):null,i=(0,se.KC)((0,se.iv)(this.outFields,s??new Set),this._mandatoryOutFields);return t.outFields=Array.from(i),t.returnGeometry=!0,this.capabilities.data.supportsTrueCurve&&(!this.capabilities.query.supportsFormatPBF||this.capabilities.query.supportsFormatPBFWithCurves)&&(t.returnTrueCurves=!0),null!=e&&(this.capabilities.query.supportsResultType?t.resultType="tile":this.capabilities.query.supportsCacheHint&&(t.cacheHint=!0)),t}_createBaseQuery(e){const t=new T.A({returnZ:this.hasZ,returnM:!1,historicMoment:this._historicMoment,geometry:null!=this.tileInfo&&null!=e?(0,ne.w1)(e.key.extent,this.tileInfo.spatialReference):void 0}),s=this._configuration.filter;return null!=s&&(t.where=s.where,t.gdbVersion=s.gdbVersion,t.timeExtent=s.timeExtent),t.outSpatialReference=this.spatialReference,t}_setPagingParameters(e,t,s){if(!this.capabilities.query.supportsPagination)return!1;const{supportsMaxRecordCountFactor:i,supportsCacheHint:r,tileMaxRecordCount:n,maxRecordCount:o,supportsResultType:a}=this.capabilities.query,l=i?T.A.MAX_MAX_RECORD_COUNT_FACTOR:1,u=l*((a||r)&&n?n:o||ve);return e.start=t,i?(e.maxRecordCountFactor=Math.min(l,Math.ceil(s/u)),e.num=Math.min(s,e.maxRecordCountFactor*u)):e.num=Math.min(s,u),!0}};(0,i.Cg)([(0,a.MZ)({constructOnly:!0})],ge.prototype,"url",void 0),(0,i.Cg)([(0,a.MZ)({constructOnly:!0})],ge.prototype,"currentVersion",void 0),(0,i.Cg)([(0,a.MZ)({constructOnly:!0})],ge.prototype,"objectIdField",void 0),(0,i.Cg)([(0,a.MZ)({constructOnly:!0})],ge.prototype,"globalIdField",void 0),(0,i.Cg)([(0,a.MZ)({constructOnly:!0})],ge.prototype,"capabilities",void 0),(0,i.Cg)([(0,a.MZ)({constructOnly:!0})],ge.prototype,"sourceSpatialReference",void 0),(0,i.Cg)([(0,a.MZ)({constructOnly:!0})],ge.prototype,"spatialReference",void 0),(0,i.Cg)([(0,a.MZ)({constructOnly:!0})],ge.prototype,"store",void 0),(0,i.Cg)([(0,a.MZ)({readOnly:!0})],ge.prototype,"_minimumVerticesPerFeature",null),(0,i.Cg)([(0,a.MZ)()],ge.prototype,"_mandatoryOutFields",null),(0,i.Cg)([(0,a.MZ)()],ge.prototype,"outFields",null),(0,i.Cg)([(0,a.MZ)()],ge.prototype,"suspended",void 0),(0,i.Cg)([(0,a.MZ)()],ge.prototype,"_historicMoment",void 0),(0,i.Cg)([(0,a.MZ)()],ge.prototype,"filter",null),(0,i.Cg)([(0,a.MZ)()],ge.prototype,"customParameters",null),(0,i.Cg)([(0,a.MZ)({readOnly:!0})],ge.prototype,"_configuration",null),(0,i.Cg)([(0,a.MZ)()],ge.prototype,"tileInfo",null),(0,i.Cg)([(0,a.MZ)()],ge.prototype,"tileSize",null),(0,i.Cg)([(0,a.MZ)()],ge.prototype,"tilesOfInterest",void 0),(0,i.Cg)([(0,a.MZ)({readOnly:!0})],ge.prototype,"updating",null),(0,i.Cg)([(0,a.MZ)({readOnly:!0})],ge.prototype,"availability",void 0),(0,i.Cg)([(0,a.MZ)()],ge.prototype,"hasZ",null),ge=(0,i.Cg)([(0,a.$K)("esri.views.interactive.snapping.featureSources.featureServiceSource.FeatureServiceTiledFetcher")],ge);const ve=2e3,xe=6e5,be=1e6,we=25,Ce=1;s(44208);class Ie{constructor(){this._store=new Map,this._priorities=new Map}get size(){return this._store.size}setPriorityOrderByKey(e){this._priorities.clear();for(let t=e.length-1;t>=0;t--)this._priorities.set(e[t],e.length-t)}hasLowerPriority(e){const t=this._priorities.get(e);if(null==t)return!0;for(const[e]of this._store){const s=this._priorities.get(e);if(null==s||s<t)return!0}return!1}someFromLowestToHighestPriority(e){const{_priorities:t}=this;for(const[s,i]of this._store)if(!t.has(s)&&e(i,s))return!0;for(const[s]of t){const t=this._store.get(s);if(t&&e(t,s))return!0}return!1}set(e,t){this._store.set(e,t)}delete(e){return this._store.delete(e)}get(e){return this._store.get(e)}has(e){return this._store.has(e)}clear(){this._store.clear()}values(){return this._store.values()}[Symbol.iterator](){return this._store[Symbol.iterator]()}}let Me=class extends ee.A{setPriorityOrderByKey(e){this._tiles.setPriorityOrderByKey(e)}get _memoryLimitExceeded(){return this.featureStore.usedMemory>=this.maximumByteSize}constructor(e){super(e),this.tileInfo=null,this.extent=null,this.maximumByteSize=10485760,this._tileBounds=new m.F,this._tiles=new Ie,this._refCounts=new Map,this._tileFeatureCounts=new Map,this._tmpBoundingRect=(0,ne.vt)()}add(e,t){for(const e of t)this._referenceFeature(e.objectId);const s=this.featureStore.upsertMany(t),i=s.map(e=>new Set(Object.keys(e.attributes))).reduce((e,t)=>(0,se.E$)(e,t),new Set(Object.keys(s[0]?.attributes??[]))),r=this._memoryLimitExceeded;this._addTileStorage(e,new Set(s.map(e=>e.objectId)),i),r&&this._applyCacheMemoryLimits()}_applyCacheMemoryLimits(){if(!this._memoryLimitExceeded)return;const{_tiles:e,featureStore:t,maximumByteSize:s}=this;e.someFromLowestToHighestPriority(e=>!this._memoryLimitExceeded||t.usedMemory-this._estimateRemoveTileMemoryReduction(e)<s||(this._removeTileStorage(e),!1))}_estimateRemoveTileMemoryReduction(e){let t=0;for(const s of e.objectIds)if(1===this._refCounts.get(s)){const e=this.featureStore.getFeature(s);e&&(t+=this.featureStore.estimateFeatureUsedMemory?.(e)??0)}return t}_hasAttributesForTile(e,t){if(e){const s=this._tiles.get(e);if(s)return!s.objectIds.size||(0,se.Yy)(t,s.attributeKeys)}return!1}getAttributesForTile(e){return e?this._tiles.get(e)?.attributeKeys:null}destroy(){this.clear(),this._tileFeatureCounts.clear()}clear(){this.featureStore.clear(),this._tileBounds.clear(),this._tiles.clear(),this._refCounts.clear()}refresh(){this.clear(),this._tileFeatureCounts.clear()}processEdits(e,t,s){return this._processEditsDelete(e.deletedFeatures.concat(e.updatedFeatures)),this._processEditsRefetch(e.addedFeatures.concat(e.updatedFeatures),t,s)}_addTileStorage(e,t,s){const i=e.id;this._tiles.set(i,new Se(e,t,s)),this._tileBounds.set(i,e.extent),this._tileFeatureCounts.set(i,t.size)}_remove({id:e}){const t=this._tiles.get(e);t&&this._removeTileStorage(t)}_removeTileStorage(e){const t=[];for(const s of e.objectIds)1===this._unreferenceFeature(s)&&t.push(s);this.featureStore.removeManyById(t);const s=e.key.id;this._tiles.delete(s),this._tileBounds.delete(s)}_processEditsDelete(e){this.featureStore.removeManyById(e);for(const t of this._tiles.values()){for(const s of e)t.objectIds.delete(s);this._tileFeatureCounts.set(t.key.id,t.objectIds.size)}for(const t of e)this._refCounts.delete(t)}async _processEditsRefetch(e,t,s){if(!e.length)return;const{features:i}=await t(e,s);for(const e of i){if(this._tmpBoundingRect.fill(0),null==e.geometry||0===e.geometry.vertexCount)continue;(0,ne.Ie)(this._tmpBoundingRect);const t=(0,f.NO)(e.geometry,this._tmpBoundingRect);this._tileBounds.forEachInBounds(t,t=>{const s=this._tiles.get(t);this.featureStore.add(e);const i=e.objectId;s.objectIds.has(i)||(s.objectIds.add(i),this._referenceFeature(i),this._tileFeatureCounts.set(s.key.id,s.objectIds.size))})}}process(e,t=()=>!0,s){if(null==this.tileInfo||!e.extent||null!=this.extent&&!(0,ne.HY)((0,ne.VY)(this.extent,this._tmpBoundingRect),e.extent))return new Te(e);if(this._memoryLimitExceeded&&!this._tiles.hasLowerPriority(e.id??""))return new Te(e);if(this._hasAttributesForTile(e.id,s))return new Te(e);const i=this._createTileTree(e,this.tileInfo);return this._simplify(i,t,null,0,1),this._collectMissingTiles(e,i,this.tileInfo,s)}get debugInfo(){return Array.from(this._tiles.values()).map(({key:e})=>({key:e.toJSON(),featureCount:this._tileFeatureCounts.get(e.id)||0}))}getFeatureCount(e){return this._tileFeatureCounts.get(e.id)??0}async fetchCount(e,t,s,i){let r=this._tileFeatureCounts.get(e.id);return null!=r||(r=await(0,me.gW)(t,s,i),this._tileFeatureCounts.set(e.id,r)),r}_createTileTree(e,t){const s=new Fe(e.level,e.row,e.col);return t.updateTileInfo(s,1),this._tileBounds.forEachInBounds(e.extent,i=>{const r=this._tiles.get(i)?.key;r&&function(e,t){if(!e||!t)return!1;if(e.level===t.level)return e.row===t.row&&e.col===t.col;const s=e.level<t.level,i=s?e:t,r=s?t:e,n=1<<r.level-i.level;return Math.floor(r.row/n)===i.row&&Math.floor(r.col/n)===i.col}(e,r)&&this._populateChildren(s,r,t,this._tileFeatureCounts.get(r.id)||0)}),s}_populateChildren(e,t,s,i){const r=t.level-e.level-1;if(r<0)return void(e.isLeaf=!0);const n=t.row>>r,o=t.col>>r,a=e.row<<1,l=o-(e.col<<1)+(n-a<<1),u=e.children[l];if(null!=u)this._populateChildren(u,t,s,i);else{const r=new Fe(e.level+1,n,o);s.updateTileInfo(r,1),e.children[l]=r,this._populateChildren(r,t,s,i)}}_simplify(e,t,s,i,r){const n=r*r;if(e.isLeaf)return t(this.getFeatureCount(e),r)?0:(this._remove(e),null!=s&&(s.children[i]=null),n);const o=r/2,a=o*o;let l=0;for(let s=0;s<e.children.length;s++){const i=e.children[s];l+=null!=i?this._simplify(i,t,e,s,o):a}return 0===l?this._mergeChildren(e):1-l/n<Pe&&(this._purge(e),null!=s&&(s.children[i]=null),l=n),l}_mergeChildren(e){const t=new Set;let s;this._forEachLeaf(e,e=>{const i=this._tiles.get(e.id);if(i){s=s?(0,se.E$)(s,i.attributeKeys):new Set(i.attributeKeys);for(const e of i.objectIds)t.has(e)||(t.add(e),this._referenceFeature(e));this._remove(e)}}),this._addTileStorage(e,t,s??new Set),e.isLeaf=!0,e.children[0]=e.children[1]=e.children[2]=e.children[3]=null,this._tileFeatureCounts.set(e.id,t.size)}_forEachLeaf(e,t){for(const s of e.children)null!=s&&(s.isLeaf?t(s):this._forEachLeaf(s,t))}_purge(e){if(null!=e)if(e.isLeaf)this._remove(e);else for(let t=0;t<e.children.length;t++){const s=e.children[t];this._purge(s),e.children[t]=null}}_collectMissingTiles(e,t,s,i){const r=new Ae(s,e,this.extent);return this._collectMissingTilesRecurse(t,r,1,i),r.info}_collectMissingTilesRecurse(e,t,s,i){const r=this._tiles.has(e.id)&&!this._hasAttributesForTile(e.id,i);if(r&&t.addMissing(e.level,e.row,e.col,s),e.isLeaf)return;if(!e.hasChildren)return void(r||t.addMissing(e.level,e.row,e.col,s));const n=s/2;for(let s=0;s<e.children.length;s++){const r=e.children[s];null==r?t.addMissing(e.level+1,(e.row<<1)+((2&s)>>1),(e.col<<1)+(1&s),n):this._collectMissingTilesRecurse(r,t,n,i)}}_referenceFeature(e){const t=(this._refCounts.get(e)||0)+1;return this._refCounts.set(e,t),1===t?0:2}_unreferenceFeature(e){const t=(this._refCounts.get(e)||0)-1;return 0===t?(this._refCounts.delete(e),1):(t>0&&this._refCounts.set(e,t),2)}get test(){}};(0,i.Cg)([(0,a.MZ)({constructOnly:!0})],Me.prototype,"featureStore",void 0),(0,i.Cg)([(0,a.MZ)()],Me.prototype,"tileInfo",void 0),(0,i.Cg)([(0,a.MZ)()],Me.prototype,"extent",void 0),(0,i.Cg)([(0,a.MZ)()],Me.prototype,"maximumByteSize",void 0),Me=(0,i.Cg)([(0,a.$K)("esri.views.interactive.snapping.featureSources.featureServiceSource.FeatureServiceTileStore")],Me);class Se{constructor(e,t,s){this.key=e,this.objectIds=t,this.attributeKeys=s}}class Fe extends F.U{constructor(){super(...arguments),this.isLeaf=!1,this.children=[null,null,null,null]}get hasChildren(){return!this.isLeaf&&(null!=this.children[0]||null!=this.children[1]||null!=this.children[2]||null!=this.children[3])}}class Te{constructor(e,t=[]){this.missingTiles=t,this.fullArea=0,this.coveredArea=0,this.fullArea=(0,ne.Wc)(e.extent),this.coveredArea=this.fullArea}prepend(e){this.missingTiles=e.missingTiles.concat(this.missingTiles),this.coveredArea+=e.coveredArea,this.fullArea+=e.fullArea}}class Ae{constructor(e,t,s){this._tileInfo=e,this._extent=null,this.info=new Te(t),null!=s&&(this._extent=(0,ne.VY)(s))}addMissing(e,t,s,i){const r=new F.U(e,t,s);this._tileInfo.updateTileInfo(r,1)&&(null==this._extent||(0,ne.HY)(this._extent,r.extent))&&(this.info.missingTiles.push({data:r,resolution:i}),this.info.coveredArea-=(0,ne.Wc)(r.extent))}}const Pe=.18751;let Be=class extends r.nJ{constructor(){super(...arguments),this._isInitializing=!0,this.remoteClient=null,this._whenSetup=Promise.withResolvers(),this._elevationAligner=E(),this._elevationFilter=J(),this._symbologyCandidatesFetcher=U(),this._updatingHandles=new l.U,this._alignPointsInFeatures=async(e,t)=>{const s={query:e},i=await this.remoteClient.invoke("alignElevation",s,{signal:t});return(0,n.Te)(t),i},this._getSymbologyCandidates=async(e,t)=>{const s={candidates:e,spatialReference:this._spatialReference.toJSON()},i=await this.remoteClient.invoke("getSymbologyCandidates",s,{signal:t});return(0,n.Te)(t),i}}get updating(){return this._isInitializing||this._updatingHandles.updating||this._featureFetcher.updating}destroy(){this._featureFetcher?.destroy(),this._queryEngine?.destroy(),this._featureStore?.clear()}async setup(e){if(this.destroyed)return{result:{}};const{geometryType:t,objectIdField:s,timeInfo:i,fieldsIndex:r}=e.serviceInfo,{hasZ:n}=e,a=u.A.fromJSON(e.spatialReference);this._spatialReference=a,this._featureStore=new I(t,n,!1),this._featureStore.estimateFeatureUsedMemory=e=>e.usedMemory,this._queryEngine=new M.do({spatialReference:e.spatialReference,featureStore:this._featureStore,geometryType:t,fieldsIndex:r,hasZ:n,hasM:!1,featureIdInfo:{type:"object-id",fieldName:s},timeInfo:i}),this._featureFetcher=new ge({store:new Me({featureStore:this._featureStore}),url:e.serviceInfo.url,currentVersion:e.serviceInfo.currentVersion,objectIdField:e.serviceInfo.objectIdField,globalIdField:e.serviceInfo.globalIdField,capabilities:e.serviceInfo.capabilities,spatialReference:a,sourceSpatialReference:u.A.fromJSON(e.serviceInfo.spatialReference),customParameters:e.configuration.customParameters});const l="3d"===e.configuration.viewType;return this._elevationAligner=E(l,{elevationInfo:null!=e.elevationInfo?A.A.fromJSON(e.elevationInfo):null,alignPointsInFeatures:this._alignPointsInFeatures}),this._elevationFilter=J(l),this.addHandles([(0,o.wB)(()=>this._featureFetcher.availability,e=>this.emit("notify-availability",{availability:e}),o.OH),(0,o.wB)(()=>this.updating,()=>this._notifyUpdating())]),this._whenSetup.resolve(),this._isInitializing=!1,this.configure(e.configuration)}async configure(e){return await this._updatingHandles.addPromise(this._whenSetup.promise),this._updateFeatureFetcherConfiguration(e),Re}async setSuspended(e,t){return await this._updatingHandles.addPromise(this._whenSetup.promise),(0,n.Te)(t),this._featureFetcher.suspended=e,Re}async updateOutFields(e,t){return await this._updatingHandles.addPromise(this._whenSetup.promise),(0,n.Te)(t),this._featureFetcher.outFields=new Set(e??[]),Re}async fetchCandidates(e,t){await this._whenSetup.promise,(0,n.Te)(t);const s=function(e,t){const s=!!t||void 0;if(!e.filter)return{...e,query:{where:"1=1",returnZ:s}};const{distance:i,units:r,spatialRel:n,where:o,timeExtent:a,objectIds:l}=e.filter,u={geometry:e.filter.geometry?(0,h.rS)(e.filter.geometry):void 0,distance:i,units:r,spatialRel:n,timeExtent:a,objectIds:l,returnZ:s,where:o??"1=1"};return{...e,query:u}}(e,this._featureStore.hasZ),i=t?.signal,r=await this._queryEngine.executeQueryForSnapping(s,i);(0,n.Te)(i);const o=await this._elevationAligner.alignCandidates(r.candidates,u.A.fromJSON(e.point.spatialReference)??u.A.WGS84,i);(0,n.Te)(i);const a=await this._symbologyCandidatesFetcher.fetch(o,i);(0,n.Te)(i);const l=0===a.length?o:o.concat(a);return{result:{candidates:this._elevationFilter.filter(s,l)}}}async updateTiles(e,t){return await this._updatingHandles.addPromise(this._whenSetup.promise),(0,n.Te)(t),this._featureFetcher.tileSize=e.tileSize,this._featureFetcher.tilesOfInterest=e.tiles.map(e=>F.U.fromJSON(e)),this._featureFetcher.tileInfo=null!=e.tileInfo?S.A.fromJSON(e.tileInfo):null,Re}async refresh(e,t){return await this._updatingHandles.addPromise(this._whenSetup.promise),(0,n.Te)(t),this._featureFetcher.refresh(),Re}async whenNotUpdating(e,t){return await this._updatingHandles.addPromise(this._whenSetup.promise),(0,n.Te)(t),await(0,o.C_)(()=>!this.updating,t),(0,n.Te)(t),Re}async getDebugInfo(e,t){return(0,n.Te)(t),{result:this._featureFetcher.debugInfo}}async handleEdits(e,t){return await this._updatingHandles.addPromise(this._whenSetup.promise),(0,n.Te)(t),await this._updatingHandles.addPromise(this._featureFetcher.handleEdits(e)),(0,n.Te)(t),Re}async setHistoricMoment(e,t){return this._featureFetcher.setHistoricMoment(e.moment),Re}async notifyElevationSourceChange(e,t){return this._elevationAligner.notifyElevationSourceChange(),Re}async notifySymbologyChange(e,t){return this._symbologyCandidatesFetcher.notifySymbologyChange(),Re}async setSymbologySnappingSupported(e){return this._symbologyCandidatesFetcher=U(e,this._getSymbologyCandidates),Re}_updateFeatureFetcherConfiguration(e){this._featureFetcher.filter=null!=e.filter?T.A.fromJSON(e.filter):null,this._featureFetcher.customParameters=e.customParameters}_notifyUpdating(){this.emit("notify-updating",{updating:this.updating})}};(0,i.Cg)([(0,a.MZ)({readOnly:!0})],Be.prototype,"updating",null),(0,i.Cg)([(0,a.MZ)()],Be.prototype,"_isInitializing",void 0),Be=(0,i.Cg)([(0,a.$K)("esri.views.interactive.snapping.featureSources.featureServiceSource.FeatureServiceSnappingSourceWorker")],Be);const Oe=Be,Re={result:{}}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[3586],{73354(t,e,n){n.d(e,{a:()=>h,b:()=>a,c:()=>o,d:()=>i,e:()=>f,f:()=>c,l:()=>u,n:()=>d,t:()=>s}),n(44208);var r=n(72727);function o(t,e,n){s(t.typedBuffer,e.typedBuffer,n,t.typedBufferStride,e.typedBufferStride)}function s(t,e,n,o=3,s=o){const i=(0,r.k)(t.length,o,3),a=(0,r.k)(e.length,s,3),l=Math.min(i,a),u=n[0],c=n[1],h=n[2],f=n[4],d=n[5],p=n[6],m=n[8],y=n[9],g=n[10],M=n[12],_=n[13],b=n[14];let R=0,v=0;for(let n=0;n<l;n++){const n=e[R],r=e[R+1],i=e[R+2];t[v]=u*n+f*r+m*i+M,t[v+1]=c*n+d*r+y*i+_,t[v+2]=h*n+p*r+g*i+b,R+=s,v+=o}return t}function i(t,e,n){a(t.typedBuffer,e.typedBuffer,n,t.typedBufferStride,e.typedBufferStride)}function a(t,e,n,o=3,s=o){const i=(0,r.k)(t.length,o,3),a=(0,r.k)(e.length,s,3),l=Math.min(i,a),u=n[0],c=n[1],h=n[2],f=n[3],d=n[4],p=n[5],m=n[6],y=n[7],g=n[8];let M=0,_=0;for(let n=0;n<l;n++){const n=e[M],r=e[M+1],i=e[M+2];t[_]=u*n+f*r+m*i,t[_+1]=c*n+d*r+y*i,t[_+2]=h*n+p*r+g*i,M+=s,_+=o}}function l(t,e,n,r=3,o=r){const s=Math.min(t.length/r,e.length/o);let i=0,a=0;for(let l=0;l<s;l++)t[a]=n*e[i],t[a+1]=n*e[i+1],t[a+2]=n*e[i+2],i+=o,a+=r;return t}function u(t,e,n,r){c(t.typedBuffer,e.typedBuffer,n,r,t.typedBufferStride,e.typedBufferStride)}function c(t,e,n,r,o=3,s=o){const i=Math.min(t.length/o,e.length/s);let a=0,l=0;const u=1/2.2;for(let c=0;c<i;c++)t[l]=r*(n*e[a])**u,t[l+1]=r*(n*e[a+1])**u,t[l+2]=r*(n*e[a+2])**u,a+=s,l+=o}function h(t,e,n,o=3,s=o){const i=(0,r.k)(t.length,o,3),a=(0,r.k)(e.length,s,3),l=Math.min(i,a);let u=0,c=0;for(let r=0;r<l;r++)t[c]=e[u]+n[0],t[c+1]=e[u+1]+n[1],t[c+2]=e[u+2]+n[2],u+=s,c+=o;return t}function f(t,e){d(t.typedBuffer,e.typedBuffer,t.typedBufferStride,e.typedBufferStride)}function d(t,e,n=3,r=n){const o=Math.min(t.length/n,e.length/r);let s=0,i=0;for(let a=0;a<o;a++){const o=e[s],a=e[s+1],l=e[s+2],u=o*o+a*a+l*l;if(u>0){const e=1/Math.sqrt(u);t[i]=e*o,t[i+1]=e*a,t[i+2]=e*l}s+=r,i+=n}}Object.freeze(Object.defineProperty({__proto__:null,linearToSRGB:c,linearToSRGBView:u,normalize:d,normalizeView:f,scale:l,scaleView:function(t,e,n){l(t.typedBuffer,e.typedBuffer,n,t.typedBufferStride,e.typedBufferStride)},shiftRight:function(t,e,n){const r=Math.min(t.count,e.count),o=t.typedBuffer,s=t.typedBufferStride,i=e.typedBuffer,a=e.typedBufferStride;let l=0,u=0;for(let t=0;t<r;t++)o[u]=i[l]>>n,o[u+1]=i[l+1]>>n,o[u+2]=i[l+2]>>n,l+=a,u+=s},transformMat3:a,transformMat3View:i,transformMat4:s,transformMat4View:o,translate:h},Symbol.toStringTag,{value:"Module"}))},69540(t,e,n){var r=n(5482),o=n(69622),s=(n(44208),n(4718)),i=(n(53966),n(97768)),a=n(88620),l=n(64108);const u=Symbol("ClonableMixin"),c=t=>{var e;const n=t;let o=class extends n{constructor(){super(...arguments),this[e]=!0}static{e=u}clone(t){const e=(0,a.oY)(this);(0,i.Lw)(e,"unable to clone instance of non-accessor class");const n=e.metadata,r=e.store,o={},l=new Map;for(const e in n){const i=n[e],a=r?.originOf(e),u=i.clonable;if(i.readOnly||!1===u||7!==a&&0!==a&&5!==a&&4!==a)continue;const c=this[e];let h=null;if("function"==typeof u)h=u(c,t);else if("reference"===u)h=c;else if(h=(0,s.TU)(c,t),null!=c&&null==h)continue;0===a?l.set(e,h):o[e]=h}const u=new(0,Object.getPrototypeOf(this).constructor)(o);if(l.size){const t=(0,a.oY)(u)?.store;if(t)for(const[e,n]of l)t.set(e,n,0)}return u}};return o=(0,r.Cg)([(0,l.$)("esri.core.Clonable")],o),o},h=c(o.A);n.d(e,["OU",0,c,"Pw",0,h])},95488(t,e,n){n.d(e,{I:()=>o});var r=n(11406);class o extends r.T{notify(){const t=this._observers;if(t&&t.length>0){const e=t.slice();for(const t of e)t.onInvalidated(),t.onCommitted()}}}},9093(t,e,n){function r(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function o(t){return[t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]]}n.d(e,{o8:()=>o,vt:()=>r});const s=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:s,clone:o,create:r,fromValues:function(t,e,n,r,o,s,i,a,l,u,c,h,f,d,p,m){return[t,e,n,r,o,s,i,a,l,u,c,h,f,d,p,m]}},Symbol.toStringTag,{value:"Module"})),n.d(e,["zK",0,s])},51850(t,e,n){function r(){return[0,0,0]}function o(t){return[t[0],t[1],t[2]]}function s(t,e,n){return[t,e,n]}function i(t,e,n){return[t,e,n]}function a(t,e=[0,0,0]){const n=Math.min(3,t.length);for(let r=0;r<n;++r)e[r]=t[r];return e}function l(){return[0,0,0]}function u(){return s(1,1,1)}function c(){return s(1,0,0)}function h(){return s(0,1,0)}function f(){return s(0,0,1)}n.d(e,{CN:()=>i,S:()=>u,Ul:()=>l,ci:()=>a,fA:()=>s,o8:()=>o,vt:()=>r});const d=[0,0,0],p=u(),m=c(),y=h(),g=f();Object.freeze(Object.defineProperty({__proto__:null,ONES:p,UNIT_X:m,UNIT_Y:y,UNIT_Z:g,ZEROS:d,clone:o,create:r,freeze:i,fromArray:a,fromValues:s,ones:u,unitX:c,unitY:h,unitZ:f,zeros:l},Symbol.toStringTag,{value:"Module"})),n.d(e,["Cb",0,g,"Cw",0,m,"JP",0,y,"Un",0,p,"uY",0,d])},58083(t,e,n){n.d(e,{$0:()=>g,$h:()=>T,B8:()=>c,C:()=>s,D_:()=>a,N9:()=>_,O7:()=>S,Qw:()=>u,Tl:()=>f,X_:()=>w,e$:()=>p,eL:()=>m,hM:()=>M,hZ:()=>i,hs:()=>d,kN:()=>y,l:()=>x,lw:()=>h,mg:()=>l,o1:()=>A,sC:()=>v,t2:()=>P,t5:()=>O,tZ:()=>N,ut:()=>E,v3:()=>I});var r=n(51850),o=n(34304);function s(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function i(t,e,n,r,o,s,i,a,l,u,c,h,f,d,p,m,y){return t[0]=e,t[1]=n,t[2]=r,t[3]=o,t[4]=s,t[5]=i,t[6]=a,t[7]=l,t[8]=u,t[9]=c,t[10]=h,t[11]=f,t[12]=d,t[13]=p,t[14]=m,t[15]=y,t}function a(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function l(t,e){if(t===e){const n=e[1],r=e[2],o=e[3],s=e[6],i=e[7],a=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=n,t[6]=e[9],t[7]=e[13],t[8]=r,t[9]=s,t[11]=e[14],t[12]=o,t[13]=i,t[14]=a}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}function u(t,e){return c(t,e)||a(t),t}function c(t,e){const n=e[0],r=e[1],o=e[2],s=e[3],i=e[4],a=e[5],l=e[6],u=e[7],c=e[8],h=e[9],f=e[10],d=e[11],p=e[12],m=e[13],y=e[14],g=e[15],M=n*a-r*i,_=n*l-o*i,b=n*u-s*i,R=r*l-o*a,v=r*u-s*a,w=o*u-s*l,x=c*m-h*p,A=c*y-f*p,S=c*g-d*p,T=h*y-f*m,I=h*g-d*m,O=f*g-d*y;let C=M*O-_*I+b*T+R*S-v*A+w*x;return C?(C=1/C,t[0]=(a*O-l*I+u*T)*C,t[1]=(o*I-r*O-s*T)*C,t[2]=(m*w-y*v+g*R)*C,t[3]=(f*v-h*w-d*R)*C,t[4]=(l*S-i*O-u*A)*C,t[5]=(n*O-o*S+s*A)*C,t[6]=(y*b-p*w-g*_)*C,t[7]=(c*w-f*b+d*_)*C,t[8]=(i*I-a*S+u*x)*C,t[9]=(r*S-n*I-s*x)*C,t[10]=(p*v-m*b+g*M)*C,t[11]=(h*b-c*v-d*M)*C,t[12]=(a*A-i*T-l*x)*C,t[13]=(n*T-r*A+o*x)*C,t[14]=(m*_-p*R-y*M)*C,t[15]=(c*R-h*_+f*M)*C,t):null}function h(t,e,n){const r=e[0],o=e[1],s=e[2],i=e[3],a=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=e[9],d=e[10],p=e[11],m=e[12],y=e[13],g=e[14],M=e[15];let _=n[0],b=n[1],R=n[2],v=n[3];return t[0]=_*r+b*a+R*h+v*m,t[1]=_*o+b*l+R*f+v*y,t[2]=_*s+b*u+R*d+v*g,t[3]=_*i+b*c+R*p+v*M,_=n[4],b=n[5],R=n[6],v=n[7],t[4]=_*r+b*a+R*h+v*m,t[5]=_*o+b*l+R*f+v*y,t[6]=_*s+b*u+R*d+v*g,t[7]=_*i+b*c+R*p+v*M,_=n[8],b=n[9],R=n[10],v=n[11],t[8]=_*r+b*a+R*h+v*m,t[9]=_*o+b*l+R*f+v*y,t[10]=_*s+b*u+R*d+v*g,t[11]=_*i+b*c+R*p+v*M,_=n[12],b=n[13],R=n[14],v=n[15],t[12]=_*r+b*a+R*h+v*m,t[13]=_*o+b*l+R*f+v*y,t[14]=_*s+b*u+R*d+v*g,t[15]=_*i+b*c+R*p+v*M,t}function f(t,e,n){const r=n[0],o=n[1],s=n[2];if(e===t)t[12]=e[0]*r+e[4]*o+e[8]*s+e[12],t[13]=e[1]*r+e[5]*o+e[9]*s+e[13],t[14]=e[2]*r+e[6]*o+e[10]*s+e[14],t[15]=e[3]*r+e[7]*o+e[11]*s+e[15];else{const n=e[0],i=e[1],a=e[2],l=e[3],u=e[4],c=e[5],h=e[6],f=e[7],d=e[8],p=e[9],m=e[10],y=e[11];t[0]=n,t[1]=i,t[2]=a,t[3]=l,t[4]=u,t[5]=c,t[6]=h,t[7]=f,t[8]=d,t[9]=p,t[10]=m,t[11]=y,t[12]=n*r+u*o+d*s+e[12],t[13]=i*r+c*o+p*s+e[13],t[14]=a*r+h*o+m*s+e[14],t[15]=l*r+f*o+y*s+e[15]}return t}function d(t,e,n){const r=n[0],o=n[1],s=n[2];return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*o,t[5]=e[5]*o,t[6]=e[6]*o,t[7]=e[7]*o,t[8]=e[8]*s,t[9]=e[9]*s,t[10]=e[10]*s,t[11]=e[11]*s,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function p(t,e,n,r){let i=r[0],a=r[1],l=r[2],u=Math.sqrt(i*i+a*a+l*l);if(u<=(0,o.FD)())return void s(t,e);u=1/u,i*=u,a*=u,l*=u;const c=Math.sin(n),h=Math.cos(n),f=1-h,d=e[0],p=e[1],m=e[2],y=e[3],g=e[4],M=e[5],_=e[6],b=e[7],R=e[8],v=e[9],w=e[10],x=e[11],A=i*i*f+h,S=a*i*f+l*c,T=l*i*f-a*c,I=i*a*f-l*c,O=a*a*f+h,C=l*a*f+i*c,P=i*l*f+a*c,E=a*l*f-i*c,N=l*l*f+h;t[0]=d*A+g*S+R*T,t[1]=p*A+M*S+v*T,t[2]=m*A+_*S+w*T,t[3]=y*A+b*S+x*T,t[4]=d*I+g*O+R*C,t[5]=p*I+M*O+v*C,t[6]=m*I+_*O+w*C,t[7]=y*I+b*O+x*C,t[8]=d*P+g*E+R*N,t[9]=p*P+M*E+v*N,t[10]=m*P+_*E+w*N,t[11]=y*P+b*E+x*N,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15])}function m(t,e,n){const r=Math.sin(n),o=Math.cos(n),s=e[4],i=e[5],a=e[6],l=e[7],u=e[8],c=e[9],h=e[10],f=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=s*o+u*r,t[5]=i*o+c*r,t[6]=a*o+h*r,t[7]=l*o+f*r,t[8]=u*o-s*r,t[9]=c*o-i*r,t[10]=h*o-a*r,t[11]=f*o-l*r,t}function y(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t}function g(t,e,n){if(0===e)return a(t);let r=n[0],s=n[1],i=n[2],l=Math.sqrt(r*r+s*s+i*i);if(l<=(0,o.FD)())return null;l=1/l,r*=l,s*=l,i*=l;const u=Math.sin(e),c=Math.cos(e),h=1-c;return t[0]=r*r*h+c,t[1]=s*r*h+i*u,t[2]=i*r*h-s*u,t[3]=0,t[4]=r*s*h-i*u,t[5]=s*s*h+c,t[6]=i*s*h+r*u,t[7]=0,t[8]=r*i*h+s*u,t[9]=s*i*h-r*u,t[10]=i*i*h+c,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function M(t,e){const n=Math.sin(e),r=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=r,t[6]=n,t[7]=0,t[8]=0,t[9]=-n,t[10]=r,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function _(t,e){const n=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=n,t[2]=0,t[3]=0,t[4]=-n,t[5]=r,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function b(t,e,n){const r=e[0],o=e[1],s=e[2],i=e[3],a=r+r,l=o+o,u=s+s,c=r*a,h=r*l,f=r*u,d=o*l,p=o*u,m=s*u,y=i*a,g=i*l,M=i*u;return t[0]=1-(d+m),t[1]=h+M,t[2]=f-g,t[3]=0,t[4]=h-M,t[5]=1-(c+m),t[6]=p+y,t[7]=0,t[8]=f+g,t[9]=p-y,t[10]=1-(c+d),t[11]=0,t[12]=n[0],t[13]=n[1],t[14]=n[2],t[15]=1,t}const R=(0,r.vt)();function v(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t}function w(t,e){const n=e[0],r=e[1],o=e[2],s=e[4],i=e[5],a=e[6],l=e[8],u=e[9],c=e[10];return t[0]=Math.sqrt(n*n+r*r+o*o),t[1]=Math.sqrt(s*s+i*i+a*a),t[2]=Math.sqrt(l*l+u*u+c*c),t}function x(t,e){const n=e[0]+e[5]+e[10];let r=0;return n>0?(r=2*Math.sqrt(n+1),t[3]=.25*r,t[0]=(e[6]-e[9])/r,t[1]=(e[8]-e[2])/r,t[2]=(e[1]-e[4])/r):e[0]>e[5]&&e[0]>e[10]?(r=2*Math.sqrt(1+e[0]-e[5]-e[10]),t[3]=(e[6]-e[9])/r,t[0]=.25*r,t[1]=(e[1]+e[4])/r,t[2]=(e[8]+e[2])/r):e[5]>e[10]?(r=2*Math.sqrt(1+e[5]-e[0]-e[10]),t[3]=(e[8]-e[2])/r,t[0]=(e[1]+e[4])/r,t[1]=.25*r,t[2]=(e[6]+e[9])/r):(r=2*Math.sqrt(1+e[10]-e[0]-e[5]),t[3]=(e[1]-e[4])/r,t[0]=(e[8]+e[2])/r,t[1]=(e[6]+e[9])/r,t[2]=.25*r),t}function A(t,e,n,r){const o=e[0],s=e[1],i=e[2],a=e[3],l=o+o,u=s+s,c=i+i,h=o*l,f=o*u,d=o*c,p=s*u,m=s*c,y=i*c,g=a*l,M=a*u,_=a*c,b=r[0],R=r[1],v=r[2];return t[0]=(1-(p+y))*b,t[1]=(f+_)*b,t[2]=(d-M)*b,t[3]=0,t[4]=(f-_)*R,t[5]=(1-(h+y))*R,t[6]=(m+g)*R,t[7]=0,t[8]=(d+M)*v,t[9]=(m-g)*v,t[10]=(1-(h+p))*v,t[11]=0,t[12]=n[0],t[13]=n[1],t[14]=n[2],t[15]=1,t}function S(t,e,n,r,o){const s=e[0],i=e[1],a=e[2],l=e[3],u=s+s,c=i+i,h=a+a,f=s*u,d=s*c,p=s*h,m=i*c,y=i*h,g=a*h,M=l*u,_=l*c,b=l*h,R=r[0],v=r[1],w=r[2],x=o[0],A=o[1],S=o[2],T=(1-(m+g))*R,I=(d+b)*R,O=(p-_)*R,C=(d-b)*v,P=(1-(f+g))*v,E=(y+M)*v,N=(p+_)*w,L=(y-M)*w,G=(1-(f+m))*w;return t[0]=T,t[1]=I,t[2]=O,t[3]=0,t[4]=C,t[5]=P,t[6]=E,t[7]=0,t[8]=N,t[9]=L,t[10]=G,t[11]=0,t[12]=n[0]+x-(T*x+C*A+N*S),t[13]=n[1]+A-(I*x+P*A+L*S),t[14]=n[2]+S-(O*x+E*A+G*S),t[15]=1,t}function T(t,e,n,r,o,s,i){const a=1/(n-e),l=1/(o-r),u=1/(s-i);return t[0]=2*s*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*s*l,t[6]=0,t[7]=0,t[8]=(n+e)*a,t[9]=(o+r)*l,t[10]=(i+s)*u,t[11]=-1,t[12]=0,t[13]=0,t[14]=i*s*2*u,t[15]=0,t}function I(t,e,n,r,o,s,i){const a=1/(e-n),l=1/(r-o),u=1/(s-i);return t[0]=-2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+n)*a,t[13]=(o+r)*l,t[14]=(i+s)*u,t[15]=1,t}function O(t,e,n,r){const s=e[0],i=e[1],l=e[2];let u=s-n[0],c=i-n[1],h=l-n[2];const f=(0,o.FD)();if(Math.abs(u)<f&&Math.abs(c)<f&&Math.abs(h)<f)return void a(t);let d=1/Math.sqrt(u*u+c*c+h*h);u*=d,c*=d,h*=d;const p=r[0],m=r[1],y=r[2];let g=m*h-y*c,M=y*u-p*h,_=p*c-m*u;d=Math.sqrt(g*g+M*M+_*_),d?(d=1/d,g*=d,M*=d,_*=d):(g=0,M=0,_=0);let b=c*_-h*M,R=h*g-u*_,v=u*M-c*g;d=Math.sqrt(b*b+R*R+v*v),d?(d=1/d,b*=d,R*=d,v*=d):(b=0,R=0,v=0),t[0]=g,t[1]=b,t[2]=u,t[3]=0,t[4]=M,t[5]=R,t[6]=c,t[7]=0,t[8]=_,t[9]=v,t[10]=h,t[11]=0,t[12]=-(g*s+M*i+_*l),t[13]=-(b*s+R*i+v*l),t[14]=-(u*s+c*i+h*l),t[15]=1}function C(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2],t[3]=e[3]-n[3],t[4]=e[4]-n[4],t[5]=e[5]-n[5],t[6]=e[6]-n[6],t[7]=e[7]-n[7],t[8]=e[8]-n[8],t[9]=e[9]-n[9],t[10]=e[10]-n[10],t[11]=e[11]-n[11],t[12]=e[12]-n[12],t[13]=e[13]-n[13],t[14]=e[14]-n[14],t[15]=e[15]-n[15],t}function P(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]&&t[9]===e[9]&&t[10]===e[10]&&t[11]===e[11]&&t[12]===e[12]&&t[13]===e[13]&&t[14]===e[14]&&t[15]===e[15]}function E(t){const e=(0,o.FD)(),n=t[0],r=t[1],s=t[2],i=t[4],a=t[5],l=t[6],u=t[8],c=t[9],h=t[10];return Math.abs(1-(n*n+i*i+u*u))<=e&&Math.abs(1-(r*r+a*a+c*c))<=e&&Math.abs(1-(s*s+l*l+h*h))<=e}function N(t){return 1===t[0]&&0===t[1]&&0===t[2]&&0===t[4]&&1===t[5]&&0===t[6]&&0===t[8]&&0===t[9]&&1===t[10]}const L=h,G=C;Object.freeze(Object.defineProperty({__proto__:null,add:function(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t[3]=e[3]+n[3],t[4]=e[4]+n[4],t[5]=e[5]+n[5],t[6]=e[6]+n[6],t[7]=e[7]+n[7],t[8]=e[8]+n[8],t[9]=e[9]+n[9],t[10]=e[10]+n[10],t[11]=e[11]+n[11],t[12]=e[12]+n[12],t[13]=e[13]+n[13],t[14]=e[14]+n[14],t[15]=e[15]+n[15],t},adjoint:function(t,e){const n=e[0],r=e[1],o=e[2],s=e[3],i=e[4],a=e[5],l=e[6],u=e[7],c=e[8],h=e[9],f=e[10],d=e[11],p=e[12],m=e[13],y=e[14],g=e[15];return t[0]=a*(f*g-d*y)-h*(l*g-u*y)+m*(l*d-u*f),t[1]=-(r*(f*g-d*y)-h*(o*g-s*y)+m*(o*d-s*f)),t[2]=r*(l*g-u*y)-a*(o*g-s*y)+m*(o*u-s*l),t[3]=-(r*(l*d-u*f)-a*(o*d-s*f)+h*(o*u-s*l)),t[4]=-(i*(f*g-d*y)-c*(l*g-u*y)+p*(l*d-u*f)),t[5]=n*(f*g-d*y)-c*(o*g-s*y)+p*(o*d-s*f),t[6]=-(n*(l*g-u*y)-i*(o*g-s*y)+p*(o*u-s*l)),t[7]=n*(l*d-u*f)-i*(o*d-s*f)+c*(o*u-s*l),t[8]=i*(h*g-d*m)-c*(a*g-u*m)+p*(a*d-u*h),t[9]=-(n*(h*g-d*m)-c*(r*g-s*m)+p*(r*d-s*h)),t[10]=n*(a*g-u*m)-i*(r*g-s*m)+p*(r*u-s*a),t[11]=-(n*(a*d-u*h)-i*(r*d-s*h)+c*(r*u-s*a)),t[12]=-(i*(h*y-f*m)-c*(a*y-l*m)+p*(a*f-l*h)),t[13]=n*(h*y-f*m)-c*(r*y-o*m)+p*(r*f-o*h),t[14]=-(n*(a*y-l*m)-i*(r*y-o*m)+p*(r*l-o*a)),t[15]=n*(a*f-l*h)-i*(r*f-o*h)+c*(r*l-o*a),t},copy:s,determinant:function(t){const e=t[0],n=t[1],r=t[2],o=t[3],s=t[4],i=t[5],a=t[6],l=t[7],u=t[8],c=t[9],h=t[10],f=t[11],d=t[12],p=t[13],m=t[14],y=t[15];return(e*i-n*s)*(h*y-f*m)-(e*a-r*s)*(c*y-f*p)+(e*l-o*s)*(c*m-h*p)+(n*a-r*i)*(u*y-f*d)-(n*l-o*i)*(u*m-h*d)+(r*l-o*a)*(u*p-c*d)},equals:function(t,e){if(t===e)return!0;const n=t[0],r=t[1],s=t[2],i=t[3],a=t[4],l=t[5],u=t[6],c=t[7],h=t[8],f=t[9],d=t[10],p=t[11],m=t[12],y=t[13],g=t[14],M=t[15],_=e[0],b=e[1],R=e[2],v=e[3],w=e[4],x=e[5],A=e[6],S=e[7],T=e[8],I=e[9],O=e[10],C=e[11],P=e[12],E=e[13],N=e[14],L=e[15],G=(0,o.FD)();return Math.abs(n-_)<=G*Math.max(1,Math.abs(n),Math.abs(_))&&Math.abs(r-b)<=G*Math.max(1,Math.abs(r),Math.abs(b))&&Math.abs(s-R)<=G*Math.max(1,Math.abs(s),Math.abs(R))&&Math.abs(i-v)<=G*Math.max(1,Math.abs(i),Math.abs(v))&&Math.abs(a-w)<=G*Math.max(1,Math.abs(a),Math.abs(w))&&Math.abs(l-x)<=G*Math.max(1,Math.abs(l),Math.abs(x))&&Math.abs(u-A)<=G*Math.max(1,Math.abs(u),Math.abs(A))&&Math.abs(c-S)<=G*Math.max(1,Math.abs(c),Math.abs(S))&&Math.abs(h-T)<=G*Math.max(1,Math.abs(h),Math.abs(T))&&Math.abs(f-I)<=G*Math.max(1,Math.abs(f),Math.abs(I))&&Math.abs(d-O)<=G*Math.max(1,Math.abs(d),Math.abs(O))&&Math.abs(p-C)<=G*Math.max(1,Math.abs(p),Math.abs(C))&&Math.abs(m-P)<=G*Math.max(1,Math.abs(m),Math.abs(P))&&Math.abs(y-E)<=G*Math.max(1,Math.abs(y),Math.abs(E))&&Math.abs(g-N)<=G*Math.max(1,Math.abs(g),Math.abs(N))&&Math.abs(M-L)<=G*Math.max(1,Math.abs(M),Math.abs(L))},exactEquals:P,frob:function(t){return Math.sqrt(t[0]**2+t[1]**2+t[2]**2+t[3]**2+t[4]**2+t[5]**2+t[6]**2+t[7]**2+t[8]**2+t[9]**2+t[10]**2+t[11]**2+t[12]**2+t[13]**2+t[14]**2+t[15]**2)},fromQuat:function(t,e){const n=e[0],r=e[1],o=e[2],s=e[3],i=n+n,a=r+r,l=o+o,u=n*i,c=r*i,h=r*a,f=o*i,d=o*a,p=o*l,m=s*i,y=s*a,g=s*l;return t[0]=1-h-p,t[1]=c+g,t[2]=f-y,t[3]=0,t[4]=c-g,t[5]=1-u-p,t[6]=d+m,t[7]=0,t[8]=f+y,t[9]=d-m,t[10]=1-u-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},fromQuat2:function(t,e){const n=R,r=-e[0],o=-e[1],s=-e[2],i=e[3],a=e[4],l=e[5],u=e[6],c=e[7],h=r*r+o*o+s*s+i*i;return h>0?(n[0]=2*(a*i+c*r+l*s-u*o)/h,n[1]=2*(l*i+c*o+u*r-a*s)/h,n[2]=2*(u*i+c*s+a*o-l*r)/h):(n[0]=2*(a*i+c*r+l*s-u*o),n[1]=2*(l*i+c*o+u*r-a*s),n[2]=2*(u*i+c*s+a*o-l*r)),b(t,e,n),t},fromRotation:g,fromRotationTranslation:b,fromRotationTranslationScale:A,fromRotationTranslationScaleOrigin:S,fromScaling:function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},fromTranslation:y,fromXRotation:M,fromYRotation:function(t,e){const n=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=0,t[2]=-n,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=n,t[9]=0,t[10]=r,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},fromZRotation:_,frustum:T,getRotation:x,getScale:w,getTranslation:v,hasIdentityRotation:N,identity:a,invert:c,invertOrIdentity:u,isOrthoNormal:E,lookAt:O,mul:L,multiply:h,multiplyScalar:function(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*n,t[5]=e[5]*n,t[6]=e[6]*n,t[7]=e[7]*n,t[8]=e[8]*n,t[9]=e[9]*n,t[10]=e[10]*n,t[11]=e[11]*n,t[12]=e[12]*n,t[13]=e[13]*n,t[14]=e[14]*n,t[15]=e[15]*n,t},multiplyScalarAndAdd:function(t,e,n,r){return t[0]=e[0]+n[0]*r,t[1]=e[1]+n[1]*r,t[2]=e[2]+n[2]*r,t[3]=e[3]+n[3]*r,t[4]=e[4]+n[4]*r,t[5]=e[5]+n[5]*r,t[6]=e[6]+n[6]*r,t[7]=e[7]+n[7]*r,t[8]=e[8]+n[8]*r,t[9]=e[9]+n[9]*r,t[10]=e[10]+n[10]*r,t[11]=e[11]+n[11]*r,t[12]=e[12]+n[12]*r,t[13]=e[13]+n[13]*r,t[14]=e[14]+n[14]*r,t[15]=e[15]+n[15]*r,t},ortho:I,perspective:function(t,e,n,r,o){const s=1/Math.tan(e/2);let i;return t[0]=s/n,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=s,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=o&&o!==1/0?(i=1/(r-o),t[10]=(o+r)*i,t[14]=2*o*r*i):(t[10]=-1,t[14]=-2*r),t},perspectiveFromFieldOfView:function(t,e,n,r){const o=Math.tan(e.upDegrees*Math.PI/180),s=Math.tan(e.downDegrees*Math.PI/180),i=Math.tan(e.leftDegrees*Math.PI/180),a=Math.tan(e.rightDegrees*Math.PI/180),l=2/(i+a),u=2/(o+s);return t[0]=l,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=-(i-a)*l*.5,t[9]=(o-s)*u*.5,t[10]=r/(n-r),t[11]=-1,t[12]=0,t[13]=0,t[14]=r*n/(n-r),t[15]=0,t},rotate:p,rotateX:m,rotateY:function(t,e,n){const r=Math.sin(n),o=Math.cos(n),s=e[0],i=e[1],a=e[2],l=e[3],u=e[8],c=e[9],h=e[10],f=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=s*o-u*r,t[1]=i*o-c*r,t[2]=a*o-h*r,t[3]=l*o-f*r,t[8]=s*r+u*o,t[9]=i*r+c*o,t[10]=a*r+h*o,t[11]=l*r+f*o,t},rotateZ:function(t,e,n){const r=Math.sin(n),o=Math.cos(n),s=e[0],i=e[1],a=e[2],l=e[3],u=e[4],c=e[5],h=e[6],f=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=s*o+u*r,t[1]=i*o+c*r,t[2]=a*o+h*r,t[3]=l*o+f*r,t[4]=u*o-s*r,t[5]=c*o-i*r,t[6]=h*o-a*r,t[7]=f*o-l*r,t},scale:d,set:i,str:function(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"},sub:G,subtract:C,targetTo:function(t,e,n,r){const o=e[0],s=e[1],i=e[2],a=r[0],l=r[1],u=r[2];let c=o-n[0],h=s-n[1],f=i-n[2],d=c*c+h*h+f*f;d>0&&(d=1/Math.sqrt(d),c*=d,h*=d,f*=d);let p=l*f-u*h,m=u*c-a*f,y=a*h-l*c;return d=p*p+m*m+y*y,d>0&&(d=1/Math.sqrt(d),p*=d,m*=d,y*=d),t[0]=p,t[1]=m,t[2]=y,t[3]=0,t[4]=h*y-f*m,t[5]=f*p-c*y,t[6]=c*m-h*p,t[7]=0,t[8]=c,t[9]=h,t[10]=f,t[11]=0,t[12]=o,t[13]=s,t[14]=i,t[15]=1,t},translate:f,transpose:l},Symbol.toStringTag,{value:"Module"}))},35522(t,e,n){n.d(e,{$A:()=>A,Bw:()=>s,C:()=>i,Cc:()=>S,DI:()=>v,Io:()=>M,Ln:()=>g,Om:()=>x,Qr:()=>h,Re:()=>u,S8:()=>w,T9:()=>m,WQ:()=>l,Z0:()=>T,_S:()=>d,aI:()=>G,ei:()=>I,fw:()=>C,g7:()=>P,gL:()=>O,hG:()=>_,hZ:()=>a,hs:()=>y,jk:()=>p,lw:()=>c,m3:()=>b,oW:()=>D,t2:()=>L,tn:()=>f,ze:()=>R});var r=n(51850),o=n(34304);function s(t){const e=t[0],n=t[1],r=t[2];return Math.sqrt(e*e+n*n+r*r)}function i(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function a(t,e,n,r){return t[0]=e,t[1]=n,t[2]=r,t}function l(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t}function u(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2],t}function c(t,e,n){return t[0]=e[0]*n[0],t[1]=e[1]*n[1],t[2]=e[2]*n[2],t}function h(t,e,n){return t[0]=e[0]/n[0],t[1]=e[1]/n[1],t[2]=e[2]/n[2],t}function f(t,e){return t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t}function d(t,e){return t[0]=Math.sign(e[0]),t[1]=Math.sign(e[1]),t[2]=Math.sign(e[2]),t}function p(t,e,n){return t[0]=Math.min(e[0],n[0]),t[1]=Math.min(e[1],n[1]),t[2]=Math.min(e[2],n[2]),t}function m(t,e,n){return t[0]=Math.max(e[0],n[0]),t[1]=Math.max(e[1],n[1]),t[2]=Math.max(e[2],n[2]),t}function y(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t}function g(t,e,n,r){return t[0]=e[0]+n[0]*r,t[1]=e[1]+n[1]*r,t[2]=e[2]+n[2]*r,t}function M(t,e){const n=e[0]-t[0],r=e[1]-t[1],o=e[2]-t[2];return Math.sqrt(n*n+r*r+o*o)}function _(t,e){const n=e[0]-t[0],r=e[1]-t[1],o=e[2]-t[2];return n*n+r*r+o*o}function b(t){const e=t[0],n=t[1],r=t[2];return e*e+n*n+r*r}function R(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}function v(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}function w(t,e){const n=e[0],r=e[1],o=e[2];let s=n*n+r*r+o*o;return s>0&&(s=1/Math.sqrt(s),t[0]=e[0]*s,t[1]=e[1]*s,t[2]=e[2]*s),t}function x(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function A(t,e,n){const r=e[0],o=e[1],s=e[2],i=n[0],a=n[1],l=n[2];return t[0]=o*l-s*a,t[1]=s*i-r*l,t[2]=r*a-o*i,t}function S(t,e,n,r){const o=e[0],s=e[1],i=e[2];return t[0]=o+r*(n[0]-o),t[1]=s+r*(n[1]-s),t[2]=i+r*(n[2]-i),t}function T(t,e,n){const r=e[0],o=e[1],s=e[2];return t[0]=n[0]*r+n[4]*o+n[8]*s+n[12],t[1]=n[1]*r+n[5]*o+n[9]*s+n[13],t[2]=n[2]*r+n[6]*o+n[10]*s+n[14],t}function I(t,e,n){const r=e[0],o=e[1],s=e[2];return t[0]=r*n[0]+o*n[3]+s*n[6],t[1]=r*n[1]+o*n[4]+s*n[7],t[2]=r*n[2]+o*n[5]+s*n[8],t}function O(t,e,n){return C(t,e,n[0],n[1],n[2],n[3])}function C(t,e,n,r,o,s){const i=e[0],a=e[1],l=e[2],u=r*l-o*a,c=o*i-n*l,h=n*a-r*i,f=r*h-o*c,d=o*u-n*h,p=n*c-r*u,m=2*s;return t[0]=i+u*m+2*f,t[1]=a+c*m+2*d,t[2]=l+h*m+2*p,t}function P(t,e){w(E,t),w(N,e);const n=x(E,N);return n>1?0:n<-1?Math.PI:Math.acos(n)}const E=(0,r.vt)(),N=(0,r.vt)();function L(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}function G(t,e){if(t===e)return!0;const n=t[0],r=t[1],s=t[2],i=e[0],a=e[1],l=e[2],u=(0,o.FD)();return Math.abs(n-i)<=u*Math.max(1,Math.abs(n),Math.abs(i))&&Math.abs(r-a)<=u*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(s-l)<=u*Math.max(1,Math.abs(s),Math.abs(l))}function D(t,e,n){const r=n[0]-e[0],o=n[1]-e[1],s=n[2]-e[2];let i=r*r+o*o+s*s;return i>0?(i=1/Math.sqrt(i),t[0]=r*i,t[1]=o*i,t[2]=s*i,t):(t[0]=0,t[1]=0,t[2]=0,t)}const B=u,j=c,U=h,k=M,F=_,Z=s,q=b;Object.freeze(Object.defineProperty({__proto__:null,abs:f,add:l,angle:P,bezier:function(t,e,n,r,o,s){const i=1-s,a=i*i,l=s*s,u=a*i,c=3*s*a,h=3*l*i,f=l*s;return t[0]=e[0]*u+n[0]*c+r[0]*h+o[0]*f,t[1]=e[1]*u+n[1]*c+r[1]*h+o[1]*f,t[2]=e[2]*u+n[2]*c+r[2]*h+o[2]*f,t},ceil:function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t},clamp:function(t,e=0,n=1){return t[0]=Math.min(Math.max(t[0],e),n),t[1]=Math.min(Math.max(t[1],e),n),t[2]=Math.min(Math.max(t[2],e),n),t},copy:i,cross:A,crossAndNormalize:function(t,e,n){const r=e[0],o=e[1],s=e[2],i=n[0],a=n[1],l=n[2],u=o*l-s*a,c=s*i-r*l,h=r*a-o*i,f=Math.sqrt(u*u+c*c+h*h);return t[0]=u/f,t[1]=c/f,t[2]=h/f,t},direction:D,dist:k,distance:M,div:U,divide:h,dot:x,equals:G,exactEquals:L,floor:function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t},hermite:function(t,e,n,r,o,s){const i=s*s,a=i*(2*s-3)+1,l=i*(s-2)+s,u=i*(s-1),c=i*(3-2*s);return t[0]=e[0]*a+n[0]*l+r[0]*u+o[0]*c,t[1]=e[1]*a+n[1]*l+r[1]*u+o[1]*c,t[2]=e[2]*a+n[2]*l+r[2]*u+o[2]*c,t},inverse:v,len:Z,length:s,lerp:S,max:m,min:p,mul:j,multiply:c,negate:R,normalize:w,random:function(t,e=1){const n=o.Ov,r=2*n()*Math.PI,s=2*n()-1,i=Math.sqrt(1-s*s)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=s*e,t},rotateX:function(t,e,n,r){const o=[],s=[];return o[0]=e[0]-n[0],o[1]=e[1]-n[1],o[2]=e[2]-n[2],s[0]=o[0],s[1]=o[1]*Math.cos(r)-o[2]*Math.sin(r),s[2]=o[1]*Math.sin(r)+o[2]*Math.cos(r),t[0]=s[0]+n[0],t[1]=s[1]+n[1],t[2]=s[2]+n[2],t},rotateY:function(t,e,n,r){const o=[],s=[];return o[0]=e[0]-n[0],o[1]=e[1]-n[1],o[2]=e[2]-n[2],s[0]=o[2]*Math.sin(r)+o[0]*Math.cos(r),s[1]=o[1],s[2]=o[2]*Math.cos(r)-o[0]*Math.sin(r),t[0]=s[0]+n[0],t[1]=s[1]+n[1],t[2]=s[2]+n[2],t},rotateZ:function(t,e,n,r){const o=[],s=[];return o[0]=e[0]-n[0],o[1]=e[1]-n[1],o[2]=e[2]-n[2],s[0]=o[0]*Math.cos(r)-o[1]*Math.sin(r),s[1]=o[0]*Math.sin(r)+o[1]*Math.cos(r),s[2]=o[2],t[0]=s[0]+n[0],t[1]=s[1]+n[1],t[2]=s[2]+n[2],t},round:function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t},scale:y,scaleAndAdd:g,set:a,sign:d,sqrDist:F,sqrLen:q,squaredDistance:_,squaredLength:b,str:function(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"},sub:B,subtract:u,transformMat3:I,transformMat4:T,transformMat4Z:function(t,e){return e[2]*t[0]+e[6]*t[1]+e[10]*t[2]+e[14]},transformQuat:O,transformQuatValues:C},Symbol.toStringTag,{value:"Module"})),n.d(e,["Il",0,Z,"jb",0,B,"lo",0,F,"uE",0,q,"xg",0,k])},83027(t,e,n){const r=n(29953).ho;n.d(e,["h",0,r])},35982(t,e,n){n.d(e,{B:()=>c});var r=n(4576),o=n(71511),s=n(36563),i=n(53966),a=n(97768),l=n(17676),u=n(83027);class c{constructor(t,e,n,r,o={}){this._mainMethod=e,this._transferLists=n,this._listeners=[],this._onClientConnectedHandle=null,this._destroyed=!1,this._promise=(0,u.h)(t,{...o,schedule:r}).then(t=>{null!=this._thread||this._destroyed?t.close():(this._thread=t,this._promise=null,this._onClientConnectedHandle=this._thread.onClientConnected(t=>{o.hasInitialize&&t.invoke("initialize",{}).catch(()=>{});for(const e of this._listeners)this._connectListenerToClient(e,t);this._onClientConnected(t)}))}),this._promise.catch(e=>i.A.getLogger("esri.core.workers.WorkerHandle").error(`Failed to initialize ${t} worker: ${e}`))}on(t,e){const n=new h(t,e);return this._listeners.push(n),this._connectListener(n),(0,s.hA)(()=>{(0,r.TF)(this._listeners,n),n.destroy()})}[Symbol.dispose](){this.destroy()}destroy(){this._onClientConnectedHandle=(0,a.xt)(this._onClientConnectedHandle),this._thread&&(this._thread.close(),this._thread=null),this._promise=null;for(const t of this._listeners)t.destroy();this._listeners.length=0,this._transferLists={},this._destroyed=!0}invoke(t,e,n){return this.invokeMethod(this._mainMethod,t,e,n)}invokeMethod(t,e,n,r){if(this._thread){const o=this._transferLists[t],s=o?o(e):[];return this._thread.invoke(t,e,{transferList:s,signal:n,jobPriority:r})}return this._promise?this._promise.then(()=>((0,l.Te)(n),this.invokeMethod(t,e,n))):Promise.reject((0,l.NK)())}broadcast(t,e){return this._thread?Promise.all(this._thread.broadcast(e,t)).then(f):this._promise?this._promise.then(()=>this.broadcast(t,e)):Promise.reject((0,l.NK)())}get promise(){return this._promise}_onClientConnected(t){}_connectListener(t){this._thread&&t.add(this._thread.on(t.eventName,t.callback))}_connectListenerToClient(t,e){t.add(e.on(t.eventName,t.callback))}}class h{constructor(t,e){this.eventName=t,this.callback=e,this._handles=new o.A}add(t){this._handles.add(t)}destroy(){this._handles.destroy()}}function f(){}},48526(t,e,n){n.d(e,{A:()=>y});var r,o=n(5482),s=n(4576),i=n(4718),a=n(91429),l=n(5443),u=n(91075),c=n(86738),h=n(16930),f=n(90634),d=n(47610),p=n(56993),m=n(43937);let y=r=class extends u.A{constructor(t){super(function(t){if(!t)return;let{points:e,hasM:n,hasZ:r,spatialReference:o}=t;switch(e??=[],e?.at(0)?.length){case 4:r??=!0,n??=!0;break;case 3:r??=!0!==n,n??=!r;break;default:r??=!1,n??=!1}return o??=h.A.WGS84,{...t,hasM:n,hasZ:r,points:e,spatialReference:o}}(t)),this.points=[],this.type="multipoint"}get cache(){return this.commitProperty("points"),this.commitProperty("hasZ"),this.commitProperty("hasM"),this.commitProperty("spatialReference"),{}}get extent(){const t=(0,f.ge)(this);return t?new l.A({...t,spatialReference:this.spatialReference}):null}writePoints(t,e){e.points=(0,i.o8)(this.points)}clone(){const{points:t,spatialReference:e,hasM:n,hasZ:o}=this;return new r({points:(0,i.o8)(t),spatialReference:e.clone(),hasM:n,hasZ:o})}equals(t){if(this===t)return!0;if(null==t)return!1;const e=this.spatialReference,n=t.spatialReference;return null!=e==(null!=n)&&!(null!=e&&null!=n&&!e.equals(n))&&(0,s.aI)(this.points,t.points,d.v6)}addPoint(t){return(0,p.h)(this,t),Array.isArray(t)?this.points.push(t):this.points.push(t.toArray()),this.notifyChange("points"),this}getPoint(t){if(!this._validateInputs(t))return null;const e=this.points[t],n={x:e[0],y:e[1],spatialReference:this.spatialReference};let r=2;return this.hasZ&&(n.z=e[2],r=3),this.hasM&&(n.m=e[r]),new c.A(n)}removePoint(t){if(!this._validateInputs(t))return null;const e=new c.A(this.points.splice(t,1)[0],this.spatialReference);return this.notifyChange("points"),e}setPoint(t,e){return this._validateInputs(t)?((0,p.h)(this,e),Array.isArray(e)||(e=e.toArray()),this.points[t]=e,this.notifyChange("points"),this):this}toJSON(t){return this.write({},t)}_validateInputs(t){return null!=t&&t>=0&&t<this.points.length}};(0,o.Cg)([(0,a.MZ)({readOnly:!0})],y.prototype,"cache",null),(0,o.Cg)([(0,a.MZ)({readOnly:!0})],y.prototype,"extent",null),(0,o.Cg)([(0,a.MZ)({type:[[Number]],json:{write:{isRequired:!0}}})],y.prototype,"points",void 0),(0,o.Cg)([(0,m.K)("points")],y.prototype,"writePoints",null),y=r=(0,o.Cg)([(0,a.$K)("esri.geometry.Multipoint")],y),y.prototype.toJSON.isDefaultToJSON=!0},82799(t,e,n){n.d(e,{A:()=>p});var r,o=n(5482),s=n(4718),i=n(91429),a=n(5443),l=n(91075),u=n(86738),c=n(16930),h=n(90634),f=n(56993),d=n(43937);let p=r=class extends l.A{constructor(t){super(function(t){if(!t)return;let{paths:e,hasM:n,hasZ:r,spatialReference:o}=t;switch(e??=[],function(t){return"number"==typeof t[0]?.[0]}(e)&&(e=[e]),e[0]?.[0]?.length){case 4:r??=!0,n??=!0;break;case 3:r??=!0!==n,n??=!r;break;default:r??=!1,n??=!1}return o??=c.A.WGS84,{...t,hasM:n,hasZ:r,paths:e,spatialReference:o}}(t)),this.curvePaths=void 0,this.paths=[],this.type="polyline"}get cache(){return this.commitProperty("curvePaths"),this.commitProperty("hasM"),this.commitProperty("hasZ"),this.commitProperty("paths"),this.commitProperty("spatialReference"),{}}writeCurvePaths(t,e){e.curvePaths=(0,s.o8)(t)}get extent(){const t=(0,h.Z3)(this),{spatialReference:e}=this;return t?new a.A({...t,spatialReference:e}):null}writePaths(t,e){e.paths=(0,s.o8)(this.paths)}addPath(t){if(!t)return;const e=this.paths,n=e.length;if(function(t){return!Array.isArray(t[0])}(t)){const r=[];for(let e=0,n=t.length;e<n;e++)r[e]=t[e].toArray();e[n]=r}else e[n]=t.slice();return this.notifyChange("paths"),this}clone(){const t=new r;return t.spatialReference=this.spatialReference,t.paths=(0,s.o8)(this.paths),t.curvePaths=(0,s.o8)(this.curvePaths),t.hasZ=this.hasZ,t.hasM=this.hasM,t}getPoint(t,e){if(!this._validateInputs(t,e))return null;const n=this.paths[t][e],r=this.hasZ,o=this.hasM;return r&&!o?new u.A(n[0],n[1],n[2],void 0,this.spatialReference):o&&!r?new u.A(n[0],n[1],void 0,n[2],this.spatialReference):r&&o?new u.A(n[0],n[1],n[2],n[3],this.spatialReference):new u.A(n[0],n[1],this.spatialReference)}insertPoint(t,e,n){return this._validateInputs(t,e,!0)?((0,f.h)(this,n),Array.isArray(n)||(n=n.toArray()),this.paths[t].splice(e,0,n),this.notifyChange("paths"),this):this}removePath(t){if(!this._validateInputs(t,null))return null;const e=this.paths.splice(t,1)[0],n=this.spatialReference,r=e.map(t=>new u.A(t,n));return this.notifyChange("paths"),r}removePoint(t,e){if(!this._validateInputs(t,e))return null;const n=new u.A(this.paths[t].splice(e,1)[0],this.spatialReference);return this.notifyChange("paths"),n}setPoint(t,e,n){return this._validateInputs(t,e)?((0,f.h)(this,n),Array.isArray(n)||(n=n.toArray()),this.paths[t][e]=n,this.notifyChange("paths"),this):this}_validateInputs(t,e,n=!1){if(null==t||t<0||t>=this.paths.length)return!1;if(null!=e){const r=this.paths[t];if(n&&(e<0||e>r.length))return!1;if(!n&&(e<0||e>=r.length))return!1}return!0}toJSON(t){return this.write({},t)}};(0,o.Cg)([(0,i.MZ)({readOnly:!0})],p.prototype,"cache",null),(0,o.Cg)([(0,i.MZ)({json:{write:!0,origins:{"portal-item":{write:!1},"web-map":{write:!1},"web-scene":{write:!1}}}})],p.prototype,"curvePaths",void 0),(0,o.Cg)([(0,d.K)("curvePaths")],p.prototype,"writeCurvePaths",null),(0,o.Cg)([(0,i.MZ)({readOnly:!0})],p.prototype,"extent",null),(0,o.Cg)([(0,i.MZ)({type:[[[Number]]],json:{write:{isRequired:!0}}})],p.prototype,"paths",void 0),(0,o.Cg)([(0,d.K)("paths")],p.prototype,"writePaths",null),p=r=(0,o.Cg)([(0,i.$K)("esri.geometry.Polyline")],p),p.prototype.toJSON.isDefaultToJSON=!0},159(t,e,n){n.d(e,{A:()=>u});var r,o=n(5482),s=n(69540),i=n(25482),a=n(91429),l=n(99157);let u=r=class extends((0,s.OU)(i.o)){constructor(t){super(t),this.steps=[]}getInverse(){const t=new r;for(let e=this.steps.length-1;e>=0;e--){const n=this.steps[e];t.steps.push(n.getInverse())}return t}};(0,o.Cg)([(0,a.MZ)({type:[l.A],nonNullable:!0,json:{name:"geoTransforms"}})],u.prototype,"steps",void 0),u=r=(0,o.Cg)([(0,a.$K)("esri.geometry.operators.support.GeographicTransformation")],u)},99157(t,e,n){n.d(e,{A:()=>l});var r,o=n(5482),s=n(69540),i=n(25482),a=n(91429);let l=r=class extends((0,s.OU)(i.o)){constructor(t){super(t),this.isInverse=!1,this.wkt=null,this.wkid=null}getInverse(){return new r({isInverse:!this.isInverse,wkid:this.wkid,wkt:this.wkt})}};(0,o.Cg)([(0,a.MZ)({json:{name:"transformForward",read:t=>!t,write:(t,e,n)=>{e[n]=!t}}})],l.prototype,"isInverse",void 0),(0,o.Cg)([(0,a.MZ)({json:{write:!0}})],l.prototype,"wkt",void 0),(0,o.Cg)([(0,a.MZ)({json:{write:!0}})],l.prototype,"wkid",void 0),l=r=(0,o.Cg)([(0,a.$K)("esri.geometry.operators.support.GeographicTransformationStep")],l)},9762(t,e,n){n.r(e),n.d(e,{projectBuffer:()=>o});var r=n(49208);function o(t,e,n,o,s,i,a=Math.floor(t.length/3)){const l=(0,r.jd)(e,s);if(null==l)return!1;if(l===r.pO){if(t===o&&n===i)return!0;const e=n+3*a;for(let r=n,s=i;r<e;r++,s++)o[s]=t[r]??0;return!0}const u=n+3*a;for(let e=n,r=i;e<u;e+=3,r+=3)l(t,e,o,r);return!0}},65806(t,e,n){n.d(e,{g:()=>i});var r=n(51850),o=n(91218),s=n(9762);function i(t,e,n,r){if((0,o.canProjectWithoutEngine)(t.spatialReference,n))return a[0]=t.x,a[1]=t.y,a[2]=t.z??0,(0,s.projectBuffer)(a,t.spatialReference,0,e,n,0);const i=(0,o.tryProject)(t,n,r);return!!i&&(e[0]=i.x,e[1]=i.y,e[2]=i.z??0,!0)}const a=(0,r.vt)()},27993(t,e,n){n.d(e,{F:()=>a});var r=n(91218),o=n(16930),s=n(9762),i=n(65806);function a(t,e,n,o){return!(null==e||null==o||t.length<2)&&((0,r.canProjectWithoutEngine)(e,o)?(0,s.projectBuffer)(t,e,0,n,o,0,1):(l.x=t[0],l.y=t[1],l.z=t[2],l.spatialReference=e,(0,i.g)(l,n,o)))}const l={x:0,y:0,z:0,hasZ:!0,hasM:!1,spatialReference:o.A.WGS84,type:"point"}},49208(t,e,n){n.d(e,{Tp:()=>h,jd:()=>c,pO:()=>d});var r=n(34727),o=n(86211),s=n(73941),i=n(79258),a=n(34403),l=n(21325);const u={2:{5:d,7:null,9:null,10:d,1:R,6:null,8:null,0:null,3:m,11:y,2:d,4:S},5:{5:d,7:null,9:null,10:d,1:R,6:null,8:null,0:null,3:m,11:y,2:d,4:S},7:{5:null,7:d,9:null,10:d,1:null,6:b,8:null,0:null,3:null,11:null,2:null,4:null},9:{5:null,7:null,9:d,10:d,1:null,6:null,8:_,0:null,3:null,11:null,2:null,4:null},3:{5:p,7:null,9:null,10:p,1:function(t,e,n,r){const o=t[e]/E,s=P-2*Math.atan(Math.exp(-t[e+1]/E)),i=E+(t[e+2]??0),a=Math.cos(s)*i;n[r]=Math.cos(o)*a,n[r+1]=Math.sin(o)*a,n[r+2]=Math.sin(s)*i},6:null,8:null,0:null,3:d,11:function(t,e,n,r){p(t,e,n,r),y(n,r,n,r)},2:p,4:function(t,e,n,r){p(t,e,n,r),S(n,r,n,r)}},4:{5:T,7:null,9:null,10:T,1:function(t,e,n,r){T(t,e,n,r),R(n,r,n,r)},6:null,8:null,0:null,3:function(t,e,n,r){T(t,e,n,r),m(n,r,n,r)},11:function(t,e,n,r){T(t,e,n,r),y(n,r,n,r)},2:T,4:d},1:{5:A,7:null,9:null,10:A,1:d,6:null,8:null,0:null,3:function(t,e,n,r){A(t,e,n,r),m(n,r,n,r)},11:function(t,e,n,r){A(t,e,n,r),y(n,r,n,r)},2:A,4:function(t,e,n,r){A(t,e,n,r),S(n,r,n,r)}},6:{5:null,7:x,9:null,10:x,1:null,6:d,8:null,0:null,3:null,11:null,2:null,4:null},8:{5:null,7:null,9:w,10:w,1:null,6:null,8:d,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:d,3:null,11:null,2:null,4:null},10:{5:d,7:d,9:d,10:d,1:R,6:b,8:_,0:null,3:m,11:y,2:d,4:S},11:{5:g,7:null,9:null,10:g,1:function(t,e,n,r){g(t,e,n,r),R(n,r,n,r)},6:null,8:null,0:null,3:function(t,e,n,r){g(t,e,n,r),m(n,r,n,r)},11:d,2:g,4:function(t,e,n,r){g(t,e,n,r),S(n,r,n,r)}}};function c(t,e){return h(t,e)?.projector}function h(t,e){if(null==t||null==e)return null;if(I.source.spatialReference===t&&I.dest.spatialReference===e)return I;const n=f(t,I.source),r=f(e,I.dest);return 0===n&&0===r?(0,l.aI)(t,e)?I.projector=d:I.projector=null:I.projector=u[n][r],I}function f(t,e){return t?e.spatialReference===t?e.spatialReferenceId:(e.spatialReference=t,"metersPerUnit"in e&&(e.metersPerUnit=(0,o.GA)(t,1)),(0,s.jA)(t)?e.spatialReferenceId=1:(0,l.oT)(t)?e.spatialReferenceId=2:(0,l.K8)(t)?e.spatialReferenceId=3:(0,l.r1)(t)?e.spatialReferenceId=11:t.wkt===s.Ro.wkt?e.spatialReferenceId=4:4490===t.wkid?e.spatialReferenceId=5:t.wkt===s.FY.wkt?e.spatialReferenceId=6:t.wkt===s.LJ.wkt?e.spatialReferenceId=8:(0,s.q8)(t)?e.spatialReferenceId=7:(0,s.KQ)(t)?e.spatialReferenceId=9:e.spatialReferenceId=0):0}function d(t,e,n,r){t!==n&&(n[r++]=t[e++],n[r++]=t[e++],n[r]=t[e]??0)}function p(t,e,n,r){n[r]=C*(t[e]/E),n[r+1]=C*(P-2*Math.atan(Math.exp(-t[e+1]/E))),n[r+2]=t[e+2]??0}function m(t,e,n,o){!function(t,e,n,o,s){const i=.4999999*Math.PI,a=(0,r.qE)(O*t[e+1],-i,i),l=Math.sin(a);n[o++]=O*t[e]*s.radius,n[o++]=s.halfSemiMajorAxis*Math.log((1+l)/(1-l)),n[o]=t[e+2]??0}(t,e,n,o,i.$O)}function y(t,e,n,r){n[r]=t[e]*N,n[r+1]=t[e+1]*N,n[r+2]=t[e+2]??0}function g(t,e,n,r){n[r]=t[e]*L,n[r+1]=t[e+1]*L,n[r+2]=t[e+2]??0}function M(t,e,n,r,o){const s=o+(t[e+2]??0),i=O*t[e],a=O*t[e+1],l=Math.cos(a)*s;n[r]=Math.cos(i)*l,n[r+1]=Math.sin(i)*l,n[r+2]=Math.sin(a)*s}function _(t,e,n,r){M(t,e,n,r,i.Sw.radius)}function b(t,e,n,r){M(t,e,n,r,i.sH.radius)}function R(t,e,n,r){M(t,e,n,r,i.$O.radius)}function v(t,e,n,o,s){const i=t[e],a=t[e+1],l=t[e+2]??0,u=Math.sqrt(i*i+a*a+l*l),c=(0,r.YN)(l/(0===u?1:u)),h=Math.atan2(a,i);n[o++]=C*h,n[o++]=C*c,n[o]=u-s}function w(t,e,n,r){v(t,e,n,r,i.Sw.radius)}function x(t,e,n,r){v(t,e,n,r,i.sH.radius)}function A(t,e,n,r){v(t,e,n,r,i.$O.radius)}function S(t,e,n,r){!function(t,e,n,r,o){const s=O*t[e],i=O*t[e+1],a=t[e+2]??0,l=Math.sin(i),u=Math.cos(i),c=o.radius/Math.sqrt(1-o.eccentricitySquared*l*l);n[r++]=(c+a)*u*Math.cos(s),n[r++]=(c+a)*u*Math.sin(s),n[r++]=(c*(1-o.eccentricitySquared)+a)*l}(t,e,n,r,i.$O)}function T(t,e,n,r){const o=a.TP,s=t[e],l=t[e+1],u=t[e+2]??0;let c,h,f,d,p,m,y,g,M,_,b,R,v,w,x,A,S,T,I,O,P;c=Math.abs(u),h=s*s+l*l,f=Math.sqrt(h),d=h+u*u,p=Math.sqrt(d),O=Math.atan2(l,s),m=u*u/d,y=h/d,w=o.a2/p,x=o.a3-o.a4/p,y>.3?(g=c/p*(1+y*(o.a1+w+m*x)/p),I=Math.asin(g),_=g*g,M=Math.sqrt(1-_)):(M=f/p*(1-m*(o.a5-w-y*x)/p),I=Math.acos(M),_=1-M*M,g=Math.sqrt(_)),b=1-i.$O.eccentricitySquared*_,R=i.$O.radius/Math.sqrt(b),v=o.a6*R,w=f-R*M,x=c-v*g,S=M*w+g*x,A=M*x-g*w,T=A/(v/b+S),I+=T,P=S+A*T/2,u<0&&(I=-I),n[r++]=C*O,n[r++]=C*I,n[r]=P}const I={source:{spatialReference:null,spatialReferenceId:0,metersPerUnit:1},dest:{spatialReference:null,spatialReferenceId:0,metersPerUnit:1},projector:d},O=(0,r.kU)(1),C=(0,r.KJ)(1),P=.5*Math.PI,E=i.$O.radius,N=E*Math.PI/180,L=180/(E*Math.PI);n.d(e,["w5",0,u])},91218(t,e,n){n.r(e),n.d(e,{canProjectWithoutEngine:()=>Y,initializeProjection:()=>V,isEqualBaseGCS:()=>$,isLoaded:()=>E,isLoadedOrLoad:()=>N,isLoadedOrLoadFor:()=>L,load:()=>D,project:()=>B,projectAsync:()=>z,projectExtent:()=>ot,projectMany:()=>j,projectMultipoint:()=>J,projectOrLoad:()=>k,projectOrLoadMany:()=>F,projectPoint:()=>X,projectPolygon:()=>nt,projectPolyline:()=>tt,projectWithoutEngine:()=>W,requiresLoad:()=>G,test:()=>H,tryProject:()=>U,unload:()=>q});var r=n(49186),o=n(17676),s=n(62788),i=n(95488),a=n(51850),l=n(21276),u=n(73941),c=n(5443),h=n(91075),f=n(48526),d=n(86738),p=n(39829),m=n(82799),y=n(16930),g=n(98764),M=n(159),_=n(9762),b=n(49208);function R(t,e,n,r,o,s){return v[0]=t,v[1]=e,v[2]=n,(0,_.projectBuffer)(v,r,0,o,s,0)}const v=(0,a.vt)();var w=n(60408),x=n(21325),A=n(52006);let S=null,T=null,I=null,O=null,C={};const P=new i.I;function E(){return!!(T?.isLoaded()&&I?.isLoaded()&&O?.isLoaded())}function N(){return!!E()||((0,s.gc)(P),D(),!1)}function L(t,e){return!t||!e||Y(t,e)||N()}function G(t,e){return!Y(t,e)&&!E()}async function D(t){null==S&&(S=Promise.all([n.e(3276).then(n.bind(n,83276)).then(t=>(T=t,T.load())),n.e(8377).then(n.bind(n,8377)).then(t=>(I=t,I.load())),n.e(2158).then(n.bind(n,12158)).then(t=>(O=t,O.load()))])),await S,(0,o.Te)(t),P.notify()}function B(t,e,n){return Array.isArray(t)?0===t.length?[]:((0,l.H)(t),j(t,t[0].spatialReference,e,n)):((0,l.f)(t),j([t],t.spatialReference,e,n)[0])}function j(t,e,n,r){if(null==e||null==n)return t;if(Y(e,n,r))return t.map(t=>W(t,e,n));if(null==r?.geographicTransformation&&(0,u.jA)(e))return j(t.map(t=>W(t,e,y.A.WGS84)),y.A.WGS84,n,{zConversionDisabled:r?.zConversionDisabled});if(null==r?.geographicTransformation&&(0,u.jA)(n))return j(t,e,y.A.WGS84).map(t=>W(t,y.A.WGS84,n));if(!E())throw new Z;if(!r?.geographicTransformation)if(r?.extendedParams)r={...r,geographicTransformation:O.getTransformation(e,n,r.areaOfInterestExtent)||new M.A};else if(!r?.areaOfInterestExtent){const t=function(t,e){return[t.wkid?.toString()??"-1",t.wkt?.toString()??"",t.wkt2?.toString()??"",e.wkid?.toString()??"-1",e.wkt?.toString()??"",e.wkt2?.toString()??""].join()}(e,n);let o=C[t];o||(o=O.getTransformation(e,n)||new M.A,C[t]=o),r={geographicTransformation:o,zConversionDisabled:r?.zConversionDisabled}}return t[0].spatialReference||(t[0].spatialReference=e),t[0]instanceof h.A?T.executeMany(t,n,r):I.executeMany(t,n,r)}function U(t,e,n){try{return B(t,e,n)}catch(t){return null}}function k(t,e){const n=F([t],e);return null!=n.pending?{pending:n.pending,geometry:null}:null!=n.geometries?{pending:null,geometry:n.geometries[0]}:{pending:null,geometry:null}}function F(t,e,n){if(!E())for(const n of t)if(null!=n&&!(0,x.aI)(n.spatialReference,e)&&(0,x.fn)(n.spatialReference)&&(0,x.fn)(e)&&!Y(n.spatialReference,e))return(0,s.gc)(P),{pending:D(),geometries:null};return{pending:null,geometries:t.map(t=>null==t?null:(0,x.aI)(t.spatialReference,e)?t:(0,x.fn)(t.spatialReference)&&(0,x.fn)(e)?B(t,e,n):null)}}class Z extends r.A{constructor(){super("projection:not-loaded","projection engine not fully loaded yet, please call load()")}}function q(){S=null,T=null,I=null,O=null,C={}}const H={get loadPromise(){return S}};async function z(t,e,n){if((0,o.Te)(n),!t)return t;const r=F(Array.isArray(t)?t:[t],e,n);if(r.pending)return await r.pending,(0,o.Te)(n),z(t,e,n);const s=r.geometries??[];return Array.isArray(t)?s:s[0]}function Y(t,e,n){return!(n?.areaOfInterestExtent||n?.extendedParams||n?.geographicTransformation)&&(!!(0,x.aI)(t,e)||(0,x.fn)(t)&&(0,x.fn)(e)&&!!(0,b.jd)(t,e))}function $(t,e){if((0,x.aI)(t,e))return!0;if(!(0,x.fn)(t)||!(0,x.fn)(e))return!1;const n=(0,x.oT)(t)||(0,x.K8)(t)||(0,x.x1)(t),r=(0,x.oT)(e)||(0,x.K8)(e)||(0,x.x1)(e);return n&&r}async function V(t,e,n,r){if(E())return(0,o.NO)(r);if(Array.isArray(t)){for(const{source:e,dest:n,options:o}of t)if(e&&n&&!Y(e,n,o))return D(r)}else if(t&&e&&!Y(t,e,n))return D(r);return(0,o.NO)(r)}function W(t,e,n){return t?(0,w.fT)(t)?K(t,e,new d.A,n,0):(0,w.ZC)(t)?st(t,e,new c.A,n,0):(0,w.Bi)(t)?rt(t,e,new p.A,n,0):(0,w.Rg)(t)?et(t,e,new m.A,n,0):(0,w.U9)(t)?Q(t,e,new f.A,n,0):null:null}function X(t,e,n=e.spatialReference,r=0){return null!=n&&null!=t.spatialReference&&null!=K(t,t.spatialReference,e,n,r)}function K(t,e,n,r,o){ut[0]=t.x,ut[1]=t.y;const s=t.z;return ut[2]=void 0!==s?s:o,(0,_.projectBuffer)(ut,e,0,ut,r,0)?(n.x=ut[0],n.y=ut[1],n.spatialReference=r,void 0!==s||(0,u.xP)(r)?(n.z=ut[2],n.hasZ=!0):(n.z=void 0,n.hasZ=!1),void 0===t.m?(n.m=void 0,n.hasM=!1):(n.m=t.m,n.hasM=!0),n):null}function J(t,e,n=e.spatialReference,r=0){return null!=t.spatialReference&&null!=n&&null!=Q(t,t.spatialReference,e,n,r)}function Q(t,e,n,r,o){const{points:s,hasZ:i,hasM:a}=t,l=[],u=s.length,c=[];for(const t of s)c.push(t[0],t[1],i?t[2]:o);if(!(0,_.projectBuffer)(c,e,0,c,r,0,u))return null;const h=lt(i,r);for(let t=0;t<u;++t){const e=3*t,n=c[e],r=c[e+1];h&&a?l.push([n,r,c[e+2],s[t][3]]):h?l.push([n,r,c[e+2]]):a?l.push([n,r,s[t][2]]):l.push([n,r])}return n.points=l,n.spatialReference=r,n.hasZ=i,n.hasM=a,n}function tt(t,e,n=e.spatialReference,r=0){return null!=t.spatialReference&&null!=n&&null!=et(t,t.spatialReference,e,n,r)}function et(t,e,n,r,o){const{curvePaths:s,paths:i,hasZ:a,hasM:l}=t;if(!(s?at(s,a??!1,l??!1,e,n.curvePaths=[],r,o):it(i,a??!1,l??!1,e,n.paths,r,o)))return null;const u=lt(a,r);return n.spatialReference=r,n.hasZ=u,n.hasM=l,n}function nt(t,e,n=e.spatialReference,r=0){return null!=t.spatialReference&&null!=n&&null!=rt(t,t.spatialReference,e,n,r)}function rt(t,e,n,r,o){const{curveRings:s,rings:i,hasZ:a,hasM:l}=t;return(s?at(s,a??!1,l??!1,e,n.curveRings=[],r,o):it(i,a??!1,l??!1,e,n.rings,r,o))?(n.spatialReference=r,n.hasZ=lt(a,r),n.hasM=l,n):null}function ot(t,e,n=e.spatialReference,r=0){return null!=t.spatialReference&&null!=n&&null!=st(t,t.spatialReference,e,n,r)}function st(t,e,n,r,o){const{xmin:s,ymin:i,xmax:a,ymax:l,hasZ:u,hasM:c}=t;if(!R(s,i,u?t.zmin:o,e,ut,r))return null;const h=lt(u,r);return n.xmin=ut[0],n.ymin=ut[1],h&&(n.zmin=ut[2]),R(a,l,u?t.zmax:o,e,ut,r)?(n.xmax=ut[0],n.ymax=ut[1],h&&(n.zmax=ut[2]),c&&(n.mmin=t.mmin,n.mmax=t.mmax),n.spatialReference=r,n):null}function it(t,e,n,r,o,s,i=0){const a=new Array;for(const n of t)for(const t of n)a.push(t[0],t[1],e?t[2]:i);if(!(0,_.projectBuffer)(a,r,0,a,s,0))return!1;let l=0;o.length=0;const u=e?3:2,c=lt(e,s);for(const e of t){const t=new Array;for(const r of e){const e=a.slice(l,l+=3);c||e.pop(),n&&e.push(r[u]),t.push(e)}o.push(t)}return!0}function at(t,e,n,r,o,s,i=0){const a=new Array;for(const n of t)for(const t of n){if((0,A.FG)(t))return!1;if((0,A.aO)(t)){const[n,r]=t.c;a.push(n[0],n[1],e?n[2]:i,r[0],r[1],i);continue}if((0,A.n1)(t)){const[n,r,o]=t.b;a.push(n[0],n[1],e?n[2]:i,r[0],r[1],i,o[0],o[1],i);continue}const n=t;a.push(n[0],n[1],e?n[2]:i)}if(!(0,_.projectBuffer)(a,r,0,a,s,0))return!1;let l=0;o.length=0;const u=e?3:2,c=lt(e,s);for(const e of t){const t=new Array;for(const r of e){const e=a.slice(l,l+=3);if(c||e.pop(),n&&e.push((0,A.yP)(r)[u]),(0,A.FG)(r))return!1;if((0,A.aO)(r)){const n=a[l++],r=a[l++];++l,t.push({c:[e,[n,r]]});continue}if((0,A.n1)(r)){const n=a[l++],r=a[l++];++l;const o=a[l++],s=a[l++];++l,t.push({b:[e,[n,r],[o,s]]});continue}t.push(e)}o.push(t)}return!0}function lt(t,e){return t||(0,u.xP)(e)||(0,x.aI)(e,g.Y0)}const ut=(0,a.vt)()},98764(t,e,n){n.d(e,{lO:()=>c});var r=n(73941),o=n(16930),s=n(21325);const i=new o.A(r.fv),a=new o.A(r.FY),l=new o.A(r.LJ),u=new o.A(r.Ro);function c(t){const e=h.get(t);if(e)return e;let n=i;if(t)if(t===a)n=a;else if(t===l)n=l;else{const e=t.wkid,r=t.latestWkid;if(null!=e||null!=r)(0,s.tl)(e)||(0,s.tl)(r)?n=a:((0,s.ZL)(e)||(0,s.ZL)(r))&&(n=l);else{const e=t.wkt2??t.wkt;if(e){const t=e.toUpperCase();t===f?n=a:t===d&&(n=l)}}}return h.set(t,n),n}const h=new Map,f=a.wkt.toUpperCase(),d=l.wkt.toUpperCase();n.d(e,["GD",0,i,"Y0",0,u])},4197(t,e,n){n.d(e,{Vj:()=>c,cj:()=>u,jh:()=>s,l5:()=>a,yH:()=>l});var r=n(34275),o=n(9093);function s(t){return t<=1024?new Array(t).fill(0):new Float64Array(t)}function i(t){return((0,r.iu)(t)?t.byteLength/8:t.length)<=1024?Array.from(t):new Float64Array(t)}function a(t,e,n){return Array.isArray(t)?t.slice(e,e+n):t.subarray(e,e+n)}function l(t,e){if(0===e.length)return i(t);if(0===t.length)return i(e);const n=s(t.length+e.length);for(let e=0;e<t.length;++e)n[e]=t[e];for(let r=0;r<e.length;++r)n[t.length+r]=e[r];return n}function u(t){return[...t]}function c(t){const e=(0,o.vt)();for(let n=0;n<16;++n)e[n]=t[n];return e}},95696(t,e,n){n.d(e,{A:()=>u});var r,o=n(5482),s=n(69540),i=n(25482),a=n(91429),l=n(93223);let u=class extends((0,s.OU)(i.o)){static{r=this}constructor(t){super(t),this.type="georeferenced",this.origin=null}static{this.absolute=new r}};(0,o.Cg)([(0,l.e)({georeferenced:"georeferenced"},{readOnly:!0})],u.prototype,"type",void 0),(0,o.Cg)([(0,a.MZ)({type:[Number],nonNullable:!1,json:{write:!0}})],u.prototype,"origin",void 0),u=r=(0,o.Cg)([(0,a.$K)("esri.geometry.support.MeshGeoreferencedVertexSpace")],u)},18251(t,e,n){n.d(e,{A:()=>u});var r=n(5482),o=n(69540),s=n(25482),i=n(91429),a=n(51850),l=n(93223);let u=class extends((0,o.OU)(s.o)){constructor(t){super(t),this.type="local",this.origin=(0,a.vt)()}};(0,r.Cg)([(0,l.e)({local:"local"},{readOnly:!0})],u.prototype,"type",void 0),(0,r.Cg)([(0,i.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],u.prototype,"origin",void 0),u=(0,r.Cg)([(0,i.$K)("esri.geometry.support.MeshLocalVertexSpace")],u)},72727(t,e,n){function r(t,e,n){if(e<=0)return 0;const r=t-n;return r<0?0:Math.floor(r/e)+1}n.d(e,{k:()=>r}),n(53966)},34403(t,e,n){var r=n(79258);Math.PI;const o=r.$O.radius,s=r.$O.eccentricitySquared,i={a1:o*s,a2:o*s*o*s,a3:o*s*s/2,a4:o*s*o*s*2.5,a5:o*s+o*s*s/2,a6:1-s};r.$O.radius,r.$O.flattening,r.Sw.radius,r.Sw.flattening,r.sH.radius,r.sH.flattening,r.sH.radius,n.d(e,["TP",0,i])},60408(t,e,n){function r(t){return void 0!==t.xmin&&void 0!==t.ymin&&void 0!==t.xmax&&void 0!==t.ymax}function o(t){return void 0!==t.points}function s(t){return void 0!==t.x&&void 0!==t.y}function i(t){return void 0!==t.paths||void 0!==t.curvePaths}function a(t){return void 0!==t.rings||void 0!==t.curveRings}function l(t){return"object"==typeof t&&"vertexAttributes"in t}function u(t){return t?s(t)?"esriGeometryPoint":i(t)?"esriGeometryPolyline":a(t)?"esriGeometryPolygon":r(t)?"esriGeometryEnvelope":o(t)?"esriGeometryMultipoint":null:null}function c(t){return null!=t&&("hasZ"in t&&t.hasZ||"z"in t&&null!=t.z)}function h(t){return null!=t&&("hasM"in t&&t.hasM||"m"in t&&null!=t.m)}n.d(e,{$B:()=>u,Bi:()=>a,Pv:()=>c,Rg:()=>i,U9:()=>o,W0:()=>h,ZC:()=>r,fT:()=>s,uW:()=>l})},80754(t,e,n){n.d(e,{kS:()=>u,kd:()=>l,r8:()=>c});var r=n(82799),o=n(16930),s=n(60408),i=n(52006);const a={102100:{maxX:20037508.342788905,minX:-20037508.342788905,plus180Line:new r.A({paths:[[[20037508.342788905,-20037508.342788905],[20037508.342788905,20037508.342788905]]],spatialReference:o.A.WebMercator}),minus180Line:new r.A({paths:[[[-20037508.342788905,-20037508.342788905],[-20037508.342788905,20037508.342788905]]],spatialReference:o.A.WebMercator})},4326:{maxX:180,minX:-180,plus180Line:new r.A({paths:[[[180,-180],[180,180]]],spatialReference:o.A.WGS84}),minus180Line:new r.A({paths:[[[-180,-180],[-180,180]]],spatialReference:o.A.WGS84})}};function l(t,e){return Math.ceil((t-e)/(2*e))}function u(t,e){if((0,i.Ed)(t))for(const n of function(t){return(0,s.Bi)(t)?t.curveRings:t.curvePaths}(t))for(const t of n){if((0,i.aO)(t)){const[n,r]=t.c;n[0]+=e,r[0]+=e;continue}if((0,i.FG)(t)){const[n,r]=t.a;n[0]+=e,r[0]+=e;continue}if((0,i.n1)(t)){const[n,r,o]=t.b;n[0]+=e,r[0]+=e,o[0]+=e;continue}t[0]+=e}for(const n of c(t))for(const t of n)t[0]+=e;return t}function c(t){return(0,s.Bi)(t)?t.rings:t.paths}n.d(e,["j7",0,a])},89056(t,e,n){n.d(e,{b3:()=>h,jZ:()=>c});var r=n(12195),o=n(19419),s=n(537),i=n(95108),a=n(60408),l=n(80754),u=n(21325);function c(t){return f(t,!0)}function h(t){return f(t,!1)}function f(t,e){if(null==t)return null;const n=t.spatialReference,o=(0,u.Vp)(n),i=(0,r.W)(t)?t.toJSON():t;if(!o)return i;const c=(0,u.K8)(n)?102100:4326,h=l.j7[c].maxX,f=l.j7[c].minX;if((0,a.fT)(i))return p(i,h,f);if((0,a.U9)(i))return i.points=i.points.map(t=>p(t,h,f)),i;if((0,a.ZC)(i))return d(i,o);if((0,a.Bi)(i)||(0,a.Rg)(i)){const t=(0,s.Rg)(b,i),n={xmin:t[0],ymin:t[1],xmax:t[2],ymax:t[3]},r=(0,l.kd)(n.xmin,f)*(2*h),o=0===r?i:(0,l.kS)(i,r);return n.xmin+=r,n.xmax+=r,n.xmax>h?M(o,h,e):n.xmin<f?M(o,f,e):o}return i}function d(t,e){if(!e)return t;const n=function(t,e){const n=[],{ymin:r,ymax:o,xmin:s,xmax:i}=t,a=t.xmax-t.xmin,[l,u]=e.valid,{x:c,frameId:h}=m(t.xmin,e),{x:f,frameId:d}=m(t.xmax,e),p=c===f&&a>0;if(a>2*u){const t={xmin:s<i?c:f,ymin:r,xmax:u,ymax:o},e={xmin:l,ymin:r,xmax:s<i?f:c,ymax:o},a={xmin:0,ymin:r,xmax:u,ymax:o},p={xmin:l,ymin:r,xmax:0,ymax:o},m=[],g=[];y(t,a)&&m.push(h),y(t,p)&&g.push(h),y(e,a)&&m.push(d),y(e,p)&&g.push(d);for(let t=h+1;t<d;t++)m.push(t),g.push(t);n.push(new _(t,[h]),new _(e,[d]),new _(a,m),new _(p,g))}else c>f||p?n.push(new _({xmin:c,ymin:r,xmax:u,ymax:o},[h]),new _({xmin:l,ymin:r,xmax:f,ymax:o},[d])):n.push(new _({xmin:c,ymin:r,xmax:f,ymax:o},[h]));return n}(t,e).map(t=>t.extent);return n.length<2?n[0]||t:n.length>2?(t.xmin=e.valid[0],t.xmax=e.valid[1],t):{rings:n.map(t=>[[t.xmin,t.ymin],[t.xmin,t.ymax],[t.xmax,t.ymax],[t.xmax,t.ymin],[t.xmin,t.ymin]])}}function p(t,e,n){if(Array.isArray(t)){const r=t[0];if(r>e){const n=(0,l.kd)(r,e);t[0]=r+n*(-2*e)}else if(r<n){const e=(0,l.kd)(r,n);t[0]=r+e*(-2*n)}}else{const r=t.x;if(r>e){const n=(0,l.kd)(r,e);t.x+=n*(-2*e)}else if(r<n){const e=(0,l.kd)(r,n);t.x+=e*(-2*n)}}return t}function m(t,e){const[n,r]=e.valid,o=2*r;let s,i=0;return t>r?(s=Math.ceil(Math.abs(t-r)/o),t-=s*o,i=s):t<n&&(s=Math.ceil(Math.abs(t-n)/o),t+=s*o,i=-s),{x:t,frameId:i}}function y(t,e){const{xmin:n,ymin:r,xmax:o,ymax:s}=e;return g(t,n,r)&&g(t,n,s)&&g(t,o,s)&&g(t,o,r)}function g(t,e,n){return e>=t.xmin&&e<=t.xmax&&n>=t.ymin&&n<=t.ymax}function M(t,e,n=!0){const r=!(0,a.Rg)(t);if(r&&(0,i.m3)(t),n)return(new R).cut(t,e);const o=r?t.rings:t.paths,s=r?4:2,l=o.length,u=-2*e;for(let t=0;t<l;t++){const e=o[t];if(e&&e.length>=s){const t=[];for(const[n,...r]of e)t.push([n+u,...r]);o.push(t)}}return r?t.rings=o:t.paths=o,t}class _{constructor(t,e){this.extent=t,this.frameIds=e}}const b=(0,o.vt)();class R{constructor(){this._linesIn=[],this._linesOut=[]}cut(t,e){let n;if(this._xCut=e,t.rings)this._closed=!0,n=t.rings,this._minPts=4;else{if(!t.paths)return null;this._closed=!1,n=t.paths,this._minPts=2}for(const t of n){if(!t||t.length<this._minPts)continue;let e=!0;for(const n of t)e?(this.moveTo(n),e=!1):this.lineTo(n);this._closed&&this.close()}this._pushLineIn(),this._pushLineOut(),n=[];for(const t of this._linesIn)t&&t.length>=this._minPts&&n.push(t);const r=-2*this._xCut;for(const t of this._linesOut)if(t&&t.length>=this._minPts){for(const e of t)e[0]+=r;n.push(t)}return this._closed?t.rings=n:t.paths=n,t}moveTo(t){this._pushLineIn(),this._pushLineOut(),this._prevSide=this._side(t[0]),this._moveTo(t,this._prevSide),this._prevPt=t,this._firstPt=t}lineTo(t){const e=this._side(t[0]);if(e*this._prevSide===-1){const n=this._intersect(this._prevPt,t);this._lineTo(n,0),this._prevSide=0,this._lineTo(t,e)}else this._lineTo(t,e);this._prevSide=e,this._prevPt=t}close(){const t=this._firstPt,e=this._prevPt;t[0]===e[0]&&t[1]===e[1]||this.lineTo(t),this._checkClosingPt(this._lineIn),this._checkClosingPt(this._lineOut)}_moveTo(t,e){this._closed?(this._lineIn.push(v(t,e<=0?t[0]:this._xCut)),this._lineOut.push(v(t,e>=0?t[0]:this._xCut))):(e<=0&&this._lineIn.push(t.slice()),e>=0&&this._lineOut.push(t.slice()))}_lineTo(t,e){this._closed?(w(this._lineIn,t,e<=0?t[0]:this._xCut),w(this._lineOut,t,e>=0?t[0]:this._xCut)):e<0?(0===this._prevSide&&this._pushLineOut(),this._lineIn.push(t.slice())):e>0?(0===this._prevSide&&this._pushLineIn(),this._lineOut.push(t.slice())):this._prevSide<0?(this._lineIn.push(t.slice()),this._lineOut.push(t.slice())):this._prevSide>0&&(this._lineOut.push(t.slice()),this._lineIn.push(t.slice()))}_checkClosingPt(t){const e=t.length;e>3&&t[0][0]===this._xCut&&t[e-2][0]===this._xCut&&t[1][0]===this._xCut&&(t[0]=t[e-2].slice(),t.pop())}_side(t){return t<this._xCut?-1:t>this._xCut?1:0}_intersect(t,e){const n=(this._xCut-t[0])/(e[0]-t[0]),r=[this._xCut,t[1]+n*(e[1]-t[1])],o=Math.min(t.length,e.length);for(let s=2;s<o;s++)r.push(t[s]+n*(e[s]-t[s]));return r}_pushLineIn(){this._lineIn&&this._lineIn.length>=this._minPts&&this._linesIn.push(this._lineIn),this._lineIn=[]}_pushLineOut(){this._lineOut&&this._lineOut.length>=this._minPts&&this._linesOut.push(this._lineOut),this._lineOut=[]}}function v(t,e){const n=t.slice();return n[0]=e,n}function w(t,e,n){const r=t.length;r>1&&t[r-1][0]===n&&t[r-2][0]===n?t[r-1]=v(e,n):t.push(v(e,n))}},97770(t,e,n){n.d(e,{Ey:()=>E,F8:()=>P,J2:()=>T,Yq:()=>O,_m:()=>I,iS:()=>C,wj:()=>N});var r=n(66552),o=n(73444),s=n(98623),i=n(92647);const a={dateStyle:void 0,year:void 0,month:void 0,day:void 0,weekday:void 0},l={timeStyle:void 0,hour12:void 0,hourCycle:void 0,hour:void 0,minute:void 0,second:void 0},u={timeZone:"UTC"},c={year:"numeric",month:"numeric",day:"numeric"},h={year:"numeric",month:"long",day:"numeric"},f={year:"numeric",month:"short",day:"numeric"},d={year:"numeric",month:"long",weekday:"long",day:"numeric"},p={hour:"numeric",minute:"numeric"},m={...p,second:"numeric"},y={hourCycle:"h23"},g={...p,...y},M={...m,...y},_={"short-date":c,"short-date-short-time":{...c,...p},"short-date-short-time-24":{...c,...g},"short-date-long-time":{...c,...m},"short-date-long-time-24":{...c,...M},"short-date-le":c,"short-date-le-short-time":{...c,...p},"short-date-le-short-time-24":{...c,...g},"short-date-le-long-time":{...c,...m},"short-date-le-long-time-24":{...c,...M},"long-month-day-year":h,"long-month-day-year-short-time":{...h,...p},"long-month-day-year-short-time-24":{...h,...g},"long-month-day-year-long-time":{...h,...m},"long-month-day-year-long-time-24":{...h,...M},"day-short-month-year":f,"day-short-month-year-short-time":{...f,...p},"day-short-month-year-short-time-24":{...f,...g},"day-short-month-year-long-time":{...f,...m},"day-short-month-year-long-time-24":{...f,...M},"long-date":d,"long-date-short-time":{...d,...p},"long-date-short-time-24":{...d,...g},"long-date-long-time":{...d,...m},"long-date-long-time-24":{...d,...M},"long-month-year":{month:"long",year:"numeric"},"short-month-year":{month:"short",year:"numeric"},year:{year:"numeric"},"short-time":p,"long-time":m},b=(0,r.O)()({shortDate:"short-date",shortDateShortTime:"short-date-short-time",shortDateShortTime24:"short-date-short-time-24",shortDateLongTime:"short-date-long-time",shortDateLongTime24:"short-date-long-time-24",shortDateLE:"short-date-le",shortDateLEShortTime:"short-date-le-short-time",shortDateLEShortTime24:"short-date-le-short-time-24",shortDateLELongTime:"short-date-le-long-time",shortDateLELongTime24:"short-date-le-long-time-24",longMonthDayYear:"long-month-day-year",longMonthDayYearShortTime:"long-month-day-year-short-time",longMonthDayYearShortTime24:"long-month-day-year-short-time-24",longMonthDayYearLongTime:"long-month-day-year-long-time",longMonthDayYearLongTime24:"long-month-day-year-long-time-24",dayShortMonthYear:"day-short-month-year",dayShortMonthYearShortTime:"day-short-month-year-short-time",dayShortMonthYearShortTime24:"day-short-month-year-short-time-24",dayShortMonthYearLongTime:"day-short-month-year-long-time",dayShortMonthYearLongTime24:"day-short-month-year-long-time-24",longDate:"long-date",longDateShortTime:"long-date-short-time",longDateShortTime24:"long-date-short-time-24",longDateLongTime:"long-date-long-time",longDateLongTime24:"long-date-long-time-24",longMonthYear:"long-month-year",shortMonthYear:"short-month-year",year:"year"}),R={ar:"ar-u-nu-latn-ca-gregory",nn:"no-NN"},v=new Intl.DateTimeFormat("bs",{month:"long"}).formatToParts(new Date(2025,2)),w=v.find(({type:t})=>"month"===t)?.value.toLowerCase();function x(){const t=(0,o.lR)();return(t&&R[t])??(0,o.QC)()}"mart"!==w&&(R.bs="sr-Latn-CS");let A=new WeakMap;const S=_["short-date-short-time"];function T(t){return _[t]}function I(t){const{dateStyle:e,timeStyle:n,hour12:r,year:o,month:s}=t,i={};return e?i.dateStyle=e:o&&(i.year=o,i.month=s||void 0),n&&!i.year&&(i.timeStyle=n,i.hour12="auto"===r?void 0:"always"===r),i}function O(t,e=S){return function(t){let e=A.get(t);if(!e){const n=x(),r=N(t.timeZone??"system"),o={...t,timeZone:r};e=new Intl.DateTimeFormat(n,o),A.set(t,e)}return e}(e).format(t)}function C(t,e=S){return O(new Date(t),{...e,...u,...l})}function P(t,e=S){return O(new Date(`1970-01-01T${t}Z`),{...e,...u,...a})}function E(t,e=S){const n=i.c9.fromISO(t,{setZone:!0});if(!n.isValid)return t;if(e.timeZone)return O(n.toJSDate(),e);const r=0===n.offset?"UTC":e.timeZone,o={...e,timeZone:r};return n.toLocaleString(o,{locale:x()})}function N(t){switch(t){case"system":return s.N;case s.L:return"UTC";default:return t}}(0,o.Ml)(()=>{A=new WeakMap}),n.d(e,["_v",0,b])},73444(t,e,n){n.d(e,{JK:()=>l,Ml:()=>y,QC:()=>h,lR:()=>c,oQ:()=>p});var r=n(36563);let o;n(44208);const s=globalThis.esriConfig?.locale,i=globalThis.document?.documentElement;function a(){const t=i?.getAttribute("lang"),e=globalThis.navigator?.language;return s??t??e??"en"}function l(){return void 0===o&&(o=a()),o}const u=/^(?<language>[a-z]{2,3})(?:-(?<extlang>[a-z]{3}))?(?:-[A-Z][a-z]{3})?(?:-(?<region>[A-Z]{2}|\d{3}))?(?:-.*)?$/;function c(t=l()){return f(t)?.language}function h(t=l()){const e=f(t);return e?.language&&e?.extlang?t.replace(`${e.language}-`,""):t}function f(t=l()){return u.exec(t)?.groups}const d=[];function p(t){return d.push(t),(0,r.hA)(()=>{d.splice(d.indexOf(t),1)})}new Map;const m=[];function y(t){return m.push(t),(0,r.hA)(()=>m.splice(m.indexOf(t),1))}function g(){const t=a();o!==t&&([...m].forEach(e=>e(t)),o=t,[...d].forEach(e=>e(t)))}globalThis.addEventListener?.("languagechange",g),i&&new MutationObserver(()=>{g()}).observe(i,{attributeFilter:["lang"]})},98623(t,e,n){const r=Intl.DateTimeFormat().resolvedOptions().timeZone;n.d(e,["L",0,"unknown","N",0,r])},89606(t,e,n){n.d(e,{GN:()=>h,MU:()=>c,yf:()=>d});var r=n(35522),o=n(51850),s=n(10614),i=n(63907),a=n(74038);class l{constructor(t,e){this.data=t,this.indices=e}}class u{constructor(t,e,n,r,o){this.indices=t,this.packedNormals=e,this.appendedVertexToOriginal=n,this.outputVertexCount=r,this.appendedVertexCount=o}}function c(t,e,n,u,c){return!u||n.some(({name:t})=>"normal"===t||"normalCompressed"===t)?function(t,e,n,i){const a=new l(t.slice().buffer,e);if(!i)return a;const u=n[0].stride,c=a.data.byteLength/u;for(const t of n)if("normalCompressed"===t.name){const{offset:e}=t,n=new Int16Array(a.data),l=(0,o.vt)();for(let t=0;t<c;++t)(0,s.Tz)(l,n,t,u/2,e/2),(0,r.ei)(l,l,i),(0,s.aT)(n,t,l[0],l[1],l[2],u/2,e/2)}else if("normal"===t.name){const{offset:e}=t,n=new Float32Array(a.data),s=(0,o.vt)();for(let t=0;t<c;++t){const o=(t*u+e)/4;s[0]=n[o],s[1]=n[o+1],s[2]=n[o+2],(0,r.ei)(s,s,i),n[o]=s[0],n[o+1]=s[1],n[o+2]=s[2]}}return a}(t,e,n,c):function(t,e,n,r){const o=n[0].stride,s=o/4,l=new Float32Array(t.buffer,t.byteOffset,t.byteLength/4),u=t.byteLength/o,c=o+4;n.forEach(t=>t.stride=c),n.push(new a._("normalCompressed",2,i.pe.SHORT,o,c,!0));const d=h(e,l,s,r);return f(l,u,o,c,d)}(t,e,n,c)}function h(t,e,n,r){const o=t.length/3,s=e.length/n,{faceNormals:i,faceAreas:a,faceEdges:l,edgeFaces:u,vertexFaces:c,vertexFaceCountAndOffset:h}=function(t,e,n,r,o,s){const i=new Float32Array(3*o),a=new Float32Array(o),l=new Uint32Array(3*o),u=new Int32Array(3*o*2),c=3*o,h=new Uint32Array(c),f=new Uint32Array(2*n);for(let t=0;t<o;++t){const e=3*t;for(let t=0;t<3;++t)++f[2*r[e+t]]}{let t=0;for(let e=0;e<n;++e){const n=2*e;f[n+1]=t,t+=f[n]}for(let t=0;t<o;++t){const e=3*t;for(let n=0;n<3;++n)h[f[2*r[e+n]+1]++]=t}for(let t=0;t<n;++t)f[2*t+1]-=f[2*t]}let d=0;const p=new Uint32Array(2*c*2),m=new Uint32Array(2*n);for(let t=0;t<n;++t){const e=2*t,n=4*f[e+1];m[e]=n,m[e+1]=n}function y(t,e,n){const r=Math.min(t,e),o=Math.max(t,e),s=t<e?0:1,i=2*r,a=m[i],l=m[i+1];let c=-1;for(let t=a;t<l;t+=2)if(p[t]===o){c=p[t+1];break}return-1===c&&(c=d++,p[l]=o,p[l+1]=c,m[i+1]=l+2,u[2*c+(1-s)]=-1),u[2*c+s]=n,c}for(let n=0;n<r.length;n+=3){const o=r[n],u=o*e,c=t[u],h=t[u+1],f=t[u+2],d=r[n+1],p=d*e,m=t[p],g=t[p+1],M=t[p+2],_=r[n+2],b=_*e,R=c-m,v=h-g,w=f-M,x=c-t[b],A=h-t[b+1],S=f-t[b+2],T=v*S-w*A,I=w*x-R*S,O=R*A-v*x,C=Math.sqrt(T*T+I*I+O*O)||1,P=n/3;a[P]=.5*C;const E=1/C;if(s){const t=s[0]*T+s[3]*I+s[6]*O,e=s[1]*T+s[4]*I+s[7]*O,n=s[2]*T+s[5]*I+s[8]*O;i[3*P]=t*E,i[3*P+1]=e*E,i[3*P+2]=n*E}else i[3*P]=T*E,i[3*P+1]=I*E,i[3*P+2]=O*E;const N=y(o,d,P),L=y(d,_,P),G=y(_,o,P);l[3*P]=N,l[3*P+1]=L,l[3*P+2]=G}return{faceNormals:i,faceAreas:a,faceEdges:l,vertexFaces:h,vertexFaceCountAndOffset:f,edgeFaces:u}}(e,n,s,t,o,r);return function(t,e,n,r,o,s){const i=new Uint8Array(e),a=new Uint32Array(e),l=new Uint32Array(3*e);let u=0;const c=new Uint32Array(e);let h=0;for(let e=0;e<t.length;e+=3){const t=e/3;if(1===i[t])continue;i[t]=1;const f=n[3*t],d=n[3*t+1],p=n[3*t+2];for(h=0,c[h++]=t,l[0]=o[3*t],l[1]=o[3*t+1],l[2]=o[3*t+2],u=3,a[t]=t+1;u>0;){const e=l[--u];for(let r=0;r<2;++r){const y=s[2*e+r];if(-1===y||a[y]===t+1)continue;a[y]=t+1;const g=n[3*y],M=n[3*y+1],_=n[3*y+2];if(Math.abs(1-(f*g+d*M+p*_))<m){c[h++]=y,i[y]=1;for(let t=0;t<3;++t){const n=o[3*y+t];n!==e&&(l[u++]=n)}}}}if(h>1){let t=0,e=0,o=0,s=0;for(let i=0;i<h;++i){const a=c[i],l=r[a];t+=l,e+=n[3*a]*l,o+=n[3*a+1]*l,s+=n[3*a+2]*l}const i=Math.sqrt(e*e+o*o+s*s)||1;e/=i,o/=i,s/=i;for(let i=0;i<h;++i){const a=c[i];n[3*a]=e,n[3*a+1]=o,n[3*a+2]=s,r[a]=t}}}}(t,o,i,a,l,u),p(o,s,t,i,a,c,h)}function f(t,e,n,r,o){const s=n/4,i=r/4,a=o.outputVertexCount,u=new Float32Array(a*i),c=new Uint32Array(u.buffer),h=s,f=new Uint32Array(t.buffer,t.byteOffset,t.length);return function(t,e,n,r,o,s,i){for(let a=0;a<s;++a){const s=a*o,l=a*e;for(let e=0;e<o;++e)t[l+e]=r[s+e];t[l+n]=i[a]}}(c,i,h,f,s,e,o.packedNormals),d(c,i,h,f,s,e,a,o.appendedVertexToOriginal,o.packedNormals),new l(u.buffer,o.indices)}function d(t,e,n,r,o,s,i,a,l){for(let u=s;u<i;++u){const i=a[u-s]*o,c=u*e;for(let e=0;e<o;++e)t[c+e]=r[i+e];t[c+n]=l[u]}}function p(t,e,n,r,o,s,i){const a=3*t,l=new(a<256?Uint8Array:a<65536?Uint16Array:Uint32Array)(n);let c=e;const h=new(e<256?Uint8Array:e<65536?Uint16Array:Uint32Array)(a-e),f=new ArrayBuffer(4*a),d=new Int16Array(f),p=new Uint32Array(f);let m=0,g=0;const M=new Uint32Array(t);let _=0;const b=1-y;for(let t=0;t<e;++t){m=i[2*t+1],g=m+i[2*t];let n=t;for(;m<g;){{const t=s[--g],e=3*t,i=r[e],a=r[e+1],l=r[e+2];_=0,M[_++]=t;let u=m;for(;u<g;){const t=s[u],e=3*t;if(i*r[e]+a*r[e+1]+l*r[e+2]>b){M[_++]=t;const e=--g;if(u<e){s[u]=s[e];continue}}++u}let c=0,h=0,f=0;if(1===_)c=i,h=a,f=l;else{for(let t=0;t<_;++t){const e=M[t],n=o[e],s=3*e;c+=r[s]*n,h+=r[s+1]*n,f+=r[s+2]*n}const t=Math.sqrt(c*c+h*h+f*f)||1;c/=t,h/=t,f/=t}{const t=1/(Math.abs(c)+Math.abs(h)+Math.abs(f)),e=c*t,r=h*t;let o=e,s=r;f<=0&&(o=(e>=0?1:-1)*(1-Math.abs(r)),s=(r>=0?1:-1)*(1-Math.abs(e)));const i=2*n,a=Math.round(32767*o),l=Math.round(32767*s);d[i]=a<-32767?-32767:a>32767?32767:a,d[i+1]=l<-32767?-32767:l>32767?32767:l}}if(n!==t)for(let e=0;e<_;++e){const r=3*M[e];l[r]===t&&(l[r]=n),l[r+1]===t&&(l[r+1]=n),l[r+2]===t&&(l[r+2]=n)}if(m>=g)break;n=c++,h[n-e]=t}}return new u(l,p,h,c,c-e)}const m=.04,y=.8},94715(t,e,n){n.r(e),n.d(e,{destroyContext:()=>x,dracoDecompressPointCloudData:()=>M,filterObbsForModifications:()=>_,filterObbsForModificationsSync:()=>C,initialize:()=>N,interpretObbModificationResults:()=>O,process:()=>g,project:()=>v,setLegacySchema:()=>R,setModifications:()=>b,setModificationsSync:()=>T,test:()=>G,transformNormals:()=>w});var r=n(34727),o=n(77690),s=n(29242),i=n(58083),a=n(9093),l=n(16930),u=n(4197),c=n(95696),h=n(18251),f=n(73354),d=n(2741);let p;var m=n(89606),y=n(98697);async function g(t){S=await L();const e=[t.geometryBuffer];return{result:I(S,t,e),transferList:e}}async function M(t){S=await L();const e=[t.geometryBuffer],{geometryBuffer:n}=t,r=n.byteLength,o=S._malloc(r),s=new Uint8Array(S.HEAPU8.buffer,o,r);s.set(new Uint8Array(n));const i=S.dracoDecompressPointCloudData(o,s.byteLength);if(S._free(o),i.error.length>0)throw new Error(`i3s.wasm: ${i.error}`);const a=i.featureIds?.length>0?i.featureIds.slice():null,l=i.positions.slice();return a&&e.push(a.buffer),e.push(l.buffer),{result:{positions:l,featureIds:a},transferList:e}}async function _(t){await L(),C(t);const e={buffer:t.buffer};return{result:e,transferList:[e.buffer]}}async function b(t){await L(),T(t)}async function R(t){S=await L(),S.setLegacySchema(t.context,t.jsonSchema)}async function v(t){const{localMatrix:e,origin:r,positions:o,vertexSpace:s}=t,i=l.A.fromJSON(t.inSpatialReference),a=l.A.fromJSON(t.outSpatialReference),f=e?(0,u.Vj)(e):void 0,d=(0,u.cj)(r);let p;const[{projectBuffer:m},{initializeProjection:y}]=await Promise.all([Promise.resolve().then(n.bind(n,9762)),Promise.resolve().then(n.bind(n,91218))]);await y(i,a);const g=[0,0,0];if(!m(d,i,0,g,a,0))throw new Error("Failed to project");if("georeferenced"===s.type&&null==s.origin){if(p=new Float64Array(o.length),!m(o,i,0,p,a,0,p.length/3))throw new Error("Failed to project")}else{const t="georeferenced"===s.type?c.A.fromJSON(s):h.A.fromJSON(s),{projectMeshVertexPositions:e}=await n.e(4594).then(n.bind(n,74594)),r=e({vertexAttributes:{position:o},transform:f?{localMatrix:f}:void 0,vertexSpace:t,spatialReference:i},a);if(!r)throw new Error("Failed to project");p=r}const M=p.length,[_,b,R]=g;for(let t=0;t<M;t+=3)p[t]-=_,p[t+1]-=b,p[t+2]-=R;return{result:{projected:p,original:o,projectedOrigin:g},transferList:[p.buffer,o.buffer]}}async function w({normalMatrix:t,normals:e}){const n=new Float32Array(e.length);return(0,f.b)(n,e,t),(0,r.or)(t)&&(0,f.n)(n,n),{result:{transformed:n,original:e},transferList:[n.buffer,e.buffer]}}function x(t){P(t)}let A,S;function T(t){if(!S)return;const e=t.modifications,n=S._malloc(8*e.length),r=new Float64Array(S.HEAPU8.buffer,n,e.length);for(let t=0;t<e.length;++t)r[t]=e[t];S.setModifications(t.context,n,e.length,t.isGeodetic),S._free(n)}function I(t,e,n){const{context:r,globalTrafo:l,geometryElevationOffset:u,mbs:c,obbData:h,layouts:f,needNormals:d,computeNormals:p,elevationOffset:g,planetRadiusInGlobalMode:M,geometryBuffer:_,geometryDescriptor:b,geometryData:R,indexToVertexProjector:v,vertexToRenderProjector:w,normalReferenceFrame:x}=e,A=t._malloc(_.byteLength),S=t._malloc(33*Float64Array.BYTES_PER_ELEMENT),T=new Uint8Array(t.HEAPU8.buffer,A,_.byteLength);T.set(new Uint8Array(_));const I=new Float64Array(t.HEAPU8.buffer,S,33);E(I,[NaN,NaN,NaN],0);let O=3;E(I,l,O),O+=16,E(I,c.center,O),O+=3,I[O++]=c.radius,h&&E(I,h,O++);const C={isDraco:!1,isLegacy:!1,color:f.some(t=>t.some(t=>"color"===t.name)),normal:d&&f.some(t=>t.some(t=>"normalCompressed"===t.name)),uv0:f.some(t=>t.some(t=>"uv0"===t.name)),uvRegion:f.some(t=>t.some(t=>"uvRegion"===t.name)),featureIndex:b.featureIndex},P=t.process(r,!!h,A,T.byteLength,b,C,S,g,v,w,x);if(t._free(S),t._free(A),P.error.length>0)throw new Error(`i3s.wasm: ${P.error}`);if(P.discarded)return null;const N=P.componentOffsets.length>0?P.componentOffsets.slice():null,L=P.featureIds.length>0?P.featureIds.slice():null,G=P.anchorIds.length>0?Array.from(P.anchorIds):null,D=P.anchors.length>0?Array.from(P.anchors):null,B=1===P.indicesType?new Uint16Array(P.indices.buffer,P.indices.byteOffset,P.indices.byteLength/2).slice():new Uint32Array(P.indices.buffer,P.indices.byteOffset,P.indices.byteLength/4).slice(),j=f[0].slice(),U=(0,o.z0)((0,s.vt)(),l),k=(0,m.MU)(P.interleavedVertedData,B,j,p&&!C.normal,U),F=P.positions.slice(),Z=function(t,e,n,r,o){const s=n?(0,a.o8)(n):(0,a.vt)();(0,i.lw)(s,e,s);const l=s[0],u=s[1],c=s[2],h=s[4],f=s[5],d=s[6],p=s[8],m=s[9],y=s[10],g=s[12],M=s[13],_=s[14];let b=1/0,R=-1/0;for(let e=0;e<t.length;e+=3){const n=t[e],s=t[e+1],i=t[e+2],a=n*c+s*d+i*y+_;let v=0;if(r>0){const t=n*l+s*h+i*p+g,e=n*u+s*f+i*m+M;v=Math.sqrt(t*t+e*e+a*a)-r}else v=a;v-=o,b=Math.min(b,v),R=Math.max(R,v)}return{minElevation:b,maxElevation:R}}(F,l,R?.geometries[0]?.transformation,M,u),{buffer:q,byteOffset:H,byteLength:z}=P.positionIndices,Y=1===P.positionIndicesType?new Uint16Array(q,H,z/2).slice():new Uint32Array(q,H,z/4).slice(),$=new y._b(j,k.data,k.indices,P.hasColors,P.hasModifications,{data:F,indices:Y});return L&&n.push(L.buffer),N&&n.push(N.buffer),n.push(k.data),n.push(k.indices.buffer),n.push(F.buffer),n.push(Y.buffer),new y.sQ(N,L,G,D,$,l,P.obb,Z.minElevation,Z.maxElevation)}function O(t){return 0===t?0:1===t?1:2===t?2:3}function C(t){if(!S)return;const{context:e,buffer:n}=t,r=S._malloc(n.byteLength),o=n.byteLength/Float64Array.BYTES_PER_ELEMENT,s=new Float64Array(S.HEAPU8.buffer,r,o),i=new Float64Array(n);s.set(i),S.filterOBBs(e,r,o),i.set(s),S._free(r)}function P(t){0===S?.destroy(t)&&(S=null,A=null,p=null)}function E(t,e,n){for(let r=0;r<e.length;++r)t[r+n]=e[r]}async function N(){S||await L()}async function L(){return S||(S=await(A??=(p??=(async()=>{const t=await n.e(2980).then(n.bind(n,82980));return await t.default({locateFile:t=>(0,d.s)(`esri/libs/i3s/${t}`)})})(),p))),S}const G={transform:(t,e)=>S&&I(S,t,e),destroy:P}},98697(t,e,n){n.d(e,{H1:()=>M,Ir:()=>m,_b:()=>h,sQ:()=>f});var r=n(53966),o=n(15142),s=n(51850),i=n(35982),a=n(39829),l=n(91218),u=n(27993),c=n(89056);class h{constructor(t,e,n,r,o,s){this.layout=t,this.interleavedVertexData=e,this.indices=n,this.hasColors=r,this.hasModifications=o,this.positionData=s}}class f{constructor(t,e,n,r,o,s,i,a,l){this.componentOffsets=t,this.featureIds=e,this.anchorIds=n,this.anchors=r,this.transformedGeometry=o,this.globalTrafo=s,this.obb=i,this.geometryMinElevation=a,this.geometryMaxElevation=l}}i.B;const d=new o.A({deallocator:null}),p=(0,s.vt)();function m(t,e,n,o=!1){d.clear();let s=1/0,i=1/0,u=-1/0,h=-1/0,f=!1;for(const t of e){const e="clip"===t.type?2:"mask"===t.type?1:0,p=t.geometry,m=p.spatialReference??n;if(m!==n&&!(0,l.canProjectWithoutEngine)(m,n)){r.A.getLogger("esri.views.3d.layers.SceneLayerWorkerHandle").warn("im-modification-projection-failed","Can't project modification polygon into layer spatial reference, ignoring modification",{polygon:p});continue}let M=p.rings;if(m!==n){const t=y(p.rings,m,n);if(null==t){r.A.getLogger("esri.views.3d.layers.SceneLayerWorkerHandle").warn("im-modification-projection-failed","Can't project modification polygon into layer spatial reference, ignoring modification",{polygon:p});continue}M=t}const _=M;if(o){const t=(0,c.jZ)(new a.A({rings:M,spatialReference:n}));null!=t&&(M=t.rings)}const b=1===_.length&&M.length>1?[...M.map(t=>[t]),_]:[M];if(b.some(t=>0===t.length||t.some(t=>t.length<3||t.some(t=>!g(t)))))r.A.getLogger("esri.views.3d.layers.SceneLayerWorkerHandle").warn("im-modification-invalid-polygon","Ignoring invalid modification polygon (empty ring, fewer than 3 vertices, or non-finite coordinates).",{polygon:p});else{f||=1===e;for(const t of b){d.push(e),d.push(t.length);for(const e of t){d.push(e.length);for(const t of e){const e=t[2]??0;d.push(t[0]),d.push(t[1]),d.push(e),s=Math.min(s,t[0]),i=Math.min(i,t[1]),u=Math.max(u,t[0]),h=Math.max(h,t[1])}}}}}if(null!=t)if(f){const e=1e-4;d.push(2),d.push(2),d.push(4),d.push(s-e),d.push(i-e),d.push(0),d.push(u+e),d.push(i-e),d.push(0),d.push(u+e),d.push(h+e),d.push(0),d.push(s-e),d.push(h+e),d.push(0),d.push(4),d.push(t[0]),d.push(t[1]),d.push(0),d.push(t[2]),d.push(t[1]),d.push(0),d.push(t[2]),d.push(t[3]),d.push(0),d.push(t[0]),d.push(t[3]),d.push(0)}else d.push(1),d.push(1),d.push(4),d.push(t[0]),d.push(t[1]),d.push(0),d.push(t[2]),d.push(t[1]),d.push(0),d.push(t[2]),d.push(t[3]),d.push(0),d.push(t[0]),d.push(t[3]),d.push(0);d.push(3);const p=new Float64Array(d.length);for(let t=0;t<d.length;++t)p[t]=d.at(t);return p}function y(t,e,n){const r=[];for(const o of t){const t=[];for(const r of o){if(!(0,u.F)(r,e,p,n)||!g(p))return null;t.push([p[0],p[1],p[2]])}r.push(t)}return r}function g(t){return Number.isFinite(t[0])&&Number.isFinite(t[1])&&(null==t[2]||Number.isFinite(t[2]))}function M(t,e){let n=0;for(const r of e){const e=r.geometry,o=e.rings.length,s=e.rings.some(t=>t.length<3);if(0!==o&&!s){n+=1,n+=1;for(let r=0;r<e.rings.length;++r){const o=e.rings[r];n+=1;for(let s=0;s<o.length;++s){const o=[t[n+0],t[n+1],t[n+2]];n+=3,e.setPoint(r,s,o)}}}}}},10614(t,e,n){n.d(e,{Tz:()=>i,aT:()=>s});var r=n(34727),o=n(35522);function s(t,e,n,r,o,s=2,i=0){const l=1/(Math.abs(n)+Math.abs(r)+Math.abs(o)),u=n*l,c=r*l,h=o<=0?(u>=0?1:-1)*(1-Math.abs(c)):u,f=o<=0?(c>=0?1:-1)*(1-Math.abs(u)):c,d=e*s+i;t[d]=a(h),t[d+1]=a(f)}function i(t,e,n,r=2,s=0){const i=n*r+s,a=l(e[i]),u=l(e[i+1]),c=1-Math.abs(a)-Math.abs(u);return t[2]=c,c<0?(t[0]=(a>=0?1:-1)*(1-Math.abs(u)),t[1]=(u>=0?1:-1)*(1-Math.abs(a))):(t[0]=a,t[1]=u),(0,o.S8)(t,t)}function a(t){return(0,r.qE)(Math.round(32767*t),-32767,32767)}function l(t){return(0,r.qE)(t/32767,-1,1)}n(51850)},74038(t,e,n){n.d(e,{_:()=>r});class r{constructor(t,e,n,r,o,s=!1,i=0,a=!1){this.name=t,this.count=e,this.type=n,this.offset=r,this.stride=o,this.normalized=s,this.divisor=i,this.integer=a}}},63907(t,e,n){const r={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,HALF_FLOAT:5131},o={RGBA4:32854,R16F:33325,RG16F:33327,RGB32F:34837,RGBA16F:34842,R32F:33326,RG32F:33328,RGBA32F:34836,R11F_G11F_B10F:35898,RGB8:32849,RGBA8:32856,RGB5_A1:32855,R8:33321,RG8:33323,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,RGB16F:34843,RGB9_E5:35901,SRGB8:35905,SRGB8_ALPHA8:35907,RGB565:36194,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,RGB10_A2:32857,RGB10_A2UI:36975},s=Object.values(o),i={FLOAT:r.FLOAT,UNSIGNED_BYTE:r.UNSIGNED_BYTE,UNSIGNED_INT_24_8:34042,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,BYTE:r.BYTE,UNSIGNED_SHORT:r.UNSIGNED_SHORT,SHORT:r.SHORT,UNSIGNED_INT:r.UNSIGNED_INT,INT:r.INT,HALF_FLOAT:5131,UNSIGNED_INT_2_10_10_10_REV:33640,UNSIGNED_INT_10F_11F_11F_REV:35899,UNSIGNED_INT_5_9_9_9_REV:35902,FLOAT_32_UNSIGNED_INT_24_8_REV:36269};n.d(e,["CQ",0,{COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_SRGB8_ETC2:37493,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37494,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37495,COMPRESSED_RGBA8_ETC2_EAC:37496,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37497},"H0",0,o,"SB",0,{DEPTH_COMPONENT16:33189,DEPTH_COMPONENT24:33190,DEPTH_COMPONENT32F:36012},"WR",0,{POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},"XN",0,s,"iE",0,{DEPTH24_STENCIL8:35056,DEPTH32F_STENCIL8:36013},"ld",0,i,"pe",0,r,"vt",0,{Texture:0,TileTexture:1,BufferObject:2,VertexArrayObject:3,Shader:4,Program:5,FramebufferObject:6,Renderbuffer:7,TransformFeedback:8,Sync:9,UNCOUNTED:10,LinesOfCode:10,Uniform:11,COUNT:12}])}}]);
|