@arcgis/core 5.1.0-next.112 → 5.1.0-next.113

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.
Files changed (96) hide show
  1. package/arcade.js +1 -1
  2. package/assets/esri/core/workers/RemoteClient.js +1 -1
  3. package/assets/esri/core/workers/chunks/{0e6a388d51d9dbae46ba.js → 02c0640005b09007bb70.js} +1 -1
  4. package/assets/esri/core/workers/chunks/{beff5b4e15edee12bd4c.js → 271e42b7cd3c3441839e.js} +3 -3
  5. package/assets/esri/core/workers/chunks/32f128a1615d71bbe899.js +2 -0
  6. package/assets/esri/core/workers/chunks/40df608337d562553ce1.js +2 -0
  7. package/assets/esri/core/workers/chunks/{711d1873c760313e287f.js → 52a91c314afec70199bc.js} +1 -1
  8. package/assets/esri/core/workers/chunks/{fe8334352d256d691a95.js → 5c6742728fa705d2e16e.js} +1 -1
  9. package/assets/esri/core/workers/chunks/{481dc7503587972a6bd2.js → 701125f6cdd91ff3655f.js} +2 -2
  10. package/assets/esri/core/workers/chunks/7995e6983456c779adf9.js +1 -0
  11. package/assets/esri/core/workers/chunks/860465c4f44c373d0a1c.js +1 -0
  12. package/assets/esri/core/workers/chunks/{08efd64acdfe46985293.js → 9a11ff75009fef45b8c1.js} +1 -1
  13. package/assets/esri/core/workers/chunks/a70fa35b2d19460637e9.js +2 -0
  14. package/assets/esri/core/workers/chunks/ae74f722fb385e45fcf1.js +1 -0
  15. package/assets/esri/core/workers/chunks/{b02a68bbab07557cf02d.js → b4badbcf1bdb7823d825.js} +1 -1
  16. package/assets/esri/core/workers/chunks/b78fb24b47d9f31f18c6.js +1 -0
  17. package/assets/esri/core/workers/chunks/e95ce76b5b816256a519.js +1 -0
  18. package/assets/esri/core/workers/chunks/fbcf09526dc1bbe94b91.js +2 -0
  19. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +22 -6
  20. package/assets/esri/themes/dark/main.css +1 -1
  21. package/assets/esri/themes/light/main.css +1 -1
  22. package/assets/esri/themes/light/view.css +1 -1
  23. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm.json +1 -1
  24. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_en.json +1 -1
  25. package/assets/esri/widgets/Features/t9n/Features_en.json +1 -1
  26. package/chunks/GaussianSplatShadow.glsl.js +11 -9
  27. package/chunks/ShadowCastVisualize.glsl.js +26 -18
  28. package/config.js +1 -1
  29. package/kernel.js +1 -1
  30. package/layers/KnowledgeGraphLayer.d.ts +6 -4
  31. package/layers/KnowledgeGraphLayer.js +1 -1
  32. package/layers/LinkChartLayer.js +1 -1
  33. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  34. package/layers/knowledgeGraph/KnowledgeGraphLayerDataManager.js +1 -1
  35. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
  36. package/layers/support/featureLayerUtils.js +1 -1
  37. package/linkChart/LinkChartProperties.js +1 -1
  38. package/linkChart/utils.js +1 -1
  39. package/package.json +1 -1
  40. package/support/revision.js +1 -1
  41. package/symbols/cim/types.d.ts +45 -1
  42. package/views/2d/engine/vectorTiles/shaders/VTLMaterial.js +1 -1
  43. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedFillShader.js +1 -1
  44. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedLineShader.js +1 -1
  45. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerShader.js +1 -1
  46. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/hittestUtils.js +1 -1
  47. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  48. package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
  49. package/views/3d/analysis/Viewshed/ViewshedDrawToolRenderer.js +1 -1
  50. package/views/3d/analysis/Viewshed/ViewshedPlacementController.js +1 -1
  51. package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
  52. package/views/3d/analysis/Viewshed/placementUtils.js +1 -1
  53. package/views/3d/analysis/Viewshed/viewshedToolManipulatorUtils.js +1 -1
  54. package/views/3d/environment/EnvironmentManager.js +1 -1
  55. package/views/3d/support/gaussianSplatting/GaussianSplatFadeHelper.js +1 -1
  56. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js +3 -3
  57. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  58. package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
  59. package/views/3d/webgl-engine/shaders/GaussianSplatShadow.glsl.js +1 -1
  60. package/views/3d/webgl-engine/shaders/ShadowCastVisualizeTechniqueConfiguration.js +1 -1
  61. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.d.ts +17 -3
  62. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  63. package/widgets/BatchAttributeForm/css.js +1 -1
  64. package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.d.ts +25 -1
  65. package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.js +1 -1
  66. package/widgets/BatchAttributeForm/inputs/RelationshipElementInput.d.ts +46 -1
  67. package/widgets/BatchAttributeForm/inputs/RelationshipElementInput.js +1 -1
  68. package/widgets/BatchAttributeForm/inputs/UtilityNetworkAssociationsElementInput.js +1 -1
  69. package/widgets/BatchAttributeForm/inputs/support/createBatchFormInputs.js +1 -1
  70. package/widgets/BatchAttributeForm/interfaceUtils.js +1 -1
  71. package/widgets/BatchAttributeForm/types.d.ts +1 -1
  72. package/widgets/BatchAttributeForm.d.ts +2 -1
  73. package/widgets/BatchAttributeForm.js +1 -1
  74. package/widgets/Editor/UpdateFeaturesWorkflow.js +1 -1
  75. package/widgets/Editor/UpdateWorkflow.js +1 -1
  76. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/FeatureFormUtilityNetworkAssociationList.js +1 -1
  77. package/widgets/FeatureForm/RelationshipInput.d.ts +3 -3
  78. package/widgets/FeatureForm/RelationshipInput.js +1 -1
  79. package/widgets/FeatureForm/UtilityNetworkAssociationInput.js +1 -1
  80. package/widgets/Sketch/SketchViewModel.js +1 -1
  81. package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.d.ts +66 -6
  82. package/widgets/support/SelectionToolbar/types.d.ts +20 -1
  83. package/assets/esri/core/workers/chunks/03babc21d1781142a974.js +0 -1
  84. package/assets/esri/core/workers/chunks/340c68d09d2e8bef6727.js +0 -2
  85. package/assets/esri/core/workers/chunks/8a1751187a20b6578875.js +0 -1
  86. package/assets/esri/core/workers/chunks/9ebc461529d5286fa2c2.js +0 -2
  87. package/assets/esri/core/workers/chunks/aca9591d3467a24f8329.js +0 -1
  88. package/assets/esri/core/workers/chunks/d00b9c1fd0865bf8f317.js +0 -1
  89. package/assets/esri/core/workers/chunks/d02aa7438f46c1c2167a.js +0 -2
  90. package/assets/esri/core/workers/chunks/deab352545c34cac148c.js +0 -1
  91. package/assets/esri/core/workers/chunks/e5854a3f69dffaf9464d.js +0 -2
  92. /package/assets/esri/core/workers/chunks/{e5854a3f69dffaf9464d.js.LICENSE.txt → 32f128a1615d71bbe899.js.LICENSE.txt} +0 -0
  93. /package/assets/esri/core/workers/chunks/{340c68d09d2e8bef6727.js.LICENSE.txt → 40df608337d562553ce1.js.LICENSE.txt} +0 -0
  94. /package/assets/esri/core/workers/chunks/{481dc7503587972a6bd2.js.LICENSE.txt → 701125f6cdd91ff3655f.js.LICENSE.txt} +0 -0
  95. /package/assets/esri/core/workers/chunks/{d02aa7438f46c1c2167a.js.LICENSE.txt → a70fa35b2d19460637e9.js.LICENSE.txt} +0 -0
  96. /package/assets/esri/core/workers/chunks/{9ebc461529d5286fa2c2.js.LICENSE.txt → fbcf09526dc1bbe94b91.js.LICENSE.txt} +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[5013],{85334(t,e,r){r.d(e,{$:()=>d,IB:()=>s,Iy:()=>w,N2:()=>_,RH:()=>v,ZD:()=>b});var i=r(68197),n=r(4576),a=r(4718);function s(t){return"r"in t&&"g"in t&&"b"in t}function o(t){return"h"in t&&"s"in t&&"v"in t}function l(t){return"l"in t&&"a"in t&&"b"in t}function u(t){return"l"in t&&"c"in t&&"h"in t}r(34727),r(78955),r(91829);const c=[[.4124,.3576,.1805],[.2126,.7152,.0722],[.0193,.1192,.9505]],h=[[3.2406,-1.5372,-.4986],[-.9689,1.8758,.0415],[.0557,-.204,1.057]];function p(t,e){const r=[];let i,n;if(t[0].length!==e.length)throw new Error("dimensions do not match");const a=t.length,s=t[0].length;let o=0;for(i=0;i<a;i++){for(o=0,n=0;n<s;n++)o+=t[i][n]*e[n];r.push(o)}return r}function y(t){const e=[t.r/255,t.g/255,t.b/255].map(t=>t<=.04045?t/12.92:((t+.055)/1.055)**2.4),r=p(c,e);return{x:100*r[0],y:100*r[1],z:100*r[2]}}function f(t){const e=p(h,[t.x/100,t.y/100,t.z/100]).map(t=>{const e=t<=.0031308?12.92*t:1.055*t**(1/2.4)-.055;return Math.min(1,Math.max(e,0))});return{r:Math.round(255*e[0]),g:Math.round(255*e[1]),b:Math.round(255*e[2])}}function m(t){const e=[t.x/95.047,t.y/100,t.z/108.883].map(t=>t>(6/29)**3?t**(1/3):1/3*(29/6)**2*t+4/29);return{l:116*e[1]-16,a:500*(e[0]-e[1]),b:200*(e[1]-e[2])}}function g(t){const e=t.l,r=[(e+16)/116+t.a/500,(e+16)/116,(e+16)/116-t.b/200].map(t=>t>6/29?t**3:3*(6/29)**2*(t-4/29));return{x:95.047*r[0],y:100*r[1],z:108.883*r[2]}}function d(t){return s(t)?t:u(t)?function(t){return f(g(function(t){const e=t.l,r=t.c,i=t.h;return{l:e,a:r*Math.cos(i),b:r*Math.sin(i)}}(t)))}(t):l(t)?function(t){return f(g(t))}(t):function(t){return"x"in t&&"y"in t&&"z"in t}(t)?f(t):o(t)?function(t){const e=(t.h+360)%360/60,r=t.s/100,i=t.v/100*255,n=i*r,a=n*(1-Math.abs(e%2-1));let s;switch(Math.floor(e)){case 0:s={r:n,g:a,b:0};break;case 1:s={r:a,g:n,b:0};break;case 2:s={r:0,g:n,b:a};break;case 3:s={r:0,g:a,b:n};break;case 4:s={r:a,g:0,b:n};break;case 5:case 6:s={r:n,g:0,b:a};break;default:s={r:0,g:0,b:0}}return s.r=Math.round(s.r+i-n),s.g=Math.round(s.g+i-n),s.b=Math.round(s.b+i-n),s}(t):t}function _(t){return o(t)?t:function(t){const e=t.r,r=t.g,i=t.b,n=Math.max(e,r,i),a=n-Math.min(e,r,i);let s=n,o=0===a?0:n===e?(r-i)/a%6:n===r?(i-e)/a+2:(e-r)/a+4,l=0===a?0:a/s;return o<0&&(o+=6),o*=60,l*=100,s*=100/255,{h:o,s:l,v:s}}(d(t))}function b(t){return l(t)?t:function(t){return m(y(t))}(d(t))}function v(t){return u(t)?t:function(t){return function(t){const e=t.l,r=t.a,i=t.b,n=Math.sqrt(r*r+i*i);let a=Math.atan2(i,r);return a=a>0?a:a+2*Math.PI,{l:e,c:n,h:a}}(m(y(t)))}(d(t))}function w(t,e,r={}){if(0===t.length||e<=0)return[];if(1===(t=t.map(t=>"string"==typeof t?new i.A(t):t)).length||1===e){const r=[],i=t[0];for(let t=0;t<e;t++)r.push(i.clone());return r}if(r.shuffle&&(t=(0,n.k4)((0,a.o8)(t),r.seed)),t.length>=e){const r=[],i=(t.length-1)/(e-1);for(let n=0;n<e;n++){const e=Math.round(n*i);r.push(t[e].clone())}return r}return function(t,e,r={}){const i=[],a=t.length-1,s=Math.ceil((e-t.length)/a);t:for(let n=0;n<a;n++){const a=t[n],o=t[n+1];for(let n=1;n<=s;n++){const l=n/(s+1);if(i.push(T(a,o,l,r)),i.length+t.length===e)break t}}return[...t.map(t=>t.clone()),...(0,n.k4)(i,r.seed??1)]}(t,e,r)}const x=(t,e)=>{const r=Math.floor(10*e())-5;return Math.min(255,Math.max(0,t+r))};function T(t,e,r,a={}){const s=t.r,o=t.g,l=t.b,u=e.r,c=e.g,h=e.b,p=Math.round(s+(u-s)*r),y=Math.round(o+(c-o)*r),f=Math.round(l+(h-l)*r);if(!a.offset)return new i.A([p,y,f]);const m=(0,n.Mo)(a.seed);return new i.A([x(p,m),x(y,m),x(f,m)])}},91829(t,e,r){function i(){return[0,0,0,0]}function n(t,e,r,i){return[t,e,r,i]}function a(t,e,r,i){return[t,e,r,i]}function s(){return n(1,1,1,1)}function o(){return n(1,0,0,0)}function l(){return n(0,1,0,0)}function u(){return n(0,0,1,0)}function c(){return n(0,0,0,1)}r.d(e,{CN:()=>a,Un:()=>p,fA:()=>n,uY:()=>h,vt:()=>i});const h=[0,0,0,0],p=s(),y=o(),f=l(),m=u(),g=c();Object.freeze(Object.defineProperty({__proto__:null,ONES:p,UNIT_W:g,UNIT_X:y,UNIT_Y:f,UNIT_Z:m,ZEROS:h,clone:function(t){return[t[0],t[1],t[2],t[3]]},create:i,freeze:a,fromArray:function(t,e=[0,0,0,0]){const r=Math.min(4,t.length);for(let i=0;i<r;++i)e[i]=t[i];return e},fromValues:n,ones:s,unitW:c,unitX:o,unitY:l,unitZ:u,zeros:function(){return[0,0,0,0]}},Symbol.toStringTag,{value:"Module"}))},78955(t,e,r){r.d(e,{Bw:()=>g,C:()=>n,Cc:()=>v,LI:()=>p,Om:()=>b,S8:()=>_,T9:()=>h,WQ:()=>s,Z0:()=>w,aI:()=>T,hG:()=>m,hZ:()=>a,hs:()=>y,jk:()=>c,m3:()=>d,t2:()=>x});var i=r(34304);function n(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function a(t,e,r,i,n){return t[0]=e,t[1]=r,t[2]=i,t[3]=n,t}function s(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}function o(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}function l(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}function u(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t}function c(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t}function h(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t}function p(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t[3]=Math.round(e[3]),t}function y(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}function f(t,e){const r=e[0]-t[0],i=e[1]-t[1],n=e[2]-t[2],a=e[3]-t[3];return Math.sqrt(r*r+i*i+n*n+a*a)}function m(t,e){const r=e[0]-t[0],i=e[1]-t[1],n=e[2]-t[2],a=e[3]-t[3];return r*r+i*i+n*n+a*a}function g(t){const e=t[0],r=t[1],i=t[2],n=t[3];return Math.sqrt(e*e+r*r+i*i+n*n)}function d(t){const e=t[0],r=t[1],i=t[2],n=t[3];return e*e+r*r+i*i+n*n}function _(t,e){const r=e[0],i=e[1],n=e[2],a=e[3];let s=r*r+i*i+n*n+a*a;return s>0&&(s=1/Math.sqrt(s),t[0]=r*s,t[1]=i*s,t[2]=n*s,t[3]=a*s),t}function b(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function v(t,e,r,i){const n=e[0],a=e[1],s=e[2],o=e[3];return t[0]=n+i*(r[0]-n),t[1]=a+i*(r[1]-a),t[2]=s+i*(r[2]-s),t[3]=o+i*(r[3]-o),t}function w(t,e,r){const i=e[0],n=e[1],a=e[2],s=e[3];return t[0]=r[0]*i+r[4]*n+r[8]*a+r[12]*s,t[1]=r[1]*i+r[5]*n+r[9]*a+r[13]*s,t[2]=r[2]*i+r[6]*n+r[10]*a+r[14]*s,t[3]=r[3]*i+r[7]*n+r[11]*a+r[15]*s,t}function x(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]}function T(t,e){const r=t[0],n=t[1],a=t[2],s=t[3],o=e[0],l=e[1],u=e[2],c=e[3],h=(0,i.FD)();return Math.abs(r-o)<=h*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(n-l)<=h*Math.max(1,Math.abs(n),Math.abs(l))&&Math.abs(a-u)<=h*Math.max(1,Math.abs(a),Math.abs(u))&&Math.abs(s-c)<=h*Math.max(1,Math.abs(s),Math.abs(c))}const I=o,P=l,E=u,D=f,L=m,A=g,M=d;Object.freeze(Object.defineProperty({__proto__:null,add:s,ceil:function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t[3]=Math.ceil(e[3]),t},copy:n,copyVec3:function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},dist:D,distance:f,div:E,divide:u,dot:b,equals:T,exactEquals:x,floor:function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t[3]=Math.floor(e[3]),t},inverse:function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t},len:A,length:g,lerp:v,max:h,min:c,mul:P,multiply:l,negate:function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t},normalize:_,random:function(t,e=1){const r=i.Ov;let n,a,s,o,l,u;do{n=2*r()-1,a=2*r()-1,l=n*n+a*a}while(l>=1);do{s=2*r()-1,o=2*r()-1,u=s*s+o*o}while(u>=1);const c=Math.sqrt((1-l)/u);return t[0]=e*n,t[1]=e*a,t[2]=e*s*c,t[3]=e*o*c,t},round:p,scale:y,scaleAndAdd:function(t,e,r,i){return t[0]=e[0]+r[0]*i,t[1]=e[1]+r[1]*i,t[2]=e[2]+r[2]*i,t[3]=e[3]+r[3]*i,t},set:a,sqrDist:L,sqrLen:M,squaredDistance:m,squaredLength:d,str:function(t){return"vec4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},sub:I,subtract:o,transformMat4:w,transformQuat:function(t,e,r){const i=e[0],n=e[1],a=e[2],s=r[0],o=r[1],l=r[2],u=r[3],c=u*i+o*a-l*n,h=u*n+l*i-s*a,p=u*a+s*n-o*i,y=-s*i-o*n-l*a;return t[0]=c*u+y*-s+h*-l-p*-o,t[1]=h*u+y*-o+p*-s-c*-l,t[2]=p*u+y*-l+c*-o-h*-s,t[3]=e[3],t}},Symbol.toStringTag,{value:"Module"}))},5408(t,e,r){r.d(e,{_H:()=>i,ih:()=>n});const i=4096,n=8},4264(t,e,r){r.d(e,{lf:()=>kt,L:()=>Rt,A4:()=>St,aR:()=>Nt,tU:()=>Ot,V1:()=>Ut,uU:()=>Bt});var i=r(19419),n=r(5408),a=r(13195),s=r(89518),o=r(68572),l=r(63907),u=r(85079),c=r(74038);class h{constructor(t){this._precisionFactors={},this._key=t}get key(){return this._key}get type(){return 7&this._key}defines(){return[]}getStride(){return this._geometryLayout||this._buildMaterialInfo(),this._stride}getAttributeLocations(){return this._geometryLayout||this._buildMaterialInfo(),this._locations}getPrecisionFactors(){return this._precisionFactors||this._buildMaterialInfo(),this._precisionFactors}get geometryLayout(){return this._geometryLayout||this._buildMaterialInfo(),this._geometryLayout}getEncodingInfos(){return this._propertyEncodingInfo||this._buildMaterialInfo(),this._propertyEncodingInfo}getUniforms(){return this._uniforms||this._buildMaterialInfo(),this._uniforms}getUsedAttributes(){return this._usedAttributes||this._buildMaterialInfo(),this._usedAttributes}encodeAttributes(t,e,r,i){const n=this.propertyInfos,a=this.getEncodingInfos(),s=[],o=Math.ceil(this._ddStrideInBytes/4);for(let t=0;t<o;t++)s.push(0);for(const o of Object.keys(a)){const l=a[o],{type:u,precisionFactor:c,isLayout:h}=n[o],p=h?r.getLayoutProperty(o):r.getPaintProperty(o),y=p.interpolator?.getInterpolationRange(e);let f=0;for(const r of l){const{offset:n}=r,a=Math.floor(n/4),o=n%4*8,l=i??p.getValue(y?y[f]:e,t),h=c||1;switch(u){case 0:case 1:s[a]|=this._encodeByte(l*h,0)<<o;break;case 2:case 3:s[a]|=this._encodeShort(l*h,0)<<o;break;case 4:case 5:{const t=this._encodeByte(l*h,0),e=this._encodeByte(l*h,8);s[a]|=t<<o,s[a]|=e<<o}break;case 6:case 7:s[a]|=this._encodeShort(l*h,0),s[a]|=this._encodeShort(l*h,16);break;case 8:case 9:s[a]|=this._encodeByte(l*h,0),s[a]|=this._encodeByte(l*h,8),s[a]|=this._encodeByte(l*h,16),s[a]|=this._encodeByte(l*h,24);break;case 10:s[a]=this._encodeColor(l);break;case 11:case 12:this._encodePattern(a,s,l);break;default:throw new Error("Unsupported encoding type")}f++}}return s}getAtributeState(t){let e=0;const r=3+2*t;return e|=this._bit(r),e|=this._bit(r+1)<<1,e}static{this._encodingInfo={0:{dataType:l.pe.BYTE,bytesPerElement:1,count:1,normalized:!1},1:{dataType:l.pe.UNSIGNED_BYTE,bytesPerElement:1,count:1,normalized:!1},2:{dataType:l.pe.SHORT,bytesPerElement:2,count:1,normalized:!1},3:{dataType:l.pe.UNSIGNED_SHORT,bytesPerElement:2,count:1,normalized:!1},4:{dataType:l.pe.BYTE,bytesPerElement:1,count:2,normalized:!1},5:{dataType:l.pe.UNSIGNED_BYTE,bytesPerElement:1,count:2,normalized:!1},6:{dataType:l.pe.SHORT,bytesPerElement:2,count:2,normalized:!1},7:{dataType:l.pe.UNSIGNED_SHORT,bytesPerElement:2,count:2,normalized:!1},8:{dataType:l.pe.BYTE,bytesPerElement:1,count:4,normalized:!1},9:{dataType:l.pe.UNSIGNED_BYTE,bytesPerElement:1,count:4,normalized:!1},10:{dataType:l.pe.UNSIGNED_BYTE,bytesPerElement:1,count:4,normalized:!0},11:{dataType:l.pe.UNSIGNED_SHORT,bytesPerElement:2,count:4,normalized:!1},12:{dataType:l.pe.UNSIGNED_SHORT,bytesPerElement:2,count:4,normalized:!1}}}_getLayoutElementsForPropertyState(t,e,r){const i=r[t],n=i.name,{count:a,dataType:s,normalized:o}=h._encodingInfo[i.type],{attribueIdx:l,precisionFactor:u}=i,c=u||1,p=[{location:l[0],name:n,propertyName:t,count:a,type:s,normalized:o,precisionFactor:c}];if(this._precisionFactors[n]=c,2===e){const e=`${n}To`;p.push({location:l[1],name:e,propertyName:t,count:a,type:s,normalized:o,precisionFactor:c}),this._precisionFactors[e]=c}return p}_buildMaterialInfo(){const t=[];this._propertyEncodingInfo={};const e={},r=this.properties,i=this.propertyInfos;let n=-1;for(const a of r){n++;const r=i[a].name;e[r]=!1,e[`${r}To`]=!1;const s=this.getAtributeState(n);if(0===s||3===s)continue;const o=this._getLayoutElementsForPropertyState(a,s,i);t.push(...o)}for(const r of t)e[r.name]=!0;const a=function(t){const e=(0,o.H)(t),r=[];let i=0;for(const t of e)r.push({...t,offset:i}),i+=p(t.type)*t.count;return r}(t);this._buildLayout(a),this._buildShaderUniforms(),this._usedAttributes=e}_buildLayout(t){this.opacityLayout?this._locations=(0,u._u)([this.baseGeometryLayout,this.opacityLayout]):this._locations=(0,u.Xk)(this.baseGeometryLayout);const e=this.baseGeometryLayout;let r=e[0].stride;const i=[];let n=0;for(const e of t)n+=p(e.type)*e.count;r=y(r+n);for(const t of e)i.push(new c._(t.name,t.count,t.type,t.offset,r,t.normalized));let a=0;for(const n of t)i.push(new c._(n.name,n.count,n.type,e[0].stride+a,r,n.normalized)),void 0===this._propertyEncodingInfo[n.propertyName]&&(this._propertyEncodingInfo[n.propertyName]=[]),this._propertyEncodingInfo[n.propertyName].push({offset:a}),a+=p(n.type)*n.count;this._ddStrideInBytes=a,this._geometryLayout=i;const s=this._locations;for(const e of t)s.set(e.name,e.location);this._stride=r}_buildShaderUniforms(){const t=[],e=this.properties,r=this.propertyInfos;let i=-1;for(const n of e){i++;const{name:e,type:a,isLayout:s}=r[n];switch(this.getAtributeState(i)){case 0:t.push({name:e,getValue:(t,e,r,i)=>{const o=s?t.getLayoutValue(n,e):t.getPaintValue(n,e);switch(a){case 11:{const r=t.getDashKey(o,t.getLayoutValue("line-cap",e)),n=i.getMosaicItemPosition(r,!1);if(null==n)return null;const{tl:a,br:s}=n;return[a[0],s[1],s[0],a[1]]}case 12:{const t=i.getMosaicItemPosition(o,!n.includes("line-"));if(null==t)return null;const{tl:e,br:r}=t;return[e[0],r[1],r[0],e[1]]}case 10:{const t=o[3];return[t*o[0],t*o[1],t*o[2],t]}default:return o}}});break;case 2:{const r=`${e}Mix`;t.push({name:r,getValue:(t,e,r,i)=>(s?t.getLayoutProperty(n):t.getPaintProperty(n)).interpolator.interpolationUniformValue(r,e)})}}}this._uniforms=t}_bit(t){return(this._key&1<<t)>>t}_encodeColor(t){const e=255*t[3];return(0,s.Ss)(t[0]*e,t[1]*e,t[2]*e,e)}_encodePattern(t,e,r){if(!r?.rect)return;const i=r.rect,n=r.width,a=r.height;e[t]=this._encodeShort(i.x+2,0),e[t]|=this._encodeShort(i.y+2+a,16),e[t+1]=this._encodeShort(i.x+2+n,0),e[t+1]|=this._encodeShort(i.y+2,16)}_encodeByte(t,e){return(255&t)<<e}_encodeShort(t,e){return(65535&t)<<e}}const p=t=>{switch(t){case l.pe.FLOAT:case l.pe.INT:case l.pe.UNSIGNED_INT:return 4;case l.pe.SHORT:case l.pe.UNSIGNED_SHORT:case l.pe.HALF_FLOAT:return 2;case l.pe.BYTE:case l.pe.UNSIGNED_BYTE:return 1}},y=t=>t+3&-4;class f extends h{static{this.ATTRIBUTES=["background-color","background-pattern"]}static{this.GEOMETRY_LAYOUT=[new c._("position",2,l.pe.SHORT,0,4)]}static{this.ATTRIBUTES_INFO={"background-color":{name:"background-color",type:0,attribueIdx:[0,1],isLayout:!1},"background-pattern":{name:"background-pattern",type:0,attribueIdx:[1,2],isLayout:!1,isOptional:!0}}}constructor(t){super(t),this.baseGeometryLayout=f.GEOMETRY_LAYOUT,this.properties=f.ATTRIBUTES,this.propertyInfos=f.ATTRIBUTES_INFO}}class m extends h{static{this.ATTRIBUTES=["circle-radius","circle-color","circle-opacity","circle-stroke-width","circle-stroke-color","circle-stroke-opacity","circle-blur"]}static{this.GEOMETRY_LAYOUT=[new c._("position",2,l.pe.SHORT,0,4)]}static{this.ATTRIBUTES_INFO={"circle-radius":{name:"radius",type:1,attribueIdx:[1,8]},"circle-color":{name:"color",type:10,attribueIdx:[2,9]},"circle-opacity":{name:"opacity",type:1,attribueIdx:[3,10],precisionFactor:100},"circle-stroke-width":{name:"strokeWidth",type:1,attribueIdx:[4,11],precisionFactor:4},"circle-stroke-color":{name:"strokeColor",type:10,attribueIdx:[5,12]},"circle-stroke-opacity":{name:"strokeOpacity",type:1,attribueIdx:[6,13],precisionFactor:100},"circle-blur":{name:"blur",type:1,attribueIdx:[7,14],precisionFactor:32}}}constructor(t){super(t),this.baseGeometryLayout=m.GEOMETRY_LAYOUT,this.properties=m.ATTRIBUTES,this.propertyInfos=m.ATTRIBUTES_INFO}}class g extends h{static{this.ATTRIBUTES=["fill-color","fill-opacity","fill-pattern"]}static{this.GEOMETRY_LAYOUT=[new c._("position",2,l.pe.SHORT,0,4)]}static{this.ATTRIBUTES_INFO={"fill-color":{name:"color",type:10,attribueIdx:[1,4]},"fill-opacity":{name:"opacity",type:1,precisionFactor:100,attribueIdx:[2,5]},"fill-pattern":{name:"tlbr",type:12,isOptional:!0,attribueIdx:[3,3]}}}constructor(t){super(t),this.baseGeometryLayout=g.GEOMETRY_LAYOUT,this.properties=g.ATTRIBUTES,this.propertyInfos=g.ATTRIBUTES_INFO}}class d extends h{static{this.ATTRIBUTES_OUTLINE=["fill-outline-color","fill-opacity"]}static{this.ATTRIBUTES_FILL=["fill-color","fill-opacity"]}static{this.GEOMETRY_LAYOUT=[new c._("position",2,l.pe.SHORT,0,8),new c._("offset",2,l.pe.BYTE,4,8),new c._("normal",2,l.pe.BYTE,6,8)]}static{this.ATTRIBUTES_INFO_OUTLINE={"fill-outline-color":{name:"color",type:10,attribueIdx:[3,5]},"fill-opacity":{name:"opacity",type:1,precisionFactor:100,attribueIdx:[4,6]}}}static{this.ATTRIBUTES_INFO_FILL={"fill-color":{name:"color",type:10,attribueIdx:[3,5]},"fill-opacity":{name:"opacity",type:1,precisionFactor:100,attribueIdx:[4,6]}}}constructor(t,e){super(t),this.baseGeometryLayout=d.GEOMETRY_LAYOUT,this.properties=e?d.ATTRIBUTES_FILL:d.ATTRIBUTES_OUTLINE,this.propertyInfos=e?d.ATTRIBUTES_INFO_FILL:d.ATTRIBUTES_INFO_OUTLINE}}class _ extends h{static{this.ATTRIBUTES=["line-color","line-width","line-opacity","line-blur","line-offset","line-pattern","line-dasharray"]}static{this.GEOMETRY_LAYOUT=[new c._("position",2,l.pe.SHORT,0,16),new c._("extrudeOffset",4,l.pe.BYTE,4,16),new c._("directionNormal",4,l.pe.BYTE,8,16),new c._("accumulatedDistance",2,l.pe.UNSIGNED_SHORT,12,16)]}static{this.ATTRIBUTES_INFO={"line-color":{name:"color",type:10,attribueIdx:[4,10]},"line-width":{name:"width",type:1,attribueIdx:[5,11],precisionFactor:2},"line-opacity":{name:"opacity",type:1,attribueIdx:[6,12],precisionFactor:100},"line-blur":{name:"blur",type:1,attribueIdx:[7,13],precisionFactor:4},"line-offset":{name:"offset",type:0,attribueIdx:[8,14],precisionFactor:2},"line-pattern":{name:"tlbr",type:12,attribueIdx:[9,9],isOptional:!0},"line-dasharray":{name:"tlbr",type:11,attribueIdx:[9,9],isOptional:!0}}}constructor(t){super(t),this.baseGeometryLayout=_.GEOMETRY_LAYOUT,this.properties=_.ATTRIBUTES,this.propertyInfos=_.ATTRIBUTES_INFO}}const b=[new c._("positionAndOffset",4,l.pe.SHORT,0,16),new c._("iconInfo",4,l.pe.UNSIGNED_SHORT,8,16)],v=[new c._("opacityInfo",1,l.pe.UNSIGNED_BYTE,0,1)];class w extends h{static{this.ATTRIBUTES=["icon-color","icon-opacity","icon-halo-blur","icon-halo-color","icon-halo-width","icon-size"]}static{this.ATTRIBUTES_INFO={"icon-color":{name:"color",type:10,attribueIdx:[2,8]},"icon-opacity":{name:"opacity",type:1,precisionFactor:100,attribueIdx:[3,9]},"icon-halo-color":{name:"haloColor",type:10,attribueIdx:[4,10]},"icon-halo-width":{name:"haloWidth",type:1,precisionFactor:4,attribueIdx:[5,11]},"icon-halo-blur":{name:"haloBlur",type:1,precisionFactor:4,attribueIdx:[6,12]},"icon-size":{name:"size",type:1,precisionFactor:32,isLayout:!0,attribueIdx:[7,13]}}}constructor(t){super(t),this.baseGeometryLayout=b,this.opacityLayout=v,this.properties=w.ATTRIBUTES,this.propertyInfos=w.ATTRIBUTES_INFO}}class x extends h{static{this.ATTRIBUTES=["text-color","text-opacity","text-halo-blur","text-halo-color","text-halo-width","text-size"]}static{this.ATTRIBUTES_INFO={"text-color":{name:"color",type:10,attribueIdx:[4,10]},"text-opacity":{name:"opacity",type:1,precisionFactor:100,attribueIdx:[3,9]},"text-halo-color":{name:"haloColor",type:10,attribueIdx:[5,11]},"text-halo-width":{name:"haloWidth",type:1,precisionFactor:4,attribueIdx:[6,12]},"text-halo-blur":{name:"haloBlur",type:1,precisionFactor:4,attribueIdx:[7,13]},"text-size":{name:"size",type:1,isLayout:!0,attribueIdx:[2,8]}}}constructor(t){super(t),this.baseGeometryLayout=b,this.opacityLayout=v,this.properties=x.ATTRIBUTES,this.propertyInfos=x.ATTRIBUTES_INFO}}var T=r(68197),I=r(85334);function P(t,e,r,i){const n=3*t,a=3*(r-t)-n,s=1-n-a,o=3*e,l=3*(i-e)-o,u=1-o-l;function c(t){return((s*t+a)*t+n)*t}function h(t){return(3*s*t+2*a)*t+n}return function(t,e=1e-6){return function(t){return((u*t+l)*t+o)*t}(function(t,e){let r,i,n,a,s,o;for(n=t,o=0;o<8;o++){if(a=c(n)-t,Math.abs(a)<e)return n;if(s=h(n),Math.abs(s)<1e-6)break;n-=a/s}if(r=0,i=1,n=t,n<r)return r;if(n>i)return i;for(;r<i;){if(a=c(n),Math.abs(a-t)<e)return n;t>a?r=n:i=n,n=.5*(i-r)+r}return n}(t,e))}}const E={};E.ease=P(.25,.1,.25,1),E.linear=P(0,0,1,1),E.easeIn=E["ease-in"]=P(.42,0,1,1),E.easeOut=E["ease-out"]=P(0,0,.58,1),E.easeInOut=E["ease-in-out"]=P(.42,0,.58,1);const D={kind:"null"},L={kind:"number"},A={kind:"string"},M={kind:"boolean"},k={kind:"color"},S={kind:"object"},O={kind:"value"};function U(t,e){return{kind:"array",itemType:t,n:e}}const R=[D,L,A,M,k,S,U(O)];function N(t){if("array"===t.kind){const e=N(t.itemType);return"number"==typeof t.n?`array<${e}, ${t.n}>`:"value"===t.itemType.kind?"array":`array<${e}>`}return t.kind}function B(t){if(null===t)return D;if("string"==typeof t)return A;if("boolean"==typeof t)return M;if("number"==typeof t)return L;if(t instanceof T.A)return k;if(Array.isArray(t)){let e;for(const r of t){const t=B(r);if(e){if(e!==t){e=O;break}}else e=t}return U(e||O,t.length)}return"object"==typeof t?S:O}function z(t,e){if("array"===e.kind)return"array"===t.kind&&(0===t.n&&"value"===t.itemType.kind||z(t.itemType,e.itemType))&&("number"!=typeof e.n||e.n===t.n);if("value"===e.kind)for(const e of R)if(z(t,e))return!0;return e.kind===t.kind}function V(t){if(null===t)return"";const e=typeof t;return"string"===e?t:"number"===e||"boolean"===e?String(t):t instanceof T.A?t.toString():JSON.stringify(t)}class F{constructor(t){this._parent=t,this._vars={}}add(t,e){this._vars[t]=e}get(t){return this._vars[t]?this._vars[t]:this._parent?this._parent.get(t):null}}class G{constructor(){this.type=O}static parse(t){if(t.length>1)throw new Error('"id" does not expect arguments');return new G}evaluate(t,e){return t?.id}}class ${constructor(){this.type=A}static parse(t){if(t.length>1)throw new Error('"geometry-type" does not expect arguments');return new $}evaluate(t,e){if(!t)return null;switch(t.type){case 1:return"Point";case 2:return"LineString";case 3:return"Polygon";default:return null}}}class Y{constructor(){this.type=S}static parse(t){if(t.length>1)throw new Error('"properties" does not expect arguments');return new Y}evaluate(t,e){return t?.values}}class C{constructor(){this.type=L}static parse(t){if(t.length>1)throw new Error('"zoom" does not expect arguments');return new C}evaluate(t,e){return e}}class H{constructor(t,e,r){this._lhs=t,this._rhs=e,this._compare=r,this.type=M}static parse(t,e,r){if(3!==t.length&&4!==t.length)throw new Error(`"${t[0]}" expects 2 or 3 arguments`);if(4===t.length)throw new Error(`"${t[0]}" collator not supported`);return new H(Tt(t[1],e),Tt(t[2],e),r)}evaluate(t,e){return this._compare(this._lhs.evaluate(t,e),this._rhs.evaluate(t,e))}}class j{constructor(t){this._arg=t,this.type=M}static parse(t,e){if(2!==t.length)throw new Error('"!" expects 1 argument');return new j(Tt(t[1],e))}evaluate(t,e){return!this._arg.evaluate(t,e)}}class q{constructor(t){this._args=t,this.type=M}static parse(t,e){const r=[];for(let i=1;i<t.length;i++)r.push(Tt(t[i],e));return new q(r)}evaluate(t,e){for(const r of this._args)if(!r.evaluate(t,e))return!1;return!0}}class W{constructor(t){this._args=t,this.type=M}static parse(t,e){const r=[];for(let i=1;i<t.length;i++)r.push(Tt(t[i],e));return new W(r)}evaluate(t,e){for(const r of this._args)if(r.evaluate(t,e))return!0;return!1}}class Z{constructor(t){this._args=t,this.type=M}static parse(t,e){const r=[];for(let i=1;i<t.length;i++)r.push(Tt(t[i],e));return new Z(r)}evaluate(t,e){for(const r of this._args)if(r.evaluate(t,e))return!1;return!0}}class K{constructor(t,e,r){this.type=t,this._args=e,this._fallback=r}static parse(t,e,r){if(t.length<4)throw new Error('"case" expects at least 3 arguments');if(t.length%2==1)throw new Error('"case" expects an odd number of arguments');let i;const n=[];for(let a=1;a<t.length-1;a+=2){const s=Tt(t[a],e),o=Tt(t[a+1],e,r);i||(i=o.type),n.push({condition:s,output:o})}const a=Tt(t[t.length-1],e,r);return i||(i=a.type),new K(i,n,a)}evaluate(t,e){for(const r of this._args)if(r.condition.evaluate(t,e))return r.output.evaluate(t,e);return this._fallback.evaluate(t,e)}}class X{constructor(t,e){this.type=t,this._args=e}static parse(t,e){if(t.length<2)throw new Error('"coalesce" expects at least 1 argument');let r;const i=[];for(let n=1;n<t.length;n++){const a=Tt(t[n],e);r||(r=a.type),i.push(a)}return new X(r,i)}evaluate(t,e){for(const r of this._args){const i=r.evaluate(t,e);if(null!==i)return i}return null}}class J{constructor(t,e,r,i,n){this.type=t,this._input=e,this._labels=r,this._outputs=i,this._fallback=n}static parse(t,e){if(t.length<3)throw new Error('"match" expects at least 3 arguments');if(t.length%2==0)throw new Error('"case" expects an even number of arguments');let r;const i=Tt(t[1],e),n=[],a={};let s;for(let i=2;i<t.length-1;i+=2){let o=t[i];Array.isArray(o)||(o=[o]);for(const t of o){const e=typeof t;if("string"!==e&&"number"!==e)throw new Error('"match" requires string or number literal as labels');if(s){if(e!==s)throw new Error('"match" requires labels to have the same type')}else s=e;a[t]=n.length}const l=Tt(t[i+1],e);r||(r=l.type),n.push(l)}return new J(r,i,a,n,Tt(t[t.length-1],e))}evaluate(t,e){const r=this._input.evaluate(t,e);return(this._outputs[this._labels[r]]||this._fallback).evaluate(t,e)}}class Q{constructor(t,e,r,i,n){this._operator=t,this.type=e,this.interpolation=r,this.input=i,this._stops=n}static parse(t,e,r){const i=t[0];if(t.length<5)throw new Error(`"${i}" expects at least 4 arguments`);const n=t[1];if(!Array.isArray(n)||0===n.length)throw new Error(`"${n}" is not a valid interpolation`);switch(n[0]){case"linear":if(1!==n.length)throw new Error("Linear interpolation cannot have parameters");break;case"exponential":if(2!==n.length||"number"!=typeof n[1])throw new Error("Exponential interpolation requires one numeric argument");break;case"cubic-bezier":if(5!==n.length)throw new Error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1");for(let t=1;t<5;t++){const e=n[t];if("number"!=typeof e||e<0||e>1)throw new Error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1")}break;default:throw new Error(`"${t[0]}" unknown interpolation type "${n[0]}"`)}if(t.length%2!=1)throw new Error(`"${i}" expects an even number of arguments`);const a=Tt(t[2],e,L);let s;"interpolate-hcl"===i||"interpolate-lab"===i?s=k:r&&"value"!==r.kind&&(s=r);const o=[];for(let r=3;r<t.length;r+=2){const n=t[r];if("number"!=typeof n)throw new Error(`"${i}" requires stop inputs as literal numbers`);if(o.length&&o[o.length-1][0]>=n)throw new Error(`"${i}" requires strictly ascending stop inputs`);const a=Tt(t[r+1],e,s);s||(s=a.type),o.push([n,a])}if(s&&s!==k&&s!==L&&("array"!==s.kind||s.itemType!==L))throw new Error(`"${i}" cannot interpolate type ${N(s)}`);return new Q(i,s,n,a,o)}evaluate(t,e){const r=this._stops;if(1===r.length)return r[0][1].evaluate(t,e);const i=this.input.evaluate(t,e);if(i<=r[0][0])return r[0][1].evaluate(t,e);if(i>=r[r.length-1][0])return r[r.length-1][1].evaluate(t,e);let n=0;for(;++n<r.length&&!(i<r[n][0]););const s=r[n-1][0],o=r[n][0],l=Q.interpolationRatio(this.interpolation,i,s,o),u=r[n-1][1].evaluate(t,e),c=r[n][1].evaluate(t,e);if("interpolate"===this._operator){if("array"===this.type.kind&&Array.isArray(u)&&Array.isArray(c))return u.map((t,e)=>(0,a.GW)(t,c[e],l));if("color"===this.type.kind&&u instanceof T.A&&c instanceof T.A){const t=new T.A(u),e=new T.A(c);return new T.A([(0,a.GW)(t.r,e.r,l),(0,a.GW)(t.g,e.g,l),(0,a.GW)(t.b,e.b,l),(0,a.GW)(t.a,e.a,l)])}if("number"===this.type.kind&&"number"==typeof u&&"number"==typeof c)return(0,a.GW)(u,c,l);throw new Error(`"${this._operator}" cannot interpolate type ${N(this.type)}`)}if("interpolate-hcl"===this._operator){const t=(0,I.RH)(u),e=(0,I.RH)(c),r=e.h-t.h,i=(0,I.$)({h:t.h+l*(r>180||r<-180?r-360*Math.round(r/360):r),c:(0,a.GW)(t.c,e.c,l),l:(0,a.GW)(t.l,e.l,l)});return new T.A({a:(0,a.GW)(u.a,c.a,l),...i})}if("interpolate-lab"===this._operator){const t=(0,I.ZD)(u),e=(0,I.ZD)(c),r=(0,I.$)({l:(0,a.GW)(t.l,e.l,l),a:(0,a.GW)(t.a,e.a,l),b:(0,a.GW)(t.b,e.b,l)});return new T.A({a:(0,a.GW)(u.a,c.a,l),...r})}throw new Error(`Unexpected operator "${this._operator}"`)}interpolationUniformValue(t,e){const r=this._stops;if(1===r.length)return 0;if(t>=r[r.length-1][0])return 0;let i=0;for(;++i<r.length&&!(t<r[i][0]););const n=r[i-1][0],a=r[i][0];return Q.interpolationRatio(this.interpolation,e,n,a)}getInterpolationRange(t){const e=this._stops;if(1===e.length){const t=e[0][0];return[t,t]}const r=e[e.length-1][0];if(t>=r)return[r,r];let i=0;for(;++i<e.length&&!(t<e[i][0]););return[e[i-1][0],e[i][0]]}static interpolationRatio(t,e,r,i){let n=0;return"linear"===t[0]?n=Q._exponentialInterpolationRatio(e,1,r,i):"exponential"===t[0]?n=Q._exponentialInterpolationRatio(e,t[1],r,i):"cubic-bezier"===t[0]&&(n=P(t[1],t[2],t[3],t[4])(Q._exponentialInterpolationRatio(e,1,r,i),1e-5)),n<0?n=0:n>1&&(n=1),n}static _exponentialInterpolationRatio(t,e,r,i){const n=i-r;if(0===n)return 0;const a=t-r;return 1===e?a/n:(e**a-1)/(e**n-1)}}class tt{constructor(t,e,r){this.type=t,this._input=e,this._stops=r}static parse(t,e){if(t.length<5)throw new Error('"step" expects at least 4 arguments');if(t.length%2!=1)throw new Error('"step" expects an even number of arguments');const r=Tt(t[1],e,L);let i;const n=[];n.push([-1/0,Tt(t[2],e)]);for(let r=3;r<t.length;r+=2){const a=t[r];if("number"!=typeof a)throw new Error('"step" requires stop inputs as literal numbers');if(n.length&&n[n.length-1][0]>=a)throw new Error('"step" requires strictly ascending stop inputs');const s=Tt(t[r+1],e);i||(i=s.type),n.push([a,s])}return new tt(i,r,n)}evaluate(t,e){const r=this._stops;if(1===r.length)return r[0][1].evaluate(t,e);const i=this._input.evaluate(t,e);let n=0;for(;++n<r.length&&!(i<r[n][0]););return this._stops[n-1][1].evaluate(t,e)}}class et{constructor(t,e){this.type=t,this._output=e}static parse(t,e,r){if(t.length<4)throw new Error('"let" expects at least 3 arguments');if(t.length%2==1)throw new Error('"let" expects an odd number of arguments');const i=new F(e);for(let r=1;r<t.length-1;r+=2){const n=t[r];if("string"!=typeof n)throw new Error(`"let" requires a string to define variable names - found ${n}`);i.add(n,Tt(t[r+1],e))}const n=Tt(t[t.length-1],i,r);return new et(n.type,n)}evaluate(t,e){return this._output.evaluate(t,e)}}class rt{constructor(t,e){this.type=t,this.output=e}static parse(t,e,r){if(2!==t.length||"string"!=typeof t[1])throw new Error('"var" requires just one literal string argument');const i=e.get(t[1]);if(!i)throw new Error(`${t[1]} must be defined before being used in a "var" expression`);return new rt(r||O,i)}evaluate(t,e){return this.output.evaluate(t,e)}}class it{constructor(t,e,r){this.type=t,this._index=e,this._array=r}static parse(t,e){if(3!==t.length)throw new Error('"at" expects 2 arguments');const r=Tt(t[1],e,L),i=Tt(t[2],e);return new it(i.type.itemType,r,i)}evaluate(t,e){const r=this._index.evaluate(t,e),i=this._array.evaluate(t,e);if(r<0||r>=i.length)throw new Error('"at" index out of bounds');if(r!==Math.floor(r))throw new Error('"at" index must be an integer');return i[r]}}class nt{constructor(t){this._args=t,this.type=O}static parse(t,e){const r=t.slice(1).map(t=>Array.isArray(t)?Tt(t,e):t);return new nt(r)}evaluate(t,e){let r;return this._args&&(r=this._args.map(r=>r&&r.evaluate?r.evaluate(t,e):r)),!r||r.length<2&&r.length%2==1?"":(t=>Array.from({length:t.length/2},(e,r)=>(t=>t)(t[2*r],t[2*r+1])))(r).join()}}class at{constructor(t,e){this._key=t,this._obj=e,this.type=O}static parse(t,e){let r,i;switch(t.length){case 2:return r=Tt(t[1],e),new at(r);case 3:return r=Tt(t[1],e),i=Tt(t[2],e),new at(r,i);default:throw new Error('"get" expects 1 or 2 arguments')}}evaluate(t,e){const r=this._key.evaluate(t,e);return this._obj?this._obj.evaluate(t,e)[r]:t?.values[r]}}class st{constructor(t,e){this._key=t,this._obj=e,this.type=M}static parse(t,e){let r,i;switch(t.length){case 2:return r=Tt(t[1],e),new st(r);case 3:return r=Tt(t[1],e),i=Tt(t[2],e),new st(r,i);default:throw new Error('"has" expects 1 or 2 arguments')}}evaluate(t,e){const r=this._key.evaluate(t,e);return this._obj?r in this._obj.evaluate(t,e):!!t?.values[r]}}class ot{constructor(t,e){this._key=t,this._vals=e,this.type=M}static parse(t,e){if(3!==t.length)throw new Error('"in" expects 2 arguments');return new ot(Tt(t[1],e),Tt(t[2],e))}evaluate(t,e){const r=this._key.evaluate(t,e);return this._vals.evaluate(t,e).includes(r)}}class lt{constructor(t,e,r){this._item=t,this._array=e,this._from=r,this.type=L}static parse(t,e){if(t.length<3||t.length>4)throw new Error('"index-of" expects 3 or 4 arguments');const r=Tt(t[1],e),i=Tt(t[2],e);if(4===t.length){const n=Tt(t[3],e,L);return new lt(r,i,n)}return new lt(r,i)}evaluate(t,e){const r=this._item.evaluate(t,e),i=this._array.evaluate(t,e);if(this._from){const n=this._from.evaluate(t,e);if(n!==Math.floor(n))throw new Error('"index-of" index must be an integer');return i.indexOf(r,n)}return i.indexOf(r)}}class ut{constructor(t){this._arg=t,this.type=L}static parse(t,e){if(2!==t.length)throw new Error('"length" expects 2 arguments');const r=Tt(t[1],e);return new ut(r)}evaluate(t,e){const r=this._arg.evaluate(t,e);if("string"==typeof r)return r.length;if(Array.isArray(r))return r.length;throw new Error('"length" expects string or array')}}class ct{constructor(t,e,r,i){this.type=t,this._array=e,this._from=r,this._to=i}static parse(t,e){if(t.length<3||t.length>4)throw new Error('"slice" expects 2 or 3 arguments');const r=Tt(t[1],e),i=Tt(t[2],e,L);if(i.type!==L)throw new Error('"slice" index must return a number');if(4===t.length){const n=Tt(t[3],e,L);if(n.type!==L)throw new Error('"slice" index must return a number');return new ct(r.type,r,i,n)}return new ct(r.type,r,i)}evaluate(t,e){const r=this._array.evaluate(t,e);if(!Array.isArray(r)&&"string"!=typeof r)throw new Error('"slice" input must be an array or a string');const i=this._from.evaluate(t,e);if(i<0||i>=r.length)throw new Error('"slice" index out of bounds');if(i!==Math.floor(i))throw new Error('"slice" index must be an integer');if(this._to){const n=this._to.evaluate(t,e);if(n<0||n>=r.length)throw new Error('"slice" index out of bounds');if(n!==Math.floor(n))throw new Error('"slice" index must be an integer');return r.slice(i,n)}return r.slice(i)}}class ht{constructor(){this.type=M}static parse(t){if(1!==t.length)throw new Error('"has-id" expects no arguments');return new ht}evaluate(t,e){return void 0!==t?.id}}class pt{constructor(t,e){this._args=t,this._calculate=e,this.type=L}static parse(t,e,r){const i=t.slice(1).map(t=>Tt(t,e));return new pt(i,r)}evaluate(t,e){let r;return this._args&&(r=this._args.map(r=>r.evaluate(t,e))),this._calculate(r)}}class yt{constructor(t,e){this._args=t,this._calculate=e,this.type=L}static{this.ops={abs:t=>Math.abs(t[0]),acos:t=>Math.acos(t[0]),asin:t=>Math.asin(t[0]),atan:t=>Math.atan(t[0]),ceil:t=>Math.ceil(t[0]),cos:t=>Math.cos(t[0]),e:()=>Math.E,floor:t=>Math.floor(t[0]),ln:t=>Math.log(t[0]),ln2:()=>Math.LN2,log10:t=>Math.log(t[0])/Math.LN10,log2:t=>Math.log(t[0])/Math.LN2,max:t=>Math.max(...t),min:t=>Math.min(...t),pi:()=>Math.PI,round:t=>Math.round(t[0]),sin:t=>Math.sin(t[0]),sqrt:t=>Math.sqrt(t[0]),tan:t=>Math.tan(t[0])}}static parse(t,e){const r=t.slice(1).map(t=>Tt(t,e));return new yt(r,yt.ops[t[0]])}evaluate(t,e){let r;return this._args&&(r=this._args.map(r=>r.evaluate(t,e))),this._calculate(r)}}class ft{constructor(t){this._args=t,this.type=A}static parse(t,e){return new ft(t.slice(1).map(t=>Tt(t,e)))}evaluate(t,e){return this._args.map(r=>r.evaluate(t,e)).join("")}}class mt{constructor(t,e){this._arg=t,this._calculate=e,this.type=A}static{this.ops={downcase:t=>t.toLowerCase(),upcase:t=>t.toUpperCase()}}static parse(t,e){if(2!==t.length)throw new Error(`${t[0]} expects 1 argument`);const r=Tt(t[1],e);return new mt(r,mt.ops[t[0]])}evaluate(t,e){return this._calculate(this._arg.evaluate(t,e))}}class gt{constructor(t){this._args=t,this.type=k}static parse(t,e){if(4!==t.length)throw new Error('"rgb" expects 3 arguments');const r=t.slice(1).map(t=>Tt(t,e));return new gt(r)}evaluate(t,e){const r=this._validate(this._args[0].evaluate(t,e)),i=this._validate(this._args[1].evaluate(t,e)),n=this._validate(this._args[2].evaluate(t,e));return new T.A({r,g:i,b:n})}_validate(t){if("number"!=typeof t||t<0||t>255)throw new Error(`${t}: invalid color component`);return Math.round(t)}}class dt{constructor(t){this._args=t,this.type=k}static parse(t,e){if(5!==t.length)throw new Error('"rgba" expects 4 arguments');const r=t.slice(1).map(t=>Tt(t,e));return new dt(r)}evaluate(t,e){const r=this._validate(this._args[0].evaluate(t,e)),i=this._validate(this._args[1].evaluate(t,e)),n=this._validate(this._args[2].evaluate(t,e)),a=this._validateAlpha(this._args[3].evaluate(t,e));return new T.A({r,g:i,b:n,a})}_validate(t){if("number"!=typeof t||t<0||t>255)throw new Error(`${t}: invalid color component`);return Math.round(t)}_validateAlpha(t){if("number"!=typeof t||t<0||t>1)throw new Error(`${t}: invalid alpha color component`);return t}}class _t{constructor(t){this._color=t,this.type=U(L,4)}static parse(t,e){if(2!==t.length)throw new Error('"to-rgba" expects 1 argument');const r=Tt(t[1],e);return new _t(r)}evaluate(t,e){return new T.A(this._color.evaluate(t,e)).toRgba()}}class bt{constructor(t,e){this.type=t,this._args=e}static parse(t,e){const r=t[0];if(t.length<2)throw new Error(`${r} expects at least one argument`);let i,n=1;if("array"===r){if(t.length>2){switch(t[1]){case"string":i=A;break;case"number":i=L;break;case"boolean":i=M;break;default:throw new Error('"array" type argument must be string, number or boolean')}n++}else i=O;let e;if(t.length>3){if(e=t[2],null!==e&&("number"!=typeof e||e<0||e!==Math.floor(e)))throw new Error('"array" length argument must be a positive integer literal');n++}i=U(i,e)}else switch(r){case"string":i=A;break;case"number":i=L;break;case"boolean":i=M;break;case"object":i=S}const a=[];for(;n<t.length;n++){const r=Tt(t[n],e);a.push(r)}return new bt(i,a)}evaluate(t,e){let r;for(const i of this._args){const n=i.evaluate(t,e);if(r=B(n),z(r,this.type))return n}throw new Error(`Expected ${N(this.type)} but got ${N(r)}`)}}class vt{static{this.types={"to-boolean":M,"to-color":k,"to-number":L,"to-string":A}}constructor(t,e){this.type=t,this._args=e}static parse(t,e){const r=t[0],i=vt.types[r];if(i===M||i===A){if(2!==t.length)throw new Error(`${r} expects one argument`)}else if(t.length<2)throw new Error(`${r} expects at least one argument`);const n=[];for(let r=1;r<t.length;r++){const i=Tt(t[r],e);n.push(i)}return new vt(i,n)}evaluate(t,e){if(this.type===M)return Boolean(this._args[0].evaluate(t,e));if(this.type===A)return V(this._args[0].evaluate(t,e));if(this.type===L){for(const r of this._args){const i=Number(r.evaluate(t,e));if(!isNaN(i))return i}return null}if(this.type===k){for(const r of this._args)try{const i=vt.toColor(r.evaluate(t,e));if(i instanceof T.A)return i}catch{}return null}}static toBoolean(t){return Boolean(t)}static toString(t){return V(t)}static toNumber(t){const e=Number(t);if(isNaN(e))throw new Error(`"${t}" is not a number`);return e}static toColor(t){if(t instanceof T.A)return t;if("string"==typeof t){const e=T.A.fromString(t);if(e)return e;throw new Error(`"${t}" is not a color`)}if(Array.isArray(t))return T.A.fromArray(t);throw new Error(`"${t}" is not a color`)}}class wt{constructor(t){this._val=t,this.type=B(t)}static parse(t){if(2!==t.length)throw new Error('"literal" expects 1 argument');return new wt(t[1])}evaluate(t,e){return this._val}}class xt{constructor(t){this._arg=t,this.type=A}static parse(t,e){if(2!==t.length)throw new Error('"typeof" expects 1 argument');return new xt(Tt(t[1],e))}evaluate(t,e){return N(B(this._arg.evaluate(t,e)))}}function Tt(t,e,r){const i=typeof t;if("string"===i||"boolean"===i||"number"===i||null===t){if(r)switch(r.kind){case"string":"string"!==i&&(t=vt.toString(t));break;case"number":"number"!==i&&(t=vt.toNumber(t));break;case"color":t=vt.toColor(t)}t=["literal",t]}if(!Array.isArray(t)||0===t.length)throw new Error("Expression must be a non empty array");const n=t[0];if("string"!=typeof n)throw new Error("First element of expression must be a string");const a=It[n];if(void 0===a)throw new Error(`Invalid expression operator "${n}"`);if(!a)throw new Error(`Unimplemented expression operator "${n}"`);return a.parse(t,e,r)}const It={array:bt,boolean:bt,collator:null,format:nt,image:null,literal:wt,number:bt,"number-format":null,object:bt,string:bt,"to-boolean":vt,"to-color":vt,"to-number":vt,"to-string":vt,typeof:xt,accumulated:null,"feature-state":null,"geometry-type":$,id:G,"line-progress":null,properties:Y,at:it,get:at,has:st,in:ot,"index-of":lt,length:ut,slice:ct,"!":j,"!=":class extends H{static parse(t,e){return H.parse(t,e,(t,e)=>t!==e)}},"<":class extends H{static parse(t,e){return H.parse(t,e,(t,e)=>t<e)}},"<=":class extends H{static parse(t,e){return H.parse(t,e,(t,e)=>t<=e)}},"==":class extends H{static parse(t,e){return H.parse(t,e,(t,e)=>t===e)}},">":class extends H{static parse(t,e){return H.parse(t,e,(t,e)=>t>e)}},">=":class extends H{static parse(t,e){return H.parse(t,e,(t,e)=>t>=e)}},all:q,any:W,case:K,coalesce:X,match:J,within:null,interpolate:Q,"interpolate-hcl":Q,"interpolate-lab":Q,step:tt,let:et,var:rt,concat:ft,downcase:mt,"is-supported-script":null,"resolved-locale":null,upcase:mt,rgb:gt,rgba:dt,"to-rgba":_t,"-":class extends pt{static parse(t,e){switch(t.length){case 2:return pt.parse(t,e,t=>-t[0]);case 3:return pt.parse(t,e,t=>t[0]-t[1]);default:throw new Error('"-" expects 1 or 2 arguments')}}},"*":class extends pt{static parse(t,e){return pt.parse(t,e,t=>{let e=1;for(const r of t)e*=r;return e})}},"/":class extends pt{static parse(t,e){if(3===t.length)return pt.parse(t,e,t=>t[0]/t[1]);throw new Error('"/" expects 2 arguments')}},"%":class extends pt{static parse(t,e){if(3===t.length)return pt.parse(t,e,t=>t[0]%t[1]);throw new Error('"%" expects 2 arguments')}},"^":class extends pt{static parse(t,e){if(3===t.length)return pt.parse(t,e,t=>t[0]**t[1]);throw new Error('"^" expects 1 or 2 arguments')}},"+":class extends pt{static parse(t,e){return pt.parse(t,e,t=>{let e=0;for(const r of t)e+=r;return e})}},abs:yt,acos:yt,asin:yt,atan:yt,ceil:yt,cos:yt,e:yt,floor:yt,ln:yt,ln2:yt,log10:yt,log2:yt,max:yt,min:yt,pi:yt,round:yt,sin:yt,sqrt:yt,tan:yt,zoom:C,"heatmap-density":null,"has-id":ht,none:Z};class Pt{constructor(t){this._expression=t}filter(t,e){if(!this._expression)return!0;try{return this._expression.evaluate(t,e)}catch(t){return console.log(t.message),!0}}static createFilter(t){if(!t)return null;this.isLegacyFilter(t)&&(t=this.convertLegacyFilter(t));try{const e=Tt(t,null,M);return new Pt(e)}catch(t){return console.log(t.message),null}}static isLegacyFilter(t){if(!Array.isArray(t))return!0;if(0===t.length)return!0;switch(t[0]){case"==":case"!=":case">":case"<":case">=":case"<=":return 3===t.length&&"string"==typeof t[1]&&!Array.isArray(t[2]);case"in":return t.length>=3&&"string"==typeof t[1]&&!Array.isArray(t[2]);case"!in":case"none":case"!has":return!0;case"any":case"all":for(let e=1;e<t.length;e++)if(this.isLegacyFilter(t[e]))return!0;return!1;case"has":return 2===t.length&&("$id"===t[1]||"$type"===t[1]);default:return!1}}static convertLegacyFilter(t){if(!Array.isArray(t)||0===t.length)return!0;const e=t[0];if(1===t.length)return"any"!==e;switch(e){case"==":return Pt.convertComparison("==",t[1],t[2]);case"!=":return Pt.negate(Pt.convertComparison("==",t[1],t[2]));case">":case"<":case">=":case"<=":return Pt.convertComparison(e,t[1],t[2]);case"in":return Pt.convertIn(t[1],t.slice(2));case"!in":return Pt.negate(Pt.convertIn(t[1],t.slice(2)));case"any":case"all":case"none":return Pt.convertCombining(e,t.slice(1));case"has":return Pt.convertHas(t[1]);case"!has":return Pt.negate(Pt.convertHas(t[1]));default:throw new Error("Unexpected legacy filter.")}}static convertComparison(t,e,r){switch(e){case"$type":return[t,["geometry-type"],r];case"$id":return[t,["id"],r];default:return[t,["get",e],r]}}static convertIn(t,e){switch(t){case"$type":return["in",["geometry-type"],["literal",e]];case"$id":return["in",["id"],["literal",e]];default:return["in",["get",t],["literal",e]]}}static convertHas(t){switch(t){case"$type":return!0;case"$id":return["has-id"];default:return["has",t]}}static convertCombining(t,e){return[t].concat(e.map(this.convertLegacyFilter))}static negate(t){return["!",t]}}class Et{static{this.backgroundLayoutDefinition={visibility:{type:"enum",values:["visible","none"],default:0}}}static{this.fillLayoutDefinition={visibility:{type:"enum",values:["visible","none"],default:0}}}static{this.lineLayoutDefinition={visibility:{type:"enum",values:["visible","none"],default:0},"line-cap":{type:"enum",values:["butt","round","square"],default:0},"line-join":{type:"enum",values:["bevel","round","miter"],default:2},"line-miter-limit":{type:"number",default:2},"line-round-limit":{type:"number",default:1.05}}}static{this.symbolLayoutDefinition={visibility:{type:"enum",values:["visible","none"],default:0},"symbol-avoid-edges":{type:"boolean",default:!1},"symbol-placement":{type:"enum",values:["point","line","line-center"],default:0},"symbol-sort-key":{type:"number",default:-1},"symbol-spacing":{type:"number",minimum:1,default:250},"icon-allow-overlap":{type:"boolean",default:!1},"icon-anchor":{type:"enum",values:["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"],default:0},"icon-ignore-placement":{type:"boolean",default:!1},"icon-image":{type:"string"},"icon-keep-upright":{type:"boolean",default:!1},"icon-offset":{type:"array",value:"number",length:2,default:[0,0]},"icon-optional":{type:"boolean",default:!1},"icon-padding":{type:"number",minimum:0,default:2},"icon-rotate":{type:"number",default:0},"icon-rotation-alignment":{type:"enum",values:["map","viewport","auto"],default:2},"icon-size":{type:"number",minimum:0,default:1},"text-allow-overlap":{type:"boolean",default:!1},"text-anchor":{type:"enum",values:["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"],default:0},"text-field":{type:"string"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"]},"text-ignore-placement":{type:"boolean",default:!1},"text-justify":{type:"enum",values:["auto","left","center","right"],default:2},"text-keep-upright":{type:"boolean",default:!0},"text-letter-spacing":{type:"number",default:0},"text-line-height":{type:"number",default:1.2},"text-max-angle":{type:"number",minimum:0,default:45},"text-max-width":{type:"number",minimum:0,default:10},"text-offset":{type:"array",value:"number",length:2,default:[0,0]},"text-optional":{type:"boolean",default:!1},"text-padding":{type:"number",minimum:0,default:2},"text-rotate":{type:"number",default:0},"text-rotation-alignment":{type:"enum",values:["map","viewport","auto"],default:2},"text-size":{type:"number",minimum:0,default:16},"text-transform":{type:"enum",values:["none","uppercase","lowercase"],default:0},"text-writing-mode":{type:"array",value:"enum",values:["horizontal","vertical"],default:[0]}}}static{this.circleLayoutDefinition={visibility:{type:"enum",values:["visible","none"],default:0}}}static{this.backgroundPaintDefinition={"background-color":{type:"color",default:[0,0,0,1]},"background-opacity":{type:"number",minimum:0,maximum:1,default:1},"background-pattern":{type:"string"}}}static{this.fillPaintDefinition={"fill-antialias":{type:"boolean",default:!0},"fill-color":{type:"color",default:[0,0,0,1]},"fill-opacity":{type:"number",minimum:0,maximum:1,default:1},"fill-outline-color":{type:"color",default:[0,0,0,0]},"fill-pattern":{type:"string"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0]},"fill-translate-anchor":{type:"enum",values:["map","viewport"],default:0}}}static{this.linePaintDefinition={"line-blur":{type:"number",minimum:0,default:0},"line-color":{type:"color",default:[0,0,0,1]},"line-dasharray":{type:"array",value:"number",default:[]},"line-gap-width":{type:"number",minimum:0,default:0},"line-offset":{type:"number",default:0},"line-opacity":{type:"number",minimum:0,maximum:1,default:1},"line-pattern":{type:"string"},"line-translate":{type:"array",value:"number",length:2,default:[0,0]},"line-translate-anchor":{type:"enum",values:["map","viewport"],default:0},"line-width":{type:"number",minimum:0,default:1}}}static{this.symbolPaintDefinition={"icon-color":{type:"color",default:[0,0,0,1]},"icon-halo-blur":{type:"number",minimum:0,default:0},"icon-halo-color":{type:"color",default:[0,0,0,0]},"icon-halo-width":{type:"number",minimum:0,default:0},"icon-opacity":{type:"number",minimum:0,maximum:1,default:1},"icon-translate":{type:"array",value:"number",length:2,default:[0,0]},"icon-translate-anchor":{type:"enum",values:["map","viewport"],default:0},"text-color":{type:"color",default:[0,0,0,1]},"text-halo-blur":{type:"number",minimum:0,default:0},"text-halo-color":{type:"color",default:[0,0,0,0]},"text-halo-width":{type:"number",minimum:0,default:0},"text-opacity":{type:"number",minimum:0,maximum:1,default:1},"text-translate":{type:"array",value:"number",length:2,default:[0,0]},"text-translate-anchor":{type:"enum",values:["map","viewport"],default:0}}}static{this.rasterPaintDefinition={"raster-opacity":{type:"number",minimum:0,maximum:1,default:1},"raster-hue-rotate":{type:"number",default:0},"raster-brightness-min":{type:"number",minimum:0,maximum:1,default:0},"raster-brightness-max":{type:"number",minimum:0,maximum:1,default:1},"raster-saturation":{type:"number",minimum:-1,maximum:1,default:0},"raster-contrast":{type:"number",minimum:-1,maximum:1,default:0},"raster-fade-duration":{type:"number",minimum:0,default:300}}}static{this.circlePaintDefinition={"circle-blur":{type:"number",minimum:0,default:0},"circle-color":{type:"color",default:[0,0,0,1]},"circle-opacity":{type:"number",minimum:0,maximum:1,default:1},"circle-radius":{type:"number",minimum:0,default:5},"circle-stroke-color":{type:"color",default:[0,0,0,1]},"circle-stroke-opacity":{type:"number",minimum:0,maximum:1,default:1},"circle-stroke-width":{type:"number",minimum:0,default:0},"circle-translate":{type:"array",value:"number",length:2,default:[0,0]},"circle-translate-anchor":{type:"enum",values:["map","viewport"],default:0}}}}var Dt=r(40876);class Lt{constructor(t,e){let r;switch(this.isDataDriven=!1,this.interpolator=null,t.type){case"number":case"color":r=!0;break;case"array":r="number"===t.value;break;default:r=!1}if((null==e||""===e&&"color"===t.type)&&(e=t.default),Array.isArray(e)&&e.length>0&&It[e[0]]){const r={number:L,color:k,string:A,boolean:M,enum:A};try{const i=Tt(e,null,"array"===t.type?U(r[t.value]||O,t.length):r[t.type]);this.getValue=this._buildExpression(i,t),this.isDataDriven=!0,i instanceof Q&&i.input instanceof C&&(this.interpolator=i)}catch(e){console.log(e.message),this.getValue=this._buildSimple(t.default)}return}r&&"interval"===e.type&&(r=!1);const i=e?.stops&&e.stops.length>0;if(i)for(const r of e.stops)r[1]=this._validate(r[1],t);if(this.isDataDriven=!!e&&!!e.property,this.isDataDriven)if(void 0!==e.default&&(e.default=this._validate(e.default,t)),i)switch(e.type){case"identity":this.getValue=this._buildIdentity(e,t);break;case"categorical":this.getValue=this._buildCategorical(e,t);break;default:this.getValue=r?this._buildInterpolate(e,t):this._buildInterval(e,t)}else this.getValue=this._buildIdentity(e,t);else i?this.getValue=r?this._buildZoomInterpolate(e):this._buildZoomInterval(e):(e=this._validate(e,t),this.getValue=this._buildSimple(e))}_validate(t,e){if("number"===e.type){if(null!=e.minimum&&t<e.minimum)return e.minimum;if(null!=e.maximum&&t>e.maximum)return e.maximum}else"color"===e.type?t=Lt._parseColor(t):"enum"===e.type?"string"==typeof t&&(t=e.values.indexOf(t)):"array"===e.type&&"enum"===e.value?t=t.map(t=>"string"==typeof t?e.values.indexOf(t):t):"string"===e.type&&(t=V(t));return t}_buildSimple(t){return()=>t}_buildExpression(t,e){return(r,i)=>{try{const n=t.evaluate(i,r);return void 0===n?e.default:this._validate(n,e)}catch(t){return console.log(t.message),e.default}}}_buildIdentity(t,e){return(r,i)=>{let n;return i&&(n=i.values[t.property]),void 0!==n&&(n=this._validate(n,e)),null!=n?n:void 0!==t.default?t.default:e.default}}_buildCategorical(t,e){return(r,i)=>{let n;return i&&(n=i.values[t.property]),n=this._categorical(n,t.stops),void 0!==n?n:void 0!==t.default?t.default:e.default}}_buildInterval(t,e){return(r,i)=>{let n;return i&&(n=i.values[t.property]),"number"==typeof n?this._interval(n,t.stops):void 0!==t.default?t.default:e.default}}_buildInterpolate(t,e){return(r,i)=>{let n;return i&&(n=i.values[t.property]),"number"==typeof n?this._interpolate(n,t.stops,t.base||1):void 0!==t.default?t.default:e.default}}_buildZoomInterpolate(t){return e=>this._interpolate(e,t.stops,t.base||1)}_buildZoomInterval(t){return e=>this._interval(e,t.stops)}_categorical(t,e){const r=e.length;for(let i=0;i<r;i++)if(e[i][0]===t)return e[i][1]}_interval(t,e){const r=e.length;let i=0;for(let n=0;n<r&&e[n][0]<=t;n++)i=n;return e[i][1]}_interpolate(t,e,r){let i,n;const s=e.length;for(let r=0;r<s;r++){const a=e[r];if(!(a[0]<=t)){n=a;break}i=a}if(i&&n){const e=n[0]-i[0],s=t-i[0],o=1===r?s/e:(r**s-1)/(r**e-1);if(Array.isArray(i[1])){const t=i[1],e=n[1],r=[];for(let i=0;i<t.length;i++)r.push((0,a.GW)(t[i],e[i],o));return r}return(0,a.GW)(i[1],n[1],o)}return i?i[1]:n?n[1]:void 0}static _isEmpty(t){for(const e in t)if(t.hasOwnProperty(e))return!1;return!0}static _parseColor(t){return Array.isArray(t)?t:"string"==typeof t?(0,Dt.Vm)(t)??void 0:t instanceof T.A&&!this._isEmpty(t)?t.toUnitRGBA():void 0}}var At=r(76213);class Mt{constructor(t,e,r,i){switch(this.type=t,this.typeName=e.type,this.id=e.id,this.source=e.source,this.sourceLayer=e["source-layer"],this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,this.filter=e.filter,this.layout=e.layout,this.paint=e.paint,this.z=r,this.uid=i,t){case 0:this._layoutDefinition=Et.backgroundLayoutDefinition,this._paintDefinition=Et.backgroundPaintDefinition;break;case 1:this._layoutDefinition=Et.fillLayoutDefinition,this._paintDefinition=Et.fillPaintDefinition;break;case 2:this._layoutDefinition=Et.lineLayoutDefinition,this._paintDefinition=Et.linePaintDefinition;break;case 3:this._layoutDefinition=Et.symbolLayoutDefinition,this._paintDefinition=Et.symbolPaintDefinition;break;case 4:this._layoutDefinition=Et.circleLayoutDefinition,this._paintDefinition=Et.circlePaintDefinition}this._layoutProperties=this._parseLayout(this.layout),this._paintProperties=this._parsePaint(this.paint)}getFeatureFilter(){return void 0!==this._featureFilter?this._featureFilter:this._featureFilter=Pt.createFilter(this.filter)}getLayoutProperty(t){return this._layoutProperties[t]}getPaintProperty(t){return this._paintProperties[t]}getLayoutValue(t,e,r){let i;const n=this._layoutProperties[t];return n&&(i=n.getValue(e,r)),void 0===i&&(i=this._layoutDefinition[t].default),i}getPaintValue(t,e,r){let i;const n=this._paintProperties[t];return n&&(i=n.getValue(e,r)),void 0===i&&(i=this._paintDefinition[t].default),i}isPainterDataDriven(){const t=this._paintProperties;if(t)for(const e in t)if(t[e].isDataDriven)return!0;return!1}isIntersectingFeature(t,e,r,i,n,a,s){return!1}getFeatureInflatedBounds(t,e,r,i){return null}_parseLayout(t){const e={};for(const r in t){const i=this._layoutDefinition[r];i&&(e[r]=new Lt(i,t[r]))}return e}_parsePaint(t){const e={};for(const r in t){const i=this._paintDefinition[r];i&&(e[r]=new Lt(i,t[r]))}return e}computeAttributesKey(t,e,r,i){let n=0,a=0;for(const t of e){let e=3;if(t&&t!==i){const i=r[t],{isLayout:n,isOptional:a}=i,s=n?this.getLayoutProperty(t):this.getPaintProperty(t);e=s?.interpolator?2:s?.isDataDriven?1:a&&!s?3:0}a|=e<<n,n+=2}return a<<3|t}}class kt extends Mt{constructor(t,e,r,i){super(t,e,r,i),this.backgroundMaterial=new f(this.computeAttributesKey(0,f.ATTRIBUTES,f.ATTRIBUTES_INFO))}}class St extends Mt{constructor(t,e,r,i){super(t,e,r,i);const n=this.getPaintProperty("fill-color"),a=this.getPaintProperty("fill-opacity"),s=this.getPaintProperty("fill-pattern");this.hasDataDrivenColor=n?.isDataDriven,this.hasDataDrivenOpacity=a?.isDataDriven,this.hasDataDrivenFill=this.hasDataDrivenColor||this.hasDataDrivenOpacity||s?.isDataDriven;const o=this.getPaintProperty("fill-outline-color");this.outlineUsesFillColor=!o,this.hasDataDrivenOutlineColor=o?.isDataDriven,this.hasDataDrivenOutline=o?o.isDataDriven:!!n&&n.isDataDriven,this.hasDataDrivenOutline=(o?this.hasDataDrivenOutlineColor:this.hasDataDrivenColor)||this.hasDataDrivenOpacity,this.fillMaterial=new g(this.computeAttributesKey(1,g.ATTRIBUTES,g.ATTRIBUTES_INFO)),this.outlineMaterial=new d(this.computeAttributesKey(2,this.outlineUsesFillColor?d.ATTRIBUTES_FILL:d.ATTRIBUTES_OUTLINE,this.outlineUsesFillColor?d.ATTRIBUTES_INFO_FILL:d.ATTRIBUTES_INFO_OUTLINE),this.outlineUsesFillColor)}getFeatureInflatedBounds(t,e,r,i){const n=zt(t);if(!n)return null;const a=this.getPaintValue("fill-translate",e,t),s=i*Math.max(a[0],a[1]);return n[0]-=s,n[2]-=s,n[1]+=s,n[3]+=s,n}isIntersectingFeature(t,e,r,i,s,o,l){const u=i.getGeometry();if(!u)return!1;const c=n.ih/l.normalizationRatio;t=t/l.normalizationRatio+l.normalizationOffsetX,e=e/l.normalizationRatio+l.normalizationOffsetY;const h=(0,a.yM)(this.getPaintValue("fill-translate",s,i),this.getPaintValue("fill-translate-anchor",s,i),o,n.ih);return t-=c*h.x,e-=c*h.y,!!(0,a.s3)(t,e,u)||(0,a.ru)(t,e,u,r)}}class Ot extends Mt{constructor(t,e,r,i){super(t,e,r,i);const n=this.getPaintProperty("line-pattern");if(this.lineMaterial=new _(this.computeAttributesKey(3,_.ATTRIBUTES,_.ATTRIBUTES_INFO,n?"line-dasharray":"")),this.hasDataDrivenLine=this.getPaintProperty("line-blur")?.isDataDriven||this.getPaintProperty("line-color")?.isDataDriven||this.getPaintProperty("line-gap-width")?.isDataDriven||this.getPaintProperty("line-offset")?.isDataDriven||this.getPaintProperty("line-opacity")?.isDataDriven||this.getPaintProperty("line-pattern")?.isDataDriven||this.getPaintProperty("line-dasharray")?.isDataDriven||this.getLayoutProperty("line-cap")?.isDataDriven||this.getPaintProperty("line-width")?.isDataDriven,this.canUseThinTessellation=!1,!this.hasDataDrivenLine){const t=this.getPaintProperty("line-width");if(!t||"number"==typeof t&&.5*t<At.Gh){const t=this.getPaintProperty("line-offset");(!t||"number"==typeof t&&0===t)&&(this.canUseThinTessellation=!0)}}}getDashKey(t,e){let r;switch(e){case 0:default:r="Butt";break;case 1:r="Round";break;case 2:r="Square"}return`dasharray-[${t.toString()}]-${r}`}getFeatureInflatedBounds(t,e,r,i){const n=zt(t);if(!n)return null;const a=this.getPaintValue("line-translate",e,t),s=i*Math.max(a[0],a[1]);n[0]-=s,n[2]-=s,n[1]+=s,n[3]+=s;const o=i*Math.abs(this.getPaintValue("line-offset",e,t)||0),l=i*(this.getPaintValue("line-width",e,t)/2);return n[0]-=o+l,n[1]-=o+l,n[2]+=o+l,n[3]+=o+l,n}isIntersectingFeature(t,e,r,i,s,o,l){let u=i.getGeometry();if(!u)return!1;const c=n.ih/l.normalizationRatio;t=t/l.normalizationRatio+l.normalizationOffsetX,e=e/l.normalizationRatio+l.normalizationOffsetY;const h=(0,a.yM)(this.getPaintValue("line-translate",s,i),this.getPaintValue("line-translate-anchor",s,i),o,n.ih);t-=c*h.x,e-=c*h.y;const p=c*this.getPaintValue("line-offset",s,i)||0;0!==p&&(u=(0,a.cP)(u,-p));const y=this.getPaintValue("line-width",s,i);return(0,a.ru)(t,e,u,c*(y/2)+r)}}class Ut extends Mt{constructor(t,e,r,i){super(t,e,r,i),this.iconMaterial=new w(this.computeAttributesKey(4,w.ATTRIBUTES,w.ATTRIBUTES_INFO)),this.textMaterial=new x(this.computeAttributesKey(6,x.ATTRIBUTES,x.ATTRIBUTES_INFO)),this.hasDataDrivenIcon=this.getPaintProperty("icon-color")?.isDataDriven||this.getPaintProperty("icon-halo-blur")?.isDataDriven||this.getPaintProperty("icon-halo-color")?.isDataDriven||this.getPaintProperty("icon-halo-width")?.isDataDriven||this.getPaintProperty("icon-opacity")?.isDataDriven||this.getLayoutProperty("icon-size")?.isDataDriven,this.hasDataDrivenText=this.getPaintProperty("text-color")?.isDataDriven||this.getPaintProperty("text-halo-blur")?.isDataDriven||this.getPaintProperty("text-halo-color")?.isDataDriven||this.getPaintProperty("text-halo-width")?.isDataDriven||this.getPaintProperty("text-opacity")?.isDataDriven||this.getLayoutProperty("text-size")?.isDataDriven}}class Rt extends Mt{constructor(t,e,r,i){super(t,e,r,i),this.circleMaterial=new m(this.computeAttributesKey(5,m.ATTRIBUTES,m.ATTRIBUTES_INFO))}getFeatureInflatedBounds(t,e,r,i){const a=zt(t);if(!a)return null;const s=this.getPaintValue("circle-translate",e,t),o=Math.max(s[0],s[1]);a[0]-=o,a[2]-=o,a[1]+=o,a[3]+=o;const l=i*(n.ih*(this.getPaintValue("circle-radius",e,t)+this.getPaintValue("circle-stroke-width",e,t))/2);return a[0]-=l,a[1]-=l,a[2]+=l,a[3]+=l,a}isIntersectingFeature(t,e,r,i,s,o,l){const u=i.getGeometry();if(!u)return!1;const c=n.ih/l.normalizationRatio;t=t/l.normalizationRatio+l.normalizationOffsetX,e=e/l.normalizationRatio+l.normalizationOffsetY;const h=(0,a.yM)(this.getPaintValue("circle-translate",s,i),this.getPaintValue("circle-translate-anchor",s,i),o,c),p=c*(this.getPaintValue("circle-radius",s,i)+this.getPaintValue("circle-stroke-width",s,i));let y,f;for(const i of u)if(i)for(const n of i)if(y=n.x+h.x,f=n.y+h.y,Math.sqrt((t-y)*(t-y)+(e-f)*(e-f))-r<=p)return!0;return!1}}class Nt{constructor(t,e,r){let i;this.allowOverlap=t.getLayoutValue("icon-allow-overlap",e),this.ignorePlacement=t.getLayoutValue("icon-ignore-placement",e),this.keepUpright=t.getLayoutValue("icon-keep-upright",e),this.optional=t.getLayoutValue("icon-optional",e),this.rotationAlignment=t.getLayoutValue("icon-rotation-alignment",e),2===this.rotationAlignment&&(this.rotationAlignment=r?0:1),i=t.getLayoutProperty("icon-anchor"),i?.isDataDriven?this._anchorProp=i:this.anchor=t.getLayoutValue("icon-anchor",e),i=t.getLayoutProperty("icon-offset"),i?.isDataDriven?this._offsetProp=i:this.offset=t.getLayoutValue("icon-offset",e),i=t.getLayoutProperty("icon-padding"),i?.isDataDriven?this._paddingProp=i:this.padding=t.getLayoutValue("icon-padding",e),i=t.getLayoutProperty("icon-rotate"),i?.isDataDriven?this._rotateProp=i:this.rotate=t.getLayoutValue("icon-rotate",e),i=t.getLayoutProperty("icon-size"),i?.isDataDriven?this._sizeProp=i:this.size=t.getLayoutValue("icon-size",e)}update(t,e){this._anchorProp&&(this.anchor=this._anchorProp.getValue(t,e)),this._offsetProp&&(this.offset=this._offsetProp.getValue(t,e)),this._paddingProp&&(this.padding=this._paddingProp.getValue(t,e)),this._rotateProp&&(this.rotate=this._rotateProp.getValue(t,e)),this._sizeProp&&(this.size=this._sizeProp.getValue(t,e))}}class Bt{constructor(t,e,r){let i;this.allowOverlap=t.getLayoutValue("text-allow-overlap",e),this.ignorePlacement=t.getLayoutValue("text-ignore-placement",e),this.keepUpright=t.getLayoutValue("text-keep-upright",e),this.optional=t.getLayoutValue("text-optional",e),this.rotationAlignment=t.getLayoutValue("text-rotation-alignment",e),2===this.rotationAlignment&&(this.rotationAlignment=r?0:1),i=t.getLayoutProperty("text-anchor"),i?.isDataDriven?this._anchorProp=i:this.anchor=t.getLayoutValue("text-anchor",e),i=t.getLayoutProperty("text-justify"),i?.isDataDriven?this._justifyProp=i:this.justify=t.getLayoutValue("text-justify",e),i=t.getLayoutProperty("text-letter-spacing"),i?.isDataDriven?this._letterSpacingProp=i:this.letterSpacing=t.getLayoutValue("text-letter-spacing",e),i=t.getLayoutProperty("text-line-height"),i?.isDataDriven?this._lineHeightProp=i:this.lineHeight=t.getLayoutValue("text-line-height",e),i=t.getLayoutProperty("text-max-angle"),i?.isDataDriven?this._maxAngleProp=i:this.maxAngle=t.getLayoutValue("text-max-angle",e),i=t.getLayoutProperty("text-max-width"),i?.isDataDriven?this._maxWidthProp=i:this.maxWidth=t.getLayoutValue("text-max-width",e),i=t.getLayoutProperty("text-offset"),i?.isDataDriven?this._offsetProp=i:this.offset=t.getLayoutValue("text-offset",e),i=t.getLayoutProperty("text-padding"),i?.isDataDriven?this._paddingProp=i:this.padding=t.getLayoutValue("text-padding",e),i=t.getLayoutProperty("text-rotate"),i?.isDataDriven?this._rotateProp=i:this.rotate=t.getLayoutValue("text-rotate",e),i=t.getLayoutProperty("text-size"),i?.isDataDriven?this._sizeProp=i:this.size=t.getLayoutValue("text-size",e),i=t.getLayoutProperty("text-writing-mode"),i?.isDataDriven?this._writingModeProp=i:this.writingMode=t.getLayoutValue("text-writing-mode",e)}update(t,e){this._anchorProp&&(this.anchor=this._anchorProp.getValue(t,e)),this._justifyProp&&(this.justify=this._justifyProp.getValue(t,e)),this._letterSpacingProp&&(this.letterSpacing=this._letterSpacingProp.getValue(t,e)),this._lineHeightProp&&(this.lineHeight=this._lineHeightProp.getValue(t,e)),this._maxAngleProp&&(this.maxAngle=this._maxAngleProp.getValue(t,e)),this._maxWidthProp&&(this.maxWidth=this._maxWidthProp.getValue(t,e)),this._offsetProp&&(this.offset=this._offsetProp.getValue(t,e)),this._paddingProp&&(this.padding=this._paddingProp.getValue(t,e)),this._rotateProp&&(this.rotate=this._rotateProp.getValue(t,e)),this._sizeProp&&(this.size=this._sizeProp.getValue(t,e)),this._writingModeProp&&(this.writingMode=this._writingModeProp.getValue(t,e))}}function zt(t){const e=t?.getGeometry();if(null==e)return null;let r=1/0,n=1/0,a=-1/0,s=-1/0;for(const t of e)if(t)for(const e of t)r=Math.min(r,e.x),n=Math.min(n,e.y),a=Math.max(a,e.x),s=Math.max(s,e.y);return(0,i.fA)(r,n,a,s)}},45013(t,e,r){r.d(e,{A:()=>a});var i=r(4718),n=r(4264);class a{constructor(t,e=!0){if(this.backgroundBucketIds=[],this._uidToLayer=new Map,this._layerByName={},this._runningId=0,this._style=e?(0,i.o8)(t):t,this._style.layers||(this._style.layers=[]),this.version=parseFloat(this._style.version),this.layers=this._style.layers.map((t,e,r)=>this._create(t,e,r)).filter(t=>!!t),this.layers)for(let t=0;t<this.layers.length;t++){const e=this.layers[t];this._layerByName[e.id]=e,this._uidToLayer.set(e.uid,e),0===e.type&&this.backgroundBucketIds.push(e.id)}this._identifyRefLayers()}getLayerStyleProperties(t,e){const r=this.getStyleLayerByUID(t),i=0!==r?.getLayoutValue("symbol-placement",e);let n=r?.getLayoutValue("icon-rotation-alignment",e);2===n&&(n=i?0:1);let a=r?.getLayoutValue("text-rotation-alignment",e);2===a&&(a=i?0:1);const s=r?.getPaintValue("icon-translate",e),o=r?.getPaintValue("icon-translate-anchor",e),l=r?.getPaintValue("text-translate",e),u=r?.getPaintValue("text-translate-anchor",e);return{geometryType:null,iconAllowOverlap:r?.getLayoutValue("icon-allow-overlap",e),iconIgnorePlacement:r?.getLayoutValue("icon-ignore-placement",e),textAllowOverlap:r?.getLayoutValue("text-allow-overlap",e),textIgnorePlacement:r?.getLayoutValue("text-ignore-placement",e),iconRotationAlignment:n,textRotationAlignment:a,iconTranslateAnchor:o,iconTranslate:s,textTranslateAnchor:u,textTranslate:l}}isPainterDataDriven(t){const e=this._layerByName[t];return!!e&&e.isPainterDataDriven()}getStyleLayerId(t){return t>=this.layers.length?null:this.layers[t].id}getStyleLayerByUID(t){return this._uidToLayer.get(t)??null}getStyleLayerIndex(t){const e=this._layerByName[t];return e?this.layers.indexOf(e):-1}setStyleLayer(t,e){if(!t?.id)return;const r=this._style;null!=e&&e>=this.layers.length&&(e=this.layers.length-1);let i,n=!0;const s=this._layerByName[t.id];if(s){const o=this.layers.indexOf(s);e||(e=o),e===o?(n=!1,i=a._recreateLayer(t,s),this.layers[e]=i,r.layers[e]=t):(this.layers.splice(o,1),r.layers.splice(o,1),i=this._create(t,e,this.layers),this.layers.splice(e,0,i),r.layers.splice(e,0,t))}else i=this._create(t,e,this.layers),!e||e>=this.layers.length?(this.layers.push(i),r.layers.push(t)):(this.layers.splice(e,0,i),r.layers.splice(e,0,t));this._layerByName[t.id]=i,this._uidToLayer.set(i.uid,i),n&&this._recomputeZValues(),this._identifyRefLayers()}getStyleLayer(t){const e=this._layerByName[t];return e?{type:e.typeName,id:e.id,source:e.source,"source-layer":e.sourceLayer,minzoom:e.minzoom,maxzoom:e.maxzoom,filter:e.filter,layout:e.layout,paint:e.paint}:null}deleteStyleLayer(t){const e=this._layerByName[t];if(e){delete this._layerByName[t],this._uidToLayer.delete(e.uid);const r=this.layers.indexOf(e);this.layers.splice(r,1),this._style.layers.splice(r,1),this._recomputeZValues(),this._identifyRefLayers()}}getLayerById(t){return this._layerByName[t]}getLayoutProperties(t){const e=this._layerByName[t];return e?e.layout:null}getPaintProperties(t){const e=this._layerByName[t];return e?e.paint:null}setPaintProperties(t,e){const r=this._layerByName[t];if(!r)return;const i={type:r.typeName,id:r.id,source:r.source,"source-layer":r.sourceLayer,minzoom:r.minzoom,maxzoom:r.maxzoom,filter:r.filter,layout:r.layout,paint:e},n=a._recreateLayer(i,r),s=this.layers.indexOf(r);this.layers[s]=n,this._style.layers[s].paint=e,this._layerByName[r.id]=n,this._uidToLayer.set(r.uid,n)}setLayoutProperties(t,e){const r=this._layerByName[t];if(!r)return;const i={type:r.typeName,id:r.id,source:r.source,"source-layer":r.sourceLayer,minzoom:r.minzoom,maxzoom:r.maxzoom,filter:r.filter,layout:e,paint:r.paint},n=a._recreateLayer(i,r),s=this.layers.indexOf(r);this.layers[s]=n,this._style.layers[s].layout=e,this._layerByName[r.id]=n,this._uidToLayer.set(r.uid,n)}setStyleLayerVisibility(t,e){const r=this._layerByName[t];if(!r)return;const i=r.layout||{};i.visibility=e;const n={type:r.typeName,id:r.id,source:r.source,"source-layer":r.sourceLayer,minzoom:r.minzoom,maxzoom:r.maxzoom,filter:r.filter,layout:i,paint:r.paint},s=a._recreateLayer(n,r),o=this.layers.indexOf(r);this.layers[o]=s,this._style.layers[o].layout=i,this._layerByName[r.id]=s,this._uidToLayer.set(r.uid,s)}getStyleLayerVisibility(t){const e="string"==typeof t?this._layerByName[t]:this._uidToLayer.get(t);if(!e)return!1;const r=e.getLayoutProperty("visibility");return!r||1!==r.getValue()}_recomputeZValues(){const t=this.layers,e=1/(t.length+1);for(let r=0;r<t.length;r++)t[r].z=1-(1+r)*e}_identifyRefLayers(){const t=[],e=[];let r=0;for(const i of this.layers){const n=i.layout;if(1===i.type){const e=i;let a=i.source+"|"+i.sourceLayer;a+="|"+(n?.visibility??""),a+="|"+i.minzoom,a+="|"+i.maxzoom,a+="|"+JSON.stringify(i.filter),(e.hasDataDrivenFill||e.hasDataDrivenOutline)&&(a+="|"+r),t.push({key:a,layer:i})}else if(2===i.type){const t=i,a=i.paint,s=null!=a&&(null!=a["line-pattern"]||null!=a["line-dasharray"]);let o=i.source+"|"+i.sourceLayer;o+="|"+(n?.visibility??""),o+="|"+i.minzoom,o+="|"+i.maxzoom,o+="|"+JSON.stringify(i.filter),o+="|"+(void 0!==n?n["line-cap"]:""),o+="|"+(void 0!==n?n["line-join"]:""),(t.hasDataDrivenLine||s)&&(o+="|"+r),e.push({key:o,layer:i})}++r}this._assignRefLayers(t),this._assignRefLayers(e)}_assignRefLayers(t){let e,r;t.sort((t,e)=>t.key<e.key?-1:t.key>e.key?1:0);const i=t.length;for(let n=0;n<i;n++){const a=t[n];if(a.key===e)a.layer.refLayerId=r;else if(e=a.key,r=a.layer.id,1===a.layer.type){if(!a.layer.getPaintProperty("fill-outline-color"))for(let s=n+1;s<i;s++){const i=t[s];if(i.key!==e)break;if(i.layer.getPaintProperty("fill-outline-color")){t[n]=i,t[s]=a,r=i.layer.id;break}}}else if(2===a.layer.type){let s=a.layer;for(let o=n+1;o<i;o++){const i=t[o];if(i.key!==e)break;const l=i.layer;(s.canUseThinTessellation&&!l.canUseThinTessellation||!s.canUseThinTessellation&&(l.getPaintProperty("line-pattern")||l.getPaintProperty("line-dasharray")))&&(s=l,t[n]=i,t[o]=a,r=i.layer.id)}}}}_create(t,e,r){const i=1-(1+e)*(1/(r.length+1)),a=this._runningId++;switch(t.type){case"background":return new n.lf(0,t,i,a);case"fill":return new n.A4(1,t,i,a);case"line":return new n.tU(2,t,i,a);case"symbol":return new n.V1(3,t,i,a);case"raster":return console.warn(`Unsupported vector tile raster layer ${t.id}`),null;case"circle":return new n.L(4,t,i,a)}return null}static _recreateLayer(t,e){switch(t.type){case"background":return new n.lf(0,t,e.z,e.uid);case"fill":return new n.A4(1,t,e.z,e.uid);case"line":return new n.tU(2,t,e.z,e.uid);case"symbol":return new n.V1(3,t,e.z,e.uid);case"raster":return console.warn(`Unsupported vector tile raster layer ${t.id}`),null;case"circle":return new n.L(4,t,e.z,e.uid)}return null}}},85079(t,e,r){r.d(e,{Sk:()=>s,Xk:()=>n,_u:()=>a});var i=r(21818);function n(t){let e=0;return(0,i.z)(new Map(t.map(({name:t,count:r})=>{const i=[t,e];return 16===r?e+=4:9===r?e+=3:++e,i})))}function a(t){const e=new Map;let r=0;return t.forEach(t=>t.forEach(({name:t,count:i})=>{e.set(t,r),16===i?r+=4:9===i?r+=3:++r})),e}function s(t){return a(Array.from(t.values()).map(({layout:t})=>t))}},74038(t,e,r){r.d(e,{_:()=>i});class i{constructor(t,e,r,i,n,a=!1,s=0,o=!1){this.name=t,this.count=e,this.type=r,this.offset=i,this.stride=n,this.normalized=a,this.divisor=s,this.integer=o}}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[8692],{28692(e,t,i){i.r(t),i.d(t,{default:()=>U});var a=i(5482),s=i(79842),r=i(7762),n=i(49186),o=i(53966),l=i(91869),d=i(25728),h=i(17676),p=i(36708),u=i(84952),y=i(13069),c=i(91429),g=i(35666),f=i(4146),m=i(24137),w=i(62796),M=i(40736),b=i(18768),T=i(63074),v=i(69208),_=i(34287),D=i(8303),I=i(54310),A=i(25036),C=i(10873),L=i(54628),P=i(53902),S=i(97159),E=i(56400),k=i(36005),N=i(43937);let G=class extends((0,T.dM)((0,A.j)((0,I.J)((0,b.b)((0,_.q)((0,D.A)((0,d.M)((0,v.d)(f.A))))))))){constructor(e){super(e),this._graphTypeLookup=new Map,this._namedTypesModified=!1,this._idMapCreationDate=null,this.dataManager=null,this.definitionSetMap=null,this.knowledgeGraph=null,this.layers=new(r.A.ofType(w.A)),this.memberEntityTypes=null,this.memberRelationshipTypes=null,this.operationalLayerType="KnowledgeGraphLayer",this.sublayerIdsCache=new Map,this.tables=new(r.A.ofType(w.A)),this.type="knowledge-graph",this.url=null,!e?.title&&e?.url&&(this.title=(0,M.$L)(e.url)),this.addHandles((0,p.wB)(()=>this.layers.concat(this.tables),(e,t)=>this._handleSublayersChange(e,t),p.OH))}load(e){return this.addResolvingPromise(this._doLoad(e)),Promise.resolve(this)}async _doLoad(e){try{await this.loadFromPortal({supportedTypes:["Knowledge Graph Layer"]},e)}catch(e){(0,h.QP)(e)}await this._fetchMetadata(e),await this._initializeLayerProperties(e),this.loadLayerAssumingLocalCache(),this._layersLoadedFromAuthoritativeItem()||await(0,M.qN)(this)}async _fetchMetadata(e){if(!this.url)throw new n.A("knowledge-graph:missing-url","KnowledgeGraphLayer must be created with a url");const t=await(0,P.fetchKnowledgeGraph)(this.url);this.knowledgeGraph=t;const{edit:i,fullEdit:a,updateItem:s}=await(0,M.N1)(t.serviceDefinition.serviceItemId,this.url,e);this._set("userHasEditingPrivileges",i),this._set("userHasFullEditingPrivileges",a),this._set("userHasUpdateItemPrivileges",s),this.read({dateFieldsTimeReference:t.serviceDefinition.dateFieldsTimeReference},{origin:"service"}),this._forEachGraphType(e=>{e.name&&this._graphTypeLookup.set(e.name,e)})}async _initializeLayerProperties(e){7===this.originIdOf("inclusionModeDefinition")?this._validateInclusionModeDefinition():await this._initializeInclusionModeDefinition(e),this._setMemberTypes(),this.dataManager=new m.P({knowledgeGraph:this.knowledgeGraph,inclusionModeDefinition:this.inclusionModeDefinition})}async _initializeInclusionModeDefinition(e){this._idMapCreationDate=(await(0,L.lV)([this.definitionSetMap??""],this.portalItem?.itemUrl??"")).get(this.definitionSetMap??"")??null;const t=this.definitionSetMap?await(0,s.cZ)(this.definitionSetMap,!0,e?.signal?{signal:e.signal}:void 0):{generateAllSublayers:!0,namedTypeDefinitions:new Map};[...this.layers.toArray(),...this.tables.toArray()].forEach(e=>{const i=this._graphTypeLookup.get(e.graphTypeName);i&&!t.namedTypeDefinitions.has(i.name)&&t.namedTypeDefinitions.set(i.name,{useAllData:!0})}),this.setAtOrigin("inclusionModeDefinition",t,(0,g.OL)(this.originIdOf("definitionSetMap")))}_validateInclusionModeDefinition(){const{inclusionModeDefinition:e}=this;if(!e)return;const{namedTypeDefinitions:t}=e;if(t?.size>0)t.forEach((e,i)=>{const a=this._graphTypeLookup.get(i);if(!a)return o.A.getLogger(this).warn(`A named type, ${i}, was in the inclusion list that wasn't in the data model and will be removed`),void t.delete(i);"relationship"!==a.type&&"entity"!==a.type&&(o.A.getLogger(this).warn(`A named type, ${i}, was in the inclusion list that wasn't properly modeled and will be removed`),t.delete(i))});else if(!e.generateAllSublayers)throw new n.A("knowledge-graph:composite-layer-constructor","If an explicit inclusion definition is defined, at least one namedTypeDefinition must also be defined")}_setMemberTypes(){let e=[],t=[];const{inclusionModeDefinition:i}=this,a=i?.namedTypeDefinitions;!i||i.generateAllSublayers?(e=this.knowledgeGraph.dataModel?.entityTypes??[],t=this.knowledgeGraph.dataModel?.relationshipTypes??[]):a&&a.size>0&&a.forEach((i,a)=>{const s=this._graphTypeLookup.get(a);switch(s?.type){case"relationship":t.push(s);break;case"entity":e.push(s)}}),this.memberEntityTypes=e,this.memberRelationshipTypes=t}_forEachGraphType(e){[...this.knowledgeGraph.dataModel?.entityTypes??[],...this.knowledgeGraph.dataModel?.relationshipTypes??[]].forEach(t=>{e(t)})}_refreshNamedTypes(){this._namedTypesModified=!0;for(const e of this.layers)e.emit("refresh",{dataChanged:!0});for(const e of this.tables)e.emit("refresh",{dataChanged:!0})}async _handleNewRecords(e){const t=new Set,i=[];for(const a of e)this._graphTypeLookup.has(a.typeName)&&(!1===this.layers.concat(this.tables).some(e=>e.objectType.name===a.typeName)&&(this.dataManager.sublayerCaches.set(a.typeName,new Map),t.add(a.typeName)),(0,l.tE)(this.sublayerIdsCache,a.typeName,()=>new Set).add(a.id),i.push(a));this.dataManager.addToLayer(i);for(const e of t){const t=this._graphTypeLookup.get(e);t&&(this._addSublayer(t),"entity"===t.type?this.dataManager.entityTypeNames.add(e):this.dataManager.relationshipTypeNames.add(e))}await(0,M.qN)(this,Array.from(t)),this._refreshNamedTypes()}_createSublayers(e,t,i){e.forEach(e=>{const a=this._createSublayer(e);i(a)&&t.push(a),this._updateSublayerCaches(e)})}_addSublayer(e){const t=this._createSublayer(e);return t.geometryType?this.layers.push(t):this.tables.push(t),t}_createSublayer(e){return new w.A({objectType:e,parentCompositeLayer:this,graphType:e.type})}_updateSublayers(e,t){t.forEach(t=>{t.parentCompositeLayer=this;const i=e.find(e=>e.type===t.graphType&&e.name===t.graphTypeName);i&&(t.objectType=i,this._updateSublayerCaches(i))})}_updateSublayerCaches({name:e}){if(!e)return;const t=this.dataManager.sublayerCaches;t.has(e)||t.set(e,new Map)}_saveUrlAsNewResource(e,t,i,a,r,n){(async function(e){const t=await(0,s.fe)(e);return new Blob([t],{type:"application/x-protobuf"})})(this.inclusionModeDefinition).then(s=>{const n=function(e){const t=`definitionSetMap-${(0,y.lk)()}.dat`,i=(0,u.fj)("knowledgeGraphLayer",t);return e.resourceFromPath(i)}(a);e[t]=n.itemRelativeUrl,i.toAdd.push({resource:n,content:{type:"blob",blob:s},compress:!1,finish:e=>{this.definitionSetMap=e.url}}),r()}).catch(e=>{n(e)})}_displaysAllRecords(e){for(const[,{useAllData:t}]of e.namedTypeDefinitions)if(!t)return!1;return!0}_handleSublayersChange(e,t){t&&(t.forEach(e=>{e.parent=null}),this.removeHandles("sublayers-owner")),e&&(e.forEach(e=>{e.parent=this}),this.addHandles([e.on("after-add",({item:e})=>{e.parent=this}),e.on("after-remove",({item:e})=>{e.parent=null})],"sublayers-owner"))}_layersLoadedFromAuthoritativeItem(){const e=this.originIdOf("layers");return e>=3&&e<7}readDefinitionSetMap(e,t,i){return(0,S.a)(e,i)}writeDefinitionSetMap(e,t,i,a){const s=a?.portalItem,r=a?.resources,n=(0,g.aB)(a?.origin);t[i]="<pending>",r?.pendingOperations.push(new Promise((o,l)=>{(0,L.zI)(e??"",s?.itemUrl??"",this._idMapCreationDate).then(d=>{if(!s||!r||null==n)return e&&(t[i]=(0,S.c)(e,a)),void o();const{inclusionModeDefinition:h}=this;if(!h||this._displaysAllRecords(h))return this.definitionSetMap=null,void o();const p=this.originIdOf("inclusionModeDefinition");if(7===p||this._namedTypesModified||!d||n<p)this._saveUrlAsNewResource(t,i,r,s,o,l);else{if(n===p&&e){const n=(0,S.c)(e,a);return void((0,u.oP)(n)?this._saveUrlAsNewResource(t,i,r,s,o,l):(t[i]=n,o()))}o()}}).catch(e=>{l(e)})}))}set inclusionModeDefinition(e){"loaded"!==this.loadStatus&&"failed"!==this.loadStatus?this._set("inclusionModeDefinition",e):o.A.getLogger(this).error("#inclusionModeDefinition","inclusionModeDefinition cannot be changed after the layer is loaded.")}get sublayerCapabilities(){return(0,M.hZ)(this.knowledgeGraph)}loadLayerAssumingLocalCache(){const e=[...this.memberEntityTypes,...this.memberRelationshipTypes];this.layers.length||0===this.originIdOf("tables")?0===this.originIdOf("layers")?this._createSublayers(e,this.layers,e=>!!e.geometryType):this._updateSublayers(e,this.layers):this.layers=new r.A,this.tables.length||0===this.originIdOf("layers")?0===this.originIdOf("tables")?this._createSublayers(e,this.tables,e=>!e.geometryType):this._updateSublayers(e,this.tables):this.tables=new r.A,this.dataManager.inclusionModeDefinition?.namedTypeDefinitions?.forEach((e,t)=>{const i=(0,l.tE)(this.sublayerIdsCache,t,()=>new Set);e.members?.forEach(e=>{i.add(e.id)})})}async addRecords(e){await this.load(),await this._handleNewRecords(e)}async createSublayerForNamedType(e){await this.load();const t=this._graphTypeLookup.get(e);if(!t)throw new n.A("knowledge-graph:missing-type","The specified type does not exist in the layer's graph data model.");if(this.dataManager.sublayerCaches.has(e))throw new n.A("knowledge-graph:duplicate-type","The specified type already exists as a sublayer.");this.dataManager.sublayerCaches.set(e,new Map),(0,l.tE)(this.sublayerIdsCache,e,()=>new Set);const i=this._addSublayer(t);return"entity"===t.type?this.dataManager.entityTypeNames.add(e):this.dataManager.relationshipTypeNames.add(e),this.dataManager.inclusionModeDefinition&&this.dataManager.inclusionModeDefinition.namedTypeDefinitions.set(e,{useAllData:!0}),await(0,M.qN)(this,[e]),this._refreshNamedTypes(),i}convertSublayerToDynamicData(e){if(!this.dataManager.inclusionModeDefinition)throw new n.A("knowledge-graph:fully-dynamic-membership","This Knowledge Graph Layer already uses fully dynamic membership, individual sublayers cannot be converted");if(!this._graphTypeLookup.get(e))throw new n.A("knowledge-graph:missing-type","The specified type does not exist in the layer's graph data model.");if(!this.dataManager.sublayerCaches.has(e))throw new n.A("knowledge-graph:duplicate-type","The specified type does not exist as a sublayer.");const t=this.dataManager.inclusionModeDefinition.namedTypeDefinitions.get(e);t?.useAllData?o.A.getLogger(this).warn("This Knowledge Graph Layer already uses dynamic membership for the sublayer - no conversion was made"):(this.dataManager.inclusionModeDefinition.namedTypeDefinitions.set(e,{useAllData:!0}),this.sublayerIdsCache.delete(e),this._refreshNamedTypes())}convertSublayerToExplicitMembership(e){if(!this.dataManager.inclusionModeDefinition)throw new n.A("knowledge-graph:fully-dynamic-membership","This Knowledge Graph Layer already uses fully dynamic membership, individual sublayers cannot be converted");if(!this._graphTypeLookup.get(e))throw new n.A("knowledge-graph:missing-type","The specified type does not exist in the layer's graph data model.");const t=this.dataManager.inclusionModeDefinition.namedTypeDefinitions.get(e);if(!t||t.useAllData){if(!this.dataManager.sublayerCaches.has(e))throw new n.A("knowledge-graph:duplicate-type","The specified type does not exist as a sublayer.");this.sublayerIdsCache.set(e,new Set),this.dataManager.inclusionModeDefinition.namedTypeDefinitions.set(e,{useAllData:!1,members:new Map}),this._refreshNamedTypes()}else o.A.getLogger(this).warn("This Knowledge Graph Layer already uses explicit membership for the sublayer - no conversion was made")}convertToFullyDynamicData(){this.dataManager.inclusionModeDefinition?(this.sublayerIdsCache.clear(),this.dataManager.inclusionModeDefinition=null,this._set("inclusionModeDefinition",this.dataManager.inclusionModeDefinition),this._refreshNamedTypes()):o.A.getLogger(this).warn("This Knowledge Graph Layer already uses fully dynamic membership - no conversion was made")}convertToExplicitMembership(){if(this.dataManager.inclusionModeDefinition&&this.dataManager.inclusionModeDefinition.namedTypeDefinitions.size>0&&[...this.dataManager.inclusionModeDefinition.namedTypeDefinitions.values()].every(e=>!1===e.useAllData))o.A.getLogger(this).warn("This Knowledge Graph Layer already uses explicit membership - no conversion was made");else{this.dataManager.inclusionModeDefinition={generateAllSublayers:!1,namedTypeDefinitions:new Map};for(const e of this.dataManager.sublayerCaches.keys())(0,l.tE)(this.sublayerIdsCache,e,()=>new Set),this.dataManager.inclusionModeDefinition.namedTypeDefinitions.set(e,{useAllData:!1,members:new Map});this._set("inclusionModeDefinition",this.dataManager.inclusionModeDefinition),this._refreshNamedTypes()}}async removeRecords(e){await this.load();const t=[];for(const i of e)!1===this.dataManager.inclusionModeDefinition?.namedTypeDefinitions?.get(i.typeName)?.useAllData&&this.dataManager.inclusionModeDefinition?.namedTypeDefinitions?.get(i.typeName)?.members?.has(i.id)&&t.push(i);this.dataManager.removeFromLayer(t);for(const e of t)this.sublayerIdsCache.get(e.typeName)?.delete(e.id);return this._refreshNamedTypes(),t}};(0,a.Cg)([(0,c.MZ)()],G.prototype,"dataManager",void 0),(0,a.Cg)([(0,c.MZ)({json:{write:{ignoreOrigin:!0,writerEnsuresNonNull:!0}}})],G.prototype,"definitionSetMap",void 0),(0,a.Cg)([(0,k.w)("definitionSetMap")],G.prototype,"readDefinitionSetMap",null),(0,a.Cg)([(0,N.K)("definitionSetMap")],G.prototype,"writeDefinitionSetMap",null),(0,a.Cg)([(0,c.MZ)()],G.prototype,"inclusionModeDefinition",null),(0,a.Cg)([(0,c.MZ)()],G.prototype,"knowledgeGraph",void 0),(0,a.Cg)([(0,c.MZ)({type:r.A.ofType(w.A),json:{write:{ignoreOrigin:!0}}})],G.prototype,"layers",void 0),(0,a.Cg)([(0,c.MZ)()],G.prototype,"memberEntityTypes",void 0),(0,a.Cg)([(0,c.MZ)()],G.prototype,"memberRelationshipTypes",void 0),(0,a.Cg)([(0,c.MZ)({type:["KnowledgeGraphLayer"]})],G.prototype,"operationalLayerType",void 0),(0,a.Cg)([(0,c.MZ)()],G.prototype,"sublayerCapabilities",null),(0,a.Cg)([(0,c.MZ)()],G.prototype,"sublayerIdsCache",void 0),(0,a.Cg)([(0,c.MZ)({type:r.A.ofType(w.A),json:{write:{ignoreOrigin:!0}}})],G.prototype,"tables",void 0),(0,a.Cg)([(0,c.MZ)({json:{read:!1}})],G.prototype,"type",void 0),(0,a.Cg)([(0,c.MZ)(C.OZ)],G.prototype,"url",void 0),(0,a.Cg)([(0,c.MZ)((0,E.P6)("dateFieldsTimeReference"))],G.prototype,"dateFieldsTimeZone",void 0),G=(0,a.Cg)([(0,c.$K)("esri.layers.KnowledgeGraphLayer")],G);const U=G},18768(e,t,i){i.d(t,{b:()=>o});var a=i(5482),s=i(53966),r=i(91429),n=i(60694);const o=e=>{const t=e;let i=class extends t{get title(){if(this._get("title")&&"defaults"!==this.originOf("title"))return this._get("title");if(this.url){const e=(0,n.qg)(this.url);if(e?.title)return e.title}return this._get("title")||""}set title(e){this._set("title",e)}set url(e){this._set("url",(0,n.Jf)(e,s.A.getLogger(this)))}};return(0,a.Cg)([(0,r.MZ)()],i.prototype,"title",null),(0,a.Cg)([(0,r.MZ)({type:String})],i.prototype,"url",null),i=(0,a.Cg)([(0,r.$K)("esri.layers.mixins.ArcGISService")],i),i}},69208(e,t,i){i.d(t,{d:()=>r});var a=i(5482),s=i(91429);const r=e=>{const t=e;let i=class extends t{constructor(){super(...arguments),this.customParameters=null}};return(0,a.Cg)([(0,s.MZ)({type:Object,json:{write:{overridePolicy:e=>({enabled:!!(e&&Object.keys(e).length>0)})}}})],i.prototype,"customParameters",void 0),i=(0,a.Cg)([(0,s.$K)("esri.layers.mixins.CustomParametersMixin")],i),i}},8303(e,t,i){i.d(t,{A:()=>v});var a=i(5482),s=i(92602),r=i(70333),n=i(11254),o=i(60999),l=i(49186),d=i(36563),h=i(53966),p=i(97768),u=i(17676),y=i(84952),c=i(91429),g=i(77548),f=i(20655),m=i(80812),w=i(41318),M=i(10407),b=i(36005),T=i(43937);const v=e=>{const t=e;let v=class extends t{constructor(){super(...arguments),this.resourceReferences={portalItem:null,paths:[]},this.userHasEditingPrivileges=!0,this.userHasFullEditingPrivileges=!1,this.userHasUpdateItemPrivileges=!1}destroy(){this.portalItem=(0,p.pR)(this.portalItem),this.resourceReferences.portalItem=null,this.resourceReferences.paths.length=0}get portalItem(){return this._get("portalItem")}set portalItem(e){e!==this._get("portalItem")&&(this.removeOrigin("portal-item"),this._set("portalItem",e))}readPortalItem(e,t,i){if(t.itemId)return new m.default({id:t.itemId,portal:i?.portal})}writePortalItem(e,t){e?.id&&(t.itemId=e.id)}async loadFromPortal(e,t){if(this.portalItem?.id)try{const{load:a}=await i.e(1204).then(i.bind(i,41204));return(0,u.Te)(t),await a({instance:this,supportedTypes:e.supportedTypes,validateItem:e.validateItem,supportsData:e.supportsData,layerModuleTypeMap:e.layerModuleTypeMap,populateGroupLayer:e.populateGroupLayer},t)}catch(e){throw(0,u.zf)(e)||h.A.getLogger(this).warn(`Failed to load layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${e}`),e}}async reloadFromPortal(e){if(!this.loaded||!this.portalItem?.id)return!1;try{const{reload:t}=await i.e(1204).then(i.bind(i,41204)),a=new AbortController,s=(0,d.rE)(a);return this.addHandles(s,"reloadFromPortal"),await t({instance:this,supportedTypes:e.supportedTypes,validateItem:e.validateItem,supportsData:e.supportsData,layerModuleTypeMap:e.layerModuleTypeMap,populateGroupLayer:e.populateGroupLayer},{signal:a.signal})}catch(e){throw(0,u.zf)(e)||h.A.getLogger(this).warn(`Failed to reload layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${e}`),e}finally{this.removeHandles("reloadFromPortal")}}async finishLoadEditablePortalLayer(e){this._set("userHasEditingPrivileges",await this._fetchUserHasEditingPrivileges(e).catch(e=>((0,u.QP)(e),!0)))}async setUserPrivileges(e,t){if(!s.A.userPrivilegesApplied)return this.finishLoadEditablePortalLayer(t);if(this.url)try{const{features:{edit:i,fullEdit:a},content:{updateItem:s}}=await this._fetchUserPrivileges(e,t);this._set("userHasEditingPrivileges",i),this._set("userHasFullEditingPrivileges",a),this._set("userHasUpdateItemPrivileges",s)}catch(e){(0,u.QP)(e)}}async _fetchUserPrivileges(e,t){let i=this.portalItem;if(!e||!i||!i.loaded||i.sourceUrl)return this._fetchFallbackUserPrivileges(t);const a=!r.id?.findCredential(this.url),s=e===i.id;if(s&&i.portal.user)return this._getUserPrivileges(i,a);let n,o;if(s)n=i.portal.url;else try{n=await(0,g.wI)(this.url,t)}catch(e){(0,u.QP)(e)}if(!n||!(0,y.b8)(n,i.portal.url))return this._fetchFallbackUserPrivileges(t);try{const e=null!=t?t.signal:null;o=await(r.id?.getCredential(`${n}/sharing`,{prompt:!1,signal:e}))}catch(e){(0,u.QP)(e)}const l=!0,d=!1,h=!1;if(!o)return{features:{edit:l,fullEdit:d},content:{updateItem:h}};try{if(s?await i.reload():(i=new m.default({id:e,portal:{url:n}}),await i.load(t)),i.portal.user)return this._getUserPrivileges(i,a)}catch(e){(0,u.QP)(e)}return{features:{edit:l,fullEdit:d},content:{updateItem:h}}}_getUserPrivileges(e,t){const i=(0,M.It)(e);return t&&(i.features.edit=!0),i}async _fetchFallbackUserPrivileges(e){let t=!0;try{t=await this._fetchUserHasEditingPrivileges(e)}catch(e){(0,u.QP)(e)}return{features:{edit:t,fullEdit:!1},content:{updateItem:!1}}}async _fetchUserHasEditingPrivileges(e){const t=this.url?r.id?.findCredential(this.url):null;if(!t)return!0;const i=_.credential===t?_.user:await this._fetchEditingUser(e);return _.credential=t,_.user=i,null==i?.privileges||i.privileges.includes("features:user:edit")}async _fetchEditingUser(e){const t=this.portalItem?.portal?.user;if(t)return t;const i=r.id?.findServerInfo(this.url??"");if(!i?.owningSystemUrl)return null;const a=`${i.owningSystemUrl}/sharing/rest`,s=f.A.getDefault();if(s&&s.loaded&&(0,y.S8)(s.restUrl)===(0,y.S8)(a))return s.user;const l=`${a}/community/self`,d=null!=e?e.signal:null,h=await(0,o.Ke)((0,n.A)(l,{authMode:"no-prompt",query:{f:"json"},signal:d}));return h.ok?w.A.fromJSON(h.value.data):null}read(e,t){t&&(t.layer=this),super.read(e,t)}write(e,t){const i=t?.portal,a=this.portalItem?.id&&(this.portalItem.portal||f.A.getDefault());return i&&a&&!(0,y.ut)(a.restUrl,i.restUrl)?(t.messages&&t.messages.push(new l.A("layer:cross-portal",`The layer '${this.title} (${this.id})' cannot be persisted because it refers to an item on a different portal than the one being saved to. To save, set layer.portalItem to null or save to the same portal as the item associated with the layer`,{layer:this})),null):super.write(e,{...t,layer:this})}};return(0,a.Cg)([(0,c.MZ)({type:m.default})],v.prototype,"portalItem",null),(0,a.Cg)([(0,b.w)("web-document","portalItem",["itemId"])],v.prototype,"readPortalItem",null),(0,a.Cg)([(0,T.K)("web-document","portalItem",{itemId:{type:String}})],v.prototype,"writePortalItem",null),(0,a.Cg)([(0,c.MZ)({clonable:!1})],v.prototype,"resourceReferences",void 0),(0,a.Cg)([(0,c.MZ)({type:Boolean,readOnly:!0})],v.prototype,"userHasEditingPrivileges",void 0),(0,a.Cg)([(0,c.MZ)({type:Boolean,readOnly:!0})],v.prototype,"userHasFullEditingPrivileges",void 0),(0,a.Cg)([(0,c.MZ)({type:Boolean,readOnly:!0})],v.prototype,"userHasUpdateItemPrivileges",void 0),v=(0,a.Cg)([(0,c.$K)("esri.layers.mixins.PortalLayer")],v),v},_={credential:null,user:null}}}]);