@arcgis/core 5.0.0-next.17 → 5.0.0-next.18
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/{adf7ccf4ef629211c7ee.js → 08aacbfb651cc2e1c054.js} +1 -1
- package/assets/esri/core/workers/chunks/{658cd45b5fb304fd840a.js → 3aa77696c5ea54a238da.js} +1 -1
- package/assets/esri/core/workers/chunks/{49571d6875de1f2e7e25.js → 4b9dfdc23ba3d6ebcc1b.js} +2 -2
- package/assets/esri/core/workers/chunks/{888f188541f8bd68e33e.js → 72f1c3d97e7b9546c113.js} +1 -1
- package/assets/esri/core/workers/chunks/{a4518f25b9f8fe704286.js → 76e945da8f30d8641c3d.js} +4 -4
- package/chunks/ImageMaterial.glsl.js +1 -1
- package/config.js +1 -1
- package/interfaces.d.ts +47 -28
- package/intl/locale.js +1 -1
- package/kernel.js +1 -1
- package/layers/Lyr3DWasmPerSceneView.js +1 -1
- package/package.json +1 -1
- package/support/revision.js +1 -1
- package/views/2d/LabelManager.js +1 -1
- package/views/2d/engine/webgl/FeatureTile.js +1 -1
- package/views/2d/engine/webgl/OverlayMultipoint.js +1 -1
- package/views/2d/engine/webgl/VideoScreenRenderer.js +1 -1
- package/views/2d/engine/webgl/animations/store/AnimationStore.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/colorize/ColorizeTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityResources.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/drop-shadow/DropShadowTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/opacity/OpacityTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/RasterColorizerTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/RasterHighlightTechnique.js +1 -1
- package/views/2d/engine/webgl/textureUtils.js +1 -1
- package/views/2d/layers/features/FeatureContainer.js +1 -1
- package/views/3d/GroundView3D.js +1 -1
- package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
- package/views/3d/analysis/Slice/RotateManipulator.js +1 -1
- package/views/3d/analysis/images/Factory.js +1 -1
- package/views/3d/environment/ChapmanAtmosphere.js +1 -1
- package/views/3d/environment/EnvironmentManager.js +1 -1
- package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
- package/views/3d/layers/DrapedSubView3D.js +1 -1
- package/views/3d/layers/FlowSubView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
- package/views/3d/layers/MediaLayerView3D.js +1 -1
- package/views/3d/layers/PointCloudLayerView3D.js +1 -1
- package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
- package/views/3d/layers/SceneLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
- package/views/3d/layers/graphics/pipeline/rendering/FeaturePipelineRenderManager.js +1 -1
- package/views/3d/layers/graphics/wosrLoader.js +1 -1
- package/views/3d/layers/i3s/I3SMaterialUtil.js +1 -1
- package/views/3d/support/QualityProfile.js +5 -0
- package/views/3d/support/QualitySettings.js +1 -1
- package/views/3d/support/StreamTextureCollection.js +1 -1
- package/views/3d/support/TextureCollection.js +1 -1
- package/views/3d/support/engineContent/marker.js +1 -1
- package/views/3d/support/engineContent/sdfPrimitives.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianSplatOrderTexture.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/terrain/TileCompositor.js +1 -1
- package/views/3d/webgl-engine/Stage.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/core/material/MaterialBase.js +1 -1
- package/views/3d/webgl-engine/core/material/RenderTexture.js +1 -1
- package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
- package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
- package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
- package/views/3d/webgl-engine/lib/AnimationTimeStep.js +1 -1
- package/views/3d/webgl-engine/lib/BasisUtil.js +1 -1
- package/views/3d/webgl-engine/lib/DDSUtil.js +1 -1
- package/views/3d/webgl-engine/lib/GLTextureMaterial.js +1 -1
- package/views/3d/webgl-engine/lib/ManagedTexture.js +5 -0
- package/views/3d/webgl-engine/lib/OrderIndependentTransparency.js +1 -1
- package/views/3d/webgl-engine/lib/RenderFeature.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
- package/views/3d/webgl-engine/lib/TextTextureFactory.js +1 -1
- package/views/3d/webgl-engine/lib/TextureRepository.js +1 -1
- package/views/3d/webgl-engine/lib/glUtil3D.js +1 -1
- package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/internal/WaterTextureRepository.js +1 -1
- package/views/3d/webgl-engine/materials/stippleTextureRepository.js +1 -1
- package/views/3d/webgl-engine/parts/RenderView.js +1 -1
- package/views/GroundView.js +1 -1
- package/views/SceneView.js +1 -1
- package/views/support/layerViewUtils.js +1 -1
- package/views/webgl/Texture.js +1 -1
- package/views/webgl/testSVGPremultipliedAlpha.js +1 -1
- package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/FeatureFormUtilityNetworkAssociationList.js +1 -1
- package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/UtilityNetworkAssociationSettings.js +1 -1
- package/widgets/support/UtilityNetworkAssociations/FeatureUtilityNetworkAssociationsViewModel.js +1 -1
- package/views/3d/support/DisplayQualityProfile.js +0 -5
- package/views/3d/webgl-engine/lib/Texture.js +0 -5
- /package/views/3d/webgl-engine/lib/{ITexture.js → IManagedTexture.js} +0 -0
|
@@ -313,4 +313,4 @@ gl_Position = posProjCenter;
|
|
|
313
313
|
gl_PointSize = 1.0;`),o.main.add(s.H`fragColor = vec4(1);
|
|
314
314
|
if(discardByTerrainDepth()) {
|
|
315
315
|
fragColor.g = 0.5;
|
|
316
|
-
}`)}},64183:(e,t,r)=>{r.r(t),r.d(t,{default:()=>Ei});var i=r(31635),n=r(65529),s=r(74887),o=r(36708),a=r(10107),l=r(44208),c=r(53966),u=(r(87811),r(64108)),d=r(5443),h=r(91218),f=r(16930),p=r(56390),m=r(61956),y=r(65494);class g{constructor(e,t,r){this.renderCommandContext=e,this.renderCommandBuffer=t,this.pipelineStateCommands=r}append(e){this.appendRenderCommands(e.renderCommandBuffer),this.appendPipelineStateCommands(e.pipelineStateCommands)}appendRenderCommands(e){this.renderCommandBuffer.commands.push(...e.commands),this.renderCommandBuffer.transferList.push(...e.transferList)}appendPipelineStateCommand(e){this.pipelineStateCommands.push(e)}appendPipelineStateCommands(e){for(const t of e)this.appendPipelineStateCommand(t)}async execute(){for(const e of this.pipelineStateCommands)e();await this.renderCommandContext.dispatchRenderCommands(this.renderCommandBuffer)}static create(e,t=[]){return new g(e,e.createRenderCommandBuffer(),t)}}var b=r(68197),_=r(18574),v=r(87403),w=r(28975);function x(){return new _.A({material:new w.N({color:new b.A("red")})})}var C=r(9093),S=r(51850),A=r(91829),T=r(6847),I=r(83047),P=r(58083),B=r(87317),E=r(70328),M=r(19419);r(12359),r(95108),r(27615),r(52106),r(4718),r(34275),r(65864);var O=r(37585),R=r(48163),D=r(34727),F=r(26857);new Map,(()=>{let e="";for(let t=32;t<127;t++)e+=String.fromCharCode(t)})();const j=[];{const e=16;for(let t=0;t<360;t+=360/e)j.push([Math.cos(Math.PI*t/180),Math.sin(Math.PI*t/180)])}Object.freeze({left:0,center:.5,right:1});const V=Object.freeze({"bottom-left":(0,R.fA)(0,0),bottom:(0,R.fA)(.5,0),"bottom-right":(0,R.fA)(1,0),left:(0,R.fA)(0,.5),center:(0,R.fA)(.5,.5),right:(0,R.fA)(1,.5),"top-left":(0,R.fA)(0,1),top:(0,R.fA)(.5,1),"top-right":(0,R.fA)(1,1)});var z=r(9762),L=r(27993);function U(e){const{featureCount:t}=e;if(0===t)return new Uint32Array;const r=new Uint32Array(t);return e.getObjectIdsArray(r),r}function N(e){const{featureCount:t}=e;if(0===t)return new Float64Array;const r=new Float64Array(3*t);return e.getCoordinatesArray(r),r}function q(e,t){const r=t.viewSpatialReference,i=t.renderSpatialReference,{extent:n}=e,s=(0,M.gX)(n),o=(0,S.vt)();return(0,L.F)([s[0],s[1],0],r,o,i),o}var H=r(97146);function G(e){const t=new Map;for(const[r,i]of e)t.set(r,{...i,indices:(0,H.Dg)(i.indices)});return t}r(48833);var k=r(63907);const $=(0,A.CN)(.25,.25,.75,.75);function Y(e){return"cross"===e||"x"===e}function Z(e,t=128,r=.5*t,i=0){switch(e){case"circle":default:return function(e,t){const r=e/2-.5;return K(e,Q(r,r,t/2))}(t,r);case"square":return function(e,t){return X(e,t,!1)}(t,r);case"cross":return function(e,t,r=0){return W(e,t,!1,r)}(t,r,i);case"x":return function(e,t,r=0){return W(e,t,!0,r)}(t,r,i);case"kite":return function(e,t){return X(e,t,!0)}(t,r);case"triangle":return function(e,t){return K(e,J(e/2,t,t/2))}(t,r);case"arrow":return function(e,t){const r=t,i=t/2,n=e/2,s=.8*r,o=Q(n,(e-t)/2-s,Math.sqrt(s*s+i*i)),a=J(n,r,i);return K(e,(e,t)=>Math.max(a(e,t),-o(e,t)))}(t,r)}}function X(e,t,r){return r&&(t/=Math.SQRT2),K(e,(i,n)=>{let s=i-.5*e+.25,o=.5*e-n-.75;if(r){const e=(s+o)/Math.SQRT2;o=(o-s)/Math.SQRT2,s=e}return Math.max(Math.abs(s),Math.abs(o))-.5*t})}function W(e,t,r,i=0){t-=i,r&&(t*=Math.SQRT2);const n=.5*t;return K(e,(t,s)=>{let o,a=t-.5*e,l=.5*e-s-1;if(r){const e=(a+l)/Math.SQRT2;l=(l-a)/Math.SQRT2,a=e}return a=Math.abs(a),l=Math.abs(l),o=a>l?a>n?Math.sqrt((a-n)*(a-n)+l*l):l:l>n?Math.sqrt(a*a+(l-n)*(l-n)):a,o-=i/2,o})}function Q(e,t,r){return(i,n)=>{const s=i-e,o=n-t;return Math.sqrt(s*s+o*o)-r}}function J(e,t,r){const i=Math.sqrt(t*t+r*r);return(n,s)=>{const o=Math.abs(n-e)-r,a=s-e+t/2+.75,l=(t*o+r*a)/i,c=-a;return Math.max(l,c)}}function K(e,t){const r=new Float32Array(e*e);for(let i=0;i<e;i++)for(let n=0;n<e;n++)r[n+e*i]=t(n,i)/e;return r}var ee=r(46610);class te{constructor(e,t){this._context=null,this._symbolLayer=null,this._draped=!1,this._loaded=!1,this._loadingPromise=null,this._iconTextureID=null,this._materialId=null,this._context=t,this._symbolLayer=e}get loaded(){return this._loaded}load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}_destroy(){this._iconTextureID=null}async _load(){const e=this._context.renderCommandContext,t=await e.createTexture(()=>function(e,t=128,r=.5*t,i=0){return{data:Z(e,t,r,i),parameters:{mipmap:!1,wrap:{s:33071,t:33071},width:t,height:t,noUnpackFlip:!0,dataType:k.ld.FLOAT,pixelFormat:6403,internalFormat:k.H0.R16F,reloadable:!0}}}("circle"));this._iconTextureID=t;const r={anchorPosition:V.center,occlusionTest:!0,hasSlicePlane:!1,color:this._getFillColor(),outlineColor:this._getOutlineColor(),outlineSize:1,distanceFieldBoundingBox:$,textureId:t,textureIsSignedDistanceField:!0,sampleSignedDistanceFieldTexelCenter:Y("circle")},i=new Uint8Array(8),n=255;i[0]=0,i[1]=0,i[2]=0,i[3]=n,i[4]=n,i[5]=0,i[6]=n,i[7]=n,this._materialId=await e.createMaterial({type:"hud",parameters:r}),await e.createDirectRenderer(this._materialId),await e.setBaseInstance(this._materialId,{data:i.buffer,elementCount:4}),this._loaded=!0}async createAddCommand(e){const{_materialId:t,_context:r}=this,{renderCommandContext:i}=r;if(null==t)throw new Error("expected material not to be null");const n=await this._createGeometry(e);if(null==n)return r.createPipelineCommand();const s=q(e,r);return r.createPipelineCommand(i.addDirectRendererGeometry(e.id,n,s,!0))}async _createGeometry(e){const{_materialId:t,_context:r}=this,{mainThreadDelegate:i}=r,{featureCount:n}=e;if(0===n||null==t)return null;const s=U(e),o=N(e),a=function(e,t){const r=e.length/3,i=t.viewSpatialReference,n=t.renderSpatialReference,s=new Float64Array(3*r);if(!(0,z.projectBuffer)(e,i,0,s,n,0,r))throw new Error("Failed to project coordinates");return s}(await i.applyElevationAlignmentTo(o),r),l=new Float64Array([0,0,1]),c=new Float64Array([255,255,255,255]),u=new Float64Array([24,24]),d=new Float64Array([0,0,0,1]),h=new Float64Array([0]),f=new Uint32Array(n);for(let e=0;e<n;++e)f[e]=e;const p=new Uint32Array(n);for(let e=0;e<n;++e)p[e]=0;const m=[["position",new ee.n(a,f,3,!0)],["normal",new ee.n(l,p,3,!0)],["color",new ee.n(c,p,4,!0)],["rotation",new ee.n(h,p,1,!0)],["size",new ee.n(u,p,2,!0)],["centerOffsetAndDistance",new ee.n(d,p,4,!0)]],y=new Uint8Array(n);return e.getVisibilityArray(y),{attributes:G(m),olidColor:void 0,transformation:(0,C.vt)(),materialId:t,objectIds:s,visibilities:y}}async createRemoveCommand(e){const{_materialId:t,_context:r}=this,i=r.renderCommandContext;return null==t?r.createPipelineCommand():r.createPipelineCommand(i.removeDirectRendererGeometryBuffer(t,e))}async createUpdateVisibilityCommand(e){const{_materialId:t,_context:r}=this,i=r.renderCommandContext;if(null==t)return r.createPipelineCommand();const n=new Uint8Array(e.featureCount);return e.getVisibilityArray(n),r.createPipelineCommand(i.updateVisibility(t,e.id,n))}async createUpdateLayerViewOpacityCommand(e){const{_context:t,_materialId:r}=this,i=t.renderCommandContext;return null==r?t.createPipelineCommand():t.createPipelineCommand(i.updateMaterial({type:"hud",materialId:r,parameters:{color:this._getFillColor(),outlineColor:this._getOutlineColor()}}))}async createUpdateElevationCommand(e){const{_materialId:t,_context:r}=this,{renderCommandContext:i}=r,{featureCount:n,id:s}=e;if(null==t||0===n)return r.createPipelineCommand();const o=await this._createGeometry(e);if(null==o)return r.createPipelineCommand();const a=q(e,r);return r.createPipelineCommand(i.updateDirectRendererGeometry(s,o,a,!0))}async createDestroyCommand(){const{_iconTextureID:e,_context:t}=this,r=t.renderCommandContext;let i;return i=null!=e?await r.releaseTexture(e):g.create(r),i.appendPipelineStateCommand(()=>this._destroy()),i}_getOutlineColor(){const e=this._getLayerOpacity(),t=this._symbolLayer,r=t?.outline?.color;if(null!=r){const t=b.A.toUnitRGB(r),i=r.a*e;return[t[0],t[1],t[2],i]}return[0,0,0,0]}_getFillColor(){if(function(e){return null!=e&&("cross"===e||"x"===e)}(this._getPrimitive()))return ie;const e=null==this._getPrimitive(),t=this._symbolLayer?.material?.color;return this._getCombinedOpacityAndColor(t,{hasIntrinsicColor:e})}_getLayerOpacity(){return this._context.layerViewInfo.fullOpacity}_getCombinedOpacity(e,t=re){const r=this._draped?1:this._getLayerOpacity();return e?r*e.a:t.hasIntrinsicColor?r:0}_getCombinedOpacityAndColor(e,t=re){const r=this._getCombinedOpacity(e,t);return function(e,t,r=null){const i=(0,A.o8)(A.Un);return null!=e&&(i[0]=e[0],i[1]=e[1],i[2]=e[2],e.length>3&&(i[3]=e[3])),null!=t&&(i[3]=t),r&&(0,B.c)(i,i,r),i}(null!=e?b.A.toUnitRGB(e):S.Un,r)}_getPrimitive(){return e=this._symbolLayer,e.resource?.href?null:e.resource?.primitive??T.r;var e}}const re={hasIntrinsicColor:!1},ie=A.uY;class ne{constructor(e,t){this._loaded=!1,this._loadingPromise=null,this._context=null,this._symbol=null,this._symbolLayerRenderers=[],this._context=t,this._symbol=e}_destroy(){}get loaded(){return this._loaded}load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}async _load(){const{_context:e,_symbol:t,_symbolLayerRenderers:r}=this,i=[];for(const n of t.symbolLayers){const t=e.symbolRendererFactory.createSymbolRendererFromSymbolLayer(n);null!=t&&(i.push(t.load()),r.push(t))}await Promise.all(i),this._loaded=!0}async createDestroyCommand(){const{_context:e,_symbolLayerRenderers:t}=this,r=[];for(const e of t)r.push(e.createDestroyCommand());const i=e.joinPipelineCommands(await Promise.all(r));return i.appendPipelineStateCommand(()=>this._destroy()),i}async createAddCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,i=[];for(const t of r)i.push(t.createAddCommand(e));return t.joinPipelineCommands(await Promise.all(i))}async createRemoveCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,i=[];for(const t of r)i.push(t.createRemoveCommand(e));return t.joinPipelineCommands(await Promise.all(i))}async createUpdateVisibilityCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,i=[];for(const t of r)i.push(t.createUpdateVisibilityCommand(e));return t.joinPipelineCommands(await Promise.all(i))}async createUpdateLayerViewOpacityCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,i=[];for(const t of r)i.push(t.createUpdateLayerViewOpacityCommand(e));return t.joinPipelineCommands(await Promise.all(i))}async createUpdateElevationCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,i=[];for(const t of r)i.push(t.createUpdateElevationCommand(e));return t.joinPipelineCommands(await Promise.all(i))}}class se{constructor(e,t){this._symbol=null,this._featureData=new Map,this._loaded=!1,this._loadingPromise=null,this._renderer=null,this._context=t,this._renderer=e}async load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}async _load(){const{_renderer:e,_context:t}=this;this._symbol=t.symbolRendererFactory.createSymbolRendererFromSymbol(e.symbol),this._loaded=!0}get loaded(){return this._loaded}async createAddCommand(e){const t=this._context,r=await this._provisionSymbol(),i=null==r?t.createPipelineCommand():await r.createAddCommand(e);return i.appendPipelineStateCommand(()=>this._featureData.set(e.id,e)),i}async createRemoveCommand(e){const t=this._context,r=await this._provisionSymbol(),i=null==r?t.createPipelineCommand():await r.createRemoveCommand(e);return i.appendPipelineStateCommand(()=>this._featureData.delete(e)),i}async createUpdateVisibilityCommand(e){const t=this._context,r=await this._provisionSymbol();return null==r?t.createPipelineCommand():await r.createUpdateVisibilityCommand(e)}async createUpdateLayerViewOpacityCommand(e){const t=this._context,r=await this._provisionSymbol();return null==r?t.createPipelineCommand():await r.createUpdateLayerViewOpacityCommand(e)}async createUpdateElevationCommand(){const{_featureData:e,_context:t}=this,r=await this._provisionSymbol();if(null==r)return t.createPipelineCommand();const i=[];for(const t of e.values())i.push(r.createUpdateElevationCommand(t));const n=await Promise.all(i);return t.joinPipelineCommands(n)}async createDestroyCommand(){const{_symbol:e,_context:t,_featureData:r}=this;if(!e)return t.createPipelineCommand();const i=[];for(const e of r.keys())i.push(this.createRemoveCommand(e));i.push(e.createDestroyCommand());const n=await Promise.all(i);return t.joinPipelineCommands(n)}async _provisionSymbol(){const e=this._symbol;return e?(e.loaded||await e.load(),e):null}}var oe=r(48353),ae=r(30809),le=r(8887),ce=r(38954),ue=r(72385),de=(r(4197),r(11868)),he=r(27921),fe=r(71351),pe=r(73941);function me(e,t){const r=e[t],i=e[t+1],n=e[t+2];return Math.sqrt(r*r+i*i+n*n)}function ye(e,t){const r=e[t],i=e[t+1],n=e[t+2],s=1/Math.sqrt(r*r+i*i+n*n);e[t]*=s,e[t+1]*=s,e[t+2]*=s}function ge(e,t,r){e[t]*=r,e[t+1]*=r,e[t+2]*=r}r(37539),r(20498),r(87170),(0,R.vt)(),(0,R.vt)();var be=r(620);r(78754);const _e=new Array(36);for(let e=0;e<6;e++)for(let t=0;t<6;t++)_e[6*e+t]=e;const ve=new Array(36);for(let e=0;e<6;e++)ve[6*e]=0,ve[6*e+1]=1,ve[6*e+2]=2,ve[6*e+3]=2,ve[6*e+4]=3,ve[6*e+5]=0;const we=(0,ue.fA)(-.5,0,-.5),xe=(0,ue.fA)(.5,0,-.5),Ce=(0,ue.fA)(0,0,.5),Se=(0,ue.fA)(0,.5,0),Ae=(0,ue.vt)(),Te=(0,ue.vt)(),Ie=(0,ue.vt)(),Pe=(0,ue.vt)(),Be=(0,ue.vt)();(0,ce.e)(Ae,we,Se),(0,ce.e)(Te,we,xe),(0,ce.i)(Ie,Ae,Te),(0,ce.n)(Ie,Ie),(0,ce.e)(Ae,xe,Se),(0,ce.e)(Te,xe,Ce),(0,ce.i)(Pe,Ae,Te),(0,ce.n)(Pe,Pe),(0,ce.e)(Ae,Ce,Se),(0,ce.e)(Te,Ce,we),(0,ce.i)(Be,Ae,Te),(0,ce.n)(Be,Be),Ie[0],Ie[1],Ie[2],Pe[0],Pe[1],Pe[2],Be[0],Be[1],Be[2],(0,S.vt)();var Ee=r(4576),Me=r(69397);r(6867),r(87582);var Oe=r(57917);function Re(e,t){const r=(e,r,i=!1)=>({levels:e.map(e=>{const n=G(r(e.tesselation));return i&&function(e){const t=e,r=t.get("position").data,i=t.get("normal").data;if(i){const t=De(e,"normal").data;for(let e=0;e<i.length;e+=3){const r=i[e+1];t[e+1]=-i[e+2],t[e+2]=r}}if(r){const t=De(e,"position").data;for(let e=0;e<r.length;e+=3){const i=r[e+1];t[e+1]=-r[e+2],t[e+2]=i}}}(n),{components:[{attributes:n,olidColor:void 0,transformation:null,materialId:t,visibilities:new Uint8Array([1]),objectIds:new Uint32Array([-1])}],minScreenSpaceRadius:e.minScreenSpaceRadius}})});switch(e){case"cone":return r(Fe,e=>function(e,t,r,i,n=!0,s=!0){let o=0;const a=t,l=e;let c=(0,ue.fA)(0,o,0),u=(0,ue.fA)(0,o+l,0),d=(0,ue.fA)(0,-1,0),h=(0,ue.fA)(0,1,0);i&&(o=l,u=(0,ue.fA)(0,0,0),c=(0,ue.fA)(0,o,0),d=(0,ue.fA)(0,1,0),h=(0,ue.fA)(0,-1,0));const f=[u,c],p=[d,h],m=r+2,y=Math.sqrt(l*l+a*a);if(i)for(let e=r-1;e>=0;e--){const t=e*(2*Math.PI/r),i=(0,ue.fA)(Math.cos(t)*a,o,Math.sin(t)*a);f.push(i);const n=(0,ue.fA)(l*Math.cos(t)/y,-a/y,l*Math.sin(t)/y);p.push(n)}else for(let e=0;e<r;e++){const t=e*(2*Math.PI/r),i=(0,ue.fA)(Math.cos(t)*a,o,Math.sin(t)*a);f.push(i);const n=(0,ue.fA)(l*Math.cos(t)/y,a/y,l*Math.sin(t)/y);p.push(n)}const g=new Array,b=new Array;if(n){for(let e=3;e<f.length;e++)g.push(1),g.push(e-1),g.push(e),b.push(0),b.push(0),b.push(0);g.push(f.length-1),g.push(2),g.push(1),b.push(0),b.push(0),b.push(0)}if(s){for(let e=3;e<f.length;e++)g.push(e),g.push(e-1),g.push(0),b.push(e),b.push(e-1),b.push(1);g.push(0),g.push(2),g.push(f.length-1),b.push(1),b.push(2),b.push(p.length-1)}const _=(0,de.oe)(3*m);for(let e=0;e<m;e++)_[3*e]=f[e][0],_[3*e+1]=f[e][1],_[3*e+2]=f[e][2];const v=(0,de.oe)(3*m);for(let e=0;e<m;e++)v[3*e]=p[e][0],v[3*e+1]=p[e][1],v[3*e+2]=p[e][2];return[["position",new ee.n(_,g,3,!0)],["normal",new ee.n(v,b,3,!0)]]}(1,.5,e,!1),!0);case"sphere":return r([{tesselation:0,minScreenSpaceRadius:0},{tesselation:1,minScreenSpaceRadius:8},{tesselation:2,minScreenSpaceRadius:16},{tesselation:3,minScreenSpaceRadius:50},{tesselation:4,minScreenSpaceRadius:250}],e=>function(e,t,r){const i=e;let n,s;if(r)n=[0,-1,0,1,0,0,0,0,1,-1,0,0,0,0,-1,0,1,0],s=[0,1,2,0,2,3,0,3,4,0,4,1,1,5,2,2,5,3,3,5,4,4,5,1];else{const e=i*(1+Math.sqrt(5))/2;n=[-i,e,0,i,e,0,-i,-e,0,i,-e,0,0,-i,e,0,i,e,0,-i,-e,0,i,-e,e,0,-i,e,0,i,-e,0,-i,-e,0,i],s=[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1]}for(let t=0;t<n.length;t+=3)ge(n,t,e/me(n,t));let o={};function a(t,r){t>r&&([t,r]=[r,t]);const i=t.toString()+"."+r.toString();if(o[i])return o[i];let s=n.length;return n.length+=3,function(e,t,r,i,n,s=t){(n=n||e)[s]=e[t]+r[i],n[s+1]=e[t+1]+r[i+1],n[s+2]=e[t+2]+r[i+2]}(n,3*t,n,3*r,n,s),ge(n,s,e/me(n,s)),s/=3,o[i]=s,s}for(let e=0;e<t;e++){const e=s.length,t=new Array(4*e);for(let r=0;r<e;r+=3){const e=s[r],i=s[r+1],n=s[r+2],o=a(e,i),l=a(i,n),c=a(n,e),u=4*r;t[u]=e,t[u+1]=o,t[u+2]=c,t[u+3]=i,t[u+4]=l,t[u+5]=o,t[u+6]=n,t[u+7]=c,t[u+8]=l,t[u+9]=o,t[u+10]=l,t[u+11]=c}s=t,o={}}const l=(0,de.Wz)(n);for(let e=0;e<l.length;e+=3)ye(l,e);return[["position",new ee.n((0,de.Wz)(n),s,3,!0)],["normal",new ee.n(l,s,3,!0)]]}(.5,e,!0));case"cube":case"inverted-cone":case"cylinder":case"tetrahedron":case"diamond":throw new Error("not implemented");default:return}}function De(e,t){let r=e.get(t);return r&&!r.exclusive&&(r={...r,exclusive:!0,data:(0,Oe.S)(r.data)},e.set(t,r)),r}const Fe=[{tesselation:6,minScreenSpaceRadius:0},{tesselation:18,minScreenSpaceRadius:7},{tesselation:64,minScreenSpaceRadius:65}];var je=r(2495),Ve=r(74810);class ze{constructor(e,t){this._loaded=!1,this._loadingPromise=null,this._primitiveMaterialId=null,this._lodRendererId=null,this._context=null,this._symbolLayer=null,this._primitive=null,this._context=t,this._symbolLayer=e}_destroy(){this._lodRendererId=null,this._primitiveMaterialId=null}get loaded(){return this._loaded}get _isPrimitive(){return null!=this._primitive}load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}async _load(){const e=this._context.renderCommandContext,t=this._getLayerOpacity();let r={usePBR:!0,isSchematic:!0,mrrFactors:Ve.Bt,ambient:S.Un,diffuse:S.Un,hasSlicePlane:!1,castShadows:!0,layerOpacity:t,offsetTransparentBackfaces:!1,screenSizePerspective:{}};if(r.externalColor=A.Un,r.instanced=!0,this._isPrimitive){const e=new je.fs;e.layerOpacity=t,r={...r,cullFace:Le((0,je.ty)(e))}}const i=await e.createMaterial({type:"default",parameters:r}),n=this._symbolLayer.resource;this._primitive=n&&function(e){switch(e){case"sphere":case"cube":case"diamond":case"cylinder":case"cone":case"inverted-cone":case"tetrahedron":return!0}return!1}(n?.primitive)?n.primitive:ae.r;const s=Re(this._primitive,i);this._lodRendererId=await e.createLodRenderer(s),this._primitiveMaterialId=i,this._loaded=!0}async createDestroyCommand(){const{_lodRendererId:e,_primitiveMaterialId:t,_context:r}=this,i=r.renderCommandContext,n=[];return null!=e&&n.push(i.destroyLodRenderer(e)),null!=t&&n.push(i.destroyMaterial(t)),new g(i,i.mergeRenderCommandBuffers(n),[()=>this._destroy()])}async createAddCommand(e){const t=this._context,{renderCommandContext:r,mainThreadDelegate:i}=t;if(null==this._lodRendererId)throw new Error("expected lod renderer id to not be null");const{featureCount:n}=e;if(0===n)return t.createPipelineCommand();const s=this._isPrimitive,o=this._primitive||ae.r,a=(0,E.vt)((0,le.Fq)(o)),l=(0,S.ci)((0,E.Ej)(a)),c=(0,S.ci)((0,le.Bb)(l,{isPrimitive:s,width:100,depth:null,height:null})),u=new Float64Array(16*n),d=new Float64Array(16*n),h=N(e),f=await i.applyElevationAlignmentTo(h);for(let e=0;e<n;++e){const t=e,r=f[3*e+0],i=f[3*e+1],n=f[3*e+2],s=this._computeGlobalTransform(r,i,n,this._context.viewSpatialReference,qe),o=this._computeLocalTransform(c,l,Ne);this._writeMatrixToTypedBuffer(u,t,o),this._writeMatrixToTypedBuffer(d,t,s)}const p=U(e),m=new Uint8Array(n);e.getVisibilityArray(m);const y={featureIds:new Uint32Array(p),visibility:m,localTransforms:u,globalTransforms:d};return t.createPipelineCommand(r.addLodInstances(this._lodRendererId,e.id,y))}async createRemoveCommand(e){const{_context:t,_lodRendererId:r}=this,i=t.renderCommandContext;return null==r?t.createPipelineCommand():t.createPipelineCommand(i.removeLodInstances(r,e))}async createUpdateVisibilityCommand(e){const{_lodRendererId:t,_context:r}=this,i=r.renderCommandContext;if(null==t)return r.createPipelineCommand();const n=new Uint8Array(e.featureCount);return e.getVisibilityArray(n),r.createPipelineCommand(i.updateVisibility(t,e.id,n))}async createUpdateLayerViewOpacityCommand(e){const{_context:t}=this,r=t.renderCommandContext,i=this._primitiveMaterialId;if(null==i)return t.createPipelineCommand();const n=this._getLayerOpacity();let s={layerOpacity:n};if(this._isPrimitive){const e=new je.fs;e.layerOpacity=n,s={...s,cullFace:Le((0,je.ty)(e))}}return t.createPipelineCommand(r.updateMaterial({type:"default",materialId:i,parameters:s}))}async createUpdateElevationCommand(e){const{_context:t,_lodRendererId:r}=this,{renderCommandContext:i,mainThreadDelegate:n}=t,{featureCount:s,id:o}=e;if(null==r||0===s)return t.createPipelineCommand();const a=new Float64Array(16*s),l=N(e),c=await n.applyElevationAlignmentTo(l);for(let e=0;e<s;++e){const t=e,r=c[3*e+0],i=c[3*e+1],n=c[3*e+2],s=this._computeGlobalTransform(r,i,n,this._context.viewSpatialReference,qe);this._writeMatrixToTypedBuffer(a,t,s)}return t.createPipelineCommand(i.updateLodInstancesData(r,o,a))}_writeMatrixToTypedBuffer(e,t,r){let i=16*t;for(let t=0;t<16;t++)e[i++]=r[t]}_computeGlobalTransform(e,t,r,i,n){return Ue[0]=e,Ue[1]=t,Ue[2]=r,(0,oe.l)(i,Ue,n,this._context.renderSpatialReference),n}_computeLocalTransform(e,t,r){return(0,P.D_)(r),this._applyObjectScale(e,t,r),r}_applyObjectScale(e,t,r){const i=function(e=S.Un,t,r,i=1){const n=new Array(3);if(null==t||null==r)n[0]=1,n[1]=1,n[2]=1;else{let i,s=0;for(let o=2;o>=0;o--){const a=e[o],l=null!=a,c=0===o&&!i&&!l,u=r[o];let d;"symbol-value"===a||c?d=0!==u?t[o]/u:1:l&&"proportional"!==a&&isFinite(a)&&(d=0!==u?a/u:1),null!=d&&(n[o]=d,i=d,s=Math.max(s,Math.abs(d)))}for(let e=2;e>=0;e--)null==n[e]?n[e]=i:0===n[e]&&(n[e]=.001*s)}for(let e=2;e>=0;e--)n[e]/=i;return(0,S.ci)(n)}(e,e,t,this._context.renderCoordsHelper.unitInMeters);1===i[0]&&1===i[1]&&1===i[2]||(0,P.hs)(r,r,i)}_getLayerOpacity(){return this._context.layerViewInfo.fullOpacity}}function Le(e){return e?0:2}const Ue=(0,S.vt)(),Ne=(0,C.vt)(),qe=(0,C.vt)();class He{constructor(e,t){this._symbols=new Array,this._featureDataPartitioning=new Map,this._loaded=!1,this._loadingPromise=null,this._renderer=null,this._context=t,this._renderer=e}async load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}async _load(){this._symbols[0]=new te(x(),this._context),this._symbols[1]=new ze(new v.A,this._context),this._loaded=!0}get loaded(){return this._loaded}async createAddCommand(e){const t=this._context,r=this._partition(e),i=await Promise.all(r.map(async({index:e,features:t})=>{const r=await this._provisionSymbol(e);return await(r?.createAddCommand(t))})),n=t.joinPipelineCommands(i);return n.appendPipelineStateCommand(()=>this._featureDataPartitioning.set(e.id,r)),n}async createRemoveCommand(e){const{_featureDataPartitioning:t,_context:r}=this,i=r.renderCommandContext,n=t.get(e);if(null==n)return new g(i,i.createRenderCommandBuffer(),[]);const s=await Promise.all(n.map(async({index:e,features:t})=>{const r=this._getLoadedSymbol(e);return await(r?.createRemoveCommand(t.id))})),o=r.joinPipelineCommands(s);return o.appendPipelineStateCommand(()=>t.delete(e)),o}async createUpdateVisibilityCommand(e){const{_featureDataPartitioning:t,_context:r}=this,i=r.renderCommandContext,n=t.get(e.id);if(null==n)return new g(i,i.createRenderCommandBuffer(),[]);const s=await Promise.all(n.map(async({index:e,features:t})=>{const r=this._getLoadedSymbol(e);return await(r?.createUpdateVisibilityCommand(t))}));return r.joinPipelineCommands(s)}async createUpdateLayerViewOpacityCommand(e){const t=this._context,r=[];for(let t=0;t<this._symbols.length;++t){const i=this._symbols[t];null!=i&&i.loaded&&r.push(i.createUpdateLayerViewOpacityCommand(e))}const i=await Promise.all(r);return t.joinPipelineCommands(i)}async createUpdateElevationCommand(){const{_featureDataPartitioning:e,_context:t}=this,r=[];for(const t of e.values()){const e=t.map(async({index:e,features:t})=>{const r=this._getLoadedSymbol(e);return await(r?.createUpdateElevationCommand(t))});r.push(...e)}const i=await Promise.all(r);return t.joinPipelineCommands(i)}async createDestroyCommand(){const{_featureDataPartitioning:e,_context:t}=this,r=[];for(const t of e.keys())r.push(this.createRemoveCommand(t));for(const e of this._symbols)r.push(e.createDestroyCommand());const i=await Promise.all(r);return t.joinPipelineCommands(i)}async _provisionSymbol(e){if(null==e)return null;const t=this._symbols[e];return t?(t.loaded||await t.load(),t):null}_getLoadedSymbol(e){if(null==e)return null;const t=this._symbols[e];return null!=t&&t.loaded?t:null}_partition(e){const t=U(e);if(null==t)throw new Error("unable to fetch objectIds");const{featureCount:r}=e,i=[[],[]];for(let e=0;e<r;++e)i[t[e]%2].push(e);return i.map((t,r)=>new Ge(r,e.subset(new Uint32Array(t)))).filter(e=>e.features.featureCount>0)}}class Ge{constructor(e,t){this.index=e,this.features=t}}class ke{constructor(e,t,r,i,n,s,o){this.viewSpatialReference=e,this.renderSpatialReference=t,this.mainThreadDelegate=r,this.renderCoordsHelper=i,this.renderCommandContext=n,this.layerInfo=s,this.layerViewInfo=o,this.symbolRendererFactory=new $e(this)}createPipelineCommand(e=this.renderCommandContext.createRenderCommandBuffer(),t=[]){return new g(this.renderCommandContext,e,t)}joinPipelineCommands(e){return 0===e.length?this.createPipelineCommand():e.filter(e=>null!=e).reduce((e,t)=>(e.append(t),e))}}class $e{constructor(e){this.context=e}createSymbolRendererFromJSON(e){const t=(0,y.L)(e??Ye)??void 0;if(!t)throw new Error("Failed to create renderer");const r=t.type;switch(r){case"simple":return new se(t,this.context);case"unique-value":return new He(t,this.context);default:return console.warn(`Unable to create symbolrenderer for renderer of ${r}`),this.createSymbolRendererFromJSON(Ye)}}createSymbolRendererFromSymbol(e){const t=e?.type;switch(t){case"point-3d":return new ne(e,this.context);case"picture-marker":case"simple-marker":return new te(x(),this.context);default:return console.warn(`Unable to create symbolrenderer for symbol of ${t}`),null}}createSymbolRendererFromSymbolLayer(e){const t=e.type;return"icon"===t?new te(e,this.context):(console.warn(`Unable to create symbolrenderer for symbolLayer of ${t}`),null)}}const Ye={type:"simple"};var Ze=r(69622),Xe=r(60999),We=r(32587),Qe=r(76030),Je=r(24326);function Ke(e=""){return`${e}${(0,Je.c)()}`}new Float64Array(3);class et{constructor(e,t){this._parent=e,this._subsetIndices=t,this.id=Ke(`featureDataSubset-${e.id}-`)}get tileId(){return this._parent.tileId}get extent(){return this._parent.extent}get featureCount(){return this._subsetIndices.length}get usedMemory(){return this._parent.usedMemory+Me.qK+this._subsetIndices.byteLength}get isFullyEnabled(){for(const e of this._subsetIndices)if(!this._parent.getEnabled(e))return!1;return!0}getObjectId(e){return this._parent.getObjectId(this._subsetIndices[e])}getAttribute(e,t){return this._parent.getAttribute(this._subsetIndices[e],t)}getAttributeAsTimestamp(e,t){return this._parent.getAttribute(this._subsetIndices[e],t)}getAttributes(e){return this._parent.getAttributes(this._subsetIndices[e])}getCoordinates(e,t,r){return this._parent.getCoordinates(this._subsetIndices[e],t,r)}getOptimizedGeometry(e){return this._parent.getOptimizedGeometry(this._subsetIndices[e])}getCentroid(e,t){return this._parent.getCentroid(this._subsetIndices[e],t)}getBounds(e){return this._parent.getBounds(this._subsetIndices[e])}getBoundingBox(e){return this._parent.getBoundingBox(this._subsetIndices[e])}getObjectIdsArray(e,t,r){return this._parent.getObjectIdsArray(e,this._translatedIndices(t),r)}getCoordinatesArray(e,t,r){return this._parent.getCoordinatesArray(e,this._translatedIndices(t),r)}objectIds(e){return this._parent.objectIds(this._translatedIndices(e))}subset(e){const{_subsetIndices:t}=this,r=new Uint32Array(e.length);for(let i=0;i<r.length;++i)r[i]=t[e[i]];return new et(this._parent,r)}disableObjectIds(e){if(0===e.size)return;const{featureCount:t}=this,r=new Array;for(let i=0;i<t;++i)this.getEnabled(i)&&e.has(this.getObjectId(i))&&r.push(i);if(0!==r.length)for(const e of r)this.setEnabled(e,!1)}setEnabled(e,t){this._parent.setEnabled(this._subsetIndices[e],t)}getEnabled(e){return this._parent.getEnabled(this._subsetIndices[e])}enableAll(){const{_subsetIndices:e,_parent:t}=this;for(const r of e)t.setEnabled(r,!0)}getVisibilityArray(e,t,r){return this._parent.getVisibilityArray(e,this._translatedIndices(t),r)}enabledObjectIds(e){return this._parent.enabledObjectIds(this._translatedIndices(e))}*_translatedIndices(e){const{_subsetIndices:t}=this;if(null!=e)for(const r of e)yield t[r];else yield*t}}class tt{constructor(e){this._tile=e,this.id=Ke(`featureData-${e.id}-`),this._enabled=new Array(e.featureCount).fill(!0)}get tileId(){return this._tile.id}get featureCount(){return this._tile.featureCount}get usedMemory(){return Me.qK+(0,Me.$B)(this.id)}get extent(){return this._tile.descriptor.extent}get isFullyEnabled(){return this._enabled.every(e=>e)}getObjectId(e){return this._tile.getObjectId(e)}getAttribute(e,t){return this._tile.getAttribute(e,t)}getAttributeAsTimestamp(e,t){return this._tile.getAttribute(e,t)}getAttributes(e){return this._tile.getAttributes(e)}getCoordinates(e,t,r){return this._tile.getCoordinates(e,t,r)}getOptimizedGeometry(e){return this._tile.getOptimizedGeometry(e)}getCentroid(e,t){return this._tile.getCentroid(e,t)}getBounds(e){return this._tile.getBounds(e)}getBoundingBox(e){return this._tile.getBoundingBox(e)}getObjectIdsArray(e,t,r){return this._tile.getObjectIdsArray(e,t,r)}getCoordinatesArray(e,t,r){return this._tile.getCoordinatesArray(e,t,r)}objectIds(e){return this._tile.objectIds(e)}subset(e){return new et(this,e)}disableObjectIds(e){if(0===e.size)return;const{_enabled:t}=this,r=new Array;for(const i of this._allFeatureIndices())t[i]&&e.has(this.getObjectId(i))&&r.push(i);if(0!==r.length)for(const e of r)t[e]=!1}setEnabled(e,t){this._enabled[e]=t}getEnabled(e){return this._enabled[e]}enableAll(){this._enabled.fill(!0)}getVisibilityArray(e,t=this._allFeatureIndices(),r=0){const{_enabled:i}=this;for(const n of t)e[r++]=Number(i[n]);return r}*enabledObjectIds(e=this._allFeatureIndices()){const{_enabled:t}=this;for(const r of e)t[r]&&(yield this.getObjectId(r))}*_allFeatureIndices(){const{featureCount:e}=this;for(let t=0;t<e;++t)yield t}}let rt=class extends Ze.A{constructor(e){super(e),this.extent=null,this._tileHandles=new We.A,this._wanted=new We.A,this._updateRequested=!1,this._synchronizationTask=null,this._requestedTiles=new Array}destroy(){this._tileHandles.clear(),this._wanted.clear()}get updating(){return this._updateRequested||!(this._synchronizationTask?.finished??1)}get _boundingRect(){const{extent:e}=this;return null==e?null:(0,M.VY)(e)}get _missingTiles(){const e=new Array,t=this._wanted,r=this._tileHandles;for(const i of t.values())null==r.get(i.id)?.featureData&&e.push(i);return e}onTileTreeChange({tiles:e}){this._requestedTiles=e,this._scheduleTilesSync()}_scheduleTilesSync(){if(this._updateRequested)return;this._updateRequested=!0;const e=this._synchronizationTask,t=(0,Xe.UT)(async()=>{try{await(0,o.C_)(()=>e?.finished??!0),await(0,Qe.NO)(),this._updateRequested=!1,await this._synchronizeTiles()}finally{this._synchronizationTask===t&&(this._synchronizationTask=null)}});this._synchronizationTask=t}async _synchronizeTiles(){const e=this._requestedTiles,t=this._tileHandles,r=new Array;for(const i of e)t.has(i.id)||r.push(i);const i=new Array;for(const r of t.values()){const{id:t}=r;e.every(e=>e.id!==t)&&i.push(r.descriptor)}const n=this._tileHandles,{_boundingRect:s}=this,o=null!=s?r.filter(e=>!e.extent||(0,M.HY)(s,e.extent)):r,a=this._wanted,l=new Array;for(const{id:e}of i)a.delete(e);for(const e of o)a.set(e.id,e);const c=this._missingTiles;for(const e of i){const{id:t}=e;if(c.some(t=>it(t,e)||it(e,t)))continue;const r=n.get(t);null!=r&&l.push(this._removeTile(r))}for(const e of o)l.push(this._addTile(e));const u=await Promise.allSettled(l);for(const e of u)"rejected"===e.status&&console.error(e.reason)}forEachTile(e){for(const t of this._tileHandles.values()){const r=t.featureData;null!=r&&e(r)}}*loadedTiles(){for(const e of this._tileHandles.values()){const t=e.featureData;null!=t&&(yield t)}}async _removeTile(e){e.loadTask.abort(),this._tileHandles.delete(e.id),this._validate();const{featureData:t}=e;if(null!=t){const e={stack:[],error:void 0,hasError:!1};try{(0,i.mS)(e,await this.tileLocks.lock([t.tileId]),!1);const r=await this.createRemoveCommand(t.id);await(r?.execute())}catch(t){e.error=t,e.hasError=!0}finally{(0,i.hk)(e)}}}async _addTile(e){const{_tileHandles:t}=this,r=t.get(e.id);if(null!=r){if(!st(r)||r.featureData.isFullyEnabled)return;return r.featureData.enableAll(),void await this._onTileLoad(r)}const i=new nt(e,(0,Xe.UT)(async t=>{const r=await this.loadTile(e,t);return(0,s.Te)(t),new tt(r)}));this._tileHandles.set(i.id,i);try{await i.loadTask.promise}catch(e){return void(0,s.jH)(e)}(function(e){if(!st(e))throw new Error})(i),await this._onTileLoad(i)}async _onTileLoad(e){const t={stack:[],error:void 0,hasError:!1};try{const{_wanted:r,_tileHandles:n,_missingTiles:s}=this,o=e.descriptor,a=new Array,l=new Array,c=new Array,u=new Set;for(const t of n.values()){if(t===e)continue;const{descriptor:i,id:c}=t;if(!r.has(c)&&!s.some(e=>it(e,i)||it(i,e))){n.delete(c),t.loadTask.abort();const{featureData:e}=t;null!=e&&a.push(e);continue}if(st(t)){if(it(o,i)){const e=t.featureData;for(const t of e.objectIds())u.add(t)}if(it(i,o)){const{featureData:e}=t;l.push(e)}}}u.size>0&&(e.featureData.disableObjectIds(u),this._validateRemoval(e.featureData,u)),this._validate(),c.push(e.featureData);const d=[...c,...a,...l].map(e=>e.tileId);if((0,i.mS)(t,await this.tileLocks.lock(d),!1),0!==l.length){const t=e.featureData,r=new Set(t.objectIds());for(const e of l)e.disableObjectIds(r),this._validateRemoval(e,r)}const h=a.map(e=>this.createRemoveCommand(e.id)),f=c.map(e=>this.createAddCommand(e)),p=l.map(e=>this.createUpdateCommand(e)),m=function(e){return 0===e.length?null:e.reduce((e,t)=>(e.append(t),e))}((await Promise.all([...h,...f,...p])).filter(Ee.Ru));await(m?.execute())}catch(e){t.error=e,t.hasError=!0}finally{(0,i.hk)(t)}}_validate(){if(!(0,l.A)("feature-pipeline-3d-test-validation"))return;const e=new Array;for(const t of this._tileHandles.values()){if(!st(t))continue;const{featureData:r}=t;e.push({featureData:r,objectIds:new Set(r.enabledObjectIds())})}for(let t=0;t<e.length;++t){const{featureData:r,objectIds:i}=e[t];for(let n=t+1;n<e.length;++n){const{featureData:t,objectIds:s}=e[n];for(const e of s)if(i.has(e))throw new Error(`${r.id} and ${t.id} both contain ${e}.`)}}}_validateRemoval(e,t){if((0,l.A)("feature-pipeline-3d-test-validation"))for(const r of e.enabledObjectIds())if(t.has(r))throw new Error(`Failed to remove ${r} from ${e.id}!`)}};function it({lij:[e,t,r]},{lij:[i,n,s]}){const o=i-e;return o>=0&&t===n>>o&&r===s>>o}(0,i.Cg)([(0,a.MZ)()],rt.prototype,"updating",null),(0,i.Cg)([(0,a.MZ)({constructOnly:!0})],rt.prototype,"loadTile",void 0),(0,i.Cg)([(0,a.MZ)({constructOnly:!0})],rt.prototype,"createAddCommand",void 0),(0,i.Cg)([(0,a.MZ)({constructOnly:!0})],rt.prototype,"createRemoveCommand",void 0),(0,i.Cg)([(0,a.MZ)({constructOnly:!0})],rt.prototype,"createUpdateCommand",void 0),(0,i.Cg)([(0,a.MZ)({constructOnly:!0})],rt.prototype,"tileLocks",void 0),(0,i.Cg)([(0,a.MZ)()],rt.prototype,"extent",void 0),(0,i.Cg)([(0,a.MZ)()],rt.prototype,"_boundingRect",null),(0,i.Cg)([(0,a.MZ)()],rt.prototype,"_missingTiles",null),(0,i.Cg)([(0,a.MZ)()],rt.prototype,"_updateRequested",void 0),(0,i.Cg)([(0,a.MZ)()],rt.prototype,"_synchronizationTask",void 0),rt=(0,i.Cg)([(0,u.$)("esri.views.3d.layers.graphics.pipeline.Tile3DManager")],rt);class nt{constructor(e,t){this.descriptor=e,this.loadTask=t}get id(){return this.descriptor.id}get featureData(){return this.loadTask.value}}function st(e){return null!=e.featureData}var ot=r(36563);class at{constructor(){this._previousActions=new Map}async lock(e){const{_previousActions:t}=this,r=e.map(e=>t.get(e)).filter(Ee.Ru),i=Promise.allSettled(r),n=(0,s.Tw)(),o=(0,ot.hA)(()=>n.resolve()),a=n.promise.finally(()=>{for(const r of e)t.get(r)===a&&t.delete(r)});for(const r of e)t.set(r,a);return await i,(0,ot.Bf)(o)}}var lt=r(75503),ct=r(27647);class ut{constructor(e,t){this._index=e,this._view=t}get usedMemory(){return Me.qK+Me.RS}getObjectId(){return this._view.getObjectId(this._index)}getAttribute(e){return this._view.getAttribute(this._index,e)}getAttributeAsTimestamp(e){return this._view.getAttributeAsTimestamp(this._index,e)}getAttributes(){return this._view.getAttributes(this._index)}getOptimizedGeometry(){return this._view.getOptimizedGeometry(this._index)}getCentroid(e){return this._view.getCentroid(this._index,e)}getBounds(){return this._view.getBounds(this._index)}getBoundingBox(){return this._view.getBoundingBox(this._index)}cloneWithGeometry(e){return new dt(this._index,this._view,e)}}class dt extends ut{constructor(e,t,r){super(e,t),this._geometryOverride=r}getOptimizedGeometry(){return this._geometryOverride}getCentroid(e){return(0,ct.Q)(this._geometryOverride)}}class ht{constructor(e,t){this.featureData=e,this.bounds=t}}class ft{constructor(){this._tileBounds=new Map,this.events=new n.bk,this.featureAdapter=pt.shared}get usedMemory(){return Me.qK+Me.qK*this._tileBounds.size}addTile(e){const{featureCount:t}=e;if(0===t)return;const r=new lt.wq(9,t=>e.getBounds(t)),i=new Array;for(let e=0;e<t;++e)i[e]=e;r.load(i),this._tileBounds.set(e.id,new ht(e,r)),this.events.emit("changed")}removeTile(e){this._tileBounds.delete(e),this.events.emit("changed")}clear(){this._tileBounds.clear(),this.events.emit("changed")}forEach(e){for(const{featureData:t,bounds:r}of this._tileBounds.values())r.all(r=>{t.getEnabled(r)&&e(new ut(r,t))})}forEachInBounds(e,t){mt.minX=e[0],mt.minY=e[1],mt.maxX=e[2],mt.maxY=e[3];for(const{featureData:e,bounds:r}of this._tileBounds.values())r.search(mt,r=>{e.getEnabled(r)&&t(new ut(r,e))})}forEachBounds(e,t){for(const r of e)t(r.getBoundingBox())}getFullExtent(e){let t=1/0,r=1/0,i=-1/0,n=-1/0;for(const{bounds:e}of this._tileBounds.values()){const{minX:s,minY:o,maxX:a,maxY:l}=e.toJSON();t=Math.min(t,s),r=Math.min(r,o),i=Math.min(i,a),n=Math.min(n,l)}return{xmin:t,ymin:r,xmax:i,ymax:n,spatialReference:e}}}class pt{static{this.shared=new pt}getObjectId(e){return e.getObjectId()}getAttribute(e,t){return e.getAttribute(t)}getAttributeAsTimestamp(e,t){return e.getAttributeAsTimestamp(t)}getAttributes(e){return e.getAttributes()}getGeometry(e){return e.getOptimizedGeometry()}getCentroid(e,t){return e.getCentroid(t)}cloneWithGeometry(e,t){return e.cloneWithGeometry(t)}}const mt=new lt.EC;var yt=r(80893);class gt{constructor(e,t,r){this.descriptor=e,this._pages=t,this._pageSize=r;const i=Me.ez+t.reduce((e,{usedMemory:t})=>e+t,0),n=3*Me.RS;this.usedMemory=Me.qK+i+n,this.featureCount=t.reduce((e,t)=>e+t.featureCount,0)}get id(){return this.descriptor.id}getObjectId(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getObjectId(r)}getAttribute(e,t){const{pageIndex:r,featurePageIndex:i}=this._translateIndex(e);return this._pages[r].getAttribute(i,t)}getAttributeAsTimestamp(e,t){const{pageIndex:r,featurePageIndex:i}=this._translateIndex(e);return this._pages[r].getAttributeAsTimestamp(i,t)}getAttributes(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getAttributes(r)}getCoordinates(e,t,r){const{pageIndex:i,featurePageIndex:n}=this._translateIndex(e);this._pages[i].getCoordinates(n,t,r)}getOptimizedGeometry(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getOptimizedGeometry(r)}getCentroid(e,t){const{pageIndex:r,featurePageIndex:i}=this._translateIndex(e);return this._pages[r].getCentroid(i,t)}getBounds(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getBounds(r)}getBoundingBox(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getBoundingBox(r)}getObjectIdsArray(e,t=this._allFeatureIndices(),r=0){let i=r;for(const{page:r,indices:n}of this._batchPageIndices(t))i=r.getObjectIdsArray(e,n,i);return i}getCoordinatesArray(e,t=this._allFeatureIndices(),r=0){let i=r;for(const{page:r,indices:n}of this._batchPageIndices(t))i=r.getCoordinatesArray(e,n,i);return i}*objectIds(e=this._allFeatureIndices()){for(const{page:t,indices:r}of this._batchPageIndices(e))for(const e of t.objectIds(r))yield e}*_allFeatureIndices(){const{featureCount:e}=this;for(let t=0;t<e;++t)yield t}_translateIndex(e){const{_pageSize:t}=this;return{pageIndex:Math.floor(e/t),featurePageIndex:e%t}}*_batchPageIndices(e){const t=new Array;{let r=0,i=new Array;for(const n of e){const{pageIndex:e,featurePageIndex:s}=this._translateIndex(n);r!==e&&(0!==i.length&&t.push({pageIndex:r,indices:i}),r=e,i=[]),i.push(s)}0!==i.length&&t.push({pageIndex:r,indices:i})}const{_pages:r}=this;for(const{pageIndex:e,indices:i}of t)yield{page:r[e],indices:i}}}var bt=r(49186),_t=r(51624),vt=r(62577),wt=r(92722),xt=r(95466),Ct=r(53655);class St{constructor(e){this._reader=new _t.A(new Uint8Array(e),new DataView(e)),this._index=function(e){for(;e.next();){if(2===e.tag())return At(e.getMessage());e.skip()}It()}(this._reader)}get featureCount(){return this._index.featureIndices.length}get exceededTransferLimit(){return this._index.exceededTransferLimit}get usedMemory(){return this._reader.usedMemory}getObjectId(e){return this.getAttribute(e,this._index.objectIdFieldName)}getAttribute(e,t){const{_index:{fieldsIndex:r,attributeIndices:i}}=this,n=r.get(t)?.index;if(null==n)return;const s=i[e*r.fields.length+n],o=this._reader;return o.move(s),Pt(o)}getAttributeAsTimestamp(e,t){const r=this.getAttribute(e,t);return"string"==typeof r?new Date(r).getTime():"number"==typeof r||null==r?r:null}getAttributes(e){const{_index:{fieldsIndex:t,attributeIndices:r}}=this,i=e*t.fields.length,n=this._reader,s={};for(const e of t.fields){const t=r[i+e.index];n.move(t),s[e.name]=Pt(n)}return s}getCoordinates(e,t,r=0){const i=this._reader,{transform:n,featureIndices:s}=this._index,{scale:o,translate:a}=n;i.move(s[e]),this._readCoordinates(o,a,t,r)}getOptimizedGeometry(e){const t=(0,S.vt)();return this.getCoordinates(e,t),new wt.A([],t,!0,!1)}getCentroid(e,{hasZ:t,hasM:r}){this.getCoordinates(e,Bt);const[i,n,s]=Bt,o=[i,n];return t&&(o[3]=s),r&&(o[t?4:3]=0),new wt.A([],o,t,r)}getBounds(e){this.getCoordinates(e,Bt);const[t,r]=Bt,i=new lt.EC;return i.minX=t,i.minY=r,i.maxX=t,i.maxY=r,i}getBoundingBox(e){this.getCoordinates(e,Bt);const[t,r,i]=Bt;return(0,E.fA)(t,r,i,t,r,i)}getObjectIdsArray(e,t=this._allFeatureIndices(),r=0){const i=this._reader,{objectIdFieldName:n,attributeIndices:s,fieldsIndex:o}=this._index,a=o.get(n).index,l=o.fields.length;for(const n of t){const t=s[n*l+a];i.move(t),e[r++]=Pt(i)}return r}getCoordinatesArray(e,t=this._allFeatureIndices(),r=0){const i=this._reader,{transform:n,featureIndices:s}=this._index,{scale:o,translate:a}=n;for(const n of t){const t=s[n];i.move(t),r=this._readCoordinates(o,a,e,r)}return r}*objectIds(e=this._allFeatureIndices()){const t=this._reader,{objectIdFieldName:r,attributeIndices:i,fieldsIndex:n}=this._index,s=n.get(r).index,o=n.fields.length;for(const r of e){const e=i[r*o+s];t.move(e),yield Pt(t)}}*_allFeatureIndices(){const{featureCount:e}=this;for(let t=0;t<e;++t)yield t}_readCoordinates([e,t,r],[i,n,s],o,a){const l=this._reader,c=l.getLength(),u=l.pos()+c;for(;l.pos()<u&&l.next();)switch(l.tag()){case 2:{const c=l.getLength(),u=l.pos()+c;for(;l.pos()<u&&l.next();)3===l.tag()?(l.getUInt32(),o[a++]=i+e*l.getSInt64(),o[a++]=n+t*l.getSInt64(),o[a++]=s+r*l.getSInt64()):l.skip();break}default:l.skip()}return a}}function At(e){for(;e.next();){if(1===e.tag())return Tt(e.getMessage());e.skip()}It()}function Tt(e){let t,r,i=!1,n=!1,s=0;const o=new Array,a=new Array,l=new Array;for(;e.next();)switch(e.tag()){case 1:r=e.getString();break;case 7:0!==e.getEnum()&&It();break;case 9:i=e.getBool()??!1;break;case 12:t=(0,vt.Q1)(e.processMessage(Ct.ae));break;case 13:{const t=e.processMessage(Ct.cn);t.index=s++,o.push(t);break}case 15:{a.push(e.pos());const t=e.getUInt32(),r=e.pos()+t;for(;e.pos()<r&&e.next();)1===e.tag()?(l.push(e.pos()),e.skip()):e.skip();break}case 10:n=e.getBool()??!1;break;default:e.skip()}const c=new xt.A(o);return null!=t&&n&&null!=r&&c.has(r)||It(),{transform:t,exceededTransferLimit:i,fieldsIndex:c,objectIdFieldName:r,featureIndices:a,attributeIndices:l}}function It(){const e=new bt.A("pbf-parsing-failed","Error while parsing PBF",new Error);throw console.error(e),e}function Pt(e){const t=e.getLength(),r=e.pos()+t;for(;e.pos()<r&&e.next();)switch(e.tag()){case 1:return e.getString();case 2:return e.getFloat();case 3:return e.getDouble();case 4:return e.getSInt32();case 5:return e.getUInt32();case 6:return e.getInt64();case 7:return e.getUInt64();case 8:return e.getSInt64();case 9:return e.getBool();default:return e.skip(),null}return null}const Bt=(0,S.vt)();class Et{constructor(e,t,r,i,n){this.spatialReference=e,this.url=r,this.objectIdField=i,this.capabilities=n;const{supportsMaxRecordCountFactor:s,maxRecordCount:o}=this.capabilities.query,a=s?4:1,l=(o??8e3)*a;this._pageSize=Math.min(8e3,l);const c=t.clone();c.cacheHint=!0,c.resultType="tile",c.outSpatialReference=e,c.returnGeometry=!0,c.returnZ=!0,c.maxRecordCountFactor=a,c.num=this._pageSize,c.outFields=[i],this._baseQuery=c}async fetch(e,t){const{spatialReference:r,_pageSize:i}=this,n=(0,M.w1)(e.extent,r),o=this._baseQuery.clone();o.geometry=n;const a=new Array;let l=0,c=!1,u=1;for(;!c;){const e=[];for(let r=0;r<u;++r)e.push(this._fetchPage(o,l++,t));const r=await Promise.all(e);(0,s.Te)(t);for(const e of r){const t=0!==e.featureCount;c||=!e.exceededTransferLimit||!t,t&&a.push(e)}u=Math.min(u+1,4)}return new gt(e,a,i)}async _fetchPage(e,t,r){const i=e.clone();i.start=t*this._pageSize;const n=await(0,yt.kS)(this.url,i,{signal:r});return(0,s.Te)(r),new St(n)}}var Mt=r(29920),Ot=r(77690),Rt=r(29242);var Dt=r(13030),Ft=r(78662),jt=r(49255),Vt=r(40268),zt=r(25634),Lt=r(11725),Ut=r(77194),Nt=r(59907),qt=r(43616),Ht=r(13259),Gt=r(4431),kt=r(1843),$t=r(13840),Yt=r(42958),Zt=r(16943),Xt=r(33524),Wt=r(90644),Qt=r(85079);let Jt=class extends Yt.w{constructor(e,t){super(e,t,(0,Qt._u)([er,ir()].map(Gt.U))),this.shader=new $t.r(Ht.H,()=>r.e(8241).then(r.bind(r,48241))),this.primitiveType=t.occlusionPass?k.WR.POINTS:k.WR.TRIANGLE_STRIP}initializePipeline(e){const{oitPass:t,hasPolygonOffset:r,draped:i,output:n,depthTestEnabled:s,occlusionPass:o}=e,a=s&&!i&&!(1===t)&&!o&&!(9===n);return(0,Wt.Ey)({blending:(0,jt.RN)(n)?(0,Xt.Yf)(t,!0):null,depthTest:s&&!i?{func:515}:null,depthWrite:a?Wt.Uy:null,drawBuffers:(0,Xt.m6)(t,n),colorWrite:Wt.kn,polygonOffset:r?Kt:null})}};Jt=(0,i.Cg)([(0,u.$)("esri.views.3d.webgl-engine.shaders.HUDMaterialTechnique")],Jt);const Kt={factor:0,units:-4},er=(0,kt.BP)().vec2u8("uv0",{glNormalized:!0}),tr=(0,kt.BP)().vec3f("position").vec3f("normal").vec4i16("uvi").vec4u8("color").vec2f("size").f32("rotation").vec4f("centerOffsetAndDistance").vec4f("featureAttribute"),rr=tr.clone().vec4u8("olidColor");function ir(){return(0,Zt.E)()?rr:tr}var nr=r(51976),sr=r(35256);class or extends sr.E{constructor(e){super(),this.spherical=e,this.screenCenterOffsetUnitsEnabled=!1,this.occlusionTestEnabled=!0,this.signedDistanceFieldEnabled=!1,this.sampleSignedDistanceFieldTexelCenter=!1,this.hasVVSize=!1,this.hasVVColor=!1,this.hasVerticalOffset=!1,this.hasScreenSizePerspective=!1,this.hasRotation=!1,this.debugDrawLabelBorder=!1,this.hasPolygonOffset=!1,this.depthTestEnabled=!0,this.pixelSnappingEnabled=!0,this.draped=!1,this.terrainDepthTest=!1,this.cullAboveTerrain=!1,this.occlusionPass=!1,this.occludedFragmentFade=!1,this.horizonCullingEnabled=!0,this.isFocused=!0,this.olidColorInstanced=!1,this.textureCoordinateType=0,this.emissionSource=0,this.discardInvisibleFragments=!0,this.hasVVInstancing=!1,this.snowCover=!1}}(0,i.Cg)([(0,nr.W)()],or.prototype,"screenCenterOffsetUnitsEnabled",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"occlusionTestEnabled",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"signedDistanceFieldEnabled",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"sampleSignedDistanceFieldTexelCenter",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"hasVVSize",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"hasVVColor",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"hasVerticalOffset",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"hasScreenSizePerspective",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"hasRotation",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"debugDrawLabelBorder",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"hasPolygonOffset",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"depthTestEnabled",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"pixelSnappingEnabled",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"draped",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"terrainDepthTest",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"cullAboveTerrain",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"occlusionPass",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"occludedFragmentFade",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"horizonCullingEnabled",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"isFocused",void 0);var ar=r(49788);class lr extends Lt.i{constructor(e,t){super(e,Or),this.produces=new Map([[13,e=>(0,jt.Mb)(e)&&!this.parameters.drawAsLabel],[14,e=>(0,jt.Mb)(e)&&this.parameters.drawAsLabel],[12,()=>this.parameters.occlusionTest],[18,e=>this.parameters.draped&&(0,jt.Mb)(e)]]),this._visible=!0,this._configuration=new or(t)}getConfiguration(e,t){const r=this.parameters.draped;return super.getConfiguration(e,t,this._configuration),this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.hasVerticalOffset=!!this.parameters.verticalOffset,this._configuration.hasScreenSizePerspective=!!this.parameters.screenSizePerspective,this._configuration.screenCenterOffsetUnitsEnabled="screen"===this.parameters.centerOffsetUnits,this._configuration.hasPolygonOffset=this.parameters.polygonOffset,this._configuration.draped=r,this._configuration.occlusionTestEnabled=this.parameters.occlusionTest,this._configuration.pixelSnappingEnabled=this.parameters.pixelSnappingEnabled,this._configuration.signedDistanceFieldEnabled=this.parameters.textureIsSignedDistanceField,this._configuration.sampleSignedDistanceFieldTexelCenter=this.parameters.sampleSignedDistanceFieldTexelCenter,this._configuration.hasRotation=this.parameters.hasRotation,this._configuration.hasVVSize=!!this.parameters.vvSize,this._configuration.hasVVColor=!!this.parameters.vvColor,this._configuration.occlusionPass=12===t.slot,this._configuration.occludedFragmentFade=!r&&this.parameters.occludedFragmentFade,this._configuration.horizonCullingEnabled=this.parameters.horizonCullingEnabled,this._configuration.isFocused=this.parameters.isFocused,this._configuration.depthTestEnabled=this.parameters.depthEnabled||12===t.slot,(0,jt.RN)(e)&&(this._configuration.debugDrawLabelBorder=!!F.b.LABELS_SHOW_BORDER),this._configuration.oitPass=t.oitPass,this._configuration.terrainDepthTest=t.terrainDepthTest,this._configuration.cullAboveTerrain=t.cullAboveTerrain,this._configuration}intersect(e,t,r,i,n,s){const{options:{selectionMode:o,hud:a,excludeLabels:l},point:c,camera:u}=r,{parameters:d}=this;if(!o||!a||l&&d.isLabel||!e.visible||!c||!u)return;const h=e.attributes.get("featureAttribute"),f=null==h?null:(0,A.ci)(h.data,Tr),{scaleX:p,scaleY:m}=Dr(f,d,u.pixelRatio);(0,Ot.z0)(vr,t),e.attributes.has("featureAttribute")&&function(e){const t=e[0],r=e[1],i=e[2],n=e[3],s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],u=1/Math.sqrt(t*t+r*r+i*i),d=1/Math.sqrt(n*n+s*s+o*o),h=1/Math.sqrt(a*a+l*l+c*c);e[0]=t*u,e[1]=r*u,e[2]=i*u,e[3]=n*d,e[4]=s*d,e[5]=o*d,e[6]=a*h,e[7]=l*h,e[8]=c*h}(vr);const y=e.attributes.get("position"),g=e.attributes.get("size"),b=e.attributes.get("normal"),_=e.attributes.get("rotation"),v=e.attributes.get("centerOffsetAndDistance");(0,be.vA)(y.size>=3);const w=(0,Ht.c)(d),x="screen"===this.parameters.centerOffsetUnits;for(let e=0;e<y.data.length/y.size;e++){const i=e*y.size;(0,ce.j)(fr,y.data[i],y.data[i+1],y.data[i+2]),(0,ce.t)(fr,fr,t),(0,ce.t)(fr,fr,u.viewMatrix);const n=e*v.size;if((0,ce.j)(Sr,v.data[n],v.data[n+1],v.data[n+2]),!x&&(fr[0]+=Sr[0],fr[1]+=Sr[1],0!==Sr[2])){const e=Sr[2];(0,ce.n)(Sr,fr),(0,ce.e)(fr,fr,(0,ce.h)(Sr,Sr,e))}const o=e*b.size;if((0,ce.j)(pr,b.data[o],b.data[o+1],b.data[o+2]),ur(pr,vr,u,Ir),Fr(this.parameters,fr,Ir,u,hr),u.applyProjection(fr,mr),mr[0]>-1){x&&(Sr[0]||Sr[1])&&(mr[0]+=Sr[0]*u.pixelRatio,0!==Sr[1]&&(mr[1]+=hr.alignmentEvaluator.apply(Sr[1])*u.pixelRatio),u.unapplyProjection(mr,fr)),mr[0]+=this.parameters.screenOffset[0]*u.pixelRatio,mr[1]+=this.parameters.screenOffset[1]*u.pixelRatio,mr[0]=Math.floor(mr[0]),mr[1]=Math.floor(mr[1]);const t=e*g.size;Er[0]=g.data[t],Er[1]=g.data[t+1],hr.evaluator.applyVec2(Er,Er);const i=Pr*u.pixelRatio;let n=0;d.textureIsSignedDistanceField&&(n=Math.min(d.outlineSize,.5*Er[0])*u.pixelRatio/2),Er[0]*=p,Er[1]*=m;const o=e*_.size,a=d.rotation+_.data[o];if(dr(c,mr[0],mr[1],Er,i,n,a,d,w)){const e=r.ray;if((0,ce.t)(gr,fr,(0,P.B8)(xr,u.viewMatrix)),mr[0]=c[0],mr[1]=c[1],u.unprojectFromRenderScreen(mr,fr)){const t=(0,S.vt)();(0,ce.d)(t,e.direction);const r=1/(0,ce.b)(t);(0,ce.h)(t,t,r),s((0,ce.k)(e.origin,fr)*r,t,-1,gr)}}}}}intersectDraped(e,t,r,i,n){const s=e.attributes.get("position"),o=e.attributes.get("size"),a=e.attributes.get("rotation"),l=this.parameters,c=(0,Ht.c)(l),u=e.attributes.get("featureAttribute"),d=null==u?null:(0,A.ci)(u.data,Tr),{scaleX:h,scaleY:f}=Dr(d,l,e.screenToWorldRatio),p=Br*e.screenToWorldRatio;for(let t=0;t<s.data.length/s.size;t++){const u=t*s.size,d=s.data[u],m=s.data[u+1],y=t*o.size;Er[0]=o.data[y],Er[1]=o.data[y+1];let g=0;l.textureIsSignedDistanceField&&(g=Math.min(l.outlineSize,.5*Er[0])*e.screenToWorldRatio/2),Er[0]*=h,Er[1]*=f;const b=t*a.size,_=l.rotation+a.data[b];dr(r,d,m,Er,p,g,_,l,c)&&i(n.distance,n.normal,-1)}}createBufferWriter(){return new Rr}applyShaderOffsetsView(e,t,r,i,n,s,o){const a=ur(t,r,n,Ir);return this._applyVerticalGroundOffsetView(e,a,n,o),Fr(this.parameters,o,a,n,s),this._applyPolygonOffsetView(o,a,i[3],n,o),this._applyCenterOffsetView(o,i,o),o}applyShaderOffsetsNDC(e,t,r,i,n){return this._applyCenterOffsetNDC(e,t,r,i),null!=n&&(0,ce.d)(n,i),this._applyPolygonOffsetNDC(i,t,r,i),i}_applyPolygonOffsetView(e,t,r,i,n){const s=i.aboveGround?1:-1;let o=Math.sign(r);0===o&&(o=s);const a=s*o;if(this.parameters.shaderPolygonOffset<=0)return(0,ce.d)(n,e);const l=(0,D.qE)(Math.abs(t.cosAngle),.01,1),c=1-Math.sqrt(1-l*l)/l/i.viewport[2];return(0,ce.h)(n,e,a>0?c:1/c),n}_applyVerticalGroundOffsetView(e,t,r,i){const n=(0,ce.b)(e),s=r.aboveGround?1:-1,o=r.computeRenderPixelSizeAtDist(n)*Vt.R,a=(0,ce.h)(fr,t.normal,s*o);return(0,ce.g)(i,e,a),i}_applyCenterOffsetView(e,t,r){const i="screen"!==this.parameters.centerOffsetUnits;return r!==e&&(0,ce.d)(r,e),i&&(r[0]+=t[0],r[1]+=t[1],t[2]&&((0,ce.n)(pr,r),(0,ce.a)(r,r,(0,ce.h)(pr,pr,t[2])))),r}_applyCenterOffsetNDC(e,t,r,i){const n="screen"!==this.parameters.centerOffsetUnits;return i!==e&&(0,ce.d)(i,e),n||(i[0]+=t[0]/r.fullWidth*2,i[1]+=t[1]/r.fullHeight*2),i}_applyPolygonOffsetNDC(e,t,r,i){const n=this.parameters.shaderPolygonOffset;if(e!==i&&(0,ce.d)(i,e),n){const e=r.aboveGround?1:-1,s=e*Math.sign(t[3]);i[2]-=(s||e)*n}return i}set visible(e){this._visible=e}get visible(){const{color:e,outlineSize:t,outlineColor:r}=this.parameters,i=e[3]>=ar.Q||t>=ar.Q&&r[3]>=ar.Q;return this._visible&&i}createGLMaterial(e){return new cr(e)}calculateRelativeScreenBounds(e,t,r=(0,M.vt)()){return function(e,t,r,i){i[0]=e.anchorPosition[0]*-t[0]+e.screenOffset[0]*r,i[1]=e.anchorPosition[1]*-t[1]+e.screenOffset[1]*r}(this.parameters,e,t,r),r[2]=r[0]+e[0],r[3]=r[1]+e[1],r}}class cr extends zt.m8{constructor(e){super({...e,...e.material.parameters})}beginSlot(e){return this.updateTexture(this._material.parameters.textureId),this._material.setParameters(this.textureBindParameters),this.getTechnique(Jt,e)}}function ur(e,t,r,i){return function(e){return(t=e)instanceof Float32Array&&t.length>=16||function(e){return Array.isArray(e)&&e.length>=16}(e);var t}(t)&&(t=(0,Ot.z0)(wr,t)),(0,ce.o)(i.normal,e,t),(0,ce.t)(i.normal,i.normal,r.viewInverseTransposeMatrix),i.cosAngle=(0,ce.f)(yr,Mr),i}function dr(e,t,r,i,n,s,o,a,l){let c=t-n-i[0]*l[0],u=c+i[0]+2*n,d=r-n-i[1]*l[1],h=d+i[1]+2*n;const f=a.distanceFieldBoundingBox;return a.textureIsSignedDistanceField&&null!=f&&(c+=i[0]*f[0],d+=i[1]*f[1],u-=i[0]*(1-f[2]),h-=i[1]*(1-f[3]),c-=s,u+=s,d-=s,h+=s),(0,O.hZ)(_r,t,r),(0,O.e$)(br,e,_r,(0,D.kU)(o)),br[0]>c&&br[0]<u&&br[1]>d&&br[1]<h}const hr=new Ut.fc,fr=(0,S.vt)(),pr=(0,S.vt)(),mr=(0,A.vt)(),yr=(0,S.vt)(),gr=(0,S.vt)(),br=(0,R.vt)(),_r=(0,R.vt)(),vr=(0,Rt.vt)(),wr=(0,Rt.vt)(),xr=(0,C.vt)(),Cr=(0,A.vt)(),Sr=(0,S.vt)(),Ar=(0,S.vt)(),Tr=(0,A.vt)(),Ir={normal:yr,cosAngle:0},Pr=1,Br=2,Er=(0,R.fA)(0,0),Mr=(0,S.fA)(0,0,1);class Or extends zt.NV{constructor(){super(...arguments),this.renderOccluded=1,this.isDecoration=!1,this.color=(0,A.CN)(1,1,1,1),this.polygonOffset=!1,this.anchorPosition=(0,R.fA)(.5,.5),this.screenOffset=[0,0],this.shaderPolygonOffset=1e-5,this.textureIsSignedDistanceField=!1,this.sampleSignedDistanceFieldTexelCenter=!1,this.outlineColor=(0,A.CN)(1,1,1,1),this.outlineSize=0,this.distanceFieldBoundingBox=(0,A.vt)(),this.rotation=0,this.hasRotation=!1,this.vvSizeEnabled=!1,this.vvSize=null,this.vvColor=null,this.vvOpacity=null,this.vvSymbolAnchor=null,this.vvSymbolRotationMatrix=null,this.hasSlicePlane=!1,this.pixelSnappingEnabled=!0,this.occlusionTest=!0,this.occludedFragmentFade=!1,this.horizonCullingEnabled=!1,this.centerOffsetUnits="world",this.drawAsLabel=!1,this.depthEnabled=!0,this.isFocused=!0,this.focusStyle="bright",this.draped=!1,this.isLabel=!1}get hasVVSize(){return!!this.vvSize}get hasVVColor(){return!!this.vvColor}get hasVVOpacity(){return!!this.vvOpacity}}class Rr{constructor(){this.layout=er,this.instanceLayout=ir()}elementCount(e){return e.get("position").indices.length}elementCountBaseInstance(e){return e.get("uv0").indices.length}write(e,t,r,i,n,s){const{position:o,normal:a,color:l,size:c,rotation:u,centerOffsetAndDistance:d,featureAttribute:h,uvi:f}=n;(0,Nt.Hk)(r.get("position"),e,o,s),(0,Nt.p1)(r.get("normal"),t,a,s);const p=r.get("position").indices.length;let m=0,y=0,g=Ht.f,b=Ht.f;const _=r.get("uvi")?.data;_&&_.length>=4&&(m=_[0],y=_[1],g=_[2],b=_[3]);for(let e=0;e<p;++e){const t=s+e;f.setValues(t,m,y,g,b)}if((0,Nt.tb)(r.get("color"),4,l,s),(0,Nt.Ue)(r.get("size"),c,s),(0,Nt.uO)(r.get("rotation"),u,s),r.get("centerOffsetAndDistance")?(0,Nt.Ut)(r.get("centerOffsetAndDistance"),d,s):(0,Nt.Pq)(d,s,p),r.get("featureAttribute")?(0,Nt.Ut)(r.get("featureAttribute"),h,s):(0,Nt.Pq)(h,s,p),null!=i){const e=r.get("position")?.indices;if(e){const t=e.length,r=n.getField("olidColor",Dt.XP);(0,Nt.vx)(i,r,t,s)}}return{numVerticesPerItem:1,numItems:p}}writeBaseInstance(e,t){const{uv0:r}=t;(0,Nt.Ue)(e.get("uv0"),r,0)}intersect(e,t,r,i,n,s,o){const{options:{selectionMode:a,hud:l,excludeLabels:c},point:u,camera:d}=i;if(!a||!l||c&&t.isLabel||!u)return;const h=this.instanceLayout.createView(e),{position:f,normal:p,rotation:m,size:y,featureAttribute:g,centerOffsetAndDistance:b}=h,_="screen"===t.centerOffsetUnits,v=(0,Ht.c)(t);if(null==f||null==p||null==m||null==y||null==b||null==d)return;const w=null==g?null:g.getVec(0,Tr),{scaleX:x,scaleY:C}=Dr(w,t,d.pixelRatio),A=f.count;for(let e=0;e<A;e++){if(f.getVec(e,fr),null!=r&&(0,ce.g)(fr,fr,r),(0,ce.t)(fr,fr,d.viewMatrix),b.getVec(e,Cr),(0,ce.j)(Sr,Cr[0],Cr[1],Cr[2]),!_&&(fr[0]+=Sr[0],fr[1]+=Sr[1],0!==Sr[2])){const e=Sr[2];(0,ce.n)(Sr,fr),(0,ce.e)(fr,fr,(0,ce.h)(Sr,Sr,e))}if(p.getVec(e,pr),ur(pr,vr,d,Ir),Fr(t,fr,Ir,d,hr),d.applyProjection(fr,mr),mr[0]>-1){_&&(Sr[0]||Sr[1])&&(mr[0]+=Sr[0]*d.pixelRatio,0!==Sr[1]&&(mr[1]+=hr.alignmentEvaluator.apply(Sr[1])*d.pixelRatio),d.unapplyProjection(mr,fr)),mr[0]+=t.screenOffset[0]*d.pixelRatio,mr[1]+=t.screenOffset[1]*d.pixelRatio,mr[0]=Math.floor(mr[0]),mr[1]=Math.floor(mr[1]),y.getVec(e,Er),hr.evaluator.applyVec2(Er,Er);const r=Pr*d.pixelRatio;let n=0;t.textureIsSignedDistanceField&&(n=Math.min(t.outlineSize,.5*Er[0])*d.pixelRatio/2),Er[0]*=x,Er[1]*=C;const s=m.get(e),a=t.rotation+s;if(dr(u,mr[0],mr[1],Er,r,n,a,t,v)){const t=i.ray;if((0,ce.t)(gr,fr,(0,P.B8)(xr,d.viewMatrix)),mr[0]=u[0],mr[1]=u[1],d.unprojectFromRenderScreen(mr,fr)){const r=(0,S.vt)();(0,ce.d)(r,t.direction);const i=1/(0,ce.b)(r);(0,ce.h)(r,r,i),o((0,ce.k)(t.origin,fr)*i,r,e,gr)}}}}}}function Dr(e,t,r){return null==e||null==t.vvSize?{scaleX:r,scaleY:r}:((0,Ft.VC)(Ar,t,e),{scaleX:Ar[0]*r,scaleY:Ar[1]*r})}function Fr(e,t,r,i,n){if(!e.verticalOffset?.screenLength){const i=(0,ce.b)(t);return n.update(r.cosAngle,i,e.screenSizePerspective,e.screenSizePerspectiveMinPixelReferenceSize,e.screenSizePerspectiveAlignment,null),t}const s=(0,ce.b)(t),o=e.screenSizePerspectiveAlignment??e.screenSizePerspective,a=(0,qt.kE)(i,s,e.verticalOffset,r.cosAngle,o,e.screenSizePerspectiveMinPixelReferenceSize);return n.update(r.cosAngle,s,e.screenSizePerspective,e.screenSizePerspectiveMinPixelReferenceSize,e.screenSizePerspectiveAlignment,null),(0,ce.h)(r.normal,r.normal,a),(0,ce.g)(t,t,r.normal)}class jr{constructor(e,t){this._mainThreadDelegate=t,this._bufferWriters=new Map,this.globalViewingMode=1===e}createRenderCommandBuffer(e=[],t=[]){return{commands:e,transferList:t}}mergeRenderCommandBuffers(e){const t=this.createRenderCommandBuffer();for(const r of e)null!=r&&(t.commands.push(...r.commands),t.transferList.push(...r.transferList));return t}async createTexture(e){const{data:t,parameters:r}=e();return await this._mainThreadDelegate.createTexture(t,r)}async releaseTexture(e){const t=this._destroyTexture(e);return new g(this,t,[])}_destroyTexture(e){return{commands:[{id:"destroy-texture",textureId:e}],transferList:[]}}async createMaterial(e){const{type:t,parameters:r}=e,i=Ke("material");let n,s;switch(t){case"default":n=new je.$U(e.parameters,{spherical:this.globalViewingMode}),s={type:t,materialId:i,parameters:e.parameters};break;case"hud":n=new lr(r,this.globalViewingMode),s={type:t,materialId:i,parameters:e.parameters}}return this._bufferWriters.set(i,n.createBufferWriter()),await this._mainThreadDelegate.createMaterial(s),i}destroyMaterial(e){return{commands:[{id:"destroy-material",materialId:e}],transferList:[]}}updateMaterial(e){return{commands:[{...e,id:"update-material"}],transferList:[]}}async createDirectRenderer(e){return await this._mainThreadDelegate.createDirectRenderer(e),e}async destroyDirectRenderer(e){await this._mainThreadDelegate.destroyDirectRenderer(e)}addDirectRendererGeometry(e,t,r,i){const{materialId:n}=t;if(null==this._bufferWriters.get(n))throw new Error(`no bufferwriter found for material ${n}`);const{renderGeometryBuffer:s,renderGeometryBufferItems:o}=this.createRenderGeometryBuffer(t,r,i);return this.addDirectRendererGeometryBuffer(n,e,s,o,r)}updateDirectRendererGeometry(e,t,r,i){const{materialId:n}=t;if(null==this._bufferWriters.get(n))throw new Error(`no bufferwriter found for material ${n}`);const{renderGeometryBuffer:s,renderGeometryBufferItems:o}=this.createRenderGeometryBuffer(t,r,i);return this.updateDirectRendererGeometryBuffer(n,e,s,o,r)}addDirectRendererGeometryBuffer(e,t,r,i,n){const{objectIds:s,visibilities:o}=i;return{commands:[{id:"add-direct-renderer-geometry-buffer",rendererId:e,groupId:t,renderGeometryBuffer:r,renderGeometryBufferItems:i,localOrigin:n}],transferList:[r.data,s.buffer,o.buffer]}}updateDirectRendererGeometryBuffer(e,t,r,i,n){const{objectIds:s,visibilities:o}=i;return{commands:[{id:"update-direct-renderer-geometry-buffer",rendererId:e,groupId:t,renderGeometryBuffer:r,renderGeometryBufferItems:i,localOrigin:n}],transferList:[r.data,s.buffer,o.buffer]}}removeDirectRendererGeometryBuffer(e,t){return{commands:[{id:"remove-direct-renderer-geometry-buffer",rendererId:e,groupId:t}],transferList:[]}}async createLodRenderer(e){const t=Ke("lod-renderer"),r=new Set,i={levels:e.levels.map(e=>({components:e.components.map(e=>{const t=e.attributes.get("position");if(!t||0===t.indices.length)throw new Error("positions attribute expected");const i=(0,H.tM)(t.indices.length/3),n=new Mt.j(i,3,t);if(null==this._bufferWriters.get(e.materialId))throw new Error("writer not found");const{renderGeometryBuffer:s}=this.createRenderGeometryBuffer(e,null);return r.add(s.data),{materialId:e.materialId,renderGeometryBuffer:s,boundingInfo:{bbMax:n.bbMax,bbMin:n.bbMin}}}),minScreenSpaceRadius:e.minScreenSpaceRadius}))};return await this._mainThreadDelegate.createLodRenderer(t,i,Array.from(r)),t}destroyLodRenderer(e){return{commands:[{id:"destroy-lod-renderer",rendererId:e}],transferList:[]}}addLodInstances(e,t,r){return{commands:[{id:"add-lod-instances",rendererId:e,groupId:t,data:r}],transferList:[r.featureIds.buffer,r.globalTransforms.buffer,r.localTransforms.buffer,r.visibility.buffer]}}removeLodInstances(e,t){return{commands:[{id:"remove-lod-instances",rendererId:e,groupId:t}],transferList:[]}}updateLodInstancesData(e,t,r){return{commands:[{id:"update-lod-instance-data",rendererId:e,groupId:t,globalTransforms:r}],transferList:[r.buffer]}}updateVisibility(e,t,r){return{commands:[{id:"update-visibility",rendererId:e,groupId:t,visibility:r}],transferList:[r.buffer]}}async dispatchRenderCommands(e){0!==e.commands.length&&await this._mainThreadDelegate.executeRenderCommands(e)}createRenderGeometryBuffer(e,t,r){const{materialId:i,visibilities:n,objectIds:s}=e,o=this._bufferWriters.get(i);if(null==o)throw new Error("no registered bufferWriter for material found");let a=null;if(e.transformation&&t)(0,P.C)(Vr,e.transformation),Vr[12]-=t[0],Vr[13]-=t[1],Vr[14]-=t[2],a=Vr;else{if(t)throw new Error("not implemented");e.transformation&&(a=e.transformation)}let l=null;a&&((0,P.B8)(zr,Vr),(0,P.mg)(zr,zr),l=zr);const c=e.attributes,u=o.elementCount(c),d=r?o.instanceLayout:o.layout;if(!d)throw new Error("Missing layout");const h=d.stride/4;u>Math.floor(Lr/h)&&console.warn("geometry with very large number of elements encountered");const f=d.createBuffer(u),p=o.write(a,l,c,e.olidColor,f,0);if(null==p)throw new Error("Bufferwriter.write does not provide item information.");if(n.length!==p.numItems||s.length!==p.numItems)throw new Error("Unexpected mismatch between number of RenderGeometryBufferItems and provided objectIds/visibility flags.");return{renderGeometryBuffer:{data:f.buffer,elementCount:u},renderGeometryBufferItems:{objectIds:s,visibilities:n,ranges:{numVertices:p.numVerticesPerItem,numItems:p.numItems}}}}async setBaseInstance(e,t){await this._mainThreadDelegate.setBaseInstance(e,t)}}const Vr=(0,C.vt)(),zr=(0,C.vt)(),Lr=4194304;var Ur=r(98764),Nr=r(65806);const qr=(0,S.vt)();var Hr=r(4341),Gr=r(11964),kr=r(44280),$r=r(32114);const Yr=()=>c.A.getLogger("esri.views.3d.support.geometryUtils.boundedPlane");function Zr(e=hi){return{plane:(0,he.vt)(e.plane),origin:(0,S.o8)(e.origin),basis1:(0,S.o8)(e.basis1),basis2:(0,S.o8)(e.basis2)}}function Xr(e,t=Zr()){return Wr(e.origin,e.basis1,e.basis2,t)}function Wr(e,t,r,i=Zr()){return(0,ce.d)(i.origin,e),(0,ce.d)(i.basis1,t),(0,ce.d)(i.basis2,r),Qr(i),function(e,t){Math.abs((0,ce.f)(e.basis1,e.basis2)/((0,ce.b)(e.basis1)*(0,ce.b)(e.basis2)))>1e-6&&Yr().warn(t,"Provided basis vectors are not perpendicular"),Math.abs((0,ce.f)(e.basis1,ai(e)))>1e-6&&Yr().warn(t,"Basis vectors and plane normal are not perpendicular"),Math.abs(-(0,ce.f)(ai(e),e.origin)-e.plane[3])>1e-6&&Yr().warn(t,"Plane offset is not consistent with plane origin")}(i,"fromValues()"),i}function Qr(e){(0,he.mR)(e.basis2,e.basis1,e.origin,e.plane)}function Jr(e,t,r){e!==r&&Xr(e,r);const i=(0,ce.h)($r.rq.get(),ai(e),t);return(0,ce.g)(r.origin,r.origin,i),r.plane[3]-=t,r}function Kr(e,t=Zr()){const r=(e[2]-e[0])/2,i=(e[3]-e[1])/2;return(0,ce.j)(t.origin,e[0]+r,e[1]+i,0),(0,ce.j)(t.basis1,r,0,0),(0,ce.j)(t.basis2,0,i,0),(0,he.fA)(0,0,1,0,t.plane),t}function ei(e,t,r){return!!(0,he.Ui)(e.plane,t,r)&&li(e,r)}function ti(e,t,r){const i=fi.get();di(e,t,i,fi.get());let n=Number.POSITIVE_INFINITY;for(const s of gi){const o=ui(e,s,pi.get()),a=$r.rq.get();if((0,he.T7)(i,o,a)){const e=(0,ce.E)($r.rq.get(),t.origin,a),i=Math.abs((0,D.XM)((0,ce.f)(t.direction,e)));i<n&&(n=i,(0,ce.d)(r,a))}}return n===Number.POSITIVE_INFINITY?ri(e,t,r):r}function ri(e,t,r){if(ei(e,t,r))return r;const i=fi.get(),n=fi.get();di(e,t,i,n);let s=Number.POSITIVE_INFINITY;for(const o of gi){const a=ui(e,o,pi.get()),l=$r.rq.get();if((0,he.gv)(i,a,l)){const e=(0,fe.kb)(t,l);if(!(0,he.Tj)(n,l))continue;e<s&&(s=e,(0,ce.d)(r,l))}}return si(e,t.origin)<s&&ii(e,t.origin,r),r}function ii(e,t,r){const i=(0,he._I)(e.plane,t,$r.rq.get()),n=(0,Gr.H6)(ci(e,e.basis1),i,-1,1,$r.rq.get()),s=(0,Gr.H6)(ci(e,e.basis2),i,-1,1,$r.rq.get());return(0,ce.e)(r,(0,ce.g)($r.rq.get(),n,s),e.origin),r}function ni(e,t,r){const{origin:i,basis1:n,basis2:s}=e,o=(0,ce.e)($r.rq.get(),t,i),a=(0,kr.gr)(n,o),l=(0,kr.gr)(s,o),c=(0,kr.gr)(ai(e),o);return(0,ce.j)(r,a,l,c)}function si(e,t){const r=ni(e,t,$r.rq.get()),{basis1:i,basis2:n}=e,s=(0,ce.b)(i),o=(0,ce.b)(n),a=Math.max(Math.abs(r[0])-s,0),l=Math.max(Math.abs(r[1])-o,0),c=r[2];return a*a+l*l+c*c}function oi(e,t){const r=-e.plane[3];return(0,kr.gr)(ai(e),t)-r}function ai(e){return(0,he.Qj)(e.plane)}function li(e,t){const r=(0,ce.e)($r.rq.get(),t,e.origin),i=(0,ce.m)(e.basis1),n=(0,ce.m)(e.basis2),s=(0,ce.f)(e.basis1,r),o=(0,ce.f)(e.basis2,r);return-s-i<0&&s-i<0&&-o-n<0&&o-n<0}function ci(e,t){const r=pi.get();return(0,ce.d)(r.origin,e.origin),(0,ce.d)(r.vector,t),r}function ui(e,t,r){const{basis1:i,basis2:n,origin:s}=e,o=(0,ce.h)($r.rq.get(),i,t.origin[0]),a=(0,ce.h)($r.rq.get(),n,t.origin[1]);(0,ce.g)(r.origin,o,a),(0,ce.g)(r.origin,r.origin,s);const l=(0,ce.h)($r.rq.get(),i,t.direction[0]),c=(0,ce.h)($r.rq.get(),n,t.direction[1]);return(0,ce.h)(r.vector,(0,ce.g)(l,l,c),2),r}function di(e,t,r,i){const n=ai(e);(0,he.mR)(n,t.direction,t.origin,r),(0,he.mR)((0,he.Qj)(r),n,t.origin,i)}const hi={plane:(0,he.vt)(),origin:(0,S.fA)(0,0,0),basis1:(0,S.fA)(1,0,0),basis2:(0,S.fA)(0,1,0)},fi=new Hr.I(he.vt),pi=new Hr.I(Gr.vt),mi=(0,S.vt)(),yi=new Hr.I(()=>Zr()),gi=[{origin:[-1,-1],direction:[1,0]},{origin:[1,-1],direction:[0,1]},{origin:[1,1],direction:[-1,0]},{origin:[-1,1],direction:[0,-1]}],bi=(0,C.vt)(),_i=(0,C.vt)(),vi=Object.freeze(Object.defineProperty({__proto__:null,altitudeAt:oi,axisAt:function(e,t,r,i){return function(e,t,r){switch(t){case 0:(0,ce.d)(r,e.basis1),(0,ce.n)(r,r);break;case 1:(0,ce.d)(r,e.basis2),(0,ce.n)(r,r);break;case 2:(0,ce.d)(r,ai(e))}return r}(e,r,i)},cameraFrustumCoverage:function(e,t){return(t-e)/t},closestPoint:ri,closestPointOnSilhouette:ti,copy:Xr,copyWithoutVerify:function(e,t){(0,ce.d)(t.origin,e.origin),(0,ce.d)(t.basis1,e.basis1),(0,ce.d)(t.basis2,e.basis2),(0,he.C)(t.plane,e.plane)},create:Zr,distance:function(e,t){return Math.sqrt(si(e,t))},distance2:si,distanceToSilhouette:function(e,t){let r=Number.NEGATIVE_INFINITY;for(const i of gi){const n=ui(e,i,pi.get()),s=(0,Gr.kb)(n,t);s>r&&(r=s)}return Math.sqrt(r)},elevate:Jr,equals:function(e,t){return(0,ce.q)(e.basis1,t.basis1)&&(0,ce.q)(e.basis2,t.basis2)&&(0,ce.q)(e.origin,t.origin)},extrusionContainsPoint:function(e,t){return(0,he.Tj)(e.plane,t)&&li(e,t)},fromAABoundingRect:Kr,fromValues:Wr,getExtent:function(e,t){const r=e.basis1[0],i=e.basis2[1],[n,s]=e.origin;return(0,M.fA)(n-r,s-i,n+r,s+i,t)},intersectRay:ei,intersectRayClosestSilhouette:function(e,t,r){if(ei(e,t,r))return r;const i=ti(e,t,$r.rq.get());return(0,ce.g)(r,t.origin,(0,ce.h)($r.rq.get(),t.direction,(0,ce.k)(t.origin,i)/(0,ce.b)(t.direction))),r},normal:ai,projectPoint:ii,projectPointLocal:ni,rotate:function(e,t,r,i){return e!==i&&Xr(e,i),(0,P.$0)(_i,t,r),(0,ce.t)(i.basis1,e.basis1,_i),(0,ce.t)(i.basis2,e.basis2,_i),Qr(i),i},setAltitudeAt:function(e,t,r,i){const n=oi(e,t),s=(0,ce.h)(mi,ai(e),r-n);return(0,ce.g)(i,t,s),i},setExtent:function(e,t,r){return Kr(t,r),Jr(r,oi(e,e.origin),r),r},transform:function(e,t,r){return e!==r&&Xr(e,r),(0,P.B8)(bi,t),(0,P.mg)(bi,bi),(0,ce.t)(r.basis1,e.basis1,bi),(0,ce.t)(r.basis2,e.basis2,bi),(0,ce.t)((0,he.Qj)(r.plane),(0,he.Qj)(e.plane),bi),(0,ce.t)(r.origin,e.origin,t),(0,he.mP)(r.plane,r.plane,r.origin),r},up:hi,updateUnboundedPlane:Qr,wrap:function(e,t,r){const i=yi.get();return i.origin=e,i.basis1=t,i.basis2=r,i.plane=(0,he.LV)(0,0,0,0),Qr(i),i}},Symbol.toStringTag,{value:"Module"}));var wi=r(97937);function xi(e,t,r=function(e){return{operations:e,value:e.create()}}(e)){return r.operations=e,e.copy(t,r.value),r}const Ci=2**50;function Si(e,t,r,i){return e.operations.setAltitudeAt(e.value,t,r,i)}function Ai(e,t,r){return e.operations.elevate(e.value,t,r.value)}const Ti=(0,S.vt)();function Ii(e){return"point"===e.type}(0,S.vt)();class Pi{constructor(e,t,r,i){this.viewingMode=e,this.spatialReference=t,this.unitInMeters=r,this._coordinateSystem=i,this._tmpCoordinateSystem=function(e){const{value:t,operations:r}=e;return{operations:r,value:r.create(t)}}(i),this.referenceEllipsoid=(0,pe.tO)(t),this.sphericalPCPF=(0,Ur.lO)(t)}set extent(e){e&&function(e,t,r){e.operations.setExtent(e.value,t,r.value)}(this._coordinateSystem,e,this._coordinateSystem)}get extent(){return e=this._coordinateSystem,t=(0,M.vt)(),e.operations.getExtent(e.value,t),t;var e,t}getAltitude(e){return function(e,t){return e.operations.altitudeAt(e.value,t)}(this._coordinateSystem,e)}setAltitude(e,t,r=e){return Si(this._coordinateSystem,r,t,e)}setAltitudeOfTransformation(e,t){var r,i,n,s;r=this._coordinateSystem,n=e,(i=t)!==(s=t)&&(0,P.C)(s,i),(0,ce.j)(Ti,s[12],s[13],s[14]),Si(r,Ti,n,Ti),s[12]=Ti[0],s[13]=Ti[1],s[14]=Ti[2]}worldUpAtPosition(e,t){return function(e,t,r){return e.operations.axisAt(e.value,t,2,r)}(this._coordinateSystem,e,t)}worldBasisAtPosition(e,t,r){return function(e,t,r,i){return e.operations.axisAt(e.value,t,r,i)}(this._coordinateSystem,e,t,r)}basisMatrixAtPosition(e,t){const r=this.worldBasisAtPosition(e,0,$r.rq.get()),i=this.worldBasisAtPosition(e,1,$r.rq.get()),n=this.worldBasisAtPosition(e,2,$r.rq.get());return(0,P.hZ)(t,r[0],r[1],r[2],0,i[0],i[1],i[2],0,n[0],n[1],n[2],0,0,0,0,1),t}headingAtPosition(e,t){const r=this.worldUpAtPosition(e,$r.rq.get()),i=this.worldBasisAtPosition(e,1,$r.rq.get()),n=(0,kr.EJ)(t,i,r);return(0,D.KJ)(n)}intersectManifoldClosestSilhouette(e,t,r){return Ai(this._coordinateSystem,t,this._tmpCoordinateSystem),function(e,t,r){e.operations.intersectRayClosestSilhouette(e.value,t,r)}(this._tmpCoordinateSystem,e,r),r}intersectManifold(e,t,r){Ai(this._coordinateSystem,t,this._tmpCoordinateSystem);const i=$r.rq.get();return function(e,t,r){return e.operations.intersectRay(e.value,t,r)}(this._tmpCoordinateSystem,e,i)?(0,ce.d)(r,i):null}intersectInfiniteManifold(e,t,r){if(1===this.viewingMode)return this.intersectManifold(e,t,r);Ai(this._coordinateSystem,t,this._tmpCoordinateSystem);const i=this._tmpCoordinateSystem.value,n=$r.rq.get();return(0,he.Ui)(i.plane,e,n)?(0,ce.d)(r,n):null}toRenderCoords(e,t,r){return Ii(e)?(0,Nr.g)(e,t,this.spatialReference):(0,L.F)(e,t,r,this.spatialReference)}fromRenderCoords(e,t,r=null){return Ii(t)?(null!=r&&(t.spatialReference=r),function(e,t,r){return!!(0,L.F)(e,t,qr,r.spatialReference)&&(r.x=qr[0],r.y=qr[1],r.z=qr[2],!0)}(e,this.spatialReference,t)?t:null):(0,L.F)(e,this.spatialReference,t,r)?t:null}static create(e,t){switch(e){case 2:return new Pi(2,t,(0,I.GA)(t),xi(vi,Wr([0,0,0],[Ci,0,0],[0,Ci,0])));case 1:return new Pi(1,t,1,function(e){return xi(wi.s,(0,wi.f)(0,0,0,(0,pe.tO)(e).radius))}(t))}}static renderUnitScaleFactor(e,t){return(0,I.KX)(e)/(0,I.KX)(t)}}let Bi=class extends n.nJ{constructor(){super(...arguments),this.remoteClient=null,this._featureStore=new ft,this._tileLocks=new at,this._tileManager=null,this._renderer=null,this._fetcher=null,this._queryEngine=null,this._defaultQueryJSON=null,this._mainThreadDelegate=null,this._viewSpatialReference=null,this._renderCommandContext=null,this._context=null}get updating(){return this._tileManager.updating}destroy(){this._featureStore.clear(),this._tileManager?.destroy()}async setup({viewSpatialReference:e,renderSpatialReference:t,viewingMode:r,layerInfo:i,layerViewInfo:n}){const s=f.A.fromJSON(e);this._viewSpatialReference=s;const a=f.A.fromJSON(t);this._fetcher=new Et(this._viewSpatialReference,m.A.fromJSON(i.baseQuery),i.url,i.objectIdField,i.capabilities),this._queryEngine=new p.do({hasZ:!0,hasM:!1,geometryType:"esriGeometryPoint",featureIdInfo:{type:"object-id",fieldName:i.objectIdField},fieldsIndex:i.fieldIndex,availableFields:[i.objectIdField],spatialReference:e,featureStore:this._featureStore,timeInfo:i.timeInfo}),this._mainThreadDelegate={createTexture:async(e,t)=>{const r={data:e,parameters:t};return await this.remoteClient.invoke("createTexture",r,{transferList:[e.buffer]})},releaseTexture:async e=>{const t={uid:e};await this.remoteClient.invoke("releaseTexture",t)},createMaterial:async e=>{const t={materialJSON:e};await this.remoteClient.invoke("createMaterial",t)},destroyMaterial:async e=>{const t={materialId:e};await this.remoteClient.invoke("destroyMaterial",t)},createDirectRenderer:async e=>{const t={materialId:e};await this.remoteClient.invoke("createDirectRenderer",t)},destroyDirectRenderer:async e=>{const t={materialId:e};await this.remoteClient.invoke("destroyDirectRenderer",t)},createLodRenderer:async(e,t,r)=>{const i={rendererId:e,lodRenderGeometry:t};await this.remoteClient.invoke("createLoDRenderer",i,{transferList:r})},destroyLodRenderer:async e=>{const t={rendererId:e};await this.remoteClient.invoke("destroyLoDRenderer",t)},executeRenderCommands:async e=>{const t={commands:e.commands};await this.remoteClient.invoke("dispatchRenderCommands",t,{transferList:e.transferList})},applyElevationAlignmentTo:async e=>{const t={mapPoints:e};return await this.remoteClient.invoke("applyElevationAlignment",t,{transferList:[e.buffer]})},setBaseInstance:async(e,t)=>{const r={rendererId:e,baseInstance:t};await this.remoteClient.invoke("setBaseInstance",r,{transferList:null!=t?[t.data]:void 0})}};const l=Pi.create(r,a),c=new jr(r,this._mainThreadDelegate);this._renderCommandContext=c;const u=new ke(s,a,this._mainThreadDelegate,l,c,i,n);this._context=u,this._renderer=u.symbolRendererFactory.createSymbolRendererFromJSON(i.renderer),this._defaultQueryJSON=new m.A({outSpatialReference:s}).toJSON();let y=null;if(null!=i.fullExtent){const e=d.A.fromJSON(i.fullExtent);await(0,h.initializeProjection)(e.spatialReference,s),y=(0,h.project)(e,s)}return this._tileManager=new rt({loadTile:(e,t)=>this._fetcher.fetch(e,t),createAddCommand:(e,t)=>this._createAddFeatureDataCommand(e,t),createRemoveCommand:e=>this._createRemoveFeatureDataCommand(e),createUpdateCommand:(e,t)=>this._createUpdateFeatureDataVisibilityCommand(e,t),tileLocks:this._tileLocks,extent:y}),this.addHandles((0,o.wB)(()=>this.updating,e=>{this.emit("notify-updating",{updating:e})}),o.Vh),null!=this._renderer&&await this._renderer.load(),Mi}async executeQuery(e,t){return{result:await this._queryEngine.executeQuery(this._ensureQuery(e),t)}}async executeQueryForIds(e,t){const r=await this._queryEngine.executeQueryForIdSet(this._ensureQuery(e),t);return{result:Array.from(r)}}async executeQueryForCount(e,t){return{result:await this._queryEngine.executeQueryForCount(this._ensureQuery(e),t)}}async executeQueryForExtent(e,t){return{result:await this._queryEngine.executeQueryForExtent(this._ensureQuery(e),t)}}async executeQueryForLatestObservations(e,t){return{result:await this._queryEngine.executeQueryForLatestObservations(this._ensureQuery(e),t)}}async executeAttributeBinsQuery(e,t){return{result:await this._queryEngine.executeAttributeBinsQuery(e,t)}}onTileTreeChange(e){return this._tileManager.onTileTreeChange(e),Promise.resolve(Mi)}async onElevationChange(e){return Mi}async onLayerViewOpacityChange(e){const{_context:t,_renderer:r}=this;if(t.layerViewInfo.fullOpacity=e,null==r)return Mi;const i=await r.createUpdateLayerViewOpacityCommand(e);return await i.execute(),Mi}async onRendererChange(e){const{_context:t}=this,r=t.symbolRendererFactory.createSymbolRendererFromJSON(e);await r.load();const n=this._renderer;this._renderer=r;const s=[...this._tileManager.loadedTiles()],o=s.map(e=>e.tileId);{const e={stack:[],error:void 0,hasError:!1};try{(0,i.mS)(e,await this._tileLocks.lock(o),!1);const a=s.flatMap(e=>[n.createRemoveCommand(e.id),r.createAddCommand(e)]),l=await Promise.all(a),c=t.joinPipelineCommands(l);await c.execute()}catch(t){e.error=t,e.hasError=!0}finally{(0,i.hk)(e)}}const a=await n.createDestroyCommand();return await a.execute(),Mi}async _createAddFeatureDataCommand(e,t){const r=this._featureStore,i=this._renderer;let n;return n=null!=i?await i.createAddCommand(e):g.create(this._renderCommandContext),(0,s.Te)(t),n.appendPipelineStateCommand(()=>{r.addTile(e)}),n}async _createRemoveFeatureDataCommand(e){const t=this._featureStore,r=this._renderer;let i;return i=null!=r?await r.createRemoveCommand(e):g.create(this._renderCommandContext),i.appendPipelineStateCommand(()=>{t.removeTile(e)}),i}async _createUpdateFeatureDataVisibilityCommand(e,t){const r=this._renderer;let i;return i=null!=r?await r.createUpdateVisibilityCommand(e):g.create(this._renderCommandContext),(0,s.Te)(t),i}_ensureQuery(e){return e??this._defaultQueryJSON}};(0,i.Cg)([(0,a.MZ)()],Bi.prototype,"updating",null),Bi=(0,i.Cg)([(0,u.$)("esri.views.3d.layers.graphics.pipeline.Feature3DPipelineWorker")],Bi);const Ei=Bi,Mi={result:void 0}},65215:(e,t,r)=>{r.d(t,{H:()=>i,R:()=>n});class i{constructor(e){this.layerViewUid=e}}class n extends i{constructor(e,t){super(e),this.graphicUid=t}}},65494:(e,t,r)=>{r.d(t,{L:()=>l,r:()=>o});var i=r(67076),n=r(90360),s=r(41214);function o(e,t){return l(e,null,t)}const a=(0,n.C)({types:s.Hg});function l(e,t,r){return e?e&&(e.styleName||e.styleUrl)&&"uniqueValue"!==e.type?(r?.messages&&r.messages.push(new i.A("renderer:unsupported","Only UniqueValueRenderer can be referenced from a web style, but found '"+e.type+"'",{definition:e,context:r})),null):a(e,t,r):null}},72385:(e,t,r)=>{function i(){return new Float32Array(3)}function n(e){const t=new Float32Array(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function s(e,t,r){const i=new Float32Array(3);return i[0]=e,i[1]=t,i[2]=r,i}function o(){return i()}function a(){return s(1,1,1)}function l(){return s(1,0,0)}function c(){return s(0,1,0)}function u(){return s(0,0,1)}r.d(t,{fA:()=>s,o8:()=>n,vt:()=>i});const d=o(),h=a(),f=l(),p=c(),m=u();Object.freeze(Object.defineProperty({__proto__:null,ONES:h,UNIT_X:f,UNIT_Y:p,UNIT_Z:m,ZEROS:d,clone:n,create:i,fromValues:s,ones:a,unitX:l,unitY:c,unitZ:u,zeros:o},Symbol.toStringTag,{value:"Module"}))},73681:(e,t,r)=>{r.d(t,{n:()=>l});var i=r(49186),n=r(53966),s=r(46140),o=r(95466),a=r(55674);class l{static async from(e,t,r){const o=e.dictionary_version?s.R.parse(e.dictionary_version):null,u=new Set(e.itemsNames),d={};if(t)for(const e in t)d[e]=t[e];if(e.authoringInfo.configuration)for(const t of e.authoringInfo.configuration)d.hasOwnProperty(t.name)||(d[t.name]=t.value);const h=new Set(e.authoringInfo.symbol);for(const e of Object.keys(r))h.delete(e);h.size&&n.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("missing-fields: fieldMap entries for the following symbol fields are missing",{symbolFields:h});const f=await(0,a.xR)(e.expression,null,d);if(!f)throw new i.A("dictionary-renderer:expression-error","Unable to create dictionary renderer expression");const p=!o||!o.greaterEqual(4,0);p&&n.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("Dictionary script does not support native field types. Applying fallback",{version:o});const m=new c(r,p);return new l(p,u,f,m)}constructor(e,t,r,i){this._requiresFieldCoercionToString=e,this._itemNames=t,this._compiled=r,this._reader=i}get itemNames(){return this._itemNames}evaluate(e,t,r,i){try{return this._reader.bind(e,r,i),this._compiled.evaluate(this._reader,{$view:{scale:t}})}catch(e){n.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("arcade: dictionary script evaluation failed",{error:e})}return null}createDictionaryFieldsIndex(e){if(!this._requiresFieldCoercionToString)return new o.A(e);const t=e.map(e=>({...e,type:"esriFieldTypeString"}));return new o.A(t)}}class c extends a.Gj{constructor(e,t){super(),this._fieldMap=e,this._requiresFieldCoercionToString=t}_getField(e){const t=this._fieldMap[e]??e;return this._boundSchema.fieldsIndex.get(t)}field(e){if(!this._requiresFieldCoercionToString)return super.field(e,!1);const t=this._getField(e);return null==t||null==this._boundTarget.attributes[t.name]?"":""+this._boundTarget.attributes[t.name]}}},75503:(e,t,r)=>{r.d(t,{EC:()=>A,wq:()=>a});var i=r(4576),n=r(21818),s=(r(44208),r(15142)),o=r(11006);class a{constructor(e=9,t){this._compareMinX=h,this._compareMinY=f,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(),w.prune(),x.prune(),C.prune(),S.prune()}all(e){l(this._data,e)}search(e,t){let r=this._data;const i=this._toBBox;if(_(e,r))for(w.clear();r;){for(let n=0,s=r.children.length;n<s;n++){const s=r.children[n],o=r.leaf?i(s):s;_(e,o)&&(r.leaf?t(s):b(e,o)?l(s,t):w.push(s))}r=w.pop()}}collides(e){let t=this._data;const r=this._toBBox;if(!_(e,t))return!1;for(w.clear();t;){for(let i=0,n=t.children.length;i<n;i++){const n=t.children[i],s=t.leaf?r(n):n;if(_(e,s)){if(t.leaf||b(e,s))return!0;w.push(n)}}t=w.pop()}return!1}load(e){if(!e.length)return this;if(e.length<this._minEntries){for(let t=0,r=e.length;t<r;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 I([]),this}remove(e){if(!e)return this;let t,r=this._data,s=null,o=0,a=!1;const l=this._toBBox(e);for(C.clear(),S.clear();r||C.length>0;){if(r||(r=C.pop(),s=C.data[C.length-1],o=S.pop()??0,a=!0),r.leaf&&(t=(0,i.qh)(r.children,(0,n.zI)(e),r.children.length,r.indexHint),-1!==t))return r.children.splice(t,1),C.push(r),this._condense(C),this;a||r.leaf||!b(r,l)?s?(o++,r=s.children[o],a=!1):r=null:(C.push(r),S.push(o),o=0,s=r,r=r.children[0])}return this}toJSON(){return this._data}fromJSON(e){return this._data=e,this}_build(e,t,r,i){const n=r-t+1;let s=this._maxEntries;if(n<=s){const i=new I(e.slice(t,r+1));return c(i,this._toBBox),i}i||(i=Math.ceil(Math.log(n)/Math.log(s)),s=Math.ceil(n/s**(i-1)));const o=new P([]);o.height=i;const a=Math.ceil(n/s),l=a*Math.ceil(Math.sqrt(s));v(e,t,r,l,this._compareMinX);for(let n=t;n<=r;n+=l){const t=Math.min(n+l-1,r);v(e,n,t,a,this._compareMinY);for(let r=n;r<=t;r+=a){const n=Math.min(r+a-1,t);o.children.push(this._build(e,r,n,i-1))}}return c(o,this._toBBox),o}_insert(e,t,r){const i=this._toBBox,n=r?e:i(e);C.clear();const s=function(e,t,r,i){for(;i.push(t),!0!==t.leaf&&i.length-1!==r;){let r,i=1/0,n=1/0;for(let s=0,o=t.children.length;s<o;s++){const o=t.children[s],a=p(o),l=y(e,o)-a;l<n?(n=l,i=a<i?a:i,r=o):l===n&&a<i&&(i=a,r=o)}t=r||t.children[0]}return t}(n,this._data,t,C);for(s.children.push(e),d(s,n);t>=0&&C.data[t].children.length>this._maxEntries;)this._split(C,t),t--;!function(e,t,r){for(let i=r;i>=0;i--)d(t.data[i],e)}(n,C,t)}_split(e,t){const r=e.data[t],i=r.children.length,n=this._minEntries;this._chooseSplitAxis(r,n,i);const s=this._chooseSplitIndex(r,n,i);if(!s)return;const o=r.children.splice(s,r.children.length-s),a=r.leaf?new I(o):new P(o);a.height=r.height,c(r,this._toBBox),c(a,this._toBBox),t?e.data[t-1].children.push(a):this._splitRoot(r,a)}_splitRoot(e,t){this._data=new P([e,t]),this._data.height=e.height+1,c(this._data,this._toBBox)}_chooseSplitIndex(e,t,r){let i,n,s;i=n=1/0;for(let o=t;o<=r-t;o++){const t=u(e,0,o,this._toBBox),a=u(e,o,r,this._toBBox),l=g(t,a),c=p(t)+p(a);l<i?(i=l,s=o,n=c<n?c:n):l===i&&c<n&&(n=c,s=o)}return s}_chooseSplitAxis(e,t,r){const i=e.leaf?this._compareMinX:h,n=e.leaf?this._compareMinY:f;this._allDistMargin(e,t,r,i)<this._allDistMargin(e,t,r,n)&&e.children.sort(i)}_allDistMargin(e,t,r,i){e.children.sort(i);const n=this._toBBox,s=u(e,0,t,n),o=u(e,r-t,r,n);let a=m(s)+m(o);for(let i=t;i<r-t;i++){const t=e.children[i];d(s,e.leaf?n(t):t),a+=m(s)}for(let i=r-t-1;i>=t;i--){const t=e.children[i];d(o,e.leaf?n(t):t),a+=m(o)}return a}_condense(e){for(let t=e.length-1;t>=0;t--){const r=e.data[t];if(0===r.children.length)if(t>0){const n=e.data[t-1],s=n.children;s.splice((0,i.qh)(s,r,s.length,n.indexHint),1)}else this.clear();else c(r,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 r=e;for(x.clear();r;){if(!0===r.leaf)for(const e of r.children)t((0,n.zI)(e));else x.pushArray(r.children);r=x.pop()??null}}function c(e,t){u(e,0,e.children.length,t,e)}function u(e,t,r,i,n){n||(n=new I([])),n.minX=1/0,n.minY=1/0,n.maxX=-1/0,n.maxY=-1/0;for(let s,o=t;o<r;o++)s=e.children[o],d(n,e.leaf?i(s):s);return n}function d(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 h(e,t){return e.minX-t.minX}function f(e,t){return e.minY-t.minY}function p(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function m(e){return e.maxX-e.minX+(e.maxY-e.minY)}function y(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 g(e,t){const r=Math.max(e.minX,t.minX),i=Math.max(e.minY,t.minY),n=Math.min(e.maxX,t.maxX),s=Math.min(e.maxY,t.maxY);return Math.max(0,n-r)*Math.max(0,s-i)}function b(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function _(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function v(e,t,r,i,n){const s=[t,r];for(;s.length;){const t=s.pop(),r=s.pop();if(t-r<=i)continue;const a=r+Math.ceil((t-r)/i/2)*i;(0,o.q)(e,a,r,t,n),s.push(r,a,a,t)}}const w=new s.A,x=new s.A,C=new s.A,S=new s.A({deallocator:void 0});class A{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}}class T extends A{constructor(){super(...arguments),this.height=1,this.indexHint=new i.vW}}class I extends T{constructor(e){super(),this.children=e,this.leaf=!0}}class P extends T{constructor(e){super(),this.children=e,this.leaf=!1}}},76357:(e,t,r)=>{r.d(t,{A:()=>u});var i=r(31635),n=r(66552),s=r(25482),o=r(10107),a=(r(44208),r(53966),r(87811),r(93223)),l=r(64108);const c=new n.J({inherited:"inherited",codedValue:"coded-value",range:"range"});let u=class extends s.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)(c),(0,o.MZ)({json:{write:{isRequired:!0}}})],u.prototype,"type",void 0),u=(0,i.Cg)([(0,l.$)("esri.layers.support.Domain")],u)},77548:(e,t,r)=>{r.d(t,{Gh:()=>g,tk:()=>f,BR:()=>h,wI:()=>d,G$:()=>m,$x:()=>p,Ov:()=>l,UC:()=>s,W_:()=>c,OP:()=>y,TU:()=>a,XX:()=>o,jy:()=>u});var i=r(70333),n=r(11254);function s(e){return null!=e&&"object"==typeof e&&"type"in e&&"knowledge-graph-sublayer"===e.type}r(7762),r(84952),r(36563),r(36708),r(4146),new WeakMap,r(16215);const o={Point:"SceneLayer","3DObject":"SceneLayer",IntegratedMesh:"IntegratedMeshLayer",PointCloud:"PointCloudLayer",Building:"BuildingSceneLayer"};function a(e){const t=e?.type;return"building-scene"===t||"integrated-mesh"===t||"point-cloud"===t||"scene"===t}function l(e){return"feature"===e?.type&&!e.url&&"memory"===e.source?.type}function c(e){const t=e?.type;return("feature"===t||"subtype-group"===t||"oriented-imagery"===t)&&"feature-layer"===e?.source?.type}function u(e){return function(e){return null!=e&&"object"==typeof e&&"type"in e&&"feature"===e.type}(e)&&function(e){return"feature"===e?.type&&"feature-layer"===e.source?.type}(e)}async function d(e,t){const r=i.id?.findServerInfo(e);if(null!=r?.currentVersion)return r.owningSystemUrl||null;const s=e.toLowerCase().indexOf("/rest/services");if(-1===s)return null;const o=`${e.slice(0,s)}/rest/info`,a=null!=t?t.signal:null,{data:l}=await(0,n.A)(o,{query:{f:"json"},responseType:"json",signal:a});return l?.owningSystemUrl||null}function h(e){return function(e){if(!("capabilities"in e))return!1;switch(e.type){case"catalog":case"catalog-footprint":case"csv":case"feature":case"geojson":case"imagery":case"knowledge-graph-sublayer":case"ogc-feature":case"oriented-imagery":case"scene":case"sublayer":case"subtype-group":case"subtype-sublayer":case"wfs":return!0;default:return!1}}(e)?"effectiveCapabilities"in e?e.effectiveCapabilities:e.capabilities:null}function f(e){return!!function(e){if(!("editingEnabled"in e))return!1;switch(e.type){case"csv":case"feature":case"geojson":case"oriented-imagery":case"scene":case"subtype-group":case"subtype-sublayer":case"knowledge-graph-sublayer":return!0;default:return!1}}(e)&&("effectiveEditingEnabled"in e?e.effectiveEditingEnabled:e.editingEnabled)}function p(e,t){return null}function m(e){return null}function y(e){return!e||"Feature Service"===e.type&&!e.sourceUrl}function g(e,t){if(!t||!y(e))return;const r=(e.url,null);r&&(e.url=r)}},79677:(e,t,r)=>{r.d(t,{A:()=>h});var i,n=r(31635),s=r(25482),o=r(88930),a=r(10107),l=(r(44208),r(53966),r(87811),r(36005)),c=r(64108),u=r(43937),d=r(98623);let h=class extends s.o{static{i=this}static get allTime(){return f}static get empty(){return p}static fromArray(e){return new i({start:null!=e[0]?new Date(e[0]):e[0],end:null!=e[1]?new Date(e[1]):e[1]})}constructor(e){super(e),this.end=null,this.start=null}readEnd(e,t){return null!=t.end?new Date(t.end):null}writeEnd(e,t){t.end=e?.getTime()??null}get isAllTime(){return this.equals(i.allTime)}get isEmpty(){return this.equals(i.empty)}readStart(e,t){return null!=t.start?new Date(t.start):null}writeStart(e,t){t.start=e?.getTime()??null}clone(){return new i({end:this.end,start:this.start})}equals(e){if(!e)return!1;const t=this.start?.getTime()??this.start,r=this.end?.getTime()??this.end,i=e.start?.getTime()??e.start,n=e.end?.getTime()??e.end;return t===i&&r===n}expandTo(e,t=d.qU){if(this.isEmpty||this.isAllTime)return this.clone();let r=this.start;r&&(r=(0,o.lL)(r,e,t));let n=this.end;if(n){const r=(0,o.lL)(n,e,t);n=n.getTime()===r.getTime()?r:(0,o.S1)(r,1,e,t)}return new i({start:r,end:n})}intersection(e){if(!e)return this.clone();if(this.isEmpty||e.isEmpty)return i.empty;if(this.isAllTime)return e.clone();if(e.isAllTime)return this.clone();const t=this.start?.getTime()??-1/0,r=this.end?.getTime()??1/0,n=e.start?.getTime()??-1/0,s=e.end?.getTime()??1/0;let o,a;return n>=t&&n<=r?o=n:t>=n&&t<=s&&(o=t),r>=n&&r<=s?a=r:s>=t&&s<=r&&(a=s),null==o||null==a||isNaN(o)||isNaN(a)?i.empty:new i({start:o===-1/0?null:new Date(o),end:a===1/0?null:new Date(a)})}offset(e,t,r=d.qU){if(this.isEmpty||this.isAllTime)return this.clone();const n=new i,{start:s,end:a}=this;return null!=s&&(n.start=(0,o.S1)(s,e,t,r)),null!=a&&(n.end=(0,o.S1)(a,e,t,r)),n}toArray(){return this.isEmpty?[void 0,void 0]:[this.start?.getTime()??null,this.end?.getTime()??null]}union(e){if(!e||e.isEmpty)return this.clone();if(this.isEmpty)return e.clone();if(this.isAllTime||e.isAllTime)return f.clone();const t=null!=this.start&&null!=e.start?new Date(Math.min(this.start.getTime(),e.start.getTime())):null,r=null!=this.end&&null!=e.end?new Date(Math.max(this.end.getTime(),e.end.getTime())):null;return new i({start:t,end:r})}};(0,n.Cg)([(0,a.MZ)({type:Date,json:{write:{allowNull:!0}}})],h.prototype,"end",void 0),(0,n.Cg)([(0,l.w)("end")],h.prototype,"readEnd",null),(0,n.Cg)([(0,u.K)("end")],h.prototype,"writeEnd",null),(0,n.Cg)([(0,a.MZ)({readOnly:!0,json:{read:!1}})],h.prototype,"isAllTime",null),(0,n.Cg)([(0,a.MZ)({readOnly:!0,json:{read:!1}})],h.prototype,"isEmpty",null),(0,n.Cg)([(0,a.MZ)({type:Date,json:{write:{allowNull:!0}}})],h.prototype,"start",void 0),(0,n.Cg)([(0,l.w)("start")],h.prototype,"readStart",null),(0,n.Cg)([(0,u.K)("start")],h.prototype,"writeStart",null),h=i=(0,n.Cg)([(0,c.$)("esri.time.TimeExtent")],h);const f=new h,p=new h({start:void 0,end:void 0})},80451:(e,t,r)=>{r.d(t,{rS:()=>p,gK:()=>f}),r(44208);var i,n=r(53177),s=r(76357),o=r(31635),a=(r(53966),r(87811),r(49186),r(93223)),l=r(64108);let c=class extends s.A{static{i=this}constructor(e){super(e),this.type="inherited"}clone(){return new i}};(0,o.Cg)([(0,a.e)({inherited:"inherited"})],c.prototype,"type",void 0),c=i=(0,o.Cg)([(0,l.$)("esri.layers.support.InheritedDomain")],c);var u,d=r(10107);let h=class extends s.A{static{u=this}constructor(e){super(e),this.maxValue=null,this.minValue=null,this.type="range"}clone(){return new u({maxValue:this.maxValue,minValue:this.minValue,name:this.name})}};(0,o.Cg)([(0,d.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,r){t[r]=[this.minValue||0,e]},isRequired:!0}}})],h.prototype,"maxValue",void 0),(0,o.Cg)([(0,d.MZ)({json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range?.[0]},write:{target:"range",writer(e,t,r){t[r]=[e,this.maxValue||0]},isRequired:!0}}})],h.prototype,"minValue",void 0),(0,o.Cg)([(0,a.e)({range:"range"})],h.prototype,"type",void 0),h=u=(0,o.Cg)([(0,l.$)("esri.layers.support.RangeDomain")],h);const f={key:"type",base:s.A,typeMap:{range:h,"coded-value":n.A,inherited:c}};function p(e){if(!e?.type)return null;switch(e.type){case"range":return h.fromJSON(e);case"codedValue":return n.A.fromJSON(e);case"inherited":return c.fromJSON(e)}return null}},81961:(e,t,r)=>{r.d(t,{V:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"vec4",2,(i,n,s)=>i.setUniform4fv(e,t(n,s),r))}}},87582:(e,t,r)=>{r(6867),r(65215).R},95696:(e,t,r)=>{r.d(t,{A:()=>u});var i,n=r(31635),s=r(69540),o=r(25482),a=r(10107),l=(r(44208),r(53966),r(87811),r(93223)),c=r(64108);let u=class extends((0,s.OU)(o.o)){static{i=this}constructor(e){super(e),this.type="georeferenced",this.origin=null}static{this.absolute=new i}};(0,n.Cg)([(0,l.e)({georeferenced:"georeferenced"},{readOnly:!0})],u.prototype,"type",void 0),(0,n.Cg)([(0,a.MZ)({type:[Number],nonNullable:!1,json:{write:!0}})],u.prototype,"origin",void 0),u=i=(0,n.Cg)([(0,c.$)("esri.geometry.support.MeshGeoreferencedVertexSpace")],u)},96576:(e,t,r)=>{r.d(t,{A:()=>h});var i,n=r(31635),s=r(4718),o=r(10107),a=(r(44208),r(53966),r(93223)),l=r(64108),c=r(92438),u=r(63988),d=r(49849);let h=i=class extends((0,u.h)(c.A)){constructor(e){super(e),this.description=null,this.label=null,this.symbol=null,this.type="simple"}async collectRequiredFields(e,t){await Promise.all([this.collectSymbolFields(e,t),this.collectVVRequiredFields(e,t)])}async collectSymbolFields(e,t){await Promise.all(this.symbols.map(r=>r.collectRequiredFields(e,t)))}getSymbol(e,t){return this.symbol}async getSymbolAsync(e,t){return this.symbol}get symbols(){return this.symbol?[this.symbol]:[]}getAttributeHash(){return this.visualVariables?.reduce((e,t)=>e+t.getAttributeHash(),"")??""}getMeshHash(){return this.symbols.reduce((e,t)=>e+JSON.stringify(t),"")}get arcadeRequired(){return this.arcadeRequiredForVisualVariables}clone(){return new i({description:this.description,label:this.label,symbol:(0,s.o8)(this.symbol),visualVariables:(0,s.o8)(this.visualVariables),authoringInfo:(0,s.o8)(this.authoringInfo)})}};(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],h.prototype,"description",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],h.prototype,"label",void 0),(0,n.Cg)([(0,o.MZ)(d.Wp)],h.prototype,"symbol",void 0),(0,n.Cg)([(0,a.e)({simple:"simple"})],h.prototype,"type",void 0),h=i=(0,n.Cg)([(0,l.$)("esri.renderers.SimpleRenderer")],h)},98453:(e,t,r)=>{r.d(t,{m:()=>i});const i=new(r(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"})}}]);
|
|
316
|
+
}`)}},64183:(e,t,r)=>{r.r(t),r.d(t,{default:()=>Ei});var i=r(31635),n=r(65529),s=r(74887),o=r(36708),a=r(10107),l=r(44208),c=r(53966),u=(r(87811),r(64108)),d=r(5443),h=r(91218),f=r(16930),p=r(56390),m=r(61956),y=r(65494);class g{constructor(e,t,r){this.renderCommandContext=e,this.renderCommandBuffer=t,this.pipelineStateCommands=r}append(e){this.appendRenderCommands(e.renderCommandBuffer),this.appendPipelineStateCommands(e.pipelineStateCommands)}appendRenderCommands(e){this.renderCommandBuffer.commands.push(...e.commands),this.renderCommandBuffer.transferList.push(...e.transferList)}appendPipelineStateCommand(e){this.pipelineStateCommands.push(e)}appendPipelineStateCommands(e){for(const t of e)this.appendPipelineStateCommand(t)}async execute(){for(const e of this.pipelineStateCommands)e();await this.renderCommandContext.dispatchRenderCommands(this.renderCommandBuffer)}static create(e,t=[]){return new g(e,e.createRenderCommandBuffer(),t)}}var b=r(68197),_=r(18574),v=r(87403),w=r(28975);function x(){return new _.A({material:new w.N({color:new b.A("red")})})}var C=r(9093),S=r(51850),A=r(91829),T=r(6847),I=r(83047),P=r(58083),B=r(87317),E=r(70328),M=r(19419);r(12359),r(95108),r(27615),r(52106),r(4718),r(34275),r(65864);var O=r(37585),R=r(48163),D=r(34727),F=r(26857);new Map,(()=>{let e="";for(let t=32;t<127;t++)e+=String.fromCharCode(t)})();const j=[];{const e=16;for(let t=0;t<360;t+=360/e)j.push([Math.cos(Math.PI*t/180),Math.sin(Math.PI*t/180)])}Object.freeze({left:0,center:.5,right:1});const V=Object.freeze({"bottom-left":(0,R.fA)(0,0),bottom:(0,R.fA)(.5,0),"bottom-right":(0,R.fA)(1,0),left:(0,R.fA)(0,.5),center:(0,R.fA)(.5,.5),right:(0,R.fA)(1,.5),"top-left":(0,R.fA)(0,1),top:(0,R.fA)(.5,1),"top-right":(0,R.fA)(1,1)});var z=r(9762),L=r(27993);function U(e){const{featureCount:t}=e;if(0===t)return new Uint32Array;const r=new Uint32Array(t);return e.getObjectIdsArray(r),r}function N(e){const{featureCount:t}=e;if(0===t)return new Float64Array;const r=new Float64Array(3*t);return e.getCoordinatesArray(r),r}function q(e,t){const r=t.viewSpatialReference,i=t.renderSpatialReference,{extent:n}=e,s=(0,M.gX)(n),o=(0,S.vt)();return(0,L.F)([s[0],s[1],0],r,o,i),o}var H=r(97146);function G(e){const t=new Map;for(const[r,i]of e)t.set(r,{...i,indices:(0,H.Dg)(i.indices)});return t}r(46859);var k=r(63907);const $=(0,A.CN)(.25,.25,.75,.75);function Y(e){return"cross"===e||"x"===e}function Z(e,t=128,r=.5*t,i=0){switch(e){case"circle":default:return function(e,t){const r=e/2-.5;return K(e,Q(r,r,t/2))}(t,r);case"square":return function(e,t){return X(e,t,!1)}(t,r);case"cross":return function(e,t,r=0){return W(e,t,!1,r)}(t,r,i);case"x":return function(e,t,r=0){return W(e,t,!0,r)}(t,r,i);case"kite":return function(e,t){return X(e,t,!0)}(t,r);case"triangle":return function(e,t){return K(e,J(e/2,t,t/2))}(t,r);case"arrow":return function(e,t){const r=t,i=t/2,n=e/2,s=.8*r,o=Q(n,(e-t)/2-s,Math.sqrt(s*s+i*i)),a=J(n,r,i);return K(e,(e,t)=>Math.max(a(e,t),-o(e,t)))}(t,r)}}function X(e,t,r){return r&&(t/=Math.SQRT2),K(e,(i,n)=>{let s=i-.5*e+.25,o=.5*e-n-.75;if(r){const e=(s+o)/Math.SQRT2;o=(o-s)/Math.SQRT2,s=e}return Math.max(Math.abs(s),Math.abs(o))-.5*t})}function W(e,t,r,i=0){t-=i,r&&(t*=Math.SQRT2);const n=.5*t;return K(e,(t,s)=>{let o,a=t-.5*e,l=.5*e-s-1;if(r){const e=(a+l)/Math.SQRT2;l=(l-a)/Math.SQRT2,a=e}return a=Math.abs(a),l=Math.abs(l),o=a>l?a>n?Math.sqrt((a-n)*(a-n)+l*l):l:l>n?Math.sqrt(a*a+(l-n)*(l-n)):a,o-=i/2,o})}function Q(e,t,r){return(i,n)=>{const s=i-e,o=n-t;return Math.sqrt(s*s+o*o)-r}}function J(e,t,r){const i=Math.sqrt(t*t+r*r);return(n,s)=>{const o=Math.abs(n-e)-r,a=s-e+t/2+.75,l=(t*o+r*a)/i,c=-a;return Math.max(l,c)}}function K(e,t){const r=new Float32Array(e*e);for(let i=0;i<e;i++)for(let n=0;n<e;n++)r[n+e*i]=t(n,i)/e;return r}var ee=r(46610);class te{constructor(e,t){this._context=null,this._symbolLayer=null,this._draped=!1,this._loaded=!1,this._loadingPromise=null,this._iconTextureID=null,this._materialId=null,this._context=t,this._symbolLayer=e}get loaded(){return this._loaded}load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}_destroy(){this._iconTextureID=null}async _load(){const e=this._context.renderCommandContext,t=await e.createTexture(()=>function(e,t=128,r=.5*t,i=0){return{data:Z(e,t,r,i),parameters:{mipmap:!1,wrap:{s:33071,t:33071},width:t,height:t,noUnpackFlip:!0,dataType:k.ld.FLOAT,pixelFormat:6403,internalFormat:k.H0.R16F,reloadable:!0}}}("circle"));this._iconTextureID=t;const r={anchorPosition:V.center,occlusionTest:!0,hasSlicePlane:!1,color:this._getFillColor(),outlineColor:this._getOutlineColor(),outlineSize:1,distanceFieldBoundingBox:$,textureId:t,textureIsSignedDistanceField:!0,sampleSignedDistanceFieldTexelCenter:Y("circle")},i=new Uint8Array(8),n=255;i[0]=0,i[1]=0,i[2]=0,i[3]=n,i[4]=n,i[5]=0,i[6]=n,i[7]=n,this._materialId=await e.createMaterial({type:"hud",parameters:r}),await e.createDirectRenderer(this._materialId),await e.setBaseInstance(this._materialId,{data:i.buffer,elementCount:4}),this._loaded=!0}async createAddCommand(e){const{_materialId:t,_context:r}=this,{renderCommandContext:i}=r;if(null==t)throw new Error("expected material not to be null");const n=await this._createGeometry(e);if(null==n)return r.createPipelineCommand();const s=q(e,r);return r.createPipelineCommand(i.addDirectRendererGeometry(e.id,n,s,!0))}async _createGeometry(e){const{_materialId:t,_context:r}=this,{mainThreadDelegate:i}=r,{featureCount:n}=e;if(0===n||null==t)return null;const s=U(e),o=N(e),a=function(e,t){const r=e.length/3,i=t.viewSpatialReference,n=t.renderSpatialReference,s=new Float64Array(3*r);if(!(0,z.projectBuffer)(e,i,0,s,n,0,r))throw new Error("Failed to project coordinates");return s}(await i.applyElevationAlignmentTo(o),r),l=new Float64Array([0,0,1]),c=new Float64Array([255,255,255,255]),u=new Float64Array([24,24]),d=new Float64Array([0,0,0,1]),h=new Float64Array([0]),f=new Uint32Array(n);for(let e=0;e<n;++e)f[e]=e;const p=new Uint32Array(n);for(let e=0;e<n;++e)p[e]=0;const m=[["position",new ee.n(a,f,3,!0)],["normal",new ee.n(l,p,3,!0)],["color",new ee.n(c,p,4,!0)],["rotation",new ee.n(h,p,1,!0)],["size",new ee.n(u,p,2,!0)],["centerOffsetAndDistance",new ee.n(d,p,4,!0)]],y=new Uint8Array(n);return e.getVisibilityArray(y),{attributes:G(m),olidColor:void 0,transformation:(0,C.vt)(),materialId:t,objectIds:s,visibilities:y}}async createRemoveCommand(e){const{_materialId:t,_context:r}=this,i=r.renderCommandContext;return null==t?r.createPipelineCommand():r.createPipelineCommand(i.removeDirectRendererGeometryBuffer(t,e))}async createUpdateVisibilityCommand(e){const{_materialId:t,_context:r}=this,i=r.renderCommandContext;if(null==t)return r.createPipelineCommand();const n=new Uint8Array(e.featureCount);return e.getVisibilityArray(n),r.createPipelineCommand(i.updateVisibility(t,e.id,n))}async createUpdateLayerViewOpacityCommand(e){const{_context:t,_materialId:r}=this,i=t.renderCommandContext;return null==r?t.createPipelineCommand():t.createPipelineCommand(i.updateMaterial({type:"hud",materialId:r,parameters:{color:this._getFillColor(),outlineColor:this._getOutlineColor()}}))}async createUpdateElevationCommand(e){const{_materialId:t,_context:r}=this,{renderCommandContext:i}=r,{featureCount:n,id:s}=e;if(null==t||0===n)return r.createPipelineCommand();const o=await this._createGeometry(e);if(null==o)return r.createPipelineCommand();const a=q(e,r);return r.createPipelineCommand(i.updateDirectRendererGeometry(s,o,a,!0))}async createDestroyCommand(){const{_iconTextureID:e,_context:t}=this,r=t.renderCommandContext;let i;return i=null!=e?await r.releaseTexture(e):g.create(r),i.appendPipelineStateCommand(()=>this._destroy()),i}_getOutlineColor(){const e=this._getLayerOpacity(),t=this._symbolLayer,r=t?.outline?.color;if(null!=r){const t=b.A.toUnitRGB(r),i=r.a*e;return[t[0],t[1],t[2],i]}return[0,0,0,0]}_getFillColor(){if(function(e){return null!=e&&("cross"===e||"x"===e)}(this._getPrimitive()))return ie;const e=null==this._getPrimitive(),t=this._symbolLayer?.material?.color;return this._getCombinedOpacityAndColor(t,{hasIntrinsicColor:e})}_getLayerOpacity(){return this._context.layerViewInfo.fullOpacity}_getCombinedOpacity(e,t=re){const r=this._draped?1:this._getLayerOpacity();return e?r*e.a:t.hasIntrinsicColor?r:0}_getCombinedOpacityAndColor(e,t=re){const r=this._getCombinedOpacity(e,t);return function(e,t,r=null){const i=(0,A.o8)(A.Un);return null!=e&&(i[0]=e[0],i[1]=e[1],i[2]=e[2],e.length>3&&(i[3]=e[3])),null!=t&&(i[3]=t),r&&(0,B.c)(i,i,r),i}(null!=e?b.A.toUnitRGB(e):S.Un,r)}_getPrimitive(){return e=this._symbolLayer,e.resource?.href?null:e.resource?.primitive??T.r;var e}}const re={hasIntrinsicColor:!1},ie=A.uY;class ne{constructor(e,t){this._loaded=!1,this._loadingPromise=null,this._context=null,this._symbol=null,this._symbolLayerRenderers=[],this._context=t,this._symbol=e}_destroy(){}get loaded(){return this._loaded}load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}async _load(){const{_context:e,_symbol:t,_symbolLayerRenderers:r}=this,i=[];for(const n of t.symbolLayers){const t=e.symbolRendererFactory.createSymbolRendererFromSymbolLayer(n);null!=t&&(i.push(t.load()),r.push(t))}await Promise.all(i),this._loaded=!0}async createDestroyCommand(){const{_context:e,_symbolLayerRenderers:t}=this,r=[];for(const e of t)r.push(e.createDestroyCommand());const i=e.joinPipelineCommands(await Promise.all(r));return i.appendPipelineStateCommand(()=>this._destroy()),i}async createAddCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,i=[];for(const t of r)i.push(t.createAddCommand(e));return t.joinPipelineCommands(await Promise.all(i))}async createRemoveCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,i=[];for(const t of r)i.push(t.createRemoveCommand(e));return t.joinPipelineCommands(await Promise.all(i))}async createUpdateVisibilityCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,i=[];for(const t of r)i.push(t.createUpdateVisibilityCommand(e));return t.joinPipelineCommands(await Promise.all(i))}async createUpdateLayerViewOpacityCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,i=[];for(const t of r)i.push(t.createUpdateLayerViewOpacityCommand(e));return t.joinPipelineCommands(await Promise.all(i))}async createUpdateElevationCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,i=[];for(const t of r)i.push(t.createUpdateElevationCommand(e));return t.joinPipelineCommands(await Promise.all(i))}}class se{constructor(e,t){this._symbol=null,this._featureData=new Map,this._loaded=!1,this._loadingPromise=null,this._renderer=null,this._context=t,this._renderer=e}async load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}async _load(){const{_renderer:e,_context:t}=this;this._symbol=t.symbolRendererFactory.createSymbolRendererFromSymbol(e.symbol),this._loaded=!0}get loaded(){return this._loaded}async createAddCommand(e){const t=this._context,r=await this._provisionSymbol(),i=null==r?t.createPipelineCommand():await r.createAddCommand(e);return i.appendPipelineStateCommand(()=>this._featureData.set(e.id,e)),i}async createRemoveCommand(e){const t=this._context,r=await this._provisionSymbol(),i=null==r?t.createPipelineCommand():await r.createRemoveCommand(e);return i.appendPipelineStateCommand(()=>this._featureData.delete(e)),i}async createUpdateVisibilityCommand(e){const t=this._context,r=await this._provisionSymbol();return null==r?t.createPipelineCommand():await r.createUpdateVisibilityCommand(e)}async createUpdateLayerViewOpacityCommand(e){const t=this._context,r=await this._provisionSymbol();return null==r?t.createPipelineCommand():await r.createUpdateLayerViewOpacityCommand(e)}async createUpdateElevationCommand(){const{_featureData:e,_context:t}=this,r=await this._provisionSymbol();if(null==r)return t.createPipelineCommand();const i=[];for(const t of e.values())i.push(r.createUpdateElevationCommand(t));const n=await Promise.all(i);return t.joinPipelineCommands(n)}async createDestroyCommand(){const{_symbol:e,_context:t,_featureData:r}=this;if(!e)return t.createPipelineCommand();const i=[];for(const e of r.keys())i.push(this.createRemoveCommand(e));i.push(e.createDestroyCommand());const n=await Promise.all(i);return t.joinPipelineCommands(n)}async _provisionSymbol(){const e=this._symbol;return e?(e.loaded||await e.load(),e):null}}var oe=r(48353),ae=r(30809),le=r(8887),ce=r(38954),ue=r(72385),de=(r(4197),r(11868)),he=r(27921),fe=r(71351),pe=r(73941);function me(e,t){const r=e[t],i=e[t+1],n=e[t+2];return Math.sqrt(r*r+i*i+n*n)}function ye(e,t){const r=e[t],i=e[t+1],n=e[t+2],s=1/Math.sqrt(r*r+i*i+n*n);e[t]*=s,e[t+1]*=s,e[t+2]*=s}function ge(e,t,r){e[t]*=r,e[t+1]*=r,e[t+2]*=r}r(37539),r(20498),r(87170),(0,R.vt)(),(0,R.vt)();var be=r(620);r(78754);const _e=new Array(36);for(let e=0;e<6;e++)for(let t=0;t<6;t++)_e[6*e+t]=e;const ve=new Array(36);for(let e=0;e<6;e++)ve[6*e]=0,ve[6*e+1]=1,ve[6*e+2]=2,ve[6*e+3]=2,ve[6*e+4]=3,ve[6*e+5]=0;const we=(0,ue.fA)(-.5,0,-.5),xe=(0,ue.fA)(.5,0,-.5),Ce=(0,ue.fA)(0,0,.5),Se=(0,ue.fA)(0,.5,0),Ae=(0,ue.vt)(),Te=(0,ue.vt)(),Ie=(0,ue.vt)(),Pe=(0,ue.vt)(),Be=(0,ue.vt)();(0,ce.e)(Ae,we,Se),(0,ce.e)(Te,we,xe),(0,ce.i)(Ie,Ae,Te),(0,ce.n)(Ie,Ie),(0,ce.e)(Ae,xe,Se),(0,ce.e)(Te,xe,Ce),(0,ce.i)(Pe,Ae,Te),(0,ce.n)(Pe,Pe),(0,ce.e)(Ae,Ce,Se),(0,ce.e)(Te,Ce,we),(0,ce.i)(Be,Ae,Te),(0,ce.n)(Be,Be),Ie[0],Ie[1],Ie[2],Pe[0],Pe[1],Pe[2],Be[0],Be[1],Be[2],(0,S.vt)();var Ee=r(4576),Me=r(69397);r(6867),r(87582);var Oe=r(57917);function Re(e,t){const r=(e,r,i=!1)=>({levels:e.map(e=>{const n=G(r(e.tesselation));return i&&function(e){const t=e,r=t.get("position").data,i=t.get("normal").data;if(i){const t=De(e,"normal").data;for(let e=0;e<i.length;e+=3){const r=i[e+1];t[e+1]=-i[e+2],t[e+2]=r}}if(r){const t=De(e,"position").data;for(let e=0;e<r.length;e+=3){const i=r[e+1];t[e+1]=-r[e+2],t[e+2]=i}}}(n),{components:[{attributes:n,olidColor:void 0,transformation:null,materialId:t,visibilities:new Uint8Array([1]),objectIds:new Uint32Array([-1])}],minScreenSpaceRadius:e.minScreenSpaceRadius}})});switch(e){case"cone":return r(Fe,e=>function(e,t,r,i,n=!0,s=!0){let o=0;const a=t,l=e;let c=(0,ue.fA)(0,o,0),u=(0,ue.fA)(0,o+l,0),d=(0,ue.fA)(0,-1,0),h=(0,ue.fA)(0,1,0);i&&(o=l,u=(0,ue.fA)(0,0,0),c=(0,ue.fA)(0,o,0),d=(0,ue.fA)(0,1,0),h=(0,ue.fA)(0,-1,0));const f=[u,c],p=[d,h],m=r+2,y=Math.sqrt(l*l+a*a);if(i)for(let e=r-1;e>=0;e--){const t=e*(2*Math.PI/r),i=(0,ue.fA)(Math.cos(t)*a,o,Math.sin(t)*a);f.push(i);const n=(0,ue.fA)(l*Math.cos(t)/y,-a/y,l*Math.sin(t)/y);p.push(n)}else for(let e=0;e<r;e++){const t=e*(2*Math.PI/r),i=(0,ue.fA)(Math.cos(t)*a,o,Math.sin(t)*a);f.push(i);const n=(0,ue.fA)(l*Math.cos(t)/y,a/y,l*Math.sin(t)/y);p.push(n)}const g=new Array,b=new Array;if(n){for(let e=3;e<f.length;e++)g.push(1),g.push(e-1),g.push(e),b.push(0),b.push(0),b.push(0);g.push(f.length-1),g.push(2),g.push(1),b.push(0),b.push(0),b.push(0)}if(s){for(let e=3;e<f.length;e++)g.push(e),g.push(e-1),g.push(0),b.push(e),b.push(e-1),b.push(1);g.push(0),g.push(2),g.push(f.length-1),b.push(1),b.push(2),b.push(p.length-1)}const _=(0,de.oe)(3*m);for(let e=0;e<m;e++)_[3*e]=f[e][0],_[3*e+1]=f[e][1],_[3*e+2]=f[e][2];const v=(0,de.oe)(3*m);for(let e=0;e<m;e++)v[3*e]=p[e][0],v[3*e+1]=p[e][1],v[3*e+2]=p[e][2];return[["position",new ee.n(_,g,3,!0)],["normal",new ee.n(v,b,3,!0)]]}(1,.5,e,!1),!0);case"sphere":return r([{tesselation:0,minScreenSpaceRadius:0},{tesselation:1,minScreenSpaceRadius:8},{tesselation:2,minScreenSpaceRadius:16},{tesselation:3,minScreenSpaceRadius:50},{tesselation:4,minScreenSpaceRadius:250}],e=>function(e,t,r){const i=e;let n,s;if(r)n=[0,-1,0,1,0,0,0,0,1,-1,0,0,0,0,-1,0,1,0],s=[0,1,2,0,2,3,0,3,4,0,4,1,1,5,2,2,5,3,3,5,4,4,5,1];else{const e=i*(1+Math.sqrt(5))/2;n=[-i,e,0,i,e,0,-i,-e,0,i,-e,0,0,-i,e,0,i,e,0,-i,-e,0,i,-e,e,0,-i,e,0,i,-e,0,-i,-e,0,i],s=[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1]}for(let t=0;t<n.length;t+=3)ge(n,t,e/me(n,t));let o={};function a(t,r){t>r&&([t,r]=[r,t]);const i=t.toString()+"."+r.toString();if(o[i])return o[i];let s=n.length;return n.length+=3,function(e,t,r,i,n,s=t){(n=n||e)[s]=e[t]+r[i],n[s+1]=e[t+1]+r[i+1],n[s+2]=e[t+2]+r[i+2]}(n,3*t,n,3*r,n,s),ge(n,s,e/me(n,s)),s/=3,o[i]=s,s}for(let e=0;e<t;e++){const e=s.length,t=new Array(4*e);for(let r=0;r<e;r+=3){const e=s[r],i=s[r+1],n=s[r+2],o=a(e,i),l=a(i,n),c=a(n,e),u=4*r;t[u]=e,t[u+1]=o,t[u+2]=c,t[u+3]=i,t[u+4]=l,t[u+5]=o,t[u+6]=n,t[u+7]=c,t[u+8]=l,t[u+9]=o,t[u+10]=l,t[u+11]=c}s=t,o={}}const l=(0,de.Wz)(n);for(let e=0;e<l.length;e+=3)ye(l,e);return[["position",new ee.n((0,de.Wz)(n),s,3,!0)],["normal",new ee.n(l,s,3,!0)]]}(.5,e,!0));case"cube":case"inverted-cone":case"cylinder":case"tetrahedron":case"diamond":throw new Error("not implemented");default:return}}function De(e,t){let r=e.get(t);return r&&!r.exclusive&&(r={...r,exclusive:!0,data:(0,Oe.S)(r.data)},e.set(t,r)),r}const Fe=[{tesselation:6,minScreenSpaceRadius:0},{tesselation:18,minScreenSpaceRadius:7},{tesselation:64,minScreenSpaceRadius:65}];var je=r(2495),Ve=r(74810);class ze{constructor(e,t){this._loaded=!1,this._loadingPromise=null,this._primitiveMaterialId=null,this._lodRendererId=null,this._context=null,this._symbolLayer=null,this._primitive=null,this._context=t,this._symbolLayer=e}_destroy(){this._lodRendererId=null,this._primitiveMaterialId=null}get loaded(){return this._loaded}get _isPrimitive(){return null!=this._primitive}load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}async _load(){const e=this._context.renderCommandContext,t=this._getLayerOpacity();let r={usePBR:!0,isSchematic:!0,mrrFactors:Ve.Bt,ambient:S.Un,diffuse:S.Un,hasSlicePlane:!1,castShadows:!0,layerOpacity:t,offsetTransparentBackfaces:!1,screenSizePerspective:{}};if(r.externalColor=A.Un,r.instanced=!0,this._isPrimitive){const e=new je.fs;e.layerOpacity=t,r={...r,cullFace:Le((0,je.ty)(e))}}const i=await e.createMaterial({type:"default",parameters:r}),n=this._symbolLayer.resource;this._primitive=n&&function(e){switch(e){case"sphere":case"cube":case"diamond":case"cylinder":case"cone":case"inverted-cone":case"tetrahedron":return!0}return!1}(n?.primitive)?n.primitive:ae.r;const s=Re(this._primitive,i);this._lodRendererId=await e.createLodRenderer(s),this._primitiveMaterialId=i,this._loaded=!0}async createDestroyCommand(){const{_lodRendererId:e,_primitiveMaterialId:t,_context:r}=this,i=r.renderCommandContext,n=[];return null!=e&&n.push(i.destroyLodRenderer(e)),null!=t&&n.push(i.destroyMaterial(t)),new g(i,i.mergeRenderCommandBuffers(n),[()=>this._destroy()])}async createAddCommand(e){const t=this._context,{renderCommandContext:r,mainThreadDelegate:i}=t;if(null==this._lodRendererId)throw new Error("expected lod renderer id to not be null");const{featureCount:n}=e;if(0===n)return t.createPipelineCommand();const s=this._isPrimitive,o=this._primitive||ae.r,a=(0,E.vt)((0,le.Fq)(o)),l=(0,S.ci)((0,E.Ej)(a)),c=(0,S.ci)((0,le.Bb)(l,{isPrimitive:s,width:100,depth:null,height:null})),u=new Float64Array(16*n),d=new Float64Array(16*n),h=N(e),f=await i.applyElevationAlignmentTo(h);for(let e=0;e<n;++e){const t=e,r=f[3*e+0],i=f[3*e+1],n=f[3*e+2],s=this._computeGlobalTransform(r,i,n,this._context.viewSpatialReference,qe),o=this._computeLocalTransform(c,l,Ne);this._writeMatrixToTypedBuffer(u,t,o),this._writeMatrixToTypedBuffer(d,t,s)}const p=U(e),m=new Uint8Array(n);e.getVisibilityArray(m);const y={featureIds:new Uint32Array(p),visibility:m,localTransforms:u,globalTransforms:d};return t.createPipelineCommand(r.addLodInstances(this._lodRendererId,e.id,y))}async createRemoveCommand(e){const{_context:t,_lodRendererId:r}=this,i=t.renderCommandContext;return null==r?t.createPipelineCommand():t.createPipelineCommand(i.removeLodInstances(r,e))}async createUpdateVisibilityCommand(e){const{_lodRendererId:t,_context:r}=this,i=r.renderCommandContext;if(null==t)return r.createPipelineCommand();const n=new Uint8Array(e.featureCount);return e.getVisibilityArray(n),r.createPipelineCommand(i.updateVisibility(t,e.id,n))}async createUpdateLayerViewOpacityCommand(e){const{_context:t}=this,r=t.renderCommandContext,i=this._primitiveMaterialId;if(null==i)return t.createPipelineCommand();const n=this._getLayerOpacity();let s={layerOpacity:n};if(this._isPrimitive){const e=new je.fs;e.layerOpacity=n,s={...s,cullFace:Le((0,je.ty)(e))}}return t.createPipelineCommand(r.updateMaterial({type:"default",materialId:i,parameters:s}))}async createUpdateElevationCommand(e){const{_context:t,_lodRendererId:r}=this,{renderCommandContext:i,mainThreadDelegate:n}=t,{featureCount:s,id:o}=e;if(null==r||0===s)return t.createPipelineCommand();const a=new Float64Array(16*s),l=N(e),c=await n.applyElevationAlignmentTo(l);for(let e=0;e<s;++e){const t=e,r=c[3*e+0],i=c[3*e+1],n=c[3*e+2],s=this._computeGlobalTransform(r,i,n,this._context.viewSpatialReference,qe);this._writeMatrixToTypedBuffer(a,t,s)}return t.createPipelineCommand(i.updateLodInstancesData(r,o,a))}_writeMatrixToTypedBuffer(e,t,r){let i=16*t;for(let t=0;t<16;t++)e[i++]=r[t]}_computeGlobalTransform(e,t,r,i,n){return Ue[0]=e,Ue[1]=t,Ue[2]=r,(0,oe.l)(i,Ue,n,this._context.renderSpatialReference),n}_computeLocalTransform(e,t,r){return(0,P.D_)(r),this._applyObjectScale(e,t,r),r}_applyObjectScale(e,t,r){const i=function(e=S.Un,t,r,i=1){const n=new Array(3);if(null==t||null==r)n[0]=1,n[1]=1,n[2]=1;else{let i,s=0;for(let o=2;o>=0;o--){const a=e[o],l=null!=a,c=0===o&&!i&&!l,u=r[o];let d;"symbol-value"===a||c?d=0!==u?t[o]/u:1:l&&"proportional"!==a&&isFinite(a)&&(d=0!==u?a/u:1),null!=d&&(n[o]=d,i=d,s=Math.max(s,Math.abs(d)))}for(let e=2;e>=0;e--)null==n[e]?n[e]=i:0===n[e]&&(n[e]=.001*s)}for(let e=2;e>=0;e--)n[e]/=i;return(0,S.ci)(n)}(e,e,t,this._context.renderCoordsHelper.unitInMeters);1===i[0]&&1===i[1]&&1===i[2]||(0,P.hs)(r,r,i)}_getLayerOpacity(){return this._context.layerViewInfo.fullOpacity}}function Le(e){return e?0:2}const Ue=(0,S.vt)(),Ne=(0,C.vt)(),qe=(0,C.vt)();class He{constructor(e,t){this._symbols=new Array,this._featureDataPartitioning=new Map,this._loaded=!1,this._loadingPromise=null,this._renderer=null,this._context=t,this._renderer=e}async load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}async _load(){this._symbols[0]=new te(x(),this._context),this._symbols[1]=new ze(new v.A,this._context),this._loaded=!0}get loaded(){return this._loaded}async createAddCommand(e){const t=this._context,r=this._partition(e),i=await Promise.all(r.map(async({index:e,features:t})=>{const r=await this._provisionSymbol(e);return await(r?.createAddCommand(t))})),n=t.joinPipelineCommands(i);return n.appendPipelineStateCommand(()=>this._featureDataPartitioning.set(e.id,r)),n}async createRemoveCommand(e){const{_featureDataPartitioning:t,_context:r}=this,i=r.renderCommandContext,n=t.get(e);if(null==n)return new g(i,i.createRenderCommandBuffer(),[]);const s=await Promise.all(n.map(async({index:e,features:t})=>{const r=this._getLoadedSymbol(e);return await(r?.createRemoveCommand(t.id))})),o=r.joinPipelineCommands(s);return o.appendPipelineStateCommand(()=>t.delete(e)),o}async createUpdateVisibilityCommand(e){const{_featureDataPartitioning:t,_context:r}=this,i=r.renderCommandContext,n=t.get(e.id);if(null==n)return new g(i,i.createRenderCommandBuffer(),[]);const s=await Promise.all(n.map(async({index:e,features:t})=>{const r=this._getLoadedSymbol(e);return await(r?.createUpdateVisibilityCommand(t))}));return r.joinPipelineCommands(s)}async createUpdateLayerViewOpacityCommand(e){const t=this._context,r=[];for(let t=0;t<this._symbols.length;++t){const i=this._symbols[t];null!=i&&i.loaded&&r.push(i.createUpdateLayerViewOpacityCommand(e))}const i=await Promise.all(r);return t.joinPipelineCommands(i)}async createUpdateElevationCommand(){const{_featureDataPartitioning:e,_context:t}=this,r=[];for(const t of e.values()){const e=t.map(async({index:e,features:t})=>{const r=this._getLoadedSymbol(e);return await(r?.createUpdateElevationCommand(t))});r.push(...e)}const i=await Promise.all(r);return t.joinPipelineCommands(i)}async createDestroyCommand(){const{_featureDataPartitioning:e,_context:t}=this,r=[];for(const t of e.keys())r.push(this.createRemoveCommand(t));for(const e of this._symbols)r.push(e.createDestroyCommand());const i=await Promise.all(r);return t.joinPipelineCommands(i)}async _provisionSymbol(e){if(null==e)return null;const t=this._symbols[e];return t?(t.loaded||await t.load(),t):null}_getLoadedSymbol(e){if(null==e)return null;const t=this._symbols[e];return null!=t&&t.loaded?t:null}_partition(e){const t=U(e);if(null==t)throw new Error("unable to fetch objectIds");const{featureCount:r}=e,i=[[],[]];for(let e=0;e<r;++e)i[t[e]%2].push(e);return i.map((t,r)=>new Ge(r,e.subset(new Uint32Array(t)))).filter(e=>e.features.featureCount>0)}}class Ge{constructor(e,t){this.index=e,this.features=t}}class ke{constructor(e,t,r,i,n,s,o){this.viewSpatialReference=e,this.renderSpatialReference=t,this.mainThreadDelegate=r,this.renderCoordsHelper=i,this.renderCommandContext=n,this.layerInfo=s,this.layerViewInfo=o,this.symbolRendererFactory=new $e(this)}createPipelineCommand(e=this.renderCommandContext.createRenderCommandBuffer(),t=[]){return new g(this.renderCommandContext,e,t)}joinPipelineCommands(e){return 0===e.length?this.createPipelineCommand():e.filter(e=>null!=e).reduce((e,t)=>(e.append(t),e))}}class $e{constructor(e){this.context=e}createSymbolRendererFromJSON(e){const t=(0,y.L)(e??Ye)??void 0;if(!t)throw new Error("Failed to create renderer");const r=t.type;switch(r){case"simple":return new se(t,this.context);case"unique-value":return new He(t,this.context);default:return console.warn(`Unable to create symbolrenderer for renderer of ${r}`),this.createSymbolRendererFromJSON(Ye)}}createSymbolRendererFromSymbol(e){const t=e?.type;switch(t){case"point-3d":return new ne(e,this.context);case"picture-marker":case"simple-marker":return new te(x(),this.context);default:return console.warn(`Unable to create symbolrenderer for symbol of ${t}`),null}}createSymbolRendererFromSymbolLayer(e){const t=e.type;return"icon"===t?new te(e,this.context):(console.warn(`Unable to create symbolrenderer for symbolLayer of ${t}`),null)}}const Ye={type:"simple"};var Ze=r(69622),Xe=r(60999),We=r(32587),Qe=r(76030),Je=r(24326);function Ke(e=""){return`${e}${(0,Je.c)()}`}new Float64Array(3);class et{constructor(e,t){this._parent=e,this._subsetIndices=t,this.id=Ke(`featureDataSubset-${e.id}-`)}get tileId(){return this._parent.tileId}get extent(){return this._parent.extent}get featureCount(){return this._subsetIndices.length}get usedMemory(){return this._parent.usedMemory+Me.qK+this._subsetIndices.byteLength}get isFullyEnabled(){for(const e of this._subsetIndices)if(!this._parent.getEnabled(e))return!1;return!0}getObjectId(e){return this._parent.getObjectId(this._subsetIndices[e])}getAttribute(e,t){return this._parent.getAttribute(this._subsetIndices[e],t)}getAttributeAsTimestamp(e,t){return this._parent.getAttribute(this._subsetIndices[e],t)}getAttributes(e){return this._parent.getAttributes(this._subsetIndices[e])}getCoordinates(e,t,r){return this._parent.getCoordinates(this._subsetIndices[e],t,r)}getOptimizedGeometry(e){return this._parent.getOptimizedGeometry(this._subsetIndices[e])}getCentroid(e,t){return this._parent.getCentroid(this._subsetIndices[e],t)}getBounds(e){return this._parent.getBounds(this._subsetIndices[e])}getBoundingBox(e){return this._parent.getBoundingBox(this._subsetIndices[e])}getObjectIdsArray(e,t,r){return this._parent.getObjectIdsArray(e,this._translatedIndices(t),r)}getCoordinatesArray(e,t,r){return this._parent.getCoordinatesArray(e,this._translatedIndices(t),r)}objectIds(e){return this._parent.objectIds(this._translatedIndices(e))}subset(e){const{_subsetIndices:t}=this,r=new Uint32Array(e.length);for(let i=0;i<r.length;++i)r[i]=t[e[i]];return new et(this._parent,r)}disableObjectIds(e){if(0===e.size)return;const{featureCount:t}=this,r=new Array;for(let i=0;i<t;++i)this.getEnabled(i)&&e.has(this.getObjectId(i))&&r.push(i);if(0!==r.length)for(const e of r)this.setEnabled(e,!1)}setEnabled(e,t){this._parent.setEnabled(this._subsetIndices[e],t)}getEnabled(e){return this._parent.getEnabled(this._subsetIndices[e])}enableAll(){const{_subsetIndices:e,_parent:t}=this;for(const r of e)t.setEnabled(r,!0)}getVisibilityArray(e,t,r){return this._parent.getVisibilityArray(e,this._translatedIndices(t),r)}enabledObjectIds(e){return this._parent.enabledObjectIds(this._translatedIndices(e))}*_translatedIndices(e){const{_subsetIndices:t}=this;if(null!=e)for(const r of e)yield t[r];else yield*t}}class tt{constructor(e){this._tile=e,this.id=Ke(`featureData-${e.id}-`),this._enabled=new Array(e.featureCount).fill(!0)}get tileId(){return this._tile.id}get featureCount(){return this._tile.featureCount}get usedMemory(){return Me.qK+(0,Me.$B)(this.id)}get extent(){return this._tile.descriptor.extent}get isFullyEnabled(){return this._enabled.every(e=>e)}getObjectId(e){return this._tile.getObjectId(e)}getAttribute(e,t){return this._tile.getAttribute(e,t)}getAttributeAsTimestamp(e,t){return this._tile.getAttribute(e,t)}getAttributes(e){return this._tile.getAttributes(e)}getCoordinates(e,t,r){return this._tile.getCoordinates(e,t,r)}getOptimizedGeometry(e){return this._tile.getOptimizedGeometry(e)}getCentroid(e,t){return this._tile.getCentroid(e,t)}getBounds(e){return this._tile.getBounds(e)}getBoundingBox(e){return this._tile.getBoundingBox(e)}getObjectIdsArray(e,t,r){return this._tile.getObjectIdsArray(e,t,r)}getCoordinatesArray(e,t,r){return this._tile.getCoordinatesArray(e,t,r)}objectIds(e){return this._tile.objectIds(e)}subset(e){return new et(this,e)}disableObjectIds(e){if(0===e.size)return;const{_enabled:t}=this,r=new Array;for(const i of this._allFeatureIndices())t[i]&&e.has(this.getObjectId(i))&&r.push(i);if(0!==r.length)for(const e of r)t[e]=!1}setEnabled(e,t){this._enabled[e]=t}getEnabled(e){return this._enabled[e]}enableAll(){this._enabled.fill(!0)}getVisibilityArray(e,t=this._allFeatureIndices(),r=0){const{_enabled:i}=this;for(const n of t)e[r++]=Number(i[n]);return r}*enabledObjectIds(e=this._allFeatureIndices()){const{_enabled:t}=this;for(const r of e)t[r]&&(yield this.getObjectId(r))}*_allFeatureIndices(){const{featureCount:e}=this;for(let t=0;t<e;++t)yield t}}let rt=class extends Ze.A{constructor(e){super(e),this.extent=null,this._tileHandles=new We.A,this._wanted=new We.A,this._updateRequested=!1,this._synchronizationTask=null,this._requestedTiles=new Array}destroy(){this._tileHandles.clear(),this._wanted.clear()}get updating(){return this._updateRequested||!(this._synchronizationTask?.finished??1)}get _boundingRect(){const{extent:e}=this;return null==e?null:(0,M.VY)(e)}get _missingTiles(){const e=new Array,t=this._wanted,r=this._tileHandles;for(const i of t.values())null==r.get(i.id)?.featureData&&e.push(i);return e}onTileTreeChange({tiles:e}){this._requestedTiles=e,this._scheduleTilesSync()}_scheduleTilesSync(){if(this._updateRequested)return;this._updateRequested=!0;const e=this._synchronizationTask,t=(0,Xe.UT)(async()=>{try{await(0,o.C_)(()=>e?.finished??!0),await(0,Qe.NO)(),this._updateRequested=!1,await this._synchronizeTiles()}finally{this._synchronizationTask===t&&(this._synchronizationTask=null)}});this._synchronizationTask=t}async _synchronizeTiles(){const e=this._requestedTiles,t=this._tileHandles,r=new Array;for(const i of e)t.has(i.id)||r.push(i);const i=new Array;for(const r of t.values()){const{id:t}=r;e.every(e=>e.id!==t)&&i.push(r.descriptor)}const n=this._tileHandles,{_boundingRect:s}=this,o=null!=s?r.filter(e=>!e.extent||(0,M.HY)(s,e.extent)):r,a=this._wanted,l=new Array;for(const{id:e}of i)a.delete(e);for(const e of o)a.set(e.id,e);const c=this._missingTiles;for(const e of i){const{id:t}=e;if(c.some(t=>it(t,e)||it(e,t)))continue;const r=n.get(t);null!=r&&l.push(this._removeTile(r))}for(const e of o)l.push(this._addTile(e));const u=await Promise.allSettled(l);for(const e of u)"rejected"===e.status&&console.error(e.reason)}forEachTile(e){for(const t of this._tileHandles.values()){const r=t.featureData;null!=r&&e(r)}}*loadedTiles(){for(const e of this._tileHandles.values()){const t=e.featureData;null!=t&&(yield t)}}async _removeTile(e){e.loadTask.abort(),this._tileHandles.delete(e.id),this._validate();const{featureData:t}=e;if(null!=t){const e={stack:[],error:void 0,hasError:!1};try{(0,i.mS)(e,await this.tileLocks.lock([t.tileId]),!1);const r=await this.createRemoveCommand(t.id);await(r?.execute())}catch(t){e.error=t,e.hasError=!0}finally{(0,i.hk)(e)}}}async _addTile(e){const{_tileHandles:t}=this,r=t.get(e.id);if(null!=r){if(!st(r)||r.featureData.isFullyEnabled)return;return r.featureData.enableAll(),void await this._onTileLoad(r)}const i=new nt(e,(0,Xe.UT)(async t=>{const r=await this.loadTile(e,t);return(0,s.Te)(t),new tt(r)}));this._tileHandles.set(i.id,i);try{await i.loadTask.promise}catch(e){return void(0,s.jH)(e)}(function(e){if(!st(e))throw new Error})(i),await this._onTileLoad(i)}async _onTileLoad(e){const t={stack:[],error:void 0,hasError:!1};try{const{_wanted:r,_tileHandles:n,_missingTiles:s}=this,o=e.descriptor,a=new Array,l=new Array,c=new Array,u=new Set;for(const t of n.values()){if(t===e)continue;const{descriptor:i,id:c}=t;if(!r.has(c)&&!s.some(e=>it(e,i)||it(i,e))){n.delete(c),t.loadTask.abort();const{featureData:e}=t;null!=e&&a.push(e);continue}if(st(t)){if(it(o,i)){const e=t.featureData;for(const t of e.objectIds())u.add(t)}if(it(i,o)){const{featureData:e}=t;l.push(e)}}}u.size>0&&(e.featureData.disableObjectIds(u),this._validateRemoval(e.featureData,u)),this._validate(),c.push(e.featureData);const d=[...c,...a,...l].map(e=>e.tileId);if((0,i.mS)(t,await this.tileLocks.lock(d),!1),0!==l.length){const t=e.featureData,r=new Set(t.objectIds());for(const e of l)e.disableObjectIds(r),this._validateRemoval(e,r)}const h=a.map(e=>this.createRemoveCommand(e.id)),f=c.map(e=>this.createAddCommand(e)),p=l.map(e=>this.createUpdateCommand(e)),m=function(e){return 0===e.length?null:e.reduce((e,t)=>(e.append(t),e))}((await Promise.all([...h,...f,...p])).filter(Ee.Ru));await(m?.execute())}catch(e){t.error=e,t.hasError=!0}finally{(0,i.hk)(t)}}_validate(){if(!(0,l.A)("feature-pipeline-3d-test-validation"))return;const e=new Array;for(const t of this._tileHandles.values()){if(!st(t))continue;const{featureData:r}=t;e.push({featureData:r,objectIds:new Set(r.enabledObjectIds())})}for(let t=0;t<e.length;++t){const{featureData:r,objectIds:i}=e[t];for(let n=t+1;n<e.length;++n){const{featureData:t,objectIds:s}=e[n];for(const e of s)if(i.has(e))throw new Error(`${r.id} and ${t.id} both contain ${e}.`)}}}_validateRemoval(e,t){if((0,l.A)("feature-pipeline-3d-test-validation"))for(const r of e.enabledObjectIds())if(t.has(r))throw new Error(`Failed to remove ${r} from ${e.id}!`)}};function it({lij:[e,t,r]},{lij:[i,n,s]}){const o=i-e;return o>=0&&t===n>>o&&r===s>>o}(0,i.Cg)([(0,a.MZ)()],rt.prototype,"updating",null),(0,i.Cg)([(0,a.MZ)({constructOnly:!0})],rt.prototype,"loadTile",void 0),(0,i.Cg)([(0,a.MZ)({constructOnly:!0})],rt.prototype,"createAddCommand",void 0),(0,i.Cg)([(0,a.MZ)({constructOnly:!0})],rt.prototype,"createRemoveCommand",void 0),(0,i.Cg)([(0,a.MZ)({constructOnly:!0})],rt.prototype,"createUpdateCommand",void 0),(0,i.Cg)([(0,a.MZ)({constructOnly:!0})],rt.prototype,"tileLocks",void 0),(0,i.Cg)([(0,a.MZ)()],rt.prototype,"extent",void 0),(0,i.Cg)([(0,a.MZ)()],rt.prototype,"_boundingRect",null),(0,i.Cg)([(0,a.MZ)()],rt.prototype,"_missingTiles",null),(0,i.Cg)([(0,a.MZ)()],rt.prototype,"_updateRequested",void 0),(0,i.Cg)([(0,a.MZ)()],rt.prototype,"_synchronizationTask",void 0),rt=(0,i.Cg)([(0,u.$)("esri.views.3d.layers.graphics.pipeline.Tile3DManager")],rt);class nt{constructor(e,t){this.descriptor=e,this.loadTask=t}get id(){return this.descriptor.id}get featureData(){return this.loadTask.value}}function st(e){return null!=e.featureData}var ot=r(36563);class at{constructor(){this._previousActions=new Map}async lock(e){const{_previousActions:t}=this,r=e.map(e=>t.get(e)).filter(Ee.Ru),i=Promise.allSettled(r),n=(0,s.Tw)(),o=(0,ot.hA)(()=>n.resolve()),a=n.promise.finally(()=>{for(const r of e)t.get(r)===a&&t.delete(r)});for(const r of e)t.set(r,a);return await i,(0,ot.Bf)(o)}}var lt=r(75503),ct=r(27647);class ut{constructor(e,t){this._index=e,this._view=t}get usedMemory(){return Me.qK+Me.RS}getObjectId(){return this._view.getObjectId(this._index)}getAttribute(e){return this._view.getAttribute(this._index,e)}getAttributeAsTimestamp(e){return this._view.getAttributeAsTimestamp(this._index,e)}getAttributes(){return this._view.getAttributes(this._index)}getOptimizedGeometry(){return this._view.getOptimizedGeometry(this._index)}getCentroid(e){return this._view.getCentroid(this._index,e)}getBounds(){return this._view.getBounds(this._index)}getBoundingBox(){return this._view.getBoundingBox(this._index)}cloneWithGeometry(e){return new dt(this._index,this._view,e)}}class dt extends ut{constructor(e,t,r){super(e,t),this._geometryOverride=r}getOptimizedGeometry(){return this._geometryOverride}getCentroid(e){return(0,ct.Q)(this._geometryOverride)}}class ht{constructor(e,t){this.featureData=e,this.bounds=t}}class ft{constructor(){this._tileBounds=new Map,this.events=new n.bk,this.featureAdapter=pt.shared}get usedMemory(){return Me.qK+Me.qK*this._tileBounds.size}addTile(e){const{featureCount:t}=e;if(0===t)return;const r=new lt.wq(9,t=>e.getBounds(t)),i=new Array;for(let e=0;e<t;++e)i[e]=e;r.load(i),this._tileBounds.set(e.id,new ht(e,r)),this.events.emit("changed")}removeTile(e){this._tileBounds.delete(e),this.events.emit("changed")}clear(){this._tileBounds.clear(),this.events.emit("changed")}forEach(e){for(const{featureData:t,bounds:r}of this._tileBounds.values())r.all(r=>{t.getEnabled(r)&&e(new ut(r,t))})}forEachInBounds(e,t){mt.minX=e[0],mt.minY=e[1],mt.maxX=e[2],mt.maxY=e[3];for(const{featureData:e,bounds:r}of this._tileBounds.values())r.search(mt,r=>{e.getEnabled(r)&&t(new ut(r,e))})}forEachBounds(e,t){for(const r of e)t(r.getBoundingBox())}getFullExtent(e){let t=1/0,r=1/0,i=-1/0,n=-1/0;for(const{bounds:e}of this._tileBounds.values()){const{minX:s,minY:o,maxX:a,maxY:l}=e.toJSON();t=Math.min(t,s),r=Math.min(r,o),i=Math.min(i,a),n=Math.min(n,l)}return{xmin:t,ymin:r,xmax:i,ymax:n,spatialReference:e}}}class pt{static{this.shared=new pt}getObjectId(e){return e.getObjectId()}getAttribute(e,t){return e.getAttribute(t)}getAttributeAsTimestamp(e,t){return e.getAttributeAsTimestamp(t)}getAttributes(e){return e.getAttributes()}getGeometry(e){return e.getOptimizedGeometry()}getCentroid(e,t){return e.getCentroid(t)}cloneWithGeometry(e,t){return e.cloneWithGeometry(t)}}const mt=new lt.EC;var yt=r(80893);class gt{constructor(e,t,r){this.descriptor=e,this._pages=t,this._pageSize=r;const i=Me.ez+t.reduce((e,{usedMemory:t})=>e+t,0),n=3*Me.RS;this.usedMemory=Me.qK+i+n,this.featureCount=t.reduce((e,t)=>e+t.featureCount,0)}get id(){return this.descriptor.id}getObjectId(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getObjectId(r)}getAttribute(e,t){const{pageIndex:r,featurePageIndex:i}=this._translateIndex(e);return this._pages[r].getAttribute(i,t)}getAttributeAsTimestamp(e,t){const{pageIndex:r,featurePageIndex:i}=this._translateIndex(e);return this._pages[r].getAttributeAsTimestamp(i,t)}getAttributes(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getAttributes(r)}getCoordinates(e,t,r){const{pageIndex:i,featurePageIndex:n}=this._translateIndex(e);this._pages[i].getCoordinates(n,t,r)}getOptimizedGeometry(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getOptimizedGeometry(r)}getCentroid(e,t){const{pageIndex:r,featurePageIndex:i}=this._translateIndex(e);return this._pages[r].getCentroid(i,t)}getBounds(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getBounds(r)}getBoundingBox(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getBoundingBox(r)}getObjectIdsArray(e,t=this._allFeatureIndices(),r=0){let i=r;for(const{page:r,indices:n}of this._batchPageIndices(t))i=r.getObjectIdsArray(e,n,i);return i}getCoordinatesArray(e,t=this._allFeatureIndices(),r=0){let i=r;for(const{page:r,indices:n}of this._batchPageIndices(t))i=r.getCoordinatesArray(e,n,i);return i}*objectIds(e=this._allFeatureIndices()){for(const{page:t,indices:r}of this._batchPageIndices(e))for(const e of t.objectIds(r))yield e}*_allFeatureIndices(){const{featureCount:e}=this;for(let t=0;t<e;++t)yield t}_translateIndex(e){const{_pageSize:t}=this;return{pageIndex:Math.floor(e/t),featurePageIndex:e%t}}*_batchPageIndices(e){const t=new Array;{let r=0,i=new Array;for(const n of e){const{pageIndex:e,featurePageIndex:s}=this._translateIndex(n);r!==e&&(0!==i.length&&t.push({pageIndex:r,indices:i}),r=e,i=[]),i.push(s)}0!==i.length&&t.push({pageIndex:r,indices:i})}const{_pages:r}=this;for(const{pageIndex:e,indices:i}of t)yield{page:r[e],indices:i}}}var bt=r(49186),_t=r(51624),vt=r(62577),wt=r(92722),xt=r(95466),Ct=r(53655);class St{constructor(e){this._reader=new _t.A(new Uint8Array(e),new DataView(e)),this._index=function(e){for(;e.next();){if(2===e.tag())return At(e.getMessage());e.skip()}It()}(this._reader)}get featureCount(){return this._index.featureIndices.length}get exceededTransferLimit(){return this._index.exceededTransferLimit}get usedMemory(){return this._reader.usedMemory}getObjectId(e){return this.getAttribute(e,this._index.objectIdFieldName)}getAttribute(e,t){const{_index:{fieldsIndex:r,attributeIndices:i}}=this,n=r.get(t)?.index;if(null==n)return;const s=i[e*r.fields.length+n],o=this._reader;return o.move(s),Pt(o)}getAttributeAsTimestamp(e,t){const r=this.getAttribute(e,t);return"string"==typeof r?new Date(r).getTime():"number"==typeof r||null==r?r:null}getAttributes(e){const{_index:{fieldsIndex:t,attributeIndices:r}}=this,i=e*t.fields.length,n=this._reader,s={};for(const e of t.fields){const t=r[i+e.index];n.move(t),s[e.name]=Pt(n)}return s}getCoordinates(e,t,r=0){const i=this._reader,{transform:n,featureIndices:s}=this._index,{scale:o,translate:a}=n;i.move(s[e]),this._readCoordinates(o,a,t,r)}getOptimizedGeometry(e){const t=(0,S.vt)();return this.getCoordinates(e,t),new wt.A([],t,!0,!1)}getCentroid(e,{hasZ:t,hasM:r}){this.getCoordinates(e,Bt);const[i,n,s]=Bt,o=[i,n];return t&&(o[3]=s),r&&(o[t?4:3]=0),new wt.A([],o,t,r)}getBounds(e){this.getCoordinates(e,Bt);const[t,r]=Bt,i=new lt.EC;return i.minX=t,i.minY=r,i.maxX=t,i.maxY=r,i}getBoundingBox(e){this.getCoordinates(e,Bt);const[t,r,i]=Bt;return(0,E.fA)(t,r,i,t,r,i)}getObjectIdsArray(e,t=this._allFeatureIndices(),r=0){const i=this._reader,{objectIdFieldName:n,attributeIndices:s,fieldsIndex:o}=this._index,a=o.get(n).index,l=o.fields.length;for(const n of t){const t=s[n*l+a];i.move(t),e[r++]=Pt(i)}return r}getCoordinatesArray(e,t=this._allFeatureIndices(),r=0){const i=this._reader,{transform:n,featureIndices:s}=this._index,{scale:o,translate:a}=n;for(const n of t){const t=s[n];i.move(t),r=this._readCoordinates(o,a,e,r)}return r}*objectIds(e=this._allFeatureIndices()){const t=this._reader,{objectIdFieldName:r,attributeIndices:i,fieldsIndex:n}=this._index,s=n.get(r).index,o=n.fields.length;for(const r of e){const e=i[r*o+s];t.move(e),yield Pt(t)}}*_allFeatureIndices(){const{featureCount:e}=this;for(let t=0;t<e;++t)yield t}_readCoordinates([e,t,r],[i,n,s],o,a){const l=this._reader,c=l.getLength(),u=l.pos()+c;for(;l.pos()<u&&l.next();)switch(l.tag()){case 2:{const c=l.getLength(),u=l.pos()+c;for(;l.pos()<u&&l.next();)3===l.tag()?(l.getUInt32(),o[a++]=i+e*l.getSInt64(),o[a++]=n+t*l.getSInt64(),o[a++]=s+r*l.getSInt64()):l.skip();break}default:l.skip()}return a}}function At(e){for(;e.next();){if(1===e.tag())return Tt(e.getMessage());e.skip()}It()}function Tt(e){let t,r,i=!1,n=!1,s=0;const o=new Array,a=new Array,l=new Array;for(;e.next();)switch(e.tag()){case 1:r=e.getString();break;case 7:0!==e.getEnum()&&It();break;case 9:i=e.getBool()??!1;break;case 12:t=(0,vt.Q1)(e.processMessage(Ct.ae));break;case 13:{const t=e.processMessage(Ct.cn);t.index=s++,o.push(t);break}case 15:{a.push(e.pos());const t=e.getUInt32(),r=e.pos()+t;for(;e.pos()<r&&e.next();)1===e.tag()?(l.push(e.pos()),e.skip()):e.skip();break}case 10:n=e.getBool()??!1;break;default:e.skip()}const c=new xt.A(o);return null!=t&&n&&null!=r&&c.has(r)||It(),{transform:t,exceededTransferLimit:i,fieldsIndex:c,objectIdFieldName:r,featureIndices:a,attributeIndices:l}}function It(){const e=new bt.A("pbf-parsing-failed","Error while parsing PBF",new Error);throw console.error(e),e}function Pt(e){const t=e.getLength(),r=e.pos()+t;for(;e.pos()<r&&e.next();)switch(e.tag()){case 1:return e.getString();case 2:return e.getFloat();case 3:return e.getDouble();case 4:return e.getSInt32();case 5:return e.getUInt32();case 6:return e.getInt64();case 7:return e.getUInt64();case 8:return e.getSInt64();case 9:return e.getBool();default:return e.skip(),null}return null}const Bt=(0,S.vt)();class Et{constructor(e,t,r,i,n){this.spatialReference=e,this.url=r,this.objectIdField=i,this.capabilities=n;const{supportsMaxRecordCountFactor:s,maxRecordCount:o}=this.capabilities.query,a=s?4:1,l=(o??8e3)*a;this._pageSize=Math.min(8e3,l);const c=t.clone();c.cacheHint=!0,c.resultType="tile",c.outSpatialReference=e,c.returnGeometry=!0,c.returnZ=!0,c.maxRecordCountFactor=a,c.num=this._pageSize,c.outFields=[i],this._baseQuery=c}async fetch(e,t){const{spatialReference:r,_pageSize:i}=this,n=(0,M.w1)(e.extent,r),o=this._baseQuery.clone();o.geometry=n;const a=new Array;let l=0,c=!1,u=1;for(;!c;){const e=[];for(let r=0;r<u;++r)e.push(this._fetchPage(o,l++,t));const r=await Promise.all(e);(0,s.Te)(t);for(const e of r){const t=0!==e.featureCount;c||=!e.exceededTransferLimit||!t,t&&a.push(e)}u=Math.min(u+1,4)}return new gt(e,a,i)}async _fetchPage(e,t,r){const i=e.clone();i.start=t*this._pageSize;const n=await(0,yt.kS)(this.url,i,{signal:r});return(0,s.Te)(r),new St(n)}}var Mt=r(29920),Ot=r(77690),Rt=r(29242);var Dt=r(13030),Ft=r(78662),jt=r(49255),Vt=r(40268),zt=r(25634),Lt=r(11725),Ut=r(77194),Nt=r(59907),qt=r(43616),Ht=r(13259),Gt=r(4431),kt=r(1843),$t=r(13840),Yt=r(42958),Zt=r(16943),Xt=r(33524),Wt=r(90644),Qt=r(85079);let Jt=class extends Yt.w{constructor(e,t){super(e,t,(0,Qt._u)([er,ir()].map(Gt.U))),this.shader=new $t.r(Ht.H,()=>r.e(8241).then(r.bind(r,48241))),this.primitiveType=t.occlusionPass?k.WR.POINTS:k.WR.TRIANGLE_STRIP}initializePipeline(e){const{oitPass:t,hasPolygonOffset:r,draped:i,output:n,depthTestEnabled:s,occlusionPass:o}=e,a=s&&!i&&!(1===t)&&!o&&!(9===n);return(0,Wt.Ey)({blending:(0,jt.RN)(n)?(0,Xt.Yf)(t,!0):null,depthTest:s&&!i?{func:515}:null,depthWrite:a?Wt.Uy:null,drawBuffers:(0,Xt.m6)(t,n),colorWrite:Wt.kn,polygonOffset:r?Kt:null})}};Jt=(0,i.Cg)([(0,u.$)("esri.views.3d.webgl-engine.shaders.HUDMaterialTechnique")],Jt);const Kt={factor:0,units:-4},er=(0,kt.BP)().vec2u8("uv0",{glNormalized:!0}),tr=(0,kt.BP)().vec3f("position").vec3f("normal").vec4i16("uvi").vec4u8("color").vec2f("size").f32("rotation").vec4f("centerOffsetAndDistance").vec4f("featureAttribute"),rr=tr.clone().vec4u8("olidColor");function ir(){return(0,Zt.E)()?rr:tr}var nr=r(51976),sr=r(35256);class or extends sr.E{constructor(e){super(),this.spherical=e,this.screenCenterOffsetUnitsEnabled=!1,this.occlusionTestEnabled=!0,this.signedDistanceFieldEnabled=!1,this.sampleSignedDistanceFieldTexelCenter=!1,this.hasVVSize=!1,this.hasVVColor=!1,this.hasVerticalOffset=!1,this.hasScreenSizePerspective=!1,this.hasRotation=!1,this.debugDrawLabelBorder=!1,this.hasPolygonOffset=!1,this.depthTestEnabled=!0,this.pixelSnappingEnabled=!0,this.draped=!1,this.terrainDepthTest=!1,this.cullAboveTerrain=!1,this.occlusionPass=!1,this.occludedFragmentFade=!1,this.horizonCullingEnabled=!0,this.isFocused=!0,this.olidColorInstanced=!1,this.textureCoordinateType=0,this.emissionSource=0,this.discardInvisibleFragments=!0,this.hasVVInstancing=!1,this.snowCover=!1}}(0,i.Cg)([(0,nr.W)()],or.prototype,"screenCenterOffsetUnitsEnabled",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"occlusionTestEnabled",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"signedDistanceFieldEnabled",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"sampleSignedDistanceFieldTexelCenter",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"hasVVSize",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"hasVVColor",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"hasVerticalOffset",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"hasScreenSizePerspective",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"hasRotation",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"debugDrawLabelBorder",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"hasPolygonOffset",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"depthTestEnabled",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"pixelSnappingEnabled",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"draped",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"terrainDepthTest",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"cullAboveTerrain",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"occlusionPass",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"occludedFragmentFade",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"horizonCullingEnabled",void 0),(0,i.Cg)([(0,nr.W)()],or.prototype,"isFocused",void 0);var ar=r(49788);class lr extends Lt.i{constructor(e,t){super(e,Or),this.produces=new Map([[13,e=>(0,jt.Mb)(e)&&!this.parameters.drawAsLabel],[14,e=>(0,jt.Mb)(e)&&this.parameters.drawAsLabel],[12,()=>this.parameters.occlusionTest],[18,e=>this.parameters.draped&&(0,jt.Mb)(e)]]),this._visible=!0,this._configuration=new or(t)}getConfiguration(e,t){const r=this.parameters.draped;return super.getConfiguration(e,t,this._configuration),this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.hasVerticalOffset=!!this.parameters.verticalOffset,this._configuration.hasScreenSizePerspective=!!this.parameters.screenSizePerspective,this._configuration.screenCenterOffsetUnitsEnabled="screen"===this.parameters.centerOffsetUnits,this._configuration.hasPolygonOffset=this.parameters.polygonOffset,this._configuration.draped=r,this._configuration.occlusionTestEnabled=this.parameters.occlusionTest,this._configuration.pixelSnappingEnabled=this.parameters.pixelSnappingEnabled,this._configuration.signedDistanceFieldEnabled=this.parameters.textureIsSignedDistanceField,this._configuration.sampleSignedDistanceFieldTexelCenter=this.parameters.sampleSignedDistanceFieldTexelCenter,this._configuration.hasRotation=this.parameters.hasRotation,this._configuration.hasVVSize=!!this.parameters.vvSize,this._configuration.hasVVColor=!!this.parameters.vvColor,this._configuration.occlusionPass=12===t.slot,this._configuration.occludedFragmentFade=!r&&this.parameters.occludedFragmentFade,this._configuration.horizonCullingEnabled=this.parameters.horizonCullingEnabled,this._configuration.isFocused=this.parameters.isFocused,this._configuration.depthTestEnabled=this.parameters.depthEnabled||12===t.slot,(0,jt.RN)(e)&&(this._configuration.debugDrawLabelBorder=!!F.b.LABELS_SHOW_BORDER),this._configuration.oitPass=t.oitPass,this._configuration.terrainDepthTest=t.terrainDepthTest,this._configuration.cullAboveTerrain=t.cullAboveTerrain,this._configuration}intersect(e,t,r,i,n,s){const{options:{selectionMode:o,hud:a,excludeLabels:l},point:c,camera:u}=r,{parameters:d}=this;if(!o||!a||l&&d.isLabel||!e.visible||!c||!u)return;const h=e.attributes.get("featureAttribute"),f=null==h?null:(0,A.ci)(h.data,Tr),{scaleX:p,scaleY:m}=Dr(f,d,u.pixelRatio);(0,Ot.z0)(vr,t),e.attributes.has("featureAttribute")&&function(e){const t=e[0],r=e[1],i=e[2],n=e[3],s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],u=1/Math.sqrt(t*t+r*r+i*i),d=1/Math.sqrt(n*n+s*s+o*o),h=1/Math.sqrt(a*a+l*l+c*c);e[0]=t*u,e[1]=r*u,e[2]=i*u,e[3]=n*d,e[4]=s*d,e[5]=o*d,e[6]=a*h,e[7]=l*h,e[8]=c*h}(vr);const y=e.attributes.get("position"),g=e.attributes.get("size"),b=e.attributes.get("normal"),_=e.attributes.get("rotation"),v=e.attributes.get("centerOffsetAndDistance");(0,be.vA)(y.size>=3);const w=(0,Ht.c)(d),x="screen"===this.parameters.centerOffsetUnits;for(let e=0;e<y.data.length/y.size;e++){const i=e*y.size;(0,ce.j)(fr,y.data[i],y.data[i+1],y.data[i+2]),(0,ce.t)(fr,fr,t),(0,ce.t)(fr,fr,u.viewMatrix);const n=e*v.size;if((0,ce.j)(Sr,v.data[n],v.data[n+1],v.data[n+2]),!x&&(fr[0]+=Sr[0],fr[1]+=Sr[1],0!==Sr[2])){const e=Sr[2];(0,ce.n)(Sr,fr),(0,ce.e)(fr,fr,(0,ce.h)(Sr,Sr,e))}const o=e*b.size;if((0,ce.j)(pr,b.data[o],b.data[o+1],b.data[o+2]),ur(pr,vr,u,Ir),Fr(this.parameters,fr,Ir,u,hr),u.applyProjection(fr,mr),mr[0]>-1){x&&(Sr[0]||Sr[1])&&(mr[0]+=Sr[0]*u.pixelRatio,0!==Sr[1]&&(mr[1]+=hr.alignmentEvaluator.apply(Sr[1])*u.pixelRatio),u.unapplyProjection(mr,fr)),mr[0]+=this.parameters.screenOffset[0]*u.pixelRatio,mr[1]+=this.parameters.screenOffset[1]*u.pixelRatio,mr[0]=Math.floor(mr[0]),mr[1]=Math.floor(mr[1]);const t=e*g.size;Er[0]=g.data[t],Er[1]=g.data[t+1],hr.evaluator.applyVec2(Er,Er);const i=Pr*u.pixelRatio;let n=0;d.textureIsSignedDistanceField&&(n=Math.min(d.outlineSize,.5*Er[0])*u.pixelRatio/2),Er[0]*=p,Er[1]*=m;const o=e*_.size,a=d.rotation+_.data[o];if(dr(c,mr[0],mr[1],Er,i,n,a,d,w)){const e=r.ray;if((0,ce.t)(gr,fr,(0,P.B8)(xr,u.viewMatrix)),mr[0]=c[0],mr[1]=c[1],u.unprojectFromRenderScreen(mr,fr)){const t=(0,S.vt)();(0,ce.d)(t,e.direction);const r=1/(0,ce.b)(t);(0,ce.h)(t,t,r),s((0,ce.k)(e.origin,fr)*r,t,-1,gr)}}}}}intersectDraped(e,t,r,i,n){const s=e.attributes.get("position"),o=e.attributes.get("size"),a=e.attributes.get("rotation"),l=this.parameters,c=(0,Ht.c)(l),u=e.attributes.get("featureAttribute"),d=null==u?null:(0,A.ci)(u.data,Tr),{scaleX:h,scaleY:f}=Dr(d,l,e.screenToWorldRatio),p=Br*e.screenToWorldRatio;for(let t=0;t<s.data.length/s.size;t++){const u=t*s.size,d=s.data[u],m=s.data[u+1],y=t*o.size;Er[0]=o.data[y],Er[1]=o.data[y+1];let g=0;l.textureIsSignedDistanceField&&(g=Math.min(l.outlineSize,.5*Er[0])*e.screenToWorldRatio/2),Er[0]*=h,Er[1]*=f;const b=t*a.size,_=l.rotation+a.data[b];dr(r,d,m,Er,p,g,_,l,c)&&i(n.distance,n.normal,-1)}}createBufferWriter(){return new Rr}applyShaderOffsetsView(e,t,r,i,n,s,o){const a=ur(t,r,n,Ir);return this._applyVerticalGroundOffsetView(e,a,n,o),Fr(this.parameters,o,a,n,s),this._applyPolygonOffsetView(o,a,i[3],n,o),this._applyCenterOffsetView(o,i,o),o}applyShaderOffsetsNDC(e,t,r,i,n){return this._applyCenterOffsetNDC(e,t,r,i),null!=n&&(0,ce.d)(n,i),this._applyPolygonOffsetNDC(i,t,r,i),i}_applyPolygonOffsetView(e,t,r,i,n){const s=i.aboveGround?1:-1;let o=Math.sign(r);0===o&&(o=s);const a=s*o;if(this.parameters.shaderPolygonOffset<=0)return(0,ce.d)(n,e);const l=(0,D.qE)(Math.abs(t.cosAngle),.01,1),c=1-Math.sqrt(1-l*l)/l/i.viewport[2];return(0,ce.h)(n,e,a>0?c:1/c),n}_applyVerticalGroundOffsetView(e,t,r,i){const n=(0,ce.b)(e),s=r.aboveGround?1:-1,o=r.computeRenderPixelSizeAtDist(n)*Vt.R,a=(0,ce.h)(fr,t.normal,s*o);return(0,ce.g)(i,e,a),i}_applyCenterOffsetView(e,t,r){const i="screen"!==this.parameters.centerOffsetUnits;return r!==e&&(0,ce.d)(r,e),i&&(r[0]+=t[0],r[1]+=t[1],t[2]&&((0,ce.n)(pr,r),(0,ce.a)(r,r,(0,ce.h)(pr,pr,t[2])))),r}_applyCenterOffsetNDC(e,t,r,i){const n="screen"!==this.parameters.centerOffsetUnits;return i!==e&&(0,ce.d)(i,e),n||(i[0]+=t[0]/r.fullWidth*2,i[1]+=t[1]/r.fullHeight*2),i}_applyPolygonOffsetNDC(e,t,r,i){const n=this.parameters.shaderPolygonOffset;if(e!==i&&(0,ce.d)(i,e),n){const e=r.aboveGround?1:-1,s=e*Math.sign(t[3]);i[2]-=(s||e)*n}return i}set visible(e){this._visible=e}get visible(){const{color:e,outlineSize:t,outlineColor:r}=this.parameters,i=e[3]>=ar.Q||t>=ar.Q&&r[3]>=ar.Q;return this._visible&&i}createGLMaterial(e){return new cr(e)}calculateRelativeScreenBounds(e,t,r=(0,M.vt)()){return function(e,t,r,i){i[0]=e.anchorPosition[0]*-t[0]+e.screenOffset[0]*r,i[1]=e.anchorPosition[1]*-t[1]+e.screenOffset[1]*r}(this.parameters,e,t,r),r[2]=r[0]+e[0],r[3]=r[1]+e[1],r}}class cr extends zt.m8{constructor(e){super({...e,...e.material.parameters})}beginSlot(e){return this.updateTexture(this._material.parameters.textureId),this._material.setParameters(this.textureBindParameters),this.getTechnique(Jt,e)}}function ur(e,t,r,i){return function(e){return(t=e)instanceof Float32Array&&t.length>=16||function(e){return Array.isArray(e)&&e.length>=16}(e);var t}(t)&&(t=(0,Ot.z0)(wr,t)),(0,ce.o)(i.normal,e,t),(0,ce.t)(i.normal,i.normal,r.viewInverseTransposeMatrix),i.cosAngle=(0,ce.f)(yr,Mr),i}function dr(e,t,r,i,n,s,o,a,l){let c=t-n-i[0]*l[0],u=c+i[0]+2*n,d=r-n-i[1]*l[1],h=d+i[1]+2*n;const f=a.distanceFieldBoundingBox;return a.textureIsSignedDistanceField&&null!=f&&(c+=i[0]*f[0],d+=i[1]*f[1],u-=i[0]*(1-f[2]),h-=i[1]*(1-f[3]),c-=s,u+=s,d-=s,h+=s),(0,O.hZ)(_r,t,r),(0,O.e$)(br,e,_r,(0,D.kU)(o)),br[0]>c&&br[0]<u&&br[1]>d&&br[1]<h}const hr=new Ut.fc,fr=(0,S.vt)(),pr=(0,S.vt)(),mr=(0,A.vt)(),yr=(0,S.vt)(),gr=(0,S.vt)(),br=(0,R.vt)(),_r=(0,R.vt)(),vr=(0,Rt.vt)(),wr=(0,Rt.vt)(),xr=(0,C.vt)(),Cr=(0,A.vt)(),Sr=(0,S.vt)(),Ar=(0,S.vt)(),Tr=(0,A.vt)(),Ir={normal:yr,cosAngle:0},Pr=1,Br=2,Er=(0,R.fA)(0,0),Mr=(0,S.fA)(0,0,1);class Or extends zt.NV{constructor(){super(...arguments),this.renderOccluded=1,this.isDecoration=!1,this.color=(0,A.CN)(1,1,1,1),this.polygonOffset=!1,this.anchorPosition=(0,R.fA)(.5,.5),this.screenOffset=[0,0],this.shaderPolygonOffset=1e-5,this.textureIsSignedDistanceField=!1,this.sampleSignedDistanceFieldTexelCenter=!1,this.outlineColor=(0,A.CN)(1,1,1,1),this.outlineSize=0,this.distanceFieldBoundingBox=(0,A.vt)(),this.rotation=0,this.hasRotation=!1,this.vvSizeEnabled=!1,this.vvSize=null,this.vvColor=null,this.vvOpacity=null,this.vvSymbolAnchor=null,this.vvSymbolRotationMatrix=null,this.hasSlicePlane=!1,this.pixelSnappingEnabled=!0,this.occlusionTest=!0,this.occludedFragmentFade=!1,this.horizonCullingEnabled=!1,this.centerOffsetUnits="world",this.drawAsLabel=!1,this.depthEnabled=!0,this.isFocused=!0,this.focusStyle="bright",this.draped=!1,this.isLabel=!1}get hasVVSize(){return!!this.vvSize}get hasVVColor(){return!!this.vvColor}get hasVVOpacity(){return!!this.vvOpacity}}class Rr{constructor(){this.layout=er,this.instanceLayout=ir()}elementCount(e){return e.get("position").indices.length}elementCountBaseInstance(e){return e.get("uv0").indices.length}write(e,t,r,i,n,s){const{position:o,normal:a,color:l,size:c,rotation:u,centerOffsetAndDistance:d,featureAttribute:h,uvi:f}=n;(0,Nt.Hk)(r.get("position"),e,o,s),(0,Nt.p1)(r.get("normal"),t,a,s);const p=r.get("position").indices.length;let m=0,y=0,g=Ht.f,b=Ht.f;const _=r.get("uvi")?.data;_&&_.length>=4&&(m=_[0],y=_[1],g=_[2],b=_[3]);for(let e=0;e<p;++e){const t=s+e;f.setValues(t,m,y,g,b)}if((0,Nt.tb)(r.get("color"),4,l,s),(0,Nt.Ue)(r.get("size"),c,s),(0,Nt.uO)(r.get("rotation"),u,s),r.get("centerOffsetAndDistance")?(0,Nt.Ut)(r.get("centerOffsetAndDistance"),d,s):(0,Nt.Pq)(d,s,p),r.get("featureAttribute")?(0,Nt.Ut)(r.get("featureAttribute"),h,s):(0,Nt.Pq)(h,s,p),null!=i){const e=r.get("position")?.indices;if(e){const t=e.length,r=n.getField("olidColor",Dt.XP);(0,Nt.vx)(i,r,t,s)}}return{numVerticesPerItem:1,numItems:p}}writeBaseInstance(e,t){const{uv0:r}=t;(0,Nt.Ue)(e.get("uv0"),r,0)}intersect(e,t,r,i,n,s,o){const{options:{selectionMode:a,hud:l,excludeLabels:c},point:u,camera:d}=i;if(!a||!l||c&&t.isLabel||!u)return;const h=this.instanceLayout.createView(e),{position:f,normal:p,rotation:m,size:y,featureAttribute:g,centerOffsetAndDistance:b}=h,_="screen"===t.centerOffsetUnits,v=(0,Ht.c)(t);if(null==f||null==p||null==m||null==y||null==b||null==d)return;const w=null==g?null:g.getVec(0,Tr),{scaleX:x,scaleY:C}=Dr(w,t,d.pixelRatio),A=f.count;for(let e=0;e<A;e++){if(f.getVec(e,fr),null!=r&&(0,ce.g)(fr,fr,r),(0,ce.t)(fr,fr,d.viewMatrix),b.getVec(e,Cr),(0,ce.j)(Sr,Cr[0],Cr[1],Cr[2]),!_&&(fr[0]+=Sr[0],fr[1]+=Sr[1],0!==Sr[2])){const e=Sr[2];(0,ce.n)(Sr,fr),(0,ce.e)(fr,fr,(0,ce.h)(Sr,Sr,e))}if(p.getVec(e,pr),ur(pr,vr,d,Ir),Fr(t,fr,Ir,d,hr),d.applyProjection(fr,mr),mr[0]>-1){_&&(Sr[0]||Sr[1])&&(mr[0]+=Sr[0]*d.pixelRatio,0!==Sr[1]&&(mr[1]+=hr.alignmentEvaluator.apply(Sr[1])*d.pixelRatio),d.unapplyProjection(mr,fr)),mr[0]+=t.screenOffset[0]*d.pixelRatio,mr[1]+=t.screenOffset[1]*d.pixelRatio,mr[0]=Math.floor(mr[0]),mr[1]=Math.floor(mr[1]),y.getVec(e,Er),hr.evaluator.applyVec2(Er,Er);const r=Pr*d.pixelRatio;let n=0;t.textureIsSignedDistanceField&&(n=Math.min(t.outlineSize,.5*Er[0])*d.pixelRatio/2),Er[0]*=x,Er[1]*=C;const s=m.get(e),a=t.rotation+s;if(dr(u,mr[0],mr[1],Er,r,n,a,t,v)){const t=i.ray;if((0,ce.t)(gr,fr,(0,P.B8)(xr,d.viewMatrix)),mr[0]=u[0],mr[1]=u[1],d.unprojectFromRenderScreen(mr,fr)){const r=(0,S.vt)();(0,ce.d)(r,t.direction);const i=1/(0,ce.b)(r);(0,ce.h)(r,r,i),o((0,ce.k)(t.origin,fr)*i,r,e,gr)}}}}}}function Dr(e,t,r){return null==e||null==t.vvSize?{scaleX:r,scaleY:r}:((0,Ft.VC)(Ar,t,e),{scaleX:Ar[0]*r,scaleY:Ar[1]*r})}function Fr(e,t,r,i,n){if(!e.verticalOffset?.screenLength){const i=(0,ce.b)(t);return n.update(r.cosAngle,i,e.screenSizePerspective,e.screenSizePerspectiveMinPixelReferenceSize,e.screenSizePerspectiveAlignment,null),t}const s=(0,ce.b)(t),o=e.screenSizePerspectiveAlignment??e.screenSizePerspective,a=(0,qt.kE)(i,s,e.verticalOffset,r.cosAngle,o,e.screenSizePerspectiveMinPixelReferenceSize);return n.update(r.cosAngle,s,e.screenSizePerspective,e.screenSizePerspectiveMinPixelReferenceSize,e.screenSizePerspectiveAlignment,null),(0,ce.h)(r.normal,r.normal,a),(0,ce.g)(t,t,r.normal)}class jr{constructor(e,t){this._mainThreadDelegate=t,this._bufferWriters=new Map,this.globalViewingMode=1===e}createRenderCommandBuffer(e=[],t=[]){return{commands:e,transferList:t}}mergeRenderCommandBuffers(e){const t=this.createRenderCommandBuffer();for(const r of e)null!=r&&(t.commands.push(...r.commands),t.transferList.push(...r.transferList));return t}async createTexture(e){const{data:t,parameters:r}=e();return await this._mainThreadDelegate.createTexture(t,r)}async releaseTexture(e){const t=this._destroyTexture(e);return new g(this,t,[])}_destroyTexture(e){return{commands:[{id:"destroy-texture",textureId:e}],transferList:[]}}async createMaterial(e){const{type:t,parameters:r}=e,i=Ke("material");let n,s;switch(t){case"default":n=new je.$U(e.parameters,{spherical:this.globalViewingMode}),s={type:t,materialId:i,parameters:e.parameters};break;case"hud":n=new lr(r,this.globalViewingMode),s={type:t,materialId:i,parameters:e.parameters}}return this._bufferWriters.set(i,n.createBufferWriter()),await this._mainThreadDelegate.createMaterial(s),i}destroyMaterial(e){return{commands:[{id:"destroy-material",materialId:e}],transferList:[]}}updateMaterial(e){return{commands:[{...e,id:"update-material"}],transferList:[]}}async createDirectRenderer(e){return await this._mainThreadDelegate.createDirectRenderer(e),e}async destroyDirectRenderer(e){await this._mainThreadDelegate.destroyDirectRenderer(e)}addDirectRendererGeometry(e,t,r,i){const{materialId:n}=t;if(null==this._bufferWriters.get(n))throw new Error(`no bufferwriter found for material ${n}`);const{renderGeometryBuffer:s,renderGeometryBufferItems:o}=this.createRenderGeometryBuffer(t,r,i);return this.addDirectRendererGeometryBuffer(n,e,s,o,r)}updateDirectRendererGeometry(e,t,r,i){const{materialId:n}=t;if(null==this._bufferWriters.get(n))throw new Error(`no bufferwriter found for material ${n}`);const{renderGeometryBuffer:s,renderGeometryBufferItems:o}=this.createRenderGeometryBuffer(t,r,i);return this.updateDirectRendererGeometryBuffer(n,e,s,o,r)}addDirectRendererGeometryBuffer(e,t,r,i,n){const{objectIds:s,visibilities:o}=i;return{commands:[{id:"add-direct-renderer-geometry-buffer",rendererId:e,groupId:t,renderGeometryBuffer:r,renderGeometryBufferItems:i,localOrigin:n}],transferList:[r.data,s.buffer,o.buffer]}}updateDirectRendererGeometryBuffer(e,t,r,i,n){const{objectIds:s,visibilities:o}=i;return{commands:[{id:"update-direct-renderer-geometry-buffer",rendererId:e,groupId:t,renderGeometryBuffer:r,renderGeometryBufferItems:i,localOrigin:n}],transferList:[r.data,s.buffer,o.buffer]}}removeDirectRendererGeometryBuffer(e,t){return{commands:[{id:"remove-direct-renderer-geometry-buffer",rendererId:e,groupId:t}],transferList:[]}}async createLodRenderer(e){const t=Ke("lod-renderer"),r=new Set,i={levels:e.levels.map(e=>({components:e.components.map(e=>{const t=e.attributes.get("position");if(!t||0===t.indices.length)throw new Error("positions attribute expected");const i=(0,H.tM)(t.indices.length/3),n=new Mt.j(i,3,t);if(null==this._bufferWriters.get(e.materialId))throw new Error("writer not found");const{renderGeometryBuffer:s}=this.createRenderGeometryBuffer(e,null);return r.add(s.data),{materialId:e.materialId,renderGeometryBuffer:s,boundingInfo:{bbMax:n.bbMax,bbMin:n.bbMin}}}),minScreenSpaceRadius:e.minScreenSpaceRadius}))};return await this._mainThreadDelegate.createLodRenderer(t,i,Array.from(r)),t}destroyLodRenderer(e){return{commands:[{id:"destroy-lod-renderer",rendererId:e}],transferList:[]}}addLodInstances(e,t,r){return{commands:[{id:"add-lod-instances",rendererId:e,groupId:t,data:r}],transferList:[r.featureIds.buffer,r.globalTransforms.buffer,r.localTransforms.buffer,r.visibility.buffer]}}removeLodInstances(e,t){return{commands:[{id:"remove-lod-instances",rendererId:e,groupId:t}],transferList:[]}}updateLodInstancesData(e,t,r){return{commands:[{id:"update-lod-instance-data",rendererId:e,groupId:t,globalTransforms:r}],transferList:[r.buffer]}}updateVisibility(e,t,r){return{commands:[{id:"update-visibility",rendererId:e,groupId:t,visibility:r}],transferList:[r.buffer]}}async dispatchRenderCommands(e){0!==e.commands.length&&await this._mainThreadDelegate.executeRenderCommands(e)}createRenderGeometryBuffer(e,t,r){const{materialId:i,visibilities:n,objectIds:s}=e,o=this._bufferWriters.get(i);if(null==o)throw new Error("no registered bufferWriter for material found");let a=null;if(e.transformation&&t)(0,P.C)(Vr,e.transformation),Vr[12]-=t[0],Vr[13]-=t[1],Vr[14]-=t[2],a=Vr;else{if(t)throw new Error("not implemented");e.transformation&&(a=e.transformation)}let l=null;a&&((0,P.B8)(zr,Vr),(0,P.mg)(zr,zr),l=zr);const c=e.attributes,u=o.elementCount(c),d=r?o.instanceLayout:o.layout;if(!d)throw new Error("Missing layout");const h=d.stride/4;u>Math.floor(Lr/h)&&console.warn("geometry with very large number of elements encountered");const f=d.createBuffer(u),p=o.write(a,l,c,e.olidColor,f,0);if(null==p)throw new Error("Bufferwriter.write does not provide item information.");if(n.length!==p.numItems||s.length!==p.numItems)throw new Error("Unexpected mismatch between number of RenderGeometryBufferItems and provided objectIds/visibility flags.");return{renderGeometryBuffer:{data:f.buffer,elementCount:u},renderGeometryBufferItems:{objectIds:s,visibilities:n,ranges:{numVertices:p.numVerticesPerItem,numItems:p.numItems}}}}async setBaseInstance(e,t){await this._mainThreadDelegate.setBaseInstance(e,t)}}const Vr=(0,C.vt)(),zr=(0,C.vt)(),Lr=4194304;var Ur=r(98764),Nr=r(65806);const qr=(0,S.vt)();var Hr=r(4341),Gr=r(11964),kr=r(44280),$r=r(32114);const Yr=()=>c.A.getLogger("esri.views.3d.support.geometryUtils.boundedPlane");function Zr(e=hi){return{plane:(0,he.vt)(e.plane),origin:(0,S.o8)(e.origin),basis1:(0,S.o8)(e.basis1),basis2:(0,S.o8)(e.basis2)}}function Xr(e,t=Zr()){return Wr(e.origin,e.basis1,e.basis2,t)}function Wr(e,t,r,i=Zr()){return(0,ce.d)(i.origin,e),(0,ce.d)(i.basis1,t),(0,ce.d)(i.basis2,r),Qr(i),function(e,t){Math.abs((0,ce.f)(e.basis1,e.basis2)/((0,ce.b)(e.basis1)*(0,ce.b)(e.basis2)))>1e-6&&Yr().warn(t,"Provided basis vectors are not perpendicular"),Math.abs((0,ce.f)(e.basis1,ai(e)))>1e-6&&Yr().warn(t,"Basis vectors and plane normal are not perpendicular"),Math.abs(-(0,ce.f)(ai(e),e.origin)-e.plane[3])>1e-6&&Yr().warn(t,"Plane offset is not consistent with plane origin")}(i,"fromValues()"),i}function Qr(e){(0,he.mR)(e.basis2,e.basis1,e.origin,e.plane)}function Jr(e,t,r){e!==r&&Xr(e,r);const i=(0,ce.h)($r.rq.get(),ai(e),t);return(0,ce.g)(r.origin,r.origin,i),r.plane[3]-=t,r}function Kr(e,t=Zr()){const r=(e[2]-e[0])/2,i=(e[3]-e[1])/2;return(0,ce.j)(t.origin,e[0]+r,e[1]+i,0),(0,ce.j)(t.basis1,r,0,0),(0,ce.j)(t.basis2,0,i,0),(0,he.fA)(0,0,1,0,t.plane),t}function ei(e,t,r){return!!(0,he.Ui)(e.plane,t,r)&&li(e,r)}function ti(e,t,r){const i=fi.get();di(e,t,i,fi.get());let n=Number.POSITIVE_INFINITY;for(const s of gi){const o=ui(e,s,pi.get()),a=$r.rq.get();if((0,he.T7)(i,o,a)){const e=(0,ce.E)($r.rq.get(),t.origin,a),i=Math.abs((0,D.XM)((0,ce.f)(t.direction,e)));i<n&&(n=i,(0,ce.d)(r,a))}}return n===Number.POSITIVE_INFINITY?ri(e,t,r):r}function ri(e,t,r){if(ei(e,t,r))return r;const i=fi.get(),n=fi.get();di(e,t,i,n);let s=Number.POSITIVE_INFINITY;for(const o of gi){const a=ui(e,o,pi.get()),l=$r.rq.get();if((0,he.gv)(i,a,l)){const e=(0,fe.kb)(t,l);if(!(0,he.Tj)(n,l))continue;e<s&&(s=e,(0,ce.d)(r,l))}}return si(e,t.origin)<s&&ii(e,t.origin,r),r}function ii(e,t,r){const i=(0,he._I)(e.plane,t,$r.rq.get()),n=(0,Gr.H6)(ci(e,e.basis1),i,-1,1,$r.rq.get()),s=(0,Gr.H6)(ci(e,e.basis2),i,-1,1,$r.rq.get());return(0,ce.e)(r,(0,ce.g)($r.rq.get(),n,s),e.origin),r}function ni(e,t,r){const{origin:i,basis1:n,basis2:s}=e,o=(0,ce.e)($r.rq.get(),t,i),a=(0,kr.gr)(n,o),l=(0,kr.gr)(s,o),c=(0,kr.gr)(ai(e),o);return(0,ce.j)(r,a,l,c)}function si(e,t){const r=ni(e,t,$r.rq.get()),{basis1:i,basis2:n}=e,s=(0,ce.b)(i),o=(0,ce.b)(n),a=Math.max(Math.abs(r[0])-s,0),l=Math.max(Math.abs(r[1])-o,0),c=r[2];return a*a+l*l+c*c}function oi(e,t){const r=-e.plane[3];return(0,kr.gr)(ai(e),t)-r}function ai(e){return(0,he.Qj)(e.plane)}function li(e,t){const r=(0,ce.e)($r.rq.get(),t,e.origin),i=(0,ce.m)(e.basis1),n=(0,ce.m)(e.basis2),s=(0,ce.f)(e.basis1,r),o=(0,ce.f)(e.basis2,r);return-s-i<0&&s-i<0&&-o-n<0&&o-n<0}function ci(e,t){const r=pi.get();return(0,ce.d)(r.origin,e.origin),(0,ce.d)(r.vector,t),r}function ui(e,t,r){const{basis1:i,basis2:n,origin:s}=e,o=(0,ce.h)($r.rq.get(),i,t.origin[0]),a=(0,ce.h)($r.rq.get(),n,t.origin[1]);(0,ce.g)(r.origin,o,a),(0,ce.g)(r.origin,r.origin,s);const l=(0,ce.h)($r.rq.get(),i,t.direction[0]),c=(0,ce.h)($r.rq.get(),n,t.direction[1]);return(0,ce.h)(r.vector,(0,ce.g)(l,l,c),2),r}function di(e,t,r,i){const n=ai(e);(0,he.mR)(n,t.direction,t.origin,r),(0,he.mR)((0,he.Qj)(r),n,t.origin,i)}const hi={plane:(0,he.vt)(),origin:(0,S.fA)(0,0,0),basis1:(0,S.fA)(1,0,0),basis2:(0,S.fA)(0,1,0)},fi=new Hr.I(he.vt),pi=new Hr.I(Gr.vt),mi=(0,S.vt)(),yi=new Hr.I(()=>Zr()),gi=[{origin:[-1,-1],direction:[1,0]},{origin:[1,-1],direction:[0,1]},{origin:[1,1],direction:[-1,0]},{origin:[-1,1],direction:[0,-1]}],bi=(0,C.vt)(),_i=(0,C.vt)(),vi=Object.freeze(Object.defineProperty({__proto__:null,altitudeAt:oi,axisAt:function(e,t,r,i){return function(e,t,r){switch(t){case 0:(0,ce.d)(r,e.basis1),(0,ce.n)(r,r);break;case 1:(0,ce.d)(r,e.basis2),(0,ce.n)(r,r);break;case 2:(0,ce.d)(r,ai(e))}return r}(e,r,i)},cameraFrustumCoverage:function(e,t){return(t-e)/t},closestPoint:ri,closestPointOnSilhouette:ti,copy:Xr,copyWithoutVerify:function(e,t){(0,ce.d)(t.origin,e.origin),(0,ce.d)(t.basis1,e.basis1),(0,ce.d)(t.basis2,e.basis2),(0,he.C)(t.plane,e.plane)},create:Zr,distance:function(e,t){return Math.sqrt(si(e,t))},distance2:si,distanceToSilhouette:function(e,t){let r=Number.NEGATIVE_INFINITY;for(const i of gi){const n=ui(e,i,pi.get()),s=(0,Gr.kb)(n,t);s>r&&(r=s)}return Math.sqrt(r)},elevate:Jr,equals:function(e,t){return(0,ce.q)(e.basis1,t.basis1)&&(0,ce.q)(e.basis2,t.basis2)&&(0,ce.q)(e.origin,t.origin)},extrusionContainsPoint:function(e,t){return(0,he.Tj)(e.plane,t)&&li(e,t)},fromAABoundingRect:Kr,fromValues:Wr,getExtent:function(e,t){const r=e.basis1[0],i=e.basis2[1],[n,s]=e.origin;return(0,M.fA)(n-r,s-i,n+r,s+i,t)},intersectRay:ei,intersectRayClosestSilhouette:function(e,t,r){if(ei(e,t,r))return r;const i=ti(e,t,$r.rq.get());return(0,ce.g)(r,t.origin,(0,ce.h)($r.rq.get(),t.direction,(0,ce.k)(t.origin,i)/(0,ce.b)(t.direction))),r},normal:ai,projectPoint:ii,projectPointLocal:ni,rotate:function(e,t,r,i){return e!==i&&Xr(e,i),(0,P.$0)(_i,t,r),(0,ce.t)(i.basis1,e.basis1,_i),(0,ce.t)(i.basis2,e.basis2,_i),Qr(i),i},setAltitudeAt:function(e,t,r,i){const n=oi(e,t),s=(0,ce.h)(mi,ai(e),r-n);return(0,ce.g)(i,t,s),i},setExtent:function(e,t,r){return Kr(t,r),Jr(r,oi(e,e.origin),r),r},transform:function(e,t,r){return e!==r&&Xr(e,r),(0,P.B8)(bi,t),(0,P.mg)(bi,bi),(0,ce.t)(r.basis1,e.basis1,bi),(0,ce.t)(r.basis2,e.basis2,bi),(0,ce.t)((0,he.Qj)(r.plane),(0,he.Qj)(e.plane),bi),(0,ce.t)(r.origin,e.origin,t),(0,he.mP)(r.plane,r.plane,r.origin),r},up:hi,updateUnboundedPlane:Qr,wrap:function(e,t,r){const i=yi.get();return i.origin=e,i.basis1=t,i.basis2=r,i.plane=(0,he.LV)(0,0,0,0),Qr(i),i}},Symbol.toStringTag,{value:"Module"}));var wi=r(97937);function xi(e,t,r=function(e){return{operations:e,value:e.create()}}(e)){return r.operations=e,e.copy(t,r.value),r}const Ci=2**50;function Si(e,t,r,i){return e.operations.setAltitudeAt(e.value,t,r,i)}function Ai(e,t,r){return e.operations.elevate(e.value,t,r.value)}const Ti=(0,S.vt)();function Ii(e){return"point"===e.type}(0,S.vt)();class Pi{constructor(e,t,r,i){this.viewingMode=e,this.spatialReference=t,this.unitInMeters=r,this._coordinateSystem=i,this._tmpCoordinateSystem=function(e){const{value:t,operations:r}=e;return{operations:r,value:r.create(t)}}(i),this.referenceEllipsoid=(0,pe.tO)(t),this.sphericalPCPF=(0,Ur.lO)(t)}set extent(e){e&&function(e,t,r){e.operations.setExtent(e.value,t,r.value)}(this._coordinateSystem,e,this._coordinateSystem)}get extent(){return e=this._coordinateSystem,t=(0,M.vt)(),e.operations.getExtent(e.value,t),t;var e,t}getAltitude(e){return function(e,t){return e.operations.altitudeAt(e.value,t)}(this._coordinateSystem,e)}setAltitude(e,t,r=e){return Si(this._coordinateSystem,r,t,e)}setAltitudeOfTransformation(e,t){var r,i,n,s;r=this._coordinateSystem,n=e,(i=t)!==(s=t)&&(0,P.C)(s,i),(0,ce.j)(Ti,s[12],s[13],s[14]),Si(r,Ti,n,Ti),s[12]=Ti[0],s[13]=Ti[1],s[14]=Ti[2]}worldUpAtPosition(e,t){return function(e,t,r){return e.operations.axisAt(e.value,t,2,r)}(this._coordinateSystem,e,t)}worldBasisAtPosition(e,t,r){return function(e,t,r,i){return e.operations.axisAt(e.value,t,r,i)}(this._coordinateSystem,e,t,r)}basisMatrixAtPosition(e,t){const r=this.worldBasisAtPosition(e,0,$r.rq.get()),i=this.worldBasisAtPosition(e,1,$r.rq.get()),n=this.worldBasisAtPosition(e,2,$r.rq.get());return(0,P.hZ)(t,r[0],r[1],r[2],0,i[0],i[1],i[2],0,n[0],n[1],n[2],0,0,0,0,1),t}headingAtPosition(e,t){const r=this.worldUpAtPosition(e,$r.rq.get()),i=this.worldBasisAtPosition(e,1,$r.rq.get()),n=(0,kr.EJ)(t,i,r);return(0,D.KJ)(n)}intersectManifoldClosestSilhouette(e,t,r){return Ai(this._coordinateSystem,t,this._tmpCoordinateSystem),function(e,t,r){e.operations.intersectRayClosestSilhouette(e.value,t,r)}(this._tmpCoordinateSystem,e,r),r}intersectManifold(e,t,r){Ai(this._coordinateSystem,t,this._tmpCoordinateSystem);const i=$r.rq.get();return function(e,t,r){return e.operations.intersectRay(e.value,t,r)}(this._tmpCoordinateSystem,e,i)?(0,ce.d)(r,i):null}intersectInfiniteManifold(e,t,r){if(1===this.viewingMode)return this.intersectManifold(e,t,r);Ai(this._coordinateSystem,t,this._tmpCoordinateSystem);const i=this._tmpCoordinateSystem.value,n=$r.rq.get();return(0,he.Ui)(i.plane,e,n)?(0,ce.d)(r,n):null}toRenderCoords(e,t,r){return Ii(e)?(0,Nr.g)(e,t,this.spatialReference):(0,L.F)(e,t,r,this.spatialReference)}fromRenderCoords(e,t,r=null){return Ii(t)?(null!=r&&(t.spatialReference=r),function(e,t,r){return!!(0,L.F)(e,t,qr,r.spatialReference)&&(r.x=qr[0],r.y=qr[1],r.z=qr[2],!0)}(e,this.spatialReference,t)?t:null):(0,L.F)(e,this.spatialReference,t,r)?t:null}static create(e,t){switch(e){case 2:return new Pi(2,t,(0,I.GA)(t),xi(vi,Wr([0,0,0],[Ci,0,0],[0,Ci,0])));case 1:return new Pi(1,t,1,function(e){return xi(wi.s,(0,wi.f)(0,0,0,(0,pe.tO)(e).radius))}(t))}}static renderUnitScaleFactor(e,t){return(0,I.KX)(e)/(0,I.KX)(t)}}let Bi=class extends n.nJ{constructor(){super(...arguments),this.remoteClient=null,this._featureStore=new ft,this._tileLocks=new at,this._tileManager=null,this._renderer=null,this._fetcher=null,this._queryEngine=null,this._defaultQueryJSON=null,this._mainThreadDelegate=null,this._viewSpatialReference=null,this._renderCommandContext=null,this._context=null}get updating(){return this._tileManager.updating}destroy(){this._featureStore.clear(),this._tileManager?.destroy()}async setup({viewSpatialReference:e,renderSpatialReference:t,viewingMode:r,layerInfo:i,layerViewInfo:n}){const s=f.A.fromJSON(e);this._viewSpatialReference=s;const a=f.A.fromJSON(t);this._fetcher=new Et(this._viewSpatialReference,m.A.fromJSON(i.baseQuery),i.url,i.objectIdField,i.capabilities),this._queryEngine=new p.do({hasZ:!0,hasM:!1,geometryType:"esriGeometryPoint",featureIdInfo:{type:"object-id",fieldName:i.objectIdField},fieldsIndex:i.fieldIndex,availableFields:[i.objectIdField],spatialReference:e,featureStore:this._featureStore,timeInfo:i.timeInfo}),this._mainThreadDelegate={createTexture:async(e,t)=>{const r={data:e,parameters:t};return await this.remoteClient.invoke("createTexture",r,{transferList:[e.buffer]})},releaseTexture:async e=>{const t={uid:e};await this.remoteClient.invoke("releaseTexture",t)},createMaterial:async e=>{const t={materialJSON:e};await this.remoteClient.invoke("createMaterial",t)},destroyMaterial:async e=>{const t={materialId:e};await this.remoteClient.invoke("destroyMaterial",t)},createDirectRenderer:async e=>{const t={materialId:e};await this.remoteClient.invoke("createDirectRenderer",t)},destroyDirectRenderer:async e=>{const t={materialId:e};await this.remoteClient.invoke("destroyDirectRenderer",t)},createLodRenderer:async(e,t,r)=>{const i={rendererId:e,lodRenderGeometry:t};await this.remoteClient.invoke("createLoDRenderer",i,{transferList:r})},destroyLodRenderer:async e=>{const t={rendererId:e};await this.remoteClient.invoke("destroyLoDRenderer",t)},executeRenderCommands:async e=>{const t={commands:e.commands};await this.remoteClient.invoke("dispatchRenderCommands",t,{transferList:e.transferList})},applyElevationAlignmentTo:async e=>{const t={mapPoints:e};return await this.remoteClient.invoke("applyElevationAlignment",t,{transferList:[e.buffer]})},setBaseInstance:async(e,t)=>{const r={rendererId:e,baseInstance:t};await this.remoteClient.invoke("setBaseInstance",r,{transferList:null!=t?[t.data]:void 0})}};const l=Pi.create(r,a),c=new jr(r,this._mainThreadDelegate);this._renderCommandContext=c;const u=new ke(s,a,this._mainThreadDelegate,l,c,i,n);this._context=u,this._renderer=u.symbolRendererFactory.createSymbolRendererFromJSON(i.renderer),this._defaultQueryJSON=new m.A({outSpatialReference:s}).toJSON();let y=null;if(null!=i.fullExtent){const e=d.A.fromJSON(i.fullExtent);await(0,h.initializeProjection)(e.spatialReference,s),y=(0,h.project)(e,s)}return this._tileManager=new rt({loadTile:(e,t)=>this._fetcher.fetch(e,t),createAddCommand:(e,t)=>this._createAddFeatureDataCommand(e,t),createRemoveCommand:e=>this._createRemoveFeatureDataCommand(e),createUpdateCommand:(e,t)=>this._createUpdateFeatureDataVisibilityCommand(e,t),tileLocks:this._tileLocks,extent:y}),this.addHandles((0,o.wB)(()=>this.updating,e=>{this.emit("notify-updating",{updating:e})}),o.Vh),null!=this._renderer&&await this._renderer.load(),Mi}async executeQuery(e,t){return{result:await this._queryEngine.executeQuery(this._ensureQuery(e),t)}}async executeQueryForIds(e,t){const r=await this._queryEngine.executeQueryForIdSet(this._ensureQuery(e),t);return{result:Array.from(r)}}async executeQueryForCount(e,t){return{result:await this._queryEngine.executeQueryForCount(this._ensureQuery(e),t)}}async executeQueryForExtent(e,t){return{result:await this._queryEngine.executeQueryForExtent(this._ensureQuery(e),t)}}async executeQueryForLatestObservations(e,t){return{result:await this._queryEngine.executeQueryForLatestObservations(this._ensureQuery(e),t)}}async executeAttributeBinsQuery(e,t){return{result:await this._queryEngine.executeAttributeBinsQuery(e,t)}}onTileTreeChange(e){return this._tileManager.onTileTreeChange(e),Promise.resolve(Mi)}async onElevationChange(e){return Mi}async onLayerViewOpacityChange(e){const{_context:t,_renderer:r}=this;if(t.layerViewInfo.fullOpacity=e,null==r)return Mi;const i=await r.createUpdateLayerViewOpacityCommand(e);return await i.execute(),Mi}async onRendererChange(e){const{_context:t}=this,r=t.symbolRendererFactory.createSymbolRendererFromJSON(e);await r.load();const n=this._renderer;this._renderer=r;const s=[...this._tileManager.loadedTiles()],o=s.map(e=>e.tileId);{const e={stack:[],error:void 0,hasError:!1};try{(0,i.mS)(e,await this._tileLocks.lock(o),!1);const a=s.flatMap(e=>[n.createRemoveCommand(e.id),r.createAddCommand(e)]),l=await Promise.all(a),c=t.joinPipelineCommands(l);await c.execute()}catch(t){e.error=t,e.hasError=!0}finally{(0,i.hk)(e)}}const a=await n.createDestroyCommand();return await a.execute(),Mi}async _createAddFeatureDataCommand(e,t){const r=this._featureStore,i=this._renderer;let n;return n=null!=i?await i.createAddCommand(e):g.create(this._renderCommandContext),(0,s.Te)(t),n.appendPipelineStateCommand(()=>{r.addTile(e)}),n}async _createRemoveFeatureDataCommand(e){const t=this._featureStore,r=this._renderer;let i;return i=null!=r?await r.createRemoveCommand(e):g.create(this._renderCommandContext),i.appendPipelineStateCommand(()=>{t.removeTile(e)}),i}async _createUpdateFeatureDataVisibilityCommand(e,t){const r=this._renderer;let i;return i=null!=r?await r.createUpdateVisibilityCommand(e):g.create(this._renderCommandContext),(0,s.Te)(t),i}_ensureQuery(e){return e??this._defaultQueryJSON}};(0,i.Cg)([(0,a.MZ)()],Bi.prototype,"updating",null),Bi=(0,i.Cg)([(0,u.$)("esri.views.3d.layers.graphics.pipeline.Feature3DPipelineWorker")],Bi);const Ei=Bi,Mi={result:void 0}},65215:(e,t,r)=>{r.d(t,{H:()=>i,R:()=>n});class i{constructor(e){this.layerViewUid=e}}class n extends i{constructor(e,t){super(e),this.graphicUid=t}}},65494:(e,t,r)=>{r.d(t,{L:()=>l,r:()=>o});var i=r(67076),n=r(90360),s=r(41214);function o(e,t){return l(e,null,t)}const a=(0,n.C)({types:s.Hg});function l(e,t,r){return e?e&&(e.styleName||e.styleUrl)&&"uniqueValue"!==e.type?(r?.messages&&r.messages.push(new i.A("renderer:unsupported","Only UniqueValueRenderer can be referenced from a web style, but found '"+e.type+"'",{definition:e,context:r})),null):a(e,t,r):null}},72385:(e,t,r)=>{function i(){return new Float32Array(3)}function n(e){const t=new Float32Array(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function s(e,t,r){const i=new Float32Array(3);return i[0]=e,i[1]=t,i[2]=r,i}function o(){return i()}function a(){return s(1,1,1)}function l(){return s(1,0,0)}function c(){return s(0,1,0)}function u(){return s(0,0,1)}r.d(t,{fA:()=>s,o8:()=>n,vt:()=>i});const d=o(),h=a(),f=l(),p=c(),m=u();Object.freeze(Object.defineProperty({__proto__:null,ONES:h,UNIT_X:f,UNIT_Y:p,UNIT_Z:m,ZEROS:d,clone:n,create:i,fromValues:s,ones:a,unitX:l,unitY:c,unitZ:u,zeros:o},Symbol.toStringTag,{value:"Module"}))},73681:(e,t,r)=>{r.d(t,{n:()=>l});var i=r(49186),n=r(53966),s=r(46140),o=r(95466),a=r(55674);class l{static async from(e,t,r){const o=e.dictionary_version?s.R.parse(e.dictionary_version):null,u=new Set(e.itemsNames),d={};if(t)for(const e in t)d[e]=t[e];if(e.authoringInfo.configuration)for(const t of e.authoringInfo.configuration)d.hasOwnProperty(t.name)||(d[t.name]=t.value);const h=new Set(e.authoringInfo.symbol);for(const e of Object.keys(r))h.delete(e);h.size&&n.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("missing-fields: fieldMap entries for the following symbol fields are missing",{symbolFields:h});const f=await(0,a.xR)(e.expression,null,d);if(!f)throw new i.A("dictionary-renderer:expression-error","Unable to create dictionary renderer expression");const p=!o||!o.greaterEqual(4,0);p&&n.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("Dictionary script does not support native field types. Applying fallback",{version:o});const m=new c(r,p);return new l(p,u,f,m)}constructor(e,t,r,i){this._requiresFieldCoercionToString=e,this._itemNames=t,this._compiled=r,this._reader=i}get itemNames(){return this._itemNames}evaluate(e,t,r,i){try{return this._reader.bind(e,r,i),this._compiled.evaluate(this._reader,{$view:{scale:t}})}catch(e){n.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("arcade: dictionary script evaluation failed",{error:e})}return null}createDictionaryFieldsIndex(e){if(!this._requiresFieldCoercionToString)return new o.A(e);const t=e.map(e=>({...e,type:"esriFieldTypeString"}));return new o.A(t)}}class c extends a.Gj{constructor(e,t){super(),this._fieldMap=e,this._requiresFieldCoercionToString=t}_getField(e){const t=this._fieldMap[e]??e;return this._boundSchema.fieldsIndex.get(t)}field(e){if(!this._requiresFieldCoercionToString)return super.field(e,!1);const t=this._getField(e);return null==t||null==this._boundTarget.attributes[t.name]?"":""+this._boundTarget.attributes[t.name]}}},75503:(e,t,r)=>{r.d(t,{EC:()=>A,wq:()=>a});var i=r(4576),n=r(21818),s=(r(44208),r(15142)),o=r(11006);class a{constructor(e=9,t){this._compareMinX=h,this._compareMinY=f,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(),w.prune(),x.prune(),C.prune(),S.prune()}all(e){l(this._data,e)}search(e,t){let r=this._data;const i=this._toBBox;if(_(e,r))for(w.clear();r;){for(let n=0,s=r.children.length;n<s;n++){const s=r.children[n],o=r.leaf?i(s):s;_(e,o)&&(r.leaf?t(s):b(e,o)?l(s,t):w.push(s))}r=w.pop()}}collides(e){let t=this._data;const r=this._toBBox;if(!_(e,t))return!1;for(w.clear();t;){for(let i=0,n=t.children.length;i<n;i++){const n=t.children[i],s=t.leaf?r(n):n;if(_(e,s)){if(t.leaf||b(e,s))return!0;w.push(n)}}t=w.pop()}return!1}load(e){if(!e.length)return this;if(e.length<this._minEntries){for(let t=0,r=e.length;t<r;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 I([]),this}remove(e){if(!e)return this;let t,r=this._data,s=null,o=0,a=!1;const l=this._toBBox(e);for(C.clear(),S.clear();r||C.length>0;){if(r||(r=C.pop(),s=C.data[C.length-1],o=S.pop()??0,a=!0),r.leaf&&(t=(0,i.qh)(r.children,(0,n.zI)(e),r.children.length,r.indexHint),-1!==t))return r.children.splice(t,1),C.push(r),this._condense(C),this;a||r.leaf||!b(r,l)?s?(o++,r=s.children[o],a=!1):r=null:(C.push(r),S.push(o),o=0,s=r,r=r.children[0])}return this}toJSON(){return this._data}fromJSON(e){return this._data=e,this}_build(e,t,r,i){const n=r-t+1;let s=this._maxEntries;if(n<=s){const i=new I(e.slice(t,r+1));return c(i,this._toBBox),i}i||(i=Math.ceil(Math.log(n)/Math.log(s)),s=Math.ceil(n/s**(i-1)));const o=new P([]);o.height=i;const a=Math.ceil(n/s),l=a*Math.ceil(Math.sqrt(s));v(e,t,r,l,this._compareMinX);for(let n=t;n<=r;n+=l){const t=Math.min(n+l-1,r);v(e,n,t,a,this._compareMinY);for(let r=n;r<=t;r+=a){const n=Math.min(r+a-1,t);o.children.push(this._build(e,r,n,i-1))}}return c(o,this._toBBox),o}_insert(e,t,r){const i=this._toBBox,n=r?e:i(e);C.clear();const s=function(e,t,r,i){for(;i.push(t),!0!==t.leaf&&i.length-1!==r;){let r,i=1/0,n=1/0;for(let s=0,o=t.children.length;s<o;s++){const o=t.children[s],a=p(o),l=y(e,o)-a;l<n?(n=l,i=a<i?a:i,r=o):l===n&&a<i&&(i=a,r=o)}t=r||t.children[0]}return t}(n,this._data,t,C);for(s.children.push(e),d(s,n);t>=0&&C.data[t].children.length>this._maxEntries;)this._split(C,t),t--;!function(e,t,r){for(let i=r;i>=0;i--)d(t.data[i],e)}(n,C,t)}_split(e,t){const r=e.data[t],i=r.children.length,n=this._minEntries;this._chooseSplitAxis(r,n,i);const s=this._chooseSplitIndex(r,n,i);if(!s)return;const o=r.children.splice(s,r.children.length-s),a=r.leaf?new I(o):new P(o);a.height=r.height,c(r,this._toBBox),c(a,this._toBBox),t?e.data[t-1].children.push(a):this._splitRoot(r,a)}_splitRoot(e,t){this._data=new P([e,t]),this._data.height=e.height+1,c(this._data,this._toBBox)}_chooseSplitIndex(e,t,r){let i,n,s;i=n=1/0;for(let o=t;o<=r-t;o++){const t=u(e,0,o,this._toBBox),a=u(e,o,r,this._toBBox),l=g(t,a),c=p(t)+p(a);l<i?(i=l,s=o,n=c<n?c:n):l===i&&c<n&&(n=c,s=o)}return s}_chooseSplitAxis(e,t,r){const i=e.leaf?this._compareMinX:h,n=e.leaf?this._compareMinY:f;this._allDistMargin(e,t,r,i)<this._allDistMargin(e,t,r,n)&&e.children.sort(i)}_allDistMargin(e,t,r,i){e.children.sort(i);const n=this._toBBox,s=u(e,0,t,n),o=u(e,r-t,r,n);let a=m(s)+m(o);for(let i=t;i<r-t;i++){const t=e.children[i];d(s,e.leaf?n(t):t),a+=m(s)}for(let i=r-t-1;i>=t;i--){const t=e.children[i];d(o,e.leaf?n(t):t),a+=m(o)}return a}_condense(e){for(let t=e.length-1;t>=0;t--){const r=e.data[t];if(0===r.children.length)if(t>0){const n=e.data[t-1],s=n.children;s.splice((0,i.qh)(s,r,s.length,n.indexHint),1)}else this.clear();else c(r,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 r=e;for(x.clear();r;){if(!0===r.leaf)for(const e of r.children)t((0,n.zI)(e));else x.pushArray(r.children);r=x.pop()??null}}function c(e,t){u(e,0,e.children.length,t,e)}function u(e,t,r,i,n){n||(n=new I([])),n.minX=1/0,n.minY=1/0,n.maxX=-1/0,n.maxY=-1/0;for(let s,o=t;o<r;o++)s=e.children[o],d(n,e.leaf?i(s):s);return n}function d(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 h(e,t){return e.minX-t.minX}function f(e,t){return e.minY-t.minY}function p(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function m(e){return e.maxX-e.minX+(e.maxY-e.minY)}function y(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 g(e,t){const r=Math.max(e.minX,t.minX),i=Math.max(e.minY,t.minY),n=Math.min(e.maxX,t.maxX),s=Math.min(e.maxY,t.maxY);return Math.max(0,n-r)*Math.max(0,s-i)}function b(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function _(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function v(e,t,r,i,n){const s=[t,r];for(;s.length;){const t=s.pop(),r=s.pop();if(t-r<=i)continue;const a=r+Math.ceil((t-r)/i/2)*i;(0,o.q)(e,a,r,t,n),s.push(r,a,a,t)}}const w=new s.A,x=new s.A,C=new s.A,S=new s.A({deallocator:void 0});class A{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}}class T extends A{constructor(){super(...arguments),this.height=1,this.indexHint=new i.vW}}class I extends T{constructor(e){super(),this.children=e,this.leaf=!0}}class P extends T{constructor(e){super(),this.children=e,this.leaf=!1}}},76357:(e,t,r)=>{r.d(t,{A:()=>u});var i=r(31635),n=r(66552),s=r(25482),o=r(10107),a=(r(44208),r(53966),r(87811),r(93223)),l=r(64108);const c=new n.J({inherited:"inherited",codedValue:"coded-value",range:"range"});let u=class extends s.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)(c),(0,o.MZ)({json:{write:{isRequired:!0}}})],u.prototype,"type",void 0),u=(0,i.Cg)([(0,l.$)("esri.layers.support.Domain")],u)},77548:(e,t,r)=>{r.d(t,{Gh:()=>g,tk:()=>f,BR:()=>h,wI:()=>d,G$:()=>m,$x:()=>p,Ov:()=>l,UC:()=>s,W_:()=>c,OP:()=>y,TU:()=>a,XX:()=>o,jy:()=>u});var i=r(70333),n=r(11254);function s(e){return null!=e&&"object"==typeof e&&"type"in e&&"knowledge-graph-sublayer"===e.type}r(7762),r(84952),r(36563),r(36708),r(4146),new WeakMap,r(16215);const o={Point:"SceneLayer","3DObject":"SceneLayer",IntegratedMesh:"IntegratedMeshLayer",PointCloud:"PointCloudLayer",Building:"BuildingSceneLayer"};function a(e){const t=e?.type;return"building-scene"===t||"integrated-mesh"===t||"point-cloud"===t||"scene"===t}function l(e){return"feature"===e?.type&&!e.url&&"memory"===e.source?.type}function c(e){const t=e?.type;return("feature"===t||"subtype-group"===t||"oriented-imagery"===t)&&"feature-layer"===e?.source?.type}function u(e){return function(e){return null!=e&&"object"==typeof e&&"type"in e&&"feature"===e.type}(e)&&function(e){return"feature"===e?.type&&"feature-layer"===e.source?.type}(e)}async function d(e,t){const r=i.id?.findServerInfo(e);if(null!=r?.currentVersion)return r.owningSystemUrl||null;const s=e.toLowerCase().indexOf("/rest/services");if(-1===s)return null;const o=`${e.slice(0,s)}/rest/info`,a=null!=t?t.signal:null,{data:l}=await(0,n.A)(o,{query:{f:"json"},responseType:"json",signal:a});return l?.owningSystemUrl||null}function h(e){return function(e){if(!("capabilities"in e))return!1;switch(e.type){case"catalog":case"catalog-footprint":case"csv":case"feature":case"geojson":case"imagery":case"knowledge-graph-sublayer":case"ogc-feature":case"oriented-imagery":case"scene":case"sublayer":case"subtype-group":case"subtype-sublayer":case"wfs":return!0;default:return!1}}(e)?"effectiveCapabilities"in e?e.effectiveCapabilities:e.capabilities:null}function f(e){return!!function(e){if(!("editingEnabled"in e))return!1;switch(e.type){case"csv":case"feature":case"geojson":case"oriented-imagery":case"scene":case"subtype-group":case"subtype-sublayer":case"knowledge-graph-sublayer":return!0;default:return!1}}(e)&&("effectiveEditingEnabled"in e?e.effectiveEditingEnabled:e.editingEnabled)}function p(e,t){return null}function m(e){return null}function y(e){return!e||"Feature Service"===e.type&&!e.sourceUrl}function g(e,t){if(!t||!y(e))return;const r=(e.url,null);r&&(e.url=r)}},79677:(e,t,r)=>{r.d(t,{A:()=>h});var i,n=r(31635),s=r(25482),o=r(88930),a=r(10107),l=(r(44208),r(53966),r(87811),r(36005)),c=r(64108),u=r(43937),d=r(98623);let h=class extends s.o{static{i=this}static get allTime(){return f}static get empty(){return p}static fromArray(e){return new i({start:null!=e[0]?new Date(e[0]):e[0],end:null!=e[1]?new Date(e[1]):e[1]})}constructor(e){super(e),this.end=null,this.start=null}readEnd(e,t){return null!=t.end?new Date(t.end):null}writeEnd(e,t){t.end=e?.getTime()??null}get isAllTime(){return this.equals(i.allTime)}get isEmpty(){return this.equals(i.empty)}readStart(e,t){return null!=t.start?new Date(t.start):null}writeStart(e,t){t.start=e?.getTime()??null}clone(){return new i({end:this.end,start:this.start})}equals(e){if(!e)return!1;const t=this.start?.getTime()??this.start,r=this.end?.getTime()??this.end,i=e.start?.getTime()??e.start,n=e.end?.getTime()??e.end;return t===i&&r===n}expandTo(e,t=d.qU){if(this.isEmpty||this.isAllTime)return this.clone();let r=this.start;r&&(r=(0,o.lL)(r,e,t));let n=this.end;if(n){const r=(0,o.lL)(n,e,t);n=n.getTime()===r.getTime()?r:(0,o.S1)(r,1,e,t)}return new i({start:r,end:n})}intersection(e){if(!e)return this.clone();if(this.isEmpty||e.isEmpty)return i.empty;if(this.isAllTime)return e.clone();if(e.isAllTime)return this.clone();const t=this.start?.getTime()??-1/0,r=this.end?.getTime()??1/0,n=e.start?.getTime()??-1/0,s=e.end?.getTime()??1/0;let o,a;return n>=t&&n<=r?o=n:t>=n&&t<=s&&(o=t),r>=n&&r<=s?a=r:s>=t&&s<=r&&(a=s),null==o||null==a||isNaN(o)||isNaN(a)?i.empty:new i({start:o===-1/0?null:new Date(o),end:a===1/0?null:new Date(a)})}offset(e,t,r=d.qU){if(this.isEmpty||this.isAllTime)return this.clone();const n=new i,{start:s,end:a}=this;return null!=s&&(n.start=(0,o.S1)(s,e,t,r)),null!=a&&(n.end=(0,o.S1)(a,e,t,r)),n}toArray(){return this.isEmpty?[void 0,void 0]:[this.start?.getTime()??null,this.end?.getTime()??null]}union(e){if(!e||e.isEmpty)return this.clone();if(this.isEmpty)return e.clone();if(this.isAllTime||e.isAllTime)return f.clone();const t=null!=this.start&&null!=e.start?new Date(Math.min(this.start.getTime(),e.start.getTime())):null,r=null!=this.end&&null!=e.end?new Date(Math.max(this.end.getTime(),e.end.getTime())):null;return new i({start:t,end:r})}};(0,n.Cg)([(0,a.MZ)({type:Date,json:{write:{allowNull:!0}}})],h.prototype,"end",void 0),(0,n.Cg)([(0,l.w)("end")],h.prototype,"readEnd",null),(0,n.Cg)([(0,u.K)("end")],h.prototype,"writeEnd",null),(0,n.Cg)([(0,a.MZ)({readOnly:!0,json:{read:!1}})],h.prototype,"isAllTime",null),(0,n.Cg)([(0,a.MZ)({readOnly:!0,json:{read:!1}})],h.prototype,"isEmpty",null),(0,n.Cg)([(0,a.MZ)({type:Date,json:{write:{allowNull:!0}}})],h.prototype,"start",void 0),(0,n.Cg)([(0,l.w)("start")],h.prototype,"readStart",null),(0,n.Cg)([(0,u.K)("start")],h.prototype,"writeStart",null),h=i=(0,n.Cg)([(0,c.$)("esri.time.TimeExtent")],h);const f=new h,p=new h({start:void 0,end:void 0})},80451:(e,t,r)=>{r.d(t,{rS:()=>p,gK:()=>f}),r(44208);var i,n=r(53177),s=r(76357),o=r(31635),a=(r(53966),r(87811),r(49186),r(93223)),l=r(64108);let c=class extends s.A{static{i=this}constructor(e){super(e),this.type="inherited"}clone(){return new i}};(0,o.Cg)([(0,a.e)({inherited:"inherited"})],c.prototype,"type",void 0),c=i=(0,o.Cg)([(0,l.$)("esri.layers.support.InheritedDomain")],c);var u,d=r(10107);let h=class extends s.A{static{u=this}constructor(e){super(e),this.maxValue=null,this.minValue=null,this.type="range"}clone(){return new u({maxValue:this.maxValue,minValue:this.minValue,name:this.name})}};(0,o.Cg)([(0,d.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,r){t[r]=[this.minValue||0,e]},isRequired:!0}}})],h.prototype,"maxValue",void 0),(0,o.Cg)([(0,d.MZ)({json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range?.[0]},write:{target:"range",writer(e,t,r){t[r]=[e,this.maxValue||0]},isRequired:!0}}})],h.prototype,"minValue",void 0),(0,o.Cg)([(0,a.e)({range:"range"})],h.prototype,"type",void 0),h=u=(0,o.Cg)([(0,l.$)("esri.layers.support.RangeDomain")],h);const f={key:"type",base:s.A,typeMap:{range:h,"coded-value":n.A,inherited:c}};function p(e){if(!e?.type)return null;switch(e.type){case"range":return h.fromJSON(e);case"codedValue":return n.A.fromJSON(e);case"inherited":return c.fromJSON(e)}return null}},81961:(e,t,r)=>{r.d(t,{V:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"vec4",2,(i,n,s)=>i.setUniform4fv(e,t(n,s),r))}}},87582:(e,t,r)=>{r(6867),r(65215).R},95696:(e,t,r)=>{r.d(t,{A:()=>u});var i,n=r(31635),s=r(69540),o=r(25482),a=r(10107),l=(r(44208),r(53966),r(87811),r(93223)),c=r(64108);let u=class extends((0,s.OU)(o.o)){static{i=this}constructor(e){super(e),this.type="georeferenced",this.origin=null}static{this.absolute=new i}};(0,n.Cg)([(0,l.e)({georeferenced:"georeferenced"},{readOnly:!0})],u.prototype,"type",void 0),(0,n.Cg)([(0,a.MZ)({type:[Number],nonNullable:!1,json:{write:!0}})],u.prototype,"origin",void 0),u=i=(0,n.Cg)([(0,c.$)("esri.geometry.support.MeshGeoreferencedVertexSpace")],u)},96576:(e,t,r)=>{r.d(t,{A:()=>h});var i,n=r(31635),s=r(4718),o=r(10107),a=(r(44208),r(53966),r(93223)),l=r(64108),c=r(92438),u=r(63988),d=r(49849);let h=i=class extends((0,u.h)(c.A)){constructor(e){super(e),this.description=null,this.label=null,this.symbol=null,this.type="simple"}async collectRequiredFields(e,t){await Promise.all([this.collectSymbolFields(e,t),this.collectVVRequiredFields(e,t)])}async collectSymbolFields(e,t){await Promise.all(this.symbols.map(r=>r.collectRequiredFields(e,t)))}getSymbol(e,t){return this.symbol}async getSymbolAsync(e,t){return this.symbol}get symbols(){return this.symbol?[this.symbol]:[]}getAttributeHash(){return this.visualVariables?.reduce((e,t)=>e+t.getAttributeHash(),"")??""}getMeshHash(){return this.symbols.reduce((e,t)=>e+JSON.stringify(t),"")}get arcadeRequired(){return this.arcadeRequiredForVisualVariables}clone(){return new i({description:this.description,label:this.label,symbol:(0,s.o8)(this.symbol),visualVariables:(0,s.o8)(this.visualVariables),authoringInfo:(0,s.o8)(this.authoringInfo)})}};(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],h.prototype,"description",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],h.prototype,"label",void 0),(0,n.Cg)([(0,o.MZ)(d.Wp)],h.prototype,"symbol",void 0),(0,n.Cg)([(0,a.e)({simple:"simple"})],h.prototype,"type",void 0),h=i=(0,n.Cg)([(0,l.$)("esri.renderers.SimpleRenderer")],h)},98453:(e,t,r)=>{r.d(t,{m:()=>i});const i=new(r(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"})}}]);
|