@arcgis/core 4.33.0-next.20250512 → 4.33.0-next.20250513
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/0766ecb677d667e5fb83.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/0f57b6a3a85a47ebd9d0.js +346 -0
- package/assets/esri/core/workers/chunks/218a66d53f7cf4f285aa.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/{a5e746e10239a3bfe237.js → 30f3014c0ac6e2bc14bf.js} +1 -1
- package/assets/esri/core/workers/chunks/3596540ef49e5330ceb2.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/8a87c181b85d0b86b9bb.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/90ae15ce22a49bd84876.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/{fbcd94f60f92257a7303.js → aa82925ffb00babb0543.js} +2 -2
- package/assets/esri/core/workers/chunks/{fbcd94f60f92257a7303.js.LICENSE.txt → aa82925ffb00babb0543.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/b4f38fe9cc948a39ad87.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/{0aca29f7156b2b412f2e.js → d1f7bfb8daf11ecada9f.js} +1 -1
- package/assets/esri/core/workers/chunks/e0dc8794343c2a949ffb.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/e9b1349a2b3a3f300808.js +1 -0
- package/assets/esri/core/workers/chunks/{a8b42d8c0b76c234c09f.js → fef1a5f8a6fd3502b33b.js} +56 -57
- package/assets/esri/themes/base/widgets/_FeatureTable.scss +4 -0
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/chunks/LineSeries.js +1 -1
- package/chunks/ShadowCastAccumulate.glsl.js +1 -1
- package/chunks/ShadowHighlight.glsl.js +5 -5
- package/chunks/Theme.js +1 -1
- package/chunks/Tick.js +1 -1
- package/interfaces.d.ts +114 -11
- package/layers/VideoLayer.js +1 -1
- package/layers/knowledgeGraph/supportUtils.js +1 -1
- package/layers/video/VideoController.js +1 -1
- package/package.json +3 -4
- package/support/revision.js +1 -1
- package/views/3d/analysis/Slice/SliceTool.js +1 -1
- package/views/3d/analysis/SliceAnalysisView3D.js +1 -1
- package/views/3d/layers/SceneLayerView3D.js +1 -1
- package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorker.js +1 -1
- package/views/3d/layers/graphics/pipeline/FeatureProcessingContext.js +1 -1
- package/views/3d/layers/graphics/pipeline/Tile3DManager.js +1 -1
- package/views/3d/layers/graphics/pipeline/TileLocks.js +5 -0
- package/views/3d/layers/graphics/pipeline/featureData/FeatureData.js +1 -1
- package/views/3d/layers/graphics/pipeline/featureData/FeatureDataSubset.js +1 -1
- package/views/3d/layers/i3s/I3SOverrides.js +1 -1
- package/views/3d/webgl-engine/core/FBOCache.js +1 -1
- package/views/3d/webgl-engine/core/FBOCacheFormats.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +2 -27
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ShadowmapFiltering.glsl.js +29 -0
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowHighlight.glsl.js +1 -1
- package/views/SceneView.js +1 -1
- package/views/View.js +1 -1
- package/views/analysis/analysisViewUtils.js +1 -1
- package/views/support/LayerViewManager.js +1 -1
- package/webscene/Slide.js +1 -1
- package/widgets/Editor/Edits.js +1 -1
- package/widgets/Editor/UpdateFeaturesWorkflow.js +1 -1
- package/widgets/Editor/UpdateFeaturesWorkflowData.js +1 -1
- package/widgets/Editor/support/SketchController.js +1 -1
- package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
- package/widgets/FeatureTable/Grid/Column.js +1 -1
- package/widgets/FeatureTable/support/ColumnTemplateBase.js +1 -1
- package/widgets/Slice/SliceViewModel.js +1 -1
- package/widgets/Slice.js +1 -1
- package/widgets/support/iconUtils.js +1 -1
- package/assets/esri/core/workers/chunks/83d6a1b3db7d364d156b.js +0 -1
- package/assets/esri/core/workers/chunks/92cbe9af8a6c061bfb57.js +0 -346
- package/views/3d/layers/graphics/pipeline/TileActionSynchronizer.js +0 -5
|
@@ -1,346 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[3752],{2272:(e,t,r)=>{r.d(t,{Dl:()=>c,gf:()=>u,jV:()=>l,lF:()=>d});var n=r(92602),i=r(70333),s=r(4718),a=r(84952),o=r(926);function l(e,t){return t?{...t,query:{...e??{},...t.query}}:{query:e}}function c(e){return"string"==typeof e?(0,a.An)(e):(0,s.o8)(e)}function d(e,t,r){const n={};for(const i in e){if("declaredClass"===i)continue;const s=e[i];if(null!=s&&"function"!=typeof s)if(Array.isArray(s))n[i]=s.map((e=>d(e)));else if("object"==typeof s)if(s.toJSON){const e=s.toJSON(r?.[i]);n[i]=t?e:JSON.stringify(e)}else n[i]=t?s:JSON.stringify(s);else n[i]=s}return n}async function u(e,t,s){const a=function(e,t){return e?(0,o.Jn)(e,t)?t||n.A.apiKey:i.id?.findCredential(e)?.token:null}(e,t);if(a)return a;!i.id&&n.A.request.useIdentity&&await Promise.all([r.e(7292),r.e(3747)]).then(r.bind(r,73747));const l=await(i.id?.getCredential(e,s));return l?.token}},3330:(e,t,r)=>{r.d(t,{GB:()=>i,Qo:()=>a,Y4:()=>s});var n=r(96285);class i{static{this.instance=new n.oh("Etc/UTC")}}function s(e){return e instanceof n.bo?e===i.instance:"unknown"===e?.toString().toLowerCase()}function a(e){return s(e)?i.instance:e}},6867:(e,t,r)=>{r.d(t,{i:()=>u});var n=r(58083),i=r(9093),s=r(38954),a=r(51850),o=r(87317),l=r(91829),c=r(71351),d=r(29878);class u{get ray(){return this._ray}get distanceInRenderSpace(){return null==this.distance?null:((0,s.g)(f,this.ray.direction,this.distance),(0,s.l)(f))}withinDistance(e){return!!h(this)&&this.distanceInRenderSpace<=e}getIntersectionPoint(e){return!!h(this)&&((0,s.g)(f,this.ray.direction,this.distance),(0,s.f)(e,this.ray.origin,f),!0)}getTransformedNormal(e){return(0,s.c)(m,this.normal),m[3]=0,(0,o.t)(m,m,this.transformation),(0,s.c)(e,m),(0,s.n)(e,e)}constructor(e){this.intersector=d.d.OBJECT,this.normal=(0,a.vt)(),this.transformation=(0,i.vt)(),this._ray=(0,c.vt)(),this.init(e)}init(e){this.distance=this.target=this.drapedLayerOrder=this.renderPriority=null,this.intersector=d.d.OBJECT,(0,c.C)(e,this._ray)}set(e,t,r,o,l,c,d){this.intersector=e,this.distance=r,(0,s.c)(this.normal,o??a.Cb),(0,n.C)(this.transformation,l??i.zK),this.target=t,this.drapedLayerOrder=c,this.renderPriority=d}copy(e){(0,c.C)(e.ray,this._ray),this.intersector=e.intersector,this.distance=e.distance,this.target=e.target,this.drapedLayerOrder=e.drapedLayerOrder,this.renderPriority=e.renderPriority,(0,s.c)(this.normal,e.normal),(0,n.C)(this.transformation,e.transformation)}}function h(e){return null!=e?.distance}const f=(0,a.vt)(),m=(0,l.vt)()},10536:(e,t,r)=>{function n(e){const t={};for(const r in e){if("declaredClass"===r)continue;const i=e[r];if(null!=i&&"function"!=typeof i)if(Array.isArray(i)){t[r]=[];for(let e=0;e<i.length;e++)t[r][e]=n(i[e])}else"object"==typeof i?i.toJSON&&(t[r]=JSON.stringify(i)):t[r]=i}return t}r.d(t,{z:()=>n})},13259:(e,t,r)=>{r.d(t,{H:()=>z,b:()=>E,c:()=>L,f:()=>k,s:()=>M});var n=r(37585),i=r(48163),s=r(91829),a=r(79258),o=r(49255),l=r(76591),c=r(36782),d=r(47522),u=r(40268),h=r(63578),f=r(13755),m=r(42593),p=r(42398),y=r(63365),g=r(26835),_=r(52587),b=r(20693),v=r(47286),w=r(14314),x=r(81961),S=r(71988),T=r(33094),C=r(20304),I=r(31821),A=r(12791),O=r(63761),R=r(59643),D=r(46540),P=r(14113),F=r(49788);const M={occludedFadeFactor:1};function E(e){const t=new P.N5,{signedDistanceFieldEnabled:r,occlusionTestEnabled:i,horizonCullingEnabled:M,pixelSnappingEnabled:E,hasScreenSizePerspective:k,debugDrawLabelBorder:z,vvSize:B,vvColor:j,hasRotation:q,occludedFragmentFade:H,sampleSignedDistanceFieldTexelCenter:G}=e;t.include(u.Q,e),t.vertex.include(l.rA,e);const{occlusionPass:$,output:Y,oitPass:Z}=e;if($)return t.include(h.I,e),t;const{vertex:J,fragment:W}=t;t.include(_.Y6),t.include(p.A,e),t.include(c.g,e),i&&t.include(f.y),W.include(g.W),W.include(y.a),t.varyings.add("vcolor","vec4"),t.varyings.add("vtc","vec2"),t.varyings.add("vsize","vec2");const X=Y===o.V.Highlight,Q=X&&i;Q&&t.varyings.add("voccluded","float"),J.uniforms.add(new w.I("viewport",(e=>e.camera.fullViewport)),new v.G("screenOffset",((e,t)=>(0,n.hZ)(V,2*e.screenOffset[0]*t.camera.pixelRatio,2*e.screenOffset[1]*t.camera.pixelRatio))),new v.G("anchorPosition",(e=>L(e))),new S.E("materialColor",(e=>e.color)),new C.m("materialRotation",(e=>e.rotation)),new O.N("tex",(e=>e.texture))),(0,b.Nz)(J),r&&(J.uniforms.add(new S.E("outlineColor",(e=>e.outlineColor))),W.uniforms.add(new S.E("outlineColor",(e=>U(e)?e.outlineColor:s.uY)),new C.m("outlineSize",(e=>U(e)?e.outlineSize:0)))),M&&J.uniforms.add(new x.V("pointDistanceSphere",((e,t)=>{const r=t.camera.eye,n=e.origin;return(0,s.fA)(n[0]-r[0],n[1]-r[1],n[2]-r[2],a.$O.radius)}))),E&&J.include(d.K),k&&((0,_.pM)(J),(0,_.OH)(J)),z&&t.varyings.add("debugBorderCoords","vec4"),t.attributes.add(D.r.UVI,"vec2"),t.attributes.add(D.r.COLOR,"vec4"),t.attributes.add(D.r.SIZE,"vec2"),t.attributes.add(D.r.ROTATION,"float"),(B||j)&&t.attributes.add(D.r.FEATUREATTRIBUTE,"vec4"),J.code.add(M?I.H`bool behindHorizon(vec3 posModel) {
|
|
2
|
-
vec3 camToEarthCenter = pointDistanceSphere.xyz - localOrigin;
|
|
3
|
-
vec3 camToPos = pointDistanceSphere.xyz + posModel;
|
|
4
|
-
float earthRadius = pointDistanceSphere.w;
|
|
5
|
-
float a = dot(camToPos, camToPos);
|
|
6
|
-
float b = dot(camToPos, camToEarthCenter);
|
|
7
|
-
float c = dot(camToEarthCenter, camToEarthCenter) - earthRadius * earthRadius;
|
|
8
|
-
return b > 0.0 && b < a && b * b > a * c;
|
|
9
|
-
}`:I.H`bool behindHorizon(vec3 posModel) { return false; }`),J.main.add(I.H`
|
|
10
|
-
ProjectHUDAux projectAux;
|
|
11
|
-
vec4 posProj = projectPositionHUD(projectAux);
|
|
12
|
-
forwardObjectAndLayerIdColor();
|
|
13
|
-
|
|
14
|
-
if (rejectBySlice(projectAux.posModel)) {
|
|
15
|
-
// Project outside of clip plane
|
|
16
|
-
gl_Position = vec4(1e038, 1e038, 1e038, 1.0);
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
if (behindHorizon(projectAux.posModel)) {
|
|
21
|
-
// Project outside of clip plane
|
|
22
|
-
gl_Position = vec4(1e038, 1e038, 1e038, 1.0);
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
vec2 inputSize;
|
|
27
|
-
${(0,I.If)(k,I.H`
|
|
28
|
-
inputSize = screenSizePerspectiveScaleVec2(size, projectAux.absCosAngle, projectAux.distanceToCamera, screenSizePerspective);
|
|
29
|
-
vec2 screenOffsetScaled = screenSizePerspectiveScaleVec2(screenOffset, projectAux.absCosAngle, projectAux.distanceToCamera, screenSizePerspectiveAlignment);`,I.H`
|
|
30
|
-
inputSize = size;
|
|
31
|
-
vec2 screenOffsetScaled = screenOffset;`)}
|
|
32
|
-
${(0,I.If)(B,I.H`inputSize *= vvScale(featureAttribute).xx;`)}
|
|
33
|
-
|
|
34
|
-
vec2 combinedSize = inputSize * pixelRatio;
|
|
35
|
-
vec4 quadOffset = vec4(0.0);
|
|
36
|
-
|
|
37
|
-
${(0,I.If)(i,I.H`
|
|
38
|
-
bool visible = testHUDVisibility(posProj);
|
|
39
|
-
if (!visible) {
|
|
40
|
-
vtc = vec2(0.0);
|
|
41
|
-
${(0,I.If)(z,"debugBorderCoords = vec4(0.5, 0.5, 1.5 / combinedSize);")}
|
|
42
|
-
return;
|
|
43
|
-
}`)}
|
|
44
|
-
${(0,I.If)(Q,I.H`voccluded = visible ? 0.0 : 1.0;`)}
|
|
45
|
-
`);const K=I.H`
|
|
46
|
-
vec2 uvi1 = vec2(uvi.x < 0.0 ? 1.0 : 0.0, uvi.y < 0.0 ? 1.0 : 0.0);
|
|
47
|
-
vec2 uv = abs(uvi + uvi1);
|
|
48
|
-
vec2 texSize = vec2(textureSize(tex, 0));
|
|
49
|
-
uv.x = uv.x >= ${N} ? 1.0 : uv.x / texSize.x;
|
|
50
|
-
uv.y = uv.y >= ${N} ? 1.0 : uv.y / texSize.y;
|
|
51
|
-
quadOffset.xy = (uvi1 - anchorPosition) * 2.0 * combinedSize;
|
|
52
|
-
|
|
53
|
-
${(0,I.If)(q,I.H`
|
|
54
|
-
float angle = radians(materialRotation + rotation);
|
|
55
|
-
float cosAngle = cos(angle);
|
|
56
|
-
float sinAngle = sin(angle);
|
|
57
|
-
mat2 rotate = mat2(cosAngle, -sinAngle, sinAngle, cosAngle);
|
|
58
|
-
|
|
59
|
-
quadOffset.xy = rotate * quadOffset.xy;
|
|
60
|
-
`)}
|
|
61
|
-
|
|
62
|
-
quadOffset.xy = (quadOffset.xy + screenOffsetScaled) / viewport.zw * posProj.w;
|
|
63
|
-
`,ee=E?r?I.H`posProj = alignToPixelOrigin(posProj, viewport.zw) + quadOffset;`:I.H`posProj += quadOffset;
|
|
64
|
-
if (inputSize.x == size.x) {
|
|
65
|
-
posProj = alignToPixelOrigin(posProj, viewport.zw);
|
|
66
|
-
}`:I.H`posProj += quadOffset;`;J.main.add(I.H`
|
|
67
|
-
${K}
|
|
68
|
-
${j?"vcolor = interpolateVVColor(featureAttribute.y) * materialColor;":"vcolor = color / 255.0 * materialColor;"}
|
|
69
|
-
|
|
70
|
-
${(0,I.If)(Y===o.V.ObjectAndLayerIdColor,I.H`vcolor.a = 1.0;`)}
|
|
71
|
-
|
|
72
|
-
bool alphaDiscard = vcolor.a < ${I.H.float(F.Q)};
|
|
73
|
-
${(0,I.If)(r,`alphaDiscard = alphaDiscard && outlineColor.a < ${I.H.float(F.Q)};`)}
|
|
74
|
-
if (alphaDiscard) {
|
|
75
|
-
// "early discard" if both symbol color (= fill) and outline color (if applicable) are transparent
|
|
76
|
-
gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
|
|
77
|
-
return;
|
|
78
|
-
} else {
|
|
79
|
-
${ee}
|
|
80
|
-
gl_Position = posProj;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
vtc = uv;
|
|
84
|
-
|
|
85
|
-
${(0,I.If)(z,I.H`debugBorderCoords = vec4(uv01, 1.5 / combinedSize);`)}
|
|
86
|
-
vsize = inputSize;
|
|
87
|
-
`),W.uniforms.add(new O.N("tex",(e=>e.texture))),H&&!X&&W.uniforms.add(new A.x("depthMap",(e=>e.mainDepth)),new T.U("occludedOpacity",(e=>e.hudOccludedFragmentOpacity)));const te=z?I.H`(isBorder > 0.0 ? 0.0 : ${I.H.float(F.Q)})`:I.H.float(F.Q),re=I.H`
|
|
88
|
-
${(0,I.If)(z,I.H`float isBorder = float(any(lessThan(debugBorderCoords.xy, debugBorderCoords.zw)) || any(greaterThan(debugBorderCoords.xy, 1.0 - debugBorderCoords.zw)));`)}
|
|
89
|
-
|
|
90
|
-
vec2 samplePos = vtc;
|
|
91
|
-
|
|
92
|
-
${(0,I.If)(G,I.H`
|
|
93
|
-
float txSize = float(textureSize(tex, 0).x);
|
|
94
|
-
float texelSize = 1.0 / txSize;
|
|
95
|
-
|
|
96
|
-
// Calculate how much we have to add/subtract to/from each texel to reach the size of an onscreen pixel
|
|
97
|
-
vec2 scaleFactor = (vsize - txSize) * texelSize;
|
|
98
|
-
samplePos += (vec2(1.0, -1.0) * texelSize) * scaleFactor;`)}
|
|
99
|
-
|
|
100
|
-
${r?I.H`
|
|
101
|
-
vec4 fillPixelColor = vcolor;
|
|
102
|
-
|
|
103
|
-
// Get distance and map it into [-0.5, 0.5]
|
|
104
|
-
float d = rgbaTofloat(texture(tex, samplePos)) - 0.5;
|
|
105
|
-
|
|
106
|
-
// Distance in output units (i.e. pixels)
|
|
107
|
-
float dist = d * vsize.x;
|
|
108
|
-
|
|
109
|
-
// Create smooth transition from the icon into its outline
|
|
110
|
-
float fillAlphaFactor = clamp(0.5 - dist, 0.0, 1.0);
|
|
111
|
-
fillPixelColor.a *= fillAlphaFactor;
|
|
112
|
-
|
|
113
|
-
if (outlineSize > 0.25) {
|
|
114
|
-
vec4 outlinePixelColor = outlineColor;
|
|
115
|
-
float clampedOutlineSize = min(outlineSize, 0.5*vsize.x);
|
|
116
|
-
|
|
117
|
-
// Create smooth transition around outline
|
|
118
|
-
float outlineAlphaFactor = clamp(0.5 - (abs(dist) - 0.5*clampedOutlineSize), 0.0, 1.0);
|
|
119
|
-
outlinePixelColor.a *= outlineAlphaFactor;
|
|
120
|
-
|
|
121
|
-
if (
|
|
122
|
-
outlineAlphaFactor + fillAlphaFactor < ${te} ||
|
|
123
|
-
fillPixelColor.a + outlinePixelColor.a < ${I.H.float(F.Q)}
|
|
124
|
-
) {
|
|
125
|
-
discard;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
// perform un-premultiplied over operator (see https://en.wikipedia.org/wiki/Alpha_compositing#Description)
|
|
129
|
-
float compositeAlpha = outlinePixelColor.a + fillPixelColor.a * (1.0 - outlinePixelColor.a);
|
|
130
|
-
vec3 compositeColor = vec3(outlinePixelColor) * outlinePixelColor.a +
|
|
131
|
-
vec3(fillPixelColor) * fillPixelColor.a * (1.0 - outlinePixelColor.a);
|
|
132
|
-
|
|
133
|
-
${(0,I.If)(!X,I.H`fragColor = vec4(compositeColor, compositeAlpha);`)}
|
|
134
|
-
} else {
|
|
135
|
-
if (fillAlphaFactor < ${te}) {
|
|
136
|
-
discard;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
${(0,I.If)(!X,I.H`fragColor = premultiplyAlpha(fillPixelColor);`)}
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
// visualize SDF:
|
|
143
|
-
// fragColor = vec4(clamp(-dist/vsize.x*2.0, 0.0, 1.0), clamp(dist/vsize.x*2.0, 0.0, 1.0), 0.0, 1.0);
|
|
144
|
-
`:I.H`
|
|
145
|
-
vec4 texColor = texture(tex, samplePos, -0.5);
|
|
146
|
-
if (texColor.a < ${te}) {
|
|
147
|
-
discard;
|
|
148
|
-
}
|
|
149
|
-
${(0,I.If)(!X,I.H`fragColor = texColor * premultiplyAlpha(vcolor);`)}
|
|
150
|
-
`}
|
|
151
|
-
|
|
152
|
-
${(0,I.If)(H&&!X,I.H`
|
|
153
|
-
float zSample = texelFetch(depthMap, ivec2(gl_FragCoord.xy), 0).x;
|
|
154
|
-
if (zSample < gl_FragCoord.z) {
|
|
155
|
-
fragColor *= occludedOpacity;
|
|
156
|
-
}
|
|
157
|
-
`)}
|
|
158
|
-
|
|
159
|
-
${(0,I.If)(!X&&z,I.H`fragColor = mix(fragColor, vec4(1.0, 0.0, 1.0, 1.0), isBorder * 0.5);`)}
|
|
160
|
-
`;switch(Y){case o.V.Color:case o.V.ColorEmission:t.outputs.add("fragColor","vec4",0),Y===o.V.ColorEmission&&t.outputs.add("fragEmission","vec4",1),Z===R.Y.ColorAlpha&&t.outputs.add("fragAlpha","float",Y===o.V.ColorEmission?2:1),W.main.add(I.H`
|
|
161
|
-
${re}
|
|
162
|
-
${(0,I.If)(Z===R.Y.FrontFace,I.H`fragColor.rgb /= fragColor.a;`)}
|
|
163
|
-
${(0,I.If)(Y===o.V.ColorEmission,I.H`fragEmission = vec4(0.0);`)}
|
|
164
|
-
${(0,I.If)(Z===R.Y.ColorAlpha,I.H`fragAlpha = fragColor.a;`)}`);break;case o.V.ObjectAndLayerIdColor:W.main.add(I.H`
|
|
165
|
-
${re}
|
|
166
|
-
outputObjectAndLayerIdColor();`);break;case o.V.Highlight:t.include(m.Q,e),W.main.add(I.H`
|
|
167
|
-
${re}
|
|
168
|
-
outputHighlight(${(0,I.If)(Q,I.H`voccluded == 1.0`,I.H`false`)});`)}return t}function U(e){return e.outlineColor[3]>0&&e.outlineSize>0}function L(e){return e.textureIsSignedDistanceField?(t=e.anchorPosition,r=e.distanceFieldBoundingBox,i=V,(0,n.hZ)(i,t[0]*(r[2]-r[0])+r[0],t[1]*(r[3]-r[1])+r[1])):(0,n.C)(V,e.anchorPosition),V;var t,r,i}const V=(0,i.vt)(),k=32e3,N=I.H.float(k),z=Object.freeze(Object.defineProperty({__proto__:null,build:E,calculateAnchorPosition:L,fullUV:k,shaderSettings:M},Symbol.toStringTag,{value:"Module"}))},13755:(e,t,r)=>{r.d(t,{y:()=>c});var n,i=r(47522);!function(e){e[e.Occluded=0]="Occluded",e[e.NotOccluded=1]="NotOccluded",e[e.Both=2]="Both",e[e.COUNT=3]="COUNT"}(n||(n={}));var s=r(14314),a=r(33094),o=r(31821),l=r(12791);function c(e){e.vertex.uniforms.add(new a.U("renderTransparentlyOccludedHUD",(e=>e.hudRenderStyle===n.Occluded?1:e.hudRenderStyle===n.NotOccluded?0:.75)),new s.I("viewport",(e=>e.camera.fullViewport)),new l.x("hudVisibilityTexture",(e=>e.hudVisibility?.getTexture()))),e.vertex.include(i.K),e.vertex.code.add(o.H`bool testHUDVisibility(vec4 posProj) {
|
|
169
|
-
vec4 posProjCenter = alignToPixelCenter(posProj, viewport.zw);
|
|
170
|
-
vec4 occlusionPixel = texture(hudVisibilityTexture, .5 + .5 * posProjCenter.xy / posProjCenter.w);
|
|
171
|
-
if (renderTransparentlyOccludedHUD > 0.5) {
|
|
172
|
-
return occlusionPixel.r * occlusionPixel.g > 0.0 && occlusionPixel.g * renderTransparentlyOccludedHUD < 1.0;
|
|
173
|
-
}
|
|
174
|
-
return occlusionPixel.r * occlusionPixel.g > 0.0 && occlusionPixel.g == 1.0;
|
|
175
|
-
}`)}},15032:(e,t,r)=>{r.d(t,{k:()=>l});var n=r(78502),i=r(73444),s=r(96285);function a(e){if(!e)return"";const t=/(a|A|hh?|HH?|mm?|ss?|SSS|S|.)/g;let r="";for(const n of e.match(t)||[])switch(n){case"SSS":case"m":case"mm":case"h":case"hh":case"H":case"HH":case"s":case"ss":r+=n;break;case"A":case"a":r+="a";break;default:r+=`'${n}'`}return r}const o="esri.core.sql.timeonly";class l{constructor(e,t,r,n){this._hour=e,this._minute=t,this._second=r,this._millisecond=n,this.declaredRootClass=o}static isTimeOnly(e){return"object"==typeof e&&null!=e&&"declaredRootClass"in e&&e.declaredRootClass===o}get hour(){return this._hour}get minute(){return this._minute}get second(){return this._second}get millisecond(){return this._millisecond}equals(e){return l.isTimeOnly(e)&&e.hour===this.hour&&e.minute===this.minute&&e.second===this.second&&e.millisecond===this.millisecond}clone(){return new l(this.hour,this.minute,this.second,this.millisecond)}isValid(){return(0,n.Fq)(this.hour)&&(0,n.Fq)(this.minute)&&(0,n.Fq)(this.second)&&(0,n.Fq)(this.millisecond)&&this.hour>=0&&this.hour<24&&this.minute>=0&&this.minute<60&&this.second>=0&&this.second<60&&this.millisecond>=0&&this.millisecond<1e3}toString(){return`${this.hour.toString().padStart(2,"0")}:${this.minute.toString().padStart(2,"0")}:${this.second.toString().padStart(2,"0")}`+(this.millisecond>0?"."+this.millisecond.toString().padStart(3,"0"):"")}toSQLValue(){return this.toString()}toSQLWithKeyword(){return`time '${this.hour.toString().padStart(2,"0")}:${this.minute.toString().padStart(2,"0")}:${this.second.toString().padStart(2,"0")}${this.millisecond>0?"."+this.millisecond.toString().padStart(3,"0"):""}'`}toStorageString(){return`${this.hour.toString().padStart(2,"0")}:${this.minute.toString().padStart(2,"0")}:${this.second.toString().padStart(2,"0")}`}toFormat(e=null){return null===e||""===e?this.toString():(e=a(e))?s.c9.local(1970,1,1,this._hour,this._minute,this._second,this._millisecond).toFormat(e,{locale:(0,i.JK)(),numberingSystem:"latn"}):""}toNumber(){return this.millisecond+1e3*this.second+1e3*this.minute*60+60*this.hour*60*1e3}static fromParts(e,t,r,n){const i=new l(e,t,r,n);return i.isValid()?i:null}static fromReader(e){if(!e)return null;const t=e.split(":");return 3!==t.length?null:new l(parseInt(t[0],10),parseInt(t[1],10),parseInt(t[2],10),0)}static fromMilliseconds(e){if(e>864e5||e<0)return null;const t=Math.floor(e/1e3%60),r=Math.floor(e/6e4%60),n=Math.floor(e/36e5%24),i=Math.floor(e%1e3);return new l(n,r,t,i)}static fromDateJS(e){return new l(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds())}static fromDateTime(e){return new l(e.hour,e.minute,e.second,e.millisecond)}static fromSqlTimeStampOffset(e){return this.fromDateTime(e.toDateTime())}static fromString(e,t=null){if(""===e)return null;if(null===e)return null;const r=[];t?(t=a(t))&&r.push(t):null!==t&&""!==t||(r.push("HH:mm:ss"),r.push("HH:mm:ss.SSS"),r.push("hh:mm:ss a"),r.push("hh:mm:ss.SSS a"),r.push("HH:mm"),r.push("hh:mm a"),r.push("H:mm"),r.push("h:mm a"),r.push("H:mm:ss"),r.push("h:mm:ss a"),r.push("H:mm:ss.SSS"),r.push("h:mm:ss.SSS a"));for(const t of r){const r=s.c9.fromFormat(e,t);if(r.isValid)return new l(r.hour,r.minute,r.second,r.millisecond)}return null}plus(e,t){switch(e){case"days":case"years":case"months":return this.clone();case"hours":case"minutes":case"seconds":case"milliseconds":return l.fromDateTime(this.toUTCDateTime().plus({[e]:t}))}return null}toUTCDateTime(){return s.c9.utc(1970,1,1,this.hour,this.minute,this.second,this.millisecond)}difference(e,t){switch(t.toLowerCase()){case"days":case"day":case"d":return this.toUTCDateTime().diff(e.toUTCDateTime(),"days").days;case"months":case"month":return this.toUTCDateTime().diff(e.toUTCDateTime(),"months").months;case"minutes":case"minute":case"m":return"M"===t?this.toUTCDateTime().diff(e.toUTCDateTime(),"months").months:this.toUTCDateTime().diff(e.toUTCDateTime(),"minutes").minutes;case"seconds":case"second":case"s":return this.toUTCDateTime().diff(e.toUTCDateTime(),"seconds").seconds;case"milliseconds":case"millisecond":case"ms":default:return this.toUTCDateTime().diff(e.toUTCDateTime(),"milliseconds").milliseconds;case"hours":case"hour":case"h":return this.toUTCDateTime().diff(e.toUTCDateTime(),"hours").hours;case"years":case"year":case"y":return this.toUTCDateTime().diff(e.toUTCDateTime(),"years").years}}}},18251:(e,t,r)=>{r.d(t,{A:()=>d});var n=r(90237),i=r(69540),s=r(25482),a=r(10107),o=(r(44208),r(53966),r(87811),r(93223)),l=r(40608),c=r(51850);let d=class extends(i.A.ClonableMixin(s.A)){constructor(e){super(e),this.type="local",this.origin=(0,c.vt)()}};(0,n._)([(0,o.e)({local:"local"},{readOnly:!0})],d.prototype,"type",void 0),(0,n._)([(0,a.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],d.prototype,"origin",void 0),d=(0,n._)([(0,l.$)("esri.geometry.support.MeshLocalVertexSpace")],d)},20437:(e,t,r)=>{r.d(t,{A:()=>p});var n,i=r(90237),s=r(66552),a=r(25482),o=r(10107),l=r(56507),c=(r(44208),r(87811),r(93223)),d=r(36005),u=r(40608),h=r(80451),f=r(98453);const m=new s.J({binary:"binary",coordinate:"coordinate",countOrAmount:"count-or-amount",dateAndTime:"date-and-time",description:"description",locationOrPlaceName:"location-or-place-name",measurement:"measurement",nameOrTitle:"name-or-title",none:"none",orderedOrRanked:"ordered-or-ranked",percentageOrRatio:"percentage-or-ratio",typeOrCategory:"type-or-category",uniqueIdentifier:"unique-identifier"});let p=class extends a.A{static{n=this}constructor(e){super(e),this.alias=null,this.defaultValue=void 0,this.description=null,this.domain=null,this.editable=!0,this.length=void 0,this.name=null,this.nullable=!0,this.type=null,this.valueType=null,this.visible=!0}readDescription(e,{description:t}){let r=null;try{r=t?JSON.parse(t):null}catch(e){}return r?.value??null}readValueType(e,{description:t}){let r=null;try{r=t?JSON.parse(t):null}catch(e){}return r?m.fromJSON(r.fieldValueType):null}clone(){return new n({alias:this.alias,defaultValue:this.defaultValue,description:this.description,domain:this.domain?.clone()??null,editable:this.editable,length:this.length,name:this.name,nullable:this.nullable,type:this.type,valueType:this.valueType,visible:this.visible})}};(0,i._)([(0,o.MZ)({type:String,json:{write:!0}})],p.prototype,"alias",void 0),(0,i._)([(0,o.MZ)({type:[String,Number],json:{write:{allowNull:!0}}})],p.prototype,"defaultValue",void 0),(0,i._)([(0,o.MZ)()],p.prototype,"description",void 0),(0,i._)([(0,d.w)("description")],p.prototype,"readDescription",null),(0,i._)([(0,o.MZ)({types:h.gK,json:{read:{reader:h.rS},write:!0}})],p.prototype,"domain",void 0),(0,i._)([(0,o.MZ)({type:Boolean,json:{write:!0}})],p.prototype,"editable",void 0),(0,i._)([(0,o.MZ)({type:l.jz,json:{write:{overridePolicy:e=>({enabled:Number.isFinite(e)})}}})],p.prototype,"length",void 0),(0,i._)([(0,o.MZ)({type:String,json:{write:!0}})],p.prototype,"name",void 0),(0,i._)([(0,o.MZ)({type:Boolean,json:{write:!0}})],p.prototype,"nullable",void 0),(0,i._)([(0,c.e)(f.m)],p.prototype,"type",void 0),(0,i._)([(0,o.MZ)()],p.prototype,"valueType",void 0),(0,i._)([(0,d.w)("valueType",["description"])],p.prototype,"readValueType",null),(0,i._)([(0,o.MZ)({type:Boolean,json:{read:!1}})],p.prototype,"visible",void 0),p=n=(0,i._)([(0,u.$)("esri.layers.support.Field")],p)},26835:(e,t,r)=>{r.d(t,{W:()=>i});var n=r(31821);function i(e){e.code.add(n.H`const float MAX_RGBA_FLOAT =
|
|
176
|
-
255.0 / 256.0 +
|
|
177
|
-
255.0 / 256.0 / 256.0 +
|
|
178
|
-
255.0 / 256.0 / 256.0 / 256.0 +
|
|
179
|
-
255.0 / 256.0 / 256.0 / 256.0 / 256.0;
|
|
180
|
-
const vec4 FIXED_POINT_FACTORS = vec4(1.0, 256.0, 256.0 * 256.0, 256.0 * 256.0 * 256.0);
|
|
181
|
-
vec4 float2rgba(const float value) {
|
|
182
|
-
float valueInValidDomain = clamp(value, 0.0, MAX_RGBA_FLOAT);
|
|
183
|
-
vec4 fixedPointU8 = floor(fract(valueInValidDomain * FIXED_POINT_FACTORS) * 256.0);
|
|
184
|
-
const float toU8AsFloat = 1.0 / 255.0;
|
|
185
|
-
return fixedPointU8 * toU8AsFloat;
|
|
186
|
-
}`),e.code.add(n.H`const vec4 RGBA_TO_FLOAT_FACTORS = vec4(
|
|
187
|
-
255.0 / (256.0),
|
|
188
|
-
255.0 / (256.0 * 256.0),
|
|
189
|
-
255.0 / (256.0 * 256.0 * 256.0),
|
|
190
|
-
255.0 / (256.0 * 256.0 * 256.0 * 256.0)
|
|
191
|
-
);
|
|
192
|
-
float rgbaTofloat(vec4 rgba) {
|
|
193
|
-
return dot(rgba, RGBA_TO_FLOAT_FACTORS);
|
|
194
|
-
}`),e.code.add(n.H`const vec4 uninterpolatedRGBAToFloatFactors = vec4(
|
|
195
|
-
1.0 / 256.0,
|
|
196
|
-
1.0 / 256.0 / 256.0,
|
|
197
|
-
1.0 / 256.0 / 256.0 / 256.0,
|
|
198
|
-
1.0 / 256.0 / 256.0 / 256.0 / 256.0
|
|
199
|
-
);
|
|
200
|
-
float uninterpolatedRGBAToFloat(vec4 rgba) {
|
|
201
|
-
return (dot(round(rgba * 255.0), uninterpolatedRGBAToFloatFactors) - 0.5) * 2.0;
|
|
202
|
-
}`)}},27615:(e,t,r)=>{r.d(t,{CK:()=>l,Hq:()=>o,MW:()=>c,TE:()=>d,yJ:()=>u});var n=r(38954),i=r(86738),s=r(95696),a=r(18251);function o(e){return null!=e.origin}function l(e){return o(e.vertexSpace)}function c(e,t){if(!o(e))return null;const[r,n,s]=e.origin;return new i.A({x:r,y:n,z:s,spatialReference:t})}function d(e,t){const{x:r,y:n,z:i,spatialReference:o}=e,l=[r,n,i??0];return"local"===(t?.vertexSpace??function(e){return e.isGeographic||e.isWebMercator?"local":"georeferenced"}(o))?new a.A({origin:l}):new s.A({origin:l})}function u(e,t){return e.type===t.type&&(e.origin===t.origin||null!=e.origin&&null!=t.origin&&(0,n.q)(e.origin,t.origin))}},27993:(e,t,r)=>{r.d(t,{F:()=>s}),r(80586);var n=r(16930),i=r(65806);function s(e,t,r,n,s){return!(null==t||null==n||e.length<2)&&(a.x=e[0],a.y=e[1],a.z=e[2],a.spatialReference=t,(0,i.g)(a,r,n,s))}const a=function(e,t,r,n){return{x:0,y:0,z:0,hasZ:!0,hasM:!1,spatialReference:n,type:"point"}}(0,0,0,n.A.WGS84)},29878:(e,t,r)=>{var n;r.d(t,{d:()=>n}),function(e){e[e.OBJECT=0]="OBJECT",e[e.HUD=1]="HUD",e[e.TERRAIN=2]="TERRAIN",e[e.OVERLAY=3]="OVERLAY",e[e.I3S=4]="I3S",e[e.PCL=5]="PCL",e[e.LOD=6]="LOD",e[e.VOXEL=7]="VOXEL",e[e.TILES3D=8]="TILES3D"}(n||(n={}))},31756:(e,t,r)=>{r.d(t,{j:()=>s});var n=r(83047),i=r(79258);const s={unknown:1,inches:(0,n.oU)(1,"meters","inches"),feet:(0,n.oU)(1,"meters","feet"),"us-feet":(0,n.oU)(1,"meters","us-feet"),yards:(0,n.oU)(1,"meters","yards"),miles:(0,n.oU)(1,"meters","miles"),"nautical-miles":(0,n.oU)(1,"meters","nautical-miles"),millimeters:(0,n.oU)(1,"meters","millimeters"),centimeters:(0,n.oU)(1,"meters","centimeters"),decimeters:(0,n.oU)(1,"meters","decimeters"),meters:(0,n.oU)(1,"meters","meters"),kilometers:(0,n.oU)(1,"meters","kilometers"),"decimal-degrees":1/(0,n.vl)(1,"meters",i.$O.radius)}},32587:(e,t,r)=>{r.d(t,{A:()=>s});var n=r(62788),i=r(95488);class s{constructor(e){this._observable=new i.I,this._map=new Map(e)}get size(){return(0,n.gc)(this._observable),this._map.size}clear(){this._map.size>0&&(this._map.clear(),this._observable.notify())}delete(e){const t=this._map.delete(e);return t&&this._observable.notify(),t}entries(){return(0,n.gc)(this._observable),this._map.entries()}forEach(e,t){(0,n.gc)(this._observable),this._map.forEach(((r,n)=>e.call(t,r,n,this)),t)}get(e){return(0,n.gc)(this._observable),this._map.get(e)}has(e){return(0,n.gc)(this._observable),this._map.has(e)}keys(){return(0,n.gc)(this._observable),this._map.keys()}set(e,t){return this._map.set(e,t),this._observable.notify(),this}values(){return(0,n.gc)(this._observable),this._map.values()}[Symbol.iterator](){return(0,n.gc)(this._observable),this._map[Symbol.iterator]()}[Symbol.dispose](){this._observable.destroy()}get[Symbol.toStringTag](){return this._map[Symbol.toStringTag]}}},36708:(e,t,r)=>{r.d(t,{C_:()=>h,OH:()=>p,Vh:()=>y,on:()=>u,pc:()=>g,wB:()=>l,z7:()=>c});var n=r(37955),i=r(36563),s=r(97768),a=r(74887),o=r(14012);function l(e,t,r={}){return d(e,t,r,f)}function c(e,t,r={}){return d(e,t,r,m)}function d(e,t,r={},n){let i=null;const a=r.once?(e,r)=>{n(e)&&((0,s.xt)(i),t(e,r))}:(e,r)=>{n(e)&&t(e,r)};if(i=(0,o.Cn)(e,a,r.sync,r.equals),r.initial){const t=e();a(t,t)}return i}function u(e,t,r,a={}){let o=null,c=null,d=null;function u(){o&&c&&(c.remove(),a.onListenerRemove?.(o),o=null,c=null)}function h(e){a.once&&a.once&&(0,s.xt)(d),r(e)}const f=l(e,((e,r)=>{u(),(0,n.wb)(e)&&(o=e,c=(0,n.on)(e,t,h),a.onListenerAdd?.(e))}),{sync:a.sync,initial:!0});return d=(0,i.hA)((()=>{f.remove(),u()})),d}function h(e,t){return function(e,t,r){if((0,a.G4)(r))return Promise.reject((0,a.NK)());const n=e();if(t?.(n))return Promise.resolve(n);let o=null;function l(){o=(0,s.xt)(o)}return new Promise(((n,s)=>{o=(0,i.vE)([(0,a.u7)(r,(()=>{l(),s((0,a.NK)())})),d(e,(e=>{l(),n(e)}),{sync:!1,once:!0},t??f)])}))}(e,m,t)}function f(e){return!0}function m(e){return!!e}r(80559);const p={sync:!0},y={initial:!0},g={sync:!0,initial:!0}},39357:(e,t,r)=>{r.d(t,{H:()=>l});var n,i=r(90237),s=r(25482),a=r(10107),o=(r(44208),r(53966),r(87811),r(40608));let l=n=class extends s.A{constructor(e){super(e),this.name=null,this.code=null}clone(){return new n({name:this.name,code:this.code})}};(0,i._)([(0,a.MZ)({type:String,json:{write:{isRequired:!0}}})],l.prototype,"name",void 0),(0,i._)([(0,a.MZ)({type:[String,Number],json:{write:{isRequired:!0}}})],l.prototype,"code",void 0),l=n=(0,i._)([(0,o.$)("esri.layers.support.CodedValue")],l)},40268:(e,t,r)=>{r.d(t,{Q:()=>h,R:()=>u});var n=r(35640),i=r(52587),s=r(20693),a=r(14314),o=r(33094),l=r(20304),c=r(31821),d=r(46540);const u=.5;function h(e,t){e.include(i.Y6),e.attributes.add(d.r.POSITION,"vec3"),e.attributes.add(d.r.NORMAL,"vec3"),e.attributes.add(d.r.CENTEROFFSETANDDISTANCE,"vec4");const r=e.vertex;(0,s.NB)(r,t),(0,s.yu)(r,t),r.uniforms.add(new a.I("viewport",(e=>e.camera.fullViewport)),new l.m("polygonOffset",(e=>e.shaderPolygonOffset)),new o.U("cameraGroundRelative",(e=>e.camera.aboveGround?1:-1))),t.hasVerticalOffset&&(0,n.V)(r),r.code.add(c.H`struct ProjectHUDAux {
|
|
203
|
-
vec3 posModel;
|
|
204
|
-
vec3 posView;
|
|
205
|
-
vec3 vnormal;
|
|
206
|
-
float distanceToCamera;
|
|
207
|
-
float absCosAngle;
|
|
208
|
-
};`),r.code.add(c.H`
|
|
209
|
-
float applyHUDViewDependentPolygonOffset(float pointGroundDistance, float absCosAngle, inout vec3 posView) {
|
|
210
|
-
float pointGroundSign = ${t.terrainDepthTest?c.H.float(0):c.H`sign(pointGroundDistance)`};
|
|
211
|
-
if (pointGroundSign == 0.0) {
|
|
212
|
-
pointGroundSign = cameraGroundRelative;
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
// cameraGroundRelative is -1 if camera is below ground, 1 if above ground
|
|
216
|
-
// groundRelative is 1 if both camera and symbol are on the same side of the ground, -1 otherwise
|
|
217
|
-
float groundRelative = cameraGroundRelative * pointGroundSign;
|
|
218
|
-
|
|
219
|
-
// view angle dependent part of polygon offset emulation: we take the absolute value because the sign that is
|
|
220
|
-
// dropped is instead introduced using the ground-relative position of the symbol and the camera
|
|
221
|
-
if (polygonOffset > .0) {
|
|
222
|
-
float cosAlpha = clamp(absCosAngle, 0.01, 1.0);
|
|
223
|
-
float tanAlpha = sqrt(1.0 - cosAlpha * cosAlpha) / cosAlpha;
|
|
224
|
-
float factor = (1.0 - tanAlpha / viewport[2]);
|
|
225
|
-
|
|
226
|
-
// same side of the terrain
|
|
227
|
-
if (groundRelative > 0.0) {
|
|
228
|
-
posView *= factor;
|
|
229
|
-
}
|
|
230
|
-
// opposite sides of the terrain
|
|
231
|
-
else {
|
|
232
|
-
posView /= factor;
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
return groundRelative;
|
|
237
|
-
}
|
|
238
|
-
`),t.draped&&!t.hasVerticalOffset||(0,s.S7)(r),t.draped||(r.uniforms.add(new o.U("perDistancePixelRatio",(e=>Math.tan(e.camera.fovY/2)/(e.camera.fullViewport[2]/2)))),r.code.add(c.H`
|
|
239
|
-
void applyHUDVerticalGroundOffset(vec3 normalModel, inout vec3 posModel, inout vec3 posView) {
|
|
240
|
-
float distanceToCamera = length(posView);
|
|
241
|
-
|
|
242
|
-
// Compute offset in world units for a half pixel shift
|
|
243
|
-
float pixelOffset = distanceToCamera * perDistancePixelRatio * ${c.H.float(u)};
|
|
244
|
-
|
|
245
|
-
// Apply offset along normal in the direction away from the ground surface
|
|
246
|
-
vec3 modelOffset = normalModel * cameraGroundRelative * pixelOffset;
|
|
247
|
-
|
|
248
|
-
// Apply the same offset also on the view space position
|
|
249
|
-
vec3 viewOffset = (viewNormal * vec4(modelOffset, 1.0)).xyz;
|
|
250
|
-
|
|
251
|
-
posModel += modelOffset;
|
|
252
|
-
posView += viewOffset;
|
|
253
|
-
}
|
|
254
|
-
`)),t.screenCenterOffsetUnitsEnabled&&(0,s.Nz)(r),t.hasScreenSizePerspective&&(0,i.OH)(r),r.code.add(c.H`
|
|
255
|
-
vec4 projectPositionHUD(out ProjectHUDAux aux) {
|
|
256
|
-
vec3 centerOffset = centerOffsetAndDistance.xyz;
|
|
257
|
-
float pointGroundDistance = centerOffsetAndDistance.w;
|
|
258
|
-
|
|
259
|
-
aux.posModel = position;
|
|
260
|
-
aux.posView = (view * vec4(aux.posModel, 1.0)).xyz;
|
|
261
|
-
aux.vnormal = normal;
|
|
262
|
-
${t.draped?"":"applyHUDVerticalGroundOffset(aux.vnormal, aux.posModel, aux.posView);"}
|
|
263
|
-
|
|
264
|
-
// Screen sized offset in world space, used for example for line callouts
|
|
265
|
-
// Note: keep this implementation in sync with the CPU implementation, see
|
|
266
|
-
// - MaterialUtil.verticalOffsetAtDistance
|
|
267
|
-
// - HUDMaterial.applyVerticalOffsetTransformation
|
|
268
|
-
|
|
269
|
-
aux.distanceToCamera = length(aux.posView);
|
|
270
|
-
|
|
271
|
-
vec3 viewDirObjSpace = normalize(cameraPosition - aux.posModel);
|
|
272
|
-
float cosAngle = dot(aux.vnormal, viewDirObjSpace);
|
|
273
|
-
|
|
274
|
-
aux.absCosAngle = abs(cosAngle);
|
|
275
|
-
|
|
276
|
-
${t.hasScreenSizePerspective&&(t.hasVerticalOffset||t.screenCenterOffsetUnitsEnabled)?"vec3 perspectiveFactor = screenSizePerspectiveScaleFactor(aux.absCosAngle, aux.distanceToCamera, screenSizePerspectiveAlignment);":""}
|
|
277
|
-
|
|
278
|
-
${t.hasVerticalOffset?t.hasScreenSizePerspective?"float verticalOffsetScreenHeight = applyScreenSizePerspectiveScaleFactorFloat(verticalOffset.x, perspectiveFactor);":"float verticalOffsetScreenHeight = verticalOffset.x;":""}
|
|
279
|
-
|
|
280
|
-
${t.hasVerticalOffset?c.H`
|
|
281
|
-
float worldOffset = clamp(verticalOffsetScreenHeight * verticalOffset.y * aux.distanceToCamera, verticalOffset.z, verticalOffset.w);
|
|
282
|
-
vec3 modelOffset = aux.vnormal * worldOffset;
|
|
283
|
-
aux.posModel += modelOffset;
|
|
284
|
-
vec3 viewOffset = (viewNormal * vec4(modelOffset, 1.0)).xyz;
|
|
285
|
-
aux.posView += viewOffset;
|
|
286
|
-
// Since we elevate the object, we need to take that into account
|
|
287
|
-
// in the distance to ground
|
|
288
|
-
pointGroundDistance += worldOffset;`:""}
|
|
289
|
-
|
|
290
|
-
float groundRelative = applyHUDViewDependentPolygonOffset(pointGroundDistance, aux.absCosAngle, aux.posView);
|
|
291
|
-
|
|
292
|
-
${t.screenCenterOffsetUnitsEnabled?"":c.H`
|
|
293
|
-
// Apply x/y in view space, but z in screen space (i.e. along posView direction)
|
|
294
|
-
aux.posView += vec3(centerOffset.x, centerOffset.y, 0.0);
|
|
295
|
-
|
|
296
|
-
// Same material all have same z != 0.0 condition so should not lead to
|
|
297
|
-
// branch fragmentation and will save a normalization if it's not needed
|
|
298
|
-
if (centerOffset.z != 0.0) {
|
|
299
|
-
aux.posView -= normalize(aux.posView) * centerOffset.z;
|
|
300
|
-
}
|
|
301
|
-
`}
|
|
302
|
-
|
|
303
|
-
vec4 posProj = proj * vec4(aux.posView, 1.0);
|
|
304
|
-
|
|
305
|
-
${t.screenCenterOffsetUnitsEnabled?t.hasScreenSizePerspective?"float centerOffsetY = applyScreenSizePerspectiveScaleFactorFloat(centerOffset.y, perspectiveFactor);":"float centerOffsetY = centerOffset.y;":""}
|
|
306
|
-
|
|
307
|
-
${t.screenCenterOffsetUnitsEnabled?"posProj.xy += vec2(centerOffset.x, centerOffsetY) * pixelRatio * 2.0 / viewport.zw * posProj.w;":""}
|
|
308
|
-
|
|
309
|
-
// constant part of polygon offset emulation
|
|
310
|
-
posProj.z -= groundRelative * polygonOffset * posProj.w;
|
|
311
|
-
return posProj;
|
|
312
|
-
}
|
|
313
|
-
`)}},40804:(e,t,r)=>{r.d(t,{U:()=>i});var n=r(34727);function i(e,t,r=0){const i=(0,n.qE)(e,0,o);for(let e=0;e<4;e++)t[r+e]=Math.floor(256*l(i*s[e]))}const s=[1,256,65536,16777216],a=[1/256,1/65536,1/16777216,1/4294967296],o=function(e,t=0){let r=0;for(let n=0;n<4;n++)r+=e[t+n]*a[n];return r}(new Uint8ClampedArray([255,255,255,255]));function l(e){return e-Math.floor(e)}},44729:(e,t,r)=>{r.d(t,{n:()=>l});var n=r(66131),i=r(73444),s=r(96285);function a(e){e=e.replaceAll(/LTS|LT|L{1,4}|l{1,4}/g,"[$&]");let t="";const r=/(\[[^[]*\])|(\\)?([Hh]mm(ss)?|Mo|M{1,4}|Do|DDDo|D{1,4}|d{2,4}|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;for(const n of e.match(r)||[])switch(n){case"D":t+="d";break;case"DD":t+="dd";break;case"DDD":t+="o";break;case"d":t+="c";break;case"ddd":t+="ccc";break;case"dddd":t+="cccc";break;case"M":t+="L";break;case"MM":t+="LL";break;case"MMM":t+="LLL";break;case"MMMM":t+="LLLL";break;case"YY":t+="yy";break;case"Y":case"YYYY":t+="yyyy";break;case"Q":t+="q";break;case"X":case"x":t+=n;break;default:n.length>=2&&"["===n.slice(0,1)&&"]"===n.slice(-1)?t+=`'${n.slice(1,-1)}'`:t+=`'${n}'`}return t}const o="esri.core.sql.dateonly";class l{constructor(e,t,r){this._year=e,this._month=t,this._day=r,this.declaredRootClass=o}static isDateOnly(e){return"object"==typeof e&&null!=e&&"declaredRootClass"in e&&e.declaredRootClass===o}get month(){return this._month}get monthJS(){return this._month-1}get year(){return this._year}get day(){return this._day}get isValid(){return this.toDateTime("unknown").isValid}equals(e){return l.isDateOnly(e)&&e.day===this.day&&e.month===this.month&&e.year===this.year}clone(){return new l(this._year,this._month,this._day)}toDateTime(e){return s.c9.fromObject({day:this.day,month:this.month,year:this.year},{zone:(0,n.mT)(e)})}toDateTimeLuxon(e){return s.c9.fromObject({day:this.day,month:this.month,year:this.year},{zone:(0,n.mT)(e)})}toString(){return`${this.year.toString().padStart(4,"0")}-${this.month.toString().padStart(2,"0")}-${this.day.toString().padStart(2,"0")}`}toFormat(e=null,t=!0){if(null===e||""===e)return this.toString();if(t&&(e=a(e)),!e)return"";const r=this.toDateTime("unknown");return n.lY.dateTimeToArcadeDate(r).toFormat(e,{locale:(0,i.JK)(),numberingSystem:"latn"})}toArcadeDate(){const e=this.toDateTime("unknown");return n.lY.dateTimeToArcadeDate(e)}toNumber(){return this.toDateTime("unknown").toMillis()}toJSDate(){return this.toDateTime("unknown").toJSDate()}toStorageFormat(){return this.toFormat("yyyy-LL-dd",!1)}toSQLValue(){return this.toFormat("yyyy-LL-dd",!1)}toSQLWithKeyword(){return"date '"+this.toFormat("yyyy-LL-dd",!1)+"'"}plus(e,t){return l.fromDateTime(this.toUTCDateTime().plus({[e]:t}))}toUTCDateTime(){return s.c9.utc(this.year,this.month,this.day,0,0,0,0)}difference(e,t){switch(t.toLowerCase()){case"days":case"day":case"d":return this.toUTCDateTime().diff(e.toUTCDateTime(),"days").days;case"months":case"month":return this.toUTCDateTime().diff(e.toUTCDateTime(),"months").months;case"minutes":case"minute":case"m":return"M"===t?this.toUTCDateTime().diff(e.toUTCDateTime(),"months").months:this.toUTCDateTime().diff(e.toUTCDateTime(),"minutes").minutes;case"seconds":case"second":case"s":return this.toUTCDateTime().diff(e.toUTCDateTime(),"seconds").seconds;case"milliseconds":case"millisecond":case"ms":default:return this.toUTCDateTime().diff(e.toUTCDateTime(),"milliseconds").milliseconds;case"hours":case"hour":case"h":return this.toUTCDateTime().diff(e.toUTCDateTime(),"hours").hours;case"years":case"year":case"y":return this.toUTCDateTime().diff(e.toUTCDateTime(),"years").years}}static fromMilliseconds(e){const t=s.c9.fromMillis(e,{zone:s.mQ.utcInstance});return t.isValid?l.fromParts(t.year,t.month,t.day):null}static fromSeconds(e){const t=s.c9.fromSeconds(e,{zone:s.mQ.utcInstance});return t.isValid?l.fromParts(t.year,t.month,t.day):null}static fromReader(e){if(!e)return null;const t=e.split("-");return 3!==t.length?null:new l(parseInt(t[0],10),parseInt(t[1],10),parseInt(t[2],10))}static fromParts(e,t,r){const n=new l(e,t,r);return!1===n.isValid?null:n}static fromDateJS(e){return l.fromParts(e.getFullYear(),e.getMonth()+1,e.getDay())}static fromDateTime(e){return l.fromParts(e.year,e.month,e.day)}static fromSqlTimeStampOffset(e){return this.fromDateTime(e.toDateTime())}static fromString(e,t=null){if(""===e)return null;if(null===e)return null;const r=[];if(t)(t=a(t))&&r.push(t);else if(null===t||""===t){const t=s.c9.fromISO(e,{setZone:!0});return t.isValid?l.fromParts(t.year,t.month,t.day):null}for(const n of r){const r=s.c9.fromFormat(e,t??n);if(r.isValid)return new l(r.year,r.month,r.day)}return null}static fromNow(e="system"){const t=s.c9.fromJSDate(new Date).setZone((0,n.mT)(e));return new l(t.year,t.month,t.day)}}},47522:(e,t,r)=>{r.d(t,{K:()=>s});var n=r(32976),i=r(31821);function s(e){e.uniforms.add(new n.o("alignPixelEnabled",(e=>e.alignPixelEnabled))),e.code.add(i.H`vec4 alignToPixelCenter(vec4 clipCoord, vec2 widthHeight) {
|
|
314
|
-
if (!alignPixelEnabled)
|
|
315
|
-
return clipCoord;
|
|
316
|
-
vec2 xy = vec2(0.500123) + 0.5 * clipCoord.xy / clipCoord.w;
|
|
317
|
-
vec2 pixelSz = vec2(1.0) / widthHeight;
|
|
318
|
-
vec2 ij = (floor(xy * widthHeight) + vec2(0.5)) * pixelSz;
|
|
319
|
-
vec2 result = (ij * 2.0 - vec2(1.0)) * clipCoord.w;
|
|
320
|
-
return vec4(result, clipCoord.zw);
|
|
321
|
-
}`),e.code.add(i.H`vec4 alignToPixelOrigin(vec4 clipCoord, vec2 widthHeight) {
|
|
322
|
-
if (!alignPixelEnabled)
|
|
323
|
-
return clipCoord;
|
|
324
|
-
vec2 xy = vec2(0.5) + 0.5 * clipCoord.xy / clipCoord.w;
|
|
325
|
-
vec2 pixelSz = vec2(1.0) / widthHeight;
|
|
326
|
-
vec2 ij = floor((xy + 0.5 * pixelSz) * widthHeight) * pixelSz;
|
|
327
|
-
vec2 result = (ij * 2.0 - vec2(1.0)) * clipCoord.w;
|
|
328
|
-
return vec4(result, clipCoord.zw);
|
|
329
|
-
}`)}},51624:(e,t,r)=>{r.d(t,{A:()=>u});var n,i,s=r(44208),a=r(69397),o=r(93687);(i=n||(n={}))[i.varint=0]="varint",i[i.fixed64=1]="fixed64",i[i.delimited=2]="delimited",i[i.fixed32=5]="fixed32",i[i.unknown=99]="unknown";const l=4294967296,c=new TextDecoder("utf-8"),d=(0,s.A)("safari")||(0,s.A)("ios")?6:(0,s.A)("ff")?12:32;class u{constructor(e,t,r=0,i=(e?e.byteLength:0)){this._tag=0,this._dataType=n.unknown,this._init(e,t,r,i)}_init(e,t,r,n){this._data=e,this._dataView=t,this._pos=r,this._end=n}get usedMemory(){return 64+(0,a.Qf)(this._data)}asUnsafe(){return this}clone(){return new u(this._data,this._dataView,this._pos,this._end)}pos(){return this._pos}move(e){this._pos=e}nextTag(e){for(;;){if(this._pos===this._end)return!1;const t=this._decodeVarint();if(this._tag=t>>3,this._dataType=7&t,!e||e===this._tag)break;this.skip()}return!0}next(){if(this._pos===this._end)return!1;const e=this._decodeVarint();return this._tag=e>>3,this._dataType=7&e,!0}empty(){return this._pos>=this._end}tag(){return this._tag}getInt32(){return this._decodeVarint()}getInt64(){return this._decodeVarint()}getUInt32(){let e=4294967295;if(e=(127&this._data[this._pos])>>>0,this._data[this._pos++]<128)return e;if(e=(e|(127&this._data[this._pos])<<7)>>>0,this._data[this._pos++]<128)return e;if(e=(e|(127&this._data[this._pos])<<14)>>>0,this._data[this._pos++]<128)return e;if(e=(e|(127&this._data[this._pos])<<21)>>>0,this._data[this._pos++]<128)return e;if(e=(e|(15&this._data[this._pos])<<28)>>>0,this._data[this._pos++]<128)return e;throw new Error("Varint overflow")}getUInt64(){return this._decodeVarint()}getSInt32(){const e=this.getUInt32();return e>>>1^-(1&e)}getSInt64(){return this._decodeSVarint()}getBool(){const e=0!==this._data[this._pos];return this._skip(1),e}getEnum(){return this._decodeVarint()}getFixed64(){const e=this._dataView,t=this._pos,r=e.getUint32(t,!0)+e.getUint32(t+4,!0)*l;return this._skip(8),r}getSFixed64(){const e=this._dataView,t=this._pos,r=e.getUint32(t,!0)+e.getInt32(t+4,!0)*l;return this._skip(8),r}getDouble(){const e=this._dataView.getFloat64(this._pos,!0);return this._skip(8),e}getFixed32(){const e=this._dataView.getUint32(this._pos,!0);return this._skip(4),e}getSFixed32(){const e=this._dataView.getInt32(this._pos,!0);return this._skip(4),e}getFloat(){const e=this._dataView.getFloat32(this._pos,!0);return this._skip(4),e}getString(){const e=this._getLength(),t=this._pos,r=this._toString(this._data,t,t+e);return this._skip(e),r}getBytes(){const e=this._getLength(),t=this._pos,r=this._toBytes(this._data,t,t+e);return this._skip(e),r}getLength(){return this._getLengthUnsafe()}processMessageWithArgs(e,t,r,n){const i=this.getMessage(),s=e(i,t,r,n);return i.release(),s}processMessage(e){const t=this.getMessage(),r=e(t);return t.release(),r}getMessage(){const e=this._getLength(),t=u.pool.acquire();return t._init(this._data,this._dataView,this._pos,this._pos+e),this._skip(e),t}release(){u.pool.release(this)}dataType(){return this._dataType}skip(){switch(this._dataType){case n.varint:this._decodeVarint();break;case n.fixed64:this._skip(8);break;case n.delimited:this._skip(this._getLength());break;case n.fixed32:this._skip(4);break;default:throw new Error("Invalid data type!")}}skipLen(e){this._skip(e)}_skip(e){if(this._pos+e>this._end)throw new Error("Attempt to skip past the end of buffer!");this._pos+=e}_decodeVarint(){const e=this._data;let t=this._pos,r=0,n=0;if(this._end-t>=10)do{if(n=e[t++],r|=127&n,!(128&n))break;if(n=e[t++],r|=(127&n)<<7,!(128&n))break;if(n=e[t++],r|=(127&n)<<14,!(128&n))break;if(n=e[t++],r|=(127&n)<<21,!(128&n))break;if(n=e[t++],r+=268435456*(127&n),!(128&n))break;if(n=e[t++],r+=34359738368*(127&n),!(128&n))break;if(n=e[t++],r+=4398046511104*(127&n),!(128&n))break;if(n=e[t++],r+=562949953421312*(127&n),!(128&n))break;if(n=e[t++],r+=72057594037927940*(127&n),!(128&n))break;if(n=e[t++],r+=0x8000000000000000*(127&n),!(128&n))break;throw new Error("Varint too long!")}while(0);else{let i=1;for(;t!==this._end&&(n=e[t],128&n);)++t,r+=(127&n)*i,i*=128;if(t===this._end)throw new Error("Varint overrun!");++t,r+=n*i}return this._pos=t,r}_decodeSVarint(){const e=this._data;let t,r=0,n=0;const i=1&e[this._pos];if(n=e[this._pos++],r|=127&n,!(128&n))return i?-(r+1)/2:r/2;if(n=e[this._pos++],r|=(127&n)<<7,!(128&n))return i?-(r+1)/2:r/2;if(n=e[this._pos++],r|=(127&n)<<14,!(128&n))return i?-(r+1)/2:r/2;if(n=e[this._pos++],r|=(127&n)<<21,!(128&n))return i?-(r+1)/2:r/2;if(n=e[this._pos++],r+=268435456*(127&n),!(128&n))return i?-(r+1)/2:r/2;if(n=e[this._pos++],r+=34359738368*(127&n),!(128&n))return i?-(r+1)/2:r/2;if(n=e[this._pos++],r+=4398046511104*(127&n),!(128&n))return i?-(r+1)/2:r/2;if(t=BigInt(r),n=e[this._pos++],t+=0x2000000000000n*BigInt(127&n),!(128&n))return Number(i?-(t+1n)/2n:t/2n);if(n=e[this._pos++],t+=0x100000000000000n*BigInt(127&n),!(128&n))return Number(i?-(t+1n)/2n:t/2n);if(n=e[this._pos++],t+=0x8000000000000000n*BigInt(127&n),!(128&n))return Number(i?-(t+1n)/2n:t/2n);throw new Error("Varint too long!")}_getLength(){if(this._dataType!==n.delimited)throw new Error("Not a delimited data type!");return this._decodeVarint()}_getLengthUnsafe(){return this.getUInt32()}_toString(e,t,r){if((r=Math.min(this._end,r))-t>d){const n=e.subarray(t,r);return c.decode(n)}let n="",i="";for(let s=t;s<r;++s){const t=e[s];128&t?i+="%"+t.toString(16):(n+=decodeURIComponent(i)+String.fromCharCode(t),i="")}return i.length&&(n+=decodeURIComponent(i)),n}_toBytes(e,t,r){return r=Math.min(this._end,r),new Uint8Array(e.buffer,t,r-t)}static{this.pool=new o.A(u,void 0,(e=>{e._data=null,e._dataView=null}))}}},53177:(e,t,r)=>{r.d(t,{A:()=>u});var n,i=r(90237),s=r(4718),a=r(10107),o=(r(44208),r(53966),r(93223)),l=r(40608),c=r(39357),d=r(76357);let u=class extends d.A{static{n=this}constructor(e){super(e),this.codedValues=null,this.type="coded-value"}getName(e){let t=null;if(this.codedValues){const r=String(e);this.codedValues.some((e=>(String(e.code)===r&&(t=e.name),!!t)))}return t}clone(){return new n({codedValues:(0,s.o8)(this.codedValues),name:this.name})}};(0,i._)([(0,a.MZ)({type:[c.H],json:{write:{isRequired:!0}}})],u.prototype,"codedValues",void 0),(0,i._)([(0,o.e)({codedValue:"coded-value"})],u.prototype,"type",void 0),u=n=(0,i._)([(0,l.$)("esri.layers.support.CodedValueDomain")],u)},53655:(e,t,r)=>{r.d(t,{SH:()=>O,ae:()=>S,cn:()=>_});var n=r(49186),i=r(51624),s=r(92722),a=r(69418);const o=["esriFieldTypeSmallInteger","esriFieldTypeInteger","esriFieldTypeSingle","esriFieldTypeDouble","esriFieldTypeString","esriFieldTypeDate","esriFieldTypeOID","esriFieldTypeGeometry","esriFieldTypeBlob","esriFieldTypeRaster","esriFieldTypeGUID","esriFieldTypeGlobalID","esriFieldTypeXML","esriFieldTypeBigInteger","esriFieldTypeDateOnly","esriFieldTypeTimeOnly","esriFieldTypeTimestampOffset"],l=["sqlTypeBigInt","sqlTypeBinary","sqlTypeBit","sqlTypeChar","sqlTypeDate","sqlTypeDecimal","sqlTypeDouble","sqlTypeFloat","sqlTypeGeometry","sqlTypeGUID","sqlTypeInteger","sqlTypeLongNVarchar","sqlTypeLongVarbinary","sqlTypeLongVarchar","sqlTypeNChar","sqlTypeNVarchar","sqlTypeOther","sqlTypeReal","sqlTypeSmallInt","sqlTypeSqlXml","sqlTypeTime","sqlTypeTimestamp","sqlTypeTimestamp2","sqlTypeTinyInt","sqlTypeVarbinary","sqlTypeVarchar"],c=["upperLeft","lowerLeft"];function d(e){return e>=o.length?null:o[e]}function u(e){return e>=l.length?null:l[e]}function h(e){return e>=c.length?null:c[e]}function f(e,t){return t>=e.geometryTypes.length?null:e.geometryTypes[t]}function m(e,t,r){const n=e.asUnsafe(),i=t.createPointGeometry(r);for(;n.next();)switch(n.tag()){case 3:{const e=n.getUInt32(),r=n.pos()+e;let s=0;for(;n.pos()<r;)t.addCoordinatePoint(i,n.getSInt64(),s++);break}default:n.skip()}return i}function p(e,t,r){const n=e.asUnsafe(),i=t.createGeometry(r),s=2+(r.hasZ?1:0)+(r.hasM?1:0);for(;n.next();)switch(n.tag()){case 2:{const e=n.getUInt32(),r=n.pos()+e;let s=0;for(;n.pos()<r;)t.addLength(i,n.getUInt32(),s++);break}case 3:{const e=n.getUInt32(),r=n.pos()+e;let a=0;for(t.allocateCoordinates(i);n.pos()<r;)t.addCoordinate(i,n.getSInt64(),a),a++,a===s&&(a=0);break}default:n.skip()}return i}function y(e){const t=e.asUnsafe(),r=new s.A;let n="esriGeometryPoint";for(;t.next();)switch(t.tag()){case 2:{const e=t.getUInt32(),n=t.pos()+e;for(;t.pos()<n;)r.lengths.push(t.getUInt32());break}case 3:{const e=t.getUInt32(),n=t.pos()+e;for(;t.pos()<n;)r.coords.push(t.getSInt64());break}case 1:n=a.z[t.getEnum()];break;default:t.skip()}return{queryGeometry:r,queryGeometryType:n}}function g(e){const t=e.asUnsafe();for(;t.next();)switch(t.tag()){case 1:return t.getString();case 2:return t.getFloat();case 3:return t.getDouble();case 4:return t.getSInt32();case 5:return t.getUInt32();case 6:return t.getInt64();case 7:return t.getUInt64();case 8:return t.getSInt64();case 9:return t.getBool();default:return t.skip(),null}return null}function _(e){const t=e.asUnsafe(),r={type:d(0)};for(;t.next();)switch(t.tag()){case 1:r.name=t.getString();break;case 2:r.type=d(t.getEnum());break;case 3:r.alias=t.getString();break;case 4:r.sqlType=u(t.getEnum());break;case 5:default:t.skip();break;case 6:r.defaultValue=t.getString()}return r}function b(e){const t={},r=e.asUnsafe();for(;r.next();)switch(r.tag()){case 1:t.name=r.getString();break;case 2:t.isSystemMaintained=r.getBool();break;default:r.skip()}return t}function v(e,t,r,n){const i=t.createFeature(r);let s=0;for(;e.next();)switch(e.tag()){case 1:{const t=n[s++].name;i.attributes[t]=e.processMessage(g);break}case 2:i.geometry=e.processMessageWithArgs(p,t,r);break;case 4:i.centroid=e.processMessageWithArgs(m,t,r);break;default:e.skip()}return i}function w(e){const t=[1,1,1,1],r=e.asUnsafe();for(;r.next();)switch(r.tag()){case 1:t[0]=r.getDouble();break;case 2:t[1]=r.getDouble();break;case 4:t[2]=r.getDouble();break;case 3:t[3]=r.getDouble();break;default:r.skip()}return t}function x(e){const t=[0,0,0,0],r=e.asUnsafe();for(;r.next();)switch(r.tag()){case 1:t[0]=r.getDouble();break;case 2:t[1]=r.getDouble();break;case 4:t[2]=r.getDouble();break;case 3:t[3]=r.getDouble();break;default:r.skip()}return t}function S(e){const t={originPosition:h(0)},r=e.asUnsafe();for(;r.next();)switch(r.tag()){case 1:t.originPosition=h(r.getEnum());break;case 2:t.scale=r.processMessage(w);break;case 3:t.translate=r.processMessage(x);break;default:r.skip()}return t}function T(e){const t={},r=e.asUnsafe();for(;r.next();)switch(r.tag()){case 1:t.shapeAreaFieldName=r.getString();break;case 2:t.shapeLengthFieldName=r.getString();break;case 3:t.units=r.getString();break;default:r.skip()}return t}function C(e,t){const r=t.createSpatialReference();for(;e.next();)switch(e.tag()){case 1:r.wkid=e.getUInt32();break;case 5:r.wkt=e.getString();break;case 2:r.latestWkid=e.getUInt32();break;case 3:r.vcsWkid=e.getUInt32();break;case 4:r.latestVcsWkid=e.getUInt32();break;default:e.skip()}return r}function I(e,t){const r=t.createFeatureResult(),n=e.asUnsafe();r.geometryType=f(t,0);let i=!1;for(;n.next();)switch(n.tag()){case 1:r.objectIdFieldName=n.getString();break;case 3:r.globalIdFieldName=n.getString();break;case 4:r.geohashFieldName=n.getString();break;case 5:r.geometryProperties=n.processMessage(T);break;case 7:r.geometryType=f(t,n.getEnum());break;case 8:r.spatialReference=n.processMessageWithArgs(C,t);break;case 10:r.hasZ=n.getBool();break;case 11:r.hasM=n.getBool();break;case 12:r.transform=n.processMessage(S);break;case 9:r.exceededTransferLimit=n.getBool();break;case 13:t.addField(r,n.processMessage(_));break;case 15:i||(t.prepareFeatures(r),i=!0),t.addFeature(r,n.processMessageWithArgs(v,t,r,r.fields));break;case 2:r.uniqueIdField=n.processMessage(b);break;default:n.skip()}return t.finishFeatureResult(r),r}function A(e,t){const r={};let n=null;for(;e.next();)switch(e.tag()){case 4:n=e.processMessageWithArgs(y);break;case 1:r.featureResult=e.processMessageWithArgs(I,t);break;default:e.skip()}return null!=n&&r.featureResult&&t.addQueryGeometry(r,n),r}function O(e,t){try{const r=2,n=new i.A(new Uint8Array(e),new DataView(e)),s={};for(;n.next();)n.tag()===r?s.queryResult=n.processMessageWithArgs(A,t):n.skip();return s}catch(e){throw new n.A("query:parsing-pbf","Error while parsing FeatureSet PBF payload",{error:e})}}},55674:(e,t,r)=>{r.d(t,{Ad:()=>f,Gj:()=>y,QY:()=>h,lL:()=>g,xR:()=>m});var n=r(66131),i=r(49186),s=(r(44208),r(44729)),a=r(15032),o=r(65864),l=r(95466),c=r(43668),d=r(98623);const u=["geometry","scale","timeProperties"];function h(e,t){if(null!=t)for(const r of u)t.hasArcadeDependency(r)&&e.add(r);return e}function f(e,t){return p.create(e,t,null,["$feature","$view"])}function m(e,t,r){return p.create(e,t,r,["$feature","$view","$config"])}class p{static async create(e,t,r,n){const{arcade:s,Dictionary:a}=await(0,c.l)();let o;try{o=s.parseScript(e)}catch(t){throw new i.A("arcade-bad-expression","Failed to parse arcade script",{script:e,error:t})}const l=s.scriptUsesGeometryEngine(o);l&&await s.enableGeometrySupport(),await s.loadDependentModules(new Set,o,null,!1,l);const d={vars:n.reduce(((e,t)=>({...e,[t]:null})),{}),spatialReference:t,useAsync:!1},u=s.compileScript(o,d);let h=null;null!=r&&(h=new a(r),h.immutable=!0);const f=new a;return f.immutable=!1,f.setField("scale",0),new p(e,s,o,u,t,f,h,a)}constructor(e,t,r,n,i,s,a,o){this.script=e,this._arcade=t,this._syntaxTree=r,this._compiled=n,this._spatialReference=i,this._viewDict=s,this._configDict=a,this._dictionaryCtor=o,this._dependencies=new Map,this._featureReader=new y,this._dependencies.set("geometry",t.scriptTouchesGeometry(this._syntaxTree)),this._dependencies.set("scale",this._arcade.referencesMember(this._syntaxTree,"scale")),this._dependencies.set("timeProperties",this._arcade.scriptUsesViewProperties(this._syntaxTree,["timeProperties"]))}evaluate(e,t){const r=t.$view?.timeZone;if(t.$view){let e;if(this._viewDict.setField("scale",t.$view.scale),null!=t.$view.timeProperties){const{currentStart:i,currentEnd:s}=t.$view.timeProperties;e=new this._dictionaryCtor({currentStart:null!=i?null!=r?n.lY.epochToArcadeDate(i,r):n.lY.unknownEpochToArcadeDate(i):void 0,currentEnd:null!=s?null!=r?n.lY.epochToArcadeDate(s,r):n.lY.unknownEpochToArcadeDate(s):void 0,startIncluded:!0,endIncluded:!0})}this._viewDict.setField("timeProperties",e)}return this._compiled({vars:{$view:this._viewDict,$config:this._configDict,$feature:e},spatialReference:this._spatialReference,timeZone:r})}repurposeFeature(e,t){return this._featureReader.bind(e,t,this._spatialReference),this._featureReader}references(e){return this._dependencies.get(e)??!1}}class y{constructor(){this._boundTarget=null,this._boundSchema={fields:null,fieldsIndex:null,spatialReference:null,get geometryType(){return null},get objectIdField(){return null}},this.arcadeDeclaredClass="esri.arcade.Feature",this._contextTimeZone=null}bind(e,t,r){const n=t??new l.A(g(e.attributes));this._boundTarget=e,this._boundSchema.fields=n.fields,this._boundSchema.fieldsIndex=n,this._boundSchema.spatialReference=r}_getField(e){return this._boundSchema.fieldsIndex.get(e)}get contextTimeZone(){return this._contextTimeZone}set contextTimeZone(e){this._contextTimeZone=e}readArcadeFeature(){return this}hasField(e){return this._boundSchema.fieldsIndex.has(e)}geometry(){if("fromJSON"in this._boundTarget)return this._boundTarget.geometry;const e=(0,o.rS)(this._boundTarget.geometry);if(e){if(!this._boundSchema.spatialReference)throw new Error("InternalError: Expected spatial reference to be defined");e.spatialReference=this._boundSchema.spatialReference}return e}isUnknownDateTimeField(e){return this._boundSchema.fieldsIndex.getTimeZone(e)===d.L5}field(e,t=!0){const r=this._getField(e);if(r)switch(r.type){case"date-only":case"esriFieldTypeDateOnly":return s.n.fromReader(this._boundTarget.attributes[r.name]);case"time-only":case"esriFieldTypeTimeOnly":return a.k.fromReader(this._boundTarget.attributes[r.name]);case"esriFieldTypeTimestampOffset":case"timestamp-offset":return n.lY.fromReaderAsTimeStampOffset(this._boundTarget.attributes[r.name]);case"date":case"esriFieldTypeDate":{const t=this._boundTarget.attributes[r.name];return this.isUnknownDateTimeField(e)?n.lY.unknownEpochToArcadeDate(t):n.lY.epochToArcadeDate(t,this.contextTimeZone??d.qU)}default:return this._boundTarget.attributes[r.name]}if(t)throw new Error(`Field ${e} does not exist`);return null}setField(e,t){throw new Error("Unable to update feature attribute values, feature is readonly")}keys(){return this._boundSchema.fieldsIndex.fields.map((e=>e.name))}castToText(e=!1){return JSON.stringify(this._boundTarget)}gdbVersion(){return null}fullSchema(){return this._boundSchema}castAsJson(e=null){return{attributes:this._boundTarget.attributes,geometry:!0===e?.keepGeometryType?this.geometry():this.geometry()?.toJSON()??null}}castAsJsonAsync(e=null,t=null){return Promise.resolve(this.castAsJson(t))}}function g(e){const t=[];for(const r in e)t.push({name:r,alias:r,type:"string"==typeof e[r]?"esriFieldTypeString":"esriFieldTypeDouble"});return t}},55728:(e,t,r)=>{r.r(t),r.d(t,{default:()=>pn});var n=r(90237),i=r(65529),s=r(74887),a=r(36708),o=r(10107),l=r(44208),c=(r(53966),r(87811),r(40608)),d=r(5443),u=r(80586),h=r(16930),f=r(68298),m=r(61956),p=r(65494);class y{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 y(e,e.createRenderCommandBuffer(),t)}}function g(e){return 0===e.length?null:e.reduce(((e,t)=>(e.append(t),e)))}var _=r(68197),b=r(18574),v=r(87403),w=r(28975);function x(){return new b.A({material:new w.N({color:new _.A("red")})})}var S=r(9093),T=r(51850),C=r(91829),I=r(6847),A=r(83047),O=r(58083),R=(r(87317),r(70328)),D=r(19419);r(12359),r(95108),r(27615),r(52106),r(4718),r(34275),r(65864);var P=r(37585),F=r(48163),M=r(34727),E=r(26857);new Map,(()=>{let e="";for(let t=32;t<127;t++)e+=String.fromCharCode(t)})();const U=[];{const e=16;for(let t=0;t<360;t+=360/e)U.push([Math.cos(Math.PI*t/180),Math.sin(Math.PI*t/180)])}var L,V;(V=L||(L={}))[V.Left=0]="Left",V[V.Center=1]="Center",V[V.Right=2]="Right",Object.freeze({left:0,center:.5,right:1});const k=Object.freeze({"bottom-left":(0,F.fA)(0,0),bottom:(0,F.fA)(.5,0),"bottom-right":(0,F.fA)(1,0),left:(0,F.fA)(0,.5),center:(0,F.fA)(.5,.5),right:(0,F.fA)(1,.5),"top-left":(0,F.fA)(0,1),top:(0,F.fA)(.5,1),"top-right":(0,F.fA)(1,1)});var N=r(9762),z=r(27993);function B(e){const{featureCount:t}=e;if(0===t)return new Uint32Array;const r=new Uint32Array(t);return e.getObjectIdsArray(r),r}function j(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,n=t.renderSpatialReference,{extent:i}=e,s=(0,D.gX)(i),a=(0,T.vt)();return(0,z.F)([s[0],s[1],0],r,a,n),a}var H=r(97146);function G(e){const t=new Map;for(const[r,n]of e)t.set(r,{...n,indices:(0,H.Dg)(n.indices)});return t}var $=r(40804),Y=(r(48833),r(63907));const Z=(0,C.CN)(.25,.25,.75,.75);function J(e){return"cross"===e||"x"===e}function W(e,t=128,r=.5*t,n=0){switch(e){case"circle":default:return function(e,t){const r=e/2-.5;return te(e,K(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 Q(e,t,!1,r)}(t,r,n);case"x":return function(e,t,r=0){return Q(e,t,!0,r)}(t,r,n);case"kite":return function(e,t){return X(e,t,!0)}(t,r);case"triangle":return function(e,t){return te(e,ee(e/2,t,t/2))}(t,r);case"arrow":return function(e,t){const r=t,n=t/2,i=e/2,s=.8*r,a=K(i,(e-t)/2-s,Math.sqrt(s*s+n*n)),o=ee(i,r,n);return te(e,((e,t)=>Math.max(o(e,t),-a(e,t))))}(t,r)}}function X(e,t,r){return r&&(t/=Math.SQRT2),te(e,((n,i)=>{let s=n-.5*e+.25,a=.5*e-i-.75;if(r){const e=(s+a)/Math.SQRT2;a=(a-s)/Math.SQRT2,s=e}return Math.max(Math.abs(s),Math.abs(a))-.5*t}))}function Q(e,t,r,n=0){t-=n,r&&(t*=Math.SQRT2);const i=.5*t;return te(e,((t,s)=>{let a,o=t-.5*e,l=.5*e-s-1;if(r){const e=(o+l)/Math.SQRT2;l=(l-o)/Math.SQRT2,o=e}return o=Math.abs(o),l=Math.abs(l),a=o>l?o>i?Math.sqrt((o-i)*(o-i)+l*l):l:l>i?Math.sqrt(o*o+(l-i)*(l-i)):o,a-=n/2,a}))}function K(e,t,r){return(n,i)=>{const s=n-e,a=i-t;return Math.sqrt(s*s+a*a)-r}}function ee(e,t,r){const n=Math.sqrt(t*t+r*r);return(i,s)=>{const a=Math.abs(i-e)-r,o=s-e+t/2+.75,l=(t*a+r*o)/n,c=-o;return Math.max(l,c)}}function te(e,t){const r=new Uint8Array(4*e*e);for(let n=0;n<e;n++)for(let i=0;i<e;i++){const s=i+e*n;let a=t(i,n);a=a/e+.5,(0,$.U)(a,r,4*s)}return r}var re=r(46610),ne=r(46540);class ie{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.getOrCreateSharedTexture("circle-icon",(()=>function(e,t=128,r=.5*t,n=0){return{data:W(e,t,r,n),parameters:{mipmap:!1,wrap:{s:Y.pF.CLAMP_TO_EDGE,t:Y.pF.CLAMP_TO_EDGE},width:t,height:t,components:4,noUnpackFlip:!0,reloadable:!0}}}("circle")));this._iconTextureID=t;const r={anchorPosition:k.center,occlusionTest:!0,hasSlicePlane:!1,color:this._getFillColor(),outlineColor:this._getOutlineColor(),outlineSize:1,distanceFieldBoundingBox:Z,textureId:t,textureIsSignedDistanceField:!0,sampleSignedDistanceFieldTexelCenter:J("circle")};this._materialId=await e.createMaterial({type:"hud",parameters:r}),await e.createDirectRenderer(this._materialId),this._loaded=!0}async createAddCommand(e){const{_materialId:t,_context:r}=this,{renderCommandContext:n}=r;if(null==t)throw new Error("expected material not to be null");const i=await this._createGeometry(e);if(null==i)return r.createPipelineCommand();const s=q(e,r);return r.createPipelineCommand(n.addDirectRendererGeometry(e.id,i,s))}async _createGeometry(e){const{_materialId:t,_context:r}=this,{mainThreadDelegate:n}=r,{featureCount:i}=e;if(0===i||null==t)return null;const s=B(e),a=j(e),o=function(e,t){const r=e.length/3,n=t.viewSpatialReference,i=t.renderSpatialReference,s=new Float64Array(3*r);if(!(0,N.projectBuffer)(e,n,0,s,i,0,r))throw new Error("Failed to project coordinates");return s}(await n.applyElevationAlignmentTo(a),r),l=new Float64Array([0,0,1]),c=new Float64Array([255,255,255,255]),d=new Float64Array([24,24]),u=new Float64Array([0,0,0,1]),h=new Float64Array([0,0]),f=new Float64Array([0]),m=new Uint32Array(i);for(let e=0;e<i;++e)m[e]=e;const p=new Uint32Array(i);for(let e=0;e<i;++e)p[e]=0;const y=new re.n(o,m,3,!0),g=new re.n(l,p,3,!0),_=new re.n(h,p,2,!0),b=new re.n(c,p,4,!0),v=new re.n(f,p,1,!0),w=new re.n(d,p,2,!0),x=new re.n(u,p,4,!0),T=[[ne.r.POSITION,y],[ne.r.NORMAL,g],[ne.r.UV0,_],[ne.r.COLOR,b],[ne.r.ROTATION,v],[ne.r.SIZE,w],[ne.r.CENTEROFFSETANDDISTANCE,x]],C=new Uint8Array(i);return e.getVisibilityArray(C),{attributes:G(T),objectAndLayerIdColor:void 0,transformation:(0,S.vt)(),materialId:t,objectIds:s,visibilities:C}}async createRemoveCommand(e){const{_materialId:t,_context:r}=this,n=r.renderCommandContext;return null==t?r.createPipelineCommand():r.createPipelineCommand(n.removeDirectRendererGeometryBuffer(t,e))}async createUpdateVisibilityCommand(e){const{_materialId:t,_context:r}=this,n=r.renderCommandContext;if(null==t)return r.createPipelineCommand();const i=new Uint8Array(e.featureCount);return e.getVisibilityArray(i),r.createPipelineCommand(n.updateVisibility(t,e.id,i))}async createUpdateLayerViewOpacityCommand(e){const{_context:t,_materialId:r}=this,n=t.renderCommandContext;return null==r?t.createPipelineCommand():t.createPipelineCommand(n.updateMaterial({type:"hud",materialId:r,parameters:{color:this._getFillColor(),outlineColor:this._getOutlineColor()}}))}async createUpdateElevationCommand(e){const{_materialId:t,_context:r}=this,{renderCommandContext:n}=r,{featureCount:i,id:s}=e;if(null==t||0===i)return r.createPipelineCommand();const a=await this._createGeometry(e);if(null==a)return r.createPipelineCommand();const o=q(e,r);return r.createPipelineCommand(n.updateDirectRendererGeometry(s,a,o))}async createDestroyCommand(){const{_iconTextureID:e,_context:t}=this,r=t.renderCommandContext;let n;return n=null!=e?await r.releaseSharedTexture("circle-icon"):y.create(r),n.appendPipelineStateCommand((()=>this._destroy())),n}_getOutlineColor(){const e=this._getLayerOpacity(),t=this._symbolLayer,r=t?.outline?.color;if(null!=r){const t=_.A.toUnitRGB(r),n=r.a*e;return[t[0],t[1],t[2],n]}return[0,0,0,0]}_getFillColor(){if(function(e){return null!=e&&("cross"===e||"x"===e)}(this._getPrimitive()))return ae;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=se){const r=this._draped?1:this._getLayerOpacity();return e?r*e.a:t.hasIntrinsicColor?r:0}_getCombinedOpacityAndColor(e,t=se){const r=this._getCombinedOpacity(e,t);return function(e,t,r=null){const n=(0,C.o8)(C.Un);return null!=e&&(n[0]=e[0],n[1]=e[1],n[2]=e[2]),null!=t?n[3]=t:null!=e&&e.length>3&&(n[3]=e[3]),r&&(n[0]*=r,n[1]*=r,n[2]*=r,n[3]*=r),n}(null!=e?_.A.toUnitRGB(e):T.Un,r)}_getPrimitive(){return e=this._symbolLayer,e.resource?.href?null:e.resource?.primitive??I.r;var e}}const se={hasIntrinsicColor:!1},ae=C.uY;class oe{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,n=[];for(const i of t.symbolLayers){const t=e.symbolRendererFactory.createSymbolRendererFromSymbolLayer(i);null!=t&&(n.push(t.load()),r.push(t))}await Promise.all(n),this._loaded=!0}async createDestroyCommand(){const{_context:e,_symbolLayerRenderers:t}=this,r=[];for(const e of t)r.push(e.createDestroyCommand());const n=e.joinPipelineCommands(await Promise.all(r));return n.appendPipelineStateCommand((()=>this._destroy())),n}async createAddCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,n=[];for(const t of r)n.push(t.createAddCommand(e));return t.joinPipelineCommands(await Promise.all(n))}async createRemoveCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,n=[];for(const t of r)n.push(t.createRemoveCommand(e));return t.joinPipelineCommands(await Promise.all(n))}async createUpdateVisibilityCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,n=[];for(const t of r)n.push(t.createUpdateVisibilityCommand(e));return t.joinPipelineCommands(await Promise.all(n))}async createUpdateLayerViewOpacityCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,n=[];for(const t of r)n.push(t.createUpdateLayerViewOpacityCommand(e));return t.joinPipelineCommands(await Promise.all(n))}async createUpdateElevationCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,n=[];for(const t of r)n.push(t.createUpdateElevationCommand(e));return t.joinPipelineCommands(await Promise.all(n))}}class le{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(),n=null==r?t.createPipelineCommand():await r.createAddCommand(e);return n.appendPipelineStateCommand((()=>this._featureData.set(e.id,e))),n}async createRemoveCommand(e){const t=this._context,r=await this._provisionSymbol(),n=null==r?t.createPipelineCommand():await r.createRemoveCommand(e);return n.appendPipelineStateCommand((()=>this._featureData.delete(e))),n}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 n=[];for(const t of e.values())n.push(r.createUpdateElevationCommand(t));const i=await Promise.all(n);return t.joinPipelineCommands(i)}async createDestroyCommand(){const{_symbol:e,_context:t,_featureData:r}=this;if(!e)return t.createPipelineCommand();const n=[];for(const e of r.keys())n.push(this.createRemoveCommand(e));n.push(e.createDestroyCommand());const i=await Promise.all(n);return t.joinPipelineCommands(i)}async _provisionSymbol(){const e=this._symbol;return e?(e.loaded||await e.load(),e):null}}var ce,de,ue=r(48353),he=r(30809),fe=r(8887),me=r(38954),pe=r(72385),ye=(r(4197),r(11868)),ge=r(240);r(71351),(de=ce||(ce={})).length=function(e,t){const r=e[t],n=e[t+1],i=e[t+2];return Math.sqrt(r*r+n*n+i*i)},de.normalize=function(e,t){const r=e[t],n=e[t+1],i=e[t+2],s=1/Math.sqrt(r*r+n*n+i*i);e[t]*=s,e[t+1]*=s,e[t+2]*=s},de.scale=function(e,t,r){e[t]*=r,e[t+1]*=r,e[t+2]*=r},de.add=function(e,t,r,n,i,s=t){(i=i||e)[s]=e[t]+r[n],i[s+1]=e[t+1]+r[n+1],i[s+2]=e[t+2]+r[n+2]},de.subtract=function(e,t,r,n,i,s=t){(i=i||e)[s]=e[t]-r[n],i[s+1]=e[t+1]-r[n+1],i[s+2]=e[t+2]-r[n+2]},r(87170);var _e=r(620);r(75039);const be=ce,ve=new Array(36);for(let e=0;e<6;e++)for(let t=0;t<6;t++)ve[6*e+t]=e;const we=new Array(36);for(let e=0;e<6;e++)we[6*e]=0,we[6*e+1]=1,we[6*e+2]=2,we[6*e+3]=2,we[6*e+4]=3,we[6*e+5]=0;const xe=(0,pe.fA)(-.5,0,-.5),Se=(0,pe.fA)(.5,0,-.5),Te=(0,pe.fA)(0,0,.5),Ce=(0,pe.fA)(0,.5,0),Ie=(0,pe.vt)(),Ae=(0,pe.vt)(),Oe=(0,pe.vt)(),Re=(0,pe.vt)(),De=(0,pe.vt)();(0,me.d)(Ie,xe,Ce),(0,me.d)(Ae,xe,Se),(0,me.h)(Oe,Ie,Ae),(0,me.n)(Oe,Oe),(0,me.d)(Ie,Se,Ce),(0,me.d)(Ae,Se,Te),(0,me.h)(Re,Ie,Ae),(0,me.n)(Re,Re),(0,me.d)(Ie,Te,Ce),(0,me.d)(Ae,Te,xe),(0,me.h)(De,Ie,Ae),(0,me.n)(De,De),Oe[0],Oe[1],Oe[2],Re[0],Re[1],Re[2],De[0],De[1],De[2],(0,T.vt)();var Pe=r(4576),Fe=r(69397);r(62258),r(6867),r(29878),r(87582);var Me=r(57917);function Ee(e,t){const r=(e,r,n=!1)=>({levels:e.map((e=>{const i=G(r(e.tesselation));return n&&function(e){const t=e,r=t.get(ne.r.POSITION).data,n=t.get(ne.r.NORMAL).data;if(n){const t=Ue(e,ne.r.NORMAL).data;for(let e=0;e<n.length;e+=3){const r=n[e+1];t[e+1]=-n[e+2],t[e+2]=r}}if(r){const t=Ue(e,ne.r.POSITION).data;for(let e=0;e<r.length;e+=3){const n=r[e+1];t[e+1]=-r[e+2],t[e+2]=n}}}(i),{components:[{attributes:i,objectAndLayerIdColor:void 0,transformation:null,materialId:t,visibilities:new Uint8Array([1]),objectIds:new Uint32Array([-1])}],minScreenSpaceRadius:e.minScreenSpaceRadius}}))});switch(e){case"cone":return r(Le,(e=>function(e,t,r,n,i=!0,s=!0){let a=0;const o=t,l=e;let c=(0,pe.fA)(0,a,0),d=(0,pe.fA)(0,a+l,0),u=(0,pe.fA)(0,-1,0),h=(0,pe.fA)(0,1,0);n&&(a=l,d=(0,pe.fA)(0,0,0),c=(0,pe.fA)(0,a,0),u=(0,pe.fA)(0,1,0),h=(0,pe.fA)(0,-1,0));const f=[d,c],m=[u,h],p=r+2,y=Math.sqrt(l*l+o*o);if(n)for(let e=r-1;e>=0;e--){const t=e*(2*Math.PI/r),n=(0,pe.fA)(Math.cos(t)*o,a,Math.sin(t)*o);f.push(n);const i=(0,pe.fA)(l*Math.cos(t)/y,-o/y,l*Math.sin(t)/y);m.push(i)}else for(let e=0;e<r;e++){const t=e*(2*Math.PI/r),n=(0,pe.fA)(Math.cos(t)*o,a,Math.sin(t)*o);f.push(n);const i=(0,pe.fA)(l*Math.cos(t)/y,o/y,l*Math.sin(t)/y);m.push(i)}const g=new Array,_=new Array;if(i){for(let e=3;e<f.length;e++)g.push(1),g.push(e-1),g.push(e),_.push(0),_.push(0),_.push(0);g.push(f.length-1),g.push(2),g.push(1),_.push(0),_.push(0),_.push(0)}if(s){for(let e=3;e<f.length;e++)g.push(e),g.push(e-1),g.push(0),_.push(e),_.push(e-1),_.push(1);g.push(0),g.push(2),g.push(f.length-1),_.push(1),_.push(2),_.push(m.length-1)}const b=(0,ye.oe)(3*p);for(let e=0;e<p;e++)b[3*e]=f[e][0],b[3*e+1]=f[e][1],b[3*e+2]=f[e][2];const v=(0,ye.oe)(3*p);for(let e=0;e<p;e++)v[3*e]=m[e][0],v[3*e+1]=m[e][1],v[3*e+2]=m[e][2];return[[ne.r.POSITION,new re.n(b,g,3,!0)],[ne.r.NORMAL,new re.n(v,_,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 n=e;let i,s;if(r)i=[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=n*(1+Math.sqrt(5))/2;i=[-n,e,0,n,e,0,-n,-e,0,n,-e,0,0,-n,e,0,n,e,0,-n,-e,0,n,-e,e,0,-n,e,0,n,-e,0,-n,-e,0,n],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<i.length;t+=3)be.scale(i,t,e/be.length(i,t));let a={};function o(t,r){t>r&&([t,r]=[r,t]);const n=t.toString()+"."+r.toString();if(a[n])return a[n];let s=i.length;return i.length+=3,be.add(i,3*t,i,3*r,i,s),be.scale(i,s,e/be.length(i,s)),s/=3,a[n]=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],n=s[r+1],i=s[r+2],a=o(e,n),l=o(n,i),c=o(i,e),d=4*r;t[d]=e,t[d+1]=a,t[d+2]=c,t[d+3]=n,t[d+4]=l,t[d+5]=a,t[d+6]=i,t[d+7]=c,t[d+8]=l,t[d+9]=a,t[d+10]=l,t[d+11]=c}s=t,a={}}const l=(0,ye.Wz)(i);for(let e=0;e<l.length;e+=3)be.normalize(l,e);return[[ne.r.POSITION,new re.n((0,ye.Wz)(i),s,3,!0)],[ne.r.NORMAL,new re.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 Ue(e,t){let r=e.get(t);return r&&!r.exclusive&&(r={...r,exclusive:!0,data:(0,Me.S)(r.data)},e.set(t,r)),r}const Le=[{tesselation:6,minScreenSpaceRadius:0},{tesselation:18,minScreenSpaceRadius:7},{tesselation:64,minScreenSpaceRadius:65}];var Ve=r(89192),ke=r(51768),Ne=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:Ne.Bt,ambient:T.Un,diffuse:T.Un,hasSlicePlane:!1,castShadows:!0,layerOpacity:t,offsetTransparentBackfaces:!1,screenSizePerspective:{}};if(r.externalColor=C.Un,r.isInstanced=!0,this._isPrimitive){const e=new ke.fs;e.layerOpacity=t,r={...r,cullFace:Be((0,ke.ty)(e))}}const n=await e.createMaterial({type:"default",parameters:r}),i=this._symbolLayer.resource;this._primitive=i&&function(e){switch(e){case"sphere":case"cube":case"diamond":case"cylinder":case"cone":case"inverted-cone":case"tetrahedron":return!0}return!1}(i?.primitive)?i.primitive:he.r;const s=Ee(this._primitive,n);this._lodRendererId=await e.createLodRenderer(s),this._primitiveMaterialId=n,this._loaded=!0}async createDestroyCommand(){const{_lodRendererId:e,_primitiveMaterialId:t,_context:r}=this,n=r.renderCommandContext,i=[];return null!=e&&i.push(n.destroyLodRenderer(e)),null!=t&&i.push(n.destroyMaterial(t)),new y(n,n.mergeRenderCommandBuffers(i),[()=>this._destroy()])}async createAddCommand(e){const t=this._context,{renderCommandContext:r,mainThreadDelegate:n}=t;if(null==this._lodRendererId)throw new Error("expected lod renderer id to not be null");const{featureCount:i}=e;if(0===i)return t.createPipelineCommand();const s=this._isPrimitive,a=this._primitive||he.r,o=(0,R.vt)((0,fe.Fq)(a)),l=(0,T.ci)((0,R.Ej)(o)),c=(0,T.ci)((0,fe.Bb)(l,{isPrimitive:s,width:100,depth:null,height:null})),d=new Float64Array(16*i),u=new Float64Array(16*i),h=j(e),f=await n.applyElevationAlignmentTo(h);for(let e=0;e<i;++e){const t=e,r=f[3*e+0],n=f[3*e+1],i=f[3*e+2],s=this._computeGlobalTransform(r,n,i,this._context.viewSpatialReference,He),a=this._computeLocalTransform(c,l,qe);this._writeMatrixToTypedBuffer(d,t,a),this._writeMatrixToTypedBuffer(u,t,s)}const m=B(e),p=new Uint8Array(i);e.getVisibilityArray(p);const y={featureIds:new Uint32Array(m),visibility:p,localTransforms:d,globalTransforms:u};return t.createPipelineCommand(r.addLodInstances(this._lodRendererId,e.id,y))}async createRemoveCommand(e){const{_context:t,_lodRendererId:r}=this,n=t.renderCommandContext;return null==r?t.createPipelineCommand():t.createPipelineCommand(n.removeLodInstances(r,e))}async createUpdateVisibilityCommand(e){const{_lodRendererId:t,_context:r}=this,n=r.renderCommandContext;if(null==t)return r.createPipelineCommand();const i=new Uint8Array(e.featureCount);return e.getVisibilityArray(i),r.createPipelineCommand(n.updateVisibility(t,e.id,i))}async createUpdateLayerViewOpacityCommand(e){const{_context:t}=this,r=t.renderCommandContext,n=this._primitiveMaterialId;if(null==n)return t.createPipelineCommand();const i=this._getLayerOpacity();let s={layerOpacity:i};if(this._isPrimitive){const e=new ke.fs;e.layerOpacity=i,s={...s,cullFace:Be((0,ke.ty)(e))}}return t.createPipelineCommand(r.updateMaterial({type:"default",materialId:n,parameters:s}))}async createUpdateElevationCommand(e){const{_context:t,_lodRendererId:r}=this,{renderCommandContext:n,mainThreadDelegate:i}=t,{featureCount:s,id:a}=e;if(null==r||0===s)return t.createPipelineCommand();const o=new Float64Array(16*s),l=j(e),c=await i.applyElevationAlignmentTo(l);for(let e=0;e<s;++e){const t=e,r=c[3*e+0],n=c[3*e+1],i=c[3*e+2],s=this._computeGlobalTransform(r,n,i,this._context.viewSpatialReference,He);this._writeMatrixToTypedBuffer(o,t,s)}return t.createPipelineCommand(n.updateLodInstancesData(r,a,o))}_writeMatrixToTypedBuffer(e,t,r){let n=16*t;for(let t=0;t<16;t++)e[n++]=r[t]}_computeGlobalTransform(e,t,r,n,i){return je[0]=e,je[1]=t,je[2]=r,(0,ue.l)(n,je,i,this._context.renderSpatialReference),i}_computeLocalTransform(e,t,r){return(0,O.D_)(r),this._applyObjectScale(e,t,r),r}_applyObjectScale(e,t,r){const n=function(e=T.Un,t,r,n=1){const i=new Array(3);if(null==t||null==r)i[0]=1,i[1]=1,i[2]=1;else{let n,s=0;for(let a=2;a>=0;a--){const o=e[a],l=null!=o,c=0===a&&!n&&!l,d=r[a];let u;"symbol-value"===o||c?u=0!==d?t[a]/d:1:l&&"proportional"!==o&&isFinite(o)&&(u=0!==d?o/d:1),null!=u&&(i[a]=u,n=u,s=Math.max(s,Math.abs(u)))}for(let e=2;e>=0;e--)null==i[e]?i[e]=n:0===i[e]&&(i[e]=.001*s)}for(let e=2;e>=0;e--)i[e]/=n;return(0,T.ci)(i)}(e,e,t,this._context.renderCoordsHelper.unitInMeters);1===n[0]&&1===n[1]&&1===n[2]||(0,O.hs)(r,r,n)}_getLayerOpacity(){return this._context.layerViewInfo.fullOpacity}}function Be(e){return e?Ve.s2.None:Ve.s2.Back}const je=(0,T.vt)(),qe=(0,S.vt)(),He=(0,S.vt)();class Ge{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 ie(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),n=await Promise.all(r.map((async({index:e,features:t})=>{const r=await this._provisionSymbol(e);return await(r?.createAddCommand(t))}))),i=t.joinPipelineCommands(n);return i.appendPipelineStateCommand((()=>this._featureDataPartitioning.set(e.id,r))),i}async createRemoveCommand(e){const{_featureDataPartitioning:t,_context:r}=this,n=r.renderCommandContext,i=t.get(e);if(null==i)return new y(n,n.createRenderCommandBuffer(),[]);const s=await Promise.all(i.map((async({index:e,features:t})=>{const r=this._getLoadedSymbol(e);return await(r?.createRemoveCommand(t.id))}))),a=r.joinPipelineCommands(s);return a.appendPipelineStateCommand((()=>t.delete(e))),a}async createUpdateVisibilityCommand(e){const{_featureDataPartitioning:t,_context:r}=this,n=r.renderCommandContext,i=t.get(e.id);if(null==i)return new y(n,n.createRenderCommandBuffer(),[]);const s=await Promise.all(i.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 n=this._symbols[t];null!=n&&n.loaded&&r.push(n.createUpdateLayerViewOpacityCommand(e))}const n=await Promise.all(r);return t.joinPipelineCommands(n)}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 n=await Promise.all(r);return t.joinPipelineCommands(n)}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 n=await Promise.all(r);return t.joinPipelineCommands(n)}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=B(e);if(null==t)throw new Error("unable to fetch objectIds");const{featureCount:r}=e,n=[[],[]];for(let e=0;e<r;++e)n[t[e]%2].push(e);return n.map(((t,r)=>new $e(r,e.subset(new Uint32Array(t))))).filter((e=>e.features.featureCount>0))}}class $e{constructor(e,t){this.index=e,this.features=t}}class Ye{constructor(e,t,r,n,i,s,a){this.viewSpatialReference=e,this.renderSpatialReference=t,this.mainThreadDelegate=r,this.renderCoordsHelper=n,this.renderCommandContext=i,this.layerInfo=s,this.layerViewInfo=a,this.symbolRendererFactory=new Ze(this)}createPipelineCommand(e=this.renderCommandContext.createRenderCommandBuffer(),t=[]){return new y(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 Ze{constructor(e){this.context=e}createSymbolRendererFromJSON(e){const t=(0,p.L)(e??Je)??void 0;if(!t)throw new Error("Failed to create renderer");const r=t.type;switch(r){case"simple":return new le(t,this.context);case"unique-value":return new Ge(t,this.context);default:return console.warn(`Unable to create symbolrenderer for renderer of ${r}`),this.createSymbolRendererFromJSON(Je)}}createSymbolRendererFromSymbol(e){const t=e?.type;switch(t){case"point-3d":return new oe(e,this.context);case"picture-marker":return new ie(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 ie(e,this.context):(console.warn(`Unable to create symbolrenderer for symbolLayer of ${t}`),null)}}const Je={type:"simple"};var We,Xe,Qe,Ke=r(69622),et=r(60999),tt=r(32587),rt=r(11932);class nt{constructor(e,t){this._joinCommands=e,this._createCommand=t,this._executing=new Set,this._nextEvents=new Map}async enqueueActions(e){const{_executing:t}=this;return e.every((e=>!t.has(e.tileId)))?await this._executeActions(e):await this._scheduleActions(e)}async _scheduleActions(e){const{_nextEvents:t}=this,r=new Set(e.map((e=>t.get(e.tileId))).filter(Pe.Ru));let n;if(0!==r.size){const i=new Array,s=new Array;for(const e of r)i.push(e.actions),s.push(e.resolver);i.push(e);for(const e of i)for(const r of e)t.delete(r.tileId);const a=i.reduce(at);n=new it(a),n.resolver.promise.then((()=>{for(const e of s)e.resolve()}),(e=>{for(const t of s)t.reject(e)}))}else n=new it(e);for(const e of n.actions)t.set(e.tileId,n);return this._validate(),await n.resolver.promise}async _executeActions(e){const t=e.map((e=>e.tileId)),{_executing:r}=this;for(const e of t)r.add(e);this._validate();try{const t=(await Promise.allSettled(e.map(this._createCommand))).map((e=>"fulfilled"===e.status?e.value:null)).filter(Pe.Ru);if(0===t.length)return;const r=this._joinCommands(t);await(r?.execute())}finally{for(const e of t)r.delete(e);this._executeTails(t)}}_executeTails(e){const{_nextEvents:t}=this,r=new Set(e.map((e=>t.get(e))).filter(Pe.Ru));if(0===r.size)return;const{_executing:n}=this;for(const e of r)if(!e.actions.some((e=>n.has(e.tileId)))){for(const r of e.actions)t.delete(r.tileId);this._executeActions(e.actions).then((()=>{e.resolver.resolve()}),(t=>{e.resolver.reject(t)}))}}_validate(){const{_nextEvents:e}=this,t=Array.from(new Set(e.values()));if(0!==t.length&&t.some((t=>t.actions.some((({tileId:r})=>e.get(r)!==t)))))throw new Error("Mismatch between map and event")}}class it{constructor(e){this.actions=e,this.resolver=(0,s.Tw)()}}class st{constructor(e,t,r){this.tileId=e,this.type=t,this.data=r}toString(){return`${this.tileId}: ${this.type}`}}function at(e,t){const r=new Array(e.length).fill(!0),n=new Array(t.length).fill(!0);e:for(let i=0;i<e.length;++i){const s=e[i];for(let e=0;e<t.length;++e)if(n[e])switch(ot(s,t[e])){case Xe.NONE:break;case Xe.OVERWRITE:r[i]=!1;continue e;case Xe.REDUNDANT:n[e]=!1;break;case Xe.ANNIHILATE:r[i]=!1,n[e]=!1;continue e}}const i=new Array;for(let t=0;t<e.length;++t)r[t]&&i.push(e[t]);for(let e=0;e<t.length;++e)n[e]&&i.push(t[e]);return i}function ot(e,t){if(e.tileId!==t.tileId)return Xe.NONE;if(e.type===We.ADD&&t.type===We.REMOVE)return Xe.ANNIHILATE;if(e.type===We.ADD&&t.type===We.UPDATE_VISIBILITY)return Xe.REDUNDANT;if(e.type===We.REMOVE&&t.type===We.ADD)return Xe.ANNIHILATE;if(e.type===We.UPDATE_VISIBILITY&&t.type===We.REMOVE)return Xe.OVERWRITE;if(e.type===We.UPDATE_VISIBILITY&&t.type===We.UPDATE_VISIBILITY)return Xe.OVERWRITE;throw new Error("Impossible sequence of actions")}(Qe=We||(We={})).ADD="ADD",Qe.REMOVE="REMOVE",Qe.UPDATE_VISIBILITY="UPDATE_VISIBILITY",function(e){e.NONE="NONE",e.ANNIHILATE="ANNIHILATE",e.OVERWRITE="OVERWRITE",e.REDUNDANT="REDUNDANT"}(Xe||(Xe={}));var lt=r(24326);function ct(e=""){return`${e}${(0,lt.c)()}`}r(37539),new Float64Array(3);class dt{constructor(e,t){this._parent=e,this._subsetIndices=t,this.id=ct(`featureDataSubset-${e.id}-`)}get extent(){return this._parent.extent}get featureCount(){return this._subsetIndices.length}get usedMemory(){return this._parent.usedMemory+Fe.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 n=0;n<r.length;++n)r[n]=t[e[n]];return new dt(this._parent,r)}disableObjectIds(e){if(0===e.size)return;const{featureCount:t}=this,r=new Array;for(let n=0;n<t;++n)this.getEnabled(n)&&e.has(this.getObjectId(n))&&r.push(n);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 ut{constructor(e){this._tile=e,this.id=ct(`featureData-${e.id}-`),this._enabled=new Array(e.featureCount).fill(!0)}get featureCount(){return this._tile.featureCount}get usedMemory(){return Fe.qK+(0,Fe.$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 dt(this,e)}disableObjectIds(e){if(0===e.size)return;const{_enabled:t}=this,r=new Array;for(const n of this._allFeatureIndices())t[n]&&e.has(this.getObjectId(n))&&r.push(n);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:n}=this;for(const i of t)e[r++]=Number(n[i]);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 ht=class extends Ke.A{constructor(e){super(e),this.extent=null,this._tileHandles=new tt.A,this._wanted=new tt.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,D.VY)(e)}get _missingTiles(){const e=new Array,t=this._wanted,r=this._tileHandles;for(const n of t.values())null==r.get(n.id)?.featureData&&e.push(n);return e}onTileTreeChange({tiles:e}){this._requestedTiles=e,this._scheduleTilesSync()}_scheduleTilesSync(){if(this._updateRequested)return;this._updateRequested=!0;const e=this._synchronizationTask,t=(0,et.UT)((async()=>{try{await(0,a.C_)((()=>e?.finished??!0)),await(0,rt.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 n of e)t.has(n.id)||r.push(n);const n=new Array;for(const r of t.values()){const{id:t}=r;e.every((e=>e.id!==t))&&n.push(r.descriptor)}const i=this._tileHandles,{_boundingRect:s}=this,a=null!=s?r.filter((e=>(0,D.HY)(s,e.extent))):r,o=this._wanted,l=new Array;for(const{id:e}of n)o.delete(e);for(const e of a)o.set(e.id,e);const c=this._missingTiles;for(const e of n){const{id:t}=e;if(c.some((t=>ft(t,e)||ft(e,t))))continue;const r=i.get(t);null!=r&&l.push(this._removeTile(r))}for(const e of a)l.push(this._addTile(e));const d=await Promise.allSettled(l);for(const e of d)"rejected"===e.status&&console.error(e.reason)}forEachTile(e){for(const t of this._tileHandles.values()){const r=t.featureData;null!=r&&e(r)}}async _removeTile(e){e.loadTask.abort(),this._tileHandles.delete(e.id),this._validate();const{featureData:t}=e;null!=t&&await this.synchronizer.enqueueActions([new st(e.id,We.REMOVE,t)])}async _addTile(e){const{_tileHandles:t}=this,r=t.get(e.id);if(null!=r){if(!pt(r)||r.featureData.isFullyEnabled)return;return r.featureData.enableAll(),void await this._onTileLoad(r)}const n=new mt(e,(0,et.UT)((async t=>{const r=await this.loadTile(e,t);return(0,s.Te)(t),new ut(r)})));this._tileHandles.set(n.id,n);try{await n.loadTask.promise}catch(e){return void(0,s.jH)(e)}(function(e){if(!pt(e))throw new Error})(n),await this._onTileLoad(n)}async _onTileLoad(e){const{_wanted:t,_tileHandles:r,_missingTiles:n}=this,i=e.descriptor,s=new Array,a=new Set;for(const o of r.values()){if(o===e)continue;const{descriptor:l,id:c}=o;if(t.has(c)||n.some((e=>ft(e,l)||ft(l,e)))){if(pt(o)){if(ft(i,l)){const e=o.featureData;for(const t of e.objectIds())a.add(t)}if(ft(l,i)){const t=e.featureData,r=new Set(t.objectIds()),{featureData:n}=o;n.disableObjectIds(r),s.push(new st(c,We.UPDATE_VISIBILITY,n)),this._validateRemoval(n,r)}}}else{r.delete(c),o.loadTask.abort();const{featureData:e}=o;null!=e&&s.push(new st(c,We.REMOVE,e))}}a.size>0&&(e.featureData.disableObjectIds(a),this._validateRemoval(e.featureData,a)),this._validate(),s.push(new st(e.id,We.ADD,e.featureData)),await this.synchronizer.enqueueActions(s)}_validate(){if(!(0,l.A)("feature-pipeline-3d-test-validation"))return;const e=new Array;for(const t of this._tileHandles.values()){if(!pt(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:n}=e[t];for(let i=t+1;i<e.length;++i){const{featureData:t,objectIds:s}=e[i];for(const e of s)if(n.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 ft({lij:[e,t,r]},{lij:[n,i,s]}){const a=n-e;return a>=0&&t===i>>a&&r===s>>a}(0,n._)([(0,o.MZ)()],ht.prototype,"updating",null),(0,n._)([(0,o.MZ)({constructOnly:!0})],ht.prototype,"loadTile",void 0),(0,n._)([(0,o.MZ)({constructOnly:!0})],ht.prototype,"synchronizer",void 0),(0,n._)([(0,o.MZ)()],ht.prototype,"extent",void 0),(0,n._)([(0,o.MZ)()],ht.prototype,"_boundingRect",null),(0,n._)([(0,o.MZ)()],ht.prototype,"_missingTiles",null),(0,n._)([(0,o.MZ)()],ht.prototype,"_updateRequested",void 0),(0,n._)([(0,o.MZ)()],ht.prototype,"_synchronizationTask",void 0),ht=(0,n._)([(0,c.$)("esri.views.3d.layers.graphics.pipeline.Tile3DManager")],ht);class mt{constructor(e,t){this.descriptor=e,this.loadTask=t}get id(){return this.descriptor.id}get featureData(){return this.loadTask.value}}function pt(e){return null!=e.featureData}var yt=r(75503),gt=r(27647),_t=r(92722);class bt{constructor(e,t){this._index=e,this._view=t}get usedMemory(){return Fe.qK+Fe.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 vt(this._index,this._view,e)}}class vt extends bt{constructor(e,t,r){super(e,t),this._geometryOverride=r}getOptimizedGeometry(){return this._geometryOverride}getCentroid(e){return(0,gt.Q)(new _t.A,this._geometryOverride,e.hasZ,e.hasM)}}class wt{constructor(e,t){this.featureData=e,this.bounds=t}}class xt{constructor(){this._tileBounds=new Map,this.events=new i.A,this.featureAdapter=St.shared}get usedMemory(){return Fe.qK+Fe.qK*this._tileBounds.size}addTile(e){const{featureCount:t}=e;if(0===t)return;const r=new yt.w(9,(t=>e.getBounds(t))),n=new Array;for(let e=0;e<t;++e)n[e]=e;r.load(n),this._tileBounds.set(e.id,new wt(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 bt(r,t))}))}forEachInBounds(e,t){Tt.minX=e[0],Tt.minY=e[1],Tt.maxX=e[2],Tt.maxY=e[3];for(const{featureData:e,bounds:r}of this._tileBounds.values())r.search(Tt,(r=>{e.getEnabled(r)&&t(new bt(r,e))}))}forEachBounds(e,t){for(const r of e)t(r.getBoundingBox())}getFullExtent(e){let t=1/0,r=1/0,n=-1/0,i=-1/0;for(const{bounds:e}of this._tileBounds.values()){const{minX:s,minY:a,maxX:o,maxY:l}=e.toJSON();t=Math.min(t,s),r=Math.min(r,a),n=Math.min(n,o),i=Math.min(i,l)}return{xmin:t,ymin:r,xmax:n,ymax:i,spatialReference:e}}}class St{static{this.shared=new St}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 Tt=new yt.E;var Ct=r(80893);class It{constructor(e,t,r){this.descriptor=e,this._pages=t,this._pageSize=r;const n=Fe.ez+t.reduce(((e,{usedMemory:t})=>e+t),0),i=3*Fe.RS;this.usedMemory=Fe.qK+n+i,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:n}=this._translateIndex(e);return this._pages[r].getAttribute(n,t)}getAttributeAsTimestamp(e,t){const{pageIndex:r,featurePageIndex:n}=this._translateIndex(e);return this._pages[r].getAttributeAsTimestamp(n,t)}getAttributes(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getAttributes(r)}getCoordinates(e,t,r){const{pageIndex:n,featurePageIndex:i}=this._translateIndex(e);this._pages[n].getCoordinates(i,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:n}=this._translateIndex(e);return this._pages[r].getCentroid(n,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 n=r;for(const{page:r,indices:i}of this._batchPageIndices(t))n=r.getObjectIdsArray(e,i,n);return n}getCoordinatesArray(e,t=this._allFeatureIndices(),r=0){let n=r;for(const{page:r,indices:i}of this._batchPageIndices(t))n=r.getCoordinatesArray(e,i,n);return n}*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,n=new Array;for(const i of e){const{pageIndex:e,featurePageIndex:s}=this._translateIndex(i);r!==e&&(0!==n.length&&t.push({pageIndex:r,indices:n}),r=e,n=[]),n.push(s)}0!==n.length&&t.push({pageIndex:r,indices:n})}const{_pages:r}=this;for(const{pageIndex:e,indices:n}of t)yield{page:r[e],indices:n}}}var At=r(49186),Ot=r(51624),Rt=r(62577),Dt=r(95466),Pt=r(53655);class Ft{constructor(e){this._reader=new Ot.A(new Uint8Array(e),new DataView(e)),this._index=function(e){for(;e.next();){if(2===e.tag())return Mt(e.getMessage());e.skip()}Ut()}(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:n}}=this,i=r.get(t)?.index;if(null==i)return;const s=n[e*r.fields.length+i],a=this._reader;return a.move(s),Lt(a)}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,n=e*t.fields.length,i=this._reader,s={};for(const e of t.fields){const t=r[n+e.index];i.move(t),s[e.name]=Lt(i)}return s}getCoordinates(e,t,r=0){const n=this._reader,{transform:i,featureIndices:s}=this._index,{scale:a,translate:o}=i;n.move(s[e]),this._readCoordinates(a,o,t,r)}getOptimizedGeometry(e){const t=(0,T.vt)();return this.getCoordinates(e,t),new _t.A([],t)}getCentroid(e,{hasZ:t,hasM:r}){this.getCoordinates(e,Vt);const[n,i,s]=Vt,a=[n,i];return t&&(a[3]=s),r&&(a[t?4:3]=0),new _t.A([],a)}getBounds(e){this.getCoordinates(e,Vt);const[t,r]=Vt,n=new yt.E;return n.minX=t,n.minY=r,n.maxX=t,n.maxY=r,n}getBoundingBox(e){this.getCoordinates(e,Vt);const[t,r,n]=Vt;return(0,R.fA)(t,r,n,t,r,n)}getObjectIdsArray(e,t=this._allFeatureIndices(),r=0){const n=this._reader,{objectIdFieldName:i,attributeIndices:s,fieldsIndex:a}=this._index,o=a.get(i).index,l=a.fields.length;for(const i of t){const t=s[i*l+o];n.move(t),e[r++]=Lt(n)}return r}getCoordinatesArray(e,t=this._allFeatureIndices(),r=0){const n=this._reader,{transform:i,featureIndices:s}=this._index,{scale:a,translate:o}=i;for(const i of t){const t=s[i];n.move(t),r=this._readCoordinates(a,o,e,r)}return r}*objectIds(e=this._allFeatureIndices()){const t=this._reader,{objectIdFieldName:r,attributeIndices:n,fieldsIndex:i}=this._index,s=i.get(r).index,a=i.fields.length;for(const r of e){const e=n[r*a+s];t.move(e),yield Lt(t)}}*_allFeatureIndices(){const{featureCount:e}=this;for(let t=0;t<e;++t)yield t}_readCoordinates([e,t,r],[n,i,s],a,o){const l=this._reader,c=l.getLength(),d=l.pos()+c;for(;l.pos()<d&&l.next();)switch(l.tag()){case 2:{const c=l.getLength(),d=l.pos()+c;for(;l.pos()<d&&l.next();)3===l.tag()?(l.getUInt32(),a[o++]=n+e*l.getSInt64(),a[o++]=i+t*l.getSInt64(),a[o++]=s+r*l.getSInt64()):l.skip();break}default:l.skip()}return o}}function Mt(e){for(;e.next();){if(1===e.tag())return Et(e.getMessage());e.skip()}Ut()}function Et(e){let t,r,n=!1,i=!1,s=0;const a=new Array,o=new Array,l=new Array;for(;e.next();)switch(e.tag()){case 1:r=e.getString();break;case 7:0!==e.getEnum()&&Ut();break;case 9:n=e.getBool()??!1;break;case 12:t=(0,Rt.Q1)(e.processMessage(Pt.ae));break;case 13:{const t=e.processMessage(Pt.cn);t.index=s++,a.push(t);break}case 15:{o.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:i=e.getBool()??!1;break;default:e.skip()}const c=new Dt.A(a);return null!=t&&i&&null!=r&&c.has(r)||Ut(),{transform:t,exceededTransferLimit:n,fieldsIndex:c,objectIdFieldName:r,featureIndices:o,attributeIndices:l}}function Ut(){const e=new At.A("pbf-parsing-failed","Error while parsing PBF",new Error);throw console.error(e),e}function Lt(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 Vt=(0,T.vt)();class kt{constructor(e,t,r,n,i){this.spatialReference=e,this.url=r,this.objectIdField=n,this.capabilities=i;const{supportsMaxRecordCountFactor:s,maxRecordCount:a}=this.capabilities.query,o=s?4:1,l=(a??8e3)*o;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=o,c.num=this._pageSize,c.outFields=[n],this._baseQuery=c}async fetch(e,t){const{spatialReference:r,_pageSize:n}=this,i=(0,D.w1)(e.extent,r),a=this._baseQuery.clone();a.geometry=i;const o=new Array;let l=0,c=!1,d=1;for(;!c;){const e=[];for(let r=0;r<d;++r)e.push(this._fetchPage(a,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&&o.push(e)}d=Math.min(d+1,4)}return new It(e,o,n)}async _fetchPage(e,t,r){const n=e.clone();n.start=t*this._pageSize;const i=(await(0,Ct.kS)(this.url,n,{signal:r})).data;return(0,s.Te)(r),new Ft(i)}}var Nt=r(24151),zt=r(29920),Bt=r(77690),jt=r(29242);var qt=r(13030),Ht=r(78662),Gt=r(1843),$t=r(49255),Yt=r(40268),Zt=r(16943),Jt=r(25634),Wt=r(11725),Xt=r(13464),Qt=r(77194);class Kt{constructor(){this.scale=0,this.factor=0,this.minScaleFactor=0}}var er=r(59907),tr=r(43616),rr=r(13259),nr=r(97220),ir=r(98958),sr=r(59643),ar=r(33524),or=r(90644);class lr extends ir.w{constructor(e,t){super(e,t,new nr.$(rr.H,(()=>r.e(8241).then(r.bind(r,48241))))),this.primitiveType=t.occlusionPass?Y.WR.POINTS:Y.WR.TRIANGLES}initializePipeline(e){const{oitPass:t,hasPolygonOffset:r,draped:n,output:i,depthTestEnabled:s,occlusionPass:a}=e,o=t===sr.Y.NONE,l=t===sr.Y.ColorAlpha,c=i===$t.V.Highlight,d=s&&!n&&!l&&!a&&!c;return(0,or.Ey)({blending:(0,$t.RN)(i)?o?or.RC:(0,ar.ez)(t):null,depthTest:s&&!n?{func:Y.MT.LEQUAL}:null,depthWrite:d?or.Uy:null,drawBuffers:(0,ar.m6)(t,i),colorWrite:or.kn,polygonOffset:r?cr:null})}}const cr={factor:0,units:-4};var dr=r(53466),ur=r(22911),hr=r(51976),fr=r(35256);class mr extends fr.E{constructor(e){super(),this.spherical=e,this.screenCenterOffsetUnitsEnabled=!1,this.occlusionTestEnabled=!0,this.signedDistanceFieldEnabled=!1,this.sampleSignedDistanceFieldTexelCenter=!1,this.vvSize=!1,this.vvColor=!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.objectAndLayerIdColorInstanced=!1,this.horizonCullingEnabled=!0,this.isFocused=!0,this.textureCoordinateType=dr.I.None,this.emissionSource=ur.ZX.None,this.discardInvisibleFragments=!0,this.hasVvInstancing=!1,this.snowCover=!1}}(0,n._)([(0,hr.W)()],mr.prototype,"screenCenterOffsetUnitsEnabled",void 0),(0,n._)([(0,hr.W)()],mr.prototype,"occlusionTestEnabled",void 0),(0,n._)([(0,hr.W)()],mr.prototype,"signedDistanceFieldEnabled",void 0),(0,n._)([(0,hr.W)()],mr.prototype,"sampleSignedDistanceFieldTexelCenter",void 0),(0,n._)([(0,hr.W)()],mr.prototype,"vvSize",void 0),(0,n._)([(0,hr.W)()],mr.prototype,"vvColor",void 0),(0,n._)([(0,hr.W)()],mr.prototype,"hasVerticalOffset",void 0),(0,n._)([(0,hr.W)()],mr.prototype,"hasScreenSizePerspective",void 0),(0,n._)([(0,hr.W)()],mr.prototype,"hasRotation",void 0),(0,n._)([(0,hr.W)()],mr.prototype,"debugDrawLabelBorder",void 0),(0,n._)([(0,hr.W)()],mr.prototype,"hasPolygonOffset",void 0),(0,n._)([(0,hr.W)()],mr.prototype,"depthTestEnabled",void 0),(0,n._)([(0,hr.W)()],mr.prototype,"pixelSnappingEnabled",void 0),(0,n._)([(0,hr.W)()],mr.prototype,"draped",void 0),(0,n._)([(0,hr.W)()],mr.prototype,"terrainDepthTest",void 0),(0,n._)([(0,hr.W)()],mr.prototype,"cullAboveTerrain",void 0),(0,n._)([(0,hr.W)()],mr.prototype,"occlusionPass",void 0),(0,n._)([(0,hr.W)()],mr.prototype,"occludedFragmentFade",void 0),(0,n._)([(0,hr.W)()],mr.prototype,"objectAndLayerIdColorInstanced",void 0),(0,n._)([(0,hr.W)()],mr.prototype,"horizonCullingEnabled",void 0),(0,n._)([(0,hr.W)()],mr.prototype,"isFocused",void 0);var pr=r(49788);class yr extends Wt.im{constructor(e,t){super(e,zr),this.produces=new Map([[Xt.N.HUD_MATERIAL,e=>(0,$t.Mb)(e)&&!this.parameters.drawAsLabel],[Xt.N.LABEL_MATERIAL,e=>(0,$t.Mb)(e)&&this.parameters.drawAsLabel],[Xt.N.OCCLUSION_PIXELS,()=>this.parameters.occlusionTest],[Xt.N.DRAPED_MATERIAL,e=>this.parameters.draped&&(0,$t.Mb)(e)]]),this._visible=!0,this._configuration=new mr(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.vvSize=!!this.parameters.vvSize,this._configuration.vvColor=!!this.parameters.vvColor,this._configuration.occlusionPass=t.slot===Xt.N.OCCLUSION_PIXELS,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||t.slot===Xt.N.OCCLUSION_PIXELS,(0,$t.RN)(e)&&(this._configuration.debugDrawLabelBorder=!!E.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,n,i,s){const{options:{selectionMode:a,hud:o,excludeLabels:l},point:c,camera:d}=r,{parameters:u}=this;if(!a||!o||l&&u.isLabel||!e.visible||!c||!d)return;const h=e.attributes.get(ne.r.FEATUREATTRIBUTE),f=null==h?null:(0,C.ci)(h.data,Er),{scaleX:m,scaleY:p}=Hr(f,u,d.pixelRatio);(0,Bt.z0)(Or,t),e.attributes.has(ne.r.FEATUREATTRIBUTE)&&function(e){const t=e[0],r=e[1],n=e[2],i=e[3],s=e[4],a=e[5],o=e[6],l=e[7],c=e[8],d=1/Math.sqrt(t*t+r*r+n*n),u=1/Math.sqrt(i*i+s*s+a*a),h=1/Math.sqrt(o*o+l*l+c*c);e[0]=t*d,e[1]=r*d,e[2]=n*d,e[3]=i*u,e[4]=s*u,e[5]=a*u,e[6]=o*h,e[7]=l*h,e[8]=c*h}(Or);const y=e.attributes.get(ne.r.POSITION),g=e.attributes.get(ne.r.SIZE),_=e.attributes.get(ne.r.NORMAL),b=e.attributes.get(ne.r.ROTATION),v=e.attributes.get(ne.r.CENTEROFFSETANDDISTANCE);(0,_e.vA)(y.size>=3);const w=(0,rr.c)(u),x="screen"===this.parameters.centerOffsetUnits;for(let e=0;e<y.data.length/y.size;e++){const n=e*y.size;(0,me.i)(wr,y.data[n],y.data[n+1],y.data[n+2]),(0,me.t)(wr,wr,t),(0,me.t)(wr,wr,d.viewMatrix);const i=e*v.size;if((0,me.i)(Fr,v.data[i],v.data[i+1],v.data[i+2]),!x&&(wr[0]+=Fr[0],wr[1]+=Fr[1],0!==Fr[2])){const e=Fr[2];(0,me.n)(Fr,wr),(0,me.d)(wr,wr,(0,me.g)(Fr,Fr,e))}const a=e*_.size;if((0,me.i)(xr,_.data[a],_.data[a+1],_.data[a+2]),_r(xr,Or,d,Ur),Gr(this.parameters,wr,Ur,d,vr),d.applyProjection(wr,Sr),Sr[0]>-1){x&&(Fr[0]||Fr[1])&&(Sr[0]+=Fr[0]*d.pixelRatio,0!==Fr[1]&&(Sr[1]+=(0,Qt.m0)(Fr[1],vr.factorAlignment)*d.pixelRatio),d.unapplyProjection(Sr,wr)),Sr[0]+=this.parameters.screenOffset[0]*d.pixelRatio,Sr[1]+=this.parameters.screenOffset[1]*d.pixelRatio,Sr[0]=Math.floor(Sr[0]),Sr[1]=Math.floor(Sr[1]);const t=e*g.size;kr[0]=g.data[t],kr[1]=g.data[t+1],(0,Qt.MD)(kr,vr.factor,kr);const n=Lr*d.pixelRatio;let i=0;u.textureIsSignedDistanceField&&(i=Math.min(u.outlineSize,.5*kr[0])*d.pixelRatio/2),kr[0]*=m,kr[1]*=p;const a=e*b.size,o=u.rotation+b.data[a];if(br(c,Sr[0],Sr[1],kr,n,i,o,u,w)){const e=r.ray;if((0,me.t)(Cr,wr,(0,O.B8)(Dr,d.viewMatrix)),Sr[0]=c[0],Sr[1]=c[1],d.unprojectFromRenderScreen(Sr,wr)){const t=(0,T.vt)();(0,me.c)(t,e.direction);const r=1/(0,me.l)(t);(0,me.g)(t,t,r),s((0,me.j)(e.origin,wr)*r,t,-1,Cr)}}}}}intersectDraped(e,t,r,n,i){const s=e.attributes.get(ne.r.POSITION),a=e.attributes.get(ne.r.SIZE),o=e.attributes.get(ne.r.ROTATION),l=this.parameters,c=(0,rr.c)(l),d=e.attributes.get(ne.r.FEATUREATTRIBUTE),u=null==d?null:(0,C.ci)(d.data,Er),{scaleX:h,scaleY:f}=Hr(u,l,e.screenToWorldRatio),m=Vr*e.screenToWorldRatio;for(let t=0;t<s.data.length/s.size;t++){const d=t*s.size,u=s.data[d],p=s.data[d+1],y=t*a.size;kr[0]=a.data[y],kr[1]=a.data[y+1];let g=0;l.textureIsSignedDistanceField&&(g=Math.min(l.outlineSize,.5*kr[0])*e.screenToWorldRatio/2),kr[0]*=h,kr[1]*=f;const _=t*o.size,b=l.rotation+o.data[_];br(r,u,p,kr,m,g,b,l,c)&&n(i.distance,i.normal,-1)}}createBufferWriter(){return new qr}applyShaderOffsetsView(e,t,r,n,i,s,a){const o=_r(t,r,i,Ur);return this._applyVerticalGroundOffsetView(e,o,i,a),Gr(this.parameters,a,o,i,s),this._applyPolygonOffsetView(a,o,n[3],i,a),this._applyCenterOffsetView(a,n,a),a}applyShaderOffsetsNDC(e,t,r,n,i){return this._applyCenterOffsetNDC(e,t,r,n),null!=i&&(0,me.c)(i,n),this._applyPolygonOffsetNDC(n,t,r,n),n}_applyPolygonOffsetView(e,t,r,n,i){const s=n.aboveGround?1:-1;let a=Math.sign(r);0===a&&(a=s);const o=s*a;if(this.parameters.shaderPolygonOffset<=0)return(0,me.c)(i,e);const l=(0,M.qE)(Math.abs(t.cosAngle),.01,1),c=1-Math.sqrt(1-l*l)/l/n.viewport[2];return(0,me.g)(i,e,o>0?c:1/c),i}_applyVerticalGroundOffsetView(e,t,r,n){const i=(0,me.l)(e),s=r.aboveGround?1:-1,a=r.computeRenderPixelSizeAtDist(i)*Yt.R,o=(0,me.g)(wr,t.normal,s*a);return(0,me.f)(n,e,o),n}_applyCenterOffsetView(e,t,r){const n="screen"!==this.parameters.centerOffsetUnits;return r!==e&&(0,me.c)(r,e),n&&(r[0]+=t[0],r[1]+=t[1],t[2]&&((0,me.n)(xr,r),(0,me.a)(r,r,(0,me.g)(xr,xr,t[2])))),r}_applyCenterOffsetNDC(e,t,r,n){const i="screen"!==this.parameters.centerOffsetUnits;return n!==e&&(0,me.c)(n,e),i||(n[0]+=t[0]/r.fullWidth*2,n[1]+=t[1]/r.fullHeight*2),n}_applyPolygonOffsetNDC(e,t,r,n){const i=this.parameters.shaderPolygonOffset;if(e!==n&&(0,me.c)(n,e),i){const e=r.aboveGround?1:-1,s=e*Math.sign(t[3]);n[2]-=(s||e)*i}return n}set visible(e){this._visible=e}get visible(){const{color:e,outlineSize:t,outlineColor:r}=this.parameters,n=e[3]>=pr.Q||t>=pr.Q&&r[3]>=pr.Q;return this._visible&&n}createGLMaterial(e){return new gr(e)}calculateRelativeScreenBounds(e,t,r=(0,D.vt)()){return function(e,t,r,n){n[0]=e.anchorPosition[0]*-t[0]+e.screenOffset[0]*r,n[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 gr extends Jt.m8{constructor(e){super({...e,...e.material.parameters})}beginSlot(e){return this.updateTexture(this._material.parameters.textureId),this._material.setParameters(this.textureBindParameters),this.getTechnique(lr,e)}}function _r(e,t,r,n){return function(e){return function(e){return e instanceof Float32Array&&e.length>=16}(e)||function(e){return Array.isArray(e)&&e.length>=16}(e)}(t)&&(t=(0,Bt.z0)(Rr,t)),(0,me.o)(n.normal,e,t),(0,me.t)(n.normal,n.normal,r.viewInverseTransposeMatrix),n.cosAngle=(0,me.e)(Tr,Nr),n}function br(e,t,r,n,i,s,a,o,l){let c=t-i-n[0]*l[0],d=c+n[0]+2*i,u=r-i-n[1]*l[1],h=u+n[1]+2*i;const f=o.distanceFieldBoundingBox;return o.textureIsSignedDistanceField&&null!=f&&(c+=n[0]*f[0],u+=n[1]*f[1],d-=n[0]*(1-f[2]),h-=n[1]*(1-f[3]),c-=s,d+=s,u-=s,h+=s),(0,P.hZ)(Ar,t,r),(0,P.e$)(Ir,e,Ar,(0,M.kU)(a)),Ir[0]>c&&Ir[0]<d&&Ir[1]>u&&Ir[1]<h}const vr=new class{constructor(){this.factor=new Kt,this.factorAlignment=new Kt}},wr=(0,T.vt)(),xr=(0,T.vt)(),Sr=(0,C.vt)(),Tr=(0,T.vt)(),Cr=(0,T.vt)(),Ir=(0,F.vt)(),Ar=(0,F.vt)(),Or=(0,jt.vt)(),Rr=(0,jt.vt)(),Dr=(0,S.vt)(),Pr=(0,C.vt)(),Fr=(0,T.vt)(),Mr=(0,T.vt)(),Er=(0,C.vt)(),Ur={normal:Tr,cosAngle:0},Lr=1,Vr=2,kr=(0,F.fA)(0,0),Nr=(0,T.fA)(0,0,1);class zr extends Jt.NV{constructor(){super(...arguments),this.renderOccluded=Wt.m$.Occlude,this.isDecoration=!1,this.color=(0,C.CN)(1,1,1,1),this.polygonOffset=!1,this.anchorPosition=(0,F.fA)(.5,.5),this.screenOffset=[0,0],this.shaderPolygonOffset=1e-5,this.textureIsSignedDistanceField=!1,this.sampleSignedDistanceFieldTexelCenter=!1,this.outlineColor=(0,C.CN)(1,1,1,1),this.outlineSize=0,this.distanceFieldBoundingBox=(0,C.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.focusEffect="none",this.draped=!1,this.isLabel=!1}}const Br=(0,Gt.BP)().vec3f(ne.r.POSITION).vec3f(ne.r.NORMAL).vec2i16(ne.r.UVI).vec4u8(ne.r.COLOR).vec2f(ne.r.SIZE).f32(ne.r.ROTATION).vec4f(ne.r.CENTEROFFSETANDDISTANCE).vec4f(ne.r.FEATUREATTRIBUTE),jr=Br.clone().vec4u8(ne.r.OLIDCOLOR);class qr{constructor(){this.vertexBufferLayout=(0,Zt.E)()?jr:Br}elementCount(e){return 6*e.get(ne.r.POSITION).indices.length}write(e,t,r,n,i,s){const{position:a,normal:o,uvi:l,color:c,size:d,rotation:u,centerOffsetAndDistance:h,featureAttribute:f}=i;(0,er.Hk)(r.get(ne.r.POSITION),e,a,s,6),(0,er.p1)(r.get(ne.r.NORMAL),t,o,s,6);const m=r.get(ne.r.UVI)?.data;let p=0,y=0,g=-1-rr.f,_=-1-rr.f;m&&m.length>=4&&(p=m[0],y=m[1],g=-1-m[2],_=-1-m[3]);let b=r.get(ne.r.POSITION).indices.length,v=s;for(let e=0;e<b;++e)l.set(v,0,p),l.set(v,1,y),v++,l.set(v,0,g),l.set(v,1,y),v++,l.set(v,0,g),l.set(v,1,_),v++,l.set(v,0,g),l.set(v,1,_),v++,l.set(v,0,p),l.set(v,1,_),v++,l.set(v,0,p),l.set(v,1,y),v++;(0,er.tb)(r.get(ne.r.COLOR),4,c,s,6);const{data:w,indices:x}=r.get(ne.r.SIZE);b=x.length,v=s;for(let e=0;e<b;++e){const t=w[2*x[e]],r=w[2*x[e]+1];for(let e=0;e<6;++e)d.set(v,0,t),d.set(v,1,r),v++}if((0,er.uO)(r.get(ne.r.ROTATION),u,s,6),r.get(ne.r.CENTEROFFSETANDDISTANCE)?(0,er.Ut)(r.get(ne.r.CENTEROFFSETANDDISTANCE),h,s,6):(0,er.Pq)(h,s,6*b),r.get(ne.r.FEATUREATTRIBUTE)?(0,er.Ut)(r.get(ne.r.FEATUREATTRIBUTE),f,s,6):(0,er.Pq)(f,s,6*b),null!=n){const e=r.get(ne.r.POSITION)?.indices;if(e){const t=e.length,r=i.getField(ne.r.OLIDCOLOR,qt.XP);(0,er.vx)(n,r,t,s,6)}}return{numVerticesPerItem:6,numItems:b}}intersect(e,t,r,n,i,s,a){const{options:{selectionMode:o,hud:l,excludeLabels:c},point:d,camera:u}=n;if(!o||!l||c&&t.isLabel||!d)return;const h=this.vertexBufferLayout.createView(e),f=h.getField(ne.r.POSITION,qt.xs),m=h.getField(ne.r.NORMAL,qt.xs),p=h.getField(ne.r.ROTATION,qt.Y$),y=h.getField(ne.r.SIZE,qt.gH),g=h.getField(ne.r.FEATUREATTRIBUTE,qt.Eq),_=h.getField(ne.r.CENTEROFFSETANDDISTANCE,qt.Eq),b="screen"===t.centerOffsetUnits,v=(0,rr.c)(t);if(null==f||null==m||null==p||null==y||null==_||null==u)return;const w=null==g?null:g.getVec(0,Er),{scaleX:x,scaleY:S}=Hr(w,t,u.pixelRatio),C=f.count/6;for(let e=0;e<C;e++){const i=6*e;if(f.getVec(i,wr),null!=r&&(0,me.f)(wr,wr,r),(0,me.t)(wr,wr,u.viewMatrix),_.getVec(i,Pr),(0,me.i)(Fr,Pr[0],Pr[1],Pr[2]),!b&&(wr[0]+=Fr[0],wr[1]+=Fr[1],0!==Fr[2])){const e=Fr[2];(0,me.n)(Fr,wr),(0,me.d)(wr,wr,(0,me.g)(Fr,Fr,e))}if(m.getVec(i,xr),_r(xr,Or,u,Ur),Gr(t,wr,Ur,u,vr),u.applyProjection(wr,Sr),Sr[0]>-1){b&&(Fr[0]||Fr[1])&&(Sr[0]+=Fr[0]*u.pixelRatio,0!==Fr[1]&&(Sr[1]+=(0,Qt.m0)(Fr[1],vr.factorAlignment)*u.pixelRatio),u.unapplyProjection(Sr,wr)),Sr[0]+=t.screenOffset[0]*u.pixelRatio,Sr[1]+=t.screenOffset[1]*u.pixelRatio,Sr[0]=Math.floor(Sr[0]),Sr[1]=Math.floor(Sr[1]),y.getVec(i,kr),(0,Qt.MD)(kr,vr.factor,kr);const r=Lr*u.pixelRatio;let s=0;t.textureIsSignedDistanceField&&(s=Math.min(t.outlineSize,.5*kr[0])*u.pixelRatio/2),kr[0]*=x,kr[1]*=S;const o=p.get(i),l=t.rotation+o;if(br(d,Sr[0],Sr[1],kr,r,s,l,t,v)){const t=n.ray;if((0,me.t)(Cr,wr,(0,O.B8)(Dr,u.viewMatrix)),Sr[0]=d[0],Sr[1]=d[1],u.unprojectFromRenderScreen(Sr,wr)){const r=(0,T.vt)();(0,me.c)(r,t.direction);const n=1/(0,me.l)(r);(0,me.g)(r,r,n),a((0,me.j)(t.origin,wr)*n,r,e,Cr)}}}}}}function Hr(e,t,r){return null==e||null==t.vvSize?{scaleX:r,scaleY:r}:((0,Ht.VC)(Mr,t,e),{scaleX:Mr[0]*r,scaleY:Mr[1]*r})}function Gr(e,t,r,n,i){if(!e.verticalOffset?.screenLength)return e.screenSizePerspective||e.screenSizePerspectiveAlignment?$r(e,i,(0,me.l)(t),r.cosAngle):(i.factor.scale=1,i.factorAlignment.scale=1),t;const s=(0,me.l)(t),a=e.screenSizePerspectiveAlignment??e.screenSizePerspective,o=(0,tr.kE)(n,s,e.verticalOffset,r.cosAngle,a);return $r(e,i,s,r.cosAngle),(0,me.g)(r.normal,r.normal,o),(0,me.f)(t,t,r.normal)}function $r(e,t,r,n){null!=e.screenSizePerspective?(0,Qt.cJ)(n,r,e.screenSizePerspective,t.factor):(t.factor.scale=1,t.factor.factor=0,t.factor.minScaleFactor=0),null!=e.screenSizePerspectiveAlignment?(0,Qt.cJ)(n,r,e.screenSizePerspectiveAlignment,t.factorAlignment):(t.factorAlignment.factor=t.factor.factor,t.factorAlignment.scale=t.factor.scale,t.factorAlignment.minScaleFactor=t.factor.minScaleFactor)}class Yr{constructor(e,t){this._mainThreadDelegate=t,this._bufferWriters=new Map,this._sharedTextures=new Map,this.globalViewingMode=e===Nt.RT.Global}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 getOrCreateSharedTexture(e,t){const{data:r,parameters:n}=t(),i=await this._mainThreadDelegate.createTexture(r,n);return this._sharedTextures.set(e,i),i}async releaseSharedTexture(e){const t=this._sharedTextures,r=t.get(e);if(null==r)return y.create(this);const n=this._destroyTexture(r);return new y(this,n,[()=>t.delete(e)])}_destroyTexture(e){return{commands:[{id:"destroy-texture",textureId:e}],transferList:[]}}async createMaterial(e){const{type:t,parameters:r}=e,n=ct("material");let i,s;switch(t){case"default":i=new ke.$U(e.parameters,{spherical:this.globalViewingMode}),s={type:t,materialId:n,parameters:e.parameters};break;case"hud":i=new yr(r,this.globalViewingMode),s={type:t,materialId:n,parameters:e.parameters}}return this._bufferWriters.set(n,i.createBufferWriter()),await this._mainThreadDelegate.createMaterial(s),n}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){const{materialId:n}=t;if(null==this._bufferWriters.get(n))throw new Error(`no bufferwriter found for material ${n}`);const{renderGeometryBuffer:i,renderGeometryBufferItems:s}=this.createRenderGeometryBuffer(t,r);return this.addDirectRendererGeometryBuffer(n,e,i,s,r)}updateDirectRendererGeometry(e,t,r){const{materialId:n}=t;if(null==this._bufferWriters.get(n))throw new Error(`no bufferwriter found for material ${n}`);const{renderGeometryBuffer:i,renderGeometryBufferItems:s}=this.createRenderGeometryBuffer(t,r);return this.updateDirectRendererGeometryBuffer(n,e,i,s,r)}addDirectRendererGeometryBuffer(e,t,r,n,i){const{objectIds:s,visibilities:a}=n;return{commands:[{id:"add-direct-renderer-geometry-buffer",rendererId:e,groupId:t,renderGeometryBuffer:r,renderGeometryBufferItems:n,localOrigin:i}],transferList:[r.data,s.buffer,a.buffer]}}updateDirectRendererGeometryBuffer(e,t,r,n,i){const{objectIds:s,visibilities:a}=n;return{commands:[{id:"update-direct-renderer-geometry-buffer",rendererId:e,groupId:t,renderGeometryBuffer:r,renderGeometryBufferItems:n,localOrigin:i}],transferList:[r.data,s.buffer,a.buffer]}}removeDirectRendererGeometryBuffer(e,t){return{commands:[{id:"remove-direct-renderer-geometry-buffer",rendererId:e,groupId:t}],transferList:[]}}async createLodRenderer(e){const t=ct("lod-renderer"),r=new Set,n={levels:e.levels.map((e=>({components:e.components.map((e=>{const t=e.attributes.get(ne.r.POSITION);if(!t||0===t.indices.length)throw new Error("positions attribute expected");const n=(0,H.tM)(t.indices.length/3),i=new zt.j(n,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:i.bbMax,bbMin:i.bbMin}}})),minScreenSpaceRadius:e.minScreenSpaceRadius})))};return await this._mainThreadDelegate.createLodRenderer(t,n,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){const{materialId:r,visibilities:n,objectIds:i}=e,s=this._bufferWriters.get(r);if(null==s)throw new Error("no registered bufferWriter for material found");let a=null;if(e.transformation&&t)(0,O.C)(Zr,e.transformation),Zr[12]-=t[0],Zr[13]-=t[1],Zr[14]-=t[2],a=Zr;else{if(t)throw new Error("not implemented");e.transformation&&(a=e.transformation)}let o=null;a&&((0,O.B8)(Jr,Zr),(0,O.mg)(Jr,Jr),o=Jr);const l=e.attributes,c=s.elementCount(l),d=s.vertexBufferLayout.stride/4;c>Math.floor(Wr/d)&&console.warn("geometry with very large number of elements encountered");const u=s.vertexBufferLayout.createBuffer(c),h=s.write(a,o,l,e.objectAndLayerIdColor,u,0);if(null==h)throw new Error("Bufferwriter.write does not provide item information.");if(n.length!==h.numItems||i.length!==h.numItems)throw new Error("Unexpected mismatch between number of RenderGeometryBufferItems and provided objectIds/visibility flags.");return{renderGeometryBuffer:{data:u.buffer,elementCount:c},renderGeometryBufferItems:{objectIds:i,visibilities:n,ranges:{numVertices:h.numVerticesPerItem,numItems:h.numItems}}}}}const Zr=(0,S.vt)(),Jr=(0,S.vt)(),Wr=4194304;var Xr=r(73941),Qr=r(98764),Kr=r(65806);const en=(0,T.vt)();var tn=r(88582),rn=r(17352),nn=r(97937);function sn(e,t,r=function(e){return{operations:e,value:e.create()}}(e)){return r.operations=e,e.copy(t,r.value),r}const an=2**50;function on(e,t,r,n){return e.operations.setAltitudeAt(e.value,t,r,n)}function ln(e,t,r){return e.operations.elevate(e.value,t,r.value)}const cn=(0,T.vt)();(0,T.vt)();var dn=r(44280),un=r(32114);function hn(e){return"point"===e.type}class fn{constructor(e,t,r,n){this.viewingMode=e,this.spatialReference=t,this.unitInMeters=r,this._coordinateSystem=n,this._tmpCoordinateSystem=function(e){const{value:t,operations:r}=e;return{operations:r,value:r.create(t)}}(n),this.referenceEllipsoid=(0,Xr.tO)(t),this.sphericalPCPF=(0,Qr.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 function(e,t){return e.operations.getExtent(e.value,t),t}(this._coordinateSystem,(0,D.vt)())}getAltitude(e){return function(e,t){return e.operations.altitudeAt(e.value,t)}(this._coordinateSystem,e)}setAltitude(e,t,r=e){return on(this._coordinateSystem,r,t,e)}setAltitudeOfTransformation(e,t){!function(e,t,r,n){t!==n&&(0,O.C)(n,t),(0,me.i)(cn,n[12],n[13],n[14]),on(e,cn,r,cn),n[12]=cn[0],n[13]=cn[1],n[14]=cn[2]}(this._coordinateSystem,t,e,t)}worldUpAtPosition(e,t){return function(e,t,r){return e.operations.axisAt(e.value,t,tn._.Z,r)}(this._coordinateSystem,e,t)}worldBasisAtPosition(e,t,r){return function(e,t,r,n){return e.operations.axisAt(e.value,t,r,n)}(this._coordinateSystem,e,t,r)}basisMatrixAtPosition(e,t){const r=this.worldBasisAtPosition(e,tn._.X,un.rq.get()),n=this.worldBasisAtPosition(e,tn._.Y,un.rq.get()),i=this.worldBasisAtPosition(e,tn._.Z,un.rq.get());return(0,O.hZ)(t,r[0],r[1],r[2],0,n[0],n[1],n[2],0,i[0],i[1],i[2],0,0,0,0,1),t}headingAtPosition(e,t){const r=this.worldUpAtPosition(e,un.rq.get()),n=this.worldBasisAtPosition(e,tn._.Y,un.rq.get()),i=(0,dn.EJ)(t,n,r);return(0,M.KJ)(i)}intersectManifoldClosestSilhouette(e,t,r){return ln(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){ln(this._coordinateSystem,t,this._tmpCoordinateSystem);const n=un.rq.get();return function(e,t,r){return e.operations.intersectRay(e.value,t,r)}(this._tmpCoordinateSystem,e,n)?(0,me.c)(r,n):null}intersectInfiniteManifold(e,t,r){if(this.viewingMode===Nt.RT.Global)return this.intersectManifold(e,t,r);ln(this._coordinateSystem,t,this._tmpCoordinateSystem);const n=this._tmpCoordinateSystem.value,i=un.rq.get();return(0,ge.Ui)(n.plane,e,i)?(0,me.c)(r,i):null}toRenderCoords(e,t,r){return hn(e)?(0,Kr.g)(e,t,this.spatialReference):(0,z.F)(e,t,r,this.spatialReference)}fromRenderCoords(e,t,r=null){return hn(t)?(null!=r&&(t.spatialReference=r),function(e,t,r){return!!(0,z.F)(e,t,en,r.spatialReference)&&(r.x=en[0],r.y=en[1],r.z=en[2],!0)}(e,this.spatialReference,t)?t:null):(0,z.F)(e,this.spatialReference,t,r)?t:null}static create(e,t){switch(e){case Nt.RT.Local:return new fn(Nt.RT.Local,t,(0,A.GA)(t),sn(rn.b,(0,rn.f)([0,0,0],[an,0,0],[0,an,0])));case Nt.RT.Global:return new fn(Nt.RT.Global,t,1,function(e){return sn(nn.s,(0,nn.f)(0,0,0,(0,Xr.tO)(e).radius))}(t))}}static renderUnitScaleFactor(e,t){return(0,A.KX)(e)/(0,A.KX)(t)}}let mn=class extends i.A.EventedAccessor{constructor(){super(...arguments),this.remoteClient=null,this._featureStore=new xt,this._actionSynchronizer=new nt(g,(e=>this._createCommand(e))),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:n,layerViewInfo:i}){const s=h.A.fromJSON(e);this._viewSpatialReference=s;const o=h.A.fromJSON(t);this._fetcher=new kt(this._viewSpatialReference,m.A.fromJSON(n.baseQuery),n.url,n.objectIdField,n.capabilities),this._queryEngine=new f.do({hasZ:!0,hasM:!1,geometryType:"esriGeometryPoint",objectIdField:n.objectIdField,fieldsIndex:n.fieldIndex,availableFields:[n.objectIdField],spatialReference:e,featureStore:this._featureStore,timeInfo:n.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 n={rendererId:e,lodRenderGeometry:t};await this.remoteClient.invoke("createLoDRenderer",n,{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]})}};const l=fn.create(r,o),c=new Yr(r,this._mainThreadDelegate);this._renderCommandContext=c;const p=new Ye(s,o,this._mainThreadDelegate,l,c,n,i);this._context=p,this._renderer=p.symbolRendererFactory.createSymbolRendererFromJSON(n.renderer),this._defaultQueryJSON=new m.A({outSpatialReference:s}).toJSON();let y=null;if(null!=n.fullExtent){const e=d.A.fromJSON(n.fullExtent);await(0,u.initializeProjection)(e.spatialReference,s),y=(0,u.project)(e,s)}return this._tileManager=new ht({loadTile:(e,t)=>this._fetcher.fetch(e,t),synchronizer:this._actionSynchronizer,extent:y}),this.addHandles((0,a.wB)((()=>this.updating),(e=>{this.emit("notify-updating",{updating:e})})),a.Vh),null!=this._renderer&&await this._renderer.load(),yn}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)}}onTileTreeChange(e){return this._tileManager.onTileTreeChange(e),Promise.resolve(yn)}async onElevationChange(e){return yn}async onLayerViewOpacityChange(e){const{_context:t,_renderer:r}=this;if(t.layerViewInfo.fullOpacity=e,null==r)return yn;const n=await r.createUpdateLayerViewOpacityCommand(e);return await n.execute(),yn}async onRendererChange(e){const{_context:t}=this,r=await this._createDestroyRendererCommand();await r.execute();const n=t.symbolRendererFactory.createSymbolRendererFromJSON(e);this._renderer=n,await this._renderer.load();const i=[];this._tileManager.forEachTile((e=>{i.push(n.createAddCommand(e))}));const s=await Promise.all(i),a=t.joinPipelineCommands(s);return await a.execute(),yn}async _createDestroyRendererCommand(){const e=this._renderer;if(null==e)return y.create(this._renderCommandContext);const t=await e.createDestroyCommand();return t.appendPipelineStateCommand((()=>{(0,_e.vA)(this._renderer===e),this._renderer=null})),t}async _createAddFeatureDataCommand(e,t){const r=this._featureStore,n=this._renderer;let i;return i=null!=n?await n.createAddCommand(e):y.create(this._renderCommandContext),(0,s.Te)(t),i.appendPipelineStateCommand((()=>{r.addTile(e)})),i}async _createRemoveFeatureDataCommand(e){const t=this._featureStore,r=this._renderer;let n;return n=null!=r?await r.createRemoveCommand(e):y.create(this._renderCommandContext),n.appendPipelineStateCommand((()=>{t.removeTile(e)})),n}async _createUpdateFeatureDataVisibilityCommand(e,t){const r=this._renderer;let n;return n=null!=r?await r.createUpdateVisibilityCommand(e):y.create(this._renderCommandContext),(0,s.Te)(t),n}_ensureQuery(e){return e??this._defaultQueryJSON}async _createCommand(e){switch(e.type){case We.ADD:return await this._createAddFeatureDataCommand(e.data);case We.REMOVE:return await this._createRemoveFeatureDataCommand(e.data.id);case We.UPDATE_VISIBILITY:return await this._createUpdateFeatureDataVisibilityCommand(e.data)}}};(0,n._)([(0,o.MZ)()],mn.prototype,"updating",null),mn=(0,n._)([(0,c.$)("esri.views.3d.layers.graphics.pipeline.Feature3DPipelineWorker")],mn);const pn=mn,yn={result:void 0}},58501:(e,t,r)=>{r.d(t,{q:()=>i});var n=r(62815);function i(e,t,r){if(!r?.features||!r.hasZ)return;const i=(0,n.N)(r.geometryType,t,e.outSpatialReference);if(null!=i)for(const e of r.features)i(e.geometry)}},60999:(e,t,r)=>{r.d(t,{DZ:()=>m,Ke:()=>f,Tj:()=>d,UT:()=>p,jJ:()=>c});var n=r(90237),i=r(69622),s=r(97768),a=r(74887),o=r(10107),l=r(40608);function c(e,t,r){return(0,a.Lx)(e.map(((e,n)=>t.apply(r,[e,n]))))}async function d(e,t,r){return(await(0,a.Lx)(e.map(((e,n)=>t.apply(r,[e,n]))))).map((e=>e.value))}function u(e){return{ok:!0,value:e}}function h(e){return{ok:!1,error:e}}async function f(e){if(null==e)return{ok:!1,error:new Error("no promise provided")};try{return u(await e)}catch(e){return h(e)}}async function m(e){try{return u(await e)}catch(e){return(0,a.QP)(e),h(e)}}function p(e,t){return new y(e,t)}let y=class extends i.A{get value(){return null!=(e=this._result)&&!0===e.ok?e.value:null;var e}get error(){return null!=(e=this._result)&&!1===e.ok?e.error:null;var e}get finished(){return null!=this._result}constructor(e,t){super({}),this._result=null,this._abortHandle=null,this.abort=()=>{this._abortController=(0,s.DC)(this._abortController)},this.remove=this.abort,this._abortController=new AbortController;const{signal:r}=this._abortController;this.promise=e(r),this.promise.then((e=>{this._result=u(e),this._cleanup()}),(e=>{this._result=h(e),this._cleanup()})),this._abortHandle=(0,a.u7)(t,this.abort)}normalizeCtorArgs(){return{}}destroy(){this.abort()}_cleanup(){this._abortHandle=(0,s.xt)(this._abortHandle),this._abortController=null}};(0,n._)([(0,o.MZ)()],y.prototype,"value",null),(0,n._)([(0,o.MZ)()],y.prototype,"error",null),(0,n._)([(0,o.MZ)()],y.prototype,"finished",null),(0,n._)([(0,o.MZ)()],y.prototype,"promise",void 0),(0,n._)([(0,o.MZ)()],y.prototype,"_result",void 0),y=(0,n._)([(0,l.$)("esri.core.asyncUtils.ReactiveTask")],y)},62258:(e,t,r)=>{var n,i;(i=n||(n={}))[i.MIN=0]="MIN",i[i.MINMAX=1]="MINMAX",i[i.ALL=2]="ALL"},63578:(e,t,r)=>{r.d(t,{I:()=>a});var n=r(47522),i=r(96598),s=r(31821);function a(e,t){const{vertex:r,fragment:a}=e;e.include(i.Z,t),r.include(n.K),r.main.add(s.H`vec4 posProjCenter;
|
|
330
|
-
if (dot(position, position) > 0.0) {
|
|
331
|
-
ProjectHUDAux projectAux;
|
|
332
|
-
vec4 posProj = projectPositionHUD(projectAux);
|
|
333
|
-
posProjCenter = alignToPixelCenter(posProj, viewport.zw);
|
|
334
|
-
forwardViewPosDepth(projectAux.posView);
|
|
335
|
-
vec3 vpos = projectAux.posModel;
|
|
336
|
-
if (rejectBySlice(vpos)) {
|
|
337
|
-
posProjCenter = vec4(1e038, 1e038, 1e038, 1.0);
|
|
338
|
-
}
|
|
339
|
-
} else {
|
|
340
|
-
posProjCenter = vec4(1e038, 1e038, 1e038, 1.0);
|
|
341
|
-
}
|
|
342
|
-
gl_Position = posProjCenter;
|
|
343
|
-
gl_PointSize = 1.0;`),a.main.add(s.H`fragColor = vec4(1);
|
|
344
|
-
if(discardByTerrainDepth()) {
|
|
345
|
-
fragColor.g = 0.5;
|
|
346
|
-
}`)}},65215:(e,t,r)=>{r.d(t,{H:()=>n,R:()=>i});class n{constructor(e){this.layerViewUid=e}}class i extends n{constructor(e,t){super(e),this.graphicUid=t}}},65494:(e,t,r)=>{r.d(t,{L:()=>l,r:()=>a});var n=r(67076),i=r(90360),s=r(41214);function a(e,t){return l(e,null,t)}const o=(0,i.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 n.A("renderer:unsupported","Only UniqueValueRenderer can be referenced from a web style, but found '"+e.type+"'",{definition:e,context:r})),null):o(e,t,r):null}},65806:(e,t,r)=>{r.d(t,{g:()=>a});var n=r(51850),i=r(80586),s=r(9762);function a(e,t,r,n){if((0,i.canProjectWithoutEngine)(e.spatialReference,r)){o[0]=e.x,o[1]=e.y;const i=e.z;return o[2]=i??n??0,(0,s.projectBuffer)(o,e.spatialReference,0,t,r,0)}const a=(0,i.tryProjectWithZConversion)(e,r);return!!a&&(t[0]=a?.x,t[1]=a?.y,t[2]=a?.z??n??0,!0)}const o=(0,n.vt)()},66131:(e,t,r)=>{r.d(t,{lY:()=>u,mT:()=>h});var n,i=r(799),s=r(3330),a=r(96285);(n||(n={})).TimeZoneNotRecognized="TimeZoneNotRecognized";const o={[n.TimeZoneNotRecognized]:"Timezone identifier has not been recognized."};class l extends Error{constructor(e,t){super((0,i.HC)(o[e],t)),this.declaredRootClass="esri.arcade.arcadedate.dateerror",Error.captureStackTrace&&Error.captureStackTrace(this,l)}}function c(e,t,r){return e<t?e-t:e>r?e-r:0}function d(e,t,r){return e<t?t:e>r?r:e}class u{constructor(e){this._date=e,this.declaredRootClass="esri.arcade.arcadedate"}static fromParts(e=0,t=1,r=1,n=0,i=0,s=0,o=0,l){if(isNaN(e)||isNaN(t)||isNaN(r)||isNaN(n)||isNaN(i)||isNaN(s)||isNaN(o))return null;const f=a.c9.local(e,t).daysInMonth;let m=a.c9.fromObject({day:d(r,1,f),year:e,month:d(t,1,12),hour:d(n,0,23),minute:d(i,0,59),second:d(s,0,59),millisecond:d(o,0,999)},{zone:h(l)});return m=m.plus({months:c(t,1,12),days:c(r,1,f),hours:c(n,0,23),minutes:c(i,0,59),seconds:c(s,0,59),milliseconds:c(o,0,999)}),new u(m)}static get systemTimeZoneCanonicalName(){return Intl.DateTimeFormat().resolvedOptions().timeZone??"system"}static arcadeDateAndZoneToArcadeDate(e,t){const r=h(t);return e.isUnknownTimeZone||r===s.GB.instance?u.fromParts(e.year,e.monthJS+1,e.day,e.hour,e.minute,e.second,e.millisecond,r):new u(e._date.setZone(r))}static dateJSToArcadeDate(e){return new u(a.c9.fromJSDate(e,{zone:"system"}))}static dateJSAndZoneToArcadeDate(e,t="system"){const r=h(t);return new u(a.c9.fromJSDate(e,{zone:r}))}static unknownEpochToArcadeDate(e){return new u(a.c9.fromMillis(e,{zone:s.GB.instance}))}static unknownDateJSToArcadeDate(e){return new u(a.c9.fromMillis(e.getTime(),{zone:s.GB.instance}))}static epochToArcadeDate(e,t="system"){const r=h(t);return new u(a.c9.fromMillis(e,{zone:r}))}static dateTimeToArcadeDate(e){return new u(e)}clone(){return new u(this._date)}changeTimeZone(e){const t=h(e);return u.dateTimeToArcadeDate(this._date.setZone(t))}static dateTimeAndZoneToArcadeDate(e,t){const r=h(t);return e.zone===s.GB.instance||r===s.GB.instance?u.fromParts(e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond,r):new u(e.setZone(r))}static nowToArcadeDate(e){const t=h(e);return new u(a.c9.fromJSDate(new Date,{zone:t}))}static nowUTCToArcadeDate(){return new u(a.c9.utc())}get isSystem(){return"system"===this.timeZone||this.timeZone===u.systemTimeZoneCanonicalName}equals(e){return this.isSystem&&e.isSystem?this.toNumber()===e.toNumber():this.isUnknownTimeZone===e.isUnknownTimeZone&&this._date.equals(e._date)}get isUnknownTimeZone(){return this._date.zone===s.GB.instance}get isValid(){return this._date.isValid}get hour(){return this._date.hour}get second(){return this._date.second}get day(){return this._date.day}get dayOfWeekISO(){return this._date.weekday}get dayOfWeekJS(){let e=this._date.weekday;return e>6&&(e=0),e}get millisecond(){return this._date.millisecond}get monthISO(){return this._date.month}get weekISO(){return this._date.weekNumber}get yearISO(){return this._date.weekYear}get monthJS(){return this._date.month-1}get year(){return this._date.year}get minute(){return this._date.minute}get zone(){return this._date.zone}get timeZoneOffset(){return this.isUnknownTimeZone?0:this._date.offset}get timeZone(){if(this.isUnknownTimeZone)return"unknown";if("system"===this._date.zone.type)return"system";const e=this.zone;return"fixed"===e.type?0===e.fixed?"UTC":e.formatOffset(0,"short"):e.name}stringify(){return JSON.stringify(this.toJSDate())}plus(e){return new u(this._date.plus(e))}diff(e,t="milliseconds"){return this._date.diff(e._date,t)[t]}toISODate(){return this._date.toISODate()}toISOString(e){return e?this._date.toISO({suppressMilliseconds:!0,includeOffset:!this.isUnknownTimeZone}):this._date.toISO({includeOffset:!this.isUnknownTimeZone})}toISOTime(e,t){return this._date.toISOTime({suppressMilliseconds:e,includeOffset:t&&!this.isUnknownTimeZone})}toFormat(e,t){return this.isUnknownTimeZone&&(e=e.replaceAll("Z","")),this._date.toFormat(e,t)}toJSDate(){return this._date.toJSDate()}toSQLValue(){return this._date.toFormat("yyyy-LL-dd HH:mm:ss")}toSQLWithKeyword(){return`timestamp '${this.toSQLValue()}'`}toDateTime(){return this._date}toNumber(){return this._date.toMillis()}getTime(){return this._date.toMillis()}toUTC(){return new u(this._date.toUTC())}toLocal(){return new u(this._date.toLocal())}toString(){return this.toISOString(!0)}static fromReaderAsTimeStampOffset(e){if(!e)return null;const t=a.c9.fromISO(e,{setZone:!0});return new u(t)}}function h(e,t=!0){if(e instanceof a.bo)return e;if("system"===e.toLowerCase())return"system";if("utc"===e.toLowerCase())return"UTC";if("unknown"===e.toLowerCase())return s.GB.instance;if(/^[+-]?[0-9]{1,2}([:][0-9]{2})?$/.test(e)){const t=a.mQ.parseSpecifier("UTC"+(e.startsWith("+")||e.startsWith("-")?"":"+")+e);if(t)return t}const r=a.oh.create(e);if(!r.isValid){if(t)throw new l(n.TimeZoneNotRecognized);return null}return r}},66208:(e,t,r)=>{r.d(t,{m:()=>i});var n=r(53655);function i(e,t){const r=(0,n.SH)(e,t),i=r.queryResult.featureResult,s=r.queryResult.queryGeometry,a=r.queryResult.queryGeometryType;if(i&&i.features&&i.features.length&&i.objectIdFieldName){const e=i.objectIdFieldName;for(const t of i.features)t.attributes&&(t.objectId=t.attributes[e])}return i&&(i.queryGeometry=s,i.queryGeometryType=a),i}},69418:(e,t,r)=>{r.d(t,{S:()=>c,z:()=>l});var n=r(83047),i=r(21325),s=r(43334),a=r(58512),o=r(92722);const l=["esriGeometryPoint","esriGeometryMultipoint","esriGeometryPolyline","esriGeometryPolygon"];class c{constructor(e){this._options=e,this.geometryTypes=l,this._coordinatePtr=0,this._vertexDimension=0}createFeatureResult(){return new a.A}prepareFeatures(e){this._vertexDimension=2,e.hasZ&&this._vertexDimension++,e.hasM&&this._vertexDimension++}finishFeatureResult(e){if(!e?.features||!e.hasZ||!this._options.sourceSpatialReference||!e.spatialReference||(0,i.aI)(e.spatialReference,this._options.sourceSpatialReference)||e.spatialReference.vcsWkid)return;const t=(0,n.G9)(this._options.sourceSpatialReference)/(0,n.G9)(e.spatialReference);if(1!==t)for(const r of e.features){if(!(0,s.N3)(r))continue;const e=r.geometry.coords;for(let r=2;r<e.length;r+=3)e[r]*=t}}addFeature(e,t){e.features.push(t)}createFeature(){return new s.Om(null,{},null,0)}createSpatialReference(){return{wkid:0}}createGeometry(){return new o.A}addField(e,t){e.fields.push(t)}allocateCoordinates(e){e.coords.length=e.lengths.reduce(((e,t)=>e+t),0)*this._vertexDimension,this._coordinatePtr=0}addCoordinate(e,t){e.coords[this._coordinatePtr++]=t}addCoordinatePoint(e,t){e.coords.push(t)}addLength(e,t){e.lengths.push(t)}addQueryGeometry(e,t){e.queryGeometry=t.queryGeometry,e.queryGeometryType=t.queryGeometryType}createPointGeometry(){return new o.A}}},72385:(e,t,r)=>{function n(){return new Float32Array(3)}function i(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 n=new Float32Array(3);return n[0]=e,n[1]=t,n[2]=r,n}function a(){return n()}function o(){return s(1,1,1)}function l(){return s(1,0,0)}function c(){return s(0,1,0)}function d(){return s(0,0,1)}r.d(t,{fA:()=>s,o8:()=>i,vt:()=>n});const u=a(),h=o(),f=l(),m=c(),p=d();Object.freeze(Object.defineProperty({__proto__:null,ONES:h,UNIT_X:f,UNIT_Y:m,UNIT_Z:p,ZEROS:u,clone:i,create:n,fromValues:s,ones:o,unitX:l,unitY:c,unitZ:d,zeros:a},Symbol.toStringTag,{value:"Module"}))},73681:(e,t,r)=>{r.d(t,{n:()=>l});var n=r(49186),i=r(53966),s=r(46140),a=r(95466),o=r(55674);class l{static async from(e,t,r){const a=e.dictionary_version?s.R.parse(e.dictionary_version):null,d=new Set(e.itemsNames),u={};if(t)for(const e in t)u[e]=t[e];if(e.authoringInfo.configuration)for(const t of e.authoringInfo.configuration)u.hasOwnProperty(t.name)||(u[t.name]=t.value);const h=new Set(e.authoringInfo.symbol);for(const e of Object.keys(r))h.delete(e);h.size&&i.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("missing-fields: fieldMap entries for the following symbol fields are missing",{symbolFields:h});const f=await(0,o.xR)(e.expression,null,u);if(!f)throw new n.A("dictionary-renderer:expression-error","Unable to create dictionary renderer expression");const m=!a||!a.greaterEqual(4,0);m&&i.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("Dictionary script does not support native field types. Applying fallback",{version:a});const p=new c(r,m);return new l(m,d,f,p)}constructor(e,t,r,n){this._requiresFieldCoercionToString=e,this._itemNames=t,this._compiled=r,this._reader=n}get itemNames(){return this._itemNames}evaluate(e,t,r,n){try{return this._reader.bind(e,r,n),this._compiled.evaluate(this._reader,{$view:{scale:t}})}catch(e){i.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("arcade: dictionary script evaluation failed",{error:e})}return null}createDictionaryFieldsIndex(e){if(!this._requiresFieldCoercionToString)return new a.A(e);const t=e.map((e=>({...e,type:"esriFieldTypeString"})));return new a.A(t)}}class c extends o.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?"":""+this._boundTarget.attributes[t.name]}}},75503:(e,t,r)=>{r.d(t,{E:()=>C,w:()=>o});var n=r(4576),i=r(21818),s=(r(44208),r(3694)),a=r(11006);class o{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(),S.prune(),T.prune()}all(e){l(this._data,e)}search(e,t){let r=this._data;const n=this._toBBox;if(b(e,r))for(w.clear();r;){for(let i=0,s=r.children.length;i<s;i++){const s=r.children[i],a=r.leaf?n(s):s;b(e,a)&&(r.leaf?t(s):_(e,a)?l(s,t):w.push(s))}r=w.pop()}}collides(e){let t=this._data;const r=this._toBBox;if(!b(e,t))return!1;for(w.clear();t;){for(let n=0,i=t.children.length;n<i;n++){const i=t.children[n],s=t.leaf?r(i):i;if(b(e,s)){if(t.leaf||_(e,s))return!0;w.push(i)}}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 A([]),this}remove(e){if(!e)return this;let t,r=this._data,s=null,a=0,o=!1;const l=this._toBBox(e);for(S.clear(),T.clear();r||S.length>0;){if(r||(r=S.pop(),s=S.data[S.length-1],a=T.pop()??0,o=!0),r.leaf&&(t=(0,n.qh)(r.children,(0,i.zI)(e),r.children.length,r.indexHint),-1!==t))return r.children.splice(t,1),S.push(r),this._condense(S),this;o||r.leaf||!_(r,l)?s?(a++,r=s.children[a],o=!1):r=null:(S.push(r),T.push(a),a=0,s=r,r=r.children[0])}return this}toJSON(){return this._data}fromJSON(e){return this._data=e,this}_build(e,t,r,n){const i=r-t+1;let s=this._maxEntries;if(i<=s){const n=new A(e.slice(t,r+1));return c(n,this._toBBox),n}n||(n=Math.ceil(Math.log(i)/Math.log(s)),s=Math.ceil(i/s**(n-1)));const a=new O([]);a.height=n;const o=Math.ceil(i/s),l=o*Math.ceil(Math.sqrt(s));v(e,t,r,l,this._compareMinX);for(let i=t;i<=r;i+=l){const t=Math.min(i+l-1,r);v(e,i,t,o,this._compareMinY);for(let r=i;r<=t;r+=o){const i=Math.min(r+o-1,t);a.children.push(this._build(e,r,i,n-1))}}return c(a,this._toBBox),a}_insert(e,t,r){const n=this._toBBox,i=r?e:n(e);S.clear();const s=function(e,t,r,n){for(;n.push(t),!0!==t.leaf&&n.length-1!==r;){let r,n=1/0,i=1/0;for(let s=0,a=t.children.length;s<a;s++){const a=t.children[s],o=m(a),l=y(e,a)-o;l<i?(i=l,n=o<n?o:n,r=a):l===i&&o<n&&(n=o,r=a)}t=r||t.children[0]}return t}(i,this._data,t,S);for(s.children.push(e),u(s,i);t>=0&&S.data[t].children.length>this._maxEntries;)this._split(S,t),t--;!function(e,t,r){for(let n=r;n>=0;n--)u(t.data[n],e)}(i,S,t)}_split(e,t){const r=e.data[t],n=r.children.length,i=this._minEntries;this._chooseSplitAxis(r,i,n);const s=this._chooseSplitIndex(r,i,n);if(!s)return;const a=r.children.splice(s,r.children.length-s),o=r.leaf?new A(a):new O(a);o.height=r.height,c(r,this._toBBox),c(o,this._toBBox),t?e.data[t-1].children.push(o):this._splitRoot(r,o)}_splitRoot(e,t){this._data=new O([e,t]),this._data.height=e.height+1,c(this._data,this._toBBox)}_chooseSplitIndex(e,t,r){let n,i,s;n=i=1/0;for(let a=t;a<=r-t;a++){const t=d(e,0,a,this._toBBox),o=d(e,a,r,this._toBBox),l=g(t,o),c=m(t)+m(o);l<n?(n=l,s=a,i=c<i?c:i):l===n&&c<i&&(i=c,s=a)}return s}_chooseSplitAxis(e,t,r){const n=e.leaf?this._compareMinX:h,i=e.leaf?this._compareMinY:f;this._allDistMargin(e,t,r,n)<this._allDistMargin(e,t,r,i)&&e.children.sort(n)}_allDistMargin(e,t,r,n){e.children.sort(n);const i=this._toBBox,s=d(e,0,t,i),a=d(e,r-t,r,i);let o=p(s)+p(a);for(let n=t;n<r-t;n++){const t=e.children[n];u(s,e.leaf?i(t):t),o+=p(s)}for(let n=r-t-1;n>=t;n--){const t=e.children[n];u(a,e.leaf?i(t):t),o+=p(a)}return o}_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 i=e.data[t-1],s=i.children;s.splice((0,n.qh)(s,r,s.length,i.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,i.zI)(e));else x.pushArray(r.children);r=x.pop()??null}}function c(e,t){d(e,0,e.children.length,t,e)}function d(e,t,r,n,i){i||(i=new A([])),i.minX=1/0,i.minY=1/0,i.maxX=-1/0,i.maxY=-1/0;for(let s,a=t;a<r;a++)s=e.children[a],u(i,e.leaf?n(s):s);return i}function u(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 m(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function p(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),n=Math.max(e.minY,t.minY),i=Math.min(e.maxX,t.maxX),s=Math.min(e.maxY,t.maxY);return Math.max(0,i-r)*Math.max(0,s-n)}function _(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function b(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function v(e,t,r,n,i){const s=[t,r];for(;s.length;){const t=s.pop(),r=s.pop();if(t-r<=n)continue;const o=r+Math.ceil((t-r)/n/2)*n;(0,a.q)(e,o,r,t,i),s.push(r,o,o,t)}}const w=new s.A,x=new s.A,S=new s.A,T=new s.A({deallocator:void 0});class C{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}}class I extends C{constructor(){super(...arguments),this.height=1,this.indexHint=new n.vW}}class A extends I{constructor(e){super(),this.children=e,this.leaf=!0}}class O extends I{constructor(e){super(),this.children=e,this.leaf=!1}}},76357:(e,t,r)=>{r.d(t,{A:()=>d});var n=r(90237),i=r(66552),s=r(25482),a=r(10107),o=(r(44208),r(53966),r(87811),r(93223)),l=r(40608);const c=new i.J({inherited:"inherited",codedValue:"coded-value",range:"range"});let d=class extends s.A{constructor(e){super(e),this.name=null,this.type=null}};(0,n._)([(0,a.MZ)({type:String,json:{write:!0}})],d.prototype,"name",void 0),(0,n._)([(0,o.e)(c),(0,a.MZ)({json:{write:{isRequired:!0}}})],d.prototype,"type",void 0),d=(0,n._)([(0,l.$)("esri.layers.support.Domain")],d)},77548:(e,t,r)=>{r.d(t,{tk:()=>u,BR:()=>d,wI:()=>c,Ov:()=>o,W_:()=>l,TU:()=>a,XX:()=>s});var n=r(70333),i=r(78888);r(5503),r(36563),r(36708),new WeakMap;const s={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 o(e){return"feature"===e?.type&&!e.url&&"memory"===e.source?.type}function l(e){const t=e?.type;return("feature"===t||"subtype-group"===t||"oriented-imagery"===t)&&"feature-layer"===e?.source?.type}async function c(e,t){const r=n.id?.findServerInfo(e);if(null!=r?.currentVersion)return r.owningSystemUrl||null;const s=e.toLowerCase().indexOf("/rest/services");if(-1===s)return null;const a=`${e.slice(0,s)}/rest/info`,o=null!=t?t.signal:null,{data:l}=await(0,i.A)(a,{query:{f:"json"},responseType:"json",signal:o});return l?.owningSystemUrl||null}function d(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 u(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":return!0;default:return!1}}(e)&&("effectiveEditingEnabled"in e?e.effectiveEditingEnabled:e.editingEnabled)}},78502:(e,t,r)=>{r.d(t,{Fq:()=>a,Yc:()=>i,Yq:()=>s});var n=r(5443);function i(e){if(null==e)return null;switch(e.type){case"polygon":case"multipoint":case"polyline":return e.extent;case"point":return new n.A({xmin:e.x,ymin:e.y,xmax:e.x,ymax:e.y,spatialReference:e.spatialReference});case"extent":return e}return null}function s(e){if(null==e)return null;const t=e.clone();return void 0!==e.cache._geVersion&&(t.cache._geVersion=e.cache._geVersion),t}function a(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e}},80451:(e,t,r)=>{r.d(t,{rS:()=>m,gK:()=>f}),r(44208);var n,i=r(53177),s=r(76357),a=r(90237),o=(r(53966),r(87811),r(49186),r(93223)),l=r(40608);let c=class extends s.A{static{n=this}constructor(e){super(e),this.type="inherited"}clone(){return new n}};(0,a._)([(0,o.e)({inherited:"inherited"})],c.prototype,"type",void 0),c=n=(0,a._)([(0,l.$)("esri.layers.support.InheritedDomain")],c);var d,u=r(10107);let h=class extends s.A{static{d=this}constructor(e){super(e),this.maxValue=null,this.minValue=null,this.type="range"}clone(){return new d({maxValue:this.maxValue,minValue:this.minValue,name:this.name})}};(0,a._)([(0,u.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,a._)([(0,u.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,a._)([(0,o.e)({range:"range"})],h.prototype,"type",void 0),h=d=(0,a._)([(0,l.$)("esri.layers.support.RangeDomain")],h);const f={key:"type",base:s.A,typeMap:{range:h,"coded-value":i.A,inherited:c}};function m(e){if(!e?.type)return null;switch(e.type){case"range":return h.fromJSON(e);case"codedValue":return i.A.fromJSON(e);case"inherited":return c.fromJSON(e)}return null}},80893:(e,t,r)=>{r.d(t,{IJ:()=>m,Jf:()=>_,Pk:()=>y,eW:()=>f,gW:()=>g,kS:()=>p});var n=r(78888),i=r(84952),s=r(65864),a=r(17136),o=r(21325),l=r(10536),c=r(66208),d=r(58501);const u="Layer does not support extent calculation.";function h(e,t,r){const n=e.geometry,i=e.toJSON();delete i.compactGeometryEnabled,delete i.defaultSpatialReferenceEnabled;const a=i;let l,c,d;if(n&&(c=n.spatialReference,d=(0,o.YX)(c),a.geometryType=(0,s.$B)(n),a.geometry=function(e,t){if(t&&"extent"===e.type)return`${e.xmin},${e.ymin},${e.xmax},${e.ymax}`;if(t&&"point"===e.type)return`${e.x},${e.y}`;const r=e.toJSON();return delete r.spatialReference,JSON.stringify(r)}(n,e.compactGeometryEnabled),a.inSR=d),i.groupByFieldsForStatistics&&(a.groupByFieldsForStatistics=i.groupByFieldsForStatistics.join(",")),i.objectIds)switch(r?.uniqueIdFields?.length){case void 0:a.objectIds=i.objectIds.join(",");break;case 1:a.uniqueIds=JSON.stringify(i.objectIds),delete a.objectIds;break;default:a.uniqueIds=JSON.stringify(i.objectIds.map((e=>JSON.parse(e)))),delete a.objectIds}if(i.orderByFields&&(a.orderByFields=i.orderByFields.join(",")),!i.outFields||!i.returnDistinctValues&&(t?.returnCountOnly||t?.returnExtentOnly||t?.returnIdsOnly)?delete a.outFields:i.outFields.includes("*")?a.outFields="*":a.outFields=i.outFields.join(","),i.outSR?(a.outSR=(0,o.YX)(i.outSR),l=e.outSpatialReference):n&&(i.returnGeometry||i.returnCentroid)&&(a.outSR=a.inSR,l=c),i.returnGeometry&&delete i.returnGeometry,i.outStatistics&&(a.outStatistics=JSON.stringify(i.outStatistics)),i.fullText&&(a.fullText=JSON.stringify(i.fullText)),i.pixelSize&&(a.pixelSize=JSON.stringify(i.pixelSize)),i.quantizationParameters&&(e.defaultSpatialReferenceEnabled&&null!=c&&null!=e.quantizationParameters?.extent&&c.equals(e.quantizationParameters.extent.spatialReference)&&delete i.quantizationParameters.extent.spatialReference,a.quantizationParameters=JSON.stringify(i.quantizationParameters)),i.parameterValues&&(a.parameterValues=JSON.stringify(i.parameterValues)),i.rangeValues&&(a.rangeValues=JSON.stringify(i.rangeValues)),i.dynamicDataSource&&(a.layer=JSON.stringify({source:i.dynamicDataSource}),delete i.dynamicDataSource),i.timeExtent){const e=i.timeExtent,{start:t,end:r}=e;null==t&&null==r||(a.time=t===r?t:`${t??"null"},${r??"null"}`),delete i.timeExtent}return e.defaultSpatialReferenceEnabled&&null!=c&&null!=l&&c.equals(l)&&(a.defaultSR=a.inSR,delete a.inSR,delete a.outSR),a}async function f(e,t,r,n,i){const s=t.timeExtent?.isEmpty?{data:{features:[]}}:await v(e,t,"json",n,void 0,i);return(0,d.q)(t,r,s.data),s}async function m(e,t,r,n,i){if(t.timeExtent?.isEmpty)return{data:r.createFeatureResult()};const s=await p(e,t,n,i),a=s;return a.data=(0,c.m)(s.data,r),a}function p(e,t,r,n){return v(e,t,"pbf",r,void 0,n)}function y(e,t,r,n){return t.timeExtent?.isEmpty?Promise.resolve({data:{objectIds:[]}}):v(e,t,"json",r,{returnIdsOnly:!0},n)}function g(e,t,r,n){return t.timeExtent?.isEmpty?Promise.resolve({data:{count:0}}):v(e,t,"json",r,{returnIdsOnly:!0,returnCountOnly:!0},n)}async function _(e,t,r){if(t.timeExtent?.isEmpty)return{data:{count:0,extent:null}};const n=await v(e,t,"json",r,{returnExtentOnly:!0,returnCountOnly:!0}),i=n.data;if(i.hasOwnProperty("extent"))return n;if(i.features)throw new Error(u);if(i.hasOwnProperty("count"))throw new Error(u);return n}function b(e,t){if(!e.returnIdsOnly||!t.uniqueIdFields)return e;const r={...e,returnUniqueIdsOnly:!0};return delete r.returnIdsOnly,r}async function v(e,t,r,s={},o={},c={}){const d="string"==typeof e?(0,i.An)(e):e,u=t.geometry?[t.geometry]:[],f=await(0,a.el)(u,null,{signal:s.signal}),m=f?.[0];null!=m&&((t=t.clone()).geometry=m);const p=(0,l.z)({...d.query,f:r,...b(o,c),...h(t,o,c)});return(0,n.A)((0,i.fj)(d.path,(y=o,null==t.formatOf3DObjects||y.returnCountOnly||y.returnExtentOnly||y.returnIdsOnly?"query":"query3d")),{...s,responseType:"pbf"===r?"array-buffer":"json",query:{...p,...s.query}});var y}},81961:(e,t,r)=>{r.d(t,{V:()=>s});var n=r(69270),i=r(74333);class s extends i.n{constructor(e,t){super(e,"vec4",n.c.Draw,((r,n,i)=>r.setUniform4fv(e,t(n,i))))}}},87582:(e,t,r)=>{r(6867);var n=r(65215);r(29878),n.R},95696:(e,t,r)=>{r.d(t,{A:()=>d});var n,i=r(90237),s=r(69540),a=r(25482),o=r(10107),l=(r(44208),r(53966),r(87811),r(93223)),c=r(40608);let d=class extends(s.A.ClonableMixin(a.A)){static{n=this}constructor(e){super(e),this.type="georeferenced",this.origin=null}static{this.absolute=new n}};(0,i._)([(0,l.e)({georeferenced:"georeferenced"},{readOnly:!0})],d.prototype,"type",void 0),(0,i._)([(0,o.MZ)({type:[Number],nonNullable:!1,json:{write:!0}})],d.prototype,"origin",void 0),d=n=(0,i._)([(0,c.$)("esri.geometry.support.MeshGeoreferencedVertexSpace")],d)},96576:(e,t,r)=>{r.d(t,{A:()=>h});var n,i=r(90237),s=r(4718),a=r(10107),o=(r(44208),r(53966),r(93223)),l=r(40608),c=r(92438),d=r(63988),u=r(49849);let h=n=class extends((0,d.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 n({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,i._)([(0,a.MZ)({type:String,json:{write:!0}})],h.prototype,"description",void 0),(0,i._)([(0,a.MZ)({type:String,json:{write:!0}})],h.prototype,"label",void 0),(0,i._)([(0,a.MZ)(u.Wp)],h.prototype,"symbol",void 0),(0,i._)([(0,o.e)({simple:"simple"})],h.prototype,"type",void 0),h=n=(0,i._)([(0,l.$)("esri.renderers.SimpleRenderer")],h)},98453:(e,t,r)=>{r.d(t,{m:()=>n});const n=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"})}}]);
|