@arcgis/core 4.33.0-next.20250507 → 4.33.0-next.20250508
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/WebLinkChart.js +1 -1
- package/arcade/batchExec.js +5 -0
- package/arcade/functions/aiServices.js +1 -1
- package/arcade.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/029a118e6dfb3f544a5c.js +1 -0
- package/assets/esri/core/workers/chunks/037af6379f3e9278633b.js +1 -0
- package/assets/esri/core/workers/chunks/0516bd18334d3af6c555.js +1 -0
- package/assets/esri/core/workers/chunks/094300acbd24085cb063.js +1 -0
- package/assets/esri/core/workers/chunks/0bbb38f59f37c51c72f0.js +1 -0
- package/assets/esri/core/workers/chunks/10e6dffa57aa1a626708.js +1 -0
- package/assets/esri/core/workers/chunks/1abd026ed12c863e1d94.js +1 -0
- package/assets/esri/core/workers/chunks/1eef9cf19634c038b59b.js +1 -0
- package/assets/esri/core/workers/chunks/{7cd32b10ed0e18e44ef2.js → 2b01e3bce78541620a86.js} +1 -1
- package/assets/esri/core/workers/chunks/{cd81df932b87583b7e4c.js → 306e262f148b3057b11b.js} +1 -1
- package/assets/esri/core/workers/chunks/352b7dcd1633e0c98194.js +1 -0
- package/assets/esri/core/workers/chunks/35c996f6fbff165b03f4.js +1 -0
- package/assets/esri/core/workers/chunks/391b1c3e736a62befbaf.js +1 -0
- package/assets/esri/core/workers/chunks/{cbec01223d51cdb9ee79.js → 3c45603af279ad7fed8c.js} +1 -1
- package/assets/esri/core/workers/chunks/40e556a0645af8658658.js +1 -0
- package/assets/esri/core/workers/chunks/4402336db7210cd583e0.js +1 -0
- package/assets/esri/core/workers/chunks/46104db7f77952bb6c12.js +1 -0
- package/assets/esri/core/workers/chunks/{5383dc4814b0ba42e871.js → 47cd99ab3ed11a931084.js} +1 -1
- package/assets/esri/core/workers/chunks/47f64a340b5d56bf9e59.js +1 -0
- package/assets/esri/core/workers/chunks/49f0e53b3c9ba8451442.js +1 -0
- package/assets/esri/core/workers/chunks/515e3295495d0958db7e.js +1 -0
- package/assets/esri/core/workers/chunks/5ddf463c85c33428e807.js +1 -0
- package/assets/esri/core/workers/chunks/5e0118a030cf741f78c6.js +319 -0
- package/assets/esri/core/workers/chunks/{875a0e2d023094c8e15e.js → 66e79aa02b3aa12b3778.js} +1 -1
- package/assets/esri/core/workers/chunks/{a5a43d54684747561aa9.js → 6b42bcfbb60432e3ed1f.js} +1 -1
- package/assets/esri/core/workers/chunks/6b5274d46a155d65dff1.js +39 -0
- package/assets/esri/core/workers/chunks/6e5d8a6b29c06a27998c.js +1 -0
- package/assets/esri/core/workers/chunks/6eabced7123a65d47292.js +1 -0
- package/assets/esri/core/workers/chunks/6f506303017903b9a06f.js +1 -0
- package/assets/esri/core/workers/chunks/6f6bf67a7960b7e9b03e.js +1 -0
- package/assets/esri/core/workers/chunks/{52a3d0e041717da7697e.js → 736cb9f74bf050b70f4c.js} +1 -1
- package/assets/esri/core/workers/chunks/74187c771ee7083d1db7.js +1 -0
- package/assets/esri/core/workers/chunks/{85d87cd1bf7eecd54100.js → 752ef63d910852b7be44.js} +1 -1
- package/assets/esri/core/workers/chunks/7c49a8877bd744daa3d5.js +1 -0
- package/assets/esri/core/workers/chunks/7ffc1db10b00754398e8.js +1 -0
- package/assets/esri/core/workers/chunks/81546c6141d564ed59c9.js +1 -0
- package/assets/esri/core/workers/chunks/83fcc6f770ad084b8ab9.js +1 -0
- package/assets/esri/core/workers/chunks/852dd5af8e704613310a.js +1 -0
- package/assets/esri/core/workers/chunks/85efb318cda7260221ae.js +1 -0
- package/assets/esri/core/workers/chunks/86138c297095af1ac604.js +1 -0
- package/assets/esri/core/workers/chunks/8b74b609de4f70e1a75c.js +1 -0
- package/assets/esri/core/workers/chunks/90f93091fe088875f80f.js +1 -0
- package/assets/esri/core/workers/chunks/91a02ee91f61cf841111.js +1 -0
- package/assets/esri/core/workers/chunks/9aedd7874da7c63865d6.js +1 -0
- package/assets/esri/core/workers/chunks/9ca480eb8b2312381ccf.js +1 -0
- package/assets/esri/core/workers/chunks/a0d2bd5d4ed3c90f6b1c.js +1 -0
- package/assets/esri/core/workers/chunks/a73c6b4bc5baf440f85a.js +1 -0
- package/assets/esri/core/workers/chunks/b5d68d8460b7c15001dd.js +1 -0
- package/assets/esri/core/workers/chunks/b816b608f31954128246.js +1 -0
- package/assets/esri/core/workers/chunks/bcab8b9ce2f9d2ebaae7.js +1 -0
- package/assets/esri/core/workers/chunks/bd7b54db7fd278b15500.js +1 -0
- package/assets/esri/core/workers/chunks/c1175477dfcdee90a453.js +1 -0
- package/assets/esri/core/workers/chunks/c17c269cc30e7e1d0bfb.js +1 -0
- package/assets/esri/core/workers/chunks/c2f925167a43f63289a7.js +1 -0
- package/assets/esri/core/workers/chunks/c9ab067b07d1eab974d1.js +1 -0
- package/assets/esri/core/workers/chunks/cb80b7ddc9acf625d754.js +1 -0
- package/assets/esri/core/workers/chunks/{812d8554144ef5a7cd4b.js → cd4fb107489594c57438.js} +1 -1
- package/assets/esri/core/workers/chunks/cd5c380196db7fb55242.js +1 -0
- package/assets/esri/core/workers/chunks/d874d24568b1acedebc4.js +1 -0
- package/assets/esri/core/workers/chunks/d9948763423784b68c09.js +1 -0
- package/assets/esri/core/workers/chunks/e662c86b8bafc5512d3d.js +1 -0
- package/assets/esri/core/workers/chunks/e697dd4508f02dcfe329.js +1 -0
- package/assets/esri/core/workers/chunks/ed6d0fea159dea638c2f.js +1 -0
- package/assets/esri/themes/base/widgets/_Daylight.scss +0 -4
- package/assets/esri/themes/base/widgets/_ShadowCast.scss +27 -28
- 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/assets/esri/widgets/ShadowCast/t9n/ShadowCast.json +1 -1
- package/chunks/aiServices.js +1 -1
- package/interfaces.d.ts +50 -3
- package/layers/KnowledgeGraphLayer.js +1 -1
- package/layers/LinkChartLayer.js +1 -1
- package/layers/MapImageLayer.js +1 -1
- package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
- package/layers/mixins/SublayersOwner.js +1 -1
- package/layers/support/Sublayer.js +1 -1
- package/package.json +1 -1
- package/rest/print.js +1 -1
- package/rest/support/JobInfo.js +1 -1
- package/rest/support/TranslateContent.js +1 -1
- package/rest/support/TranslateParameters.js +1 -1
- package/rest/support/TranslateResult.js +1 -1
- package/support/loadArcade.js +1 -1
- package/support/revision.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/AFillMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/FillMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/GradientFillMeshWriter.js +1 -1
- package/views/3d/layers/graphics/pipeline/Feature3DPipeline.js +1 -1
- package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorkerHandle.js +1 -1
- package/views/3d/layers/graphics/pipeline/Tile3DManager.js +1 -1
- package/views/3d/state/controllers/InteractiveController.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/widgets/Daylight/DaylightViewModel.js +1 -1
- package/widgets/Daylight/css.js +1 -1
- package/widgets/Daylight.js +1 -1
- package/widgets/FeatureForm.js +1 -1
- package/widgets/ShadowCast/components/ThresholdConfigurator.js +1 -1
- package/widgets/ShadowCast/css.js +1 -1
- package/assets/esri/core/workers/chunks/00e49ed684cc167c4481.js +0 -1
- package/assets/esri/core/workers/chunks/02e1332e91393ee985e8.js +0 -1
- package/assets/esri/core/workers/chunks/0366d46c78aa3b4a0523.js +0 -1
- package/assets/esri/core/workers/chunks/076a205298026e926d70.js +0 -1
- package/assets/esri/core/workers/chunks/07adf428f5fdba5c7cdf.js +0 -1
- package/assets/esri/core/workers/chunks/1349d4ea29fbf41e22bc.js +0 -1
- package/assets/esri/core/workers/chunks/2934fd7ec0c07371c4fe.js +0 -1
- package/assets/esri/core/workers/chunks/2a72f272051721767ca1.js +0 -319
- package/assets/esri/core/workers/chunks/2a9f206c23f69045d3f2.js +0 -1
- package/assets/esri/core/workers/chunks/2ac2c9cb88a7d1249b56.js +0 -1
- package/assets/esri/core/workers/chunks/2ad47c0ba1680f7d5e03.js +0 -1
- package/assets/esri/core/workers/chunks/2b3aa568356f4b70afe8.js +0 -1
- package/assets/esri/core/workers/chunks/35002d23c5b9f37c6331.js +0 -1
- package/assets/esri/core/workers/chunks/35b138f6d0687c5bee4f.js +0 -1
- package/assets/esri/core/workers/chunks/4957450197305498d327.js +0 -1
- package/assets/esri/core/workers/chunks/4b63f36189730396721b.js +0 -1
- package/assets/esri/core/workers/chunks/55def679b9f1c7c4d4d3.js +0 -1
- package/assets/esri/core/workers/chunks/598fade09fa4da759ac2.js +0 -1
- package/assets/esri/core/workers/chunks/60f7cd05e88701f43d3f.js +0 -1
- package/assets/esri/core/workers/chunks/6118144588af9cd8e49b.js +0 -1
- package/assets/esri/core/workers/chunks/62c5030557595c9a7c37.js +0 -1
- package/assets/esri/core/workers/chunks/62d1e6e7d8685ffc152f.js +0 -1
- package/assets/esri/core/workers/chunks/687a11f49772bf5e1f5a.js +0 -1
- package/assets/esri/core/workers/chunks/6b554b42e16ad32b433d.js +0 -1
- package/assets/esri/core/workers/chunks/6fc39a58f3011291c602.js +0 -1
- package/assets/esri/core/workers/chunks/7978b66cdfe078960ddd.js +0 -1
- package/assets/esri/core/workers/chunks/7fa70851868f80eaccfc.js +0 -1
- package/assets/esri/core/workers/chunks/8d09cc782dae1dcfc6c4.js +0 -1
- package/assets/esri/core/workers/chunks/8ec0a762ec73d1f91fce.js +0 -1
- package/assets/esri/core/workers/chunks/919673d958045ab94c95.js +0 -1
- package/assets/esri/core/workers/chunks/9321e3244ccb1ee9985a.js +0 -1
- package/assets/esri/core/workers/chunks/97a4f8504e76c877893b.js +0 -1
- package/assets/esri/core/workers/chunks/9cac00d4bfac14aaae12.js +0 -1
- package/assets/esri/core/workers/chunks/a1278a1c4a913c671989.js +0 -1
- package/assets/esri/core/workers/chunks/a2452958b0ced28fc1e5.js +0 -1
- package/assets/esri/core/workers/chunks/aed72cbac8d463b1d2e0.js +0 -1
- package/assets/esri/core/workers/chunks/af44ba2ee6c7670ddcc1.js +0 -1
- package/assets/esri/core/workers/chunks/b2f1d1721a9dd88a1adf.js +0 -1
- package/assets/esri/core/workers/chunks/b52a738ca2b5c39f8e15.js +0 -1
- package/assets/esri/core/workers/chunks/b60504e6326464a512df.js +0 -1
- package/assets/esri/core/workers/chunks/b79e8d1e3f2c214549b7.js +0 -1
- package/assets/esri/core/workers/chunks/ba4aafa8dfa76006c3e7.js +0 -1
- package/assets/esri/core/workers/chunks/bbcc5c5ef7cb92c2e213.js +0 -39
- package/assets/esri/core/workers/chunks/bceb837623aa79fcfbed.js +0 -1
- package/assets/esri/core/workers/chunks/bfd39cd1d83291ba014b.js +0 -1
- package/assets/esri/core/workers/chunks/ca8c631172902c6623fa.js +0 -1
- package/assets/esri/core/workers/chunks/cf008faa999e8d07116f.js +0 -1
- package/assets/esri/core/workers/chunks/dcb9ab790e694328d02c.js +0 -1
- package/assets/esri/core/workers/chunks/e93222c65bd28203ddf7.js +0 -1
- package/assets/esri/core/workers/chunks/ea70cabea50960dc8167.js +0 -1
- package/assets/esri/core/workers/chunks/f07b3aecff90a6a400d8.js +0 -1
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[6519],{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}},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:()=>F,c:()=>L,f:()=>k,s:()=>E});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),w=r(47286),v=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),M=r(49788);const E={occludedFadeFactor:1};function F(e){const t=new P.N5,{signedDistanceFieldEnabled:r,occlusionTestEnabled:i,horizonCullingEnabled:E,pixelSnappingEnabled:F,hasScreenSizePerspective:k,debugDrawLabelBorder:z,vvSize:j,vvColor:B,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 v.I("viewport",(e=>e.camera.fullViewport)),new w.G("screenOffset",((e,t)=>(0,n.hZ)(V,2*e.screenOffset[0]*t.camera.pixelRatio,2*e.screenOffset[1]*t.camera.pixelRatio))),new w.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)))),E&&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)}))),F&&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"),t.attributes.add(D.r.FEATUREATTRIBUTE,"vec4"),J.code.add(E?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)(j,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=F?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
|
+
${B?"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(M.Q)};
|
|
73
|
+
${(0,I.If)(r,`alphaDiscard = alphaDiscard && outlineColor.a < ${I.H.float(M.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(M.Q)})`:I.H.float(M.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(M.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:F,calculateAnchorPosition:L,fullUV:k,shaderSettings:E},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)},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.p)(e.origin,t.origin))}},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 {
|
|
176
|
+
vec3 posModel;
|
|
177
|
+
vec3 posView;
|
|
178
|
+
vec3 vnormal;
|
|
179
|
+
float distanceToCamera;
|
|
180
|
+
float absCosAngle;
|
|
181
|
+
};`),r.code.add(c.H`
|
|
182
|
+
float applyHUDViewDependentPolygonOffset(float pointGroundDistance, float absCosAngle, inout vec3 posView) {
|
|
183
|
+
float pointGroundSign = ${t.terrainDepthTest?c.H.float(0):c.H`sign(pointGroundDistance)`};
|
|
184
|
+
if (pointGroundSign == 0.0) {
|
|
185
|
+
pointGroundSign = cameraGroundRelative;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
// cameraGroundRelative is -1 if camera is below ground, 1 if above ground
|
|
189
|
+
// groundRelative is 1 if both camera and symbol are on the same side of the ground, -1 otherwise
|
|
190
|
+
float groundRelative = cameraGroundRelative * pointGroundSign;
|
|
191
|
+
|
|
192
|
+
// view angle dependent part of polygon offset emulation: we take the absolute value because the sign that is
|
|
193
|
+
// dropped is instead introduced using the ground-relative position of the symbol and the camera
|
|
194
|
+
if (polygonOffset > .0) {
|
|
195
|
+
float cosAlpha = clamp(absCosAngle, 0.01, 1.0);
|
|
196
|
+
float tanAlpha = sqrt(1.0 - cosAlpha * cosAlpha) / cosAlpha;
|
|
197
|
+
float factor = (1.0 - tanAlpha / viewport[2]);
|
|
198
|
+
|
|
199
|
+
// same side of the terrain
|
|
200
|
+
if (groundRelative > 0.0) {
|
|
201
|
+
posView *= factor;
|
|
202
|
+
}
|
|
203
|
+
// opposite sides of the terrain
|
|
204
|
+
else {
|
|
205
|
+
posView /= factor;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
return groundRelative;
|
|
210
|
+
}
|
|
211
|
+
`),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`
|
|
212
|
+
void applyHUDVerticalGroundOffset(vec3 normalModel, inout vec3 posModel, inout vec3 posView) {
|
|
213
|
+
float distanceToCamera = length(posView);
|
|
214
|
+
|
|
215
|
+
// Compute offset in world units for a half pixel shift
|
|
216
|
+
float pixelOffset = distanceToCamera * perDistancePixelRatio * ${c.H.float(u)};
|
|
217
|
+
|
|
218
|
+
// Apply offset along normal in the direction away from the ground surface
|
|
219
|
+
vec3 modelOffset = normalModel * cameraGroundRelative * pixelOffset;
|
|
220
|
+
|
|
221
|
+
// Apply the same offset also on the view space position
|
|
222
|
+
vec3 viewOffset = (viewNormal * vec4(modelOffset, 1.0)).xyz;
|
|
223
|
+
|
|
224
|
+
posModel += modelOffset;
|
|
225
|
+
posView += viewOffset;
|
|
226
|
+
}
|
|
227
|
+
`)),t.screenCenterOffsetUnitsEnabled&&(0,s.Nz)(r),t.hasScreenSizePerspective&&(0,i.OH)(r),r.code.add(c.H`
|
|
228
|
+
vec4 projectPositionHUD(out ProjectHUDAux aux) {
|
|
229
|
+
vec3 centerOffset = centerOffsetAndDistance.xyz;
|
|
230
|
+
float pointGroundDistance = centerOffsetAndDistance.w;
|
|
231
|
+
|
|
232
|
+
aux.posModel = position;
|
|
233
|
+
aux.posView = (view * vec4(aux.posModel, 1.0)).xyz;
|
|
234
|
+
aux.vnormal = normal;
|
|
235
|
+
${t.draped?"":"applyHUDVerticalGroundOffset(aux.vnormal, aux.posModel, aux.posView);"}
|
|
236
|
+
|
|
237
|
+
// Screen sized offset in world space, used for example for line callouts
|
|
238
|
+
// Note: keep this implementation in sync with the CPU implementation, see
|
|
239
|
+
// - MaterialUtil.verticalOffsetAtDistance
|
|
240
|
+
// - HUDMaterial.applyVerticalOffsetTransformation
|
|
241
|
+
|
|
242
|
+
aux.distanceToCamera = length(aux.posView);
|
|
243
|
+
|
|
244
|
+
vec3 viewDirObjSpace = normalize(cameraPosition - aux.posModel);
|
|
245
|
+
float cosAngle = dot(aux.vnormal, viewDirObjSpace);
|
|
246
|
+
|
|
247
|
+
aux.absCosAngle = abs(cosAngle);
|
|
248
|
+
|
|
249
|
+
${t.hasScreenSizePerspective&&(t.hasVerticalOffset||t.screenCenterOffsetUnitsEnabled)?"vec3 perspectiveFactor = screenSizePerspectiveScaleFactor(aux.absCosAngle, aux.distanceToCamera, screenSizePerspectiveAlignment);":""}
|
|
250
|
+
|
|
251
|
+
${t.hasVerticalOffset?t.hasScreenSizePerspective?"float verticalOffsetScreenHeight = applyScreenSizePerspectiveScaleFactorFloat(verticalOffset.x, perspectiveFactor);":"float verticalOffsetScreenHeight = verticalOffset.x;":""}
|
|
252
|
+
|
|
253
|
+
${t.hasVerticalOffset?c.H`
|
|
254
|
+
float worldOffset = clamp(verticalOffsetScreenHeight * verticalOffset.y * aux.distanceToCamera, verticalOffset.z, verticalOffset.w);
|
|
255
|
+
vec3 modelOffset = aux.vnormal * worldOffset;
|
|
256
|
+
aux.posModel += modelOffset;
|
|
257
|
+
vec3 viewOffset = (viewNormal * vec4(modelOffset, 1.0)).xyz;
|
|
258
|
+
aux.posView += viewOffset;
|
|
259
|
+
// Since we elevate the object, we need to take that into account
|
|
260
|
+
// in the distance to ground
|
|
261
|
+
pointGroundDistance += worldOffset;`:""}
|
|
262
|
+
|
|
263
|
+
float groundRelative = applyHUDViewDependentPolygonOffset(pointGroundDistance, aux.absCosAngle, aux.posView);
|
|
264
|
+
|
|
265
|
+
${t.screenCenterOffsetUnitsEnabled?"":c.H`
|
|
266
|
+
// Apply x/y in view space, but z in screen space (i.e. along posView direction)
|
|
267
|
+
aux.posView += vec3(centerOffset.x, centerOffset.y, 0.0);
|
|
268
|
+
|
|
269
|
+
// Same material all have same z != 0.0 condition so should not lead to
|
|
270
|
+
// branch fragmentation and will save a normalization if it's not needed
|
|
271
|
+
if (centerOffset.z != 0.0) {
|
|
272
|
+
aux.posView -= normalize(aux.posView) * centerOffset.z;
|
|
273
|
+
}
|
|
274
|
+
`}
|
|
275
|
+
|
|
276
|
+
vec4 posProj = proj * vec4(aux.posView, 1.0);
|
|
277
|
+
|
|
278
|
+
${t.screenCenterOffsetUnitsEnabled?t.hasScreenSizePerspective?"float centerOffsetY = applyScreenSizePerspectiveScaleFactorFloat(centerOffset.y, perspectiveFactor);":"float centerOffsetY = centerOffset.y;":""}
|
|
279
|
+
|
|
280
|
+
${t.screenCenterOffsetUnitsEnabled?"posProj.xy += vec2(centerOffset.x, centerOffsetY) * pixelRatio * 2.0 / viewport.zw * posProj.w;":""}
|
|
281
|
+
|
|
282
|
+
// constant part of polygon offset emulation
|
|
283
|
+
posProj.z -= groundRelative * polygonOffset * posProj.w;
|
|
284
|
+
return posProj;
|
|
285
|
+
}
|
|
286
|
+
`)}},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) {
|
|
287
|
+
if (!alignPixelEnabled)
|
|
288
|
+
return clipCoord;
|
|
289
|
+
vec2 xy = vec2(0.500123) + 0.5 * clipCoord.xy / clipCoord.w;
|
|
290
|
+
vec2 pixelSz = vec2(1.0) / widthHeight;
|
|
291
|
+
vec2 ij = (floor(xy * widthHeight) + vec2(0.5)) * pixelSz;
|
|
292
|
+
vec2 result = (ij * 2.0 - vec2(1.0)) * clipCoord.w;
|
|
293
|
+
return vec4(result, clipCoord.zw);
|
|
294
|
+
}`),e.code.add(i.H`vec4 alignToPixelOrigin(vec4 clipCoord, vec2 widthHeight) {
|
|
295
|
+
if (!alignPixelEnabled)
|
|
296
|
+
return clipCoord;
|
|
297
|
+
vec2 xy = vec2(0.5) + 0.5 * clipCoord.xy / clipCoord.w;
|
|
298
|
+
vec2 pixelSz = vec2(1.0) / widthHeight;
|
|
299
|
+
vec2 ij = floor((xy + 0.5 * pixelSz) * widthHeight) * pixelSz;
|
|
300
|
+
vec2 result = (ij * 2.0 - vec2(1.0)) * clipCoord.w;
|
|
301
|
+
return vec4(result, clipCoord.zw);
|
|
302
|
+
}`)}},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 w(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 v(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(v);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(w,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}},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;r.d(t,{dz:()=>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={})),function(e){e[e.MIN=0]="MIN",e[e.MINMAX=1]="MINMAX",e[e.ALL=2]="ALL"}(i||(i={}))},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;
|
|
303
|
+
if (dot(position, position) > 0.0) {
|
|
304
|
+
ProjectHUDAux projectAux;
|
|
305
|
+
vec4 posProj = projectPositionHUD(projectAux);
|
|
306
|
+
posProjCenter = alignToPixelCenter(posProj, viewport.zw);
|
|
307
|
+
forwardViewPosDepth(projectAux.posView);
|
|
308
|
+
vec3 vpos = projectAux.posModel;
|
|
309
|
+
if (rejectBySlice(vpos)) {
|
|
310
|
+
posProjCenter = vec4(1e038, 1e038, 1e038, 1.0);
|
|
311
|
+
}
|
|
312
|
+
} else {
|
|
313
|
+
posProjCenter = vec4(1e038, 1e038, 1e038, 1.0);
|
|
314
|
+
}
|
|
315
|
+
gl_Position = posProjCenter;
|
|
316
|
+
gl_PointSize = 1.0;`),a.main.add(s.H`fragColor = vec4(1);
|
|
317
|
+
if(discardByTerrainDepth()) {
|
|
318
|
+
fragColor.g = 0.5;
|
|
319
|
+
}`)}},65215:(e,t,r)=>{r.d(t,{HE:()=>n,R6:()=>i}),r(51850);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}},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(),v.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(v.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):v.push(s))}r=v.pop()}}collides(e){let t=this._data;const r=this._toBBox;if(!b(e,t))return!1;for(v.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;v.push(i)}}t=v.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));w(e,t,r,l,this._compareMinX);for(let i=t;i<=r;i+=l){const t=Math.min(i+l-1,r);w(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 w(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 v=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 w(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 w(e,t,"pbf",r,void 0,n)}function y(e,t,r,n){return t.timeExtent?.isEmpty?Promise.resolve({data:{objectIds:[]}}):w(e,t,"json",r,{returnIdsOnly:!0},n)}function g(e,t,r,n){return t.timeExtent?.isEmpty?Promise.resolve({data:{count:0}}):w(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 w(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 w(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}},85071:(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),w=r(87403),v=r(28975);function x(){return new b.A({material:new v.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),M=r(48163),E=r(34727),F=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,M.fA)(0,0),bottom:(0,M.fA)(.5,0),"bottom-right":(0,M.fA)(1,0),left:(0,M.fA)(0,.5),center:(0,M.fA)(.5,.5),right:(0,M.fA)(1,.5),"top-left":(0,M.fA)(0,1),top:(0,M.fA)(.5,1),"top-right":(0,M.fA)(1,1)});var N=r(9762),z=r(27993);function j(e){const{featureCount:t}=e;if(0===t)return new Uint32Array;const r=new Uint32Array(t);return e.getObjectIdsArray(r),r}function B(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=j(e),a=B(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),w=new re.n(f,p,1,!0),v=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,w],[ne.r.SIZE,v],[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,we=new Array(36);for(let e=0;e<6;e++)for(let t=0;t<6;t++)we[6*e+t]=e;const ve=new Array(36);for(let e=0;e<6;e++)ve[6*e]=0,ve[6*e+1]=1,ve[6*e+2]=2,ve[6*e+3]=2,ve[6*e+4]=3,ve[6*e+5]=0;const 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),Me=r(69397),Ee=r(24151);r(62258),r(65215),r(86305),r(16396),(0,T.vt)(),(0,C.vt)(),r(87582);var Fe=r(57917);function Ue(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=Le(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=Le(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(Ve,(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 w=(0,ye.oe)(3*p);for(let e=0;e<p;e++)w[3*e]=m[e][0],w[3*e+1]=m[e][1],w[3*e+2]=m[e][2];return[[ne.r.POSITION,new re.n(b,g,3,!0)],[ne.r.NORMAL,new re.n(w,_,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 Le(e,t){let r=e.get(t);return r&&!r.exclusive&&(r={...r,exclusive:!0,data:(0,Fe.S)(r.data)},e.set(t,r)),r}const Ve=[{tesselation:6,minScreenSpaceRadius:0},{tesselation:18,minScreenSpaceRadius:7},{tesselation:64,minScreenSpaceRadius:65}];var ke=r(89192),Ne=r(88076),ze=r(74810);class je{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:ze.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 Ne.fs;e.layerOpacity=t,r={...r,cullFace:Be((0,Ne.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=Ue(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=B(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,Ge),a=this._computeLocalTransform(c,l,He);this._writeMatrixToTypedBuffer(d,t,a),this._writeMatrixToTypedBuffer(u,t,s)}const m=j(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 Ne.fs;e.layerOpacity=i,s={...s,cullFace:Be((0,Ne.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=B(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,Ge);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 qe[0]=e,qe[1]=t,qe[2]=r,(0,ue.l)(n,qe,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?ke.s2.None:ke.s2.Back}const qe=(0,T.vt)(),He=(0,S.vt)(),Ge=(0,S.vt)();class $e{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 je(new w.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=j(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 Ye(r,e.subset(new Uint32Array(t))))).filter((e=>e.features.featureCount>0))}}class Ye{constructor(e,t){this.index=e,this.features=t}}class Ze{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 Je(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 Je{constructor(e){this.context=e}createSymbolRendererFromJSON(e){const t=(0,p.L)(e??We)??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 $e(t,this.context);default:return console.warn(`Unable to create symbolrenderer for renderer of ${r}`),this.createSymbolRendererFromJSON(We)}}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 We={type:"simple"};var Xe,Qe,Ke,et=r(69622),tt=r(60999),rt=r(32587),nt=r(11932);class it{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(ot);n=new st(a),n.resolver.promise.then((()=>{for(const e of s)e.resolve()}),(e=>{for(const t of s)t.reject(e)}))}else n=new st(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 st{constructor(e){this.actions=e,this.resolver=(0,s.Tw)()}}class at{constructor(e,t,r){this.tileId=e,this.type=t,this.data=r}toString(){return`${this.tileId}: ${this.type}`}}function ot(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(lt(s,t[e])){case Qe.NONE:break;case Qe.OVERWRITE:r[i]=!1;continue e;case Qe.REDUNDANT:n[e]=!1;break;case Qe.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 lt(e,t){if(e.tileId!==t.tileId)return Qe.NONE;if(e.type===Xe.ADD&&t.type===Xe.REMOVE)return Qe.ANNIHILATE;if(e.type===Xe.ADD&&t.type===Xe.UPDATE_VISIBILITY)return Qe.REDUNDANT;if(e.type===Xe.REMOVE&&t.type===Xe.ADD)return Qe.ANNIHILATE;if(e.type===Xe.UPDATE_VISIBILITY&&t.type===Xe.REMOVE)return Qe.OVERWRITE;if(e.type===Xe.UPDATE_VISIBILITY&&t.type===Xe.UPDATE_VISIBILITY)return Qe.OVERWRITE;throw new Error("Impossible sequence of actions")}(Ke=Xe||(Xe={})).ADD="ADD",Ke.REMOVE="REMOVE",Ke.UPDATE_VISIBILITY="UPDATE_VISIBILITY",function(e){e.NONE="NONE",e.ANNIHILATE="ANNIHILATE",e.OVERWRITE="OVERWRITE",e.REDUNDANT="REDUNDANT"}(Qe||(Qe={}));var ct=r(24326);function dt(e=""){return`${e}${(0,ct.c)()}`}r(37539),new Float64Array(3);class ut{constructor(e,t){this._parent=e,this._subsetIndices=t,this.id=dt(`featureDataSubset-${e.id}-`)}get extent(){return this._parent.extent}get featureCount(){return this._subsetIndices.length}get usedMemory(){return this._parent.usedMemory+Me.qK+this._subsetIndices.byteLength}get isFullyEnabled(){for(const e of this._subsetIndices)if(!this._parent.getEnabled(e))return!1;return!0}getObjectId(e){return this._parent.getObjectId(this._subsetIndices[e])}getAttribute(e,t){return this._parent.getAttribute(this._subsetIndices[e],t)}getAttributeAsTimestamp(e,t){return this._parent.getAttribute(this._subsetIndices[e],t)}getAttributes(e){return this._parent.getAttributes(this._subsetIndices[e])}getCoordinates(e,t,r){return this._parent.getCoordinates(this._subsetIndices[e],t,r)}getOptimizedGeometry(e){return this._parent.getOptimizedGeometry(this._subsetIndices[e])}getCentroid(e,t){return this._parent.getCentroid(this._subsetIndices[e],t)}getBounds(e){return this._parent.getBounds(this._subsetIndices[e])}getBoundingBox(e){return this._parent.getBoundingBox(this._subsetIndices[e])}getObjectIdsArray(e,t,r){return this._parent.getObjectIdsArray(e,this._translatedIndices(t),r)}getCoordinatesArray(e,t,r){return this._parent.getCoordinatesArray(e,this._translatedIndices(t),r)}objectIds(e){return this._parent.objectIds(this._translatedIndices(e))}subset(e){const{_subsetIndices:t}=this,r=new Uint32Array(e.length);for(let n=0;n<r.length;++n)r[n]=t[e[n]];return new ut(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 ht{constructor(e){this._tile=e,this.id=dt(`featureData-${e.id}-`),this._enabled=new Array(e.featureCount).fill(!0)}get featureCount(){return this._tile.featureCount}get usedMemory(){return Me.qK+(0,Me.$B)(this.id)}get extent(){return this._tile.descriptor.extent}get isFullyEnabled(){return this._enabled.every((e=>e))}getObjectId(e){return this._tile.getObjectId(e)}getAttribute(e,t){return this._tile.getAttribute(e,t)}getAttributeAsTimestamp(e,t){return this._tile.getAttribute(e,t)}getAttributes(e){return this._tile.getAttributes(e)}getCoordinates(e,t,r){return this._tile.getCoordinates(e,t,r)}getOptimizedGeometry(e){return this._tile.getOptimizedGeometry(e)}getCentroid(e,t){return this._tile.getCentroid(e,t)}getBounds(e){return this._tile.getBounds(e)}getBoundingBox(e){return this._tile.getBoundingBox(e)}getObjectIdsArray(e,t,r){return this._tile.getObjectIdsArray(e,t,r)}getCoordinatesArray(e,t,r){return this._tile.getCoordinatesArray(e,t,r)}objectIds(e){return this._tile.objectIds(e)}subset(e){return new ut(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 ft=class extends et.A{constructor(e){super(e),this.extent=null,this._tileHandles=new rt.A,this._wanted=new rt.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,tt.UT)((async()=>{try{await(0,a.C_)((()=>e?.finished??!0)),await(0,nt.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=>mt(t,e)||mt(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 at(e.id,Xe.REMOVE,t)])}async _addTile(e){const{_tileHandles:t}=this,r=t.get(e.id);if(null!=r){if(!yt(r)||r.featureData.isFullyEnabled)return;return r.featureData.enableAll(),void await this._onTileLoad(r)}const n=new pt(e,(0,tt.UT)((async t=>{const r=await this.loadTile(e,t);return(0,s.Te)(t),new ht(r)})));this._tileHandles.set(n.id,n);try{await n.loadTask.promise}catch(e){return void(0,s.jH)(e)}(function(e){if(!yt(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=>mt(e,l)||mt(l,e)))){if(yt(o)){if(mt(i,l)){const e=o.featureData;for(const t of e.objectIds())a.add(t)}if(mt(l,i)){const t=e.featureData,r=new Set(t.objectIds()),{featureData:n}=o;n.disableObjectIds(r),s.push(new at(c,Xe.UPDATE_VISIBILITY,n)),this._validateRemoval(n,r)}}}else{r.delete(c),o.loadTask.abort();const{featureData:e}=o;null!=e&&s.push(new at(c,Xe.REMOVE,e))}}a.size>0&&(e.featureData.disableObjectIds(a),this._validateRemoval(e.featureData,a)),this._validate(),s.push(new at(e.id,Xe.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(!yt(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 mt({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)()],ft.prototype,"updating",null),(0,n._)([(0,o.MZ)({constructOnly:!0})],ft.prototype,"loadTile",void 0),(0,n._)([(0,o.MZ)({constructOnly:!0})],ft.prototype,"synchronizer",void 0),(0,n._)([(0,o.MZ)()],ft.prototype,"extent",void 0),(0,n._)([(0,o.MZ)()],ft.prototype,"_boundingRect",null),(0,n._)([(0,o.MZ)()],ft.prototype,"_missingTiles",null),(0,n._)([(0,o.MZ)()],ft.prototype,"_updateRequested",void 0),(0,n._)([(0,o.MZ)()],ft.prototype,"_synchronizationTask",void 0),ft=(0,n._)([(0,c.$)("esri.views.3d.layers.graphics.pipeline.Tile3DManager")],ft);class pt{constructor(e,t){this.descriptor=e,this.loadTask=t}get id(){return this.descriptor.id}get featureData(){return this.loadTask.value}}function yt(e){return null!=e.featureData}var gt=r(75503),_t=r(27647),bt=r(92722);class wt{constructor(e,t){this._index=e,this._view=t}get usedMemory(){return Me.qK+Me.RS}getObjectId(){return this._view.getObjectId(this._index)}getAttribute(e){return this._view.getAttribute(this._index,e)}getAttributeAsTimestamp(e){return this._view.getAttributeAsTimestamp(this._index,e)}getAttributes(){return this._view.getAttributes(this._index)}getOptimizedGeometry(){return this._view.getOptimizedGeometry(this._index)}getCentroid(e){return this._view.getCentroid(this._index,e)}getBounds(){return this._view.getBounds(this._index)}getBoundingBox(){return this._view.getBoundingBox(this._index)}cloneWithGeometry(e){return new vt(this._index,this._view,e)}}class vt extends wt{constructor(e,t,r){super(e,t),this._geometryOverride=r}getOptimizedGeometry(){return this._geometryOverride}getCentroid(e){return(0,_t.Q)(new bt.A,this._geometryOverride,e.hasZ,e.hasM)}}class xt{constructor(e,t){this.featureData=e,this.bounds=t}}class St{constructor(){this._tileBounds=new Map,this.events=new i.A,this.featureAdapter=Tt.shared}get usedMemory(){return Me.qK+Me.qK*this._tileBounds.size}addTile(e){const{featureCount:t}=e;if(0===t)return;const r=new gt.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 xt(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 wt(r,t))}))}forEachInBounds(e,t){Ct.minX=e[0],Ct.minY=e[1],Ct.maxX=e[2],Ct.maxY=e[3];for(const{featureData:e,bounds:r}of this._tileBounds.values())r.search(Ct,(r=>{e.getEnabled(r)&&t(new wt(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 Tt{static{this.shared=new Tt}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 Ct=new gt.E;var It=r(80893);class At{constructor(e,t,r){this.descriptor=e,this._pages=t,this._pageSize=r;const n=Me.ez+t.reduce(((e,{usedMemory:t})=>e+t),0),i=3*Me.RS;this.usedMemory=Me.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 Ot=r(49186),Rt=r(51624),Dt=r(62577),Pt=r(95466),Mt=r(53655);class Et{constructor(e){this._reader=new Rt.A(new Uint8Array(e),new DataView(e)),this._index=function(e){for(;e.next();){if(2===e.tag())return Ft(e.getMessage());e.skip()}Lt()}(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),Vt(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]=Vt(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 bt.A([],t)}getCentroid(e,{hasZ:t,hasM:r}){this.getCoordinates(e,kt);const[n,i,s]=kt,a=[n,i];return t&&(a[3]=s),r&&(a[t?4:3]=0),new bt.A([],a)}getBounds(e){this.getCoordinates(e,kt);const[t,r]=kt,n=new gt.E;return n.minX=t,n.minY=r,n.maxX=t,n.maxY=r,n}getBoundingBox(e){this.getCoordinates(e,kt);const[t,r,n]=kt;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++]=Vt(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 Vt(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 Ft(e){for(;e.next();){if(1===e.tag())return Ut(e.getMessage());e.skip()}Lt()}function Ut(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()&&Lt();break;case 9:n=e.getBool()??!1;break;case 12:t=(0,Dt.Q1)(e.processMessage(Mt.ae));break;case 13:{const t=e.processMessage(Mt.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 Pt.A(a);return null!=t&&i&&null!=r&&c.has(r)||Lt(),{transform:t,exceededTransferLimit:n,fieldsIndex:c,objectIdFieldName:r,featureIndices:o,attributeIndices:l}}function Lt(){const e=new Ot.A("pbf-parsing-failed","Error while parsing PBF",new Error);throw console.error(e),e}function Vt(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 kt=(0,T.vt)();class Nt{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 At(e,o,n)}async _fetchPage(e,t,r){const n=e.clone();n.start=t*this._pageSize;const i=(await(0,It.kS)(this.url,n,{signal:r})).data;return(0,s.Te)(r),new Et(i)}}var zt=r(29920),jt=r(77690),Bt=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=!!F.b.LABELS_SHOW_BORDER),this._configuration.oitPass=t.oitPass,this._configuration.terrainDepthTest=t.terrainDepthTest,this._configuration.cullAboveTerrain=t.cullAboveTerrain,this._configuration}intersect(e,t,r,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)return;const h=e.attributes.get(ne.r.FEATUREATTRIBUTE),f=null==h?null:(0,C.ci)(h.data,Fr),{scaleX:m,scaleY:p}=Hr(f,u,d.pixelRatio);(0,jt.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),w=e.attributes.get(ne.r.CENTEROFFSETANDDISTANCE);(0,_e.vA)(y.size>=3);const v=(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)(vr,y.data[n],y.data[n+1],y.data[n+2]),(0,me.t)(vr,vr,t),(0,me.t)(vr,vr,d.viewMatrix);const i=e*w.size;if((0,me.i)(Mr,w.data[i],w.data[i+1],w.data[i+2]),!x&&(vr[0]+=Mr[0],vr[1]+=Mr[1],0!==Mr[2])){const e=Mr[2];(0,me.n)(Mr,vr),(0,me.d)(vr,vr,(0,me.g)(Mr,Mr,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,vr,Ur,d,wr),d.applyProjection(vr,Sr),Sr[0]>-1){x&&(Mr[0]||Mr[1])&&(Sr[0]+=Mr[0]*d.pixelRatio,0!==Mr[1]&&(Sr[1]+=(0,Qt.m0)(Mr[1],wr.factorAlignment)*d.pixelRatio),d.unapplyProjection(Sr,vr)),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,wr.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,v)){const e=r.ray;if((0,me.t)(Cr,vr,(0,O.B8)(Dr,d.viewMatrix)),Sr[0]=c[0],Sr[1]=c[1],d.unprojectFromRenderScreen(Sr,vr)){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,vr)*r,t,-1,!0,1,Cr)}}}}}intersectDraped(e,t,r,n,i,s){const a=e.attributes.get(ne.r.POSITION),o=e.attributes.get(ne.r.SIZE),l=e.attributes.get(ne.r.ROTATION),c=this.parameters,d=(0,rr.c)(c),u=e.attributes.get(ne.r.FEATUREATTRIBUTE),h=null==u?null:(0,C.ci)(u.data,Fr),{scaleX:f,scaleY:m}=Hr(h,c,e.screenToWorldRatio),p=Vr*e.screenToWorldRatio;for(let t=0;t<a.data.length/a.size;t++){const r=t*a.size,u=a.data[r],h=a.data[r+1],y=t*o.size;kr[0]=o.data[y],kr[1]=o.data[y+1];let g=0;c.textureIsSignedDistanceField&&(g=Math.min(c.outlineSize,.5*kr[0])*e.screenToWorldRatio/2),kr[0]*=f,kr[1]*=m;const _=t*l.size,b=c.rotation+l.data[_];br(n,u,h,kr,p,g,b,c,d)&&i(s.dist,s.normal,-1,!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,E.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)(vr,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.f)(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,jt.z0)(Rr,t)),(0,me.q)(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,E.kU)(a)),Ir[0]>c&&Ir[0]<d&&Ir[1]>u&&Ir[1]<h}const wr=new class{constructor(){this.factor=new Kt,this.factorAlignment=new Kt}},vr=(0,T.vt)(),xr=(0,T.vt)(),Sr=(0,C.vt)(),Tr=(0,T.vt)(),Cr=(0,T.vt)(),Ir=(0,M.vt)(),Ar=(0,M.vt)(),Or=(0,Bt.vt)(),Rr=(0,Bt.vt)(),Dr=(0,S.vt)(),Pr=(0,C.vt)(),Mr=(0,T.vt)(),Er=(0,T.vt)(),Fr=(0,C.vt)(),Ur={normal:Tr,cosAngle:0},Lr=1,Vr=2,kr=(0,M.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,M.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 jr=(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),Br=jr.clone().vec4u8(ne.r.OLIDCOLOR);class qr{constructor(){this.vertexBufferLayout=(0,Zt.E)()?Br:jr}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,w=s;for(let e=0;e<b;++e)l.set(w,0,p),l.set(w,1,y),w++,l.set(w,0,g),l.set(w,1,y),w++,l.set(w,0,g),l.set(w,1,_),w++,l.set(w,0,g),l.set(w,1,_),w++,l.set(w,0,p),l.set(w,1,_),w++,l.set(w,0,p),l.set(w,1,y),w++;(0,er.tb)(r.get(ne.r.COLOR),4,c,s,6);const{data:v,indices:x}=r.get(ne.r.SIZE);b=x.length,w=s;for(let e=0;e<b;++e){const t=v[2*x[e]],r=v[2*x[e]+1];for(let e=0;e<6;++e)d.set(w,0,t),d.set(w,1,r),w++}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,w=(0,rr.c)(t);if(null==f||null==m||null==p||null==y||null==_)return;const v=null==g?null:g.getVec(0,Fr),{scaleX:x,scaleY:S}=Hr(v,t,u.pixelRatio),C=f.count/6;for(let e=0;e<C;e++){const i=6*e;if(f.getVec(i,vr),null!=r&&(0,me.f)(vr,vr,r),(0,me.t)(vr,vr,u.viewMatrix),_.getVec(i,Pr),(0,me.i)(Mr,Pr[0],Pr[1],Pr[2]),!b&&(vr[0]+=Mr[0],vr[1]+=Mr[1],0!==Mr[2])){const e=Mr[2];(0,me.n)(Mr,vr),(0,me.d)(vr,vr,(0,me.g)(Mr,Mr,e))}if(m.getVec(i,xr),_r(xr,Or,u,Ur),Gr(t,vr,Ur,u,wr),u.applyProjection(vr,Sr),Sr[0]>-1){b&&(Mr[0]||Mr[1])&&(Sr[0]+=Mr[0]*u.pixelRatio,0!==Mr[1]&&(Sr[1]+=(0,Qt.m0)(Mr[1],wr.factorAlignment)*u.pixelRatio),u.unapplyProjection(Sr,vr)),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,wr.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,w)){const t=n.ray;if((0,me.t)(Cr,vr,(0,O.B8)(Dr,u.viewMatrix)),Sr[0]=d[0],Sr[1]=d[1],u.unprojectFromRenderScreen(Sr,vr)){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,vr)*n,r,e,!0,1,Cr)}}}}}}function Hr(e,t,r){return null==e||null==t.vvSize?{scaleX:r,scaleY:r}:((0,Ht.VC)(Er,t,e),{scaleX:Er[0]*r,scaleY:Er[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===Ee.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=dt("material");let i,s;switch(t){case"default":i=new Ne.$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=dt("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,E.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===Ee.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 Ee.RT.Local:return new fn(Ee.RT.Local,t,(0,A.GA)(t),sn(rn.b,(0,rn.f)([0,0,0],[an,0,0],[0,an,0])));case Ee.RT.Global:return new fn(Ee.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 St,this._actionSynchronizer=new it(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 Nt(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 Ze(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 ft({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)}}async onTileTreeChange(e){return await this._tileManager.onTileTreeChange(e),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 Xe.ADD:return await this._createAddFeatureDataCommand(e.data);case Xe.REMOVE:return await this._createRemoveFeatureDataCommand(e.data.id);case Xe.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}},86305:(e,t,r)=>{r.d(t,{i3:()=>i}),r(38954);var n=r(51850);function i(e){return null!=e?.dist}r(17352),r(62258),(0,n.vt)()},87582:(e,t,r)=>{r(62258);var n=r(65215);r(86305),n.R6},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"})}}]);
|