lecodes-cli 2.0.4 → 2.0.5

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 (70) hide show
  1. package/dist/index.js +2521 -860
  2. package/package.json +16 -11
  3. package/runtime/sdk-types.json +1 -1
  4. package/runtime/web/VERSION.json +3 -3
  5. package/runtime/web/assets/creator-2d-CYlV77UR.js +1 -0
  6. package/runtime/web/assets/creator-2d-nG7rGEmq.wasm +0 -0
  7. package/runtime/web/assets/{creator-full-D2dSDdDj.wasm → creator-full-Cla1R8N6.wasm} +0 -0
  8. package/runtime/web/assets/creator-full-DmfoULcB.js +1 -0
  9. package/runtime/web/assets/creator-full.js-D8SMHuCt.symbols +8419 -0
  10. package/runtime/web/assets/creator-ui-CbtoaRlz.js +1 -0
  11. package/runtime/web/assets/creator-ui-DZaoxIpX.wasm +0 -0
  12. package/runtime/web/player.js +18 -18
  13. package/runtime/web-lite/assets/__vite-browser-external-BIHI7g3E.js +1 -0
  14. package/runtime/web-lite/assets/ar-BOdQ-wV4.js +1 -0
  15. package/runtime/web-lite/assets/basis-C64VHDVD.js +1 -0
  16. package/runtime/web-lite/assets/basis_transcoder-VXdx5NbI.wasm +0 -0
  17. package/runtime/web-lite/assets/{canvas-C6G_Pb2Q.js → canvas-WxiusXCB.js} +1 -1
  18. package/runtime/web-lite/assets/creatorAnim-BOwKr-C1.js +1 -0
  19. package/runtime/web-lite/assets/creatorParticles-DYlv4g1J.js +1 -0
  20. package/runtime/web-lite/assets/creatorPhysics-k7wL0kV1.js +1 -0
  21. package/runtime/web-lite/assets/draco-BiISTFcR.js +118 -0
  22. package/runtime/web-lite/assets/draco_decoder-DsQ12WqX.wasm +0 -0
  23. package/runtime/web-lite/assets/index-3CbsYWmo.js +2 -0
  24. package/runtime/web-lite/assets/neutral_ibl128-D-lzdkLN.ktx +0 -0
  25. package/runtime/web-lite/assets/{pager-O712dZv9.js → pager-Db5BY7FB.js} +1 -1
  26. package/runtime/web-lite/assets/plugins-CuEPHbHL.js +1 -0
  27. package/runtime/web-lite/assets/scene3d-CX7MAqmN.js +866 -0
  28. package/runtime/web-lite/assets/tween-BnWYhJ7P.js +1 -0
  29. package/runtime/web-lite/assets/video-BLj61nDx.js +1 -0
  30. package/runtime/web-lite/assets/{vlist-gEB8Sn0S.js → vlist-DrV2Q7P5.js} +1 -1
  31. package/runtime/web-lite/assets/worker-Caf-yYEI.js +2 -0
  32. package/runtime/web-lite/features.json +87 -4
  33. package/runtime/web-lite/lite.js +39 -10
  34. package/runtime/web-lite/plugins/camera/index-5XOM8eHl.js +1 -0
  35. package/runtime/web-lite/plugins/geolocation/index-BjTKN9_P.js +1 -0
  36. package/runtime/web-lite/plugins/map/_virtual_lecodes-half-CQBO044A.js +1 -0
  37. package/runtime/web-lite/plugins/map/_virtual_lecodes-half-resources-BYwqQkWQ.js +1 -0
  38. package/runtime/web-lite/plugins/map/assets/maplibre-gl-worker-DeQFNGa4.js +8 -0
  39. package/runtime/web-lite/plugins/map/index-BTBHQ264.js +1 -0
  40. package/runtime/web-lite/plugins/map/mapImpl-C6E1SwCS.js +823 -0
  41. package/runtime/web-lite/plugins/qr-scanner/index-CK_cYoJR.js +1 -0
  42. package/runtime/web-lite/plugins.json +8 -0
  43. package/src/commands/compile.ts +7 -1
  44. package/src/commands/desktop.ts +7 -4
  45. package/src/commands/dev.ts +4 -14
  46. package/src/commands/render.ts +6 -2
  47. package/src/commands/test.ts +25 -9
  48. package/src/compile/projectCompile.ts +47 -1
  49. package/src/dev/androidDev.ts +1 -1
  50. package/src/dev/backendWorker.ts +138 -0
  51. package/src/dev/devServer.ts +119 -115
  52. package/src/dev/localBackend.ts +214 -0
  53. package/src/dev/projectBackend.ts +199 -0
  54. package/src/dev/serve.ts +164 -0
  55. package/src/hosts/cmgenTool.ts +6 -9
  56. package/src/hosts/desktopRenderer.ts +6 -5
  57. package/src/hosts/liteRunner.ts +52 -9
  58. package/src/hosts/matcTool.ts +5 -22
  59. package/src/hosts/peers.ts +1 -0
  60. package/src/hosts/releases.ts +6 -0
  61. package/src/index.ts +5 -1
  62. package/src/plugin/generate.ts +10 -6
  63. package/src/web/build.ts +20 -3
  64. package/runtime/web/assets/creator-2d-D9WKYM6h.js +0 -1
  65. package/runtime/web/assets/creator-2d-ukvEmNEp.wasm +0 -0
  66. package/runtime/web/assets/creator-full-BBXzQlhq.js +0 -1
  67. package/runtime/web/assets/creator-full.js-BYswGsqR.symbols +0 -8124
  68. package/runtime/web/assets/creator-ui-DIc92ion.wasm +0 -0
  69. package/runtime/web/assets/creator-ui-_1Z_AX2M.js +0 -1
  70. package/runtime/web-lite/assets/tween-t_XDy3Nd.js +0 -1
@@ -0,0 +1,8 @@
1
+ /**
2
+ * MapLibre GL JS
3
+ * @license 3-Clause BSD. Full text of license: https://github.com/maplibre/maplibre-gl-js/blob/v6.11.2/LICENSE.txt
4
+ */var Iy=Object.create,Vc=Object.defineProperty,Cy=Object.getOwnPropertyDescriptor,By=Object.getOwnPropertyNames,Py=Object.getPrototypeOf,My=Object.prototype.hasOwnProperty,rl=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),zy=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(var n=By(t),a=0,s=n.length,o;a<s;a++)o=n[a],!My.call(e,o)&&o!==r&&Vc(e,o,{get:(l=>t[l]).bind(null,o),enumerable:!(i=Cy(t,o))||i.enumerable});return e},Ly=(e,t,r)=>(r=e==null?{}:Iy(Py(e)),zy(Vc(r,"default",{value:e,enumerable:!0}),e));function B(e,t){this.x=e,this.y=t}B.prototype={clone(){return new B(this.x,this.y)},add(e){return this.clone()._add(e)},sub(e){return this.clone()._sub(e)},multByPoint(e){return this.clone()._multByPoint(e)},divByPoint(e){return this.clone()._divByPoint(e)},mult(e){return this.clone()._mult(e)},div(e){return this.clone()._div(e)},rotate(e){return this.clone()._rotate(e)},rotateAround(e,t){return this.clone()._rotateAround(e,t)},matMult(e){return this.clone()._matMult(e)},unit(){return this.clone()._unit()},perp(){return this.clone()._perp()},round(){return this.clone()._round()},mag(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals(e){return this.x===e.x&&this.y===e.y},dist(e){return Math.sqrt(this.distSqr(e))},distSqr(e){let t=e.x-this.x,r=e.y-this.y;return t*t+r*r},angle(){return Math.atan2(this.y,this.x)},angleTo(e){return Math.atan2(this.y-e.y,this.x-e.x)},angleWith(e){return this.angleWithSep(e.x,e.y)},angleWithSep(e,t){return Math.atan2(this.x*t-this.y*e,this.x*e+this.y*t)},_matMult(e){let t=e[0]*this.x+e[1]*this.y,r=e[2]*this.x+e[3]*this.y;return this.x=t,this.y=r,this},_add(e){return this.x+=e.x,this.y+=e.y,this},_sub(e){return this.x-=e.x,this.y-=e.y,this},_mult(e){return this.x*=e,this.y*=e,this},_div(e){return this.x/=e,this.y/=e,this},_multByPoint(e){return this.x*=e.x,this.y*=e.y,this},_divByPoint(e){return this.x/=e.x,this.y/=e.y,this},_unit(){return this._div(this.mag()),this},_perp(){let e=this.y;return this.y=this.x,this.x=-e,this},_rotate(e){let t=Math.cos(e),r=Math.sin(e),i=t*this.x-r*this.y,n=r*this.x+t*this.y;return this.x=i,this.y=n,this},_rotateAround(e,t){let r=Math.cos(e),i=Math.sin(e),n=t.x+r*(this.x-t.x)-i*(this.y-t.y),a=t.y+i*(this.x-t.x)+r*(this.y-t.y);return this.x=n,this.y=a,this},_round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},constructor:B},B.convert=function(e){if(e instanceof B)return e;if(Array.isArray(e))return new B(+e[0],+e[1]);if(e.x!==void 0&&e.y!==void 0)return new B(+e.x,+e.y);throw Error("Expected [x, y] or {x, y} point format")};let Lu;function Vy(){return Lu??(Lu=typeof OffscreenCanvas<"u"&&!!new OffscreenCanvas(1,1).getContext("2d")&&typeof createImageBitmap=="function"),Lu}let Ln;function Oy(){if(Ln==null&&(Ln=!1,Vy())){let e=new OffscreenCanvas(5,5).getContext("2d",{willReadFrequently:!0});if(e){for(let r=0;r<25;r++){let i=r*4;e.fillStyle=`rgb(${i},${i+1},${i+2})`,e.fillRect(r%5,Math.floor(r/5),1,1)}let t=e.getImageData(0,0,5,5).data;for(let r=0;r<100;r++)if(r%4!=3&&t[r]!==r){Ln=!0;break}}}return Ln||!1}var pt=typeof Float32Array<"u"?Float32Array:Array;function Ry(){var e=new pt(9);return pt!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function Oc(){var e=new pt(3);return pt!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function $y(e){var t=e[0],r=e[1],i=e[2];return Math.sqrt(t*t+r*r+i*i)}function Vu(e,t,r){var i=new pt(3);return i[0]=e,i[1]=t,i[2]=r,i}function Ny(e,t){var r=t[0],i=t[1],n=t[2],a=r*r+i*i+n*n;return a>0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e}function Uy(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function vs(e,t,r){var i=t[0],n=t[1],a=t[2],s=r[0],o=r[1],l=r[2];return e[0]=n*l-a*o,e[1]=a*s-i*l,e[2]=i*o-n*s,e}var qy=$y;(function(){var e=Oc();return function(t,r,i,n,a,s){var o,l;for(r||(r=3),i||(i=0),l=n?Math.min(n*r+i,t.length):t.length,o=i;o<l;o+=r)e[0]=t[o],e[1]=t[o+1],e[2]=t[o+2],a(e,e,s),t[o]=e[0],t[o+1]=e[1],t[o+2]=e[2];return t}})();function jy(){var e=new pt(4);return pt!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function Gy(e,t){var r=t[0],i=t[1],n=t[2],a=t[3],s=r*r+i*i+n*n+a*a;return s>0&&(s=1/Math.sqrt(s)),e[0]=r*s,e[1]=i*s,e[2]=n*s,e[3]=a*s,e}function Xy(e,t,r){var i=t[0],n=t[1],a=t[2],s=t[3];return e[0]=r[0]*i+r[4]*n+r[8]*a+r[12]*s,e[1]=r[1]*i+r[5]*n+r[9]*a+r[13]*s,e[2]=r[2]*i+r[6]*n+r[10]*a+r[14]*s,e[3]=r[3]*i+r[7]*n+r[11]*a+r[15]*s,e}(function(){var e=jy();return function(t,r,i,n,a,s){var o,l;for(r||(r=4),i||(i=0),l=n?Math.min(n*r+i,t.length):t.length,o=i;o<l;o+=r)e[0]=t[o],e[1]=t[o+1],e[2]=t[o+2],e[3]=t[o+3],a(e,e,s),t[o]=e[0],t[o+1]=e[1],t[o+2]=e[2],t[o+3]=e[3];return t}})();function Ou(){var e=new pt(4);return pt!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function Yy(e,t,r){r*=.5;var i=Math.sin(r);return e[0]=i*t[0],e[1]=i*t[1],e[2]=i*t[2],e[3]=Math.cos(r),e}function bs(e,t,r,i){var n=t[0],a=t[1],s=t[2],o=t[3],l=r[0],u=r[1],h=r[2],c=r[3],p,f=n*l+a*u+s*h+o*c,d,y,m;return f<0&&(f=-f,l=-l,u=-u,h=-h,c=-c),1-f>1e-6?(p=Math.acos(f),d=Math.sin(p),y=Math.sin((1-i)*p)/d,m=Math.sin(i*p)/d):(y=1-i,m=i),e[0]=y*n+m*l,e[1]=y*a+m*u,e[2]=y*s+m*h,e[3]=y*o+m*c,e}function Wy(e,t){var r=t[0]+t[4]+t[8],i;if(r>0)i=Math.sqrt(r+1),e[3]=.5*i,i=.5/i,e[0]=(t[5]-t[7])*i,e[1]=(t[6]-t[2])*i,e[2]=(t[1]-t[3])*i;else{var n=0;t[4]>t[0]&&(n=1),t[8]>t[n*3+n]&&(n=2);var a=(n+1)%3,s=(n+2)%3;i=Math.sqrt(t[n*3+n]-t[a*3+a]-t[s*3+s]+1),e[n]=.5*i,i=.5/i,e[3]=(t[a*3+s]-t[s*3+a])*i,e[a]=(t[a*3+n]+t[n*3+a])*i,e[s]=(t[s*3+n]+t[n*3+s])*i}return e}var Ru=Gy;(function(){var e=Oc(),t=Vu(1,0,0),r=Vu(0,1,0);return function(i,n,a){var s=Uy(n,a);return s<-.999999?(vs(e,t,n),qy(e)<1e-6&&vs(e,r,n),Ny(e,e),Yy(i,e,Math.PI),i):s>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(vs(e,n,a),i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=1+s,Ru(i,i))}})(),(function(){var e=Ou(),t=Ou();return function(r,i,n,a,s,o){return bs(e,i,s,o),bs(t,n,a,o),bs(r,e,t,2*o*(1-o)),r}})(),(function(){var e=Ry();return function(t,r,i,n){return e[0]=i[0],e[3]=i[1],e[6]=i[2],e[1]=n[0],e[4]=n[1],e[7]=n[2],e[2]=-r[0],e[5]=-r[1],e[8]=-r[2],Ru(t,Wy(t,e))}})();function Zy(){var e=new pt(2);return pt!=Float32Array&&(e[0]=0,e[1]=0),e}(function(){var e=Zy();return function(t,r,i,n,a,s){var o,l;for(r||(r=2),i||(i=0),l=n?Math.min(n*r+i,t.length):t.length,o=i;o<l;o+=r)e[0]=t[o],e[1]=t[o+1],a(e,e,s),t[o]=e[0],t[o+1]=e[1];return t}})();const xe=8192,Hy="__$json__:";function oa(e){return e instanceof Error?e:Error(typeof e=="string"?e:String(e))}function Ky(e){if(e<=0)return 0;if(e>=1)return 1;let t=e*e,r=t*e;return 4*(e<.5?r:3*(e-t)+r-.75)}function Gi(e,t,r){return Math.min(r,Math.max(t,e))}function Jy(e,t,r){let i=r-t,n=((e-t)%i+i)%i+t;return n===t?r:n}function We(e,...t){for(let r of t)for(let i in r)e[i]=r[i];return e}function Qy(e){return Math.log(e)/Math.LN2%1==0}function la(e,t,r){let i={};for(let n in e)i[n]=t.call(this,e[n],n,e);return i}function em(e,t,r){let i={};for(let n in e)t.call(this,e[n],n,e)&&(i[n]=e[n]);return i}function qs(e,t){if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!qs(e[r],t[r]))return!1;return!0}if(typeof e=="object"&&e&&t!==null){if(typeof t!="object"||Object.keys(e).length!==Object.keys(t).length)return!1;for(let r in e)if(!qs(e[r],t[r]))return!1;return!0}return e===t}function Wt(e){return Array.isArray(e)?e.map(Wt):typeof e=="object"&&e?la(e,Wt):e}const $u={};function Be(e){$u[e]||(typeof console<"u"&&console.warn(e),$u[e]=!0)}function Zt(e,t,r){return(r.y-e.y)*(t.x-e.x)>(t.y-e.y)*(r.x-e.x)}function Zr(e){return typeof WorkerGlobalScope<"u"&&e!==void 0&&e instanceof WorkerGlobalScope}function il(e){return typeof ImageBitmap<"u"&&e instanceof ImageBitmap}function tm(e,t,r,i,n){let a=Math.max(-t,0)*4,s=(Math.max(0,r)-r)*i*4+a,o=i*4,l=Math.max(0,t),u=Math.max(0,r),h=Math.min(e.width,t+i),c=Math.min(e.height,r+n);return{rect:{x:l,y:u,width:h-l,height:c-u},layout:[{offset:s,stride:o}]}}async function rm(e,t,r,i,n){if(typeof VideoFrame>"u")throw Error("VideoFrame not supported");let a=new VideoFrame(e,{timestamp:0});try{let s=a==null?void 0:a.format;if(!s||!(s.startsWith("BGR")||s.startsWith("RGB")))throw Error(`Unrecognized format ${s}`);let o=s.startsWith("BGR"),l=new Uint8ClampedArray(i*n*4);if(await a.copyTo(l,tm(e,t,r,i,n)),o)for(let u=0;u<l.length;u+=4){let h=l[u];l[u]=l[u+2],l[u+2]=h}return l}finally{a.close()}}let wi,Di;function im(e,t,r,i,n){let a=e.width,s=e.height;(!wi||!Di)&&(wi=new OffscreenCanvas(a,s),Di=wi.getContext("2d",{willReadFrequently:!0})),wi.width=a,wi.height=s,Di.drawImage(e,0,0,a,s);let o=Di.getImageData(t,r,i,n);return Di.clearRect(0,0,a,s),o.data}async function nm(e,t,r,i,n){if(Oy())try{return await rm(e,t,r,i,n)}catch{}return im(e,t,r,i,n)}function Nu(e,t,r,i){return e.addEventListener(t,r,i),{unsubscribe:()=>{e.removeEventListener(t,r,i)}}}function Uu(e){return e*Math.PI/180}const qu="AbortError";var nl=class extends Error{constructor(e=qu){super(e instanceof Error?e.message:e),this.name=qu,e instanceof Error&&e.stack&&(this.stack=e.stack)}};function Rc(e){return e instanceof Error&&e.name==="AbortError"}function am(e){if(e.aborted)throw new nl(e.reason)}const al={REGISTERED_PROTOCOLS:{}};function sm(e){return al.REGISTERED_PROTOCOLS[e.substring(0,e.indexOf("://"))]}function om(e,t){al.REGISTERED_PROTOCOLS[e]=t}function lm(e){delete al.REGISTERED_PROTOCOLS[e]}const ju="global-dispatcher";var ua=class extends Error{constructor(e,t,r,i){super(`AJAXError: ${t} (${e}): ${r}`),this.status=e,this.statusText=t,this.url=r,this.body=i}};function $c(){var e;if(Zr(self))return(e=self.worker)==null?void 0:e.referrer;if(window.location.protocol==="blob:")try{return window.parent.location.href}catch{}return window.location.href}const um=e=>{var t;return e.startsWith("file:")||((t=$c())==null?void 0:t.startsWith("file:"))&&!/^\w+:/.test(e)};async function hm(e,t){let r=new Request(e.url,{method:e.method||"GET",body:e.body,credentials:e.credentials,headers:e.headers,cache:e.cache,referrer:$c(),referrerPolicy:e.referrerPolicy,signal:t.signal});e.type==="json"&&!r.headers.has("Accept")&&r.headers.set("Accept","application/json");let i;try{i=await fetch(r)}catch(s){throw Rc(s)?s:new ua(0,oa(s).message,e.url,new Blob)}if(!i.ok){let s=await i.blob();throw new ua(i.status,i.statusText,e.url,s)}let n;n=e.type==="arrayBuffer"||e.type==="image"?i.arrayBuffer():e.type==="json"?i.json():i.text();let a=await n;return am(t.signal),{data:a,cacheControl:i.headers.get("Cache-Control"),expires:i.headers.get("Expires"),etag:i.headers.get("ETag")}}function cm(e,t){return new Promise((r,i)=>{var a;let n=new XMLHttpRequest;n.open(e.method||"GET",e.url,!0),(e.type==="arrayBuffer"||e.type==="image")&&(n.responseType="arraybuffer");for(let s in e.headers)n.setRequestHeader(s,e.headers[s]);e.type==="json"&&(n.responseType="text",(a=e.headers)!=null&&a.Accept||n.setRequestHeader("Accept","application/json")),n.withCredentials=e.credentials==="include",n.onerror=()=>{i(Error(n.statusText))},n.onload=()=>{if(!t.signal.aborted)if((n.status>=200&&n.status<300||n.status===0)&&n.response!==null){let s=n.response;if(e.type==="json")try{s=JSON.parse(n.response)}catch(o){i(o);return}r({data:s,cacheControl:n.getResponseHeader("Cache-Control"),expires:n.getResponseHeader("Expires"),etag:n.getResponseHeader("ETag")})}else{let s=new Blob([n.response],{type:n.getResponseHeader("Content-Type")});i(new ua(n.status,n.statusText,e.url,s))}},t.signal.addEventListener("abort",()=>{n.abort(),i(new nl(t.signal.reason))}),n.send(e.body)})}const sl=async function(e,t){var r,i;if(e.url.includes("://")&&!/^https?:|^file:/.test(e.url)){let n=sm(e.url);if(n){let a=await n(e,t);return!a.data&&e.type==="arrayBuffer"?We(a,{data:new ArrayBuffer(0)}):a}if(Zr(self)&&((r=self.worker)!=null&&r.actor))return self.worker.actor.sendAsync({type:"GR",data:e,targetMapId:ju},t)}if(!um(e.url)){if(fetch&&Request&&AbortController&&Object.hasOwn(Request.prototype,"signal"))return hm(e,t);if(Zr(self)&&((i=self.worker)!=null&&i.actor))return self.worker.actor.sendAsync({type:"GR",data:e,mustQueue:!0,targetMapId:ju},t)}return cm(e,t)},pm=(e,t)=>sl(We(e,{type:"json"}),t),fm=(e,t)=>sl(We(e,{type:"arrayBuffer"}),t);function Gu(e,t,r){var i;(i=r[e])!=null&&i.includes(t)||(r[e]||(r[e]=[]),r[e].push(t))}function ws(e,t,r){if(r!=null&&r[e]){let i=r[e].indexOf(t);i!==-1&&r[e].splice(i,1)}}var Nc=class{constructor(e,t={}){We(this,t),this.type=e}},ha=class extends Nc{constructor(e,t={}){super("error",We({error:e},t))}},dm=class{on(e,t){return this._listeners||(this._listeners={}),Gu(e,t,this._listeners),{unsubscribe:()=>{this.off(e,t)}}}off(e,t){return ws(e,t,this._listeners),ws(e,t,this._oneTimeListeners),this}once(e,t){return t?(this._oneTimeListeners||(this._oneTimeListeners={}),Gu(e,t,this._oneTimeListeners),this):new Promise(r=>this.once(e,r))}fire(e,t){var n,a,s,o;let r=typeof e=="string"?new Nc(e,t||{}):e,i=r.type;if(this.listens(i)){r.target=this;let l=((a=(n=this._listeners)==null?void 0:n[i])==null?void 0:a.slice())??[];for(let c of l)c.call(this,r);let u=((o=(s=this._oneTimeListeners)==null?void 0:s[i])==null?void 0:o.slice())??[];for(let c of u)ws(i,c,this._oneTimeListeners),c.call(this,r);let h=this._eventedParent;h&&(We(r,typeof this._eventedParentData=="function"?this._eventedParentData():this._eventedParentData),h.fire(r))}else r instanceof ha&&console.error(r.error);return this}listens(e){var t,r,i,n,a;return!!((r=(t=this._listeners)==null?void 0:t[e])!=null&&r.length||(n=(i=this._oneTimeListeners)==null?void 0:i[e])!=null&&n.length||(a=this._eventedParent)!=null&&a.listens(e))}setEventedParent(e,t){return this._eventedParent=e,this._eventedParentData=t,this}},Uc={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number",length:2},centerAltitude:{type:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},roll:{type:"number",default:0,units:"degrees"},state:{type:"state",default:{}},light:{type:"light"},sky:{type:"sky"},projection:{type:"projection"},terrain:{type:"terrain"},sources:{required:!0,type:"sources"},sprite:{type:"sprite"},glyphs:{type:"string"},"font-faces":{type:"fontFaces"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},volatile:{type:"boolean",default:!1},encoding:{type:"enum",values:{mvt:{},mlt:{}},default:"mvt"},"*":{type:"*"}},source_raster:{type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster_dem:{type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{},custom:{}},default:"mapbox"},redFactor:{type:"number",default:1},blueFactor:{type:"number",default:1},greenFactor:{type:"number",default:1},baseShift:{type:"number",default:0},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{required:!0,type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},filter:{type:"filter"},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterMinPoints:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},"color-relief":{},background:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},layout:["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_color-relief","layout_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},layout_circle:{"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"},"fill-extrusion-rounded-corner-distance":{type:"number",default:0,minimum:0,units:"meters","property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},layout_symbol:{"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image",{"!":"icon-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"padding",default:[2],units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},"viewport-glyph":{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-variable-anchor-offset":{type:"variableAnchorOffsetCollection",requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field",{"!":"text-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-height-offset":{type:"number",default:0,units:"meters",requires:[{"symbol-placement":["point"]}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-height-anchor":{type:"enum",values:{ground:{},absolute:{}},default:"ground",requires:["symbol-height-offset"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},"layout_color-relief":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},filter:{type:"boolean",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"expression_name",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},sky:{"sky-color":{type:"color","property-type":"data-constant",default:"#88C6FC",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-ground-blend":{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-fog-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"sky-horizon-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"atmosphere-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number",minimum:0,default:1}},projection:{type:{type:"projectionDefinition",default:"mercator","property-type":"data-constant",transition:!1,expression:{interpolated:!0,parameters:["zoom"]}}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_color-relief","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-layer-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","global-state"]},"property-type":"data-constant"},"fill-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-layer-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","global-state"]},"property-type":"data-constant"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},resampling:{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"numberArray",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-altitude":{type:"numberArray",default:45,minimum:0,maximum:90,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"colorArray",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"colorArray",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-method":{type:"enum",values:{standard:{},basic:{},combined:{},igor:{},multidirectional:{}},default:"standard",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},resampling:{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},"paint_color-relief":{"color-relief-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"color-relief-color":{type:"color",transition:!1,expression:{interpolated:!0,parameters:["elevation"]},"property-type":"color-ramp"},resampling:{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}},interpolation:{type:"array",value:"interpolation_name",minimum:1},interpolation_name:{type:"enum",values:{linear:{syntax:{overloads:[{parameters:[],"output-type":"interpolation"}],parameters:[]}},exponential:{syntax:{overloads:[{parameters:["base"],"output-type":"interpolation"}],parameters:[{name:"base",type:"number literal"}]}},"cubic-bezier":{syntax:{overloads:[{parameters:["x1","y1","x2","y2"],"output-type":"interpolation"}],parameters:[{name:"x1",type:"number literal"},{name:"y1",type:"number literal"},{name:"x2",type:"number literal"},{name:"y2",type:"number literal"}]}}}}};const D=Uc,ym=["type","source","source-layer","minzoom","maxzoom","filter","layout"];var E=class{constructor(e,t,r,i,n="error"){this.message=(e?`${e}: `:"")+r,i&&(this.identifier=i),this.severity=n,t!=null&&t.__line__&&(this.line=t.__line__)}};const un={kind:"null"},I={kind:"number"},W={kind:"string"},Q={kind:"boolean"},ct={kind:"color"},Ea={kind:"projectionDefinition"},cr={kind:"object"},Z={kind:"value"},mm={kind:"error"},Fa={kind:"collator"},hn={kind:"formatted"},Ta={kind:"padding"},Xi={kind:"colorArray"},ka={kind:"numberArray"},cn={kind:"resolvedImage"},Ia={kind:"variableAnchorOffsetCollection"};function Ne(e,t){return{kind:"array",itemType:e,N:t}}function ye(e){if(e.kind==="array"){let t=ye(e.itemType);return typeof e.N=="number"?`array<${t}, ${e.N}>`:e.itemType.kind==="value"?"array":`array<${t}>`}return e.kind}const gm=[un,I,W,Q,ct,Ea,hn,cr,Ne(Z),Ta,ka,Xi,cn,Ia];function Yi(e,t){if(t.kind==="error")return null;if(e.kind==="array"){if(t.kind==="array"&&(t.N===0&&t.itemType.kind==="value"||!Yi(e.itemType,t.itemType))&&(typeof e.N!="number"||e.N===t.N))return null}else{if(e.kind===t.kind)return null;if(e.kind==="value"){for(let r of gm)if(!Yi(r,t))return null}}return`Expected ${ye(e)} but found ${ye(t)} instead.`}function ol(e,t){return t.some(r=>r.kind===e.kind)}function pr(e,t){return t.some(r=>r==="null"?e===null:r==="array"?Array.isArray(e):r==="object"?e&&!Array.isArray(e)&&typeof e=="object":r===typeof e)}function Gt(e,t){return e.kind==="array"&&t.kind==="array"?e.itemType.kind===t.itemType.kind&&typeof e.N=="number":e.kind===t.kind}const qc=.96422,jc=.82521,Gc=4/29,js=6/29,Xc=3*js*js,xm=Math.PI/180,vm=180/Math.PI;function Yc(e){return e%=360,e<0&&(e+=360),e}function Wc([e,t,r,i]){e=Ds(e),t=Ds(t),r=Ds(r);let n,a,s=_s((.2225045*e+.7168786*t+.0606169*r)/1);e===t&&t===r?n=a=s:(n=_s((.4360747*e+.3850649*t+.1430804*r)/qc),a=_s((.0139322*e+.0971045*t+.7141733*r)/jc));let o=116*s-16;return[o<0?0:o,500*(n-s),200*(s-a),i]}function Ds(e){return e<=.04045?e/12.92:((e+.055)/1.055)**2.4}function _s(e){return e>.008856451679035631?e**(1/3):e/Xc+Gc}function Zc([e,t,r,i]){let n=(e+16)/116,a=isNaN(t)?n:n+t/500,s=isNaN(r)?n:n-r/200;return n=1*As(n),a=qc*As(a),s=jc*As(s),[Ss(3.1338561*a-1.6168667*n-.4906146*s),Ss(-.9787684*a+1.9161415*n+.033454*s),Ss(.0719453*a-.2289914*n+1.4052427*s),i]}function Ss(e){return e=e<=.00304?12.92*e:1.055*e**(1/2.4)-.055,e<0?0:e>1?1:e}function As(e){return e>js?e*e*e:Xc*(e-Gc)}function bm(e){let[t,r,i,n]=Wc(e),a=Math.sqrt(r*r+i*i);return[Math.round(a*1e4)?Yc(Math.atan2(i,r)*vm):NaN,a,t,n]}function wm([e,t,r,i]){return e=isNaN(e)?0:e*xm,Zc([r,Math.cos(e)*t,Math.sin(e)*t,i])}function Dm([e,t,r,i]){e=Yc(e),t/=100,r/=100;function n(a){let s=(a+e/30)%12,o=t*Math.min(r,1-r);return r-o*Math.max(-1,Math.min(s-3,9-s,1))}return[n(0),n(8),n(4),i]}const _m=Object.hasOwn||function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};function Ri(e,t){return _m(e,t)?e[t]:void 0}function Sm(e){if(e=e.toLowerCase().trim(),e==="transparent")return[0,0,0,0];let t=Ri(Am,e);if(t){let[i,n,a]=t;return[i/255,n/255,a/255,1]}if(e.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(e)){let i=e.length<6?1:2,n=1;return[Vn(e.slice(n,n+=i)),Vn(e.slice(n,n+=i)),Vn(e.slice(n,n+=i)),Vn(e.slice(n,n+i)||"ff")]}if(e.startsWith("rgb")){let i=e.match(/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(i){let[n,a,s,o,l,u,h,c,p,f,d,y]=i,m=[o||" ",h||" ",f].join("");if(m===" "||m===" /"||m===",,"||m===",,,"){let g=[s,u,p].join(""),x=g==="%%%"?100:g===""?255:0;if(x){let v=[Mr(+a/x,0,1),Mr(+l/x,0,1),Mr(+c/x,0,1),d?Xu(+d,y):1];if(Yu(v))return v}}return}}let r=e.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(r){let[i,n,a,s,o,l,u,h,c]=r,p=[a||" ",o||" ",u].join("");if(p===" "||p===" /"||p===",,"||p===",,,"){let f=[+n,Mr(+s,0,100),Mr(+l,0,100),h?Xu(+h,c):1];if(Yu(f))return Dm(f)}}}function Vn(e){return parseInt(e.padEnd(2,e),16)/255}function Xu(e,t){return Mr(t?e/100:e,0,1)}function Mr(e,t,r){return Math.min(Math.max(t,e),r)}function Yu(e){return!e.some(Number.isNaN)}const Am={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};function Ht(e,t,r){return e+r*(t-e)}function Hr(e,t,r){return e.map((i,n)=>Ht(i,t[n],r))}function Em(e){return e==="rgb"||e==="hcl"||e==="lab"}var Ce,me=(Ce=class{constructor(t,r,i,n=1,a=!0){this.r=t,this.g=r,this.b=i,this.a=n,a||(this.r*=n,this.g*=n,this.b*=n,n||this.overwriteGetter("rgb",[t,r,i,n]))}static parse(t){if(t instanceof Ce)return t;if(typeof t!="string")return;let r=Sm(t);if(r)return new Ce(...r,!1)}get rgb(){let{r:t,g:r,b:i,a:n}=this,a=n||1/0;return this.overwriteGetter("rgb",[t/a,r/a,i/a,n])}get hcl(){return this.overwriteGetter("hcl",bm(this.rgb))}get lab(){return this.overwriteGetter("lab",Wc(this.rgb))}overwriteGetter(t,r){return Object.defineProperty(this,t,{value:r}),r}toString(){let[t,r,i,n]=this.rgb;return`rgba(${[t,r,i].map(a=>Math.round(a*255)).join(",")},${n})`}static interpolate(t,r,i,n="rgb"){switch(n){case"rgb":{let[a,s,o,l]=Hr(t.rgb,r.rgb,i);return new Ce(a,s,o,l,!1)}case"hcl":{let[a,s,o,l]=t.hcl,[u,h,c,p]=r.hcl,f,d;if(!isNaN(a)&&!isNaN(u)){let v=u-a;u>a&&v>180?v-=360:u<a&&a-u>180&&(v+=360),f=a+i*v}else isNaN(a)?isNaN(u)?f=NaN:(f=u,(o===1||o===0)&&(d=h)):(f=a,(c===1||c===0)&&(d=s));let[y,m,g,x]=wm([f,d??Ht(s,h,i),Ht(o,c,i),Ht(l,p,i)]);return new Ce(y,m,g,x,!1)}case"lab":{let[a,s,o,l]=Zc(Hr(t.lab,r.lab,i));return new Ce(a,s,o,l,!1)}}}},Ce.black=new Ce(0,0,0,1),Ce.white=new Ce(1,1,1,1),Ce.transparent=new Ce(0,0,0,0),Ce.red=new Ce(1,0,0,1),Ce);const Fm=["bottom","center","top"];var Gs=class{constructor(e,t,r,i,n,a){this.text=e,this.image=t,this.scale=r,this.fontStack=i,this.textColor=n,this.verticalAlign=a}},zt=class ea{constructor(t){this.sections=t}static fromString(t){return new ea([new Gs(t,null,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(t=>t.text.length!==0||t.image&&t.image.name.length!==0)}static factory(t){return t instanceof ea?t:ea.fromString(t)}toString(){return this.sections.length===0?"":this.sections.map(t=>t.text).join("")}},_t=class Ci{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof Ci)return t;if(typeof t=="number")return new Ci([t,t,t,t]);if(Array.isArray(t)&&!(t.length<1||t.length>4)){for(let r of t)if(typeof r!="number")return;switch(t.length){case 1:t=[t[0],t[0],t[0],t[0]];break;case 2:t=[t[0],t[1],t[0],t[1]];break;case 3:t=[t[0],t[1],t[2],t[1]]}return new Ci(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,r,i){return new Ci(Hr(t.values,r.values,i))}},St=class Bi{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof Bi)return t;if(typeof t=="number")return new Bi([t]);if(Array.isArray(t)){for(let r of t)if(typeof r!="number")return;return new Bi(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,r,i){return new Bi(Hr(t.values,r.values,i))}},ot=class Pi{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof Pi)return t;if(typeof t=="string"){let i=me.parse(t);return i?new Pi([i]):void 0}if(!Array.isArray(t))return;let r=[];for(let i of t){if(typeof i!="string")return;let n=me.parse(i);if(!n)return;r.push(n)}return new Pi(r)}toString(){return JSON.stringify(this.values)}static interpolate(t,r,i,n="rgb"){let a=[];if(t.values.length!=r.values.length)throw Error(`colorArray: Arrays have mismatched length (${t.values.length} vs. ${r.values.length}), cannot interpolate.`);for(let s=0;s<t.values.length;s++)a.push(me.interpolate(t.values[s],r.values[s],i,n));return new Pi(a)}},ce=class extends Error{constructor(t,r){super(t),this.name="RuntimeError",this.path=r}toJSON(){return this.message}};const Tm=new Set(["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"]);var wt=class ta{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof ta)return t;if(!(!Array.isArray(t)||t.length<1||t.length%2!=0)){for(let r=0;r<t.length;r+=2){let i=t[r],n=t[r+1];if(typeof i!="string"||!Tm.has(i)||!Array.isArray(n)||n.length!==2||typeof n[0]!="number"||typeof n[1]!="number")return}return new ta(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,r,i,n){let a=t.values,s=r.values;if(a.length!==s.length)throw new ce(`Cannot interpolate values of different length. from: ${t.toString()}, to: ${r.toString()}`,n);let o=[];for(let l=0;l<a.length;l+=2){if(a[l]!==s[l])throw new ce(`Cannot interpolate values containing mismatched anchors. from[${l}]: ${a[l]}, to[${l}]: ${s[l]}`,n);o.push(a[l]);let[u,h]=a[l+1],[c,p]=s[l+1];o.push([Ht(u,c,i),Ht(h,p,i)])}return new ta(o)}},Dt=class Hc{constructor(t){this.name=t.name,this.available=t.available}toString(){return this.name}static fromString(t){return t?new Hc({name:t,available:!1}):null}},vr=class zr{constructor(t,r,i){this.from=t,this.to=r,this.transition=i}toString(){return this.from===this.to&&this.transition===1?this.from:JSON.stringify([this.from,this.to,this.transition])}static interpolate(t,r,i){return new zr(t,r,i)}static parse(t){if(t instanceof zr)return t;if(Array.isArray(t)&&t.length===3&&typeof t[0]=="string"&&typeof t[1]=="string"&&typeof t[2]=="number")return new zr(t[0],t[1],t[2]);if(typeof t=="object"&&typeof t.from=="string"&&typeof t.to=="string"&&typeof t.transition=="number")return new zr(t.from,t.to,t.transition);if(typeof t=="string")return new zr(t,t,1)}},ll=class{constructor(e,t,r){this.sensitivity=e?t?"variant":"case":t?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(e,t){return this.collator.compare(e,t)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}};function Kc(e,t,r,i){return typeof e=="number"&&e>=0&&e<=255&&typeof t=="number"&&t>=0&&t<=255&&typeof r=="number"&&r>=0&&r<=255?i===void 0||typeof i=="number"&&i>=0&&i<=1?null:`Invalid rgba value [${[e,t,r,i].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof i=="number"?[e,t,r,i]:[e,t,r]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function Kr(e){if(e===null||typeof e=="string"||typeof e=="boolean"||typeof e=="number"||e instanceof vr||e instanceof me||e instanceof ll||e instanceof zt||e instanceof _t||e instanceof St||e instanceof ot||e instanceof wt||e instanceof Dt)return!0;if(Array.isArray(e)){for(let t of e)if(!Kr(t))return!1;return!0}if(typeof e=="object"){for(let t in e)if(!Kr(e[t]))return!1;return!0}return!1}function _e(e){if(e===null)return un;if(typeof e=="string")return W;if(typeof e=="boolean")return Q;if(typeof e=="number")return I;if(e instanceof me)return ct;if(e instanceof vr)return Ea;if(e instanceof ll)return Fa;if(e instanceof zt)return hn;if(e instanceof _t)return Ta;if(e instanceof St)return ka;if(e instanceof ot)return Xi;if(e instanceof wt)return Ia;if(e instanceof Dt)return cn;if(Array.isArray(e)){let t=e.length,r;for(let i of e){let n=_e(i);if(!r)r=n;else{if(r===n)continue;r=Z;break}}return Ne(r||Z,t)}return cr}function $i(e){let t=typeof e;return e===null?"":t==="string"||t==="number"||t==="boolean"?String(e):e instanceof me||e instanceof vr||e instanceof zt||e instanceof _t||e instanceof St||e instanceof ot||e instanceof wt||e instanceof Dt?e.toString():JSON.stringify(e)}var Jr=class Jc{constructor(t,r){this.type=t,this.value=r}static parse(t,r){if(t.length!==2)return r.error(`'literal' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!Kr(t[1]))return r.error(`invalid value of type "${typeof t[1]}"`);let i=t[1],n=_e(i),a=r.expectedType;return n.kind==="array"&&n.N===0&&a&&a.kind==="array"&&(typeof a.N!="number"||a.N===0)&&(n=a),new Jc(n,i)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}};const km=["Unknown","Point","LineString","Polygon"];var Qc=class{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache=new Map,this.availableImages=null,this.canonical=null}id(){return this.feature&&"id"in this.feature?this.feature.id:null}geometryType(){return this.feature?typeof this.feature.type=="number"?km[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(e){let t=this._parseColorCache.get(e);return t||(t=me.parse(e),this._parseColorCache.set(e,t)),t}};function Ca(e,t,r){let i=e.length-1,n=0,a=i,s=0,o,l;for(;n<=a;)if(s=Math.floor((n+a)/2),o=e[s],l=e[s+1],o<=t){if(s===i||t<l)return s;n=s+1}else if(o>t)a=s-1;else throw new ce("Input is not a number.",r);return 0}var ul=class ep{constructor(t,r,i,n){this.type=t,this.input=r,this.key=n,this.labels=[],this.outputs=[];for(let[a,s]of i)this.labels.push(a),this.outputs.push(s)}static parse(t,r){if(t.length-1<4)return r.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return r.error("Expected an even number of arguments.");let i=r.parse(t[1],1,I);if(!i)return null;let n=[],a=null;r.expectedType&&r.expectedType.kind!=="value"&&(a=r.expectedType);for(let s=1;s<t.length;s+=2){let o=s===1?-1/0:t[s],l=t[s+1],u=s,h=s+1;if(typeof o!="number")return r.error('Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.',u);if(n.length&&n[n.length-1][0]>=o)return r.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',u);let c=r.parse(l,h,a);if(!c)return null;a||(a=c.type),n.push([o,c])}return new ep(a,i,n,r.key)}evaluate(t){let r=this.labels,i=this.outputs;if(r.length===1)return i[0].evaluate(t);let n=this.input.evaluate(t);if(n<=r[0])return i[0].evaluate(t);let a=r.length;return n>=r[a-1]?i[a-1].evaluate(t):i[Ca(r,n,this.key)].evaluate(t)}eachChild(t){t(this.input);for(let r of this.outputs)t(r)}outputDefined(){return this.outputs.every(t=>t.outputDefined())}};function Im(e,t,r,i){let n=3*e,a=3*(r-e)-n,s=1-n-a,o=3*t,l=3*(i-t)-o,u=1-o-l;return function(h,c=1e-6){if(h<=0)return 0;if(h>=1)return 1;let p=h;for(let y=0;y<8;y++){let m=((s*p+a)*p+n)*p-h;if(Math.abs(m)<c)return((u*p+l)*p+o)*p;let g=(3*s*p+2*a)*p+n;if(Math.abs(g)<1e-6)break;p-=m/g}let f=0,d=1;p=h;for(let y=0;y<20;y++){let m=((s*p+a)*p+n)*p;if(Math.abs(m-h)<c)break;h>m?f=p:d=p,p=(f+d)*.5}return((u*p+l)*p+o)*p}}var vt=class Xs{constructor(t,r,i,n,a,s){this.type=t,this.operator=r,this.interpolation=i,this.input=n,this.key=s,this.labels=[],this.outputs=[];for(let[o,l]of a)this.labels.push(o),this.outputs.push(l)}static interpolationFactor(t,r,i,n){let a=0;if(t.name==="exponential")a=Es(r,t.base,i,n);else if(t.name==="linear")a=Es(r,1,i,n);else if(t.name==="cubic-bezier"){let s=t.controlPoints;a=Im(s[0],s[1],s[2],s[3])(Es(r,1,i,n))}return a}static parse(t,r){let[i,n,a,...s]=t;if(!Array.isArray(n)||n.length===0)return r.error("Expected an interpolation type expression.",1);if(n[0]==="linear")n={name:"linear"};else if(n[0]==="exponential"){let u=n[1];if(typeof u!="number")return r.error("Exponential interpolation requires a numeric base.",1,1);n={name:"exponential",base:u}}else if(n[0]==="cubic-bezier"){let u=n.slice(1);if(u.length!==4||u.some(h=>typeof h!="number"||h<0||h>1))return r.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:u}}else return r.error(`Unknown interpolation type ${String(n[0])}`,1,0);if(t.length-1<4)return r.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return r.error("Expected an even number of arguments.");if(a=r.parse(a,2,I),!a)return null;let o=[],l=null;(i==="interpolate-hcl"||i==="interpolate-lab")&&r.expectedType!=Xi?l=ct:r.expectedType&&r.expectedType.kind!=="value"&&(l=r.expectedType);for(let u=0;u<s.length;u+=2){let h=s[u],c=s[u+1],p=u+3,f=u+4;if(typeof h!="number")return r.error('Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.',p);if(o.length&&o[o.length-1][0]>=h)return r.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',p);let d=r.parse(c,f,l);if(!d)return null;l||(l=d.type),o.push([h,d])}return!Gt(l,I)&&!Gt(l,Ea)&&!Gt(l,ct)&&!Gt(l,Ta)&&!Gt(l,ka)&&!Gt(l,Xi)&&!Gt(l,Ia)&&!Gt(l,Ne(I))?r.error(`Type ${ye(l)} is not interpolatable.`):new Xs(l,i,n,a,o,r.key)}evaluate(t){let r=this.labels,i=this.outputs;if(r.length===1)return i[0].evaluate(t);let n=this.input.evaluate(t);if(n<=r[0])return i[0].evaluate(t);let a=r.length;if(n>=r[a-1])return i[a-1].evaluate(t);let s=Ca(r,n,this.key),o=r[s],l=r[s+1],u=Xs.interpolationFactor(this.interpolation,n,o,l),h=i[s].evaluate(t),c=i[s+1].evaluate(t);switch(this.operator){case"interpolate":switch(this.type.kind){case"number":return Ht(h,c,u);case"color":return me.interpolate(h,c,u);case"padding":return _t.interpolate(h,c,u);case"colorArray":return ot.interpolate(h,c,u);case"numberArray":return St.interpolate(h,c,u);case"variableAnchorOffsetCollection":return wt.interpolate(h,c,u,this.key);case"array":return Hr(h,c,u);case"projectionDefinition":return vr.interpolate(h,c,u)}case"interpolate-hcl":switch(this.type.kind){case"color":return me.interpolate(h,c,u,"hcl");case"colorArray":return ot.interpolate(h,c,u,"hcl")}case"interpolate-lab":switch(this.type.kind){case"color":return me.interpolate(h,c,u,"lab");case"colorArray":return ot.interpolate(h,c,u,"lab")}}}eachChild(t){t(this.input);for(let r of this.outputs)t(r)}outputDefined(){return this.outputs.every(t=>t.outputDefined())}};function Es(e,t,r,i){let n=i-r,a=e-r;return n===0?0:t===1?a/n:(t**+a-1)/(t**+n-1)}const dr={color:me.interpolate,number:Ht,padding:_t.interpolate,numberArray:St.interpolate,colorArray:ot.interpolate,variableAnchorOffsetCollection:wt.interpolate,array:Hr};var tp=class rp{constructor(t){this.type=hn,this.sections=t}static parse(t,r){if(t.length<2)return r.error("Expected at least one argument.");let i=t[1];if(!Array.isArray(i)&&typeof i=="object")return r.error("First argument must be an image or text section.");let n=[],a=!1;for(let s=1;s<=t.length-1;++s){let o=t[s];if(a&&typeof o=="object"&&!Array.isArray(o)){a=!1;let l=null;if(o["font-scale"]&&(l=r.parse(o["font-scale"],1,I),!l))return null;let u=null;if(o["text-font"]&&(u=r.parse(o["text-font"],1,Ne(W)),!u))return null;let h=null;if(o["text-color"]&&(h=r.parse(o["text-color"],1,ct),!h))return null;let c=null;if(o["vertical-align"]){if(typeof o["vertical-align"]=="string"&&!Fm.includes(o["vertical-align"]))return r.error(`'vertical-align' must be one of: 'bottom', 'center', 'top' but found '${o["vertical-align"]}' instead.`);if(c=r.parse(o["vertical-align"],1,W),!c)return null}let p=n[n.length-1];p.scale=l,p.font=u,p.textColor=h,p.verticalAlign=c}else{let l=r.parse(t[s],1,Z);if(!l)return null;let u=l.type.kind;if(u!=="string"&&u!=="value"&&u!=="null"&&u!=="resolvedImage")return r.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");a=!0,n.push({content:l,scale:null,font:null,textColor:null,verticalAlign:null})}}return new rp(n)}evaluate(t){return new zt(this.sections.map(r=>{let i=r.content.evaluate(t);return _e(i)===cn?new Gs("",i,null,null,null,r.verticalAlign?r.verticalAlign.evaluate(t):null):new Gs($i(i),null,r.scale?r.scale.evaluate(t):null,r.font?r.font.evaluate(t).join(","):null,r.textColor?r.textColor.evaluate(t):null,r.verticalAlign?r.verticalAlign.evaluate(t):null)}))}eachChild(t){for(let r of this.sections)t(r.content),r.scale&&t(r.scale),r.font&&t(r.font),r.textColor&&t(r.textColor),r.verticalAlign&&t(r.verticalAlign)}outputDefined(){return!1}};function ip(e,t,r=0,i=e.length-1,n=Cm){for(;i>r;){if(i-r>600){let l=i-r+1,u=t-r+1,h=Math.log(l),c=.5*Math.exp(2*h/3),p=.5*Math.sqrt(h*c*(l-c)/l)*(u-l/2<0?-1:1);ip(e,t,Math.max(r,Math.floor(t-u*c/l+p)),Math.min(i,Math.floor(t+(l-u)*c/l+p)),n)}let a=e[t],s=r,o=i;for(_i(e,r,t),n(e[i],a)>0&&_i(e,r,i);s<o;){for(_i(e,s,o),s++,o--;n(e[s],a)<0;)s++;for(;n(e[o],a)>0;)o--}n(e[r],a)===0?_i(e,r,o):(o++,_i(e,o,i)),o<=t&&(r=o+1),t<=o&&(i=o-1)}}function _i(e,t,r){let i=e[t];e[t]=e[r],e[r]=i}function Cm(e,t){return e<t?-1:+(e>t)}function Ba(e,t){if(e.length<=1)return[e];let r=[],i,n;for(let a of e){let s=Pm(a);s!==0&&(a.area=Math.abs(s),n===void 0&&(n=s<0),n===s<0?(i&&r.push(i),i=[a]):i.push(a))}if(i&&r.push(i),t>1)for(let a=0;a<r.length;a++)r[a].length<=t||(ip(r[a],t,1,r[a].length-1,Bm),r[a]=r[a].slice(0,t));return r}function Bm(e,t){return t.area-e.area}function Pm(e){let t=0;for(let r=0,i=e.length,n=i-1,a,s;r<i;n=r++)a=e[r],s=e[n],t+=(s.x-a.x)*(a.y+s.y);return t}const On={string:W,number:I,boolean:Q,object:cr};var It=class np{constructor(t,r,i){this.type=t,this.args=r,this.key=i}static parse(t,r){if(t.length<2)return r.error("Expected at least one argument.");let i=1,n,a=t[0];if(a==="array"){let o;if(t.length>2){let u=t[1];if(typeof u!="string"||!(u in On)||u==="object")return r.error('The item type argument of "array" must be one of string, number, boolean',1);o=On[u],i++}else o=Z;let l;if(t.length>3){if(t[2]!==null&&(typeof t[2]!="number"||t[2]<0||t[2]!==Math.floor(t[2])))return r.error('The length argument to "array" must be a positive integer literal',2);l=t[2],i++}n=Ne(o,l)}else{if(!On[a])throw Error(`Types doesn't contain name = ${a}`);n=On[a]}let s=[];for(;i<t.length;i++){let o=r.parse(t[i],i,Z);if(!o)return null;s.push(o)}return new np(n,s,r.key)}evaluate(t){for(let r=0;r<this.args.length;r++){let i=this.args[r].evaluate(t);if(!Yi(this.type,_e(i)))return i;if(r===this.args.length-1)throw new ce(`Expected value to be of type ${ye(this.type)}, but found ${ye(_e(i))} instead.`,this.key)}throw Error()}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every(t=>t.outputDefined())}};const Wu={"to-boolean":Q,"to-color":ct,"to-number":I,"to-string":W};var Rr=class ap{constructor(t,r,i){this.type=t,this.args=r,this.key=i}static parse(t,r){if(t.length<2)return r.error("Expected at least one argument.");let i=t[0];if(!Wu[i])throw Error(`Can't parse ${i} as it is not part of the known types`);if((i==="to-boolean"||i==="to-string")&&t.length!==2)return r.error("Expected one argument.");let n=Wu[i],a=[];for(let s=1;s<t.length;s++){let o=r.parse(t[s],s,Z);if(!o)return null;a.push(o)}return new ap(n,a,r.key)}evaluate(t){switch(this.type.kind){case"boolean":return!!this.args[0].evaluate(t);case"color":{let r,i;for(let n of this.args){if(r=n.evaluate(t),i=null,r instanceof me)return r;if(typeof r=="string"){let a=t.parseColor(r);if(a)return a}else if(Array.isArray(r)&&(i=r.length<3||r.length>4?`Invalid rgba value ${JSON.stringify(r)}: expected an array containing either three or four numeric values.`:Kc(r[0],r[1],r[2],r[3]),!i))return new me(r[0]/255,r[1]/255,r[2]/255,r[3])}throw new ce(i||`Could not parse color from value '${typeof r=="string"?r:JSON.stringify(r)}'`,this.key)}case"padding":{let r;for(let i of this.args){r=i.evaluate(t);let n=_t.parse(r);if(n)return n}throw new ce(`Could not parse padding from value '${typeof r=="string"?r:JSON.stringify(r)}'`,this.key)}case"numberArray":{let r;for(let i of this.args){r=i.evaluate(t);let n=St.parse(r);if(n)return n}throw new ce(`Could not parse numberArray from value '${typeof r=="string"?r:JSON.stringify(r)}'`,this.key)}case"colorArray":{let r;for(let i of this.args){r=i.evaluate(t);let n=ot.parse(r);if(n)return n}throw new ce(`Could not parse colorArray from value '${typeof r=="string"?r:JSON.stringify(r)}'`,this.key)}case"variableAnchorOffsetCollection":{let r;for(let i of this.args){r=i.evaluate(t);let n=wt.parse(r);if(n)return n}throw new ce(`Could not parse variableAnchorOffsetCollection from value '${typeof r=="string"?r:JSON.stringify(r)}'`,this.key)}case"number":{let r=null;for(let i of this.args){if(r=i.evaluate(t),r===null)return 0;let n=Number(r);if(!isNaN(n))return n}throw new ce(`Could not convert ${JSON.stringify(r)} to number.`,this.key)}case"formatted":return zt.fromString($i(this.args[0].evaluate(t)));case"resolvedImage":return Dt.fromString($i(this.args[0].evaluate(t)));case"projectionDefinition":{let r=this.args[0].evaluate(t);if(vr.parse(r))return r;throw new ce(`Could not parse projectionDefinition from value '${typeof r=="string"?r:JSON.stringify(r)}'`,this.key)}default:return $i(this.args[0].evaluate(t))}}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every(t=>t.outputDefined())}},sp=class op{constructor(t,r){this.type=r.type,this.bindings=[].concat(t),this.result=r}evaluate(t){return this.result.evaluate(t)}eachChild(t){for(let r of this.bindings)t(r[1]);t(this.result)}static parse(t,r){if(t.length<4)return r.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);let i=[];for(let a=1;a<t.length-1;a+=2){let s=t[a];if(typeof s!="string")return r.error(`Expected string, but found ${typeof s} instead.`,a);if(/[^a-zA-Z0-9_]/.test(s))return r.error("Variable names must contain only alphanumeric characters or '_'.",a);let o=r.parse(t[a+1],a+1);if(!o)return null;i.push([s,o])}let n=r.parse(t[t.length-1],t.length-1,r.expectedType,i);return n?new op(i,n):null}outputDefined(){return this.result.outputDefined()}},lp=class up{constructor(t,r){this.type=r.type,this.name=t,this.boundExpression=r}static parse(t,r){if(t.length!==2||typeof t[1]!="string")return r.error("'var' expression requires exactly one string literal argument.");let i=t[1];return r.scope.has(i)?new up(i,r.scope.get(i)):r.error(`Unknown variable "${i}". Make sure "${i}" has been bound in an enclosing "let" expression before using it.`,1)}evaluate(t){return this.boundExpression.evaluate(t)}eachChild(){}outputDefined(){return!1}},Mm=class hp{constructor(t,r,i,n){this.type=t,this.index=r,this.input=i,this.key=n}static parse(t,r){if(t.length!==3)return r.error(`Expected 2 arguments, but found ${t.length-1} instead.`);let i=r.parse(t[1],1,I),n=r.parse(t[2],2,Ne(r.expectedType||Z));if(!i||!n)return null;let a=n.type;return new hp(a.itemType,i,n,r.key)}evaluate(t){let r=this.index.evaluate(t),i=this.input.evaluate(t);if(r<0)throw new ce(`Array index out of bounds: ${r} < 0.`,this.key);if(r>=i.length)throw new ce(`Array index out of bounds: ${r} > ${i.length-1}.`,this.key);if(r!==Math.floor(r))throw new ce(`Array index must be an integer, but found ${r} instead.`,this.key);return i[r]}eachChild(t){t(this.index),t(this.input)}outputDefined(){return!1}},zm=class cp{constructor(t,r,i){this.needle=t,this.haystack=r,this.key=i,this.type=Q}static parse(t,r){if(t.length!==3)return r.error(`Expected 2 arguments, but found ${t.length-1} instead.`);let i=r.parse(t[1],1,Z),n=r.parse(t[2],2,Z);return!i||!n?null:ol(i.type,[Q,W,I,un,Z])?new cp(i,n,r.key):r.error(`Expected first argument to be of type boolean, string, number or null, but found ${ye(i.type)} instead`)}evaluate(t){let r=this.needle.evaluate(t),i=this.haystack.evaluate(t);if(!i)return!1;if(!pr(r,["boolean","string","number","null"]))throw new ce(`Expected first argument to be of type boolean, string, number or null, but found ${ye(_e(r))} instead.`,this.key);if(!pr(i,["string","array"]))throw new ce(`Expected second argument to be of type array or string, but found ${ye(_e(i))} instead.`,this.key);return i.indexOf(r)>=0}eachChild(t){t(this.needle),t(this.haystack)}outputDefined(){return!0}},Lm=class Ys{constructor(t,r,i,n){this.needle=t,this.haystack=r,this.key=i,this.fromIndex=n,this.type=I}static parse(t,r){if(t.length<=2||t.length>=5)return r.error(`Expected 2 or 3 arguments, but found ${t.length-1} instead.`);let i=r.parse(t[1],1,Z),n=r.parse(t[2],2,Z);if(!i||!n)return null;if(!ol(i.type,[Q,W,I,un,Z]))return r.error(`Expected first argument to be of type boolean, string, number or null, but found ${ye(i.type)} instead`);if(t.length===4){let a=r.parse(t[3],3,I);return a?new Ys(i,n,r.key,a):null}return new Ys(i,n,r.key)}evaluate(t){let r=this.needle.evaluate(t),i=this.haystack.evaluate(t);if(!pr(r,["boolean","string","number","null"]))throw new ce(`Expected first argument to be of type boolean, string, number or null, but found ${ye(_e(r))} instead.`,this.key);let n;if(this.fromIndex&&(n=this.fromIndex.evaluate(t)),pr(i,["string"])){let a=i.indexOf(r,n);return a===-1?-1:[...i.slice(0,a)].length}if(pr(i,["array"]))return i.indexOf(r,n);throw new ce(`Expected second argument to be of type array or string, but found ${ye(_e(i))} instead.`,this.key)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)}outputDefined(){return!1}},Vm=class pp{constructor(t,r,i,n,a,s){this.inputType=t,this.type=r,this.input=i,this.cases=n,this.outputs=a,this.otherwise=s}static parse(t,r){if(t.length<5)return r.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return r.error("Expected an even number of arguments.");let i,n;r.expectedType&&r.expectedType.kind!=="value"&&(n=r.expectedType);let a={},s=[];for(let u=2;u<t.length-1;u+=2){let h=t[u],c=t[u+1];Array.isArray(h)||(h=[h]);let p=r.concat(u);if(h.length===0)return p.error("Expected at least one branch label.");for(let d of h){if(typeof d!="number"&&typeof d!="string")return p.error("Branch labels must be numbers or strings.");if(typeof d=="number"&&Math.abs(d)>2**53-1)return p.error(`Branch labels must be integers no larger than ${2**53-1}.`);if(typeof d=="number"&&Math.floor(d)!==d)return p.error("Numeric branch labels must be integer values.");if(!i)i=_e(d);else if(p.checkSubtype(i,_e(d)))return null;if(a[String(d)]!==void 0)return p.error("Branch labels must be unique.");a[String(d)]=s.length}let f=r.parse(c,u,n);if(!f)return null;n||(n=f.type),s.push(f)}let o=r.parse(t[1],1,Z);if(!o)return null;let l=r.parse(t[t.length-1],t.length-1,n);return!l||o.type.kind!=="value"&&r.concat(1).checkSubtype(i,o.type)?null:new pp(i,n,o,a,s,l)}evaluate(t){let r=this.input.evaluate(t);return(_e(r)===this.inputType&&this.outputs[this.cases[r]]||this.otherwise).evaluate(t)}eachChild(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)}outputDefined(){return this.outputs.every(t=>t.outputDefined())&&this.otherwise.outputDefined()}},Om=class fp{constructor(t,r,i){this.type=t,this.branches=r,this.otherwise=i}static parse(t,r){if(t.length<4)return r.error(`Expected at least 3 arguments, but found only ${t.length-1}.`);if(t.length%2!=0)return r.error("Expected an odd number of arguments.");let i;r.expectedType&&r.expectedType.kind!=="value"&&(i=r.expectedType);let n=[];for(let s=1;s<t.length-1;s+=2){let o=r.parse(t[s],s,Q);if(!o)return null;let l=r.parse(t[s+1],s+1,i);if(!l)return null;n.push([o,l]),i||(i=l.type)}let a=r.parse(t[t.length-1],t.length-1,i);if(!a)return null;if(!i)throw Error("Can't infer output type");return new fp(i,n,a)}evaluate(t){for(let[r,i]of this.branches)if(r.evaluate(t))return i.evaluate(t);return this.otherwise.evaluate(t)}eachChild(t){for(let[r,i]of this.branches)t(r),t(i);t(this.otherwise)}outputDefined(){return this.branches.every(([t,r])=>r.outputDefined())&&this.otherwise.outputDefined()}},Rm=class Ws{constructor(t,r,i,n,a){this.type=t,this.input=r,this.beginIndex=i,this.key=n,this.endIndex=a}static parse(t,r){if(t.length<=2||t.length>=5)return r.error(`Expected 2 or 3 arguments, but found ${t.length-1} instead.`);let i=r.parse(t[1],1,Z),n=r.parse(t[2],2,I);if(!i||!n)return null;if(!ol(i.type,[Ne(Z),W,Z]))return r.error(`Expected first argument to be of type array or string, but found ${ye(i.type)} instead`);if(t.length===4){let a=r.parse(t[3],3,I);return a?new Ws(i.type,i,n,r.key,a):null}return new Ws(i.type,i,n,r.key)}evaluate(t){let r=this.input.evaluate(t),i=this.beginIndex.evaluate(t),n;if(this.endIndex&&(n=this.endIndex.evaluate(t)),pr(r,["string"]))return[...r].slice(i,n).join("");if(pr(r,["array"]))return r.slice(i,n);throw new ce(`Expected first argument to be of type array or string, but found ${ye(_e(r))} instead.`,this.key)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)}outputDefined(){return!1}},dp=class Zs{constructor(t,r){this.type=t,this.args=r}static parse(t,r){if(t.length<2)return r.error("Expected at least one argument.");let i=null,n=r.expectedType;n&&n.kind!=="value"&&(i=n);let a=[];for(let s of t.slice(1)){let o=r.parse(s,1+a.length,i,void 0,{typeAnnotation:"omit"});if(!o)return null;i||(i=o.type),a.push(o)}if(!i)throw Error("No output type");return n&&a.some(s=>Yi(n,s.type))?new Zs(Z,a):new Zs(i,a)}evaluate(t){let r=null,i=0,n;for(let a of this.args)if(i++,r=a.evaluate(t),r&&r instanceof Dt&&!r.available&&(n||(n=r.name),r=null,i===this.args.length&&(r=n)),r!==null)break;return r}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every(t=>t.outputDefined())}};function Zu(e,t){return e==="=="||e==="!="?t.kind==="boolean"||t.kind==="string"||t.kind==="number"||t.kind==="null"||t.kind==="value":t.kind==="string"||t.kind==="number"||t.kind==="value"}function $m(e,t,r){return t===r}function Nm(e,t,r){return t!==r}function Um(e,t,r){return t<r}function qm(e,t,r){return t>r}function jm(e,t,r){return t<=r}function Gm(e,t,r){return t>=r}function yp(e,t,r,i){return i.compare(t,r)===0}function Xm(e,t,r,i){return!yp(e,t,r,i)}function Ym(e,t,r,i){return i.compare(t,r)<0}function Wm(e,t,r,i){return i.compare(t,r)>0}function Zm(e,t,r,i){return i.compare(t,r)<=0}function Hm(e,t,r,i){return i.compare(t,r)>=0}function ni(e,t,r){let i=e!=="=="&&e!=="!=";return class mp{constructor(a,s,o,l){this.lhs=a,this.rhs=s,this.key=o,this.collator=l,this.type=Q,this.hasUntypedArgument=a.type.kind==="value"||s.type.kind==="value"}static parse(a,s){if(a.length!==3&&a.length!==4)return s.error("Expected two or three arguments.");let o=a[0],l=s.parse(a[1],1,Z);if(!l)return null;if(!Zu(o,l.type))return s.concat(1).error(`"${o}" comparisons are not supported for type '${ye(l.type)}'.`);let u=s.parse(a[2],2,Z);if(!u)return null;if(!Zu(o,u.type))return s.concat(2).error(`"${o}" comparisons are not supported for type '${ye(u.type)}'.`);if(l.type.kind!==u.type.kind&&l.type.kind!=="value"&&u.type.kind!=="value")return s.error(`Cannot compare types '${ye(l.type)}' and '${ye(u.type)}'.`);i&&(l.type.kind==="value"&&u.type.kind!=="value"?l=new It(u.type,[l],s.key):l.type.kind!=="value"&&u.type.kind==="value"&&(u=new It(l.type,[u],s.key)));let h=null;if(a.length===4){if(l.type.kind!=="string"&&u.type.kind!=="string"&&l.type.kind!=="value"&&u.type.kind!=="value")return s.error("Cannot use collator to compare non-string types.");if(h=s.parse(a[3],3,Fa),!h)return null}return new mp(l,u,s.key,h)}evaluate(a){let s=this.lhs.evaluate(a),o=this.rhs.evaluate(a);if(i&&this.hasUntypedArgument){let l=_e(s),u=_e(o);if(l.kind!==u.kind||l.kind!=="string"&&l.kind!=="number")throw new ce(`Expected arguments for "${e}" to be (string, string) or (number, number), but found (${l.kind}, ${u.kind}) instead.`,this.key)}if(this.collator&&!i&&this.hasUntypedArgument){let l=_e(s),u=_e(o);if(l.kind!=="string"||u.kind!=="string")return t(a,s,o)}return this.collator?r(a,s,o,this.collator.evaluate(a)):t(a,s,o)}eachChild(a){a(this.lhs),a(this.rhs),this.collator&&a(this.collator)}outputDefined(){return!0}}}const Km=ni("==",$m,yp),Jm=ni("!=",Nm,Xm),Qm=ni("<",Um,Ym),e1=ni(">",qm,Wm),t1=ni("<=",jm,Zm),r1=ni(">=",Gm,Hm);var gp=class xp{constructor(t,r,i){this.type=Fa,this.locale=i,this.caseSensitive=t,this.diacriticSensitive=r}static parse(t,r){if(t.length!==2)return r.error("Expected one argument.");let i=t[1];if(typeof i!="object"||Array.isArray(i))return r.error("Collator options argument must be an object.");let n=r.parse(i["case-sensitive"]!==void 0&&i["case-sensitive"],1,Q);if(!n)return null;let a=r.parse(i["diacritic-sensitive"]!==void 0&&i["diacritic-sensitive"],1,Q);if(!a)return null;let s=null;return i.locale&&(s=r.parse(i.locale,1,W),!s)?null:new xp(n,a,s)}evaluate(t){return new ll(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)}eachChild(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale)}outputDefined(){return!1}},i1=class vp{constructor(t,r,i,n,a,s){this.type=W,this.number=t,this.locale=r,this.currency=i,this.unit=n,this.minFractionDigits=a,this.maxFractionDigits=s}static parse(t,r){if(t.length!==3)return r.error("Expected two arguments.");let i=r.parse(t[1],1,I);if(!i)return null;let n=t[2];if(typeof n!="object"||Array.isArray(n))return r.error("NumberFormat options argument must be an object.");let a=null;if(n.locale&&(a=r.parse(n.locale,1,W),!a))return null;let s=null;if(n.currency&&(s=r.parse(n.currency,1,W),!s))return null;let o=null;if(n.unit&&(o=r.parse(n.unit,1,W),!o))return null;if(s&&o)return r.error("NumberFormat options `currency` and `unit` are mutually exclusive");let l=null;if(n["min-fraction-digits"]&&(l=r.parse(n["min-fraction-digits"],1,I),!l))return null;let u=null;return n["max-fraction-digits"]&&(u=r.parse(n["max-fraction-digits"],1,I),!u)?null:new vp(i,a,s,o,l,u)}evaluate(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":this.unit?"unit":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,unit:this.unit?this.unit.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))}eachChild(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.unit&&t(this.unit),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)}outputDefined(){return!1}},n1=class bp{constructor(t){this.type=cn,this.input=t}static parse(t,r){if(t.length!==2)return r.error("Expected two arguments.");let i=r.parse(t[1],1,W);return i?new bp(i):r.error("No image name provided.")}evaluate(t){let r=this.input.evaluate(t),i=Dt.fromString(r);return i&&t.availableImages&&(i.available=t.availableImages.indexOf(r)>-1),i}eachChild(t){t(this.input)}outputDefined(){return!1}},a1=class wp{constructor(t,r){this.input=t,this.key=r,this.type=I}static parse(t,r){if(t.length!==2)return r.error(`Expected 1 argument, but found ${t.length-1} instead.`);let i=r.parse(t[1],1);return i?i.type.kind!=="array"&&i.type.kind!=="string"&&i.type.kind!=="value"?r.error(`Expected argument of type string or array, but found ${ye(i.type)} instead.`):new wp(i,r.key):null}evaluate(t){let r=this.input.evaluate(t);if(typeof r=="string")return[...r].length;if(Array.isArray(r))return r.length;throw new ce(`Expected value to be of type string or array, but found ${ye(_e(r))} instead.`,this.key)}eachChild(t){t(this.input)}outputDefined(){return!1}};const bt=8192;function s1(e,t){let r=o1(e[0]),i=u1(e[1]),n=2**t.z;return[Math.round(r*n*bt),Math.round(i*n*bt)]}function hl(e,t){let r=2**t.z,i=(e[0]/bt+t.x)/r,n=(e[1]/bt+t.y)/r;return[l1(i),h1(n)]}function o1(e){return(180+e)/360}function l1(e){return e*360-180}function u1(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function h1(e){return 360/Math.PI*Math.atan(Math.exp((180-e*360)*Math.PI/180))-90}function pn(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[2]=Math.max(e[2],t[0]),e[3]=Math.max(e[3],t[1])}function Wi(e,t){return!(e[0]<=t[0]||e[2]>=t[2]||e[1]<=t[1]||e[3]>=t[3])}function c1(e,t,r){return t[1]>e[1]!=r[1]>e[1]&&e[0]<(r[0]-t[0])*(e[1]-t[1])/(r[1]-t[1])+t[0]}function p1(e,t,r){let i=e[0]-t[0],n=e[1]-t[1],a=e[0]-r[0],s=e[1]-r[1];return i*s-a*n===0&&i*a<=0&&n*s<=0}function Pa(e,t,r,i){let n=[t[0]-e[0],t[1]-e[1]];return m1([i[0]-r[0],i[1]-r[1]],n)!==0&&!!(Hu(e,t,r,i)&&Hu(r,i,e,t))}function f1(e,t,r){for(let i of r)for(let n=0;n<i.length-1;++n)if(Pa(e,t,i[n],i[n+1]))return!0;return!1}function ai(e,t,r=!1){let i=!1;for(let n of t)for(let a=0;a<n.length-1;a++){if(p1(e,n[a],n[a+1]))return r;c1(e,n[a],n[a+1])&&(i=!i)}return i}function d1(e,t){for(let r of t)if(ai(e,r))return!0;return!1}function Dp(e,t){for(let r of e)if(!ai(r,t))return!1;for(let r=0;r<e.length-1;++r)if(f1(e[r],e[r+1],t))return!1;return!0}function y1(e,t){for(let r of t)if(Dp(e,r))return!0;return!1}function m1(e,t){return e[0]*t[1]-e[1]*t[0]}function Hu(e,t,r,i){let n=e[0]-r[0],a=e[1]-r[1],s=t[0]-r[0],o=t[1]-r[1],l=i[0]-r[0],u=i[1]-r[1],h=n*u-l*a,c=s*u-l*o;return h>0&&c<0||h<0&&c>0}function cl(e,t,r){let i=[];for(let n=0;n<e.length;n++){let a=[];for(let s=0;s<e[n].length;s++){let o=s1(e[n][s],r);pn(t,o),a.push(o)}i.push(a)}return i}function _p(e,t,r){let i=[];for(let n=0;n<e.length;n++){let a=cl(e[n],t,r);i.push(a)}return i}function Sp(e,t,r,i){if(e[0]<r[0]||e[0]>r[2]){let n=i*.5,a=e[0]-r[0]>n?-i:r[0]-e[0]>n?i:0;a===0&&(a=e[0]-r[2]>n?-i:r[2]-e[0]>n?i:0),e[0]+=a}pn(t,e)}function g1(e){e[0]=e[1]=1/0,e[2]=e[3]=-1/0}function Ku(e,t,r,i){let n=2**i.z*bt,a=[i.x*bt,i.y*bt],s=[];for(let o of e)for(let l of o){let u=[l.x+a[0],l.y+a[1]];Sp(u,t,r,n),s.push(u)}return s}function Ju(e,t,r,i){let n=2**i.z*bt,a=[i.x*bt,i.y*bt],s=[];for(let o of e){let l=[];for(let u of o){let h=[u.x+a[0],u.y+a[1]];pn(t,h),l.push(h)}s.push(l)}if(t[2]-t[0]<=n/2){g1(t);for(let o of s)for(let l of o)Sp(l,t,r,n)}return s}function x1(e,t){let r=[1/0,1/0,-1/0,-1/0],i=[1/0,1/0,-1/0,-1/0],n=e.canonicalID();if(t.type==="Polygon"){let a=cl(t.coordinates,i,n),s=Ku(e.geometry(),r,i,n);if(!Wi(r,i))return!1;for(let o of s)if(!ai(o,a))return!1}if(t.type==="MultiPolygon"){let a=_p(t.coordinates,i,n),s=Ku(e.geometry(),r,i,n);if(!Wi(r,i))return!1;for(let o of s)if(!d1(o,a))return!1}return!0}function v1(e,t){let r=[1/0,1/0,-1/0,-1/0],i=[1/0,1/0,-1/0,-1/0],n=e.canonicalID();if(t.type==="Polygon"){let a=cl(t.coordinates,i,n),s=Ju(e.geometry(),r,i,n);if(!Wi(r,i))return!1;for(let o of s)if(!Dp(o,a))return!1}if(t.type==="MultiPolygon"){let a=_p(t.coordinates,i,n),s=Ju(e.geometry(),r,i,n);if(!Wi(r,i))return!1;for(let o of s)if(!y1(o,a))return!1}return!0}var pl=class ra{constructor(t,r){this.type=Q,this.geojson=t,this.geometries=r}static parse(t,r){if(t.length!==2)return r.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if(Kr(t[1])){let i=t[1];if(i.type==="FeatureCollection"){let n=[];for(let a of i.features){let{type:s,coordinates:o}=a.geometry;s==="Polygon"&&n.push(o),s==="MultiPolygon"&&n.push(...o)}if(n.length)return new ra(i,{type:"MultiPolygon",coordinates:n})}else if(i.type==="Feature"){let n=i.geometry.type;if(n==="Polygon"||n==="MultiPolygon")return new ra(i,i.geometry)}else if(i.type==="Polygon"||i.type==="MultiPolygon")return new ra(i,i)}return r.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(t){if(t.geometry()!=null&&t.canonicalID()!=null){if(t.geometryType()==="Point")return x1(t,this.geometries);if(t.geometryType()==="LineString")return v1(t,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}},Ap=class{constructor(e=[],t=(r,i)=>r<i?-1:+(r>i)){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let r=(this.length>>1)-1;r>=0;r--)this._down(r)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(this.length===0)return;let e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){let{data:t,compare:r}=this,i=t[e];for(;e>0;){let n=e-1>>1,a=t[n];if(r(i,a)>=0)break;t[e]=a,e=n}t[e]=i}_down(e){let{data:t,compare:r}=this,i=this.length>>1,n=t[e];for(;e<i;){let a=(e<<1)+1,s=a+1;if(s<this.length&&r(t[s],t[a])<0&&(a=s),r(t[a],n)>=0)break;t[e]=t[a],e=a}t[e]=n}};const Qu=Math.PI/180;var fl=class{constructor(e){let t=Qu*6378.137*1e3,r=Math.cos(e*Qu),i=1/(1-.0066943799901413165*(1-r*r)),n=Math.sqrt(i);this.kx=t*n*r,this.ky=t*n*i*.9933056200098587}distance(e,t){let r=this.wrap(e[0]-t[0])*this.kx,i=(e[1]-t[1])*this.ky;return Math.sqrt(r*r+i*i)}pointOnLine(e,t){let r=1/0,i,n,a,s;for(let o=0;o<e.length-1;o++){let l=e[o][0],u=e[o][1],h=this.wrap(e[o+1][0]-l)*this.kx,c=(e[o+1][1]-u)*this.ky,p=0;(h!==0||c!==0)&&(p=(this.wrap(t[0]-l)*this.kx*h+(t[1]-u)*this.ky*c)/(h*h+c*c),p>1?(l=e[o+1][0],u=e[o+1][1]):p>0&&(l+=h/this.kx*p,u+=c/this.ky*p)),h=this.wrap(t[0]-l)*this.kx,c=(t[1]-u)*this.ky;let f=h*h+c*c;f<r&&(r=f,i=l,n=u,a=o,s=p)}return{point:[i,n],index:a,t:Math.max(0,Math.min(1,s))}}wrap(e){for(;e<-180;)e+=360;for(;e>180;)e-=360;return e}};function Ep(e,t){return t[0]-e[0]}function ca(e){return e[1]-e[0]+1}function Lt(e,t){return e[1]>=e[0]&&e[1]<t}function Hs(e,t){if(e[0]>e[1])return[null,null];let r=ca(e);if(t){if(r===2)return[e,null];let n=Math.floor(r/2);return[[e[0],e[0]+n],[e[0]+n,e[1]]]}if(r===1)return[e,null];let i=Math.floor(r/2)-1;return[[e[0],e[0]+i],[e[0]+i+1,e[1]]]}function Ks(e,t){if(!Lt(t,e.length))return[1/0,1/0,-1/0,-1/0];let r=[1/0,1/0,-1/0,-1/0];for(let i=t[0];i<=t[1];++i)pn(r,e[i]);return r}function Js(e){let t=[1/0,1/0,-1/0,-1/0];for(let r of e)for(let i of r)pn(t,i);return t}function eh(e){return e[0]!==-1/0&&e[1]!==-1/0&&e[2]!==1/0&&e[3]!==1/0}function dl(e,t,r){if(!eh(e)||!eh(t))return NaN;let i=0,n=0;return e[2]<t[0]&&(i=t[0]-e[2]),e[0]>t[2]&&(i=e[0]-t[2]),e[1]>t[3]&&(n=e[1]-t[3]),e[3]<t[1]&&(n=t[1]-e[3]),r.distance([0,0],[i,n])}function lr(e,t,r){let i=r.pointOnLine(t,e);return r.distance(e,i.point)}function yl(e,t,r,i,n){let a=Math.min(lr(e,[r,i],n),lr(t,[r,i],n)),s=Math.min(lr(r,[e,t],n),lr(i,[e,t],n));return Math.min(a,s)}function b1(e,t,r,i,n){if(!(Lt(t,e.length)&&Lt(i,r.length)))return 1/0;let a=1/0;for(let s=t[0];s<t[1];++s){let o=e[s],l=e[s+1];for(let u=i[0];u<i[1];++u){let h=r[u],c=r[u+1];if(Pa(o,l,h,c))return 0;a=Math.min(a,yl(o,l,h,c,n))}}return a}function w1(e,t,r,i,n){if(!(Lt(t,e.length)&&Lt(i,r.length)))return NaN;let a=1/0;for(let s=t[0];s<=t[1];++s)for(let o=i[0];o<=i[1];++o)if(a=Math.min(a,n.distance(e[s],r[o])),a===0)return a;return a}function D1(e,t,r){if(ai(e,t,!0))return 0;let i=1/0;for(let n of t){let a=n[0],s=n[n.length-1];if(a!==s&&(i=Math.min(i,lr(e,[s,a],r)),i===0))return i;let o=r.pointOnLine(n,e);if(i=Math.min(i,r.distance(e,o.point)),i===0)return i}return i}function _1(e,t,r,i){if(!Lt(t,e.length))return NaN;for(let a=t[0];a<=t[1];++a)if(ai(e[a],r,!0))return 0;let n=1/0;for(let a=t[0];a<t[1];++a){let s=e[a],o=e[a+1];for(let l of r)for(let u=0,h=l.length,c=h-1;u<h;c=u++){let p=l[c],f=l[u];if(Pa(s,o,p,f))return 0;n=Math.min(n,yl(s,o,p,f,i))}}return n}function th(e,t){for(let r of e)for(let i of r)if(ai(i,t,!0))return!0;return!1}function S1(e,t,r,i=1/0){let n=Js(e),a=Js(t);if(i!==1/0&&dl(n,a,r)>=i)return i;if(Wi(n,a)){if(th(e,t))return 0}else if(th(t,e))return 0;let s=1/0;for(let o of e)for(let l=0,u=o.length,h=u-1;l<u;h=l++){let c=o[h],p=o[l];for(let f of t)for(let d=0,y=f.length,m=y-1;d<y;m=d++){let g=f[m],x=f[d];if(Pa(c,p,g,x))return 0;s=Math.min(s,yl(c,p,g,x,r))}}return s}function rh(e,t,r,i,n,a){if(!a)return;let s=dl(Ks(i,a),n,r);s<t&&e.push([s,a,[0,0]])}function Rn(e,t,r,i,n,a,s){if(!a||!s)return;let o=dl(Ks(i,a),Ks(n,s),r);o<t&&e.push([o,a,s])}function pa(e,t,r,i,n=1/0){let a=Math.min(i.distance(e[0],r[0][0]),n);if(a===0)return a;let s=new Ap([[0,[0,e.length-1],[0,0]]],Ep),o=Js(r);for(;s.length>0;){let l=s.pop();if(l[0]>=a)continue;let u=l[1],h=t?50:100;if(ca(u)<=h){if(!Lt(u,e.length))return NaN;if(t){let c=_1(e,u,r,i);if(isNaN(c)||c===0)return c;a=Math.min(a,c)}else for(let c=u[0];c<=u[1];++c){let p=D1(e[c],r,i);if(a=Math.min(a,p),a===0)return 0}}else{let c=Hs(u,t);rh(s,a,i,e,o,c[0]),rh(s,a,i,e,o,c[1])}}return a}function fa(e,t,r,i,n,a=1/0){let s=Math.min(a,n.distance(e[0],r[0]));if(s===0)return s;let o=new Ap([[0,[0,e.length-1],[0,r.length-1]]],Ep);for(;o.length>0;){let l=o.pop();if(l[0]>=s)continue;let u=l[1],h=l[2],c=t?50:100,p=i?50:100;if(ca(u)<=c&&ca(h)<=p){if(!Lt(u,e.length)&&Lt(h,r.length))return NaN;let f;if(t&&i)f=b1(e,u,r,h,n),s=Math.min(s,f);else if(t&&!i){let d=e.slice(u[0],u[1]+1);for(let y=h[0];y<=h[1];++y)if(f=lr(r[y],d,n),s=Math.min(s,f),s===0)return s}else if(!t&&i){let d=r.slice(h[0],h[1]+1);for(let y=u[0];y<=u[1];++y)if(f=lr(e[y],d,n),s=Math.min(s,f),s===0)return s}else f=w1(e,u,r,h,n),s=Math.min(s,f)}else{let f=Hs(u,t),d=Hs(h,i);Rn(o,s,n,e,r,f[0],d[0]),Rn(o,s,n,e,r,f[0],d[1]),Rn(o,s,n,e,r,f[1],d[0]),Rn(o,s,n,e,r,f[1],d[1])}}return s}function A1(e,t){let r=e.geometry(),i=r.flat().map(s=>hl([s.x,s.y],e.canonical));if(r.length===0)return NaN;let n=new fl(i[0][1]),a=1/0;for(let s of t){switch(s.type){case"Point":a=Math.min(a,fa(i,!1,[s.coordinates],!1,n,a));break;case"LineString":a=Math.min(a,fa(i,!1,s.coordinates,!0,n,a));break;case"Polygon":a=Math.min(a,pa(i,!1,s.coordinates,n,a))}if(a===0)return a}return a}function E1(e,t){let r=e.geometry(),i=r.flat().map(s=>hl([s.x,s.y],e.canonical));if(r.length===0)return NaN;let n=new fl(i[0][1]),a=1/0;for(let s of t){switch(s.type){case"Point":a=Math.min(a,fa(i,!0,[s.coordinates],!1,n,a));break;case"LineString":a=Math.min(a,fa(i,!0,s.coordinates,!0,n,a));break;case"Polygon":a=Math.min(a,pa(i,!0,s.coordinates,n,a))}if(a===0)return a}return a}function F1(e,t){let r=e.geometry();if(r.length===0||r[0].length===0)return NaN;let i=Ba(r,0).map(s=>s.map(o=>o.map(l=>hl([l.x,l.y],e.canonical)))),n=new fl(i[0][0][0][1]),a=1/0;for(let s of t)for(let o of i){switch(s.type){case"Point":a=Math.min(a,pa([s.coordinates],!1,o,n,a));break;case"LineString":a=Math.min(a,pa(s.coordinates,!0,o,n,a));break;case"Polygon":a=Math.min(a,S1(o,s.coordinates,n,a))}if(a===0)return a}return a}function Fs(e){return e.type==="MultiPolygon"?e.coordinates.map(t=>({type:"Polygon",coordinates:t})):e.type==="MultiLineString"?e.coordinates.map(t=>({type:"LineString",coordinates:t})):e.type==="MultiPoint"?e.coordinates.map(t=>({type:"Point",coordinates:t})):[e]}var ml=class ia{constructor(t,r){this.type=I,this.geojson=t,this.geometries=r}static parse(t,r){if(t.length!==2)return r.error(`'distance' expression requires exactly one argument, but found ${t.length-1} instead.`);if(Kr(t[1])){let i=t[1];if(i.type==="FeatureCollection")return new ia(i,i.features.map(n=>Fs(n.geometry)).flat());if(i.type==="Feature")return new ia(i,Fs(i.geometry));if("type"in i&&"coordinates"in i)return new ia(i,Fs(i))}return r.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(t){if(t.geometry()!=null&&t.canonicalID()!=null){if(t.geometryType()==="Point")return A1(t,this.geometries);if(t.geometryType()==="LineString")return E1(t,this.geometries);if(t.geometryType()==="Polygon")return F1(t,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}},T1=class Fp{constructor(t){let r=null;for(let i of t)if(!r)r=i.type;else{if(r===i.type)continue;r=Z;break}this.type=Ne(r??Z,t.length),this.arr=t}static parse(t,r){if(t.length!==2)return r.error(`'semiliteral' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!Kr(t[1]))return r.error(`invalid value of type "${typeof t[1]}"`);let i=t[1],n=_e(i);if(n.kind==="array"){let a=i,s=r.concat(1),o=[];for(let l=0;l<a.length;l++){let u=s.parse(a[l],l,Z);if(!u)return null;o.push(u)}return new Fp(o)}return new Jr(n,i)}evaluate(t){return this.arr.map(r=>r.evaluate(t))}eachChild(t){this.arr.forEach(t)}outputDefined(){return this.arr.every(t=>t.outputDefined())}},gl=class Tp{constructor(t){this.key=t,this.type=Z}static parse(t,r){if(t.length!==2)return r.error(`Expected 1 argument, but found ${t.length-1} instead.`);let i=t[1];return i==null?r.error("Global state property must be defined."):typeof i=="string"?new Tp(i):r.error(`Global state property must be string, but found ${typeof t[1]} instead.`)}evaluate(t){var i;let r=(i=t.globals)==null?void 0:i.globalState;return!r||Object.keys(r).length===0?null:Ri(r,this.key)??null}eachChild(){}outputDefined(){return!1}};const Ur={"==":Km,"!=":Jm,">":e1,"<":Qm,">=":r1,"<=":t1,array:It,at:Mm,boolean:It,case:Om,coalesce:dp,collator:gp,format:tp,image:n1,in:zm,"index-of":Lm,interpolate:vt,"interpolate-hcl":vt,"interpolate-lab":vt,length:a1,let:sp,literal:Jr,match:Vm,number:It,"number-format":i1,object:It,semiliteral:T1,slice:Rm,step:ul,string:It,"to-boolean":Rr,"to-color":Rr,"to-number":Rr,"to-string":Rr,var:lp,within:pl,distance:ml,"global-state":gl};var xt=class extends Error{constructor(e,t){super(t),this.message=t,this.key=e}},k1=class kp{constructor(t,r=[]){this.parent=t,this.bindings={};for(let[i,n]of r)this.bindings[i]=n}concat(t){return new kp(this,t)}get(t){if(this.bindings[t])return this.bindings[t];if(this.parent)return this.parent.get(t);throw Error(`${t} not found in scope.`)}has(t){return this.bindings[t]?!0:this.parent?this.parent.has(t):!1}},Ip=class Cp{constructor(t,r,i=[],n,a=new k1,s=[]){this.registry=t,this.path=i,this.key=i.map(o=>`[${o}]`).join(""),this.scope=a,this.errors=s,this.expectedType=n,this._isConstant=r}parse(t,r,i,n,a={}){return r==null?this._parse(t,a):this.concat(r,i,n)._parse(t,a)}_parse(t,r){(t===null||typeof t=="string"||typeof t=="boolean"||typeof t=="number")&&(t=["literal",t]);let i=this.key;function n(a,s,o){return o==="assert"?new It(s,[a],i):o==="coerce"?new Rr(s,[a],i):a}if(Array.isArray(t)){if(t.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');let a=t[0];if(typeof a!="string")return this.error(`Expression name must be a string, but found ${typeof a} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;let s=this.registry[a];if(s){let o=s.parse(t,this);if(!o)return null;if(this.expectedType){let l=this.expectedType,u=o.type;if((l.kind==="string"||l.kind==="number"||l.kind==="boolean"||l.kind==="object"||l.kind==="array")&&u.kind==="value")o=n(o,l,r.typeAnnotation||"assert");else if(l.kind==="projectionDefinition"&&["string","array","value"].includes(u.kind)||["color","formatted","resolvedImage"].includes(l.kind)&&["value","string"].includes(u.kind)||["padding","numberArray"].includes(l.kind)&&["value","number","array"].includes(u.kind)||l.kind==="colorArray"&&["value","string","array"].includes(u.kind)||l.kind==="variableAnchorOffsetCollection"&&["value","array"].includes(u.kind))o=n(o,l,r.typeAnnotation||"coerce");else if(this.checkSubtype(l,u))return null}if(!(o instanceof Jr)&&o.type.kind!=="resolvedImage"&&this._isConstant(o)){let l=new Qc;try{o=new Jr(o.type,o.evaluate(l))}catch(u){return this.error(u.message),null}}return o}return this.error(`Unknown expression "${a}". If you wanted a literal array, use ["literal", [...]].`,0)}return t===void 0?this.error("'undefined' value invalid. Use null instead."):typeof t=="object"?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error(`Expected an array, but found ${typeof t} instead.`)}concat(t,r,i){let n=typeof t=="number"?this.path.concat(t):this.path,a=i?this.scope.concat(i):this.scope;return new Cp(this.registry,this._isConstant,n,r||null,a,this.errors)}error(t,...r){let i=`${this.key}${r.map(n=>`[${n}]`).join("")}`;this.errors.push(new xt(i,t))}checkSubtype(t,r){let i=Yi(t,r);return i&&this.error(i),i}},br=class Mi{constructor(t,r,i,n,a){this.name=t,this.type=r,this._evaluate=i,this.args=n,this.key=a}evaluate(t){return this._evaluate(t,this.args,this.key)}eachChild(t){this.args.forEach(t)}outputDefined(){return!1}static parse(t,r){let i=t[0],n=Mi.definitions[i];if(!n)return r.error(`Unknown expression "${i}". If you wanted a literal array, use ["literal", [...]].`,0);let a=Array.isArray(n)?n[0]:n.type,s=Array.isArray(n)?[[n[1],n[2]]]:n.overloads,o=s.filter(([u])=>!Array.isArray(u)||u.length===t.length-1),l=null;for(let[u,h]of o){l=new Ip(r.registry,da,r.path,null,r.scope);let c=[],p=!1;for(let f=1;f<t.length;f++){let d=t[f],y=Array.isArray(u)?u[f-1]:u.type,m=l.parse(d,1+c.length,y);if(!m){p=!0;break}c.push(m)}if(!p){if(Array.isArray(u)&&u.length!==c.length){l.error(`Expected ${u.length} arguments, but found ${c.length} instead.`);continue}for(let f=0;f<c.length;f++){let d=Array.isArray(u)?u[f]:u.type,y=c[f];l.concat(f+1).checkSubtype(d,y.type)}if(l.errors.length===0)return new Mi(i,a,h,c,r.key)}}if(o.length===1)r.errors.push(...l.errors);else{let u=(o.length?o:s).map(([c])=>C1(c)).join(" | "),h=[];for(let c=1;c<t.length;c++){let p=r.parse(t[c],1+h.length);if(!p)return null;h.push(ye(p.type))}r.error(`Expected arguments of type ${u}, but found (${h.join(", ")}) instead.`)}return null}static register(t,r){Mi.definitions=r;for(let i in r)t[i]=Mi}};function ih(e,[t,r,i,n],a){t=t.evaluate(e),r=r.evaluate(e),i=i.evaluate(e);let s=n?n.evaluate(e):1,o=Kc(t,r,i,s);if(o)throw new ce(o,a);return new me(t/255,r/255,i/255,s,!1)}function nh(e,t){return e in t&&t[e]!==void 0}function Ts(e,t){let r=t[e];return r===void 0?null:r}function I1(e,t,r,i){for(;r<=i;){let n=r+i>>1;if(t[n]===e)return!0;t[n]>e?i=n-1:r=n+1}return!1}function ir(e){return{type:e}}br.register(Ur,{error:[mm,[W],(e,[t],r)=>{throw new ce(t.evaluate(e),r)}],typeof:[W,[Z],(e,[t])=>ye(_e(t.evaluate(e)))],"to-rgba":[Ne(I,4),[ct],(e,[t])=>{let[r,i,n,a]=t.evaluate(e).rgb;return[r*255,i*255,n*255,a]}],rgb:[ct,[I,I,I],ih],rgba:[ct,[I,I,I,I],ih],has:{type:Q,overloads:[[[W],(e,[t])=>nh(t.evaluate(e),e.properties())],[[W,cr],(e,[t,r])=>nh(t.evaluate(e),r.evaluate(e))]]},get:{type:Z,overloads:[[[W],(e,[t])=>Ts(t.evaluate(e),e.properties())],[[W,cr],(e,[t,r])=>Ts(t.evaluate(e),r.evaluate(e))]]},"feature-state":[Z,[W],(e,[t])=>Ts(t.evaluate(e),e.featureState||{})],properties:[cr,[],e=>e.properties()],"geometry-type":[W,[],e=>e.geometryType()],id:[Z,[],e=>e.id()],zoom:[I,[],e=>e.globals.zoom],"heatmap-density":[I,[],e=>e.globals.heatmapDensity||0],elevation:[I,[],e=>e.globals.elevation||0],"line-progress":[I,[],e=>e.globals.lineProgress||0],accumulated:[Z,[],e=>e.globals.accumulated===void 0?null:e.globals.accumulated],"+":[I,ir(I),(e,t)=>{let r=0;for(let i of t)r+=i.evaluate(e);return r}],"*":[I,ir(I),(e,t)=>{let r=1;for(let i of t)r*=i.evaluate(e);return r}],"-":{type:I,overloads:[[[I,I],(e,[t,r])=>t.evaluate(e)-r.evaluate(e)],[[I],(e,[t])=>-t.evaluate(e)]]},"/":[I,[I,I],(e,[t,r])=>t.evaluate(e)/r.evaluate(e)],"%":[I,[I,I],(e,[t,r])=>t.evaluate(e)%r.evaluate(e)],ln2:[I,[],()=>Math.LN2],pi:[I,[],()=>Math.PI],e:[I,[],()=>Math.E],"^":[I,[I,I],(e,[t,r])=>t.evaluate(e)**+r.evaluate(e)],sqrt:[I,[I],(e,[t])=>Math.sqrt(t.evaluate(e))],log10:[I,[I],(e,[t])=>Math.log(t.evaluate(e))/Math.LN10],ln:[I,[I],(e,[t])=>Math.log(t.evaluate(e))],log2:[I,[I],(e,[t])=>Math.log(t.evaluate(e))/Math.LN2],sin:[I,[I],(e,[t])=>Math.sin(t.evaluate(e))],cos:[I,[I],(e,[t])=>Math.cos(t.evaluate(e))],tan:[I,[I],(e,[t])=>Math.tan(t.evaluate(e))],asin:[I,[I],(e,[t])=>Math.asin(t.evaluate(e))],acos:[I,[I],(e,[t])=>Math.acos(t.evaluate(e))],atan:[I,[I],(e,[t])=>Math.atan(t.evaluate(e))],min:[I,ir(I),(e,t)=>Math.min(...t.map(r=>r.evaluate(e)))],max:[I,ir(I),(e,t)=>Math.max(...t.map(r=>r.evaluate(e)))],abs:[I,[I],(e,[t])=>Math.abs(t.evaluate(e))],round:[I,[I],(e,[t])=>{let r=t.evaluate(e);return r<0?-Math.round(-r):Math.round(r)}],floor:[I,[I],(e,[t])=>Math.floor(t.evaluate(e))],ceil:[I,[I],(e,[t])=>Math.ceil(t.evaluate(e))],"filter-==":[Q,[W,Z],(e,[t,r])=>e.properties()[t.value]===r.value],"filter-id-==":[Q,[Z],(e,[t])=>e.id()===t.value],"filter-type-==":[Q,[W],(e,[t])=>e.geometryType()===t.value],"filter-<":[Q,[W,Z],(e,[t,r])=>{let i=e.properties()[t.value],n=r.value;return typeof i==typeof n&&i<n}],"filter-id-<":[Q,[Z],(e,[t])=>{let r=e.id(),i=t.value;return typeof r==typeof i&&r<i}],"filter->":[Q,[W,Z],(e,[t,r])=>{let i=e.properties()[t.value],n=r.value;return typeof i==typeof n&&i>n}],"filter-id->":[Q,[Z],(e,[t])=>{let r=e.id(),i=t.value;return typeof r==typeof i&&r>i}],"filter-<=":[Q,[W,Z],(e,[t,r])=>{let i=e.properties()[t.value],n=r.value;return typeof i==typeof n&&i<=n}],"filter-id-<=":[Q,[Z],(e,[t])=>{let r=e.id(),i=t.value;return typeof r==typeof i&&r<=i}],"filter->=":[Q,[W,Z],(e,[t,r])=>{let i=e.properties()[t.value],n=r.value;return typeof i==typeof n&&i>=n}],"filter-id->=":[Q,[Z],(e,[t])=>{let r=e.id(),i=t.value;return typeof r==typeof i&&r>=i}],"filter-has":[Q,[Z],(e,[t])=>{let r=t.value,i=e.properties();return r in i&&i[r]!==void 0}],"filter-has-id":[Q,[],e=>e.id()!==null&&e.id()!==void 0],"filter-type-in":[Q,[Ne(W)],(e,[t])=>t.value.indexOf(e.geometryType())>=0],"filter-id-in":[Q,[Ne(Z)],(e,[t])=>t.value.indexOf(e.id())>=0],"filter-in-small":[Q,[W,Ne(Z)],(e,[t,r])=>r.value.indexOf(e.properties()[t.value])>=0],"filter-in-large":[Q,[W,Ne(Z)],(e,[t,r])=>I1(e.properties()[t.value],r.value,0,r.value.length-1)],all:{type:Q,overloads:[[[Q,Q],(e,[t,r])=>t.evaluate(e)&&r.evaluate(e)],[ir(Q),(e,t)=>{for(let r of t)if(!r.evaluate(e))return!1;return!0}]]},any:{type:Q,overloads:[[[Q,Q],(e,[t,r])=>t.evaluate(e)||r.evaluate(e)],[ir(Q),(e,t)=>{for(let r of t)if(r.evaluate(e))return!0;return!1}]]},"!":[Q,[Q],(e,[t])=>!t.evaluate(e)],"is-supported-script":[Q,[W],(e,[t])=>{let r=e.globals&&e.globals.isSupportedScript;return!r||r(t.evaluate(e))}],upcase:[W,[W],(e,[t])=>t.evaluate(e).toUpperCase()],downcase:[W,[W],(e,[t])=>t.evaluate(e).toLowerCase()],concat:[W,ir(Z),(e,t)=>t.map(r=>$i(r.evaluate(e))).join("")],split:[Ne(W),[W,W],(e,[t,r])=>t.evaluate(e).split(r.evaluate(e))],join:[W,[Ne(W),W],(e,[t,r])=>t.evaluate(e).join(r.evaluate(e))],"resolved-locale":[W,[Fa],(e,[t])=>t.evaluate(e).resolvedLocale()]});function C1(e){return Array.isArray(e)?`(${e.map(ye).join(", ")})`:`(${ye(e.type)}...)`}function da(e){if(e instanceof lp)return da(e.boundExpression);if(e instanceof br&&e.name==="error"||e instanceof gp||e instanceof pl||e instanceof ml||e instanceof gl)return!1;let t=e instanceof Rr||e instanceof It,r=!0;return e.eachChild(i=>{r&&(r=t?da(i):i instanceof Jr)}),r?Ma(e)&&za(e,["zoom","heatmap-density","elevation","line-progress","accumulated","is-supported-script"]):!1}function Ma(e){if(e instanceof br&&(e.name==="get"&&e.args.length===1||e.name==="feature-state"||e.name==="has"&&e.args.length===1||e.name==="properties"||e.name==="geometry-type"||e.name==="id"||/^filter-/.test(e.name))||e instanceof pl||e instanceof ml)return!1;let t=!0;return e.eachChild(r=>{t&&!Ma(r)&&(t=!1)}),t}function Zi(e){if(e instanceof br&&e.name==="feature-state")return!1;let t=!0;return e.eachChild(r=>{t&&!Zi(r)&&(t=!1)}),t}function za(e,t){if(e instanceof br&&t.indexOf(e.name)>=0)return!1;let r=!0;return e.eachChild(i=>{r&&!za(i,t)&&(r=!1)}),r}function Qr(e){return e["property-type"]==="data-driven"||e["property-type"]==="cross-faded-data-driven"}function Bp(e){return!!e.expression&&e.expression.parameters.indexOf("zoom")>-1}function xl(e){return!!e.expression&&e.expression.interpolated}const vl=/^(.*)-transition$/;function Hi(e,...t){for(let r of t)for(let i in r)e[i]=r[i];return e}function J(e){return e instanceof Number?"number":e instanceof String?"string":e instanceof Boolean?"boolean":Array.isArray(e)?"array":e===null?"null":typeof e}function La(e){return typeof e=="object"&&!!e&&!Array.isArray(e)&&_e(e)===cr}function B1(e){return e}function P1(e){switch(e.type){case"color":return me.parse;case"padding":return _t.parse;case"numberArray":return St.parse;case"colorArray":return ot.parse;default:return null}}function M1(e){switch(e){case"exponential":return Mp;case"interval":return L1;case"categorical":return z1;case"identity":return V1;default:throw Error(`Unknown function type "${e}"`)}}function Pp(e,t){let r=e.stops&&typeof e.stops[0][0]=="object",i=r||e.property!==void 0,n=r||!i,a=e.type||(xl(t)?"exponential":"interval"),s=P1(t);if(s&&(e=Hi({},e),e.stops&&(e.stops=e.stops.map(h=>[h[0],s(h[1])])),e.default?e.default=s(e.default):e.default=s(t.default)),e.colorSpace&&!Em(e.colorSpace))throw Error(`Unknown color space: "${e.colorSpace}"`);let o=M1(a),l,u;if(a==="categorical"){l=Object.create(null);for(let h of e.stops)l[h[0]]=h[1];u=typeof e.stops[0][0]}if(r){let h={},c=[];for(let d=0;d<e.stops.length;d++){let y=e.stops[d],m=y[0].zoom;h[m]===void 0&&(h[m]={zoom:m,type:e.type,property:e.property,default:e.default,stops:[]},c.push(m)),h[m].stops.push([y[0].value,y[1]])}let p=[];for(let d of c)p.push([h[d].zoom,Pp(h[d],t)]);let f={name:"linear"};return{kind:"composite",interpolationType:f,interpolationFactor:vt.interpolationFactor.bind(void 0,f),zoomStops:p.map(d=>d[0]),evaluate({zoom:d},y){return Mp({stops:p,base:e.base},t,d).evaluate(d,y)}}}if(n){let h=a==="exponential"?{name:"exponential",base:e.base===void 0?1:e.base}:null;return{kind:"camera",interpolationType:h,interpolationFactor:vt.interpolationFactor.bind(void 0,h),zoomStops:e.stops.map(c=>c[0]),evaluate:({zoom:c})=>o(e,t,c,l,u)}}return{kind:"source",evaluate(h,c){let p=c&&c.properties?c.properties[e.property]:void 0;return p===void 0?fn(e.default,t.default):o(e,t,p,l,u)}}}function fn(e,t,r){if(e!==void 0)return e;if(t!==void 0)return t;if(r!==void 0)return r}function z1(e,t,r,i,n){return fn(typeof r===n?i[r]:void 0,e.default,t.default)}function L1(e,t,r){if(J(r)!=="number")return fn(e.default,t.default);let i=e.stops.length;if(i===1||r<=e.stops[0][0])return e.stops[0][1];if(r>=e.stops[i-1][0])return e.stops[i-1][1];let n=Ca(e.stops.map(a=>a[0]),r,"");return e.stops[n][1]}function Mp(e,t,r){let i=e.base===void 0?1:e.base;if(J(r)!=="number")return fn(e.default,t.default);let n=e.stops.length;if(n===1||r<=e.stops[0][0])return e.stops[0][1];if(r>=e.stops[n-1][0])return e.stops[n-1][1];let a=Ca(e.stops.map(h=>h[0]),r,""),s=O1(r,i,e.stops[a][0],e.stops[a+1][0]),o=e.stops[a][1],l=e.stops[a+1][1],u=dr[t.type]||B1;return typeof o.evaluate=="function"?{evaluate(...h){let c=o.evaluate.apply(void 0,h),p=l.evaluate.apply(void 0,h);if(c!==void 0&&p!==void 0)return u(c,p,s,e.colorSpace)}}:u(o,l,s,e.colorSpace)}function V1(e,t,r){switch(t.type){case"color":r=me.parse(r);break;case"formatted":r=zt.fromString(r.toString());break;case"resolvedImage":r=Dt.fromString(r.toString());break;case"padding":r=_t.parse(r);break;case"colorArray":r=ot.parse(r);break;case"numberArray":r=St.parse(r);break;default:J(r)!==t.type&&(t.type!=="enum"||!t.values[r])&&(r=void 0)}return fn(r,e.default,t.default)}function O1(e,t,r,i){let n=i-r,a=e-r;return n===0?0:t===1?a/n:(t**+a-1)/(t**+n-1)}function Qs(e){return{result:"success",value:e}}function Lr(e){return{result:"error",value:e}}var bl=class{constructor(e,t,r,i){this.expression=e,this._warningHistory={},this._evaluator=new Qc,this._defaultValue=r?$p(r):null,this._enumValues=r&&r.type==="enum"?r.values:null,this._globalState=i,this._rootKey=t}evaluateWithoutErrorHandling(e,t,r,i,n,a){return this._globalState&&(e=ei(e,this._globalState)),this._evaluator.globals=e,this._evaluator.feature=t,this._evaluator.featureState=r,this._evaluator.canonical=i,this._evaluator.availableImages=n||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)}evaluate(e,t,r,i,n,a){this._globalState&&(e=ei(e,this._globalState)),this._evaluator.globals=e,this._evaluator.feature=t||null,this._evaluator.featureState=r||null,this._evaluator.canonical=i,this._evaluator.availableImages=n||null,this._evaluator.formattedSection=a||null;try{let s=this.expression.evaluate(this._evaluator);if(s==null||typeof s=="number"&&s!==s)return this._defaultValue;if(this._enumValues&&!(s in this._enumValues))throw new ce(`Expected value to be one of ${Object.keys(this._enumValues).map(o=>JSON.stringify(o)).join(", ")}, but found ${JSON.stringify(s)} instead.`,"");return s}catch(s){let o=s instanceof ce?s.path:"",l=`${o}|${s.message}`;return this._warningHistory[l]||(this._warningHistory[l]=!0,typeof console<"u"&&console.warn(zp(this._rootKey,o,s.message,this._defaultValue))),this._defaultValue}}};function zp(e,t,r,i){return`${e}${t}: ${r}${i==null?"":` Falling back to ${String(i)}.`}`}function Lp(e){if(!e)throw Error('rootKey must identify the location of the expression in the style JSON, e.g. "layers[3].paint.line-width".')}function Va(e){return Array.isArray(e)&&e.length>0&&typeof e[0]=="string"&&e[0]in Ur}function yr(e,t,r,i){Lp(t);let n=new Ip(Ur,da,[],r?N1(r):void 0),a=n.parse(e,void 0,void 0,void 0,r&&r.type==="string"?{typeAnnotation:"coerce"}:void 0);return a?Qs(new bl(a,t,r,i)):Lr(n.errors)}var Ki=class{constructor(e,t,r){this.kind=e,this._styleExpression=t,this.isStateDependent=e!=="constant"&&!Zi(t.expression),this.globalStateRefs=dn(t.expression),this._globalState=r}evaluateWithoutErrorHandling(e,t,r,i,n,a){return this._globalState&&(e=ei(e,this._globalState)),this._styleExpression.evaluateWithoutErrorHandling(e,t,r,i,n,a)}evaluate(e,t,r,i,n,a){return this._globalState&&(e=ei(e,this._globalState)),this._styleExpression.evaluate(e,t,r,i,n,a)}},ya=class{constructor(e,t,r,i,n){this.kind=e,this.zoomStops=r,this._styleExpression=t,this.isStateDependent=e!=="camera"&&!Zi(t.expression),this.globalStateRefs=dn(t.expression),this.interpolationType=i,this._globalState=n}evaluateWithoutErrorHandling(e,t,r,i,n,a){return this._globalState&&(e=ei(e,this._globalState)),this._styleExpression.evaluateWithoutErrorHandling(e,t,r,i,n,a)}evaluate(e,t,r,i,n,a){return this._globalState&&(e=ei(e,this._globalState)),this._styleExpression.evaluate(e,t,r,i,n,a)}interpolationFactor(e,t,r){return this.interpolationType?vt.interpolationFactor(this.interpolationType,e,t,r):0}};function R1(e){return e._styleExpression!==void 0}function Vp(e,t,r,i){let n=yr(e,t,r,i);if(n.result==="error")return n;let a=n.value.expression,s=Ma(a);if(!s&&!Qr(r))return Lr([new xt("","data expressions not supported")]);let o=za(a,["zoom"]);if(!o&&!Bp(r))return Lr([new xt("","zoom expressions not supported")]);let l=na(a);if(!l&&!o)return Lr([new xt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(l instanceof xt)return Lr([l]);if(l instanceof vt&&!xl(r))return Lr([new xt("",'"interpolate" expressions cannot be used with this property')]);if(!l)return Qs(s?new Ki("constant",n.value,i):new Ki("source",n.value,i));let u=l instanceof vt?l.interpolation:void 0;return Qs(s?new ya("camera",n.value,l.labels,u,i):new ya("composite",n.value,l.labels,u,i))}var Op=class Rp{constructor(t,r,i){this.isStateDependent=!1,this.globalStateRefs=new Set,this._globalState=null,Lp(r),this._parameters=t,this._specification=i,this._rootKey=r,this._defaultValue=$p(i),this._warningHistory={};let n=Pp(this._parameters,this._specification);this.kind=n.kind,this.interpolationFactor=n.interpolationFactor,this.zoomStops=n.zoomStops,this.interpolationType=n.interpolationType,this._innerEvaluate=n.evaluate}evaluate(t,r){try{return this._innerEvaluate(t,r)}catch(i){let n=i instanceof Error?i.message:String(i),a=`|${n}`;return this._warningHistory[a]||(this._warningHistory[a]=!0,typeof console<"u"&&console.warn(zp(this._rootKey,"",n,this._defaultValue))),this._defaultValue}}static deserialize(t){return new Rp(t._parameters,t._rootKey,t._specification)}static serialize(t){return{_parameters:t._parameters,_specification:t._specification,_rootKey:t._rootKey}}};function $1(e,t,r,i){if(La(e))return new Op(e,t,r);if(Va(e)){let n=Vp(e,t,r,i);if(n.result==="error")throw Error(n.value.map(a=>`${a.key}: ${a.message}`).join(", "));return n.value}{let n=e;return r.type==="color"&&typeof e=="string"?n=me.parse(e):r.type==="padding"&&(typeof e=="number"||Array.isArray(e))?n=_t.parse(e):r.type==="numberArray"&&(typeof e=="number"||Array.isArray(e))?n=St.parse(e):r.type==="colorArray"&&(typeof e=="string"||Array.isArray(e))?n=ot.parse(e):r.type==="variableAnchorOffsetCollection"&&Array.isArray(e)?n=wt.parse(e):r.type==="projectionDefinition"&&typeof e=="string"&&(n=vr.parse(e)),{globalStateRefs:new Set,_globalState:null,kind:"constant",evaluate:()=>n}}}function na(e){let t=null;if(e instanceof sp)t=na(e.result);else if(e instanceof dp){for(let r of e.args)if(t=na(r),t)break}else(e instanceof ul||e instanceof vt)&&e.input instanceof br&&e.input.name==="zoom"&&(t=e);return t instanceof xt||e.eachChild(r=>{let i=na(r);i instanceof xt?t=i:!t&&i?t=new xt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):t&&i&&t!==i&&(t=new xt("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),t}function dn(e,t=new Set){return e instanceof gl&&t.add(e.key),e.eachChild(r=>{dn(r,t)}),t}function N1(e){let t={color:ct,string:W,number:I,enum:W,boolean:Q,formatted:hn,padding:Ta,numberArray:ka,colorArray:Xi,projectionDefinition:Ea,resolvedImage:cn,variableAnchorOffsetCollection:Ia};return e.type==="array"?Ne(t[e.value]||Z,e.length):t[e.type]}function $p(e){if(e.type==="color"&&La(e.default))return new me(0,0,0,0);switch(e.type){case"color":return me.parse(e.default)||null;case"padding":return _t.parse(e.default)||null;case"numberArray":return St.parse(e.default)||null;case"colorArray":return ot.parse(e.default)||null;case"variableAnchorOffsetCollection":return wt.parse(e.default)||null;case"projectionDefinition":return vr.parse(e.default)||null;default:return e.default===void 0?null:e.default}}function ei(e,t){let{zoom:r,heatmapDensity:i,elevation:n,lineProgress:a,isSupportedScript:s,accumulated:o}=e??{};return{zoom:r,heatmapDensity:i,elevation:n,lineProgress:a,isSupportedScript:s,accumulated:o,globalState:t}}function U1(e){let t=!1;for(let r of e){let i=Np(r);if(i==="expression")return"expression";i==="legacy"&&(t=!0)}return t?"legacy":"neutral"}function Np(e){if(typeof e=="boolean")return"neutral";if(!Array.isArray(e)||e.length===0)return"legacy";switch(e[0]){case"has":return e.length<2||e[1]==="$id"||e[1]==="$type"?"legacy":e.length===2?"neutral":"expression";case"in":return e.length>=3&&(typeof e[1]!="string"||Array.isArray(e[2]))?"expression":"legacy";case"!in":case"!has":return"legacy";case"==":case"!=":case">":case">=":case"<":case"<=":return e.length!==3||Array.isArray(e[1])||Array.isArray(e[2])?"expression":"legacy";case"none":return"legacy";case"any":case"all":return U1(e.slice(1));default:return"expression"}}function wl(e){return Np(e)!=="legacy"}function ah(e){return e==="$type"?["geometry-type"]:e==="$id"?["id"]:["get",e]}function q1(e){switch(e[0]){case"==":case"!=":case"<":case"<=":case">":case">=":return e.length!==3||typeof e[1]!="string"?null:[e[0],ah(e[1]),e[2]];case"in":case"!in":{if(e.length<2||typeof e[1]!="string")return null;let t=["in",ah(e[1]),["literal",e.slice(2)]];return e[0]==="!in"?["!",t]:t}case"has":case"!has":{if(e.length!==2||typeof e[1]!="string"||e[1]==="$type"||e[1]==="$id")return null;let t=["has",e[1]];return e[0]==="!has"?["!",t]:t}default:return null}}function Up(e){if((e[0]==="<"||e[0]==="<="||e[0]===">"||e[0]===">=")&&e[1]==="$type")return`"$type" cannot be use with operator "${e[0]}"`;let t=q1(e);return t?`Mixing deprecated filter syntax with expression syntax is not supported. Replace ${JSON.stringify(e)} with ${JSON.stringify(t)}.`:`Mixing deprecated filter syntax with expression syntax is not supported. Convert ${JSON.stringify(e)} to expression syntax.`}function ks(e,t,r){let i=r[e];return Array.isArray(i)?wl(i)?Dl(i,t.concat(e)):{path:t.concat(e),legacyFilter:i}:null}function Dl(e,t=[]){if(!Array.isArray(e)||e.length<1)return null;switch(e[0]){case"all":case"any":case"none":for(let r=1;r<e.length;r++){let i=ks(r,t,e);if(i)return i}break;case"!":{let r=ks(1,t,e);if(r)return r;break}case"case":for(let r=1;r<e.length-1;r+=2){let i=ks(r,t,e);if(i)return i}}return null}function j1(e,t){let r=Dl(e);if(!r||typeof console>"u")return;let i=r.path.map(n=>`[${n}]`).join("");console.warn(`${t}${i}: ${Up(r.legacyFilter)}`)}const G1={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function Ji(e,t,r){if(e==null)return{filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set};wl(e)?j1(e,t):e=ma(e);let i=yr(e,t,G1,r);if(i.result==="error")throw Error(i.value.map(n=>`${n.key}: ${n.message}`).join(", "));return{filter:(n,a,s)=>i.value.evaluate(n,a,{},s),needGeometry:qp(e),getGlobalStateRefs:()=>dn(i.value.expression)}}function X1(e,t){return e<t?-1:+(e>t)}function qp(e){if(!Array.isArray(e))return!1;if(e[0]==="within"||e[0]==="distance")return!0;for(let t=1;t<e.length;t++)if(qp(e[t]))return!0;return!1}function ma(e){if(!e)return!0;let t=e[0];return e.length<=1?t!=="any":t==="=="?Is(e[1],e[2],"=="):t==="!="?$n(Is(e[1],e[2],"==")):t==="<"||t===">"||t==="<="||t===">="?Is(e[1],e[2],t):t==="any"?Y1(e.slice(1)):t==="all"?["all"].concat(e.slice(1).map(ma)):t==="none"?["all"].concat(e.slice(1).map(ma).map($n)):t==="in"?sh(e[1],e.slice(2)):t==="!in"?$n(sh(e[1],e.slice(2))):t==="has"?oh(e[1]):t!=="!has"||$n(oh(e[1]))}function Is(e,t,r){switch(e){case"$type":return[`filter-type-${r}`,t];case"$id":return[`filter-id-${r}`,t];default:return[`filter-${r}`,e,t]}}function Y1(e){return["any"].concat(e.map(ma))}function sh(e,t){if(t.length===0)return!1;switch(e){case"$type":return["filter-type-in",["literal",t]];case"$id":return["filter-id-in",["literal",t]];default:return t.length>200&&!t.some(r=>typeof r!=typeof t[0])?["filter-in-large",e,["literal",t.sort(X1)]]:["filter-in-small",e,["literal",t]]}}function oh(e){switch(e){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",e]}}function $n(e){return["!",e]}function jp(e){let t=e.key,r=e.value;return r?[new E(t,r,"constants have been deprecated as of v8")]:[]}function De(e){return e instanceof Number||e instanceof String||e instanceof Boolean?e.valueOf():e}function mr(e){if(Array.isArray(e))return e.map(mr);if(e instanceof Object&&!(e instanceof Number||e instanceof String||e instanceof Boolean)){let t={};for(let r in e)t[r]=mr(e[r]);return t}return De(e)}function et(e){let t=e.key,r=e.value,i=e.valueSpec||{},n=e.objectElementValidators||{},a=e.style,s=e.styleSpec,o=e.validateSpec,l=[],u=J(r);if(u!=="object")return[new E(t,r,`object expected, ${u} found`)];for(let h in r){let c=h.split(".")[0],p=Ri(i,c)||i["*"],f;if(Ri(n,c))f=n[c];else if(Ri(i,c)){if(r[h]===void 0)continue;f=o}else if(n["*"])f=n["*"];else if(i["*"])f=o;else{l.push(new E(t,r[h],`unknown property "${h}"`));continue}l=l.concat(f({key:(t&&`${t}.`)+h,value:r[h],valueSpec:p,style:a,styleSpec:s,object:r,objectKey:h,validateSpec:o},r))}for(let h in i)n[h]||i[h].required&&i[h].default===void 0&&r[h]===void 0&&l.push(new E(t,r,`missing required property "${h}"`));return l}function _l(e){let t=e.value,r=e.valueSpec,i=e.validateSpec,n=e.style,a=e.styleSpec,s=e.key,o=e.arrayElementValidator||i;if(J(t)!=="array")return[new E(s,t,`array expected, ${J(t)} found`)];if(r.length&&t.length!==r.length)return[new E(s,t,`array length ${r.length} expected, length ${t.length} found`)];let l={type:r.value,values:r.values};a.$version<7&&(l.function=r.function),J(r.value)==="object"&&(l=r.value);let u=[];for(let h=0;h<t.length;h++)u=u.concat(o({array:t,arrayIndex:h,value:t[h],valueSpec:l,validateSpec:e.validateSpec,style:n,styleSpec:a,key:`${s}[${h}]`}));return u}function Oa(e){let t=e.key,r=e.value,i=e.valueSpec,n=J(r);return n==="number"&&r!==r&&(n="NaN"),n==="number"?"minimum"in i&&r<i.minimum?[new E(t,r,`${r} is less than the minimum value ${i.minimum}`)]:"maximum"in i&&r>i.maximum?[new E(t,r,`${r} is greater than the maximum value ${i.maximum}`)]:[]:[new E(t,r,`number expected, ${n} found`)]}function Gp(e){let t=e.valueSpec,r=De(e.value.type),i,n={},a,s,o=r!=="categorical"&&e.value.property===void 0,l=!o,u=J(e.value.stops)==="array"&&J(e.value.stops[0])==="array"&&J(e.value.stops[0][0])==="object",h=et({key:e.key,value:e.value,valueSpec:e.styleSpec.function,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{stops:c,default:d}});return r==="identity"&&o&&h.push(new E(e.key,e.value,'missing required property "property"')),r!=="identity"&&!e.value.stops&&h.push(new E(e.key,e.value,'missing required property "stops"')),r==="exponential"&&e.valueSpec.expression&&!xl(e.valueSpec)&&h.push(new E(e.key,e.value,"exponential functions not supported")),e.styleSpec.$version>=8&&(l&&!Qr(e.valueSpec)?h.push(new E(e.key,e.value,"property functions not supported")):o&&!Bp(e.valueSpec)&&h.push(new E(e.key,e.value,"zoom functions not supported"))),(r==="categorical"||u)&&e.value.property===void 0&&h.push(new E(e.key,e.value,'"property" property is required')),h;function c(y){if(r==="identity")return[new E(y.key,y.value,'identity function may not have a "stops" property')];let m=[],g=y.value;return m=m.concat(_l({key:y.key,value:g,valueSpec:y.valueSpec,validateSpec:y.validateSpec,style:y.style,styleSpec:y.styleSpec,arrayElementValidator:p})),J(g)==="array"&&g.length===0&&m.push(new E(y.key,g,"array must have at least one stop")),m}function p(y){let m=[],g=y.value,x=y.key;if(J(g)!=="array")return[new E(x,g,`array expected, ${J(g)} found`)];if(g.length!==2)return[new E(x,g,`array length 2 expected, length ${g.length} found`)];if(u){if(J(g[0])!=="object")return[new E(x,g,`object expected, ${J(g[0])} found`)];if(g[0].zoom===void 0)return[new E(x,g,"object stop key must have zoom")];if(g[0].value===void 0)return[new E(x,g,"object stop key must have value")];if(s&&s>De(g[0].zoom))return[new E(x,g[0].zoom,"stop zoom values must appear in ascending order")];De(g[0].zoom)!==s&&(s=De(g[0].zoom),a=void 0,n={}),m=m.concat(et({key:`${x}[0]`,value:g[0],valueSpec:{zoom:{}},validateSpec:y.validateSpec,style:y.style,styleSpec:y.styleSpec,objectElementValidators:{zoom:Oa,value:f}}))}else m=m.concat(f({key:`${x}[0]`,value:g[0],validateSpec:y.validateSpec,style:y.style,styleSpec:y.styleSpec},g));return Va(mr(g[1]))?m.concat([new E(`${x}[1]`,g[1],"expressions are not allowed in function stops.")]):m.concat(y.validateSpec({key:`${x}[1]`,value:g[1],valueSpec:t,validateSpec:y.validateSpec,style:y.style,styleSpec:y.styleSpec}))}function f(y,m){let g=J(y.value),x=De(y.value),v=y.value===null?m:y.value;if(!i)i=g;else if(g!==i)return[new E(y.key,v,`${g} stop domain type must match previous stop domain type ${i}`)];if(g!=="number"&&g!=="string"&&g!=="boolean")return[new E(y.key,v,"stop domain value must be a number, string, or boolean")];if(g!=="number"&&r!=="categorical"){let b=`number expected, ${g} found`;return Qr(t)&&r===void 0&&(b+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new E(y.key,v,b)]}return r==="categorical"&&g==="number"&&(!isFinite(x)||Math.floor(x)!==x)?[new E(y.key,v,`integer expected, found ${x}`)]:r!=="categorical"&&g==="number"&&a!==void 0&&x<a?[new E(y.key,v,"stop domain values must appear in ascending order")]:(a=x,r==="categorical"&&x in n?[new E(y.key,v,"stop domain values must be unique")]:(n[x]=!0,[]))}function d(y){return y.validateSpec({key:y.key,value:y.value,valueSpec:t,validateSpec:y.validateSpec,style:y.style,styleSpec:y.styleSpec})}}function ti(e){let t=(e.expressionContext==="property"?Vp:yr)(mr(e.value),e.key,e.valueSpec);if(t.result==="error")return t.value.map(i=>new E(`${e.key}${i.key}`,e.value,i.message));let r=t.value.expression||t.value._styleExpression.expression;if(e.expressionContext==="property"&&e.propertyKey==="text-font"&&!r.outputDefined())return[new E(e.key,e.value,`Invalid data expression for "${e.propertyKey}". Output values must be contained as literals within the expression.`)];if(e.expressionContext==="property"&&e.propertyType==="layout"&&!Zi(r))return[new E(e.key,e.value,'"feature-state" data expressions are not supported with layout properties.')];if(e.expressionContext==="filter"&&!Zi(r))return[new E(e.key,e.value,'"feature-state" data expressions are not supported with filters.')];if(e.expressionContext&&e.expressionContext.indexOf("cluster")===0){if(!za(r,["zoom","feature-state"]))return[new E(e.key,e.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if(e.expressionContext==="cluster-initial"&&!Ma(r))return[new E(e.key,e.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function W1(e){let t=e.value,r=e.key,i=J(t);return i==="boolean"?[]:[new E(r,t,`boolean expected, ${i} found`)]}function eo(e){let t=e.key,r=e.value,i=J(r);return i==="string"?me.parse(String(r))?[]:[new E(t,r,`color expected, "${r}" found`)]:[new E(t,r,`color expected, ${i} found`)]}function Qi(e){let t=e.key,r=e.value,i=e.valueSpec,n=[];return Array.isArray(i.values)?i.values.indexOf(De(r))===-1&&n.push(new E(t,r,`expected one of [${i.values.join(", ")}], ${JSON.stringify(r)} found`)):Object.keys(i.values).indexOf(De(r))===-1&&n.push(new E(t,r,`expected one of [${Object.keys(i.values).join(", ")}], ${JSON.stringify(r)} found`)),n}function Z1(e,t){let r=e;for(let i of t)r=r[i];return r}function H1(e,t){let r=Dl(t);return r?[new E(`${e.key}${r.path.map(i=>`[${i}]`).join("")}`,Z1(e.value,r.path),Up(r.legacyFilter),null,"warning")]:[]}function Sl(e){let t=mr(e.value);return wl(t)?[...H1(e,t),...ti(Hi({},e,{expressionContext:"filter",valueSpec:{value:"boolean"}}))]:Xp(e)}function Xp(e){let t=e.value,r=e.key;if(J(t)!=="array")return[new E(r,t,`array expected, ${J(t)} found`)];let i=e.styleSpec,n,a=[];if(t.length<1)return[new E(r,t,"filter array must have at least 1 element")];switch(a=a.concat(Qi({key:`${r}[0]`,value:t[0],valueSpec:i.filter_operator,style:e.style,styleSpec:e.styleSpec})),De(t[0])){case"<":case"<=":case">":case">=":t.length>=2&&De(t[1])==="$type"&&a.push(new E(r,t,`"$type" cannot be use with operator "${t[0]}"`));case"==":case"!=":t.length!==3&&a.push(new E(r,t,`filter array for operator "${t[0]}" must have 3 elements`));case"in":case"!in":t.length>=2&&(n=J(t[1]),n!=="string"&&a.push(new E(`${r}[1]`,t[1],`string expected, ${n} found`)));for(let s=2;s<t.length;s++)n=J(t[s]),De(t[1])==="$type"?a=a.concat(Qi({key:`${r}[${s}]`,value:t[s],valueSpec:i.geometry_type,style:e.style,styleSpec:e.styleSpec})):n!=="string"&&n!=="number"&&n!=="boolean"&&a.push(new E(`${r}[${s}]`,t[s],`string, number, or boolean expected, ${n} found`));break;case"any":case"all":case"none":for(let s=1;s<t.length;s++)a=a.concat(Xp({key:`${r}[${s}]`,value:t[s],style:e.style,styleSpec:e.styleSpec}));break;case"has":case"!has":n=J(t[1]),t.length===2?n!=="string"&&a.push(new E(`${r}[1]`,t[1],`string expected, ${n} found`)):a.push(new E(r,t,`filter array for "${t[0]}" operator must have 2 elements`))}return a}function Yp(e,t){let r=e.key,i=e.validateSpec,n=e.style,a=e.styleSpec,s=e.value,o=e.objectKey,l=a[`${t}_${e.layerType}`];if(!l)return[];let u=o.match(vl);if(t==="paint"&&u&&l[u[1]]&&l[u[1]].transition)return i({key:r,value:s,valueSpec:a.transition,style:n,styleSpec:a});let h=e.valueSpec||l[o];if(!h)return[new E(r,s,`unknown property "${o}"`)];let c;if(J(s)==="string"&&Qr(h)&&!h.tokens&&(c=/^{([^}]+)}$/.exec(s)))return[new E(r,s,`"${o}" does not support interpolation syntax
5
+ Use an identity property function instead: \`{ "type": "identity", "property": ${JSON.stringify(c[1])} }\`.`)];let p=[];return e.layerType==="symbol"&&o==="text-font"&&La(mr(s))&&De(s.type)==="identity"&&p.push(new E(r,s,'"text-font" does not support identity functions')),p.concat(i({key:e.key,value:s,valueSpec:h,style:n,styleSpec:a,expressionContext:"property",propertyType:t,propertyKey:o}))}function Wp(e){return Yp(e,"paint")}function Zp(e){return Yp(e,"layout")}function Hp(e){var l,u;let t=[],r=e.value,i=e.key,n=e.style,a=e.styleSpec;if(J(r)!=="object")return[new E(i,r,`object expected, ${J(r)} found`)];!r.type&&!r.ref&&t.push(new E(i,r,'either "type" or "ref" is required'));let s=De(r.type),o=De(r.ref);if(r.id){let h=De(r.id);for(let c=0;c<e.arrayIndex;c++){let p=n.layers[c];De(p.id)===h&&t.push(new E(i,r.id,`duplicate layer id "${r.id}", previously used at line ${p.id.__line__}`))}}if("ref"in r){["type","source","source-layer","filter","layout"].forEach(c=>{c in r&&t.push(new E(i,r[c],`"${c}" is prohibited for ref layers`))});let h;n.layers.forEach(c=>{De(c.id)===o&&(h=c)}),h?h.ref?t.push(new E(i,r.ref,"ref cannot reference another ref layer")):s=De(h.type):t.push(new E(i,r.ref,`ref layer "${o}" not found`))}else if(s!=="background")if(!r.source)t.push(new E(i,r,'missing required property "source"'));else{let h=n.sources&&n.sources[r.source],c=h&&De(h.type);h?c==="vector"&&s==="raster"?t.push(new E(i,r.source,`layer "${r.id}" requires a raster source`)):c!=="raster-dem"&&s==="hillshade"||c!=="raster-dem"&&s==="color-relief"?t.push(new E(i,r.source,`layer "${r.id}" requires a raster-dem source`)):c==="raster"&&s!=="raster"?t.push(new E(i,r.source,`layer "${r.id}" requires a vector source`)):c==="vector"&&!r["source-layer"]?t.push(new E(i,r,`layer "${r.id}" must specify a "source-layer"`)):c==="raster-dem"&&s!=="hillshade"&&s!=="color-relief"?t.push(new E(i,r.source,"raster-dem source can only be used with layer type 'hillshade' or 'color-relief'.")):s==="line"&&r.paint&&r.paint["line-gradient"]&&(c!=="geojson"||!h.lineMetrics)&&t.push(new E(i,r,`layer "${r.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):t.push(new E(i,r.source,`source "${r.source}" not found`))}return s==="raster"&&((l=r.paint)!=null&&l.resampling)&&((u=r.paint)!=null&&u["raster-resampling"])&&t.push(new E(i,r.paint,`layer "${r.id}" redundantly specifies "resampling" and "raster-resampling" paint properties, but only one is allowed. It is advised to use "resampling".`)),t=t.concat(et({key:i,value:r,valueSpec:a.layer,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*"(){return[]},type(){return e.validateSpec({key:`${i}.type`,value:r.type,valueSpec:a.layer.type,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,object:r,objectKey:"type"})},filter:Sl,layout(h){return et({layer:r,key:h.key,value:h.value,style:h.style,styleSpec:h.styleSpec,validateSpec:h.validateSpec,objectElementValidators:{"*"(c){return Zp(Hi({layerType:s},c))}}})},paint(h){return et({layer:r,key:h.key,value:h.value,style:h.style,styleSpec:h.styleSpec,validateSpec:h.validateSpec,objectElementValidators:{"*"(c){return Wp(Hi({layerType:s},c))}}})}}})),t}function Jt(e){let t=e.value,r=e.key,i=J(t);return i==="string"?[]:[new E(r,t,`string expected, ${i} found`)]}function K1(e){let t=e.sourceName??"",r=e.value,i=e.styleSpec,n=i.source_raster_dem,a=e.style,s=[],o=J(r);if(r===void 0)return s;if(o!=="object")return s.push(new E("source_raster_dem",r,`object expected, ${o} found`)),s;let l=De(r.encoding)==="custom",u=["redFactor","greenFactor","blueFactor","baseShift"],h=e.value.encoding?`"${e.value.encoding}"`:"Default";for(let c in r)!l&&u.includes(c)?s.push(new E(c,r[c],`In "${t}": "${c}" is only valid when "encoding" is set to "custom". ${h} encoding found`)):n[c]?s=s.concat(e.validateSpec({key:c,value:r[c],valueSpec:n[c],validateSpec:e.validateSpec,style:a,styleSpec:i})):s.push(new E(c,r[c],`unknown property "${c}"`));return s}const lh={promoteId:J1};function Kp(e){let t=e.value,r=e.key,i=e.styleSpec,n=e.style,a=e.validateSpec;if(!t.type)return[new E(r,t,'"type" is required')];let s=De(t.type),o;switch(s){case"vector":case"raster":return o=et({key:r,value:t,valueSpec:i[`source_${s.replace("-","_")}`],style:e.style,styleSpec:i,objectElementValidators:lh,validateSpec:a}),o;case"raster-dem":return o=K1({sourceName:r,value:t,style:e.style,styleSpec:i,validateSpec:a}),o;case"geojson":if(o=et({key:r,value:t,valueSpec:i.source_geojson,style:n,styleSpec:i,validateSpec:a,objectElementValidators:lh}),t.cluster)for(let l in t.clusterProperties){let[u,h]=t.clusterProperties[l],c=typeof u=="string"?[u,["accumulated"],["get",l]]:u;o.push(...ti({key:`${r}.${l}.map`,value:h,expressionContext:"cluster-map"})),o.push(...ti({key:`${r}.${l}.reduce`,value:c,expressionContext:"cluster-reduce"}))}return o;case"video":return et({key:r,value:t,valueSpec:i.source_video,style:n,validateSpec:a,styleSpec:i});case"image":return et({key:r,value:t,valueSpec:i.source_image,style:n,validateSpec:a,styleSpec:i});case"canvas":return[new E(r,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return Qi({key:`${r}.type`,value:t.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]}})}}function J1({key:e,value:t}){if(J(t)==="string")return Jt({key:e,value:t});{let r=[];for(let i in t)r.push(...Jt({key:`${e}.${i}`,value:t[i]}));return r}}function Jp(e){let t=e.value,r=e.styleSpec,i=r.light,n=e.style,a=[],s=J(t);if(t===void 0)return a;if(s!=="object")return a=a.concat([new E("light",t,`object expected, ${s} found`)]),a;for(let o in t){let l=o.match(vl);a=l&&i[l[1]]&&i[l[1]].transition?a.concat(e.validateSpec({key:o,value:t[o],valueSpec:r.transition,validateSpec:e.validateSpec,style:n,styleSpec:r})):i[o]?a.concat(e.validateSpec({key:o,value:t[o],valueSpec:i[o],validateSpec:e.validateSpec,style:n,styleSpec:r})):a.concat([new E(o,t[o],`unknown property "${o}"`)])}return a}function Qp(e){let t=e.value,r=e.styleSpec,i=r.sky,n=e.style,a=J(t);if(t===void 0)return[];if(a!=="object")return[new E("sky",t,`object expected, ${a} found`)];let s=[];for(let o in t){let l=o.match(vl);s=l&&i[l[1]]&&i[l[1]].transition?s.concat(e.validateSpec({key:o,value:t[o],valueSpec:r.transition,style:n,styleSpec:r})):i[o]?s.concat(e.validateSpec({key:o,value:t[o],valueSpec:i[o],style:n,styleSpec:r})):s.concat([new E(o,t[o],`unknown property "${o}"`)])}return s}function ef(e){let t=e.value,r=e.styleSpec,i=r.terrain,n=e.style,a=[],s=J(t);if(t===void 0)return a;if(s!=="object")return a=a.concat([new E("terrain",t,`object expected, ${s} found`)]),a;for(let o in t)a=i[o]?a.concat(e.validateSpec({key:o,value:t[o],valueSpec:i[o],validateSpec:e.validateSpec,style:n,styleSpec:r})):a.concat([new E(o,t[o],`unknown property "${o}"`)]);return a}function Q1(e){return Jt(e).length===0?[]:ti(e)}function eg(e){return Jt(e).length===0?[]:ti(e)}function tg(e){let t=e.key,r=e.value;if(J(r)==="array"){if(r.length<1||r.length>4)return[new E(t,r,`padding requires 1 to 4 values; ${r.length} values found`)];let i={type:"number"},n=[];for(let a=0;a<r.length;a++)n=n.concat(e.validateSpec({key:`${t}[${a}]`,value:r[a],validateSpec:e.validateSpec,valueSpec:i}));return n}return Oa({key:t,value:r,valueSpec:{}})}function rg(e){let t=e.key,r=e.value;if(J(r)==="array"){let i={type:"number"};if(r.length<1)return[new E(t,r,"array length at least 1 expected, length 0 found")];let n=[];for(let a=0;a<r.length;a++)n=n.concat(e.validateSpec({key:`${t}[${a}]`,value:r[a],validateSpec:e.validateSpec,valueSpec:i}));return n}return Oa({key:t,value:r,valueSpec:{}})}function ig(e){let t=e.key,r=e.value;if(J(r)==="array"){if(r.length<1)return[new E(t,r,"array length at least 1 expected, length 0 found")];let i=[];for(let n=0;n<r.length;n++)i=i.concat(eo({key:`${t}[${n}]`,value:r[n]}));return i}return eo({key:t,value:r})}function ng(e){let t=e.key,r=e.value,i=J(r),n=e.styleSpec;if(i!=="array"||r.length<1||r.length%2!=0)return[new E(t,r,"variableAnchorOffsetCollection requires a non-empty array of even length")];let a=[];for(let s=0;s<r.length;s+=2)a=a.concat(Qi({key:`${t}[${s}]`,value:r[s],valueSpec:n.layout_symbol["text-anchor"]})),a=a.concat(_l({key:`${t}[${s+1}]`,value:r[s+1],valueSpec:{length:2,value:"number"},validateSpec:e.validateSpec,style:e.style,styleSpec:n}));return a}function tf(e){let t=[],r=e.value,i=e.key;if(Array.isArray(r)){let n=[],a=[];for(let s in r)r[s].id&&n.includes(r[s].id)&&t.push(new E(i,r,`all the sprites' ids must be unique, but ${r[s].id} is duplicated`)),n.push(r[s].id),r[s].url&&a.includes(r[s].url)&&t.push(new E(i,r,`all the sprites' URLs must be unique, but ${r[s].url} is duplicated`)),a.push(r[s].url),t=t.concat(et({key:`${i}[${s}]`,value:r[s],valueSpec:{id:{type:"string",required:!0},url:{type:"string",required:!0}},validateSpec:e.validateSpec}));return t}return Jt({key:i,value:r})}function ag(e){let t=e.value,r=e.styleSpec,i=r.projection,n=e.style,a=J(t);if(t===void 0)return[];if(a!=="object")return[new E("projection",t,`object expected, ${a} found`)];let s=[];for(let o in t)s=i[o]?s.concat(e.validateSpec({key:o,value:t[o],valueSpec:i[o],style:n,styleSpec:r})):s.concat([new E(o,t[o],`unknown property "${o}"`)]);return s}function sg(e){let t=e.key,r=e.value;r=r instanceof String?r.valueOf():r;let i=J(r);return i==="array"&&!lg(r)&&!og(r)?[new E(t,r,`projection expected, invalid array ${JSON.stringify(r)} found`)]:["array","string"].includes(i)?[]:[new E(t,r,`projection expected, invalid type "${i}" found`)]}function og(e){return!!["interpolate","step","literal"].includes(e[0])}function lg(e){return Array.isArray(e)&&e.length===3&&typeof e[0]=="string"&&typeof e[1]=="string"&&typeof e[2]=="number"}function to(e){return!!e&&e.constructor===Object}function rf(e){return to(e.value)?[]:[new E(e.key,e.value,`object expected, ${J(e.value)} found`)]}const uh=1114111,ug=/^u\+(?:([0-9a-f]{1,6})(?:-([0-9a-f]{1,6}))?|([0-9a-f]{0,5}\?{1,6}))$/i;function hg(e,t){if(J(t)!=="string")return[];let r=`${t}`,i=()=>[new E(e,t,'invalid unicode range, expected a value such as "U+26", "U+0-10FFFF" or "U+4??"')],n=r.match(ug);if(!n)return i();let[,a,s,o]=n;if(o!==void 0)return o.length>6?i():[];let l=parseInt(a,16),u=s===void 0?l:parseInt(s,16);return l>uh||u>uh?[new E(e,t,"unicode range is out of bounds, the maximum code point is U+10FFFF")]:l>u?[new E(e,t,`unicode range start must not be greater than its end, but ${r} is`)]:[]}function nf(e){let t=e.key??"font-faces",r=e.value,i=e.validateSpec,n=e.styleSpec??Uc,a=e.style;if(!to(r))return[new E(t,r,`object expected, ${J(r)} found`)];let s=[];for(let o in r){let l=r[o],u=J(l);if(u==="string")s.push(...Jt({key:`${t}.${o}`,value:l}));else if(u==="array"){let h={url:{type:"string",required:!0},"unicode-range":{type:"array",value:"string"}};for(let[c,p]of l.entries()){let f=`${t}.${o}[${c}]`;s.push(...et({key:f,value:p,valueSpec:h,styleSpec:n,style:a,validateSpec:i}));let d=to(p)?p["unicode-range"]:void 0;if(J(d)==="array")for(let[y,m]of d.entries())s.push(...hg(`${f}.unicode-range[${y}]`,m))}}else s.push(new E(`${t}.${o}`,l,`string or array expected, ${u} found`))}return s}const hh={"*"(){return[]},array:_l,boolean:W1,number:Oa,color:eo,constants:jp,enum:Qi,filter:Sl,function:Gp,layer:Hp,object:et,source:Kp,light:Jp,sky:Qp,terrain:ef,projection:ag,projectionDefinition:sg,string:Jt,formatted:Q1,resolvedImage:eg,padding:tg,numberArray:rg,colorArray:ig,variableAnchorOffsetCollection:ng,sprite:tf,state:rf,fontFaces:nf};function ga(e){let t=e.value,r=e.valueSpec,i=e.styleSpec;return e.validateSpec=ga,r.expression&&La(De(t))?Gp(e):r.expression&&Va(mr(t))?ti(e):r.type&&hh[r.type]?hh[r.type](e):et(Hi({},e,{valueSpec:r.type?i[r.type]:r}))}function af(e){let t=e.value,r=e.key,i=Jt(e);return i.length||(t.indexOf("{fontstack}")===-1&&i.push(new E(r,t,'"glyphs" url must include a "{fontstack}" token')),t.indexOf("{range}")===-1&&i.push(new E(r,t,'"glyphs" url must include a "{range}" token'))),i}function Je(e,t=D){let r=[];return r=r.concat(ga({key:"",value:e,valueSpec:t.$root,styleSpec:t,style:e,validateSpec:ga,objectElementValidators:{glyphs:af,"*"(){return[]}}})),e.constants&&(r=r.concat(jp({key:"constants",value:e.constants}))),sf(r)}Je.source=it(rt(Kp)),Je.sprite=it(rt(tf)),Je.glyphs=it(rt(af)),Je.fontFaces=it(rt(nf)),Je.light=it(rt(Jp)),Je.sky=it(rt(Qp)),Je.terrain=it(rt(ef)),Je.state=it(rt(rf)),Je.layer=it(rt(Hp)),Je.filter=it(rt(Sl)),Je.paintProperty=it(rt(Wp)),Je.layoutProperty=it(rt(Zp));function rt(e){return function(t){return e(Object.assign({},t,{validateSpec:ga}))}}function sf(e){return[].concat(e).sort((t,r)=>t.line-r.line)}function it(e){return function(...t){return sf(e.apply(this,t))}}const cg={type:"enum","property-type":"data-constant",expression:{interpolated:!1,parameters:["global-state"]},values:{visible:{},none:{}},transition:!1,default:"visible"};var pg=class{constructor(e,t,r){this._rootKey=t,this._globalState=r,this.setValue(e)}evaluate(){return this._literalValue??this._compiledValue.evaluate({})}setValue(e){if(e==null||e==="visible"||e==="none"){this._literalValue=e==="none"?"none":"visible",this._compiledValue=void 0,this._globalStateRefs=new Set;return}let t=yr(e,this._rootKey,cg,this._globalState);if(t.result==="error")throw this._literalValue="visible",this._compiledValue=void 0,Error(t.value.map(r=>`${r.key}: ${r.message}`).join(", "));this._literalValue=void 0,this._compiledValue=t.value,this._globalStateRefs=dn(t.value.expression)}getGlobalStateRefs(){return this._globalStateRefs}};function fg(e,t,r){return new pg(e,t,r)}const ch=Je;new Set(Object.keys(D).filter(e=>e.startsWith("source_")).map(e=>e.slice(7).replaceAll("_","-")));function dg(e,t){let r=!1;for(let i of t){if(i.severity==="warning"){Be(i.message);continue}e.fire(new ha(Error(i.message))),r=!0}return r}function yg(e,t,r,i){return(i==null?void 0:i.validate)!==!1&&dg(e,t({styleSpec:D,...r}))}var ro=class of{constructor(t,r,i){let n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;let s=new Int32Array(this.arrayBuffer);t=s[0],r=s[1],i=s[2],this.d=r+2*i;for(let u=0;u<this.d*this.d;u++){let h=s[3+u],c=s[3+u+1];n.push(h===c?null:s.subarray(h,c))}let o=s[3+n.length],l=s[3+n.length+1];this.keys=s.subarray(o,l),this.bboxes=s.subarray(l),this.insert=this._insertReadonly}else{this.d=r+2*i;for(let s=0;s<this.d*this.d;s++)n.push([]);this.keys=[],this.bboxes=[]}this.n=r,this.extent=t,this.padding=i,this.scale=r/t,this.uid=0;let a=i/r*t;this.min=-a,this.max=t+a}insert(t,r,i,n,a){this._forEachCell(r,i,n,a,this._insertCell,this.uid++,void 0,void 0),this.keys.push(t),this.bboxes.push(r),this.bboxes.push(i),this.bboxes.push(n),this.bboxes.push(a)}_insertReadonly(){throw Error("Cannot insert into a GridIndex created from an ArrayBuffer.")}_insertCell(t,r,i,n,a,s){this.cells[a].push(s)}query(t,r,i,n,a){let s=this.min,o=this.max;if(t<=s&&r<=s&&o<=i&&o<=n&&!a)return[...this.keys];{let l=[];return this._forEachCell(t,r,i,n,this._queryCell,l,{},a),l}}_queryCell(t,r,i,n,a,s,o,l){let u=this.cells[a];if(u!==null){let h=this.keys,c=this.bboxes;for(let p of u)if(o[p]===void 0){let f=p*4;(l?l(c[f+0],c[f+1],c[f+2],c[f+3]):t<=c[f+2]&&r<=c[f+3]&&i>=c[f+0]&&n>=c[f+1])?(o[p]=!0,s.push(h[p])):o[p]=!1}}}_forEachCell(t,r,i,n,a,s,o,l){let u=this._convertToCellCoord(t),h=this._convertToCellCoord(r),c=this._convertToCellCoord(i),p=this._convertToCellCoord(n);for(let f=u;f<=c;f++)for(let d=h;d<=p;d++){let y=this.d*d+f;if((!l||l(this._convertFromCellCoord(f),this._convertFromCellCoord(d),this._convertFromCellCoord(f+1),this._convertFromCellCoord(d+1)))&&a.call(this,t,r,i,n,y,s,o,l))return}}_convertFromCellCoord(t){return(t-this.padding)/this.scale}_convertToCellCoord(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let t=this.cells,r=3+this.cells.length+1+1,i=0;for(let s of this.cells)i+=s.length;let n=new Int32Array(r+i+this.keys.length+this.bboxes.length);n[0]=this.extent,n[1]=this.n,n[2]=this.padding;let a=r;for(let s=0;s<t.length;s++){let o=t[s];n[3+s]=a,n.set(o,a),a+=o.length}return n[3+t.length]=a,n.set(this.keys,a),a+=this.keys.length,n[3+t.length+1]=a,n.set(this.bboxes,a),a+=this.bboxes.length,n.buffer}static serialize(t,r){let i=t.toArrayBuffer();return r&&r.push(i),{buffer:i}}static deserialize(t){return new of(t.buffer)}};const Ct={};function C(e,t,r={}){if(Ct[e])throw Error(`${e} is already registered.`);Object.defineProperty(t,"_classRegistryKey",{value:e,writeable:!1}),Ct[e]={klass:t,omit:r.omit||[],shallow:r.shallow||[]}}C("Object",Object),C("Set",Set),C("TransferableGridIndex",ro),C("Color",me),C("Error",Error),C("AJAXError",ua),C("ResolvedImage",Dt),C("StylePropertyFunction",Op),C("StyleExpression",bl,{omit:["_evaluator"]}),C("ZoomDependentExpression",ya),C("ZoomConstantExpression",Ki),C("CompoundExpression",br,{omit:["_evaluate"]});for(let e in Ur)Ur[e]._classRegistryKey||C(`Expression_${e}`,Ur[e]);function lf(e){var t;return e&&typeof ArrayBuffer<"u"&&(e instanceof ArrayBuffer||((t=e.constructor)==null?void 0:t.name)==="ArrayBuffer")}function Al(e){let t=e.constructor;return e.$name||t._classRegistryKey}function mg(e){if(typeof e!="object"||!e)return!1;let t=Al(e);return t&&t!=="Object"}function uf(e){return!mg(e)&&(e==null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp||e instanceof Blob||e instanceof Error||lf(e)||il(e)||ArrayBuffer.isView(e)||e instanceof ImageData)}function Ni(e,t){if(uf(e))return(lf(e)||il(e))&&t&&t.push(e),ArrayBuffer.isView(e)&&t&&t.push(e.buffer),e instanceof ImageData&&t&&t.push(e.data.buffer),e;if(Array.isArray(e)){let a=[];for(let s of e)a.push(Ni(s,t));return a}if(typeof e!="object")throw Error(`can't serialize object of type ${typeof e}`);let r=Al(e);if(!r)throw Error(`can't serialize object of unregistered class ${e.constructor.name}`);if(!Ct[r])throw Error(`${r} is not registered.`);let{klass:i}=Ct[r],n=i.serialize?i.serialize(e,t):{};if(i.serialize){if(n===(t==null?void 0:t[t.length-1]))throw Error("statically serialized object won't survive transfer of $name property")}else{for(let a in e){if(!e.hasOwnProperty(a)||Ct[r].omit.includes(a))continue;let s=e[a];s!==void 0&&(n[a]=Ct[r].shallow.includes(a)?s:Ni(s,t))}e instanceof Error&&(n.message=e.message)}if(n.$name)throw Error("$name property is reserved for worker serialization logic.");return r!=="Object"&&(n.$name=r),n}function Ui(e){if(uf(e))return e;if(Array.isArray(e))return e.map(Ui);if(typeof e!="object")throw Error(`can't deserialize object of type ${typeof e}`);let t=Al(e)||"Object";if(!Ct[t])throw Error(`can't deserialize unregistered class ${t}`);let{klass:r}=Ct[t];if(!r)throw Error(`can't deserialize unregistered class ${t}`);if(r.deserialize)return r.deserialize(e);let i=Object.create(r.prototype);for(let n of Object.keys(e)){if(n==="$name")continue;let a=e[n];i[n]=Ct[t].shallow.includes(n)?a:Ui(a)}return i}var ph=class{constructor(){this.first=!0}update(e,t){let r=Math.floor(e);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=e,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=t):this.lastFloorZoom<r&&(this.lastIntegerZoom=r,this.lastIntegerZoomTime=t),e!==this.lastZoom&&(this.lastZoom=e,this.lastFloorZoom=r,!0))}},se=class{constructor(t,r){this.zoom=t,r?(this.now=r.now||0,this.fadeDuration=r.fadeDuration||0,this.zoomHistory=r.zoomHistory||new ph,this.transition=r.transition||{}):(this.now=0,this.fadeDuration=0,this.zoomHistory=new ph,this.transition={})}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let t=this.zoom,r=t-Math.floor(t),i=this.crossFadingFactor();return t>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:r+(1-r)*i}:{fromScale:.5,toScale:1,t:1-(1-i)*r}}},en=class{constructor(e,t,r,i){this.property=e,this.value=t,this.expression=$1(t===void 0?e.specification.default:t,r,e.specification,i)}isDataDriven(){return this.expression.kind==="source"||this.expression.kind==="composite"}getGlobalStateRefs(){return this.expression.globalStateRefs||new Set}readsGlobalState(e){let t=this.getGlobalStateRefs();return e.some(r=>t.has(r))}possiblyEvaluate(e,t,r){return this.property.possiblyEvaluate(this,e,t,r)}},io=class{constructor(e,t,r){this.property=e,this.value=new en(e,void 0,t,r)}transitioned(e,t){return t.value===this.value?t:new fh(this.property,this.value,t,We({},e.transition,this.transition),e.now)}untransitioned(){return new fh(this.property,this.value,null,{},0)}},gg=class{constructor(e,t,r){this._properties=e,this._values=Object.create(e.defaultTransitionablePropertyValues),this._globalState=r,this._rootKey=t}_propertyRootKey(e){return`${this._rootKey}.${String(e)}`}hasProperty(e){return e in this._properties.defaultTransitionablePropertyValues}getValue(e){return Wt(this._values[e].value.value)}setValue(e,t){Object.hasOwn(this._values,e)||(this._values[e]=new io(this._values[e].property,this._propertyRootKey(e),this._globalState)),this._values[e].value=new en(this._values[e].property,t===null?void 0:Wt(t),this._propertyRootKey(e),this._globalState)}setValues(e){for(let t in e){let r=e[t];t.endsWith("-transition")?this.setTransition(t.slice(0,-11),r):qs(this._values[t].value.value,r)||this.setValue(t,r)}}getTransition(e){return Wt(this._values[e].transition)}setTransition(e,t){Object.hasOwn(this._values,e)||(this._values[e]=new io(this._values[e].property,this._propertyRootKey(e),this._globalState)),this._values[e].transition=Wt(t)||void 0}retainPriorGlobalState(e,t,r){for(let i of Object.keys(r._values))for(let n=r._values[i];n;n=n.prior){let{value:a}=n;a.property.specification.transition&&!a.isDataDriven()&&a.expression._globalState===this._globalState&&a.readsGlobalState(e)&&(n.value=new en(a.property,a.value,this._propertyRootKey(i),t))}}applyGlobalStateChange(e,t,r,i){this.retainPriorGlobalState(e,t,r);let n=!1;for(let a of Object.keys(this._values)){let{value:s}=this._values[a];s.readsGlobalState(e)&&(this.setValue(a,s.value),n=!0)}return n?this.transitioned(i,r):r}serialize(){let e={};for(let t of Object.keys(this._values)){let r=this.getValue(t);r!==void 0&&(e[t]=r);let i=this.getTransition(t);i!==void 0&&(e[`${t}-transition`]=i)}return e}transitioned(e,t){let r=new dh(this._properties);for(let i of Object.keys(this._values))r._values[i]=this._values[i].transitioned(e,t._values[i]);return r}untransitioned(){let e=new dh(this._properties);for(let t of Object.keys(this._values))e._values[t]=this._values[t].untransitioned();return e}},fh=class{constructor(e,t,r,i,n){this.property=e,this.value=t,this.begin=n+i.delay||0,this.end=this.begin+i.duration||0,e.specification.transition&&(i.delay||i.duration)&&(this.prior=r)}possiblyEvaluate(e,t,r){let i=e.now||0,n=this.value.possiblyEvaluate(e,t,r),a=this.prior;if(!a)return n;if(i>this.end||this.value.isDataDriven())return this.prior=null,n;if(i<this.begin)return a.possiblyEvaluate(e,t,r);{let s=(i-this.begin)/(this.end-this.begin);return this.property.interpolate(a.possiblyEvaluate(e,t,r),n,Ky(s))}}},dh=class{constructor(e){this._properties=e,this._values=Object.create(e.defaultTransitioningPropertyValues)}possiblyEvaluate(e,t,r){let i=new Ra(this._properties);for(let n of Object.keys(this._values))i._values[n]=this._values[n].possiblyEvaluate(e,t,r);return i}hasTransition(){for(let e of Object.keys(this._values))if(this._values[e].prior)return!0;return!1}},xg=class{constructor(e,t,r){this._properties=e,this._values=Object.create(e.defaultPropertyValues),this._globalState=r,this._rootKey=t}_propertyRootKey(e){return`${this._rootKey}.${String(e)}`}hasValue(e){return this._values[e].value!==void 0}hasProperty(e){return e in this._properties.defaultPropertyValues}getValue(e){return Wt(this._values[e].value)}setValue(e,t){this._values[e]=new en(this._values[e].property,t===null?void 0:Wt(t),this._propertyRootKey(e),this._globalState)}serialize(){let e={};for(let t of Object.keys(this._values)){let r=this.getValue(t);r!==void 0&&(e[t]=r)}return e}possiblyEvaluate(e,t,r){let i=new Ra(this._properties);for(let n of Object.keys(this._values))i._values[n]=this._values[n].possiblyEvaluate(e,t,r);return i}},st=class{constructor(e,t,r){this.property=e,this.value=t,this.parameters=r}isConstant(){return this.value.kind==="constant"}constantOr(e){return this.value.kind==="constant"?this.value.value:e}evaluate(e,t,r,i){return this.property.evaluate(this.value,this.parameters,e,t,r,i)}},Ra=class{constructor(e){this._properties=e,this._values=Object.create(e.defaultPossiblyEvaluatedValues)}get(e){return this._values[e]}};function yh(e){if(Array.isArray(e))return e.length;let t=e==null?void 0:e.values;return Array.isArray(t)?t.length:void 0}function hf(e,t){let r=yh(e),i=yh(t);return r!==void 0&&i!==void 0&&r!==i}var R=class{constructor(t,r){this.specification=t,this.name=r}possiblyEvaluate(t,r){if(t.isDataDriven())throw Error("Value should not be data driven");return t.expression.evaluate(r)}interpolate(t,r,i){if(hf(t,r))return Be(`Property "${this.name}" is trying to interpolate arrays of different lengths. Rendering may 'jump'.`),r;let n=this.specification.type,a=dr[n];return a?a(t,r,i):t}},U=class{constructor(t,r,i){this.specification=t,this.name=r,this.overrides=i}possiblyEvaluate(t,r,i,n){return t.expression.kind==="constant"||t.expression.kind==="camera"?new st(this,{kind:"constant",value:t.expression.evaluate(r,null,{},i,n)},r):new st(this,t.expression,r)}interpolate(t,r,i){if(t.value.kind!=="constant"||r.value.kind!=="constant")return t;if(t.value.value===void 0||r.value.value===void 0)return new st(this,{kind:"constant",value:void 0},t.parameters);if(hf(t.value.value,r.value.value))return Be(`Property "${this.name}" is trying to interpolate arrays of different lengths. Rendering may 'jump'.`),r;let n=this.specification.type,a=dr[n];if(a){let s=a(t.value.value,r.value.value,i);return new st(this,{kind:"constant",value:s},t.parameters)}return t}evaluate(t,r,i,n,a,s){return t.kind==="constant"?t.value:t.evaluate(r,i,n,a,s)}},tn=class extends U{possiblyEvaluate(e,t,r,i){if(e.value===void 0)return new st(this,{kind:"constant",value:void 0},t);if(e.expression.kind==="constant"){let n=e.expression.evaluate(t,null,{},r,i),a=e.property.specification.type==="resolvedImage"&&typeof n!="string"?n.name:n,s=this._calculate(a,a,a,t);return new st(this,{kind:"constant",value:s},t)}if(e.expression.kind==="camera"){let n=this._calculate(e.expression.evaluate({zoom:t.zoom-1}),e.expression.evaluate({zoom:t.zoom}),e.expression.evaluate({zoom:t.zoom+1}),t);return new st(this,{kind:"constant",value:n},t)}return new st(this,e.expression,t)}evaluate(e,t,r,i,n,a){if(e.kind==="source"){let s=e.evaluate(t,r,i,n,a);return this._calculate(s,s,s,t)}return e.kind==="composite"?this._calculate(e.evaluate({zoom:Math.floor(t.zoom)-1},r,i),e.evaluate({zoom:Math.floor(t.zoom)},r,i),e.evaluate({zoom:Math.floor(t.zoom)+1},r,i),t):e.value}_calculate(e,t,r,i){return i.zoom>i.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:r,to:t}}interpolate(e){return e}},cf=class{constructor(e,t){this.specification=e,this.name=t}possiblyEvaluate(e,t,r,i){if(e.value!==void 0){if(e.expression.kind==="constant"){let n=e.expression.evaluate(t,null,{},r,i);return this._calculate(n,n,n,t)}return this._calculate(e.expression.evaluate(new se(Math.floor(t.zoom-1),t)),e.expression.evaluate(new se(Math.floor(t.zoom),t)),e.expression.evaluate(new se(Math.floor(t.zoom+1),t)),t)}}_calculate(e,t,r,i){return i.zoom>i.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:r,to:t}}interpolate(e){return e}},$a=class{constructor(e,t){this.specification=e,this.name=t}possiblyEvaluate(e,t,r,i){return!!e.expression.evaluate(t,null,{},r,i)}interpolate(){return!1}},Ge=class{constructor(e){this.properties=e,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let t in e){let r=e[t];r.specification.overridable&&this.overridableProperties.push(t);let i=this.defaultPropertyValues[t]=new en(r,void 0,r.name,void 0),n=this.defaultTransitionablePropertyValues[t]=new io(r,r.name,void 0);this.defaultTransitioningPropertyValues[t]=n.untransitioned(),this.defaultPossiblyEvaluatedValues[t]=i.possiblyEvaluate({})}}};C("DataDrivenProperty",U),C("DataConstantProperty",R),C("CrossFadedDataDrivenProperty",tn),C("CrossFadedProperty",cf),C("ColorRampProperty",$a);const mh=" is a PAINT property not a LAYOUT property. Use get/setPaintProperty instead?",Cs=" is a LAYOUT property not a PAINT property. Use get/setLayoutProperty instead?";var dt=class extends dm{constructor(e,t,r){if(super(),this.id=e.id,this.type=e.type,this._globalState=r,this._featureFilter={filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set},this._visibilityExpression=fg(this.visibility,`layers[${this.id}].layout.visibility`,r),e.type!=="custom"&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,e.type!=="background"&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter,this._featureFilter=Ji(e.filter,`layers[${this.id}].filter`,r)),t.layout&&(this._unevaluatedLayout=new xg(t.layout,`layers[${this.id}].layout`,r)),t.paint)){this._transitionablePaint=new gg(t.paint,`layers[${this.id}].paint`,r);for(let i in e.paint)this.setPaintProperty(i,e.paint[i],{validate:!1});for(let i in e.layout)this.setLayoutProperty(i,e.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Ra(t.paint)}}setFilter(e){this.filter=e,this._featureFilter=Ji(e,`layers[${this.id}].filter`,this._globalState)}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(e){var t;if(e==="visibility")return this.visibility;if((t=this._transitionablePaint)!=null&&t.hasProperty(e))throw Error(e+mh);if(!this._unevaluatedLayout)throw Error(`Cannot get layout property "${e}" on layer type "${this.type}" which has no layout properties.`);return this._unevaluatedLayout.getValue(e)}getLayoutAffectingGlobalStateRefs(){let e=new Set;for(let t of this._visibilityExpression.getGlobalStateRefs())e.add(t);if(this._unevaluatedLayout)for(let t in this._unevaluatedLayout._values){let r=this._unevaluatedLayout._values[t];for(let i of r.getGlobalStateRefs())e.add(i)}for(let t of this._featureFilter.getGlobalStateRefs())e.add(t);return e}getPaintAffectingGlobalStateRefs(){let e=new globalThis.Map;if(this._transitionablePaint)for(let t in this._transitionablePaint._values){let r=this._transitionablePaint._values[t].value;for(let i of r.getGlobalStateRefs()){let n=e.get(i)??[];n.push({name:t,value:r.value}),e.set(i,n)}}return e}getVisibilityAffectingGlobalStateRefs(){return this._visibilityExpression.getGlobalStateRefs()}setLayoutProperty(e,t,r={}){var i;if(e==="visibility"){this.visibility=t,this._visibilityExpression.setValue(t),this.recalculateVisibility();return}if((i=this._transitionablePaint)!=null&&i.hasProperty(e)){this.fire(new ha(Error(e+mh)));return}t!=null&&this._validate(ch.layoutProperty,`layers.${this.id}.layout.${e}`,e,t,r)||this._unevaluatedLayout.setValue(e,t)}getPaintProperty(e){var t,r;if(e.endsWith("-transition")){let i=e.slice(0,-11);if(i==="visibility"||(t=this._unevaluatedLayout)!=null&&t.hasProperty(i))throw Error(e+Cs);return this._transitionablePaint.getTransition(i)}if(e==="visibility"||(r=this._unevaluatedLayout)!=null&&r.hasProperty(e))throw Error(e+Cs);return this._transitionablePaint.getValue(e)}setPaintProperty(e,t,r={}){var i;if(e==="visibility"||(i=this._unevaluatedLayout)!=null&&i.hasProperty(e))return this.fire(new ha(Error(e+Cs))),!1;if(t!=null&&this._validate(ch.paintProperty,`layers.${this.id}.paint.${e}`,e,t,r))return!1;if(e.endsWith("-transition"))return this._transitionablePaint.setTransition(e.slice(0,-11),t||void 0),!1;{let n=this._transitionablePaint._values[e],a=n.property.specification["property-type"]==="cross-faded-data-driven",s=n.value.isDataDriven(),o=n.value;this._transitionablePaint.setValue(e,t),this._handleSpecialPaintPropertyUpdate(e);let l=this._transitionablePaint._values[e].value;return l.isDataDriven()||s||a||this._handleOverridablePaintPropertyUpdate(e,o,l)}}_handleSpecialPaintPropertyUpdate(e){}_handleOverridablePaintPropertyUpdate(e,t,r){return!1}isHidden(e=this.minzoom,t=!1){return this.minzoom&&e<(t?Math.floor(this.minzoom):this.minzoom)||this.maxzoom&&e>=this.maxzoom?!0:this._evaluatedVisibility==="none"}updateTransitions(e){this._transitioningPaint=this._transitionablePaint.transitioned(e,this._transitioningPaint)}retainPriorGlobalState(e,t){var r;(r=this._transitionablePaint)==null||r.retainPriorGlobalState(e,t,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculateVisibility(){this._evaluatedVisibility=this._visibilityExpression.evaluate()}recalculate(e,t){e.getCrossfadeParameters&&(this._crossfadeParameters=e.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(e,void 0,t)),this.paint=this._transitioningPaint.possiblyEvaluate(e,void 0,t)}serialize(){var t,r;let e={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:(t=this._unevaluatedLayout)==null?void 0:t.serialize(),paint:(r=this._transitionablePaint)==null?void 0:r.serialize()};return this.visibility&&(e.layout||(e.layout={}),e.layout.visibility=this.visibility),em(e,(i,n)=>i!==void 0&&!(n==="layout"&&!Object.keys(i).length)&&!(n==="paint"&&!Object.keys(i).length))}_validate(e,t,r,i,n={}){return yg(this,e,{key:t,layerType:this.type,objectKey:r,value:i},n)}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let e in this.paint._values){let t=this.paint.get(e);if(t instanceof st&&Qr(t.property.specification)&&(t.value.kind==="source"||t.value.kind==="composite")&&t.value.isStateDependent)return!0}return!1}};let vg;const bg=()=>vg||(vg=new Ge({"raster-opacity":new R(D.paint_raster["raster-opacity"],"raster-opacity"),"raster-hue-rotate":new R(D.paint_raster["raster-hue-rotate"],"raster-hue-rotate"),"raster-brightness-min":new R(D.paint_raster["raster-brightness-min"],"raster-brightness-min"),"raster-brightness-max":new R(D.paint_raster["raster-brightness-max"],"raster-brightness-max"),"raster-saturation":new R(D.paint_raster["raster-saturation"],"raster-saturation"),"raster-contrast":new R(D.paint_raster["raster-contrast"],"raster-contrast"),resampling:new R(D.paint_raster.resampling,"resampling"),"raster-resampling":new R(D.paint_raster["raster-resampling"],"raster-resampling"),"raster-fade-duration":new R(D.paint_raster["raster-fade-duration"],"raster-fade-duration")}));var wg={get paint(){return bg()}},Dg=class extends dt{constructor(e,t){super(e,wg,t)}};const _g={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};var yn=class{constructor(e,t){this._structArray=e,this._pos1=t*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}},ge=class{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(t,r){return t._trim(),r&&(t.isTransferred=!0,r.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}}static deserialize(t){let r=Object.create(this.prototype);return r.arrayBuffer=t.arrayBuffer,r.length=t.length,r.capacity=t.arrayBuffer.byteLength/r.bytesPerElement,r._refreshViews(),r}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(t){this.reserve(t),this.length=t}reserve(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(this.capacity*5),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let r=this.uint8;this._refreshViews(),r&&this.uint8.set(r)}}_refreshViews(){throw Error("_refreshViews() must be implemented by each concrete StructArray layout")}freeBufferAfterUpload(){this.arrayBuffer=new ArrayBuffer(0),this._refreshViews()}};function Se(e,t=1){let r=0,i=0;return{members:e.map(n=>{let a=Sg(n.type),s=r=gh(r,Math.max(t,a)),o=n.components||1;return i=Math.max(i,a),r+=a*o,{name:n.name,type:n.type,components:o,offset:s}}),size:gh(r,Math.max(i,t)),alignment:t}}function Sg(e){return _g[e].BYTES_PER_ELEMENT}function gh(e,t){return Math.ceil(e/t)*t}var rn=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t){let r=this.length;return this.resize(r+1),this.emplace(r,e,t)}emplace(e,t,r){let i=e*2;return this.int16[i+0]=t,this.int16[i+1]=r,e}};rn.prototype.bytesPerElement=4,C("StructArrayLayout2i4",rn);var no=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,r)}emplace(e,t,r,i){let n=e*3;return this.int16[n+0]=t,this.int16[n+1]=r,this.int16[n+2]=i,e}};no.prototype.bytesPerElement=6,C("StructArrayLayout3i6",no);var xh=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,i){let n=this.length;return this.resize(n+1),this.emplace(n,e,t,r,i)}emplace(e,t,r,i,n){let a=e*4;return this.int16[a+0]=t,this.int16[a+1]=r,this.int16[a+2]=i,this.int16[a+3]=n,e}};xh.prototype.bytesPerElement=8,C("StructArrayLayout4i8",xh);var ao=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,i,n,a){let s=this.length;return this.resize(s+1),this.emplace(s,e,t,r,i,n,a)}emplace(e,t,r,i,n,a,s){let o=e*6;return this.int16[o+0]=t,this.int16[o+1]=r,this.int16[o+2]=i,this.int16[o+3]=n,this.int16[o+4]=a,this.int16[o+5]=s,e}};ao.prototype.bytesPerElement=12,C("StructArrayLayout2i4i12",ao);var so=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,i,n,a){let s=this.length;return this.resize(s+1),this.emplace(s,e,t,r,i,n,a)}emplace(e,t,r,i,n,a,s){let o=e*4,l=e*8;return this.int16[o+0]=t,this.int16[o+1]=r,this.uint8[l+4]=i,this.uint8[l+5]=n,this.uint8[l+6]=a,this.uint8[l+7]=s,e}};so.prototype.bytesPerElement=8,C("StructArrayLayout2i4ub8",so);var nn=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t){let r=this.length;return this.resize(r+1),this.emplace(r,e,t)}emplace(e,t,r){let i=e*2;return this.float32[i+0]=t,this.float32[i+1]=r,e}};nn.prototype.bytesPerElement=8,C("StructArrayLayout2f8",nn);var oo=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r,i,n,a,s,o,l,u){let h=this.length;return this.resize(h+1),this.emplace(h,e,t,r,i,n,a,s,o,l,u)}emplace(e,t,r,i,n,a,s,o,l,u,h){let c=e*10;return this.uint16[c+0]=t,this.uint16[c+1]=r,this.uint16[c+2]=i,this.uint16[c+3]=n,this.uint16[c+4]=a,this.uint16[c+5]=s,this.uint16[c+6]=o,this.uint16[c+7]=l,this.uint16[c+8]=u,this.uint16[c+9]=h,e}};oo.prototype.bytesPerElement=20,C("StructArrayLayout10ui20",oo);var lo=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r,i,n,a,s,o){let l=this.length;return this.resize(l+1),this.emplace(l,e,t,r,i,n,a,s,o)}emplace(e,t,r,i,n,a,s,o,l){let u=e*8;return this.uint16[u+0]=t,this.uint16[u+1]=r,this.uint16[u+2]=i,this.uint16[u+3]=n,this.uint16[u+4]=a,this.uint16[u+5]=s,this.uint16[u+6]=o,this.uint16[u+7]=l,e}};lo.prototype.bytesPerElement=16,C("StructArrayLayout8ui16",lo);var uo=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,r,i,n,a,s,o,l,u,h,c,p){let f=this.length;return this.resize(f+1),this.emplace(f,e,t,r,i,n,a,s,o,l,u,h,c,p)}emplace(e,t,r,i,n,a,s,o,l,u,h,c,p,f){let d=e*14,y=e*7;return this.int16[d+0]=t,this.int16[d+1]=r,this.int16[d+2]=i,this.int16[d+3]=n,this.uint16[d+4]=a,this.uint16[d+5]=s,this.uint16[d+6]=o,this.uint16[d+7]=l,this.int16[d+8]=u,this.int16[d+9]=h,this.int16[d+10]=c,this.int16[d+11]=p,this.float32[y+6]=f,e}};uo.prototype.bytesPerElement=28,C("StructArrayLayout4i4ui4i1f28",uo);var ho=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,r){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,r)}emplace(e,t,r,i){let n=e*3;return this.float32[n+0]=t,this.float32[n+1]=r,this.float32[n+2]=i,e}};ho.prototype.bytesPerElement=12,C("StructArrayLayout3f12",ho);var co=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){let r=e*1;return this.uint32[r+0]=t,e}};co.prototype.bytesPerElement=4,C("StructArrayLayout1ul4",co);var po=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r,i,n,a,s,o,l){let u=this.length;return this.resize(u+1),this.emplace(u,e,t,r,i,n,a,s,o,l)}emplace(e,t,r,i,n,a,s,o,l,u){let h=e*10,c=e*5;return this.int16[h+0]=t,this.int16[h+1]=r,this.int16[h+2]=i,this.int16[h+3]=n,this.int16[h+4]=a,this.int16[h+5]=s,this.uint32[c+3]=o,this.uint16[h+8]=l,this.uint16[h+9]=u,e}};po.prototype.bytesPerElement=20,C("StructArrayLayout6i1ul2ui20",po);var fo=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,i,n,a){let s=this.length;return this.resize(s+1),this.emplace(s,e,t,r,i,n,a)}emplace(e,t,r,i,n,a,s){let o=e*6;return this.int16[o+0]=t,this.int16[o+1]=r,this.int16[o+2]=i,this.int16[o+3]=n,this.int16[o+4]=a,this.int16[o+5]=s,e}};fo.prototype.bytesPerElement=12,C("StructArrayLayout2i2i2i12",fo);var vh=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,i,n){let a=this.length;return this.resize(a+1),this.emplace(a,e,t,r,i,n)}emplace(e,t,r,i,n,a){let s=e*4,o=e*8;return this.float32[s+0]=t,this.float32[s+1]=r,this.float32[s+2]=i,this.int16[o+6]=n,this.int16[o+7]=a,e}};vh.prototype.bytesPerElement=16,C("StructArrayLayout2f1f2i16",vh);var yo=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,i,n,a){let s=this.length;return this.resize(s+1),this.emplace(s,e,t,r,i,n,a)}emplace(e,t,r,i,n,a,s){let o=e*16,l=e*4,u=e*8;return this.uint8[o+0]=t,this.uint8[o+1]=r,this.float32[l+1]=i,this.float32[l+2]=n,this.int16[u+6]=a,this.int16[u+7]=s,e}};yo.prototype.bytesPerElement=16,C("StructArrayLayout2ub2f2i16",yo);var mo=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,r)}emplace(e,t,r,i){let n=e*3;return this.uint16[n+0]=t,this.uint16[n+1]=r,this.uint16[n+2]=i,e}};mo.prototype.bytesPerElement=6,C("StructArrayLayout3ui6",mo);var go=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,r,i,n,a,s,o,l,u,h,c,p,f,d,y,m,g){let x=this.length;return this.resize(x+1),this.emplace(x,e,t,r,i,n,a,s,o,l,u,h,c,p,f,d,y,m,g)}emplace(e,t,r,i,n,a,s,o,l,u,h,c,p,f,d,y,m,g,x){let v=e*26,b=e*13,w=e*52;return this.int16[v+0]=t,this.int16[v+1]=r,this.uint16[v+2]=i,this.uint16[v+3]=n,this.uint32[b+2]=a,this.uint32[b+3]=s,this.uint32[b+4]=o,this.uint16[v+10]=l,this.uint16[v+11]=u,this.uint16[v+12]=h,this.float32[b+7]=c,this.float32[b+8]=p,this.uint8[w+36]=f,this.uint8[w+37]=d,this.uint8[w+38]=y,this.uint32[b+10]=m,this.int16[v+22]=g,this.float32[b+12]=x,e}};go.prototype.bytesPerElement=52,C("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i1f52",go);var xo=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,r,i,n,a,s,o,l,u,h,c,p,f,d,y,m,g,x,v,b,w,_,S,A,T,L,O,P){let V=this.length;return this.resize(V+1),this.emplace(V,e,t,r,i,n,a,s,o,l,u,h,c,p,f,d,y,m,g,x,v,b,w,_,S,A,T,L,O,P)}emplace(e,t,r,i,n,a,s,o,l,u,h,c,p,f,d,y,m,g,x,v,b,w,_,S,A,T,L,O,P,V){let F=e*34,$=e*17;return this.int16[F+0]=t,this.int16[F+1]=r,this.int16[F+2]=i,this.int16[F+3]=n,this.int16[F+4]=a,this.int16[F+5]=s,this.int16[F+6]=o,this.int16[F+7]=l,this.uint16[F+8]=u,this.uint16[F+9]=h,this.uint16[F+10]=c,this.uint16[F+11]=p,this.uint16[F+12]=f,this.uint16[F+13]=d,this.uint16[F+14]=y,this.uint16[F+15]=m,this.uint16[F+16]=g,this.uint16[F+17]=x,this.uint16[F+18]=v,this.uint16[F+19]=b,this.uint16[F+20]=w,this.uint16[F+21]=_,this.uint16[F+22]=S,this.uint32[$+12]=A,this.float32[$+13]=T,this.float32[$+14]=L,this.uint16[F+30]=O,this.uint16[F+31]=P,this.float32[$+16]=V,e}};xo.prototype.bytesPerElement=68,C("StructArrayLayout8i15ui1ul2f2ui1f68",xo);var xa=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){let r=e*1;return this.float32[r+0]=t,e}};xa.prototype.bytesPerElement=4,C("StructArrayLayout1f4",xa);var vo=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,r){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,r)}emplace(e,t,r,i){let n=e*6,a=e*3;return this.uint16[n+0]=t,this.float32[a+1]=r,this.float32[a+2]=i,e}};vo.prototype.bytesPerElement=12,C("StructArrayLayout1ui2f12",vo);var bo=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,r)}emplace(e,t,r,i){let n=e*2,a=e*4;return this.uint32[n+0]=t,this.uint16[a+2]=r,this.uint16[a+3]=i,e}};bo.prototype.bytesPerElement=8,C("StructArrayLayout1ul2ui8",bo);var wo=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t){let r=this.length;return this.resize(r+1),this.emplace(r,e,t)}emplace(e,t,r){let i=e*2;return this.uint16[i+0]=t,this.uint16[i+1]=r,e}};wo.prototype.bytesPerElement=4,C("StructArrayLayout2ui4",wo);var bh=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){let r=e*1;return this.uint16[r+0]=t,e}};bh.prototype.bytesPerElement=2,C("StructArrayLayout1ui2",bh);var Do=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,r,i){let n=this.length;return this.resize(n+1),this.emplace(n,e,t,r,i)}emplace(e,t,r,i,n){let a=e*4;return this.float32[a+0]=t,this.float32[a+1]=r,this.float32[a+2]=i,this.float32[a+3]=n,e}};Do.prototype.bytesPerElement=16,C("StructArrayLayout4f16",Do);var pf=class extends yn{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new B(this.anchorPointX,this.anchorPointY)}};pf.prototype.size=20;var ff=class extends po{get(e){return new pf(this,e)}};C("CollisionBoxArray",ff);var df=class extends yn{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(e){this._structArray.uint8[this._pos1+37]=e}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(e){this._structArray.uint8[this._pos1+38]=e}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(e){this._structArray.uint32[this._pos4+10]=e}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}get heightOffset(){return this._structArray.float32[this._pos4+12]}};df.prototype.size=52;var yf=class extends go{get(e){return new df(this,e)}};C("PlacedSymbolArray",yf);var mf=class extends yn{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(e){this._structArray.uint32[this._pos4+12]=e}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}get heightOffset(){return this._structArray.float32[this._pos4+16]}};mf.prototype.size=68;var gf=class extends xo{get(e){return new mf(this,e)}};C("SymbolInstanceArray",gf);var xf=class extends xa{getoffsetX(e){return this.float32[e*1+0]}};C("GlyphOffsetArray",xf);var vf=class extends no{getx(e){return this.int16[e*3+0]}gety(e){return this.int16[e*3+1]}gettileUnitDistanceFromAnchor(e){return this.int16[e*3+2]}};C("SymbolLineVertexArray",vf);var bf=class extends yn{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}};bf.prototype.size=12;var wf=class extends vo{get(e){return new bf(this,e)}};C("TextAnchorOffsetArray",wf);var Df=class extends yn{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}};Df.prototype.size=8;var _f=class extends bo{get(e){return new Df(this,e)}};C("FeatureIndexArray",_f);var Ag=class extends rn{},Eg=class extends rn{},Fg=class extends rn{},Tg=class extends ao{},kg=class extends so{},Ig=class extends nn{},Br=class extends oo{},wh=class extends lo{},Cg=class extends uo{},Bg=class extends ho{},Pg=class extends co{},Dh=class extends fo{},Mg=class extends yo{},mn=class extends mo{},_o=class extends wo{};const zg=Se([{name:"a_pos",components:2,type:"Int16"}],4),Lg=zg.members;var tt=class Vr{constructor(t=[]){this._forceNewSegmentOnNextPrepare=!1,this.segments=t}prepareSegment(t,r,i,n){let a=this.segments[this.segments.length-1];return t>Vr.MAX_VERTEX_ARRAY_LENGTH&&Be(`Max vertices per segment is ${Vr.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}. Consider using the \`fillLargeMeshArrays\` function if you require meshes with more than ${Vr.MAX_VERTEX_ARRAY_LENGTH} vertices.`),this._forceNewSegmentOnNextPrepare||!a||a.vertexLength+t>Vr.MAX_VERTEX_ARRAY_LENGTH||a.sortKey!==n?this.createNewSegment(r,i,n):a}createNewSegment(t,r,i){let n={vertexOffset:t.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0,vaos:{}};return i!==void 0&&(n.sortKey=i),this._forceNewSegmentOnNextPrepare=!1,this.segments.push(n),n}getOrCreateLatestSegment(t,r,i){return this.prepareSegment(0,t,r,i)}forceNewSegmentOnNextPrepare(){this._forceNewSegmentOnNextPrepare=!0}get(){return this.segments}destroy(){for(let t of this.segments)for(let r in t.vaos)t.vaos[r].destroy()}static simpleSegment(t,r,i,n){return new Vr([{vertexOffset:t,primitiveOffset:r,vertexLength:i,primitiveLength:n,vaos:{},sortKey:0}])}};tt.MAX_VERTEX_ARRAY_LENGTH=2**16-1,C("SegmentVector",tt);function _h(e,t){return e=Gi(Math.floor(e),0,255),t=Gi(Math.floor(t),0,255),256*e+t}const Vg=Se([{name:"a_pattern_from",components:4,type:"Uint16"},{name:"a_pattern_to",components:4,type:"Uint16"},{name:"a_pixel_ratio_from",components:1,type:"Uint16"},{name:"a_pixel_ratio_to",components:1,type:"Uint16"}]),Og=Se([{name:"a_dasharray_from",components:4,type:"Uint16"},{name:"a_dasharray_to",components:4,type:"Uint16"}]);var Rg=rl(((e,t)=>{function r(i,n){for(var a=i.length&3,s=i.length-a,o=n,l,u=3432918353,h=461845907,c,p=0;p<s;)c=i.charCodeAt(p)&255|(i.charCodeAt(++p)&255)<<8|(i.charCodeAt(++p)&255)<<16|(i.charCodeAt(++p)&255)<<24,++p,c=(c&65535)*u+(((c>>>16)*u&65535)<<16)&4294967295,c=c<<15|c>>>17,c=(c&65535)*h+(((c>>>16)*h&65535)<<16)&4294967295,o^=c,o=o<<13|o>>>19,l=(o&65535)*5+(((o>>>16)*5&65535)<<16)&4294967295,o=(l&65535)+27492+(((l>>>16)+58964&65535)<<16);switch(c=0,a){case 3:c^=(i.charCodeAt(p+2)&255)<<16;case 2:c^=(i.charCodeAt(p+1)&255)<<8;case 1:c^=i.charCodeAt(p)&255,c=(c&65535)*u+(((c>>>16)*u&65535)<<16)&4294967295,c=c<<15|c>>>17,c=(c&65535)*h+(((c>>>16)*h&65535)<<16)&4294967295,o^=c}return o^=i.length,o^=o>>>16,o=(o&65535)*2246822507+(((o>>>16)*2246822507&65535)<<16)&4294967295,o^=o>>>13,o=(o&65535)*3266489909+(((o>>>16)*3266489909&65535)<<16)&4294967295,o^=o>>>16,o>>>0}t!==void 0&&(t.exports=r)})),$g=rl(((e,t)=>{function r(i,n){for(var a=i.length,s=n^a,o=0,l;a>=4;)l=i.charCodeAt(o)&255|(i.charCodeAt(++o)&255)<<8|(i.charCodeAt(++o)&255)<<16|(i.charCodeAt(++o)&255)<<24,l=(l&65535)*1540483477+(((l>>>16)*1540483477&65535)<<16),l^=l>>>24,l=(l&65535)*1540483477+(((l>>>16)*1540483477&65535)<<16),s=(s&65535)*1540483477+(((s>>>16)*1540483477&65535)<<16)^l,a-=4,++o;switch(a){case 3:s^=(i.charCodeAt(o+2)&255)<<16;case 2:s^=(i.charCodeAt(o+1)&255)<<8;case 1:s^=i.charCodeAt(o)&255,s=(s&65535)*1540483477+(((s>>>16)*1540483477&65535)<<16)}return s^=s>>>13,s=(s&65535)*1540483477+(((s>>>16)*1540483477&65535)<<16),s^=s>>>15,s>>>0}t.exports=r})),va=Ly(rl(((e,t)=>{var r=Rg(),i=$g();t.exports=r,t.exports.murmur3=r,t.exports.murmur2=i}))()),Sf=class Af{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(t,r,i,n){this.ids.push(Sh(t)),this.positions.push(r,i,n)}getPositions(t){if(!this.indexed)throw Error("Trying to get index, but feature positions are not indexed");let r=Sh(t),i=0,n=this.ids.length-1;for(;i<n;){let s=i+n>>1;this.ids[s]>=r?n=s:i=s+1}let a=[];for(;this.ids[i]===r;){let s=this.positions[3*i],o=this.positions[3*i+1],l=this.positions[3*i+2];a.push({index:s,start:o,end:l}),i++}return a}static serialize(t,r){let i=new Float64Array(t.ids),n=new Uint32Array(t.positions);return So(i,n,0,i.length-1),r&&r.push(i.buffer,n.buffer),{ids:i,positions:n}}static deserialize(t){let r=new Af;return r.ids=t.ids,r.positions=t.positions,r.indexed=!0,r}};function Sh(e){let t=+e;return!isNaN(t)&&t<=2**53-1?t:(0,va.default)(String(e))}function So(e,t,r,i){for(;r<i;){let n=e[r+i>>1],a=r-1,s=i+1;for(;;){do a++;while(e[a]<n);do s--;while(e[s]>n);if(a>=s)break;Nn(e,a,s),Nn(t,3*a,3*s),Nn(t,3*a+1,3*s+1),Nn(t,3*a+2,3*s+2)}s-r<i-s?(So(e,t,r,s),r=s+1):(So(e,t,s+1,i),i=s)}}function Nn(e,t,r){let i=e[t];e[t]=e[r],e[r]=i}C("FeaturePositionMap",Sf);var El=class{constructor(e,t){this.gl=e.gl,this.location=t}},Fl=class extends El{constructor(e,t){super(e,t),this.current=0}set(e){this.current!==e&&(this.current=e,this.gl.uniform1f(this.location,e))}},Ng=class extends El{constructor(e,t){super(e,t),this.current=[0,0,0,0]}set(e){(e[0]!==this.current[0]||e[1]!==this.current[1]||e[2]!==this.current[2]||e[3]!==this.current[3])&&(this.current=e,this.gl.uniform4f(this.location,e[0],e[1],e[2],e[3]))}},Ug=class extends El{constructor(e,t){super(e,t),this.current=me.transparent}set(e){(e.r!==this.current.r||e.g!==this.current.g||e.b!==this.current.b||e.a!==this.current.a)&&(this.current=e,this.gl.uniform4f(this.location,e.r,e.g,e.b,e.a))}};function Ao(e){return[_h(255*e.r,255*e.g),_h(255*e.b,255*e.a)]}var zi=class{constructor(e,t,r){this.value=e,this.uniformNames=t.map(i=>`u_${i}`),this.type=r}setUniform(e,t,r){e.set(r.constantOr(this.value))}getBinding(e,t,r){return this.type==="color"?new Ug(e,t):new Fl(e,t)}},sr=class{constructor(e,t){this.uniformNames=t.map(r=>`u_${r}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(e,t){this.pixelRatioFrom=t.pixelRatio,this.pixelRatioTo=e.pixelRatio,this.patternFrom=t.tlbr,this.patternTo=e.tlbr}setConstantDashPositions(e,t){this.dashTo=[0,e.y,e.height,e.width],this.dashFrom=[0,t.y,t.height,t.width]}setUniform(e,t,r,i){let n=null;i==="u_pattern_to"?n=this.patternTo:i==="u_pattern_from"?n=this.patternFrom:i==="u_dasharray_to"?n=this.dashTo:i==="u_dasharray_from"?n=this.dashFrom:i==="u_pixel_ratio_to"?n=this.pixelRatioTo:i==="u_pixel_ratio_from"&&(n=this.pixelRatioFrom),n!==null&&e.set(n)}getBinding(e,t,r){return r.startsWith("u_pattern")||r.startsWith("u_dasharray_")?new Ng(e,t):new Fl(e,t)}},Tt=class{constructor(e,t,r,i){this.expression=e,this.type=r,this.maxValue=0,this.paintVertexAttributes=t.map(n=>({name:`a_${n}`,type:"Float32",components:r==="color"?2:1,offset:0})),this.paintVertexArray=new i}populatePaintArray(e,t,r){let i=this.paintVertexArray.length,n=this.expression.evaluate(new se(0,r),t,{},r.canonical,[],r.formattedSection);this.paintVertexArray.resize(e),this._setPaintValue(i,e,n)}updatePaintArray(e,t,r,i,n){let a=this.expression.evaluate(new se(0,n),r,i);this._setPaintValue(e,t,a)}_setPaintValue(e,t,r){if(this.type==="color"){let i=Ao(r);for(let n=e;n<t;n++)this.paintVertexArray.emplace(n,i[0],i[1])}else{for(let i=e;i<t;i++)this.paintVertexArray.emplace(i,r);this.maxValue=Math.max(this.maxValue,Math.abs(r))}}upload(e){var t,r;(t=this.paintVertexArray)!=null&&t.arrayBuffer.byteLength&&((r=this.paintVertexBuffer)!=null&&r.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=e.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}},ht=class{constructor(e,t,r,i,n,a){this.expression=e,this.uniformNames=t.map(s=>`u_${s}_t`),this.type=r,this.useIntegerZoom=i,this.zoom=n,this.maxValue=0,this.paintVertexAttributes=t.map(s=>({name:`a_${s}`,type:"Float32",components:r==="color"?4:2,offset:0})),this.paintVertexArray=new a}populatePaintArray(e,t,r){let i=this.expression.evaluate(new se(this.zoom,r),t,{},r.canonical,[],r.formattedSection),n=this.expression.evaluate(new se(this.zoom+1,r),t,{},r.canonical,[],r.formattedSection),a=this.paintVertexArray.length;this.paintVertexArray.resize(e),this._setPaintValue(a,e,i,n)}updatePaintArray(e,t,r,i,n){let a=this.expression.evaluate(new se(this.zoom,n),r,i),s=this.expression.evaluate(new se(this.zoom+1,n),r,i);this._setPaintValue(e,t,a,s)}_setPaintValue(e,t,r,i){if(this.type==="color"){let n=Ao(r),a=Ao(i);for(let s=e;s<t;s++)this.paintVertexArray.emplace(s,n[0],n[1],a[0],a[1])}else{for(let n=e;n<t;n++)this.paintVertexArray.emplace(n,r,i);this.maxValue=Math.max(this.maxValue,Math.abs(r),Math.abs(i))}}upload(e){var t,r;(t=this.paintVertexArray)!=null&&t.arrayBuffer.byteLength&&((r=this.paintVertexBuffer)!=null&&r.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=e.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}setUniform(e,t){let r=this.useIntegerZoom?Math.floor(t.zoom):t.zoom,i=Gi(this.expression.interpolationFactor(r,this.zoom,this.zoom+1),0,1);e.set(i)}getBinding(e,t,r){return new Fl(e,t)}},Xt=class{constructor(e,t,r,i,n,a){this.expression=e,this.type=t,this.useIntegerZoom=r,this.zoom=i,this.layerId=a,this.zoomInPaintVertexArray=new n,this.zoomOutPaintVertexArray=new n}populatePaintArray(e,t,r){let i=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(e),this.zoomOutPaintVertexArray.resize(e),this._setPaintValues(i,e,this.getPositionIds(t),r)}updatePaintArray(e,t,r,i,n){this._setPaintValues(e,t,this.getPositionIds(r),n)}_setPaintValues(e,t,r,i){let n=this.getPositions(i);if(!n||!r)return;let a=n[r.min],s=n[r.mid],o=n[r.max];if(a&&s&&o)for(let l=e;l<t;l++)this.emplace(this.zoomInPaintVertexArray,l,a,s),this.emplace(this.zoomOutPaintVertexArray,l,o,s)}upload(e){var t,r;if((t=this.zoomInPaintVertexArray)!=null&&t.arrayBuffer.byteLength&&((r=this.zoomOutPaintVertexArray)!=null&&r.arrayBuffer.byteLength)){let i=this.getVertexAttributes();this.zoomInPaintVertexBuffer=e.createVertexBuffer(this.zoomInPaintVertexArray,i,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=e.createVertexBuffer(this.zoomOutPaintVertexArray,i,this.expression.isStateDependent)}}destroy(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()}},Ef=class extends Xt{getPositions(e){return e.imagePositions}getPositionIds(e){var t;return(t=e.patterns)==null?void 0:t[this.layerId]}getVertexAttributes(){return Vg.members}emplace(e,t,r,i){e.emplace(t,r.tlbr[0],r.tlbr[1],r.tlbr[2],r.tlbr[3],i.tlbr[0],i.tlbr[1],i.tlbr[2],i.tlbr[3],r.pixelRatio,i.pixelRatio)}},Ff=class extends Xt{getPositions(e){return e.dashPositions}getPositionIds(e){var t;return(t=e.dashes)==null?void 0:t[this.layerId]}getVertexAttributes(){return Og.members}emplace(e,t,r,i){e.emplace(t,0,r.y,r.height,r.width,0,i.y,i.height,i.width)}},Tf=class{constructor(e,t,r){this.binders={},this._buffers=[];let i=[];for(let n in e.paint._values){if(!r(n))continue;let a=e.paint.get(n);if(!(a instanceof st)||!Qr(a.property.specification))continue;let s=qg(n,e.type),o=a.value,l=a.property.specification.type,u=a.property.useIntegerZoom,h=a.property.specification["property-type"],c=h==="cross-faded"||h==="cross-faded-data-driven";if(o.kind==="constant")this.binders[n]=c?new sr(o.value,s):new zi(o.value,s,l),i.push(`/u_${n}`);else if(o.kind==="source"||c){let p=Ah(n,l,"source");this.binders[n]=c?n==="line-dasharray"?new Ff(o,l,u,t,p,e.id):new Ef(o,l,u,t,p,e.id):new Tt(o,s,l,p),i.push(`/a_${n}`)}else{let p=Ah(n,l,"composite");this.binders[n]=new ht(o,s,l,u,t,p),i.push(`/z_${n}`)}}this.cacheKey=i.sort().join("")}getMaxValue(e){let t=this.binders[e];return t instanceof Tt||t instanceof ht?t.maxValue:0}populatePaintArrays(e,t,r){for(let i in this.binders){let n=this.binders[i];(n instanceof Tt||n instanceof ht||n instanceof Xt)&&n.populatePaintArray(e,t,r)}}setConstantPatternPositions(e,t){for(let r in this.binders){let i=this.binders[r];i instanceof sr&&i.setConstantPatternPositions(e,t)}}setConstantDashPositions(e,t){for(let r in this.binders){let i=this.binders[r];i instanceof sr&&i.setConstantDashPositions(e,t)}}updatePaintArrays(e,t,r,i,n){let a=!1;for(let s of e){let o=t.getPositions(s.id);for(let l of o){let u=r.feature(l.index);for(let h in this.binders){let c=this.binders[h];(c instanceof Tt||c instanceof ht||c instanceof Xt)&&c.expression.isStateDependent===!0&&(c.expression=i.paint.get(h).value,c.updatePaintArray(l.start,l.end,u,s.state,n),a=!0)}}}return a}defines(){let e=[];for(let t in this.binders){let r=this.binders[t];(r instanceof zi||r instanceof sr)&&e.push(...r.uniformNames.map(i=>`#define HAS_UNIFORM_${i}`))}return e}getBinderAttributes(){let e=[];for(let t in this.binders){let r=this.binders[t];if(r instanceof Tt||r instanceof ht)for(let i of r.paintVertexAttributes)e.push(i.name);else if(r instanceof Xt){let i=r.getVertexAttributes();for(let n of i)e.push(n.name)}}return e}getBinderUniforms(){let e=[];for(let t in this.binders){let r=this.binders[t];if(r instanceof zi||r instanceof sr||r instanceof ht)for(let i of r.uniformNames)e.push(i)}return e}getPaintVertexBuffers(){return this._buffers}getUniforms(e,t){let r=[];for(let i in this.binders){let n=this.binders[i];if(n instanceof zi||n instanceof sr||n instanceof ht){for(let a of n.uniformNames)if(t[a]){let s=n.getBinding(e,t[a],a);r.push({name:a,property:i,binding:s})}}}return r}setUniforms(e,t,r,i){for(let{name:n,property:a,binding:s}of t)this.binders[a].setUniform(s,i,r.get(a),n)}updatePaintBuffers(e){this._buffers=[];for(let t in this.binders){let r=this.binders[t];if(e&&r instanceof Xt){let i=e.fromScale===2?r.zoomInPaintVertexBuffer:r.zoomOutPaintVertexBuffer;i&&this._buffers.push(i)}else(r instanceof Tt||r instanceof ht)&&r.paintVertexBuffer&&this._buffers.push(r.paintVertexBuffer)}}upload(e){for(let t in this.binders){let r=this.binders[t];(r instanceof Tt||r instanceof ht||r instanceof Xt)&&r.upload(e)}this.updatePaintBuffers()}destroy(){for(let e in this.binders){let t=this.binders[e];(t instanceof Tt||t instanceof ht||t instanceof Xt)&&t.destroy()}}},gr=class{constructor(e,t,r=()=>!0){this.programConfigurations={};for(let i of e)this.programConfigurations[i.id]=new Tf(i,t,r);this.needsUpload=!1,this._featureMap=new Sf,this._bufferOffset=0}populatePaintArrays(e,t,r,i){for(let n in this.programConfigurations)this.programConfigurations[n].populatePaintArrays(e,t,i);t.id!==void 0&&this._featureMap.add(t.id,r,this._bufferOffset,e),this._bufferOffset=e,this.needsUpload=!0}updatePaintArrays(e,t,r,i){for(let n of r)this.needsUpload=this.programConfigurations[n.id].updatePaintArrays(e,this._featureMap,t,n,i)||this.needsUpload}get(e){return this.programConfigurations[e]}upload(e){if(this.needsUpload){for(let t in this.programConfigurations)this.programConfigurations[t].upload(e);this.needsUpload=!1}}destroy(){for(let e in this.programConfigurations)this.programConfigurations[e].destroy()}};function qg(e,t){return{"text-opacity":["opacity"],"icon-opacity":["opacity"],"text-color":["fill_color"],"icon-color":["fill_color"],"text-halo-color":["halo_color"],"icon-halo-color":["halo_color"],"text-halo-blur":["halo_blur"],"icon-halo-blur":["halo_blur"],"text-halo-width":["halo_width"],"icon-halo-width":["halo_width"],"line-gap-width":["gapwidth"],"line-dasharray":["dasharray_to","dasharray_from"],"line-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-extrusion-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"]}[e]||[e.replace(`${t}-`,"").replace(/-/g,"_")]}function jg(e){return{"line-pattern":{source:Br,composite:Br},"fill-pattern":{source:Br,composite:Br},"fill-extrusion-pattern":{source:Br,composite:Br},"line-dasharray":{source:wh,composite:wh}}[e]}function Ah(e,t,r){var n;let i={color:{source:nn,composite:Do},number:{source:xa,composite:nn}};return((n=jg(e))==null?void 0:n[r])||i[t][r]}C("ConstantBinder",zi),C("CrossFadedConstantBinder",sr),C("SourceExpressionBinder",Tt),C("CrossFadedPatternBinder",Ef),C("CrossFadedDasharrayBinder",Ff),C("CompositeExpressionBinder",ht),C("ProgramConfiguration",Tf,{omit:["_buffers"]}),C("ProgramConfigurationSet",gr);const Eo=2**14-1,Eh=-Eo-1;function wr(e){let t=xe/e.extent,r=e.loadGeometry();for(let i of r)for(let n of i){let a=Math.round(n.x*t),s=Math.round(n.y*t);n.x=Gi(a,Eh,Eo),n.y=Gi(s,Eh,Eo),(a<n.x||a>n.x+1||s<n.y||s>n.y+1)&&Be("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return r}function si(e,t){return{type:e.type,id:e.id,properties:e.properties,geometry:t?wr(e):[]}}const Fh=-32768;function Gg(e,t,r,i,n){e.emplaceBack(Fh+t*8+i,Fh+r*8+n)}var Tl=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(t=>t.id),this.index=e.index,this.hasDependencies=!1,this.layoutVertexArray=new Eg,this.indexArray=new mn,this.segments=new tt,this.programConfigurations=new gr(e.layers,e.zoom),this.stateDependentLayerIds=this.layers.filter(t=>t.isStateDependent()).map(t=>t.id)}populate(e,t,r){let i=this.layers[0],n=[],a=null,s=!1,o=i.type==="heatmap";if(i.type==="circle"){let c=i;a=c.layout.get("circle-sort-key"),s=!a.isConstant(),o||(o=c.paint.get("circle-pitch-alignment")==="map")}let l=o?t.subdivisionGranularity.circle:1,u=new se(this.zoom),h=this.layers[0]._featureFilter.needGeometry;for(let{feature:c,id:p,index:f,sourceLayerIndex:d}of e){let y=si(c,h);if(!this.layers[0]._featureFilter.filter(u,y,r))continue;let m=s?a.evaluate(y,{},r):void 0,g={id:p,properties:c.properties,type:c.type,sourceLayerIndex:d,index:f,geometry:h?y.geometry:wr(c),patterns:{},sortKey:m};n.push(g)}s&&n.sort((c,p)=>c.sortKey-p.sortKey);for(let c of n){let{geometry:p,index:f,sourceLayerIndex:d}=c,y=e[f].feature;this.addFeature(c,p,f,r,l),t.featureIndex.insert(y,p,f,d,this.index)}}update(e,t,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:r})}addFeatures(e){}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,Lg),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(e,t,r,i,n=1){let a;switch(n){case 1:a=[0,7];break;case 3:a=[0,2,5,7];break;case 5:a=[0,1,3,4,6,7];break;case 7:a=[0,1,2,3,4,5,6,7];break;default:throw Error(`Invalid circle bucket granularity: ${n}; valid values are 1, 3, 5, 7.`)}let s=a.length;for(let o of t)for(let l of o){let u=l.x,h=l.y;if(u<0||u>=8192||h<0||h>=8192)continue;let c=this.segments.prepareSegment(s*s,this.layoutVertexArray,this.indexArray,e.sortKey),p=c.vertexLength;for(let f=0;f<s;f++)for(let d=0;d<s;d++)Gg(this.layoutVertexArray,u,h,a[d],a[f]);for(let f=0;f<s-1;f++)for(let d=0;d<s-1;d++){let y=p+f*s+d,m=p+(f+1)*s+d;this.indexArray.emplaceBack(y,m+1,y+1),this.indexArray.emplaceBack(y,m,m+1)}c.vertexLength+=s*s,c.primitiveLength+=(s-1)*(s-1)*2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,r,{imagePositions:{},canonical:i})}};C("CircleBucket",Tl,{omit:["layers"]});function Xg(e,t){for(let r of e)if(ri(t,r))return!0;for(let r of t)if(ri(e,r))return!0;return kl(e,t)}function Na(e,t,r){return ri(e,t)?!0:Fo(t,e,r)}function kf(e,t){if(e.length===1)return Th(t,e[0]);for(let r of t)for(let i of r)if(ri(e,i))return!0;for(let r of e)if(Th(t,r))return!0;for(let r of t)if(kl(e,r))return!0;return!1}function Yg(e,t,r){for(let i of t){if(e.length>=3){for(let n of i)if(ri(e,n))return!0}if(Wg(e,i,r))return!0}return!1}function Wg(e,t,r){if(e.length>1){if(kl(e,t))return!0;for(let i of t)if(Fo(i,e,r))return!0}for(let i of e)if(Fo(i,t,r))return!0;return!1}function kl(e,t){if(e.length===0||t.length===0)return!1;for(let r=0;r<e.length-1;r++){let i=e[r],n=e[r+1];for(let a=0;a<t.length-1;a++){let s=t[a],o=t[a+1];if(Zg(i,n,s,o))return!0}}return!1}function Zg(e,t,r,i){return Zt(e,r,i)!==Zt(t,r,i)&&Zt(e,t,r)!==Zt(e,t,i)}function Fo(e,t,r){let i=r*r;if(t.length===1)return e.distSqr(t[0])<i;for(let n=1;n<t.length;n++){let a=t[n-1],s=t[n];if(If(e,a,s)<i)return!0}return!1}function If(e,t,r){let i=t.distSqr(r);if(i===0)return e.distSqr(t);let n=((e.x-t.x)*(r.x-t.x)+(e.y-t.y)*(r.y-t.y))/i;return n<0?e.distSqr(t):n>1?e.distSqr(r):e.distSqr(r.sub(t)._mult(n)._add(t))}function Th(e,t){let r=!1,i,n,a;for(let s of e){i=s;for(let o=0,l=i.length-1;o<i.length;l=o++)n=i[o],a=i[l],n.y>t.y!=a.y>t.y&&t.x<(a.x-n.x)*(t.y-n.y)/(a.y-n.y)+n.x&&(r=!r)}return r}function ri(e,t){let r=!1;for(let i=0,n=e.length-1;i<e.length;n=i++){let a=e[i],s=e[n];a.y>t.y!=s.y>t.y&&t.x<(s.x-a.x)*(t.y-a.y)/(s.y-a.y)+a.x&&(r=!r)}return r}function Hg(e,t,r,i,n){for(let s of e)if(t<=s.x&&r<=s.y&&i>=s.x&&n>=s.y)return!0;let a=[new B(t,r),new B(t,n),new B(i,n),new B(i,r)];if(e.length>2){for(let s of a)if(ri(e,s))return!0}for(let s=0;s<e.length-1;s++){let o=e[s],l=e[s+1];if(Kg(o,l,a))return!0}return!1}function Kg(e,t,r){let i=r[0],n=r[2];if(e.x<i.x&&t.x<i.x||e.x>n.x&&t.x>n.x||e.y<i.y&&t.y<i.y||e.y>n.y&&t.y>n.y)return!1;let a=Zt(e,t,r[0]);return a!==Zt(e,t,r[1])||a!==Zt(e,t,r[2])||a!==Zt(e,t,r[3])}function qr(e,t,r){let i=t.paint.get(e).value;return i.kind==="constant"?i.value:r.programConfigurations.get(t.id).getMaxValue(e)}function Ua(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1])}function qa(e,t,r,i,n){if(!t[0]&&!t[1])return e;let a=B.convert(t)._mult(n);r==="viewport"&&a._rotate(-i);let s=[];for(let o of e)s.push(o.sub(a));return s}function Jg(e){let t=[];for(let r=0;r<e.length;r++){let i=e[r],n=t.at(-1);(r===0||n&&!i.equals(n))&&t.push(i)}return t}function Qg(e,t){let r=[];for(let i of e){let n=Jg(i),a=[];for(let s=0;s<n.length;s++){let o=n[s],l=n[s-1],u=n[s+1],h=s===0?new B(0,0):o.sub(l)._unit()._perp(),c=s===n.length-1?new B(0,0):u.sub(o)._unit()._perp(),p=h._add(c)._unit(),f=p.x*c.x+p.y*c.y;f!==0&&p._mult(1/f),a.push(p._mult(t)._add(o))}r.push(a)}return r}function e0({queryGeometry:e,size:t},r){return Na(e,r,t)}function t0({queryGeometry:e,size:t,transform:r,unwrappedTileID:i,getElevation:n},a){return Na(e,a,t*(r.projectTileCoordinates(a.x,a.y,i,n==null?void 0:n(a.x,a.y)).signedDistanceFromCamera/r.cameraToCenterDistance))}function r0({queryGeometry:e,size:t,transform:r,unwrappedTileID:i,getElevation:n},a){let s=r.projectTileCoordinates(a.x,a.y,i,n==null?void 0:n(a.x,a.y)).signedDistanceFromCamera,o=t*(r.cameraToCenterDistance/s);return Na(e,Il(a,r,i,n),o)}function i0({queryGeometry:e,size:t,transform:r,unwrappedTileID:i,getElevation:n},a){return Na(e,Il(a,r,i,n),t)}function Cf({queryGeometry:e,size:t,transform:r,unwrappedTileID:i,getElevation:n,pitchAlignment:a="map",pitchScale:s="map"},o){let l=a==="map"?s==="map"?e0:t0:s==="map"?r0:i0,u={queryGeometry:e,size:t,transform:r,unwrappedTileID:i,getElevation:n};for(let h of o)for(let c of h)if(l(u,c))return!0;return!1}function Il(e,t,r,i){let n=t.projectTileCoordinates(e.x,e.y,r,i==null?void 0:i(e.x,e.y)).point;return new B((n.x*.5+.5)*t.width,(-n.y*.5+.5)*t.height)}function n0(e,t,r,i){return e.map(n=>Il(n,t,r,i))}let a0;const s0=()=>a0||(a0=new Ge({"circle-sort-key":new U(D.layout_circle["circle-sort-key"],"circle-sort-key")}));let o0;const l0=()=>o0||(o0=new Ge({"circle-radius":new U(D.paint_circle["circle-radius"],"circle-radius"),"circle-color":new U(D.paint_circle["circle-color"],"circle-color"),"circle-blur":new U(D.paint_circle["circle-blur"],"circle-blur"),"circle-opacity":new U(D.paint_circle["circle-opacity"],"circle-opacity"),"circle-translate":new R(D.paint_circle["circle-translate"],"circle-translate"),"circle-translate-anchor":new R(D.paint_circle["circle-translate-anchor"],"circle-translate-anchor"),"circle-pitch-scale":new R(D.paint_circle["circle-pitch-scale"],"circle-pitch-scale"),"circle-pitch-alignment":new R(D.paint_circle["circle-pitch-alignment"],"circle-pitch-alignment"),"circle-stroke-width":new U(D.paint_circle["circle-stroke-width"],"circle-stroke-width"),"circle-stroke-color":new U(D.paint_circle["circle-stroke-color"],"circle-stroke-color"),"circle-stroke-opacity":new U(D.paint_circle["circle-stroke-opacity"],"circle-stroke-opacity")}));var u0={get paint(){return l0()},get layout(){return s0()}},h0=class extends dt{constructor(e,t){super(e,u0,t)}createBucket(e){return new Tl(e)}queryRadius(e){let t=e;return qr("circle-radius",this,t)+qr("circle-stroke-width",this,t)+Ua(this.paint.get("circle-translate"))}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:r,geometry:i,transform:n,pixelsToTileUnits:a,unwrappedTileID:s,getElevation:o}){let l=qa(e,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),-n.bearingInRadians,a),u=this.paint.get("circle-radius").evaluate(t,r)+this.paint.get("circle-stroke-width").evaluate(t,r),h=this.paint.get("circle-pitch-scale"),c=this.paint.get("circle-pitch-alignment"),p,f;return c==="map"?(p=l,f=u*a):(p=n0(l,n,s,o),f=u),Cf({queryGeometry:p,size:f,transform:n,unwrappedTileID:s,getElevation:o,pitchAlignment:c,pitchScale:h},i)}},Bf=class extends Tl{};C("HeatmapBucket",Bf,{omit:["layers"]});let c0;const p0=()=>c0||(c0=new Ge({"heatmap-radius":new U(D.paint_heatmap["heatmap-radius"],"heatmap-radius"),"heatmap-weight":new U(D.paint_heatmap["heatmap-weight"],"heatmap-weight"),"heatmap-intensity":new R(D.paint_heatmap["heatmap-intensity"],"heatmap-intensity"),"heatmap-color":new $a(D.paint_heatmap["heatmap-color"],"heatmap-color"),"heatmap-opacity":new R(D.paint_heatmap["heatmap-opacity"],"heatmap-opacity")}));var f0={get paint(){return p0()}};function Cl(e,{width:t,height:r},i,n){if(!n)n=new Uint8Array(t*r*i);else if(n instanceof Uint8ClampedArray)n=new Uint8Array(n.buffer);else if(n.length!==t*r*i)throw RangeError(`mismatched image size. expected: ${n.length} but got: ${t*r*i}`);return e.width=t,e.height=r,e.data=n,e}function Pf(e,{width:t,height:r},i){if(t===e.width&&r===e.height)return;let n=Cl({},{width:t,height:r},i);Bl(e,n,{x:0,y:0},{x:0,y:0},{width:Math.min(e.width,t),height:Math.min(e.height,r)},i),e.width=t,e.height=r,e.data=n.data}function Bl(e,t,r,i,n,a){if(n.width===0||n.height===0)return t;if(n.width>e.width||n.height>e.height||r.x>e.width-n.width||r.y>e.height-n.height)throw RangeError("out of range source coordinates for image copy");if(n.width>t.width||n.height>t.height||i.x>t.width-n.width||i.y>t.height-n.height)throw RangeError("out of range destination coordinates for image copy");let s=e.data,o=t.data;if(s===o)throw Error("srcData equals dstData, so image is already copied");for(let l=0;l<n.height;l++){let u=((r.y+l)*e.width+r.x)*a,h=((i.y+l)*t.width+i.x)*a;for(let c=0;c<n.width*a;c++)o[h+c]=s[u+c]}return t}var To=class Mf{constructor(t,r){Cl(this,t,1,r)}resize(t){Pf(this,t,1)}clone(){return new Mf({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(t,r,i,n,a){Bl(t,r,i,n,a,1)}},Qe=class zf{constructor(t,r){Cl(this,t,4,r)}resize(t){Pf(this,t,4)}replace(t,r){r?this.data.set(t):this.data=t instanceof Uint8ClampedArray?new Uint8Array(t.buffer):t}clone(){return new zf({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(t,r,i,n,a){Bl(t,r,i,n,a,4)}setPixel(t,r,i){let n=(t*this.width+r)*4;this.data[n+0]=Math.round(i.r*255/i.a),this.data[n+1]=Math.round(i.g*255/i.a),this.data[n+2]=Math.round(i.b*255/i.a),this.data[n+3]=Math.round(i.a*255)}};function Bs(e){let t=new Uint8Array(e.length);for(let r=0;r<e.length;r+=4){let i=e[r+3];t[r+0]=Math.round(e[r+0]*i/255),t[r+1]=Math.round(e[r+1]*i/255),t[r+2]=Math.round(e[r+2]*i/255),t[r+3]=i}return t}C("AlphaImage",To),C("RGBAImage",Qe);function d0(e){let t={},r=e.resolution||256,i=e.clips?e.clips.length:1,n=e.image||new Qe({width:r,height:i});if(!Qy(r))throw Error(`width is not a power of 2 - ${r}`);let a=(s,o,l)=>{t[e.evaluationKey]=l;let u=e.expression.evaluate(t);n.setPixel(s/4/r,o/4,u)};if(e.clips)for(let s=0,o=0;s<i;++s,o+=r*4)for(let l=0,u=0;l<r;l++,u+=4){let h=l/(r-1),{start:c,end:p}=e.clips[s],f=c*(1-h)+p*h;a(o,u,f)}else for(let s=0,o=0;s<r;s++,o+=4){let l=s/(r-1);a(0,o,l)}return n}const y0="big-fb";var m0=class extends dt{createBucket(e){return new Bf(e)}constructor(e,t){super(e,f0,t),this.heatmapFbos=new Map,this._updateColorRamp()}_handleSpecialPaintPropertyUpdate(e){e==="heatmap-color"&&this._updateColorRamp()}_updateColorRamp(){let e=this._transitionablePaint._values["heatmap-color"].value.expression;this.colorRamp=d0({expression:e,evaluationKey:"heatmapDensity",image:this.colorRamp}),this.colorRampTexture=null}resize(){this.heatmapFbos.has("big-fb")&&this.heatmapFbos.delete(y0)}queryRadius(e){return qr("heatmap-radius",this,e)}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:r,geometry:i,transform:n,pixelsToTileUnits:a,unwrappedTileID:s,getElevation:o}){return Cf({queryGeometry:e,size:this.paint.get("heatmap-radius").evaluate(t,r)*a,transform:n,unwrappedTileID:s,getElevation:o},i)}hasOffscreenPass(){return this.paint.get("heatmap-opacity")!==0&&!this.isHidden()}};let g0;const x0=()=>g0||(g0=new Ge({"hillshade-illumination-direction":new R(D.paint_hillshade["hillshade-illumination-direction"],"hillshade-illumination-direction"),"hillshade-illumination-altitude":new R(D.paint_hillshade["hillshade-illumination-altitude"],"hillshade-illumination-altitude"),"hillshade-illumination-anchor":new R(D.paint_hillshade["hillshade-illumination-anchor"],"hillshade-illumination-anchor"),"hillshade-exaggeration":new R(D.paint_hillshade["hillshade-exaggeration"],"hillshade-exaggeration"),"hillshade-shadow-color":new R(D.paint_hillshade["hillshade-shadow-color"],"hillshade-shadow-color"),"hillshade-highlight-color":new R(D.paint_hillshade["hillshade-highlight-color"],"hillshade-highlight-color"),"hillshade-accent-color":new R(D.paint_hillshade["hillshade-accent-color"],"hillshade-accent-color"),"hillshade-method":new R(D.paint_hillshade["hillshade-method"],"hillshade-method"),resampling:new R(D.paint_hillshade.resampling,"resampling")}));var v0={get paint(){return x0()}},b0=class extends dt{constructor(e,t){super(e,v0,t),this.recalculate({zoom:0,zoomHistory:{}},void 0)}getIlluminationProperties(){let e=this.paint.get("hillshade-illumination-direction").values,t=this.paint.get("hillshade-illumination-altitude").values,r=this.paint.get("hillshade-highlight-color").values,i=this.paint.get("hillshade-shadow-color").values,n=Math.max(e.length,t.length,r.length,i.length);e=e.concat(Array(n-e.length).fill(e.at(-1))),t=t.concat(Array(n-t.length).fill(t.at(-1))),r=r.concat(Array(n-r.length).fill(r.at(-1))),i=i.concat(Array(n-i.length).fill(i.at(-1)));let a=t.map(Uu);return{directionRadians:e.map(Uu),altitudeRadians:a,shadowColor:i,highlightColor:r}}hasOffscreenPass(){return this.paint.get("hillshade-exaggeration")!==0&&!this.isHidden()}};let w0;const D0=()=>w0||(w0=new Ge({"color-relief-opacity":new R(D["paint_color-relief"]["color-relief-opacity"],"color-relief-opacity"),"color-relief-color":new $a(D["paint_color-relief"]["color-relief-color"],"color-relief-color"),resampling:new R(D["paint_color-relief"].resampling,"resampling")}));var _0={get paint(){return D0()}};function Un(e){return"data"in e}var kh=class{constructor(e,t,r,i){this.context=e,this.format=r,this.texture=e.gl.createTexture(),this._ownedHandle=this.texture,this.update(t,i)}update(e,t,r){var u;let{width:i,height:n}=e,a=(((u=this.size)==null?void 0:u[0])!==i||this.size[1]!==n)&&!r,{context:s}=this,{gl:o}=s;this.useMipmap=!!(t!=null&&t.useMipmap),a&&this.size&&this.format===o.RGBA&&(o.deleteTexture(this.texture),this.texture=o.createTexture(),this._ownedHandle=this.texture,this.magFilter=void 0,this.minFilter=void 0,this.wrap=void 0),o.bindTexture(o.TEXTURE_2D,this.texture),s.pixelStoreUnpackFlipY.set(!1),s.pixelStoreUnpack.set(1);let l=this.format===o.RGBA&&(t==null?void 0:t.premultiply)!==!1;if(a)if(this.size=[i,n],this.format===o.RGBA&&i>0&&n>0){let h=this.useMipmap?Math.floor(Math.log2(Math.max(i,n)))+1:1;if(o.texStorage2D(o.TEXTURE_2D,h,o.RGBA8,i,n),Un(e)){s.pixelStoreUnpackPremultiplyAlpha.set(!1);let{data:c}=e;l&&c&&(c=Bs(c)),c&&o.texSubImage2D(o.TEXTURE_2D,0,0,0,i,n,o.RGBA,o.UNSIGNED_BYTE,c)}else s.pixelStoreUnpackPremultiplyAlpha.set(l),o.texSubImage2D(o.TEXTURE_2D,0,0,0,o.RGBA,o.UNSIGNED_BYTE,e)}else Un(e)?(s.pixelStoreUnpackPremultiplyAlpha.set(!1),this._uploadRawData(e,l,i,n,o)):(s.pixelStoreUnpackPremultiplyAlpha.set(l),this._uploadDomImage(e,o));else{let{x:h,y:c}=r||{x:0,y:0};Un(e)?(s.pixelStoreUnpackPremultiplyAlpha.set(!1),this._updateRawData(e,l,h,c,i,n,o)):(s.pixelStoreUnpackPremultiplyAlpha.set(l),this._updateDomImage(e,h,c,o))}this.useMipmap&&!(Un(e)&&e.data===null)&&o.generateMipmap(o.TEXTURE_2D),s.pixelStoreUnpackFlipY.setDefault(),s.pixelStoreUnpack.setDefault(),s.pixelStoreUnpackPremultiplyAlpha.setDefault()}_uploadDomImage(e,t){t.texImage2D(t.TEXTURE_2D,0,this.format,this.format,t.UNSIGNED_BYTE,e)}_uploadRawData(e,t,r,i,n){let{data:a}=e;t&&a&&(a=Bs(a)),n.texImage2D(n.TEXTURE_2D,0,this.format,r,i,0,this.format,n.UNSIGNED_BYTE,a)}_updateDomImage(e,t,r,i){i.texSubImage2D(i.TEXTURE_2D,0,t,r,i.RGBA,i.UNSIGNED_BYTE,e)}_updateRawData(e,t,r,i,n,a,s){let{data:o}=e;t&&o&&(o=Bs(o)),s.texSubImage2D(s.TEXTURE_2D,0,r,i,n,a,s.RGBA,s.UNSIGNED_BYTE,o)}bind(e,t,r){let{context:i}=this,{gl:n}=i;this.texture!==this._ownedHandle&&(this.texture=this._ownedHandle),n.bindTexture(n.TEXTURE_2D,this.texture),(r===n.LINEAR_MIPMAP_NEAREST||r===n.LINEAR_MIPMAP_LINEAR)&&!this.useMipmap&&(r=n.LINEAR);let a=r||e;e!==this.magFilter&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,e),this.magFilter=e),a!==this.minFilter&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,a),this.minFilter=a),t!==this.wrap&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,t),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,t),this.wrap=t)}generateMipmap(){if(!this.useMipmap)return;let{gl:e}=this.context;e.bindTexture(e.TEXTURE_2D,this.texture),e.generateMipmap(e.TEXTURE_2D)}destroy(){let{gl:e}=this.context;e.deleteTexture(this.texture),this.texture=null,this._ownedHandle=null}},Mt,Lf=(Mt=class{constructor(t,r,i,n=1,a=1,s=1,o=0){if(this.uid=t,r.height!==r.width)throw RangeError("DEM tiles must be square");if(i&&!["mapbox","terrarium","custom"].includes(i)){Be(`"${i}" is not a valid encoding type. Valid types include "mapbox", "terrarium" and "custom".`);return}this.stride=r.height;let l=this.dim=r.height-4;switch(this.data=new Uint32Array(r.data.buffer),Mt.byteViewCache.set(this,new Uint8Array(this.data.buffer)),i){case"terrarium":this.redFactor=256,this.greenFactor=1,this.blueFactor=1/256,this.baseShift=32768;break;case"custom":this.redFactor=n,this.greenFactor=a,this.blueFactor=s,this.baseShift=o;break;default:this.redFactor=6553.6,this.greenFactor=25.6,this.blueFactor=.1,this.baseShift=1e4}for(let h=-2;h<l+2;h++){let c=this._idx(0,Math.max(0,Math.min(l-1,h)));(h<0||h>=l)&&this.data.copyWithin(this._idx(0,h),c,c+l),this.data.fill(this.data[c],this._idx(-2,h),this._idx(0,h)),this.data.fill(this.data[c+l-1],this._idx(l,h),this._idx(l+1,h)+1)}let u=this._getByteView();this.min=2**53-1,this.max=-9007199254740991;for(let h=0;h<l;h++)for(let c=0;c<l;c++){let p=this._idx(h,c)*4,f=this._unpackAtIndex(u,p);f>this.max&&(this.max=f),f<this.min&&(this.min=f)}}get(t,r){let i=this._getByteView(),n=this._idx(t,r)*4;return this._unpackAtIndex(i,n)}sampleBilinear(t,r){let i=Math.floor(t),n=Math.floor(r);if(i<-1||i>=this.dim||n<-1||n>=this.dim)throw RangeError(`Out of range source coordinates for DEM data. x: ${t}, y: ${r}, dim: ${this.dim}`);let a=this._getByteView(),s=((n+2)*this.stride+i+2)*4,o=this.stride*4,l=t-i,u=r-n,h=this._unpackAtIndex(a,s),c=this._unpackAtIndex(a,s+4),p=this._unpackAtIndex(a,s+o),f=this._unpackAtIndex(a,s+o+4);return h*(1-l)*(1-u)+c*l*(1-u)+p*(1-l)*u+f*l*u}getUnpackVector(){return[this.redFactor,this.greenFactor,this.blueFactor,this.baseShift]}_idx(t,r){if(t<-2||t>=this.dim+2||r<-2||r>=this.dim+2)throw RangeError(`Out of range source coordinates for DEM data. x: ${t}, y: ${r}, dim: ${this.dim}`);return(r+2)*this.stride+(t+2)}unpack(t,r,i){return t*this.redFactor+r*this.greenFactor+i*this.blueFactor-this.baseShift}pack(t){return Vf(t,this.getUnpackVector())}getPixels(){return new Qe({width:this.stride,height:this.stride},this._getByteView())}backfillBorder(t,r,i){if(this.dim!==t.dim)throw Error("dem dimension mismatch");let n=r*this.dim,a=r*this.dim+this.dim,s=i*this.dim,o=i*this.dim+this.dim;switch(r){case-1:n=a-2;break;case 1:a=n+2}switch(i){case-1:s=o-2;break;case 1:o=s+2}let l=-r*this.dim,u=-i*this.dim;for(let h=s;h<o;h++)for(let c=n;c<a;c++)this.data[this._idx(c,h)]=t.data[this._idx(c+l,h+u)]}_getByteView(){let t=Mt.byteViewCache.get(this);return(t==null?void 0:t.buffer)!==this.data.buffer&&(t=new Uint8Array(this.data.buffer),Mt.byteViewCache.set(this,t)),t}_unpackAtIndex(t,r){return this.unpack(t[r],t[r+1],t[r+2])}},Mt.byteViewCache=new WeakMap,Mt);function Vf(e,t){let r=t[0],i=t[1],n=t[2],a=t[3],s=Math.min(r,i,n),o=Math.round((e+a)/s);return{r:Math.floor(o*s/r)%256,g:Math.floor(o*s/i)%256,b:Math.floor(o*s/n)%256}}C("DEMData",Lf);var S0=class extends dt{constructor(e,t){super(e,_0,t)}_createColorRamp(e){let t={elevationStops:[],colorStops:[]},r=this._transitionablePaint._values["color-relief-color"].value.expression;if(r instanceof Ki&&r._styleExpression.expression instanceof vt){this.colorRampExpression=r;let a=r._styleExpression.expression;t.elevationStops=a.labels,t.colorStops=[];for(let s of t.elevationStops)t.colorStops.push(a.evaluate({globals:{elevation:s}}))}if(t.elevationStops.length<1&&(t.elevationStops=[0],t.colorStops=[me.transparent]),t.elevationStops.length<2&&(t.elevationStops.push(t.elevationStops[0]+1),t.colorStops.push(t.colorStops[0])),t.elevationStops.length<=e)return t;let i={elevationStops:[],colorStops:[]},n=(t.elevationStops.length-1)/(e-1);for(let a=0;a<t.elevationStops.length-.5;a+=n)i.elevationStops.push(t.elevationStops[Math.round(a)]),i.colorStops.push(t.colorStops[Math.round(a)]);return Be(`Too many colors in specification of ${this.id} color-relief layer, may not render properly. Max possible colors: ${e}, provided: ${t.elevationStops.length}`),i}_colorRampChanged(){return this.colorRampExpression!=this._transitionablePaint._values["color-relief-color"].value.expression}getColorRampTextures(e,t,r){if(this.colorRampTextures&&!this._colorRampChanged())return this.colorRampTextures;let i=this._createColorRamp(t),n=new Qe({width:i.colorStops.length,height:1}),a=new Qe({width:i.colorStops.length,height:1});for(let s=0;s<i.elevationStops.length;s++){let o=Vf(i.elevationStops[s],r);a.setPixel(0,s,new me(o.r/255,o.g/255,o.b/255,1)),n.setPixel(0,s,i.colorStops[s])}return this.colorRampTextures={elevationTexture:new kh(e,a,e.gl.RGBA),colorTexture:new kh(e,n,e.gl.RGBA)},this.colorRampTextures}hasOffscreenPass(){return!this.isHidden()&&!!this.colorRampTextures}};const A0=Se([{name:"a_pos",components:2,type:"Int16"}],4),E0=A0.members;function ba(e,t,r){let i=r.patternDependencies,n=!1;for(let a of t){let s=a.paint.get(`${e}-pattern`);s.isConstant()||(n=!0);let o=s.constantOr(null);o&&(n=!0,i[o.to]=!0,i[o.from]=!0)}return n}function Pl(e,t,r,i,n){let{zoom:a}=i,s=n.patternDependencies;for(let o of t){let l=o.paint.get(`${e}-pattern`).value;if(l.kind!=="constant"){let u=l.evaluate({zoom:a-1},r,{},n.availableImages),h=l.evaluate({zoom:a},r,{},n.availableImages),c=l.evaluate({zoom:a+1},r,{},n.availableImages);u=u!=null&&u.name?u.name:u,h=h!=null&&h.name?h.name:h,c=c!=null&&c.name?c.name:c,s[u]=!0,s[h]=!0,s[c]=!0,r.patterns[o.id]={min:u,mid:h,max:c}}}return r}const an=new Set;let ko=!1;function F0(e,t,r=2){let i=t&&t.length,n=i?t[0]*r:e.length;an.size&&an.clear();let a=Of(e,0,n,r,!0),s=[];if(!a||a.next===a.prev)return s;let o=0,l=0,u=0;if(i&&(a=B0(e,t,a,r)),e.length>80*r){o=e[0],l=e[1];let h=o,c=l;for(let p=r;p<n;p+=r){let f=e[p],d=e[p+1];f<o&&(o=f),d<l&&(l=d),f>h&&(h=f),d>c&&(c=d)}u=Math.max(h-o,c-l),u=u===0?0:32767/u}return Io(a,s,o,l,u),s}function Of(e,t,r,i,n){let a=null;if(n===G0(e,t,r,i)>0)for(let s=t;s<r;s+=i)a=Bh(s/i|0,e[s],e[s+1],a);else for(let s=r-i;s>=t;s-=i)a=Bh(s/i|0,e[s],e[s+1],a);return a&&sn(a,a.next)&&(ln(a),a=a.next),a}function xr(e,t=e){let r=t===e,i=e,n;do n=!1,i!==i.next&&(an.size===0||!an.has(i))&&(sn(i,i.next)||Ee(i.prev,i,i.next)===0)?((r||i===t)&&(t=i.prev),ko=!0,ln(i),i=i.prev,n=!0):(r||i!==t)&&(i=i.next,n=!r);while(n||i!==t);return t}function Io(e,t,r,i,n){n&&R0(e,r,i,n);let a=e,s=!1;for(;e.prev!==e.next;){let o=e.prev,l=e.next;if(Ee(o,e,l)<0&&(n?k0(e,r,i,n):T0(e))){t.push(o.i,e.i,l.i),ln(e),e=l,a=l;continue}if(e=l,e===a){if(ko=!1,e=xr(e),ko){a=e;continue}if(!s){e=I0(e,t),a=e,s=!0;continue}C0(e,t,r,i,n);break}}}function T0(e){let t=e.prev,r=e,i=e.next,n=t.x,a=r.x,s=i.x,o=t.y,l=r.y,u=i.y,h=Math.min(n,a,s),c=Math.min(o,l,u),p=Math.max(n,a,s),f=Math.max(o,l,u),d=i.next;for(;d!==t;){if(d.x>=h&&d.x<=p&&d.y>=c&&d.y<=f&&(n!==d.x||o!==d.y)&&Da(n,o,a,l,s,u,d.x,d.y)&&Ee(d.prev,d,d.next)>=0)return!1;d=d.next}return!0}function k0(e,t,r,i){let n=e.prev,a=e,s=e.next,o=n.x,l=a.x,u=s.x,h=n.y,c=a.y,p=s.y,f=Math.min(o,l,u),d=Math.min(h,c,p),y=Math.max(o,l,u),m=Math.max(h,c,p),g=Mo(f,d,t,r,i),x=Mo(y,m,t,r,i),v=e.prevZ;for(;v&&v.z>=g;){if(v.x>=f&&v.x<=y&&v.y>=d&&v.y<=m&&v!==s&&(o!==v.x||h!==v.y)&&Da(o,h,l,c,u,p,v.x,v.y)&&Ee(v.prev,v,v.next)>=0)return!1;v=v.prevZ}let b=e.nextZ;for(;b&&b.z<=x;){if(b.x>=f&&b.x<=y&&b.y>=d&&b.y<=m&&b!==s&&(o!==b.x||h!==b.y)&&Da(o,h,l,c,u,p,b.x,b.y)&&Ee(b.prev,b,b.next)>=0)return!1;b=b.nextZ}return!0}function I0(e,t){let r=e,i=!1;do{let n=r.prev,a=r.next.next;$f(n,r,r.next,a,!1)&&on(n,a)&&on(a,n)&&(t.push(n.i,r.i,a.i),ln(r),ln(r.next),r=e=a,i=!0),r=r.next}while(r!==e);return i?xr(r):r}function C0(e,t,r,i,n){let a=e;do{let s=a.next.next;for(;s!==a.prev;){if(a.i!==s.i&&U0(a,s)){let o=Nf(a,s);a=xr(a,a.next),o=xr(o,o.next),Io(a,t,r,i,n),Io(o,t,r,i,n);return}s=s.next}a=a.next}while(a!==e)}let Co=!1;function B0(e,t,r,i){let n=[];for(let a=0,s=t.length;a<s;a++){let o=Of(e,t[a]*i,a<s-1?t[a+1]*i:e.length,i,!1);o===o.next&&an.add(o),n.push(N0(o))}n.sort(P0),z0(e.length/i,t.length),Rf(r,r),Co=!0;for(let a=0;a<n.length;a++)r=M0(n[a],r);return Co=!1,xr(r)}function P0(e,t){return e.x-t.x||e.y-t.y||(e.next.y-e.y)/(e.next.x-e.x)-(t.next.y-t.y)/(t.next.x-t.x)}function M0(e,t){let r=V0(e,t);if(!r)return t;let i=Nf(r,e),n=i.next;return Rf(r,n.next),xr(i,i.next),xr(r,r.next)}let we=new Float64Array,wa=0;const Bo=[],Po=[];function z0(e,t){let r=Math.ceil((e+2*t)/16)+t+2;we.length<r*4&&(we=new Float64Array(r*4)),wa=0}function Rf(e,t){let r=e;do{let i=wa++;Bo[i]=r;let n=1/0,a=1/0,s=-1/0,o=-1/0,l=0;do{let h=r.next;r.z=i,r.x<n&&(n=r.x),r.x>s&&(s=r.x),r.y<a&&(a=r.y),r.y>o&&(o=r.y),h.x<n&&(n=h.x),h.x>s&&(s=h.x),h.y<a&&(a=h.y),h.y>o&&(o=h.y),r=h}while(++l<16&&r!==t);Po[i]=r;let u=i*4;we[u]=n,we[u+1]=a,we[u+2]=s,we[u+3]=o}while(r!==t)}function L0(e,t){let r=e.z*4;t.x<we[r]&&(we[r]=t.x),t.y<we[r+1]&&(we[r+1]=t.y),t.x>we[r+2]&&(we[r+2]=t.x),t.y>we[r+3]&&(we[r+3]=t.y)}function Ih(e){let t=Po[e];for(;t.prev.next!==t;)t=t.next;return Po[e]=t,t}function Ch(e){let t=Bo[e];for(;t.prev.next!==t;)t=t.next;return Bo[e]=t,t}function V0(e,t){let r=t,i=e.x,n=e.y,a=-1/0,s;if(sn(e,r))return r;for(let p=0,f=0;p<wa;p++,f+=4){if(n<we[f+1]||n>we[f+3]||we[f]>i||we[f+2]<=a)continue;let d=Ih(p);r=Ch(p);do{if(r.prev.next===r){if(sn(e,r.next))return r.next;if(n<=r.y&&n>=r.next.y&&r.next.y!==r.y){let y=r.x+(n-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(y<=i&&y>a&&(a=y,s=r.x<r.next.x?r:r.next,y===i))return s}}r=r.next}while(r!==d)}if(!s)return null;let o=s.x,l=s.y,u=Math.min(n,l),h=Math.max(n,l),c=1/0;for(let p=0,f=0;p<wa;p++,f+=4){if(we[f+2]<o||we[f]>i||we[f+3]<u||we[f+1]>h)continue;let d=Ih(p);r=Ch(p);do{if(r.prev.next===r&&i>=r.x&&r.x>=o&&i!==r.x&&Da(n<l?i:a,n,o,l,n<l?a:i,n,r.x,r.y)){let y=Math.abs(n-r.y)/(i-r.x);(on(r,e)||r.y===n&&r.next.y===n&&r.next.x>i)&&(y<c||y===c&&(r.x>s.x||r.x===s.x&&O0(s,r)))&&(s=r,c=y)}r=r.next}while(r!==d)}return s}function O0(e,t){return Ee(e.prev,e,t.prev)<0&&Ee(t.next,e,e.next)<0}const at=[];let Si=[],nr=new Uint32Array,Ai=new Uint32Array;const Ei=new Uint32Array(256);function R0(e,t,r,i){let n=e,a=0;do n.z=Mo(n.x,n.y,t,r,i),at[a++]=n,n=n.next;while(n!==e);$0(a);let s=null;for(let o=0;o<a;o++){let l=at[o];l.prevZ=s,s&&(s.nextZ=l),s=l}s.nextZ=null}function $0(e){if(e<=32){for(let t=1;t<e;t++){let r=at[t],i=r.z,n=t-1;for(;n>=0&&at[n].z>i;)at[n+1]=at[n],n--;at[n+1]=r}return}nr.length<e&&(nr=new Uint32Array(e),Ai=new Uint32Array(e),Si=Array(e));for(let t=0;t<e;t++)nr[t]=at[t].z;qn(e,at,nr,Si,Ai,0),qn(e,Si,Ai,at,nr,8),qn(e,at,nr,Si,Ai,16),qn(e,Si,Ai,at,nr,24)}function qn(e,t,r,i,n,a){Ei.fill(0);for(let o=0;o<e;o++)Ei[r[o]>>>a&255]++;let s=0;for(let o=0;o<256;o++){let l=Ei[o];Ei[o]=s,s+=l}for(let o=0;o<e;o++){let l=r[o],u=Ei[l>>>a&255]++;i[u]=t[o],n[u]=l}}function Mo(e,t,r,i,n){return e=(e-r)*n|0,t=(t-i)*n|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function N0(e){let t=e,r=e;do(t.x<r.x||t.x===r.x&&t.y<r.y)&&(r=t),t=t.next;while(t!==e);return r}function Da(e,t,r,i,n,a,s,o){return(n-s)*(t-o)>=(e-s)*(a-o)&&(e-s)*(i-o)>=(r-s)*(t-o)&&(r-s)*(a-o)>=(n-s)*(i-o)}function U0(e,t){let r=sn(e,t)&&Ee(e.prev,e,e.next)>0&&Ee(t.prev,t,t.next)>0;return e.next.i!==t.i&&(r||on(e,t)&&on(t,e)&&(Ee(e.prev,e,t.prev)!==0||Ee(e,t.prev,t)!==0))&&!q0(e,t)&&(r||j0(e,t))}function Ee(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function sn(e,t){return e.x===t.x&&e.y===t.y}function $f(e,t,r,i,n=!0){let a=Ee(e,t,r),s=Ee(e,t,i),o=Ee(r,i,e),l=Ee(r,i,t);return(a>0&&s<0||a<0&&s>0)&&(o>0&&l<0||o<0&&l>0)?!0:n?!!(a===0&&jn(e,r,t)||s===0&&jn(e,i,t)||o===0&&jn(r,e,i)||l===0&&jn(r,t,i)):!1}function jn(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function q0(e,t){let r=Math.min(e.x,t.x),i=Math.max(e.x,t.x),n=Math.min(e.y,t.y),a=Math.max(e.y,t.y),s=e;do{let o=s.next;if(s.x>i&&o.x>i||s.x<r&&o.x<r||s.y>a&&o.y>a||s.y<n&&o.y<n){s=o;continue}if(s.i!==e.i&&o.i!==e.i&&s.i!==t.i&&o.i!==t.i&&$f(s,o,e,t))return!0;s=o}while(s!==e);return!1}function on(e,t){return Ee(e.prev,e,e.next)<0?Ee(e,t,e.next)>=0&&Ee(e,e.prev,t)>=0:Ee(e,t,e.prev)<0||Ee(e,e.next,t)<0}function j0(e,t){let r=e,i=!1,n=(e.x+t.x)/2,a=(e.y+t.y)/2;do{let s=r.next;r.y>a!=s.y>a&&n<(s.x-r.x)*(a-r.y)/(s.y-r.y)+r.x&&(i=!i),r=s}while(r!==e);return i}function Nf(e,t){let r=zo(e.i,e.x,e.y),i=zo(t.i,t.x,t.y),n=e.next,a=t.prev;return e.next=t,t.prev=e,r.next=n,n.prev=r,i.next=r,r.prev=i,a.next=i,i.prev=a,i}function Bh(e,t,r,i){let n=zo(e,t,r);return i?(n.next=i.next,n.prev=i,i.next.prev=n,i.next=n):(n.prev=n,n.next=n),n}function ln(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ),Co&&L0(e.prev,e.next)}function zo(e,t,r){return{i:e,x:t,y:r,prev:null,next:null,z:0,prevZ:null,nextZ:null}}function G0(e,t,r,i){let n=0;for(let a=t,s=r-i;a<r;a+=i)n+=(e[s]-e[a])*(e[a+1]+e[s+1]),s=a;return n}var Li=class{constructor(e,t){if(t>e)throw Error("Min granularity must not be greater than base granularity.");this._baseZoomGranularity=e,this._minGranularity=t}getGranularityForZoomLevel(e){let t=1<<e;return Math.max(Math.floor(this._baseZoomGranularity/t),this._minGranularity,1)}},fr,X0=(fr=class{constructor(t){this.fill=t.fill,this.line=t.line,this.tile=t.tile,this.stencil=t.stencil,this.circle=t.circle}},fr.noSubdivision=new fr({fill:new Li(0,0),line:new Li(0,0),tile:new Li(0,0),stencil:new Li(0,0),circle:1}),fr);C("SubdivisionGranularityExpression",Li),C("SubdivisionGranularitySetting",X0);const Ps=-32768,Ms=32767;var Y0=class{constructor(e,t){this._vertexBuffer=[],this._vertexDictionary=new Map,this._used=!1,this._granularity=e,this._granularityCellSize=xe/e,this._canonical=t}_getKey(e,t){return e+=32768,t+=32768,e<<16|t<<0}_vertexToIndex(e,t){if(e<-32768||t<-32768||e>32767||t>32767)throw Error("Vertex coordinates are out of signed 16 bit integer range.");let r=Math.round(e)|0,i=Math.round(t)|0,n=this._getKey(r,i),a=this._vertexDictionary.get(n);if(a!==void 0)return a;let s=this._vertexBuffer.length/2;return this._vertexDictionary.set(n,s),this._vertexBuffer.push(r,i),s}_subdivideTrianglesScanline(e,t){if(this._granularity<2)return H0(this._vertexBuffer,Z0(e,t));let r=[],i=e.length;for(let n=0;n<i;n+=3){let a=[t[e[n+0]],t[e[n+1]],t[e[n+2]]],s=[this._vertexBuffer[a[0]*2+0],this._vertexBuffer[a[0]*2+1],this._vertexBuffer[a[1]*2+0],this._vertexBuffer[a[1]*2+1],this._vertexBuffer[a[2]*2+0],this._vertexBuffer[a[2]*2+1]],o=1/0,l=1/0,u=-1/0,h=-1/0;for(let y=0;y<3;y++){let m=s[y*2],g=s[y*2+1];o=Math.min(o,m),u=Math.max(u,m),l=Math.min(l,g),h=Math.max(h,g)}if(o===u||l===h)continue;let c=Math.floor(o/this._granularityCellSize),p=Math.ceil(u/this._granularityCellSize),f=Math.floor(l/this._granularityCellSize),d=Math.ceil(h/this._granularityCellSize);if(c===p&&f===d){r.push(...a);continue}for(let y=f;y<d;y++){let m=this._scanlineGenerateVertexRingForCellRow(y,s,a);K0(this._vertexBuffer,m,r)}}return r}_scanlineGenerateVertexRingForCellRow(e,t,r){let i=e*this._granularityCellSize,n=i+this._granularityCellSize,a=[];for(let s=0;s<3;s++){let o=t[s*2],l=t[s*2+1],u=t[(s+1)*2%6],h=t[((s+1)*2+1)%6],c=t[(s+2)*2%6],p=t[((s+2)*2+1)%6],f=u-o,d=h-l,y=f===0,m=d===0,g=(i-l)/d,x=(n-l)/d,v=Math.min(g,x),b=Math.max(g,x);if(!m&&(v>=1||b<=0)||m&&(l<i||l>n)){h>=i&&h<=n&&a.push(r[(s+1)%3]);continue}if(!m&&v>0){let S=o+f*v,A=l+d*v;a.push(this._vertexToIndex(S,A))}let w=o+f*Math.max(v,0),_=o+f*Math.min(b,1);if(y||this._generateIntraEdgeVertices(a,o,l,u,h,w,_),!m&&b<1){let S=o+f*b,A=l+d*b;a.push(this._vertexToIndex(S,A))}(m||h>=i&&h<=n)&&a.push(r[(s+1)%3]),!m&&(h<=i||h>=n)&&this._generateInterEdgeVertices(a,o,l,u,h,c,p,_,i,n)}return a}_generateIntraEdgeVertices(e,t,r,i,n,a,s){let o=i-t,l=n-r,u=l===0,h=u?Math.min(t,i):Math.min(a,s),c=u?Math.max(t,i):Math.max(a,s),p=Math.floor(h/this._granularityCellSize)+1,f=Math.ceil(c/this._granularityCellSize)-1;if(u?t<i:a<s)for(let d=p;d<=f;d++){let y=d*this._granularityCellSize,m=r+l*(y-t)/o;e.push(this._vertexToIndex(y,m))}else for(let d=f;d>=p;d--){let y=d*this._granularityCellSize,m=r+l*(y-t)/o;e.push(this._vertexToIndex(y,m))}}_generateInterEdgeVertices(e,t,r,i,n,a,s,o,l,u){let h=n-r,c=a-i,p=s-n,f=(l-n)/p,d=(u-n)/p,y=Math.min(f,d),m=Math.max(f,d),g=i+c*y,x=Math.floor(Math.min(g,o)/this._granularityCellSize)+1,v=Math.ceil(Math.max(g,o)/this._granularityCellSize)-1,b=o<g,w=p===0;if(w&&(s===l||s===u))return;if(w||y>=1||m<=0){let S=t-a,A=r-s,T=(l-s)/A,L=(u-s)/A,O=a+S*Math.min(T,L);x=Math.floor(Math.min(O,o)/this._granularityCellSize)+1,v=Math.ceil(Math.max(O,o)/this._granularityCellSize)-1,b=o<O}let _=h>0?u:l;if(b)for(let S=x;S<=v;S++){let A=S*this._granularityCellSize;e.push(this._vertexToIndex(A,_))}else for(let S=v;S>=x;S--){let A=S*this._granularityCellSize;e.push(this._vertexToIndex(A,_))}}_generateOutline(e,t){let r=[],i=0;for(let n of e){let a=this._granularity<2?this._ringPathIndices(n,i,t):this._pointArrayToIndices(ur(n,this._granularity,!0));i+=n.length;let s=[];for(let o=1;o<a.length;o++)s.push(a[o-1]),s.push(a[o]);r.push(s)}return r}_ringPathIndices(e,t,r){let i=r.slice(t,t+e.length);return i.length>=2&&qf(e)&&i.push(i[0]),i}_handlePoles(e){let t=!1,r=!1;this._canonical&&(this._canonical.y===0&&(t=!0),this._canonical.y===(1<<this._canonical.z)-1&&(r=!0)),(t||r)&&this._fillPoles(e,t,r)}_ensureNoPoleVertices(){let e=this._vertexBuffer;for(let t=0;t<e.length;t+=2){let r=e[t+1];r===-32768&&(e[t+1]=-32767),r===32767&&(e[t+1]=32766)}}_generatePoleQuad(e,t,r,i,n,a){i>n==(a===-32768)?(e.push(r),e.push(t),e.push(this._vertexToIndex(i,a)),e.push(this._vertexToIndex(n,a)),e.push(r),e.push(this._vertexToIndex(i,a))):(e.push(t),e.push(r),e.push(this._vertexToIndex(i,a)),e.push(r),e.push(this._vertexToIndex(n,a)),e.push(this._vertexToIndex(i,a)))}_fillPoles(e,t,r){let i=this._vertexBuffer,n=xe,a=e.length;for(let s=2;s<a;s+=3){let o=e[s-2],l=e[s-1],u=e[s],h=i[o*2],c=i[o*2+1],p=i[l*2],f=i[l*2+1],d=i[u*2],y=i[u*2+1];t&&(c===0&&f===0&&this._generatePoleQuad(e,o,l,h,p,Ps),f===0&&y===0&&this._generatePoleQuad(e,l,u,p,d,Ps),y===0&&c===0&&this._generatePoleQuad(e,u,o,d,h,Ps)),r&&(c===n&&f===n&&this._generatePoleQuad(e,o,l,h,p,Ms),f===n&&y===n&&this._generatePoleQuad(e,l,u,p,d,Ms),y===n&&c===n&&this._generatePoleQuad(e,u,o,d,h,Ms))}}_initializeVertices(e){let t=[];for(let r=0;r<e.length;r+=2)t.push(this._vertexToIndex(e[r],e[r+1]));return t}subdividePolygonInternal(e,t){var o;if(this._used)throw Error("Subdivision: multiple use not allowed.");this._used=!0;let{flattened:r,holeIndices:i}=W0(e),n=this._initializeVertices(r),a;try{let l=F0(r,i);a=this._subdivideTrianglesScanline(l,n)}catch(l){console.error(l)}let s=[];return t&&(s=this._generateOutline(e,n)),this._ensureNoPoleVertices(),this._handlePoles(a),this._granularity>=2&&((o=this._canonical)==null?void 0:o.z)===0&&(a=this._removeTrianglesOutsideTileX(a),s=s.map(l=>this._removeLinesOutsideTileX(l))),{verticesFlattened:this._vertexBuffer,indicesTriangles:a,indicesLineList:s}}_vertexOutsideTileX(e){let t=this._vertexBuffer[e*2];return t<0||t>8192}_removeTrianglesOutsideTileX(e){let t=[];for(let r=0;r<e.length;r+=3)this._vertexOutsideTileX(e[r])||this._vertexOutsideTileX(e[r+1])||this._vertexOutsideTileX(e[r+2])||t.push(e[r],e[r+1],e[r+2]);return t}_removeLinesOutsideTileX(e){let t=[];for(let r=0;r<e.length;r+=2)this._vertexOutsideTileX(e[r])||this._vertexOutsideTileX(e[r+1])||t.push(e[r],e[r+1]);return t}_pointArrayToIndices(e){let t=[];for(let r of e)t.push(this._vertexToIndex(r.x,r.y));return t}};function Uf(e,t,r,i=!0){return new Y0(r,t).subdividePolygonInternal(e,i)}function ur(e,t,r=!1){if(!e||e.length<1||e.length<2)return[];let i=r&&qf(e);if(t<2)return i?[...e,e[0]]:[...e];let n=Math.floor(xe/t),a=[];a.push(new B(e[0].x,e[0].y));let s=e.length,o=i?s:s-1;for(let l=0;l<o;l++){let u=e[l],h=l<s-1?e[l+1]:e[0],c=u.x,p=u.y,f=h.x,d=h.y,y=c!==f,m=p!==d;if(!y&&!m)continue;let g=f-c,x=d-p,v=Math.abs(g),b=Math.abs(x),w=c,_=p;for(;;){let A=g>0?(Math.floor(w/n)+1)*n:(Math.ceil(w/n)-1)*n,T=x>0?(Math.floor(_/n)+1)*n:(Math.ceil(_/n)-1)*n,L=Math.abs(w-A),O=Math.abs(_-T),P=Math.abs(w-f),V=Math.abs(_-d),F=y?L/v:1/0,$=m?O/b:1/0;if((P<=L||!y)&&(V<=O||!m))break;if(F<$&&y||!m){w=A,_+=x*F;let G=new B(w,Math.round(_));(a[a.length-1].x!==G.x||a[a.length-1].y!==G.y)&&a.push(G)}else{w+=g*$,_=T;let G=new B(Math.round(w),_);(a[a.length-1].x!==G.x||a[a.length-1].y!==G.y)&&a.push(G)}}let S=new B(f,d);(a[a.length-1].x!==S.x||a[a.length-1].y!==S.y)&&a.push(S)}return a}function qf(e){return!e[0].equals(e[e.length-1])}function W0(e){let t=[],r=[];for(let i of e)if(i.length!==0){i!==e[0]&&t.push(r.length/2);for(let n of i)r.push(n.x),r.push(n.y)}return{flattened:r,holeIndices:t}}function Z0(e,t){let r=Array(e.length);for(let i=0;i<e.length;i++)r[i]=t[e[i]];return r}function H0(e,t){let r=[];for(let i=0;i<t.length;i+=3){let n=t[i],a=t[i+1],s=t[i+2],o=e[n*2],l=e[n*2+1],u=e[a*2],h=e[a*2+1],c=e[s*2],p=e[s*2+1],f=u-o,d=h-l,y=c-o;f*(p-l)-d*y>0?(r.push(n),r.push(s),r.push(a)):(r.push(n),r.push(a),r.push(s))}return r}function K0(e,t,r){if(t.length===0)throw Error("Subdivision vertex ring is empty.");let i=0,n=e[t[0]*2];for(let l=1;l<t.length;l++){let u=e[t[l]*2];u<n&&(n=u,i=l)}let a=t.length,s=i,o=(s+1)%a;for(;;){let l=s-1>=0?s-1:a-1,u=(o+1)%a,h=e[t[l]*2],c=e[t[l]*2+1],p=e[t[u]*2],f=e[t[u]*2+1],d=e[t[s]*2],y=e[t[s]*2+1],m=e[t[o]*2],g=e[t[o]*2+1],x=!1;if(h<p)x=!0;else if(h>p)x=!1;else{let v=g-y,b=-(m-d),w=y<g?1:-1;((h-d)*v+(c-y)*b)*w>((p-d)*v+(f-y)*b)*w&&(x=!0)}if(x){let v=t[l],b=t[s],w=t[o];v!==b&&v!==w&&b!==w&&r.push(w,b,v),s--,s<0&&(s=a-1)}else{let v=t[u],b=t[s],w=t[o];v!==b&&v!==w&&b!==w&&r.push(w,b,v),o++,o>=a&&(o=0)}if(l===u)break}}function jf(e,t,r,i,n,a,s,o,l){let u=n.length/2,h=s&&o&&l;if(u<tt.MAX_VERTEX_ARRAY_LENGTH){let c=t.prepareSegment(u,r,i),p=c.vertexLength;for(let y=0;y<a.length;y+=3)i.emplaceBack(p+a[y],p+a[y+1],p+a[y+2]);c.vertexLength+=u,c.primitiveLength+=a.length/3;let f,d;h&&(d=s.prepareSegment(u,r,o),f=d.vertexLength,d.vertexLength+=u);for(let y=0;y<n.length;y+=2)e(n[y],n[y+1]);if(h)for(let y of l){for(let m=1;m<y.length;m+=2)o.emplaceBack(f+y[m-1],f+y[m]);d.primitiveLength+=y.length/2}}else J0(t,r,i,n,a,e),h&&Q0(s,r,o,n,l,e),t.forceNewSegmentOnNextPrepare(),s==null||s.forceNewSegmentOnNextPrepare()}function qi(e,t,r,i,n,a,s){if(a){let o=i.count;return r(t[n*2],t[n*2+1]),e[n]=i.count,i.count++,s.vertexLength++,o}return e[n]}function J0(e,t,r,i,n,a){let s=[];for(let c=0;c<i.length/2;c++)s.push(-1);let o={count:0},l=0,u=e.getOrCreateLatestSegment(t,r),h=u.vertexLength;for(let c=2;c<n.length;c+=3){let p=n[c-2],f=n[c-1],d=n[c],y=s[p]<l,m=s[f]<l,g=s[d]<l,x=+!!y+ +!!m+ +!!g;u.vertexLength+x>tt.MAX_VERTEX_ARRAY_LENGTH&&(u=e.createNewSegment(t,r),l=o.count,y=!0,m=!0,g=!0,h=0);let v=qi(s,i,a,o,p,y,u),b=qi(s,i,a,o,f,m,u),w=qi(s,i,a,o,d,g,u);r.emplaceBack(h+v-l,h+b-l,h+w-l),u.primitiveLength++}}function Q0(e,t,r,i,n,a){let s=[];for(let c=0;c<i.length/2;c++)s.push(-1);let o={count:0},l=0,u=e.getOrCreateLatestSegment(t,r),h=u.vertexLength;for(let c of n)for(let p=1;p<c.length;p+=2){let f=c[p-1],d=c[p],y=s[f]<l,m=s[d]<l,g=+!!y+ +!!m;u.vertexLength+g>tt.MAX_VERTEX_ARRAY_LENGTH&&(u=e.createNewSegment(t,r),l=o.count,y=!0,m=!0,h=0);let x=qi(s,i,a,o,f,y,u),v=qi(s,i,a,o,d,m,u);r.emplaceBack(h+x-l,h+v-l),u.primitiveLength++}}var Gf=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(t=>t.id),this.index=e.index,this.hasDependencies=!1,this.sdfPatterns={},this.patternFeatures=[],this.layoutVertexArray=new Fg,this.indexArray=new mn,this.indexArray2=new _o,this.programConfigurations=new gr(e.layers,e.zoom),this.segments=new tt,this.segments2=new tt,this.stateDependentLayerIds=this.layers.filter(t=>t.isStateDependent()).map(t=>t.id)}populate(e,t,r){this.hasDependencies=ba("fill",this.layers,t);let i=this.layers[0].layout.get("fill-sort-key"),n=!i.isConstant(),a=[],s=new se(this.zoom),o=this.layers[0]._featureFilter.needGeometry;for(let{feature:l,id:u,index:h,sourceLayerIndex:c}of e){let p=si(l,o);if(!this.layers[0]._featureFilter.filter(s,p,r))continue;let f=n?i.evaluate(p,{},r,t.availableImages):void 0,d={id:u,properties:l.properties,type:l.type,sourceLayerIndex:c,index:h,geometry:o?p.geometry:wr(l),patterns:{},sortKey:f};a.push(d)}n&&a.sort((l,u)=>l.sortKey-u.sortKey);for(let l of a){let{geometry:u,index:h,sourceLayerIndex:c}=l;if(this.hasDependencies){let f=Pl("fill",this.layers,l,{zoom:this.zoom},t);this.patternFeatures.push(f)}else this.addFeature(l,u,h,r,{},t.subdivisionGranularity);let p=e[h].feature;t.featureIndex.insert(p,u,h,c,this.index)}}update(e,t,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:r})}addFeatures({options:e,canonical:t,patternPositions:r,patternMap:i}){this.detectSdfPatterns(i);for(let n of this.patternFeatures)this.addFeature(n,n.geometry,n.index,t,r,e.subdivisionGranularity)}detectSdfPatterns(e){for(let t of this.patternFeatures)for(let r in t.patterns){let i=t.patterns[r];this.recordSdfPattern(r,e[i.min]),this.recordSdfPattern(r,e[i.mid]),this.recordSdfPattern(r,e[i.max])}for(let t of this.layers){let r=t.paint.get("fill-pattern").constantOr(null);r&&(this.recordSdfPattern(t.id,e[r.from.toString()]),this.recordSdfPattern(t.id,e[r.to.toString()]))}}recordSdfPattern(e,t){if(!t)return;let r=t.sdf===!0,i=this.sdfPatterns[e];i===void 0?this.sdfPatterns[e]=r:i!==r&&Be(`Style sheet warning: Cannot mix SDF and non-SDF fill patterns in layer "${e}"`)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,E0),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.indexBuffer2=e.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(e,t,r,i,n,a){for(let s of Ba(t,500)){let o=Uf(s,i,a.fill.getGranularityForZoomLevel(i.z)),l=this.layoutVertexArray;jf((u,h)=>{l.emplaceBack(u,h)},this.segments,this.layoutVertexArray,this.indexArray,o.verticesFlattened,o.indicesTriangles,this.segments2,this.indexArray2,o.indicesLineList)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,r,{imagePositions:n,canonical:i})}};C("FillBucket",Gf,{omit:["layers","patternFeatures"]});let ex;const tx=()=>ex||(ex=new Ge({"fill-sort-key":new U(D.layout_fill["fill-sort-key"],"fill-sort-key")}));let rx;const ix=()=>rx||(rx=new Ge({"fill-antialias":new R(D.paint_fill["fill-antialias"],"fill-antialias"),"fill-opacity":new U(D.paint_fill["fill-opacity"],"fill-opacity"),"fill-layer-opacity":new R(D.paint_fill["fill-layer-opacity"],"fill-layer-opacity"),"fill-color":new U(D.paint_fill["fill-color"],"fill-color"),"fill-outline-color":new U(D.paint_fill["fill-outline-color"],"fill-outline-color"),"fill-translate":new R(D.paint_fill["fill-translate"],"fill-translate"),"fill-translate-anchor":new R(D.paint_fill["fill-translate-anchor"],"fill-translate-anchor"),"fill-pattern":new tn(D.paint_fill["fill-pattern"],"fill-pattern")}));var nx={get paint(){return ix()},get layout(){return tx()}},ax=class extends dt{constructor(e,t){super(e,nx,t)}recalculate(e,t){super.recalculate(e,t);let r=this.paint._values["fill-outline-color"];r.value.kind==="constant"&&r.value.value===void 0&&(this.paint._values["fill-outline-color"]=this.paint._values["fill-color"])}createBucket(e){return new Gf(e)}queryRadius(){return Ua(this.paint.get("fill-translate"))}queryIntersectsFeature({queryGeometry:e,geometry:t,transform:r,pixelsToTileUnits:i}){return kf(qa(e,this.paint.get("fill-translate"),this.paint.get("fill-translate-anchor"),-r.bearingInRadians,i),t)}isTileClipped(){return!0}};const sx=Se([{name:"a_pos",components:2,type:"Int16"},{name:"a_normal_ed",components:4,type:"Int16"}],4),ox=Se([{name:"a_centroid",components:2,type:"Int16"}],4),lx=sx.members;var _a=class Lo{constructor(){this.minX=1/0,this.maxX=-1/0,this.minY=1/0,this.maxY=-1/0}extend(t){return this.minX=Math.min(this.minX,t.x),this.minY=Math.min(this.minY,t.y),this.maxX=Math.max(this.maxX,t.x),this.maxY=Math.max(this.maxY,t.y),this}expandBy(t){return this.minX-=t,this.minY-=t,this.maxX+=t,this.maxY+=t,(this.minX>this.maxX||this.minY>this.maxY)&&(this.minX=1/0,this.maxX=-1/0,this.minY=1/0,this.maxY=-1/0),this}shrinkBy(t){return this.expandBy(-t)}map(t){let r=new Lo;return r.extend(t(new B(this.minX,this.minY))),r.extend(t(new B(this.maxX,this.minY))),r.extend(t(new B(this.minX,this.maxY))),r.extend(t(new B(this.maxX,this.maxY))),r}static fromPoints(t){let r=new Lo;for(let i of t)r.extend(i);return r}contains(t){return t.x>=this.minX&&t.x<=this.maxX&&t.y>=this.minY&&t.y<=this.maxY}empty(){return this.minX>this.maxX}width(){return this.maxX-this.minX}height(){return this.maxY-this.minY}covers(t){return!this.empty()&&!t.empty()&&t.minX>=this.minX&&t.maxX<=this.maxX&&t.minY>=this.minY&&t.maxY<=this.maxY}intersects(t){return!this.empty()&&!t.empty()&&t.minX<=this.maxX&&t.maxX>=this.minX&&t.minY<=this.maxY&&t.maxY>=this.minY}};_a.fromPoints([new B(0,0),new B(xe,xe)]);function Vo(e,t){return e.x===t.x&&(e.x<0||e.x>8192)||e.y===t.y&&(e.y<0||e.y>8192)}function Ph(e){return e.every(t=>t.x<0)||e.every(t=>t.x>8192)||e.every(t=>t.y<0)||e.every(t=>t.y>8192)}var gn=class{constructor(e,t,r,i,n){for(this.properties=Object.create(null),this.extent=r,this.type=0,this.id=void 0,this._pbf=e,this._geometry=-1,this._keys=i,this._values=n;e.pos<t;){let a=e.readVarint();if(a===8)this.id=e.readVarint();else if(a===18){let s=e.readVarint()+e.pos;for(;e.pos<s;){let o=i[e.readVarint()],l=n[e.readVarint()];this.properties[o]=l}}else a===24?this.type=e.readVarint():(a===34&&(this._geometry=e.pos),e.skip(a))}}loadGeometry(){if(this._geometry<0)throw Error("feature has no geometry");let e=this._pbf;e.pos=this._geometry;let t=e.readVarint()+e.pos,r=[],i,n=1,a=0,s=0,o=0;for(;e.pos<t;){if(a<=0){let l=e.readVarint();if(n=l&7,a=l>>3,a===0)continue}if(a--,n===1)s+=e.readSVarint(),o+=e.readSVarint(),i&&r.push(i),i=[new B(s,o)];else if(n===2)s+=e.readSVarint(),o+=e.readSVarint(),i&&i.push(new B(s,o));else if(n===7)i&&i.push(i[0].clone());else throw Error(`unknown command ${n}`)}return i&&r.push(i),r}bbox(){if(this._geometry<0)throw Error("feature has no geometry");let e=this._pbf;e.pos=this._geometry;let t=e.readVarint()+e.pos,r=1,i=0,n=0,a=0,s=1/0,o=-1/0,l=1/0,u=-1/0;for(;e.pos<t;){if(i<=0){let h=e.readVarint();if(r=h&7,i=h>>3,i===0)continue}if(i--,r===1||r===2)n+=e.readSVarint(),a+=e.readSVarint(),n<s&&(s=n),n>o&&(o=n),a<l&&(l=a),a>u&&(u=a);else if(r!==7)throw Error(`unknown command ${r}`)}return[s,l,o,u]}toGeoJSON(e,t,r){let i=this.extent*2**r,n=this.extent*e,a=this.extent*t,s=this.loadGeometry();function o(c){return[(c.x+n)*360/i-180,360/Math.PI*Math.atan(Math.exp((1-(c.y+a)*2/i)*Math.PI))-90]}function l(c){return c.map(o)}let u;if(this.type===1){let c=[];for(let f of s)c.push(f[0]);let p=l(c);u=c.length===1?{type:"Point",coordinates:p[0]}:{type:"MultiPoint",coordinates:p}}else if(this.type===2){let c=s.map(l);u=c.length===1?{type:"LineString",coordinates:c[0]}:{type:"MultiLineString",coordinates:c}}else if(this.type===3){let c=Xf(s),p=[];for(let f of c)p.push(f.map(l));u=p.length===1?{type:"Polygon",coordinates:p[0]}:{type:"MultiPolygon",coordinates:p}}else throw Error("unknown feature type");let h={type:"Feature",geometry:u,properties:this.properties};return this.id!=null&&(h.id=this.id),h}};gn.types=["Unknown","Point","LineString","Polygon"];function Xf(e){let t=e.length;if(t<=1)return[e];let r=[],i,n;for(let a=0;a<t;a++){let s=ux(e[a]);s!==0&&(n===void 0&&(n=s<0),n===s<0?(i&&r.push(i),i=[e[a]]):i&&i.push(e[a]))}return i&&r.push(i),r}function ux(e){let t=0;for(let r=0,i=e.length,n=i-1,a,s;r<i;n=r++)a=e[r],s=e[n],t+=(s.x-a.x)*(a.y+s.y);return t}var hx=class{constructor(e,t){for(this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=e,this._keys=[],this._values=[],this._features=[],t===void 0&&(t=e.length);e.pos<t;){let r=e.readVarint();r===10?this.name=e.readString():r===18?(this._features.push(e.pos),e.skip(r)):r===26?this._keys.push(e.readString()):r===34?this._values.push(cx(e)):r===40?this.extent=e.readVarint():r===120?this.version=e.readVarint():e.skip(r)}this.length=this._features.length}feature(e){if(e<0||e>=this._features.length)throw Error("feature index out of bounds");this._pbf.pos=this._features[e];let t=this._pbf.readVarint()+this._pbf.pos;return new gn(this._pbf,t,this.extent,this._keys,this._values)}};function cx(e){let t=null,r=e.readVarint()+e.pos;for(;e.pos<r;){let i=e.readVarint();t=i===10?e.readString():i===21?e.readFloat():i===25?e.readDouble():i===32?e.readVarint(!0):i===40?e.readVarint():i===48?e.readSVarint():i===56?e.readBoolean():(e.skip(i),null)}if(t==null)throw Error("unknown feature value");return t}var Yf=class{constructor(e,t=e.length){let r=Object.create(null);for(;e.pos<t;){let i=e.readVarint();if(i===26){let n=new hx(e,e.readVarint()+e.pos);n.length&&(r[n.name]=n)}else e.skip(i)}this.layers=r}};const Wf=63710088e-1;var Mh=class Vi{constructor(t,r){if(isNaN(t)||isNaN(r))throw Error(`Invalid LngLat object: (${t}, ${r})`);if(this.lng=+t,this.lat=+r,this.lat>90||this.lat<-90)throw Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new Vi(Jy(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(t){let r=Math.PI/180,i=this.lat*r,n=t.lat*r,a=Math.sin(i)*Math.sin(n)+Math.cos(i)*Math.cos(n)*Math.cos((t.lng-this.lng)*r);return Wf*Math.acos(Math.min(a,1))}static convert(t){if(t instanceof Vi)return t;if(Array.isArray(t)&&(t.length===2||t.length===3))return new Vi(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&typeof t=="object"&&t)return new Vi(Number("lng"in t?t.lng:t.lon),Number(t.lat));throw Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]")}};const Zf=2*Math.PI*Wf;function Hf(e){return Zf*Math.cos(e*Math.PI/180)}function px(e){return(180+e)/360}function fx(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function dx(e,t){return e/Hf(t)}function yx(e){return e*360-180}function Oo(e){let t=180-e*360;return 360/Math.PI*Math.atan(Math.exp(t*Math.PI/180))-90}function mx(e,t){return e*Hf(Oo(t))}function gx(e){return 1/Math.cos(e*Math.PI/180)}var Ml=class Kf{constructor(t,r,i=0){this.x=+t,this.y=+r,this.z=+i}static fromLngLat(t,r=0){let i=Mh.convert(t);return new Kf(px(i.lng),fx(i.lat),dx(r,i.lat))}toLngLat(){return new Mh(yx(this.x),Oo(this.y))}toAltitude(){return mx(this.z,this.y)}meterInMercatorCoordinateUnits(){return 1/Zf*gx(Oo(this.y))}};function xx(e,t,r){let i=1/(1<<r.z);return new Ml(e/xe*i+r.x*i,t/xe*i+r.y*i)}function vx(e,t,r){return xx(e,t,r).toLngLat()}function bx(e,t){return t<=0||!e||e.length===0?e:e.map(r=>Dx(r,t))}function wx(e,t){let r=vx(xe/2,xe/2,t),i=Ml.fromLngLat(r).meterInMercatorCoordinateUnits(),n=(1<<t.z)*xe;return e*i*n}function Dx(e,t){if(!e||e.length<3)return e;let r=e[0].x===e[e.length-1].x&&e[0].y===e[e.length-1].y,i=r?e.length-1:e.length;if(i<3)return e;let n=[],a=Vo(e[i-1],e[0]);for(let o=0;o<i;o++){let l=e[(o-1+i)%i],u=e[o],h=e[(o+1)%i],c=Vo(u,h);a||c?n.push(u.clone()):Sx(n,l,u,h,t),a=c}let s=_x(n);return s.length<3?e:(r&&s.push(s[0].clone()),s)}function _x(e){let t=[];for(let r of e){let i=r.round(),n=t[t.length-1];((n==null?void 0:n.x)!==i.x||(n==null?void 0:n.y)!==i.y)&&t.push(i)}for(;t.length>1&&t[0].x===t[t.length-1].x&&t[0].y===t[t.length-1].y;)t.pop();return t}function Sx(e,t,r,i,n){let a=t.sub(r),s=i.sub(r),o=a.mag(),l=s.mag();if(o<1e-6||l<1e-6){e.push(r.clone());return}a._div(o),s._div(l);let u=a.x*s.x+a.y*s.y;if(Math.abs(u)>Math.cos(5*Math.PI/180)){e.push(r.clone());return}let h=.2,c=Math.min(n,o*h,l*h),p=r.add(a.mult(c)),f=r.add(s.mult(c)),d=Math.sqrt((1+u)/2),y=r.add(a.add(s)._unit()._mult(c/d)),m=p.sub(y).angleWith(f.sub(y)),g=Math.max(2,Math.ceil(Math.abs(m)/(Math.PI/6)-1e-6));for(let x=0;x<=g;x++)e.push(p.rotateAround(x/g*m,y))}const zs=8192;function Fi(e,t,r,i,n,a,s,o){e.emplaceBack(t,r,Math.floor(i*zs)*2+s,n*zs*2,a*zs*2,Math.round(o))}var Jf=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(t=>t.id),this.index=e.index,this.hasDependencies=!1,this.layoutVertexArray=new Tg,this.centroidVertexArray=new Ag,this.indexArray=new mn,this.programConfigurations=new gr(e.layers,e.zoom),this.segments=new tt,this.stateDependentLayerIds=this.layers.filter(t=>t.isStateDependent()).map(t=>t.id)}populate(e,t,r){this.features=[],this.hasDependencies=ba("fill-extrusion",this.layers,t);let i=new se(this.zoom),n=this.layers[0],a=n.layout.get("fill-extrusion-rounded-corner-distance"),s=a>0?wx(a,r):0,o=n._featureFilter.needGeometry;for(let{feature:l,id:u,index:h,sourceLayerIndex:c}of e){let p=si(l,o);if(!n._featureFilter.filter(i,p,r))continue;let f={id:u,sourceLayerIndex:c,index:h,geometry:bx(o?p.geometry:wr(l),s),properties:l.properties,type:l.type,patterns:{}};this.hasDependencies?this.features.push(Pl("fill-extrusion",this.layers,f,{zoom:this.zoom},t)):this.addFeature(f,f.geometry,h,r,{},t.subdivisionGranularity),t.featureIndex.insert(l,f.geometry,h,c,this.index,!0)}}addFeatures({options:e,canonical:t,patternPositions:r}){for(let i of this.features){let{geometry:n}=i;this.addFeature(i,n,i.index,t,r,e.subdivisionGranularity)}}update(e,t,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:r})}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,lx),this.centroidVertexBuffer=e.createVertexBuffer(this.centroidVertexArray,ox.members,!0),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(e,t,r,i,n,a){for(let s of Ba(t,500)){let o={x:0,y:0,sampleCount:0},l=this.layoutVertexArray.length;this.processPolygon(o,i,e,s,a);let u=this.layoutVertexArray.length-l,h=Math.floor(o.x/o.sampleCount),c=Math.floor(o.y/o.sampleCount);for(let p=0;p<u;p++)this.centroidVertexArray.emplaceBack(h,c)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,r,{imagePositions:n,canonical:i})}processPolygon(e,t,r,i,n){if(i.length<1||Ph(i[0]))return;for(let h of i)h.length!==0&&Ax(e,h);let a={segment:this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray)},s=n.fill.getGranularityForZoomLevel(t.z),o=gn.types[r.type]==="Polygon";for(let h of i){if(h.length===0||Ph(h))continue;let c=ur(h,s,o);this._generateSideFaces(c,a)}if(!o)return;let l=Uf(i,t,s,!1),u=this.layoutVertexArray;jf((h,c)=>{Fi(u,h,c,0,0,1,1,0)},this.segments,this.layoutVertexArray,this.indexArray,l.verticesFlattened,l.indicesTriangles)}_generateSideFaces(e,t){let r=0;for(let i=1;i<e.length;i++){let n=e[i],a=e[i-1];if(Vo(n,a))continue;t.segment.vertexLength+4>tt.MAX_VERTEX_ARRAY_LENGTH&&(t.segment=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let s=n.sub(a)._perp()._unit(),o=a.dist(n);r+o>32768&&(r=0),Fi(this.layoutVertexArray,n.x,n.y,s.x,s.y,0,0,r),Fi(this.layoutVertexArray,n.x,n.y,s.x,s.y,0,1,r),r+=o,Fi(this.layoutVertexArray,a.x,a.y,s.x,s.y,0,0,r),Fi(this.layoutVertexArray,a.x,a.y,s.x,s.y,0,1,r);let l=t.segment.vertexLength;this.indexArray.emplaceBack(l,l+2,l+1),this.indexArray.emplaceBack(l+1,l+2,l+3),t.segment.vertexLength+=4,t.segment.primitiveLength+=2}}};function Ax(e,t){for(let r=0;r<t.length;r++){let i=t[r];(r!==t.length-1||t[0].x!==i.x||t[0].y!==i.y)&&(e.x+=i.x,e.y+=i.y,e.sampleCount++)}}C("FillExtrusionBucket",Jf,{omit:["layers","features"]});let Ex;const Fx=()=>Ex||(Ex=new Ge({"fill-extrusion-rounded-corner-distance":new R(D["layout_fill-extrusion"]["fill-extrusion-rounded-corner-distance"],"fill-extrusion-rounded-corner-distance")}));let Tx;const kx=()=>Tx||(Tx=new Ge({"fill-extrusion-opacity":new R(D["paint_fill-extrusion"]["fill-extrusion-opacity"],"fill-extrusion-opacity"),"fill-extrusion-color":new U(D["paint_fill-extrusion"]["fill-extrusion-color"],"fill-extrusion-color"),"fill-extrusion-translate":new R(D["paint_fill-extrusion"]["fill-extrusion-translate"],"fill-extrusion-translate"),"fill-extrusion-translate-anchor":new R(D["paint_fill-extrusion"]["fill-extrusion-translate-anchor"],"fill-extrusion-translate-anchor"),"fill-extrusion-pattern":new tn(D["paint_fill-extrusion"]["fill-extrusion-pattern"],"fill-extrusion-pattern"),"fill-extrusion-height":new U(D["paint_fill-extrusion"]["fill-extrusion-height"],"fill-extrusion-height"),"fill-extrusion-base":new U(D["paint_fill-extrusion"]["fill-extrusion-base"],"fill-extrusion-base"),"fill-extrusion-vertical-gradient":new R(D["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"],"fill-extrusion-vertical-gradient")}));var Ix={get paint(){return kx()},get layout(){return Fx()}},Cx=class extends dt{constructor(e,t){super(e,Ix,t)}createBucket(e){return new Jf(e)}queryRadius(){return Ua(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:r,geometry:i,transform:n,pixelsToTileUnits:a,pixelPosMatrix:s}){let o=qa(e,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),-n.bearingInRadians,a),l=this.paint.get("fill-extrusion-height").evaluate(t,r),u=this.paint.get("fill-extrusion-base").evaluate(t,r),h=Mx(o,s,0),c=Px(i,u,l,s),p=c[0],f=c[1];return Bx(p,f,h)}};function Ti(e,t){return e.x*t.x+e.y*t.y}function zh(e,t){if(e.length===1){let r=0,i=t[r++],n;for(;!n||i.equals(n);)if(n=t[r++],!n)return 1/0;for(;r<t.length;r++){let a=t[r],s=e[0],o=n.sub(i),l=a.sub(i),u=s.sub(i),h=Ti(o,o),c=Ti(o,l),p=Ti(l,l),f=Ti(u,o),d=Ti(u,l),y=h*p-c*c,m=(p*f-c*d)/y,g=(h*d-c*f)/y,x=1-m-g,v=i.z*x+n.z*m+a.z*g;if(isFinite(v))return v}return 1/0}{let r=1/0;for(let i of t)r=Math.min(r,i.z);return r}}function Bx(e,t,r){let i=1/0;kf(r,t)&&(i=zh(r,t[0]));for(let n=0;n<t.length;n++){let a=t[n],s=e[n];for(let o=0;o<a.length-1;o++){let l=a[o],u=a[o+1],h=s[o],c=[l,u,s[o+1],h,l];Xg(r,c)&&(i=Math.min(i,zh(r,c)))}}return i!==1/0&&i}function Px(e,t,r,i){let n=[],a=[],s=i[8]*t,o=i[9]*t,l=i[10]*t,u=i[11]*t,h=i[8]*r,c=i[9]*r,p=i[10]*r,f=i[11]*r;for(let d of e){let y=[],m=[];for(let g of d){let x=g.x,v=g.y,b=i[0]*x+i[4]*v+i[12],w=i[1]*x+i[5]*v+i[13],_=i[2]*x+i[6]*v+i[14],S=i[3]*x+i[7]*v+i[15],A=b+s,T=w+o,L=_+l,O=S+u,P=b+h,V=w+c,F=_+p,$=S+f,G=new B(A/O,T/O);G.z=L/O,y.push(G);let M=new B(P/$,V/$);M.z=F/$,m.push(M)}n.push(y),a.push(m)}return[n,a]}function Mx(e,t,r){let i=[];for(let n of e){let a=[n.x,n.y,r,1];Xy(a,a,t),i.push(new B(a[0]/a[3],a[1]/a[3]))}return i}function Ro(e,t,r,i){let n=i,a=t+(r-t>>1),s=r-t,o,l=e[t],u=e[t+1],h=e[r],c=e[r+1];for(let p=t+3;p<r;p+=3){let f=zx(e[p],e[p+1],l,u,h,c);if(f>n){o=p,n=f;continue}if(f===n){let d=Math.abs(p-a);d<s&&(o=p,s=d)}}n>i&&(o-t>3&&Ro(e,t,o,i),e[o+2]=n,r-o>3&&Ro(e,o,r,i))}function zx(e,t,r,i,n,a){let s=n-r,o=a-i;if(s!==0||o!==0){let l=((e-r)*s+(t-i)*o)/(s*s+o*o);l>1?(r=n,i=a):l>0&&(r+=s*l,i+=o*l)}return s=e-r,o=t-i,s*s+o*o}function Ie(e,t,r,i){let n={type:t,geom:r},a={id:e??null,type:n.type,geometry:n.geom,tags:i,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};switch(n.type){case"Point":case"MultiPoint":ki(a,n.geom);break;case"LineString":ki(a,n.geom.points);break;case"Polygon":ki(a,n.geom[0].points);break;case"MultiLineString":for(let s of n.geom)ki(a,s.points);break;case"MultiPolygon":for(let s of n.geom)ki(a,s[0].points)}return a}function zl(e){let t=e;e.points.length>64&&(t.points=new Float64Array(e.points))}function ki(e,t){for(let r=0;r<t.length;r+=3)e.minX=Math.min(e.minX,t[r]),e.minY=Math.min(e.minY,t[r+1]),e.maxX=Math.max(e.maxX,t[r]),e.maxY=Math.max(e.maxY,t[r+1])}function Ll(e,t){let r=[];switch(e.type){case"FeatureCollection":for(let i=0;i<e.features.length;i++)aa(r,e.features[i],t,i);break;case"Feature":aa(r,e,t);break;default:aa(r,{geometry:e,properties:void 0},t)}return r}function aa(e,t,r,i,n=0){var o;if(!t.geometry)return;if(n>1024)throw Error("GeometryCollection nesting exceeds supported depth: 1024");if(t.geometry.type==="GeometryCollection"){Vx(e,t,t.geometry,r,i,n+1);return}if(!((o=t.geometry.coordinates)!=null&&o.length))return;let a=Lx(t,r,i),s=(r.tolerance/((1<<r.maxZoom)*r.extent))**2;switch(t.geometry.type){case"Point":Ox(e,a,t.geometry,t.properties);return;case"MultiPoint":Rx(e,a,t.geometry,t.properties);return;case"LineString":$x(e,a,t.geometry,s,t.properties);return;case"MultiLineString":Nx(e,a,t.geometry,s,r,t.properties);return;case"Polygon":Ux(e,a,t.geometry,s,t.properties);return;case"MultiPolygon":qx(e,a,t.geometry,s,t.properties);return;default:throw Error("Input data is not a valid GeoJSON object.")}}function Lx(e,t,r){var i;return t.promoteId?(i=e.properties)==null?void 0:i[t.promoteId]:t.generateId?r||0:e.id}function Vx(e,t,r,i,n,a=0){for(let s of r.geometries)aa(e,{id:t.id,geometry:s,properties:t.properties},i,n,a)}function Ox(e,t,r,i){let n=[];n.push(jr(r.coordinates[0]),Gr(r.coordinates[1]),0),e.push(Ie(t,"Point",n,i))}function Rx(e,t,r,i){let n=[];for(let a of r.coordinates)n.push(jr(a[0]),Gr(a[1]),0);e.push(Ie(t,"MultiPoint",n,i))}function $x(e,t,r,i,n){let a={points:[]};Vl(r.coordinates,a,i,!1),e.push(Ie(t,"LineString",a,n))}function Nx(e,t,r,i,n,a){if(n.lineMetrics)for(let s of r.coordinates){let o={points:[]};Vl(s,o,i,!1),e.push(Ie(t,"LineString",o,a))}else{let s=[];Ol(r.coordinates,s,i,!1),e.push(Ie(t,"MultiLineString",s,a))}}function Ux(e,t,r,i,n){let a=[];Ol(r.coordinates,a,i,!0),e.push(Ie(t,"Polygon",a,n))}function qx(e,t,r,i,n){let a=[];for(let s of r.coordinates){let o=[];Ol(s,o,i,!0),a.push(o)}e.push(Ie(t,"MultiPolygon",a,n))}function Vl(e,t,r,i){let n,a,s=0;for(let l=0;l<e.length;l++){let u=jr(e[l][0]),h=Gr(e[l][1]);t.points.push(u,h,0),l>0&&(s+=i?(n*h-u*a)/2:Math.sqrt((u-n)**2+(h-a)**2)),n=u,a=h}let o=t.points.length-3;t.points[2]=1,r>0&&Ro(t.points,0,o,r),t.points[o+2]=1,zl(t),t.size=Math.abs(s),t.start=0,t.end=t.size}function Ol(e,t,r,i){for(let n=0;n<e.length;n++){let a={points:[]};Vl(e[n],a,r,i),t.push(a)}}function jr(e){return e/360+.5}function Gr(e){let t=Math.sin(e*Math.PI/180),r=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return r<0?0:r>1?1:r}function jx(e){return{type:"FeatureCollection",features:e.map(t=>Sa(t))}}function Sa(e){let t={type:"Feature",geometry:Gx(e),properties:e.tags};return e.id!=null&&(t.id=e.id),t}function Gx(e){let{type:t,geometry:r}=e;switch(t){case"Point":return{type:t,coordinates:Qf(r[0],r[1])};case"MultiPoint":return{type:t,coordinates:Gn(r)};case"LineString":return{type:t,coordinates:Gn(r.points)};case"MultiLineString":case"Polygon":return{type:t,coordinates:r.map(i=>Gn(i.points))};case"MultiPolygon":return{type:t,coordinates:r.map(i=>i.map(n=>Gn(n.points)))}}}function Gn(e){let t=[];for(let r=0;r<e.length;r+=3)t.push(Qf(e[r],e[r+1]));return t}function Qf(e,t){return[ed(e),td(t)]}function ed(e){return(e-.5)*360}function td(e){let t=(180-e*360)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}function kt(e,t,r,i,n,a,s,o){if(r/=t,i/=t,a>=r&&s<i)return e;if(s<r||a>=i)return null;let l=[];for(let u of e){let h=n===0?u.minX:u.minY,c=n===0?u.maxX:u.maxY;if(h>=r&&c<i){l.push(u);continue}if(!(c<r||h>=i))switch(u.type){case"Point":case"MultiPoint":Xx(u,l,r,i,n);continue;case"LineString":Yx(u,l,r,i,n,o);continue;case"MultiLineString":Wx(u,l,r,i,n);continue;case"Polygon":Zx(u,l,r,i,n);continue;case"MultiPolygon":Hx(u,l,r,i,n);continue}}return l.length?l:null}function Xx(e,t,r,i,n){let a=[];if(Kx(e.geometry,a,r,i,n),!a.length)return;let s=a.length===3?"Point":"MultiPoint";t.push(Ie(e.id,s,a,e.tags))}function Yx(e,t,r,i,n,a){let s=[];if(rd(e.geometry,s,r,i,n,!1,a.lineMetrics),s.length){if(a.lineMetrics){for(let o of s)t.push(Ie(e.id,"LineString",o,e.tags));return}if(s.length>1){t.push(Ie(e.id,"MultiLineString",s,e.tags));return}t.push(Ie(e.id,"LineString",s[0],e.tags))}}function Wx(e,t,r,i,n){let a=[];if(Rl(e.geometry,a,r,i,n,!1),a.length){if(a.length===1){t.push(Ie(e.id,"LineString",a[0],e.tags));return}t.push(Ie(e.id,"MultiLineString",a,e.tags))}}function Zx(e,t,r,i,n){let a=[];Rl(e.geometry,a,r,i,n,!0),a.length&&t.push(Ie(e.id,"Polygon",a,e.tags))}function Hx(e,t,r,i,n){let a=[];for(let s of e.geometry){let o=[];Rl(s,o,r,i,n,!0),o.length&&a.push(o)}a.length&&t.push(Ie(e.id,"MultiPolygon",a,e.tags))}function Kx(e,t,r,i,n){for(let a=0;a<e.length;a+=3){let s=e[a+n];s>=r&&s<=i&&Xr(t,e[a],e[a+1],e[a+2])}}function rd(e,t,r,i,n,a,s){let o=Lh(e),l=n===0?Jx:Qx,u=e.start,h,c;for(let g=0;g<e.points.length-3;g+=3){let x=e.points[g],v=e.points[g+1],b=e.points[g+2],w=e.points[g+3],_=e.points[g+4],S=n===0?x:v,A=n===0?w:_,T=!1;s&&(h=Math.sqrt((x-w)**2+(v-_)**2)),S<r?A>r&&(c=l(o,x,v,w,_,r),s&&(o.start=u+h*c)):S>i?A<i&&(c=l(o,x,v,w,_,i),s&&(o.start=u+h*c)):Xr(o.points,x,v,b),A<r&&S>=r&&(c=l(o,x,v,w,_,r),T=!0),A>i&&S<=i&&(c=l(o,x,v,w,_,i),T=!0),!a&&T&&(s&&(o.end=u+h*c),t.push(o),o=Lh(e)),s&&(u+=h)}let p=e.points.length-3,f=e.points[p],d=e.points[p+1],y=e.points[p+2],m=n===0?f:d;m>=r&&m<=i&&Xr(o.points,f,d,y),p=o.points.length-3,a&&p>=3&&(o.points[p]!==o.points[0]||o.points[p+1]!==o.points[1])&&Xr(o.points,o.points[0],o.points[1],o.points[2]),o.points.length&&(zl(o),t.push(o))}function Lh(e){return{points:[],size:e.size,start:e.start,end:e.end}}function Rl(e,t,r,i,n,a){for(let s of e)rd(s,t,r,i,n,a,!1)}function Xr(e,t,r,i){e.push(t,r,i)}function Jx(e,t,r,i,n,a){let s=(a-t)/(i-t);return Xr(e.points,a,r+(n-r)*s,1),s}function Qx(e,t,r,i,n,a){let s=(a-r)/(n-r);return Xr(e.points,t+(i-t)*s,a,1),s}function $l(e,t){let r=t.buffer/t.extent,i=e,n=kt(e,1,-1-r,r,0,-1,2,t),a=kt(e,1,1-r,2+r,0,-1,2,t);return!n&&!a||(i=kt(e,1,-r,1+r,0,-1,2,t)||[],n&&(i=Vh(n,1).concat(i)),a&&(i=i.concat(Vh(a,-1)))),i}function Vh(e,t){let r=[];for(let i of e)switch(i.type){case"Point":case"MultiPoint":{let n=e2(i.geometry,t);r.push(Ie(i.id,i.type,n,i.tags));continue}case"LineString":{let n=Ls(i.geometry,t);r.push(Ie(i.id,i.type,n,i.tags));continue}case"MultiLineString":case"Polygon":{let n=[];for(let a of i.geometry)n.push(Ls(a,t));r.push(Ie(i.id,i.type,n,i.tags));continue}case"MultiPolygon":{let n=[];for(let a of i.geometry){let s=[];for(let o of a)s.push(Ls(o,t));n.push(s)}r.push(Ie(i.id,i.type,n,i.tags));continue}}return r}function e2(e,t){let r=[];for(let i=0;i<e.length;i+=3)r.push(e[i]+t,e[i+1],e[i+2]);return r}function Ls(e,t){let r={points:[],size:e.size};e.start!==void 0&&(r.start=e.start,r.end=e.end);for(let i=0;i<e.points.length;i+=3)r.points.push(e.points[i]+t,e.points[i+1],e.points[i+2]);return zl(r),r}function t2(e,t,r){let i=i2(t,r),n=[];if(i.removeAll&&(n=e,e=[]),i.remove.size||i.add.size){let a=[];for(let s of e)(i.remove.has(s.id)||i.add.has(s.id))&&a.push(s);if(a.length){n=n.concat(a);let s=new Set(a.map(o=>o.id));e=e.filter(o=>!s.has(o.id))}if(i.add.size){let s=Ll({type:"FeatureCollection",features:Array.from(i.add.values())},r);s=$l(s,r),n=n.concat(s),e=e.concat(s)}}if(i.update.size){let a=new Map,s=[];for(let o of e)i.update.has(o.id)?a.set(o.id,[...a.get(o.id)||[],o]):s.push(o);for(let[o,l]of i.update){let u=a.get(o);if(!u||u.length===0)continue;let h=r2(u,l,r);n=n.concat(u,h),s=s.concat(h)}e=s}return{affected:n,source:e}}function r2(e,t,r){var a,s;let i=!!t.newGeometry,n=t.removeAllProperties||((a=t.removeProperties)==null?void 0:a.length)>0||((s=t.addOrUpdateProperties)==null?void 0:s.length)>0;if(i){let o=e[0],l=Ll({type:"FeatureCollection",features:[{type:"Feature",id:o.id,geometry:t.newGeometry,properties:n?Oh(o.tags,t):o.tags}]},r);return l=$l(l,r),l}if(n){let o=[];for(let l of e){let u={...l};u.tags=Oh(u.tags,t),o.push(u)}return o}return e}function Oh(e,t){if(t.removeAllProperties)return{};let r={...e||{}};if(t.removeProperties)for(let i of t.removeProperties)delete r[i];if(t.addOrUpdateProperties)for(let{key:i,value:n}of t.addOrUpdateProperties)r[i]=n;return r}function i2(e,t){var r,i;return e?{removeAll:e.removeAll,remove:new Set(e.remove||[]),add:new Map((r=e.add)==null?void 0:r.map(n=>[t.promoteId?n.properties[t.promoteId]:n.id,n])),update:new Map((i=e.update)==null?void 0:i.map(n=>[n.id,n]))}:{remove:new Set,add:new Map,update:new Map}}const Rh=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],de=new Uint32Array(96);var n2=class id{static from(t){if(!t||t.byteLength===void 0||t.buffer)throw Error("Data must be an instance of ArrayBuffer or SharedArrayBuffer.");let[r,i]=new Uint8Array(t,0,2);if(r!==219)throw Error("Data does not appear to be in a KDBush format.");let n=i>>4;if(n!==1)throw Error(`Got v${n} data when expected v1.`);let a=Rh[i&15];if(!a)throw Error("Unrecognized array type.");let[s]=new Uint16Array(t,2,1),[o]=new Uint32Array(t,4,1);return new id(o,s,a,void 0,t)}constructor(t,r=64,i=Float64Array,n=ArrayBuffer,a){if(isNaN(t)||t<0)throw Error(`Unexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+r,2),65535),this.ArrayType=i,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;let s=Rh.indexOf(this.ArrayType),o=t*2*this.ArrayType.BYTES_PER_ELEMENT,l=t*this.IndexArrayType.BYTES_PER_ELEMENT,u=(8-l%8)%8;if(s<0)throw Error(`Unexpected typed array class: ${i}.`);if(a)this.data=a,this.ids=new this.IndexArrayType(a,8,t),this.coords=new i(a,8+l+u,t*2),this._pos=t*2,this._finished=!0;else{let h=this.data=new n(8+o+l+u);this.ids=new this.IndexArrayType(h,8,t),this.coords=new i(h,8+l+u,t*2),this._pos=0,this._finished=!1,new Uint8Array(h,0,2).set([219,16+s]),new Uint16Array(h,2,1)[0]=r,new Uint32Array(h,4,1)[0]=t}}add(t,r){let i=this._pos>>1;return this.ids[i]=i,this.coords[this._pos++]=t,this.coords[this._pos++]=r,i}finish(){let t=this._pos>>1;if(t!==this.numItems)throw Error(`Added ${t} items when expected ${this.numItems}.`);return $o(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,r,i,n){if(!this._finished)throw Error("Data not yet indexed - call index.finish().");let{ids:a,coords:s,nodeSize:o}=this;de[0]=0,de[1]=a.length-1,de[2]=0;let l=3,u=[];for(;l>0;){let h=de[--l],c=de[--l],p=de[--l];if(c-p<=o){for(let m=p;m<=c;m++){let g=s[2*m],x=s[2*m+1];g>=t&&g<=i&&x>=r&&x<=n&&u.push(a[m])}continue}let f=p+c>>1,d=s[2*f],y=s[2*f+1];d>=t&&d<=i&&y>=r&&y<=n&&u.push(a[f]),(h===0?t<=d:r<=y)&&(de[l++]=p,de[l++]=f-1,de[l++]=1-h),(h===0?i>=d:n>=y)&&(de[l++]=f+1,de[l++]=c,de[l++]=1-h)}return u}within(t,r,i){let n=[];return this.withinInto(t,r,i,n),n}withinInto(t,r,i,n){if(!this._finished)throw Error("Data not yet indexed - call index.finish().");let{ids:a,coords:s,nodeSize:o}=this;de[0]=0,de[1]=a.length-1,de[2]=0;let l=3,u=0,h=i*i;for(;l>0;){let c=de[--l],p=de[--l],f=de[--l];if(p-f<=o){for(let g=f;g<=p;g++)$h(s[2*g],s[2*g+1],t,r)<=h&&(n[u++]=a[g]);continue}let d=f+p>>1,y=s[2*d],m=s[2*d+1];$h(y,m,t,r)<=h&&(n[u++]=a[d]),(c===0?t-i<=y:r-i<=m)&&(de[l++]=f,de[l++]=d-1,de[l++]=1-c),(c===0?t+i>=y:r+i>=m)&&(de[l++]=d+1,de[l++]=p,de[l++]=1-c)}return u}};function $o(e,t,r,i,n,a){if(n-i<=r)return;let s=i+n>>1;nd(e,t,s,i,n,a),$o(e,t,r,i,s-1,1-a),$o(e,t,r,s+1,n,1-a)}function nd(e,t,r,i,n,a){for(;n>i;){if(n-i>600){let u=n-i+1,h=r-i+1,c=Math.log(u),p=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*p*(u-p)/u)*(h-u/2<0?-1:1);nd(e,t,r,Math.max(i,Math.floor(r-h*p/u+f)),Math.min(n,Math.floor(r+(u-h)*p/u+f)),a)}let s=t[2*r+a],o=i,l=n;for(Ii(e,t,i,r),t[2*n+a]>s&&Ii(e,t,i,n);o<l;){for(Ii(e,t,o,l),o++,l--;t[2*o+a]<s;)o++;for(;t[2*l+a]>s;)l--}t[2*i+a]===s?Ii(e,t,i,l):(l++,Ii(e,t,l,n)),l<=r&&(i=l+1),r<=l&&(n=l-1)}}function Ii(e,t,r,i){Vs(e,r,i),Vs(t,2*r,2*i),Vs(t,2*r+1,2*i+1)}function Vs(e,t,r){let i=e[t];e[t]=e[r],e[r]=i}function $h(e,t,r,i){let n=e-r,a=t-i;return n*n+a*a}const No={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:e=>e};var a2=class{constructor(e){this.options=Object.assign(Object.create(No),e),this.trees=Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[],this.points=[]}load(e){let t=[];for(let r of e){if(!r.geometry)continue;let[i,n]=r.geometry.coordinates,[a,s]=[jr(i),Gr(n)],o={id:r.id,type:"Point",geometry:[a,s],tags:r.properties};t.push(o)}this.createIndex(t)}initialize(e){let t=[];for(let r of e)r.type==="Point"&&t.push(r);this.createIndex(t)}updateIndex(e,t,r){this.options=Object.assign(Object.create(No),r.clusterOptions),this.initialize(e)}createIndex(e){let{log:t,minZoom:r,maxZoom:i}=this.options;t&&console.time("total time");let n=`prepare ${e.length} points`;t&&console.time(n),this.points=e;let a=[];for(let o=0;o<e.length;o++){let l=e[o];if(!(l!=null&&l.geometry))continue;let[u,h]=l.geometry;u=Math.fround(u),h=Math.fround(h),a.push(u,h,1/0,o,-1,1),this.options.reduce&&a.push(0)}let s=this.trees[i+1]=this.createTree(a);t&&console.timeEnd(n);for(let o=i;o>=r;o--){let l=Date.now();s=this.trees[o]=this.createTree(this.cluster(s,o)),t&&console.log("z%d: %d clusters in %dms",o,s.numItems,Date.now()-l)}t&&console.timeEnd("total time")}getClusters(e,t){return this.getClustersInternal(e,t).map(r=>Sa(r))}getClustersInternal(e,t){let r=((e[0]+180)%360+360)%360-180,i=Math.max(-90,Math.min(90,e[1])),n=e[2]===180?180:((e[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)r=-180,n=180;else if(r>n){let h=this.getClustersInternal([r,i,180,a],t),c=this.getClustersInternal([-180,i,n,a],t);return h.concat(c)}let s=this.trees[this.limitZoom(t)],o=s.range(jr(r),Gr(a),jr(n),Gr(i)),l=s.flatData,u=[];for(let h of o){let c=this.stride*h;u.push(l[c+5]>1?s2(l,c,this.clusterProps):this.points[l[c+3]])}return u}getChildren(e){let t=this.getOriginId(e),r=this.getOriginZoom(e),i=Error("No cluster with the specified id: "+e),n=this.trees[r];if(!n)throw i;let a=n.flatData;if(t*this.stride>=a.length)throw i;let s=this.options.radius/(this.options.extent*2**(r-1)),o=a[t*this.stride],l=a[t*this.stride+1],u=n.within(o,l,s),h=[];for(let c of u){let p=c*this.stride;a[p+4]===e&&h.push(a[p+5]>1?o2(a,p,this.clusterProps):Sa(this.points[a[p+3]]))}if(h.length===0)throw i;return h}getLeaves(e,t,r){t||(t=10),r||(r=0);let i=[];return this.appendLeaves(i,e,t,r,0),i}getTile(e,t,r){let i=this.trees[this.limitZoom(e)];if(!i)return null;let n=2**e,{extent:a,radius:s}=this.options,o=s/a,l=(r-o)/n,u=(r+1+o)/n,h={transformed:!0,features:[],source:null,x:t,y:r,z:e};return this.addTileFeatures(i.range((t-o)/n,l,(t+1+o)/n,u),i.flatData,t,r,n,h),t===0&&this.addTileFeatures(i.range(1-o/n,l,1,u),i.flatData,n,r,n,h),t===n-1&&this.addTileFeatures(i.range(0,l,o/n,u),i.flatData,-1,r,n,h),h}getClusterExpansionZoom(e){return this.getOriginZoom(e)}appendLeaves(e,t,r,i,n){let a=this.getChildren(t);for(let s of a){let o=s.properties;if(o!=null&&o.cluster?n+o.point_count<=i?n+=o.point_count:n=this.appendLeaves(e,o.cluster_id,r,i,n):n<i?n++:e.push(s),e.length===r)break}return n}createTree(e){let t=new n2(e.length/this.stride|0,this.options.nodeSize,Float32Array);for(let r=0;r<e.length;r+=this.stride)t.add(e[r],e[r+1]);return t.finish(),t.flatData=e,t.data=null,t}addTileFeatures(e,t,r,i,n,a){for(let s of e){let o=s*this.stride,l=t[o+5]>1,u,h,c;if(l)u=Nl(t,o,this.clusterProps),h=t[o],c=t[o+1];else{let d=this.points[t[o+3]];u=d.tags,[h,c]=d.geometry}let p={type:1,geometry:[[Math.round(this.options.extent*(h*n-r)),Math.round(this.options.extent*(c*n-i))]],tags:u},f;f=l||this.options.generateId?t[o+3]:this.points[t[o+3]].id,f!==void 0&&(p.id=f),a.features.push(p)}}limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}cluster(e,t){let{radius:r,extent:i,reduce:n,minPoints:a}=this.options,s=r/(i*2**t),o=e.flatData,l=[],u=this.stride;for(let h=0;h<o.length;h+=u){if(o[h+2]<=t)continue;o[h+2]=t;let c=o[h],p=o[h+1],f=e.within(o[h],o[h+1],s),d=o[h+5],y=d;for(let m of f){let g=m*u;o[g+2]>t&&(y+=o[g+5])}if(y>d&&y>=a){let m=c*d,g=p*d,x,v=-1,b=((h/u|0)<<5)+(t+1)+this.points.length;for(let w of f){let _=w*u;if(o[_+2]<=t)continue;o[_+2]=t;let S=o[_+5];m+=o[_]*S,g+=o[_+1]*S,o[_+4]=b,n&&(x||(x=this.map(o,h,!0),v=this.clusterProps.length,this.clusterProps.push(x)),n(x,this.map(o,_)))}o[h+4]=b,l.push(m/y,g/y,1/0,b,-1,y),n&&l.push(v)}else{for(let m=0;m<u;m++)l.push(o[h+m]);if(y>1)for(let m of f){let g=m*u;if(!(o[g+2]<=t)){o[g+2]=t;for(let x=0;x<u;x++)l.push(o[g+x])}}}}return l}getOriginId(e){return e-this.points.length>>5}getOriginZoom(e){return(e-this.points.length)%32}map(e,t,r){if(e[t+5]>1){let a=this.clusterProps[e[t+6]];return r?Object.assign({},a):a}let i=this.points[e[t+3]].tags,n=this.options.map(i);return r&&n===i?Object.assign({},n):n}};function s2(e,t,r){return{id:e[t+3],type:"Point",tags:Nl(e,t,r),geometry:[e[t],e[t+1]]}}function o2(e,t,r){return{type:"Feature",id:e[t+3],properties:Nl(e,t,r),geometry:{type:"Point",coordinates:[ed(e[t]),td(e[t+1])]}}}function Nl(e,t,r){let i=e[t+5],n=i>=1e4?`${Math.round(i/1e3)}k`:i>=1e3?`${Math.round(i/100)/10}k`:i,a=e[t+6],s=a===-1?{}:Object.assign({},r[a]);return Object.assign(s,{cluster:!0,cluster_id:e[t+3],point_count:i,point_count_abbreviated:n})}const ad="geojsonvt_clip_start",sd="geojsonvt_clip_end";function Nh(e,t,r,i,n){let a=t===n.maxZoom?0:n.tolerance/((1<<t)*n.extent),s={transformed:!1,features:[],source:null,x:r,y:i,z:t,minX:2,minY:1,maxX:-1,maxY:0,numPoints:0,numSimplified:0,numFeatures:e.length};for(let o of e)l2(s,o,a,n);return s}function l2(e,t,r,i){switch(e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY),t.type){case"Point":case"MultiPoint":u2(e,t);return;case"LineString":h2(e,t,r,i);return;case"MultiLineString":case"Polygon":c2(e,t,r);return;case"MultiPolygon":p2(e,t,r);return}}function u2(e,t){let r=[];for(let n=0;n<t.geometry.length;n+=3)r.push(t.geometry[n],t.geometry[n+1]),e.numPoints++,e.numSimplified++;if(!r.length)return;let i={type:1,tags:t.tags||null,geometry:r};t.id!==null&&(i.id=t.id),e.features.push(i)}function h2(e,t,r,i){let n=[];if(Ul(n,t.geometry,e,r,!1,!1),!n.length)return;let a=t.tags||null;if(i.lineMetrics){a={};for(let o in t.tags)a[o]=t.tags[o];a[ad]=t.geometry.start/t.geometry.size,a[sd]=t.geometry.end/t.geometry.size}let s={type:2,tags:a,geometry:n};t.id!==null&&(s.id=t.id),e.features.push(s)}function c2(e,t,r){let i=[];for(let a=0;a<t.geometry.length;a++)Ul(i,t.geometry[a],e,r,t.type==="Polygon",a===0);if(!i.length)return;let n={type:t.type==="Polygon"?3:2,tags:t.tags||null,geometry:i};t.id!==null&&(n.id=t.id),e.features.push(n)}function p2(e,t,r){let i=[];for(let a=0;a<t.geometry.length;a++){let s=t.geometry[a];for(let o=0;o<s.length;o++)Ul(i,s[o],e,r,!0,o===0)}if(!i.length)return;let n={type:3,tags:t.tags||null,geometry:i};t.id!==null&&(n.id=t.id),e.features.push(n)}function Ul(e,t,r,i,n,a){let s=i*i;if(i>0&&t.size<(n?s:i)){r.numPoints+=t.points.length/3;return}let o=[];for(let l=0;l<t.points.length;l+=3)(i===0||t.points[l+2]>s)&&(r.numSimplified++,o.push(t.points[l],t.points[l+1])),r.numPoints++;n&&f2(o,a),e.push(o)}function f2(e,t){let r=0;for(let i=0,n=e.length,a=n-2;i<n;a=i,i+=2)r+=(e[i]-e[a])*(e[i+1]+e[a+1]);if(r>0===t)for(let i=0,n=e.length;i<n/2;i+=2){let a=e[i],s=e[i+1];e[i]=e[n-2-i],e[i+1]=e[n-1-i],e[n-2-i]=a,e[n-1-i]=s}}function Uh(e,t){if(e.transformed)return e;let r=1<<e.z,i=e.x,n=e.y;for(let a of e.features)a.type===1?d2(a,t,r,i,n):y2(a,t,r,i,n);return e.transformed=!0,e}function d2(e,t,r,i,n){let a=e,s=e.geometry,o=[];for(let l=0;l<s.length;l+=2)o.push(od(s[l],s[l+1],t,r,i,n));return a.geometry=o,a}function y2(e,t,r,i,n){let a=e,s=e.geometry,o=[];for(let l of s){let u=[];for(let h=0;h<l.length;h+=2)u.push(od(l[h],l[h+1],t,r,i,n));o.push(u)}return a.geometry=o,a}function od(e,t,r,i,n,a){return[Math.round(r*(e*i-n)),Math.round(r*(t*i-a))]}var m2=class{constructor(e){this.options=e,this.total=0,this.stats={},this.tiles={},this.tileCoords=[],this.stats={},this.total=0}initialize(e){this.splitTile(e,0,0,0),this.options.debug&&(e.length&&console.log("features: %d, points: %d",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd("generate tiles"),console.log("tiles generated:",this.total,JSON.stringify(this.stats)))}updateIndex(e,t,r){r.debug>1&&(console.log("invalidating tiles"),console.time("invalidating")),this.invalidateTiles(t),r.debug>1&&console.timeEnd("invalidating");let[i,n,a]=[0,0,0],s=Nh(e,i,n,a,r);s.source=e;let o=Xn(i,n,a);if(this.tiles[o]=s,this.tileCoords.push({z:i,x:n,y:a,id:o}),r.debug){let l=`z${i}`;this.stats[l]=(this.stats[l]||0)+1,this.total++}}getClusterExpansionZoom(e){return null}getChildren(e){return null}getLeaves(e,t,r){return null}getTile(e,t,r){let{extent:i,debug:n}=this.options,a=1<<e;t=t+a&a-1;let s=Xn(e,t,r);if(this.tiles[s])return Uh(this.tiles[s],i);n>1&&console.log("drilling down to z%d-%d-%d",e,t,r);let o=e,l=t,u=r,h;for(;!h&&o>0;)o--,l>>=1,u>>=1,h=this.tiles[Xn(o,l,u)];return!(h!=null&&h.source)||(n>1&&(console.log("found parent tile z%d-%d-%d",o,l,u),console.time("drilling down")),this.splitTile(h.source,o,l,u,e,t,r),n>1&&console.timeEnd("drilling down"),!this.tiles[s])?null:Uh(this.tiles[s],i)}splitTile(e,t,r,i,n,a,s){let o=[e,t,r,i],l=this.options,u=l.debug;for(;o.length;){i=o.pop(),r=o.pop(),t=o.pop(),e=o.pop();let h=1<<t,c=Xn(t,r,i),p=this.tiles[c];if(!p&&(u>1&&console.time("creation"),p=this.tiles[c]=Nh(e,t,r,i,l),this.tileCoords.push({z:t,x:r,y:i,id:c}),u)){u>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",t,r,i,p.numFeatures,p.numPoints,p.numSimplified),console.timeEnd("creation"));let S=`z${t}`;this.stats[S]=(this.stats[S]||0)+1,this.total++}if(p.source=e,n==null){if(t===l.indexMaxZoom||p.numPoints<=l.indexMaxPoints)continue}else{if(t===l.maxZoom||t===n)continue;if(n!=null){let S=n-t;if(r!==a>>S||i!==s>>S)continue}}if(p.source=null,!e.length)continue;u>1&&console.time("clipping");let f=.5*l.buffer/l.extent,d=.5-f,y=.5+f,m=1+f,g=null,x=null,v=null,b=null,w=kt(e,h,r-f,r+y,0,p.minX,p.maxX,l),_=kt(e,h,r+d,r+m,0,p.minX,p.maxX,l);w&&(g=kt(w,h,i-f,i+y,1,p.minY,p.maxY,l),x=kt(w,h,i+d,i+m,1,p.minY,p.maxY,l)),_&&(v=kt(_,h,i-f,i+y,1,p.minY,p.maxY,l),b=kt(_,h,i+d,i+m,1,p.minY,p.maxY,l)),u>1&&console.timeEnd("clipping"),o.push(g||[],t+1,r*2,i*2),o.push(x||[],t+1,r*2,i*2+1),o.push(v||[],t+1,r*2+1,i*2),o.push(b||[],t+1,r*2+1,i*2+1)}}invalidateTiles(e){if(!e.length)return;let t=this.options,{debug:r}=t,i=1/0,n=-1/0,a=1/0,s=-1/0;for(let u of e)i=Math.min(i,u.minX),n=Math.max(n,u.maxX),a=Math.min(a,u.minY),s=Math.max(s,u.maxY);let o=t.buffer/t.extent,l=new Set;for(let u in this.tiles){let h=this.tiles[u],c=1<<h.z,p=(h.x-o)/c,f=(h.x+1+o)/c,d=(h.y-o)/c,y=(h.y+1+o)/c;if(n<p||i>=f||s<d||a>=y)continue;let m=!1;for(let g of e)if(g.maxX>=p&&g.minX<f&&g.maxY>=d&&g.minY<y){m=!0;break}if(m){if(r){r>1&&console.log("invalidate tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",h.z,h.x,h.y,h.numFeatures,h.numPoints,h.numSimplified);let g=`z${h.z}`;this.stats[g]=(this.stats[g]||0)-1,this.total--}delete this.tiles[u],l.add(u)}}l.size&&(this.tileCoords=this.tileCoords.filter(u=>!l.has(u.id)))}};function Xn(e,t,r){return((1<<e)*r+t)*32+e}const g2={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,updateable:!1,cluster:!1,clusterOptions:No,debug:0};var x2=class{constructor(e,t){t=this.options=Object.assign({},g2,t);let r=t.debug;if(r&&console.time("preprocess data"),t.maxZoom<0||t.maxZoom>24)throw Error("maxZoom should be in the 0-24 range");if(t.promoteId&&t.generateId)throw Error("promoteId and generateId cannot be used together.");let i=Ll(e,t);r&&(console.timeEnd("preprocess data"),console.log("index: maxZoom: %d, maxPoints: %d",t.indexMaxZoom,t.indexMaxPoints),console.time("generate tiles")),i=$l(i,t),t.updateable&&(this.source=i),this.initializeIndex(i,t)}initializeIndex(e,t){this.tileIndex=t.cluster?new a2(t.clusterOptions):new m2(t),e.length&&this.tileIndex.initialize(e)}getTile(e,t,r){return e=+e,t=+t,r=+r,e<0||e>24?null:this.tileIndex.getTile(e,t,r)}updateData(e,t){let r=this.options;if(!r.updateable)throw Error("to update tile geojson `updateable` option must be set to true");let{affected:i,source:n}=t2(this.source,e,r);t&&({affected:i,source:n}=this.filterUpdate(n,i,t)),i.length&&(this.source=n,this.tileIndex.updateIndex(n,i,r))}filterUpdate(e,t,r){let i=new Set;for(let n of e)n.id!=null&&(r(Sa(n))||(t.push(n),i.add(n.id)));return e=e.filter(n=>!i.has(n.id)),{affected:t,source:e}}getData(){if(!this.options.updateable)throw Error("to retrieve data the `updateable` option must be set to true");return jx(this.source)}updateClusterOptions(e,t){let r=this.options.cluster;if(this.options.cluster=e,this.options.clusterOptions=t,r==e){this.tileIndex.updateIndex(this.source,[],this.options);return}this.initializeIndex(this.source,this.options)}getClusterExpansionZoom(e){return this.tileIndex.getClusterExpansionZoom(e)}getClusterChildren(e){return this.tileIndex.getChildren(e)}getClusterLeaves(e,t,r){return this.tileIndex.getLeaves(e,t,r)}};const v2=Se([{name:"a_pos_normal",components:2,type:"Int16"},{name:"a_data",components:4,type:"Uint8"}],4),b2=v2.members,w2=Se([{name:"a_uv_x",components:1,type:"Float32"},{name:"a_split_index",components:1,type:"Float32"}]),D2=w2.members,_2=Math.cos(75/2*(Math.PI/180)),ld=1/2,qh=2**14/ld;var ud=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(t=>t.id),this.index=e.index,this.hasDependencies=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={};for(let t of this.layers)this.gradients[t.id]={};this.layoutVertexArray=new kg,this.layoutVertexArray2=new Ig,this.indexArray=new mn,this.programConfigurations=new gr(e.layers,e.zoom),this.segments=new tt,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(t=>t.isStateDependent()).map(t=>t.id)}populate(e,t,r){this.hasDependencies=ba("line",this.layers,t)||this.hasLineDasharray(this.layers);let i=this.layers[0].layout.get("line-sort-key"),n=!i.isConstant(),a=[],s=new se(this.zoom),o=this.layers[0]._featureFilter.needGeometry;for(let{feature:l,id:u,index:h,sourceLayerIndex:c}of e){let p=si(l,o);if(!this.layers[0]._featureFilter.filter(s,p,r))continue;let f=n?i.evaluate(p,{},r):void 0,d={id:u,properties:l.properties,type:l.type,sourceLayerIndex:c,index:h,geometry:o?p.geometry:wr(l),patterns:{},dashes:{},sortKey:f};a.push(d)}n&&a.sort((l,u)=>l.sortKey-u.sortKey);for(let l of a){let{geometry:u,index:h,sourceLayerIndex:c}=l;this.hasDependencies?(ba("line",this.layers,t)?Pl("line",this.layers,l,{zoom:this.zoom},t):this.hasLineDasharray(this.layers)&&this.addLineDashDependencies(this.layers,l,this.zoom,t),this.patternFeatures.push(l)):this.addFeature(l,u,h,r,{},{},t.subdivisionGranularity);let p=e[h].feature;t.featureIndex.insert(p,u,h,c,this.index)}}update(e,t,r,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:r,dashPositions:i})}addFeatures({options:e,canonical:t,patternPositions:r,dashPositions:i}){for(let n of this.patternFeatures)this.addFeature(n,n.geometry,n.index,t,r,i,e.subdivisionGranularity)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=e.createVertexBuffer(this.layoutVertexArray2,D2)),this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,b2),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(e){if(e.properties&&Object.hasOwn(e.properties,"geojsonvt_clip_start")&&Object.hasOwn(e.properties,"geojsonvt_clip_end"))return{start:+e.properties[ad],end:+e.properties[sd]}}addFeature(e,t,r,i,n,a,s){let o=this.layers[0].layout,l=o.get("line-join").evaluate(e,{}),u=o.get("line-cap").evaluate(e,{}),h=o.get("line-miter-limit").evaluate(e,{}),c=o.get("line-round-limit").evaluate(e,{});this.lineClips=this.lineFeatureClips(e);for(let p of t)this.addLine(p,e,l,u,h,c,i,s);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,r,{imagePositions:n,dashPositions:a,canonical:i})}addLine(e,t,r,i,n,a,s,o){this.distance=0,this.scaledDistance=0,this.totalDistance=0;let l=s?o.line.getGranularityForZoomLevel(s.z):1;if(e=ur(e,l),this.lineClips){this.lineClipsArray.push(this.lineClips);for(let v=0;v<e.length-1;v++)this.totalDistance+=e[v].dist(e[v+1]);this.updateScaledDistance(),this.maxLineLength=Math.max(this.maxLineLength,this.totalDistance)}let u=gn.types[t.type]==="Polygon",h=e.length;for(;h>=2&&e[h-1].equals(e[h-2]);)h--;let c=0;for(;c<h-1&&e[c].equals(e[c+1]);)c++;if(h-c<(u?3:2))return;r==="bevel"&&(n=1.05);let p=this.overscaling<=16?15*xe/(512*this.overscaling):0,f=this.segments.prepareSegment(h*10,this.layoutVertexArray,this.indexArray),d,y,m,g,x;this.e1=this.e2=-1,u&&(d=e[h-2],x=e[c].sub(d)._unit()._perp());for(let v=c;v<h;v++){if(m=v===h-1?u?e[c+1]:void 0:e[v+1],m&&e[v].equals(m))continue;x&&(g=x),d&&(y=d),d=e[v],x=m?m.sub(d)._unit()._perp():g,g||(g=x);let b=g.add(x);(b.x!==0||b.y!==0)&&b._unit();let w=g.x*x.x+g.y*x.y,_=b.x*x.x+b.y*x.y,S=_===0?1/0:1/_,A=2*Math.sqrt(2-2*_),T=_<_2&&y&&m,L=g.x*x.y-g.y*x.x>0;if(T&&v>c){let V=d.dist(y);if(V>2*p){let F=d.sub(d.sub(y)._mult(p/V)._round());this.updateDistance(y,F),this.addCurrentVertex(F,g,0,0,f),y=F}}let O=y&&m,P=O?r:u?"butt":i;if(O&&P==="round"&&(S<a?P="miter":S<=2&&(P="fakeround")),P==="miter"&&S>n&&(P="bevel"),P==="bevel"&&(S>2&&(P="flipbevel"),S<n&&(P="miter")),y&&this.updateDistance(y,d),P==="miter")b._mult(S),this.addCurrentVertex(d,b,0,0,f);else if(P==="flipbevel"){if(S>100)b=x.mult(-1);else{let V=S*g.add(x).mag()/g.sub(x).mag();b._perp()._mult(V*(L?-1:1))}this.addCurrentVertex(d,b,0,0,f),this.addCurrentVertex(d,b.mult(-1),0,0,f)}else if(P==="bevel"||P==="fakeround"){let V=-Math.sqrt(S*S-1),F=L?V:0,$=L?0:V;if(y&&this.addCurrentVertex(d,g,F,$,f),P==="fakeround"){let G=Math.round(A*180/Math.PI/20);for(let M=1;M<G;M++){let z=M/G;if(z!==.5){let fe=z-.5,ue=1.0904+w*(-3.2452+w*(3.55645-w*1.43519)),he=.848013+w*(-1.06021+w*.215638);z+=z*fe*(z-1)*(ue*fe*fe+he)}let te=x.sub(g)._mult(z)._add(g)._unit()._mult(L?-1:1);this.addHalfVertex(d,te.x,te.y,!1,L,0,f)}}m&&this.addCurrentVertex(d,x,-F,-$,f)}else if(P==="butt")this.addCurrentVertex(d,b,0,0,f);else if(P==="square"){let V=y?1:-1;this.addCurrentVertex(d,b,V,V,f)}else P==="round"&&(y&&(this.addCurrentVertex(d,g,0,0,f),this.addCurrentVertex(d,g,1,1,f,!0)),m&&(this.addCurrentVertex(d,x,-1,-1,f,!0),this.addCurrentVertex(d,x,0,0,f)));if(T&&v<h-1){let V=d.dist(m);if(V>2*p){let F=d.add(m.sub(d)._mult(p/V)._round());this.updateDistance(d,F),this.addCurrentVertex(F,x,0,0,f),d=F}}}}addCurrentVertex(e,t,r,i,n,a=!1){let s=t.x+t.y*r,o=t.y-t.x*r,l=-t.x+t.y*i,u=-t.y-t.x*i;this.addHalfVertex(e,s,o,a,!1,r,n),this.addHalfVertex(e,l,u,a,!0,-i,n),this.distance>qh/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(e,t,r,i,n,a))}addHalfVertex({x:e,y:t},r,i,n,a,s,o){let l=(this.lineClips?this.scaledDistance*(qh-1):this.scaledDistance)*ld;if(this.layoutVertexArray.emplaceBack((e<<1)+ +!!n,(t<<1)+ +!!a,Math.round(63*r)+128,Math.round(63*i)+128,(s===0?0:s<0?-1:1)+1|(l&63)<<2,l>>6),this.lineClips){let h=(this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start);this.layoutVertexArray2.emplaceBack(h,this.lineClipsArray.length)}let u=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,u,this.e2),o.primitiveLength++),a?this.e2=u:this.e1=u}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(e,t){this.distance+=e.dist(t),this.updateScaledDistance()}hasLineDasharray(e){for(let t of e){let r=t.paint.get("line-dasharray");if(r&&!r.isConstant())return!0}return!1}addLineDashDependencies(e,t,r,i){for(let n of e){let a=n.paint.get("line-dasharray");if(!a||a.value.kind==="constant")continue;let s=n.layout.get("line-cap").evaluate(t,{})==="round",o={dasharray:a.value.evaluate({zoom:r-1},t,{}),round:s},l={dasharray:a.value.evaluate({zoom:r},t,{}),round:s},u={dasharray:a.value.evaluate({zoom:r+1},t,{}),round:s},h=`${o.dasharray.join(",")},${o.round}`,c=`${l.dasharray.join(",")},${l.round}`,p=`${u.dasharray.join(",")},${u.round}`;i.dashDependencies[h]=o,i.dashDependencies[c]=l,i.dashDependencies[p]=u,t.dashes[n.id]={min:h,mid:c,max:p}}}};C("LineBucket",ud,{omit:["layers","patternFeatures"]});let S2;const A2=()=>S2||(S2=new Ge({"line-cap":new U(D.layout_line["line-cap"],"line-cap"),"line-join":new U(D.layout_line["line-join"],"line-join"),"line-miter-limit":new U(D.layout_line["line-miter-limit"],"line-miter-limit"),"line-round-limit":new U(D.layout_line["line-round-limit"],"line-round-limit"),"line-sort-key":new U(D.layout_line["line-sort-key"],"line-sort-key")}));let E2;const F2=()=>E2||(E2=new Ge({"line-opacity":new U(D.paint_line["line-opacity"],"line-opacity"),"line-layer-opacity":new R(D.paint_line["line-layer-opacity"],"line-layer-opacity"),"line-color":new U(D.paint_line["line-color"],"line-color"),"line-translate":new R(D.paint_line["line-translate"],"line-translate"),"line-translate-anchor":new R(D.paint_line["line-translate-anchor"],"line-translate-anchor"),"line-width":new U(D.paint_line["line-width"],"line-width"),"line-gap-width":new U(D.paint_line["line-gap-width"],"line-gap-width"),"line-offset":new U(D.paint_line["line-offset"],"line-offset"),"line-blur":new U(D.paint_line["line-blur"],"line-blur"),"line-dasharray":new tn(D.paint_line["line-dasharray"],"line-dasharray"),"line-pattern":new tn(D.paint_line["line-pattern"],"line-pattern"),"line-gradient":new $a(D.paint_line["line-gradient"],"line-gradient")}));var jh={get paint(){return F2()},get layout(){return A2()}},T2=class extends U{possiblyEvaluate(e,t){return t=new se(Math.floor(t.zoom),{now:t.now,fadeDuration:t.fadeDuration,zoomHistory:t.zoomHistory,transition:t.transition}),super.possiblyEvaluate(e,t)}evaluate(e,t,r,i){return t=We({},t,{zoom:Math.floor(t.zoom)}),super.evaluate(e,t,r,i)}};let Yn;var k2=class extends dt{constructor(e,t){super(e,jh,t),this.gradientVersion=0,Yn||(Yn=new T2(jh.paint.properties["line-width"].specification,"line-floorwidth"),Yn.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(e){if(e==="line-gradient"){let t=this.gradientExpression();this.stepInterpolant=R1(t)?t._styleExpression.expression instanceof ul:!1,this.gradientVersion=(this.gradientVersion+1)%(2**53-1)}}gradientExpression(){return this._transitionablePaint._values["line-gradient"].value.expression}recalculate(e,t){super.recalculate(e,t),this.paint._values["line-floorwidth"]=Yn.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)}createBucket(e){return new ud(e)}queryRadius(e){let t=e,r=Gh(qr("line-width",this,t),qr("line-gap-width",this,t)),i=qr("line-offset",this,t);return r/2+Math.abs(i)+Ua(this.paint.get("line-translate"))}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:r,geometry:i,transform:n,pixelsToTileUnits:a}){let s=qa(e,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),-n.bearingInRadians,a),o=a/2*Gh(this.paint.get("line-width").evaluate(t,r),this.paint.get("line-gap-width").evaluate(t,r)),l=this.paint.get("line-offset").evaluate(t,r);return l&&(i=Qg(i,l*a)),Yg(s,i,o)}isTileClipped(){return!0}};function Gh(e,t){return t>0?t+2*e:e}const I2=Se([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"},{name:"a_height_offset",components:1,type:"Float32"}],4),C2=Se([{name:"a_projected_pos",components:3,type:"Float32"}],4);Se([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);const B2=Se([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"},{name:"a_box_real",components:2,type:"Int16"}]);Se([{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]);const Xh=Se([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4);Se([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);Se([{name:"triangle",components:3,type:"Uint16"}]),Se([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"vertexStartIndex"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Uint8",name:"writingMode"},{type:"Uint8",name:"placedOrientation"},{type:"Uint8",name:"hidden"},{type:"Uint32",name:"crossTileID"},{type:"Int16",name:"associatedIconIndex"},{type:"Float32",name:"heightOffset"}]),Se([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",name:"collisionCircleDiameter"},{type:"Uint16",name:"textAnchorOffsetStartIndex"},{type:"Uint16",name:"textAnchorOffsetEndIndex"},{type:"Float32",name:"heightOffset"}]),Se([{type:"Float32",name:"offsetX"}]),Se([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]),Se([{type:"Uint16",name:"textAnchor"},{type:"Float32",components:2,name:"textOffset"}]);const ii=new class{constructor(){this.TIMEOUT=5e3,this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus="unavailable",this.pluginURL=null,this.loadScriptResolve=()=>{}}setState(e){this.pluginStatus=e.pluginStatus,this.pluginURL=e.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(e){if(ii.isParsed())throw Error("RTL text plugin already registered.");this.applyArabicShaping=e.applyArabicShaping,this.processBidirectionalText=e.processBidirectionalText,this.processStyledBidirectionalText=e.processStyledBidirectionalText,this.loadScriptResolve()}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getRTLTextPluginStatus(){return this.pluginStatus}async syncState(e,t){if(this.isParsed())return this.getState();if(e.pluginStatus!=="loading")return this.setState(e),e;let r=e.pluginURL,i=new Promise(a=>{this.loadScriptResolve=a}),n=new Promise(a=>setTimeout(()=>a(),this.TIMEOUT));if(await t(r),await Promise.race([i,n]),this.isParsed()){let a={pluginStatus:"loaded",pluginURL:r};return this.setState(a),a}throw this.setState({pluginStatus:"error",pluginURL:""}),Error(`RTL Text Plugin failed to import scripts from ${r}`)}};function P2(e){return/[\u0600-\u0604\u0606-\u060B\u060D-\u061A\u061C-\u061E\u0620-\u063F\u0641-\u064A\u0656-\u066F\u0671-\u06DC\u06DE-\u070D\u070F-\u074A\u074D-\u077F\u07C0-\u07FA\u07FD-\u07FF\u0840-\u085B\u085E\u0860-\u086A\u0870-\u0891\u0897-\u08E1\u08E3-\u08FF\u1800\u1801\u1804\u1806-\u1819\u1820-\u1878\u1880-\u18AA\uA840-\uA877\uFB50-\uFD3D\uFD40-\uFDCF\uFDF0-\uFDFF\uFE70-\uFE74\uFE76-\uFEFC]|\uD802[\uDEC0-\uDEE6\uDEEB-\uDEF6\uDF80-\uDF91\uDF99-\uDF9C\uDFA9-\uDFAF]|\uD803[\uDD00-\uDD27\uDD30-\uDD39\uDE60-\uDE7E\uDEC2-\uDEC7\uDED0-\uDED8\uDEFA-\uDEFF\uDF30-\uDF59\uDF70-\uDF89\uDFB0-\uDFCB]|\uD805[\uDE60-\uDE6C]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9C-\uDC9F]|\uD83A[\uDD00-\uDD4B\uDD50-\uDD59\uDD5E\uDD5F]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB\uDEF0\uDEF1]/gim.test(String.fromCodePoint(e))}function M2(e){return/[\u0591-\u05C7\u05D0-\u05EA\u05EF-\u05F4\u0600-\u0604\u0606-\u060B\u060D-\u061A\u061C-\u061E\u0620-\u063F\u0641-\u064A\u0656-\u066F\u0671-\u06DC\u06DE-\u070D\u070F-\u074A\u074D-\u07B1\u07C0-\u07FA\u07FD-\u082D\u0830-\u083E\u0840-\u085B\u085E\u0860-\u086A\u0870-\u0891\u0897-\u08E1\u08E3-\u08FF\uFB1D-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFD3D\uFD40-\uFDCF\uFDF0-\uFDFF\uFE70-\uFE74\uFE76-\uFEFC]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC57-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD1F-\uDD39\uDD3F-\uDD59\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE38-\uDE3A\uDE3F-\uDE48\uDE50-\uDE58\uDE60-\uDE9F\uDEC0-\uDEE6\uDEEB-\uDEF6\uDF00-\uDF35\uDF39-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDF99-\uDF9C\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD27\uDD30-\uDD39\uDD40-\uDD65\uDD69-\uDD85\uDD8E\uDD8F\uDE60-\uDE7E\uDE80-\uDEA9\uDEAB-\uDEAD\uDEB0\uDEB1\uDEC2-\uDEC7\uDED0-\uDED8\uDEFA-\uDF27\uDF30-\uDF59\uDF70-\uDF89\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCD6\uDD00-\uDD4B\uDD50-\uDD59\uDD5E\uDD5F]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB\uDEF0\uDEF1]/gim.test(String.fromCodePoint(e))}function z2(e){return/[\u02EA\u02EB\u2E80-\u2FDF\u2FF0-\u303F\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FD-\u30FF\u3105-\u312F\u31A0-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uF900-\uFA6D\uFA70-\uFAD9\uFE10-\uFE1F\uFE30-\uFE4F\uFF00-\uFFEF]|\uD81B[\uDFE0-\uDFFF]|[\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFFF]|\uD82C[\uDC00-\uDEFB]|\uD83C[\uDE00-\uDEFF]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79]/gim.test(String.fromCodePoint(e))}function ja(e){return/[\u02EA\u02EB\u1100-\u11FF\u1401-\u167F\u18B0-\u18FF\u2065\u20DD-\u20E0\u20E2-\u20E4\u2B97\u2BF0-\u2BFF\u2E50\u2E51\u2E80-\u3007\u3012\u3013\u3020-\u302F\u3031-\u30FB\u30FD-\uA4CF\uA960-\uA97F\uAC00-\uD7FF\uF900-\uFAFF\uFE10-\uFE1F\uFE30-\uFE48\uFE50-\uFE57\uFE5F-\uFE62\uFE67-\uFE6F\uFF00-\uFF07\uFF0A-\uFF0C\uFF0E-\uFF19\uFF1F-\uFF3A\uFF3C\uFF3E\uFF40-\uFF5A\uFFE0-\uFFE2\uFFE4-\uFFE7\uFFF0-\uFFF8]|\uD802[\uDD80-\uDD9F]|\uD805[\uDD80-\uDDFF]|\uD806[\uDE00-\uDEBF]|[\uD80C-\uD810\uD81C-\uD822\uD83C\uD83D\uD840-\uD87E\uD880-\uD8BE][\uDC00-\uDFFF]|\uD811[\uDC00-\uDE7F]|\uD81B[\uDFE0-\uDFFF]|\uD823[\uDC00-\uDDFF]|\uD82B[\uDFF0-\uDFFF]|\uD82C[\uDC00-\uDEFF]|\uD833[\uDEC0-\uDFCF]|\uD834[\uDC00-\uDDFF\uDEE0-\uDF7F]|\uD836[\uDC00-\uDEAF]|\uD83E[\uDD00-\uDEFF]|[\uD87F\uD8BF][\uDC00-\uDFFD]/gim.test(String.fromCodePoint(e))}function L2(e){return/[\xA7\xA9\xAE\xB1\xBC-\xBE\xD7\xF7\u2016\u2020\u2021\u2030\u2031\u203B\u203C\u2042\u2047-\u2049\u2051\u2100-\u218F\u221E\u2234\u2235\u2300-\u2307\u230C-\u231F\u2324-\u2328\u232B\u237D-\u239A\u23BE-\u23CD\u23CF\u23D1-\u23DB\u23E2-\u2422\u2424-\u24FF\u25A0-\u2619\u2620-\u2767\u2776-\u2793\u2B12-\u2B2F\u2B50-\u2B59\u2BB8-\u2BEB\u3000-\u303F\u30A0-\u30FF\uE000-\uF8FF\uFE30-\uFE6F\uFF00-\uFFEF\uFFFC\uFFFD]|[\uDB80-\uDBFF][\uDC00-\uDFFF]/gim.test(String.fromCodePoint(e))}function V2(e){return/[\r\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0600-\u0605\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DD\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u070F\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0890\u0891\u0897-\u089F\u08CA-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D62\u0D63\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E33-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB3-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1037\u1039-\u103E\u1056-\u1059\u105E-\u1060\u1071-\u1074\u1082\u1084-\u1086\u108D\u109D\u1100-\u11FF\u135D-\u135F\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60\u1A62\u1A65-\u1A7C\u1A7F\u1AB0-\u1ADD\u1AE0-\u1AEB\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA960-\uA97C\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFF9E\uFF9F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDD69-\uDD6D\uDEAB\uDEAC\uDEFA-\uDEFF\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC82\uDCB0-\uDCBA\uDCBD\uDCC2\uDCCD\uDD00-\uDD02\uDD27-\uDD34\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC2\uDDC3\uDDC9-\uDDCC\uDDCE\uDDCF\uDE2C-\uDE37\uDE3E\uDE41\uDEDF-\uDEEA\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74\uDFB8-\uDFC0\uDFC2\uDFC5\uDFC7-\uDFCA\uDFCC-\uDFD2\uDFE1\uDFE2]|\uD805[\uDC35-\uDC46\uDC5E\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDEAB-\uDEB7\uDF1D-\uDF1F\uDF22-\uDF2B]|\uD806[\uDC2C-\uDC3A\uDD30-\uDD35\uDD37\uDD38\uDD3B-\uDD43\uDDD1-\uDDD7\uDDDA-\uDDE0\uDDE4\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE84-\uDE99\uDF60-\uDF67]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDEF3-\uDEF6\uDF00-\uDF03\uDF34-\uDF3A\uDF3E-\uDF42\uDF5A]|\uD80D[\uDC40\uDC47-\uDC55]|\uD818[\uDD1E-\uDD2F]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDD63\uDD67-\uDD6A\uDF4F\uDF51-\uDF87\uDF8F-\uDF92\uDFE4\uDFF0\uDFF1]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDC8F\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD839[\uDCEC-\uDCEF\uDDEE\uDDEF\uDEE3\uDEE6\uDEEE\uDEEF\uDEF5]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uD83C[\uDDE6-\uDDFF\uDFFB-\uDFFF]|\uDB40[\uDC20-\uDC7F\uDD00-\uDDEF]/.test(e)}function Yh(e){return/[\u0E01-\u0E3A\u0E40-\u0E4E\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECE\u0EDC-\u0EDF\u0F00-\u0F47\u0F49-\u0F6C\u0F71-\u0F97\u0F99-\u0FBC\u0FBE-\u0FCC\u0FCE-\u0FD4\u0FD9\u0FDA\u1000-\u103F\u1050-\u108F\u109A-\u109F\u1780-\u17D3\u17D7\u17DC\u17DD\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19DE\u19DF\u1A20-\u1A5E\u1A60-\u1A7C\u1AA0-\u1AAD\u1B00-\u1B4C\u1B4E-\u1B7F\uA980-\uA9CD\uA9D0-\uA9D9\uA9DE-\uA9EF\uA9FA-\uA9FE\uAA60-\uAAC2\uAADB-\uAADF]|\uD805[\uDF00-\uDF1A\uDF1D-\uDF2B\uDF3A\uDF3B\uDF3F-\uDF46]/gim.test(String.fromCodePoint(e))}function O2(e,t){return/(?:[\u1039\u17D2\u1A60\u1BAB\u200D\uAAF6]|\uD802\uDE3F|\uD804[\uDD33\uDFD0]|\uD806[\uDD3E\uDE47\uDE99]|\uD807[\uDD45\uDD97\uDF42])$/.test(e)||new RegExp("^\\p{gc=Mc}","u").test(t)}const R2={C:"18g,1;g2,3;4nb,1",D:"17k,1;5,1;1,1;1,5;4,d;1,7;1,2;z,2;8,g;i,12;1,2;9,1;1,1;1,2;14,3;2,1;28,9;3,f;2,4;1,1;2,3;2,6;7a,1;2,5;1,1;g,a;5,2;2,6;1,f",R:"17m,4;1,1;1,1;5,4;l,1;14,3;1,3;g,i;12,1;2,9;1,1;1,1;2,2;1,1;o,2;2x,3;f,2;4,1;1,2;3,2;6u,j;b,1;r,3;1,1;2,2;6,1",T:"174,b;1,1;1a,l;g,1;2t,7;2,6;2,2;1,4;bt,9;16,o;1,t;1clb,1"},$2={1569:[65152,0,0,0],1570:[65153,65154,0,0],1571:[65155,65156,0,0],1572:[65157,65158,0,0],1573:[65159,65160,0,0],1574:[65161,65162,65163,65164],1575:[65165,65166,0,0],1576:[65167,65168,65169,65170],1577:[65171,65172,0,0],1578:[65173,65174,65175,65176],1579:[65177,65178,65179,65180],1580:[65181,65182,65183,65184],1581:[65185,65186,65187,65188],1582:[65189,65190,65191,65192],1583:[65193,65194,0,0],1584:[65195,65196,0,0],1585:[65197,65198,0,0],1586:[65199,65200,0,0],1587:[65201,65202,65203,65204],1588:[65205,65206,65207,65208],1589:[65209,65210,65211,65212],1590:[65213,65214,65215,65216],1591:[65217,65218,65219,65220],1592:[65221,65222,65223,65224],1593:[65225,65226,65227,65228],1594:[65229,65230,65231,65232],1601:[65233,65234,65235,65236],1602:[65237,65238,65239,65240],1603:[65241,65242,65243,65244],1604:[65245,65246,65247,65248],1605:[65249,65250,65251,65252],1606:[65253,65254,65255,65256],1607:[65257,65258,65259,65260],1608:[65261,65262,0,0],1609:[65263,65264,64488,64489],1610:[65265,65266,65267,65268],1611:[65136,0,0,65137],1612:[65138,0,0,0],1613:[65140,0,0,0],1614:[65142,0,0,65143],1615:[65144,0,0,65145],1616:[65146,0,0,65147],1617:[65148,0,0,65149],1618:[65150,0,0,65151],1649:[64336,64337,0,0],1655:[64477,0,0,0],1657:[64358,64359,64360,64361],1658:[64350,64351,64352,64353],1659:[64338,64339,64340,64341],1662:[64342,64343,64344,64345],1663:[64354,64355,64356,64357],1664:[64346,64347,64348,64349],1667:[64374,64375,64376,64377],1668:[64370,64371,64372,64373],1670:[64378,64379,64380,64381],1671:[64382,64383,64384,64385],1672:[64392,64393,0,0],1676:[64388,64389,0,0],1677:[64386,64387,0,0],1678:[64390,64391,0,0],1681:[64396,64397,0,0],1688:[64394,64395,0,0],1700:[64362,64363,64364,64365],1702:[64366,64367,64368,64369],1705:[64398,64399,64400,64401],1709:[64467,64468,64469,64470],1711:[64402,64403,64404,64405],1713:[64410,64411,64412,64413],1715:[64406,64407,64408,64409],1722:[64414,64415,0,0],1723:[64416,64417,64418,64419],1726:[64426,64427,64428,64429],1728:[64420,64421,0,0],1729:[64422,64423,64424,64425],1733:[64480,64481,0,0],1734:[64473,64474,0,0],1735:[64471,64472,0,0],1736:[64475,64476,0,0],1737:[64482,64483,0,0],1739:[64478,64479,0,0],1740:[64508,64509,64510,64511],1744:[64484,64485,64486,64487],1746:[64430,64431,0,0],1747:[64432,64433,0,0]},N2={لآ:[65269,65270],لأ:[65271,65272],لإ:[65273,65274],لا:[65275,65276]},Wh=1604,U2=/[\u0600-\u06ff\u0750-\u077f\u0870-\u089f\u08a0-\u08ff\ufb50-\ufdff\ufe70-\ufeff]/;function q2(e,t,r){let i=0;for(let n of e.split(";")){let[a,s]=n.split(",").map(l=>parseInt(l,36)),o=i+a;for(let l=o;l<o+s;l++)r.set(l,t);i=o+s}}const hd=new Map;for(let[e,t]of Object.entries(R2))q2(t,e,hd);function j2(e){return hd.get(e)??"U"}function G2(e){return e==="D"||e==="L"||e==="C"}function X2(e){return e==="D"||e==="R"||e==="C"}function Y2(e,t,r){return e==="D"?t&&r?3:t?1:r?2:0:e==="R"?+!!t:e==="L"?r?2:0:null}function W2(e){return[...e].map(t=>{let r=t.codePointAt(0);return{codePoint:r,type:j2(r),form:null}})}function Z2(e){let t=e.filter(r=>r.type!=="T");for(let r=0;r<t.length;r++){let i=t[r],n=r>0&&G2(t[r-1].type),a=r+1<t.length&&X2(t[r+1].type);i.form=Y2(i.type,n,a)}}function H2(e){let t=!1;for(let r of e)r.type==="T"?r.form=t?3:0:t=r.form===2||r.form===3}function K2(e){let t=[];for(let r=0;r<e.length;r++){let i=e[r];if(i.codePoint!==Wh){t.push(i);continue}let n=r+1;for(;n<e.length&&e[n].type==="T";)n++;let a=e[n],s=a&&N2[String.fromCodePoint(Wh,a.codePoint)];if(!s){t.push(i);continue}let o=i.form===3||i.form===1;t.push({codePoint:s[+!!o],type:"R",form:0}),t.push(...e.slice(r+1,n)),r=n}return t}function J2(e){if(e.form===null)return e.codePoint;let t=$2[e.codePoint];return t&&(t[e.form]||t[0])||e.codePoint}function Q2(e){if(!U2.test(e))return e;let t=W2(e);return Z2(t),H2(t),K2(t).map(r=>String.fromCodePoint(J2(r))).join("")}function ev(e,t,r){let i=t.layout.get("text-transform").evaluate(r,{});return i==="uppercase"?e=e.toLocaleUpperCase():i==="lowercase"&&(e=e.toLocaleLowerCase()),(ii.applyArabicShaping??Q2)(e)}function tv(e,t,r){for(let i of e.sections)i.text=ev(i.text,t,r);return e}function Os(e,t,r){let i=r?t.last.points:t.first.points,n=r?i[i.length-1]:i[0];return`${e}:${n.x}:${n.y}`}function rv(e){let t=e.first.points,r=t.length;for(let a=e.first.next;a;a=a.next)r+=a.points.length-1;let i=Array(r);for(let a=0;a<t.length;a++)i[a]=t[a];let n=t.length;for(let a=e.first.next;a;a=a.next){let s=a.points;for(let o=1;o<s.length;o++)i[n++]=s[o]}return i}function Zh(e,t,r,i,n){let a=t[r];delete t[r],t[i]=a;let s=e[a];return s.last.next=n.first,s.last=n.last,a}function Hh(e,t,r,i,n){let a=t[i];delete t[i],t[r]=a;let s=e[a];return n.last.next=s.first,s.first=n.first,a}function iv(e){let t={},r={},i=[];for(let a of e){let s=a.text?a.text.toString():null,o={points:a.geometry[0],next:null},l={feature:a,first:o,last:o};if(!s){i.push(l);continue}let u=Os(s,l),h=Os(s,l,!0);if(u in r&&h in t&&r[u]!==t[h]){let c=Hh(i,t,u,h,l),p=Zh(i,r,u,h,i[c]);delete t[u],delete r[h],r[Os(s,i[p],!0)]=p,i[c].feature.geometry=null}else if(u in r)Zh(i,r,u,h,l);else if(h in t)Hh(i,t,u,h,l);else{let c=i.push(l)-1;t[u]=c,r[h]=c}}let n=[];for(let a of i){let s=a.feature;s.geometry&&(a.first.next&&(s.geometry[0]=rv(a)),n.push(s))}return n}const cd=typeof Intl<"u"&&"Segmenter"in Intl;let Kh,Jh;function Uo(e){if(!cd||!V2(e))return[...e];Kh??(Kh=new Intl.Segmenter(void 0,{granularity:"grapheme"}));let t=[];for(let{segment:r}of Kh.segment(e)){let i=t.length-1;i>=0&&O2(t[i],r)?t[i]+=r:t.push(r)}return t}function nv(e){let t=new Set;if(cd){Jh??(Jh=new Intl.Segmenter(void 0,{granularity:"word"}));for(let{index:i}of Jh.segment(e))t.add(i);return t}let r=0;for(let i of e.split(new RegExp("\\b|(?=\\p{Ideo})","u")))t.add(r),r+=i.length;return t}function pd(e){let t=e.codePointAt(0);return e.length>(t>65535?2:1)}function ql(e){return/\s/u.test(String.fromCodePoint(e))}function qo(e){for(let t of e)if(ja(t.codePointAt(0)))return!0;return!1}function av(e){for(let t of e)if(!sv(t.codePointAt(0)))return!1;return!0}function sv(e){return!P2(e)}function Qh(e){return!(ja(e)||L2(e))}function fd(e){return new RegExp("\\p{sc=Arab}","u").test(String.fromCodePoint(e))}function dd(e){return M2(e)}function yd(e){for(let t of e)if(dd(t.codePointAt(0)))return!0;return!1}const $r={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","⋯":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};function ov(e){let t="",r={premature:!0,value:void 0},i=e[Symbol.iterator](),n=i.next(),a=e[Symbol.iterator]();a.next();let s=a.next();for(;!n.done;)(s.done||!Qh(s.value.codePointAt(0))||$r[s.value])&&(r.premature||!Qh(r.value.codePointAt(0))||$r[r.value])&&$r[n.value]?t+=$r[n.value]:t+=n.value,r={value:n.value,premature:!1},n=i.next(),s=a.next();return t}const lv={10:!0,13:!0,32:!0,38:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0},uv={40:!0};function ec(e,t,r,i,n,a){var s;if("fontStack"in t){let o=(s=r[t.fontStack])==null?void 0:s.default,l=o==null?void 0:o[e];if(l)return l.metrics.advance*t.scale+n;let u=0;for(let h of e){let c=o==null?void 0:o[h];c&&(u+=c.metrics.advance*t.scale+n)}return u}{let o=i[t.imageName];return o?o.displaySize[0]*t.scale*24/a+n:0}}function tc(e,t,r,i){let n=(e-t)**2;return i?e<t?n/2:n*2:n+Math.abs(r)*r}function rc(e){return/^\s+$/u.test(e)}function hv(e,t,r){let i=0;return(e===10||e===13)&&(i-=1e4),r&&(i+=150),(e===40||e===65288)&&(i+=50),(t===41||t===65289)&&(i+=50),i}function ic(e,t,r,i,n,a){let s=null,o=tc(t,r,n,a);for(let l of i){let u=tc(t-l.x,r,n,a)+l.badness;u<=o&&(s=l,o=u)}return{index:e,x:t,priorBreak:s,badness:o}}function md(e){return e?md(e.priorBreak).concat(e.index):[]}var jl=class jo{constructor(t="",r=[],i=[]){this.text=t,this.sections=r,this.sectionIndex=i,this.imageSectionID=null,this._graphemes=null}graphemes(){return this._graphemes??(this._graphemes=Uo(this.text)),this._graphemes}static fromFeature(t,r){let i=new jo;for(let n of t.sections)n.image?i.addImageSection(n):i.addTextSection(n,r);return i}length(){return this.graphemes().length}getSection(t){return this.sections[this.sectionIndex[t]]}getSectionIndex(t){return this.sectionIndex[t]}verticalizePunctuation(){this.text=ov(this.text),this._graphemes=null}hasZeroWidthSpaces(){return this.text.includes("​")}trim(){let t=this.graphemes(),r=0;for(;r<t.length&&rc(t[r]);)r++;let i=t.length;for(;i>r&&rc(t[i-1]);)i--;this.text=t.slice(r,i).join(""),this.sectionIndex=this.sectionIndex.slice(r,i),this._graphemes=null}substring(t,r){let i=this.graphemes().slice(t,r).join(""),n=this.sectionIndex.slice(t,r);return new jo(i,this.sections,n)}toCodeUnitIndex(t){return this.graphemes().slice(0,t).join("").length}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((t,r)=>Math.max(t,this.sections[r].scale),0)}getMaxImageSize(t){let r=0,i=0;for(let n=0;n<this.length();n++){let a=this.getSection(n);if("imageName"in a){let s=t[a.imageName];if(!s)continue;let o=s.displaySize;r=Math.max(r,o[0]),i=Math.max(i,o[1])}}return{maxImageWidth:r,maxImageHeight:i}}_appendSection(t,r){let i=this.graphemes(),n=i.length>0?i[i.length-1]:"",a=Uo(n+t);this.text+=t,this._graphemes=i.slice(0,n?-1:void 0).concat(a);let s=a.length-+!!n;for(let o=0;o<s;o++)this.sectionIndex.push(r)}addTextSection(t,r){this.sections.push({scale:t.scale||1,verticalAlign:t.verticalAlign||"bottom",fontStack:t.fontStack||r}),this._appendSection(t.text,this.sections.length-1)}addImageSection(t){let r=t.image?t.image.name:"";if(r.length===0){Be("Can't add FormattedSection with an empty image.");return}let i=this.getNextImageSectionCharCode();if(!i){Be("Reached maximum number of images 6401");return}this.sections.push({scale:1,verticalAlign:t.verticalAlign||"bottom",imageName:r}),this._appendSection(String.fromCharCode(i),this.sections.length-1)}getNextImageSectionCharCode(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}determineLineBreaks(t,r,i,n,a){let s=[],o=this.determineAverageLineWidth(t,r,i,n,a),l=this.hasZeroWidthSpaces(),u=this.graphemes(),h=null,c=0,p=0;for(let f=0;f<u.length;f++){let d=u[f];if(f>0){let y=u[f-1].codePointAt(0),m=d.codePointAt(0),g=z2(y),x=Yh(y)&&Yh(m);(lv[y]||g||"imageName"in this.getSection(f-1)||u[f+1]!==void 0&&uv[m]||x&&(h??(h=nv(this.text))).has(p))&&s.push(ic(f,c,o,s,hv(y,m,g&&l),!1))}ql(d.codePointAt(0))||(c+=ec(d,this.getSection(f),i,n,t,a)),p+=d.length}return md(ic(this.length(),c,o,s,0,!0))}determineAverageLineWidth(t,r,i,n,a){let s=0,o=0;for(let u of this.graphemes()){let h=this.getSection(o);s+=ec(u,h,i,n,t,a),o++}let l=Math.max(1,Math.ceil(s/r));return s/l}};function cv(){return(function(e){var t={R:"13k,1a,2,3,3,2+1j,ch+16,a+1,5+2,2+n,5,a,4,6+16,4+3,h+1b,4mo,179q,2+9,2+11,2i9+7y,2+68,4,3+4,5+13,4+3,2+4k,3+29,8+cf,1t+7z,w+17,3+3m,1t+3z,16o1+5r,8+30,8+mc,29+1r,29+4v,75+73",EN:"1c+9,3d+1,6,187+9,513,4+5,7+9,sf+j,175h+9,qw+q,161f+1d,4xt+a,25i+9",ES:"17,2,6dp+1,f+1,av,16vr,mx+1,4o,2",ET:"z+2,3h+3,b+1,ym,3e+1,2o,p4+1,8,6u,7c,g6,1wc,1n9+4,30+1b,2n,6d,qhx+1,h0m,a+1,49+2,63+1,4+1,6bb+3,12jj",AN:"16o+5,2j+9,2+1,35,ed,1ff2+9,87+u",CS:"18,2+1,b,2u,12k,55v,l,17v0,2,3,53,2+1,b",B:"a,3,f+2,2v,690",S:"9,2,k",WS:"c,k,4f4,1vk+a,u,1j,335",ON:"x+1,4+4,h+5,r+5,r+3,z,5+3,2+1,2+1,5,2+2,3+4,o,w,ci+1,8+d,3+d,6+8,2+g,39+1,9,6+1,2,33,b8,3+1,3c+1,7+1,5r,b,7h+3,sa+5,2,3i+6,jg+3,ur+9,2v,ij+1,9g+9,7+a,8m,4+1,49+x,14u,2+2,c+2,e+2,e+2,e+1,i+n,e+e,2+p,u+2,e+2,36+1,2+3,2+1,b,2+2,6+5,2,2,2,h+1,5+4,6+3,3+f,16+2,5+3l,3+81,1y+p,2+40,q+a,m+13,2r+ch,2+9e,75+hf,3+v,2+2w,6e+5,f+6,75+2a,1a+p,2+2g,d+5x,r+b,6+3,4+o,g,6+1,6+2,2k+1,4,2j,5h+z,1m+1,1e+f,t+2,1f+e,d+3,4o+3,2s+1,w,535+1r,h3l+1i,93+2,2s,b+1,3l+x,2v,4g+3,21+3,kz+1,g5v+1,5a,j+9,n+v,2,3,2+8,2+1,3+2,2,3,46+1,4+4,h+5,r+5,r+a,3h+2,4+6,b+4,78,1r+24,4+c,4,1hb,ey+6,103+j,16j+c,1ux+7,5+g,fsh,jdq+1t,4,57+2e,p1,1m,1m,1m,1m,4kt+1,7j+17,5+2r,d+e,3+e,2+e,2+10,m+4,w,1n+5,1q,4z+5,4b+rb,9+c,4+c,4+37,d+2g,8+b,l+b,5+1j,9+9,7+13,9+t,3+1,27+3c,2+29,2+3q,d+d,3+4,4+2,6+6,a+o,8+6,a+2,e+6,16+42,2+1i",BN:"0+8,6+d,2s+5,2+p,e,4m9,1kt+2,2b+5,5+5,17q9+v,7k,6p+8,6+1,119d+3,440+7,96s+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+75,6p+2rz,1ben+1,1ekf+1,1ekf+1",NSM:"lc+33,7o+6,7c+18,2,2+1,2+1,2,21+a,1d+k,h,2u+6,3+5,3+1,2+3,10,v+q,2k+a,1n+8,a,p+3,2+8,2+2,2+4,18+2,3c+e,2+v,1k,2,5+7,5,4+6,b+1,u,1n,5+3,9,l+1,r,3+1,1m,5+1,5+1,3+2,4,v+1,4,c+1,1m,5+4,2+1,5,l+1,n+5,2,1n,3,2+3,9,8+1,c+1,v,1q,d,1f,4,1m+2,6+2,2+3,8+1,c+1,u,1n,g+1,l+1,t+1,1m+1,5+3,9,l+1,u,21,8+2,2,2j,3+6,d+7,2r,3+8,c+5,23+1,s,2,2,1k+d,2+4,2+1,6+a,2+z,a,2v+3,2+5,2+1,3+1,q+1,5+2,h+3,e,3+1,7,g,jk+2,qb+2,u+2,u+1,v+1,1t+1,2+6,9,3+a,a,1a+2,3c+1,z,3b+2,5+1,a,7+2,64+1,3,1n,2+6,2,2,3+7,7+9,3,1d+g,1s+3,1d,2+4,2,6,15+8,d+1,x+3,3+1,2+2,1l,2+1,4,2+2,1n+7,3+1,49+2,2+c,2+6,5,7,4+1,5j+1l,2+4,k1+w,2db+2,3y,2p+v,ff+3,30+1,n9x+3,2+9,x+1,29+1,7l,4,5,q+1,6,48+1,r+h,e,13+7,q+a,1b+2,1d,3+3,3+1,14,1w+5,3+1,3+1,d,9,1c,1g,2+2,3+1,6+1,2,17+1,9,6n,3,5,fn5,ki+f,h+f,r2,6b,46+4,1af+2,2+1,6+3,15+2,5,4m+1,fy+3,as+1,4a+a,4x,1j+e,1l+2,1e+3,3+1,1y+2,11+4,2+7,1r,d+1,1h+8,b+3,3,2o+2,3,2+1,7,4h,4+7,m+1,1m+1,4,12+6,4+4,5g+7,3+2,2,o,2d+5,2,5+1,2+1,6n+3,7+1,2+1,s+1,2e+7,3,2+1,2z,2,3+5,2,2u+2,3+3,2+4,78+8,2+1,75+1,2,5,41+3,3+1,5,x+5,3+1,15+5,3+3,9,a+5,3+2,1b+c,2+1,bb+6,2+5,2d+l,3+6,2+1,2+1,3f+5,4,2+1,2+6,2,21+1,4,2,9o+1,f0c+4,1o+6,t5,1s+3,2a,f5l+1,43t+2,i+7,3+6,v+3,45+2,1j0+1i,5+1d,9,f,n+4,2+e,11t+6,2+g,3+6,2+1,2+4,7a+6,c6+3,15t+6,32+6,gzhy+6n",AL:"16w,3,2,e+1b,z+2,2+2s,g+1,8+1,b+m,2+t,s+2i,c+e,4h+f,1d+1e,1bwe+dp,3+3z,x+c,2+1,35+3y,2rm+z,5+7,b+5,dt+l,c+u,17nl+27,1t+27,4x+6n,3+d",LRO:"6ct",RLO:"6cu",LRE:"6cq",RLE:"6cr",PDF:"6cs",LRI:"6ee",RLI:"6ef",FSI:"6eg",PDI:"6eh"},r={},i={};r.L=1,i[1]="L",Object.keys(t).forEach(function(N,ne){r[N]=1<<ne+1,i[r[N]]=N}),Object.freeze(r);var n=r.LRI|r.RLI|r.FSI,a=r.L|r.R|r.AL,s=r.B|r.S|r.WS|r.ON|r.FSI|r.LRI|r.RLI|r.PDI,o=r.BN|r.RLE|r.LRE|r.RLO|r.LRO|r.PDF,l=r.S|r.WS|r.B|n|r.PDI|o,u=null;function h(){if(!u){u=new Map;var N=0;for(var ne in t)if(t.hasOwnProperty(ne))for(var Y=t[ne],k="",ae=void 0,X=!1,K=0,j=0;j<=Y.length+1;j+=1){var $e=Y[j];if($e!==","&&j!==Y.length)$e==="+"?(X=!0,K=N=K+parseInt(k,36),k=""):k+=$e;else{X?ae=N+parseInt(k,36):(K=N=K+parseInt(k,36),ae=N),X=!1,k="",K=ae;for(var ve=N;ve<ae+1;ve+=1)u.set(ve,r[ne])}}}}function c(N){return h(),u.get(N.codePointAt(0))||r.L}function p(N){return i[c(N)]}var f={pairs:"14>1,1e>2,u>2,2wt>1,1>1,1ge>1,1wp>1,1j>1,f>1,hm>1,1>1,u>1,u6>1,1>1,+5,28>1,w>1,1>1,+3,b8>1,1>1,+3,1>3,-1>-1,3>1,1>1,+2,1s>1,1>1,x>1,th>1,1>1,+2,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,4q>1,1e>2,u>2,2>1,+1",canonical:"6f1>-6dx,6dy>-6dx,6ec>-6ed,6ee>-6ed,6ww>2jj,-2ji>2jj,14r4>-1e7l,1e7m>-1e7l,1e7m>-1e5c,1e5d>-1e5b,1e5c>-14qx,14qy>-14qx,14vn>-1ecg,1ech>-1ecg,1edu>-1ecg,1eci>-1ecg,1eda>-1ecg,1eci>-1ecg,1eci>-168q,168r>-168q,168s>-14ye,14yf>-14ye"};function d(N,ne){var Y=0,k=new Map,ae=ne&&new Map,X;return N.split(",").forEach(function K(j){if(j.indexOf("+")!==-1)for(var $e=+j;$e--;)K(X);else{X=j;var ve=j.split(">"),re=ve[0],Fe=ve[1];re=String.fromCodePoint(Y+=parseInt(re,36)),Fe=String.fromCodePoint(Y+=parseInt(Fe,36)),k.set(re,Fe),ne&&ae.set(Fe,re)}}),{map:k,reverseMap:ae}}var y,m,g;function x(){if(!y){var N=d(f.pairs,!0),ne=N.map,Y=N.reverseMap;y=ne,m=Y,g=d(f.canonical,!1).map}}function v(N){return x(),y.get(N)||null}function b(N){return x(),m.get(N)||null}function w(N){return x(),g.get(N)||null}var _=r.L,S=r.R,A=r.EN,T=r.ES,L=r.ET,O=r.AN,P=r.CS,V=r.B,F=r.S,$=r.ON,G=r.BN,M=r.NSM,z=r.AL,te=r.LRO,fe=r.RLO,ue=r.LRE,he=r.RLE,Ze=r.PDF,Ue=r.LRI,He=r.RLI,Vt=r.FSI,qe=r.PDI;function Ot(N,ne){for(var Y=125,k=new Uint32Array(N.length),ae=0;ae<N.length;ae++)k[ae]=c(N[ae]);var X=new Map;function K(Xe,ut){var Ye=k[Xe];k[Xe]=ut,X.set(Ye,X.get(Ye)-1),Ye&s&&X.set(s,X.get(s)-1),X.set(ut,(X.get(ut)||0)+1),ut&s&&X.set(s,(X.get(s)||0)+1)}for(var j=new Uint8Array(N.length),$e=new Map,ve=[],re=null,Fe=0;Fe<N.length;Fe++)re||ve.push(re={start:Fe,end:N.length-1,level:ne==="rtl"?1:ne==="ltr"?0:Mu(Fe,!1)}),k[Fe]&V&&(re.end=Fe,re=null);for(var hi=he|ue|fe|te|n|qe|Ze|V,tr=function(Xe){return Xe+(Xe&1?1:2)},$t=function(Xe){return Xe+(Xe&1?2:1)},Nt=0;Nt<ve.length;Nt++){re=ve[Nt];var oe=[{_level:re.level,_override:0,_isolate:0}],be=void 0,Ft=0,Ut=0,Ya=0;X.clear();for(var Pe=re.start;Pe<=re.end;Pe++){var Me=k[Pe];if(be=oe[oe.length-1],X.set(Me,(X.get(Me)||0)+1),Me&s&&X.set(s,(X.get(s)||0)+1),Me&hi)if(Me&(he|ue)){j[Pe]=be._level;var lu=(Me===he?$t:tr)(be._level);lu<=Y&&!Ft&&!Ut?oe.push({_level:lu,_override:0,_isolate:0}):Ft||Ut++}else if(Me&(fe|te)){j[Pe]=be._level;var uu=(Me===fe?$t:tr)(be._level);uu<=Y&&!Ft&&!Ut?oe.push({_level:uu,_override:Me&fe?S:_,_isolate:0}):Ft||Ut++}else if(Me&n){Me&Vt&&(Me=Mu(Pe+1,!0)===1?He:Ue),j[Pe]=be._level,be._override&&K(Pe,be._override);var hu=(Me===He?$t:tr)(be._level);hu<=Y&&Ft===0&&Ut===0?(Ya++,oe.push({_level:hu,_override:0,_isolate:1,_isolInitIndex:Pe})):Ft++}else if(Me&qe){if(Ft>0)Ft--;else if(Ya>0){for(Ut=0;!oe[oe.length-1]._isolate;)oe.pop();var Wa=oe[oe.length-1]._isolInitIndex;Wa!=null&&($e.set(Wa,Pe),$e.set(Pe,Wa)),oe.pop(),Ya--}be=oe[oe.length-1],j[Pe]=be._level,be._override&&K(Pe,be._override)}else Me&Ze?(Ft===0&&(Ut>0?Ut--:!be._isolate&&oe.length>1&&(oe.pop(),be=oe[oe.length-1])),j[Pe]=be._level):Me&V&&(j[Pe]=re.level);else j[Pe]=be._level,be._override&&Me!==G&&K(Pe,be._override)}for(var Er=[],yt=null,rr=re.start;rr<=re.end;rr++){var Za=k[rr];if(!(Za&o)){var cu=j[rr],pu=Za&n,Sy=Za===qe;yt&&cu===yt._level?(yt._end=rr,yt._endsWithIsolInit=pu):Er.push(yt={_start:rr,_end:rr,_level:cu,_startsWithPDI:Sy,_endsWithIsolInit:pu})}}for(var Ha=[],bn=0;bn<Er.length;bn++){var wn=Er[bn];if(!wn._startsWithPDI||wn._startsWithPDI&&!$e.has(wn._start)){for(var Ka=[yt=wn],fu=void 0;yt&&yt._endsWithIsolInit&&(fu=$e.get(yt._end))!=null;)for(var Dn=bn+1;Dn<Er.length;Dn++)if(Er[Dn]._start===fu){Ka.push(yt=Er[Dn]);break}for(var Fr=[],Ja=0;Ja<Ka.length;Ja++)for(var du=Ka[Ja],Qa=du._start;Qa<=du._end;Qa++)Fr.push(Qa);for(var Ay=j[Fr[0]],yu=re.level,_n=Fr[0]-1;_n>=0;_n--)if(!(k[_n]&o)){yu=j[_n];break}var es=Fr[Fr.length-1],Ey=j[es],mu=re.level;if(!(k[es]&n)){for(var Sn=es+1;Sn<=re.end;Sn++)if(!(k[Sn]&o)){mu=j[Sn];break}}Ha.push({_seqIndices:Fr,_sosType:Math.max(yu,Ay)%2?S:_,_eosType:Math.max(mu,Ey)%2?S:_})}}for(var ts=0;ts<Ha.length;ts++){var rs=Ha[ts],q=rs._seqIndices,ci=rs._sosType,Fy=rs._eosType,Tr=j[q[0]]&1?S:_;if(X.get(M))for(var An=0;An<q.length;An++){var gu=q[An];if(k[gu]&M){for(var is=ci,En=An-1;En>=0;En--)if(!(k[q[En]]&o)){is=k[q[En]];break}K(gu,is&(n|qe)?$:is)}}if(X.get(A))for(var Fn=0;Fn<q.length;Fn++){var xu=q[Fn];if(k[xu]&A)for(var Tn=Fn-1;Tn>=-1;Tn--){var vu=Tn===-1?ci:k[q[Tn]];if(vu&a){vu===z&&K(xu,O);break}}}if(X.get(z))for(var ns=0;ns<q.length;ns++){var bu=q[ns];k[bu]&z&&K(bu,S)}if(X.get(T)||X.get(P))for(var pi=1;pi<q.length-1;pi++){var as=q[pi];if(k[as]&(T|P)){for(var kr=0,ss=0,os=pi-1;os>=0&&(kr=k[q[os]],kr&o);os--);for(var ls=pi+1;ls<q.length&&(ss=k[q[ls]],ss&o);ls++);kr===ss&&(k[as]===T?kr===A:kr&(A|O))&&K(as,kr)}}if(X.get(A)){for(var mt=0;mt<q.length;mt++)if(k[q[mt]]&A){for(var kn=mt-1;kn>=0&&k[q[kn]]&(L|o);kn--)K(q[kn],A);for(mt++;mt<q.length&&k[q[mt]]&(L|o|A);mt++)k[q[mt]]!==A&&K(q[mt],A)}}if(X.get(L)||X.get(T)||X.get(P))for(var fi=0;fi<q.length;fi++){var wu=q[fi];if(k[wu]&(L|T|P)){K(wu,$);for(var In=fi-1;In>=0&&k[q[In]]&o;In--)K(q[In],$);for(var Cn=fi+1;Cn<q.length&&k[q[Cn]]&o;Cn++)K(q[Cn],$)}}if(X.get(A))for(var us=0,Du=ci;us<q.length;us++){var _u=q[us],hs=k[_u];hs&A?Du===_&&K(_u,_):hs&a&&(Du=hs)}if(X.get(s)){for(var di=S|A|O,Su=di|_,Bn=[],Ir=[],Cr=0;Cr<q.length;Cr++)if(k[q[Cr]]&s){var yi=N[q[Cr]],Au=void 0;if(v(yi)!==null)if(Ir.length<63)Ir.push({char:yi,seqIndex:Cr});else break;else if((Au=b(yi))!==null)for(var mi=Ir.length-1;mi>=0;mi--){var cs=Ir[mi].char;if(cs===Au||cs===b(w(yi))||v(w(cs))===yi){Bn.push([Ir[mi].seqIndex,Cr]),Ir.length=mi;break}}}Bn.sort(function(Xe,ut){return Xe[0]-ut[0]});for(var ps=0;ps<Bn.length;ps++){for(var Eu=Bn[ps],Pn=Eu[0],fs=Eu[1],Fu=!1,gt=0,ds=Pn+1;ds<fs;ds++){var Tu=q[ds];if(k[Tu]&Su){Fu=!0;var ku=k[Tu]&di?S:_;if(ku===Tr){gt=ku;break}}}if(Fu&&!gt){gt=ci;for(var ys=Pn-1;ys>=0;ys--){var Iu=q[ys];if(k[Iu]&Su){var Cu=k[Iu]&di?S:_;gt=Cu===Tr?Tr:Cu;break}}}if(gt){if(k[q[Pn]]=k[q[fs]]=gt,gt!==Tr){for(var gi=Pn+1;gi<q.length;gi++)if(!(k[q[gi]]&o)){c(N[q[gi]])&M&&(k[q[gi]]=gt);break}}if(gt!==Tr){for(var xi=fs+1;xi<q.length;xi++)if(!(k[q[xi]]&o)){c(N[q[xi]])&M&&(k[q[xi]]=gt);break}}}}for(var qt=0;qt<q.length;qt++)if(k[q[qt]]&s){for(var Bu=qt,ms=qt,gs=ci,vi=qt-1;vi>=0;vi--)if(k[q[vi]]&o)Bu=vi;else{gs=k[q[vi]]&di?S:_;break}for(var Pu=Fy,bi=qt+1;bi<q.length;bi++)if(k[q[bi]]&(s|o))ms=bi;else{Pu=k[q[bi]]&di?S:_;break}for(var xs=Bu;xs<=ms;xs++)k[q[xs]]=gs===Pu?gs:Tr;qt=ms}}}for(var Ke=re.start;Ke<=re.end;Ke++){var Ty=j[Ke],Mn=k[Ke];if(Ty&1?Mn&(_|A|O)&&j[Ke]++:Mn&S?j[Ke]++:Mn&(O|A)&&(j[Ke]+=2),Mn&o&&(j[Ke]=Ke===0?re.level:j[Ke-1]),Ke===re.end||c(N[Ke])&(F|V))for(var zn=Ke;zn>=0&&c(N[zn])&l;zn--)j[zn]=re.level}}return{levels:j,paragraphs:ve};function Mu(Xe,ut){for(var Ye=Xe;Ye<N.length;Ye++){var jt=k[Ye];if(jt&(S|z))return 1;if(jt&(V|_)||ut&&jt===qe)return 0;if(jt&n){var zu=ky(Ye);Ye=zu===-1?N.length:zu}}return 0}function ky(Xe){for(var ut=1,Ye=Xe+1;Ye<N.length;Ye++){var jt=k[Ye];if(jt&V)break;if(jt&qe){if(--ut===0)return Ye}else jt&n&&ut++}return-1}}var Rt="14>1,j>2,t>2,u>2,1a>g,2v3>1,1>1,1ge>1,1wd>1,b>1,1j>1,f>1,ai>3,-2>3,+1,8>1k0,-1jq>1y7,-1y6>1hf,-1he>1h6,-1h5>1ha,-1h8>1qi,-1pu>1,6>3u,-3s>7,6>1,1>1,f>1,1>1,+2,3>1,1>1,+13,4>1,1>1,6>1eo,-1ee>1,3>1mg,-1me>1mk,-1mj>1mi,-1mg>1mi,-1md>1,1>1,+2,1>10k,-103>1,1>1,4>1,5>1,1>1,+10,3>1,1>8,-7>8,+1,-6>7,+1,a>1,1>1,u>1,u6>1,1>1,+5,26>1,1>1,2>1,2>2,8>1,7>1,4>1,1>1,+5,b8>1,1>1,+3,1>3,-2>1,2>1,1>1,+2,c>1,3>1,1>1,+2,h>1,3>1,a>1,1>1,2>1,3>1,1>1,d>1,f>1,3>1,1a>1,1>1,6>1,7>1,13>1,k>1,1>1,+19,4>1,1>1,+2,2>1,1>1,+18,m>1,a>1,1>1,lk>1,1>1,4>1,2>1,f>1,3>1,1>1,+3,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,6>1,4j>1,j>2,t>2,u>2,2>1,+1",Qt;function ui(){if(!Qt){var N=d(Rt,!0),ne=N.map;N.reverseMap.forEach(function(Y,k){ne.set(k,Y)}),Qt=ne}}function At(N){return ui(),Qt.get(N)||null}function Re(N,ne,Y,k){var ae=N.length;Y=Math.max(0,Y==null?0:+Y),k=Math.min(ae-1,k==null?ae-1:+k);for(var X=new Map,K=Y;K<=k;K++)if(ne[K]&1){var j=At(N[K]);j!==null&&X.set(K,j)}return X}function Et(N,ne,Y,k){var ae=N.length;Y=Math.max(0,Y==null?0:+Y),k=Math.min(ae-1,k==null?ae-1:+k);var X=[];return ne.paragraphs.forEach(function(K){var j=Math.max(Y,K.start),$e=Math.min(k,K.end);if(j<$e){for(var ve=ne.levels.slice(j,$e+1),re=$e;re>=j&&c(N[re])&l;re--)ve[re]=K.level;for(var Fe=K.level,hi=1/0,tr=0;tr<ve.length;tr++){var $t=ve[tr];$t>Fe&&(Fe=$t),$t<hi&&(hi=$t|1)}for(var Nt=Fe;Nt>=hi;Nt--)for(var oe=0;oe<ve.length;oe++)if(ve[oe]>=Nt){for(var be=oe;oe+1<ve.length&&ve[oe+1]>=Nt;)oe++;oe>be&&X.push([be+j,oe+j])}}}),X}function er(N,ne,Y,k){var ae=Ar(N,ne,Y,k),X=[].concat(N);return ae.forEach(function(K,j){X[j]=(ne.levels[K]&1?At(N[K]):null)||N[K]}),X.join("")}function Ar(N,ne,Y,k){for(var ae=Et(N,ne,Y,k),X=[],K=0;K<N.length;K++)X[K]=K;return ae.forEach(function(j){for(var $e=j[0],ve=j[1],re=X.slice($e,ve+1),Fe=re.length;Fe--;)X[ve-Fe]=re[Fe]}),X}return e.closingToOpeningBracket=b,e.getBidiCharType=c,e.getBidiCharTypeName=p,e.getCanonicalBracket=w,e.getEmbeddingLevels=Ot,e.getMirroredCharacter=At,e.getMirroredCharactersMap=Re,e.getReorderSegments=Et,e.getReorderedIndices=Ar,e.getReorderedString=er,e.openingToClosingBracket=v,Object.defineProperty(e,"__esModule",{value:!0}),e})({})}const Gl=cv(),pv=/[\u061c\u200e\u200f\u202a-\u202e\u2066-\u2069]/,fv=new Set(["WS","FSI","LRI","RLI","PDI"]),dv=new Set(["S","B"]);function yv(e,t,r,i){let n=[],a=r;for(let s of Uo(e.slice(r,i)))n.push({index:a,text:s,level:t[a]}),a+=s.length;return n}function mv(e,t){let r=!0;for(let i=e.length-1;i>=0;i--){let n=Gl.getBidiCharTypeName(e[i].text[0]);dv.has(n)?(e[i].level=t,r=!0):r&&fv.has(n)?e[i].level=t:r=!1}}function gv(e,t){let r=t,i=1/0;for(let{level:a}of e)a>r&&(r=a),(a|1)<i&&(i=a|1);let n=e.slice();for(let a=r;a>=i;a--)for(let s=0;s<n.length;s++){if(n[s].level<a)continue;let o=s;for(;o+1<n.length&&n[o+1].level>=a;)o++;for(let l=s,u=o;l<u;l++,u--)[n[l],n[u]]=[n[u],n[l]];s=o}return n}function xv(e){return e.level%2==0?e.text:Gl.getMirroredCharacter(e.text)??e.text}function vv(e,t){var r;return((r=e.find(i=>t>=i.start&&t<=i.end))==null?void 0:r.level)??0}function bv(e,t,r,i,n){let a=yv(e,t,i,n);mv(a,r);let s="",o=[];for(let l of gv(a,r)){if(pv.test(l.text))continue;let u=xv(l);s+=u,o.push(...Array(u.length).fill(l.index))}return{text:s,sourceIndices:o}}function wv(e,t){let r=t.filter(a=>a>0&&a<e.length),i=[...new Set([0,...r,e.length])].sort((a,s)=>a-s),n=[];for(let a=0;a+1<i.length;a++)n.push([i[a],i[a+1]]);return n}function gd(e,t){let{levels:r,paragraphs:i}=Gl.getEmbeddingLevels(e);return wv(e,t.concat(i.map(n=>n.start))).map(([n,a])=>bv(e,r,vv(i,n),n,a))}function Dv(e,t){return gd(e,t).map(r=>r.text)}function _v(e,t,r){return gd(e,r).map(i=>[i.text,i.sourceIndices.map(n=>t[n]??0)])}const Go=4294967296,nc=1/Go,ac=typeof TextDecoder>"u"?null:new TextDecoder("utf-8");var xd=class{constructor(e){this.buf=ArrayBuffer.isView(e)?e:new Uint8Array(e),this.dataView=new DataView(this.buf.buffer,this.buf.byteOffset,this.buf.byteLength),this.pos=0,this.type=0,this._valueStart=-1,this.length=this.buf.length}readFields(e,t,r=this.length){let i;for(;i=this.nextField(r);)e(i,t,this);return t}readMessage(e,t){return this.readFields(e,t,this.readVarint()+this.pos)}readFixed32(){let e=this.dataView.getUint32(this.pos,!0);return this.pos+=4,e}readSFixed32(){let e=this.dataView.getInt32(this.pos,!0);return this.pos+=4,e}readFixed64(){let e=this.dataView.getUint32(this.pos,!0)+this.dataView.getUint32(this.pos+4,!0)*Go;return this.pos+=8,e}readSFixed64(){let e=this.dataView.getUint32(this.pos,!0)+this.dataView.getInt32(this.pos+4,!0)*Go;return this.pos+=8,e}readFloat(){let e=this.dataView.getFloat32(this.pos,!0);return this.pos+=4,e}readDouble(){let e=this.dataView.getFloat64(this.pos,!0);return this.pos+=8,e}readVarint(e){let t=this.buf,r=t[this.pos++];if(r<128)return r;let i=r&127,n;return n=t[this.pos++],i|=(n&127)<<7,n<128||(n=t[this.pos++],i|=(n&127)<<14,n<128)||(n=t[this.pos++],i|=(n&127)<<21,n<128)?i:(n=t[this.pos],i|=(n&15)<<28,Av(i,e,this))}readSVarint(){let e=this.readVarint();return e%2==1?(e+1)/-2:e/2}readBoolean(){return!!this.readVarint()}readString(){let e=this.readVarint()+this.pos,t=this.pos;return this.pos=e,e-t>=12&&ac?ac.decode(this.buf.subarray(t,e)):Rv(this.buf,t,e)}readBytes(){let e=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,e);return this.pos=e,t}readPackedVarint(e=[],t){let r=this.readPackedEnd();for(;this.pos<r;)e.push(this.readVarint(t));return e}readPackedSVarint(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readSVarint());return e}readPackedBoolean(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readBoolean());return e}readPackedFloat(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readFloat());return e}readPackedDouble(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readDouble());return e}readPackedFixed32(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readFixed32());return e}readPackedSFixed32(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readSFixed32());return e}readPackedFixed64(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readFixed64());return e}readPackedSFixed64(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readSFixed64());return e}readPackedEnd(){return this.type===2?this.readVarint()+this.pos:this.pos+1}nextField(e=this.length){if(this.pos===this._valueStart&&this.skip(this.type),this.pos>=e)return 0;let t=this.readVarint();return this.type=t&7,this._valueStart=this.pos,t>>>3}skip(e){let t=e&7;if(t===0)for(;this.buf[this.pos++]>127;);else if(t===2)this.pos=this.readVarint()+this.pos;else if(t===5)this.pos+=4;else if(t===1)this.pos+=8;else throw Error(`Unimplemented type: ${t}`)}},Sv=class{constructor(e=new Uint8Array(16)){this.buf=ArrayBuffer.isView(e)?e:new Uint8Array(e),this.dataView=new DataView(this.buf.buffer,this.buf.byteOffset,this.buf.byteLength),this.pos=0,this.length=this.buf.length}writeTag(e,t){this.writeVarint(e<<3|t)}realloc(e){let t=this.length||16;for(;t<this.pos+e;)t*=2;if(t!==this.length){let r=new Uint8Array(t);r.set(this.buf),this.buf=r,this.dataView=new DataView(r.buffer),this.length=t}}finish(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)}writeFixed32(e){this.realloc(4),this.dataView.setInt32(this.pos,e,!0),this.pos+=4}writeSFixed32(e){this.realloc(4),this.dataView.setInt32(this.pos,e,!0),this.pos+=4}writeFixed64(e){this.realloc(8),this.dataView.setInt32(this.pos,e&-1,!0),this.dataView.setInt32(this.pos+4,Math.floor(e*nc),!0),this.pos+=8}writeSFixed64(e){this.realloc(8),this.dataView.setInt32(this.pos,e&-1,!0),this.dataView.setInt32(this.pos+4,Math.floor(e*nc),!0),this.pos+=8}writeVarint(e){if(e=+e||0,e>=0&&e<128){this.pos>=this.length&&this.realloc(1),this.buf[this.pos++]=e;return}if(e>268435455||e<0){Fv(e,this);return}this.realloc(4),this.buf[this.pos++]=e&127|(e>127?128:0),!(e<=127)&&(this.buf[this.pos++]=(e>>>=7)&127|(e>127?128:0),!(e<=127)&&(this.buf[this.pos++]=(e>>>=7)&127|(e>127?128:0),!(e<=127)&&(this.buf[this.pos++]=e>>>7&127)))}writeSVarint(e){this.writeVarint(e<0?-e*2-1:e*2)}writeBoolean(e){this.writeVarint(+e)}writeString(e){e=String(e),this.realloc(e.length*4),this.pos++;let t=this.pos;this.pos=$v(this.buf,e,this.pos);let r=this.pos-t;r>=128&&sc(t,r,this),this.pos=t-1,this.writeVarint(r),this.pos+=r}writeFloat(e){this.realloc(4),this.dataView.setFloat32(this.pos,e,!0),this.pos+=4}writeDouble(e){this.realloc(8),this.dataView.setFloat64(this.pos,e,!0),this.pos+=8}writeBytes(e){let t=e.length;this.writeVarint(t),this.realloc(t),this.buf.set(e,this.pos),this.pos+=t}writeRawMessage(e,t){this.pos++;let r=this.pos;e(t,this);let i=this.pos-r;i>=128&&sc(r,i,this),this.pos=r-1,this.writeVarint(i),this.pos+=i}writeMessage(e,t,r){this.writeTag(e,2),this.writeRawMessage(t,r)}writePackedVarint(e,t){t.length&&this.writeMessage(e,Iv,t)}writePackedSVarint(e,t){t.length&&this.writeMessage(e,Cv,t)}writePackedBoolean(e,t){t.length&&this.writeMessage(e,Mv,t)}writePackedFloat(e,t){t.length&&this.writeMessage(e,Bv,t)}writePackedDouble(e,t){t.length&&this.writeMessage(e,Pv,t)}writePackedFixed32(e,t){t.length&&this.writeMessage(e,zv,t)}writePackedSFixed32(e,t){t.length&&this.writeMessage(e,Lv,t)}writePackedFixed64(e,t){t.length&&this.writeMessage(e,Vv,t)}writePackedSFixed64(e,t){t.length&&this.writeMessage(e,Ov,t)}writeBytesField(e,t){this.writeTag(e,2),this.writeBytes(t)}writeFixed32Field(e,t){this.writeTag(e,5),this.writeFixed32(t)}writeSFixed32Field(e,t){this.writeTag(e,5),this.writeSFixed32(t)}writeFixed64Field(e,t){this.writeTag(e,1),this.writeFixed64(t)}writeSFixed64Field(e,t){this.writeTag(e,1),this.writeSFixed64(t)}writeVarintField(e,t){this.writeTag(e,0),this.writeVarint(t)}writeSVarintField(e,t){this.writeTag(e,0),this.writeSVarint(t)}writeStringField(e,t){this.writeTag(e,2),this.writeString(t)}writeFloatField(e,t){this.writeTag(e,5),this.writeFloat(t)}writeDoubleField(e,t){this.writeTag(e,1),this.writeDouble(t)}writeBooleanField(e,t){this.writeVarintField(e,+t)}};function Av(e,t,r){let i=r.buf,n,a;if(a=i[r.pos++],n=(a&112)>>4,a<128||(a=i[r.pos++],n|=(a&127)<<3,a<128)||(a=i[r.pos++],n|=(a&127)<<10,a<128)||(a=i[r.pos++],n|=(a&127)<<17,a<128)||(a=i[r.pos++],n|=(a&127)<<24,a<128)||(a=i[r.pos++],n|=(a&1)<<31,a<128))return Ev(e,n,t);throw Error("Expected varint not more than 10 bytes")}function Ev(e,t,r){return r?t*4294967296+(e>>>0):(t>>>0)*4294967296+(e>>>0)}function Fv(e,t){let r,i;if(e>=0?(r=e%4294967296|0,i=e/4294967296|0):(r=~(-e%4294967296),i=~(-e/4294967296),r^4294967295?r=r+1|0:(r=0,i=i+1|0)),e>=18446744073709552e3||e<-18446744073709552e3)throw Error("Given varint doesn't fit into 10 bytes");t.realloc(10),Tv(r,i,t),kv(i,t)}function Tv(e,t,r){r.buf[r.pos++]=e&127|128,e>>>=7,r.buf[r.pos++]=e&127|128,e>>>=7,r.buf[r.pos++]=e&127|128,e>>>=7,r.buf[r.pos++]=e&127|128,e>>>=7,r.buf[r.pos]=e&127}function kv(e,t){let r=(e&7)<<4;t.buf[t.pos++]|=r|((e>>>=3)?128:0),e&&(t.buf[t.pos++]=e&127|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=e&127|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=e&127|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=e&127|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=e&127)))))}function sc(e,t,r){let i=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(Math.LN2*7));r.realloc(i),r.buf.copyWithin(e+i,e,r.pos)}function Iv(e,t){let r=e.length,i=t.buf,n=t.pos,a=t.length;for(let s=0;s<r;s++){let o=e[s];if(o<0||n+10>a){t.pos=n,t.writeVarint(o),i=t.buf,n=t.pos,a=t.length;continue}for(;o>127;)i[n++]=o%128|128,o=Math.floor(o/128);i[n++]=o}t.pos=n}function Cv(e,t){for(let r=0;r<e.length;r++)t.writeSVarint(e[r])}function Bv(e,t){for(let r=0;r<e.length;r++)t.writeFloat(e[r])}function Pv(e,t){for(let r=0;r<e.length;r++)t.writeDouble(e[r])}function Mv(e,t){for(let r=0;r<e.length;r++)t.writeBoolean(e[r])}function zv(e,t){for(let r=0;r<e.length;r++)t.writeFixed32(e[r])}function Lv(e,t){for(let r=0;r<e.length;r++)t.writeSFixed32(e[r])}function Vv(e,t){for(let r=0;r<e.length;r++)t.writeFixed64(e[r])}function Ov(e,t){for(let r=0;r<e.length;r++)t.writeSFixed64(e[r])}function Rv(e,t,r){let i="",n=t;for(;n<r;){let a=e[n],s=null,o=a>239?4:a>223?3:a>191?2:1;if(n+o>r)break;let l,u,h;o===1?a<128&&(s=a):o===2?(l=e[n+1],(l&192)==128&&(s=(a&31)<<6|l&63,s<=127&&(s=null))):o===3?(l=e[n+1],u=e[n+2],(l&192)==128&&(u&192)==128&&(s=(a&15)<<12|(l&63)<<6|u&63,(s<=2047||s>=55296&&s<=57343)&&(s=null))):o===4&&(l=e[n+1],u=e[n+2],h=e[n+3],(l&192)==128&&(u&192)==128&&(h&192)==128&&(s=(a&15)<<18|(l&63)<<12|(u&63)<<6|h&63,(s<=65535||s>=1114112)&&(s=null))),s===null?(s=65533,o=1):s>65535&&(s-=65536,i+=String.fromCharCode(s>>>10&1023|55296),s=56320|s&1023),i+=String.fromCharCode(s),n+=o}return i}function $v(e,t,r){for(let i=0,n,a;i<t.length;i++){if(n=t.charCodeAt(i),n>55295&&n<57344)if(a){if(n<56320){e[r++]=239,e[r++]=191,e[r++]=189,a=n;continue}n=a-55296<<10|n-56320|65536,a=null}else{n>56319||i+1===t.length?(e[r++]=239,e[r++]=191,e[r++]=189):a=n;continue}else a&&(a=(e[r++]=239,e[r++]=191,e[r++]=189,null));n<128?e[r++]=n:(n<2048?e[r++]=n>>6|192:(n<65536?e[r++]=n>>12|224:(e[r++]=n>>18|240,e[r++]=n>>12&63|128),e[r++]=n>>6&63|128),e[r++]=n&63|128)}return r}function Nv(e){return typeof(e==null?void 0:e.renderWithWebGL)=="function"}function vd(e){let t=0,r=0;for(let s of e)t+=s.w*s.h,r=Math.max(r,s.w);e.sort((s,o)=>o.h-s.h);let i=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(t/.95)),r),h:1/0}],n=0,a=0;for(let s of e)for(let o=i.length-1;o>=0;o--){let l=i[o];if(!(s.w>l.w||s.h>l.h)){if(s.x=l.x,s.y=l.y,a=Math.max(a,s.y+s.h),n=Math.max(n,s.x+s.w),s.w===l.w&&s.h===l.h){let u=i.pop();u&&o<i.length&&(i[o]=u)}else s.h===l.h?(l.x+=s.w,l.w-=s.w):s.w===l.w?(l.y+=s.h,l.h-=s.h):(i.push({x:l.x+s.w,y:l.y,w:l.w-s.w,h:s.h}),l.y+=s.h,l.h-=s.h);break}}return{w:n,h:a,fill:t/(n*a)||0}}var bd=class{constructor(e,{pixelRatio:t,version:r,isWebGLImage:i=!1,stretchX:n,stretchY:a,content:s,textFitWidth:o,textFitHeight:l}){this.paddedRect=e,this.pixelRatio=t,this.stretchX=n,this.stretchY=a,this.content=s,this.version=r,this.needsFirstWebGLRender=i,this.textFitWidth=o,this.textFitHeight=l}get tl(){return[this.paddedRect.x+1,this.paddedRect.y+1]}get br(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]}get tlbr(){return this.tl.concat(this.br)}get displaySize(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]}},wd=class{constructor(e,t){let r={},i={};this.haveRenderCallbacks=[],this.patchedUpdateVersion=-1;let n=[];this.addImages(e,r,n),this.addImages(t,i,n);let{w:a,h:s}=vd(n),o=new Qe({width:a||1,height:s||1});for(let l in e){let u=e[l];if(u.isWebGLImage)continue;let h=r[l].paddedRect;Qe.copy(u.data,o,{x:0,y:0},{x:h.x+1,y:h.y+1},u.data)}for(let l in t){let u=t[l],h=i[l].paddedRect,c=h.x+1,p=h.y+1,f=u.data.width,d=u.data.height;Qe.copy(u.data,o,{x:0,y:0},{x:c,y:p},u.data),Qe.copy(u.data,o,{x:0,y:d-1},{x:c,y:p-1},{width:f,height:1}),Qe.copy(u.data,o,{x:0,y:0},{x:c,y:p+d},{width:f,height:1}),Qe.copy(u.data,o,{x:f-1,y:0},{x:c-1,y:p},{width:1,height:d}),Qe.copy(u.data,o,{x:0,y:0},{x:c+f,y:p},{width:1,height:d})}this.image=o,this.iconPositions=r,this.patternPositions=i}addImages(e,t,r){for(let i in e){let n=e[i],a={x:0,y:0,w:n.data.width+2,h:n.data.height+2};r.push(a),t[i]=new bd(a,n),n.hasRenderCallback&&this.haveRenderCallbacks.push(i)}}patchUpdatedImages(e,t){if(e.dispatchRenderCallbacks(this.haveRenderCallbacks),this.patchedUpdateVersion!==e.updateVersion){this.patchedUpdateVersion=e.updateVersion;for(let r in this.iconPositions)this.patchUpdatedImage(this.iconPositions[r],e.getImage(r),t);for(let r in this.patternPositions)this.patchUpdatedImage(this.patternPositions[r],e.getImage(r),t)}}patchUpdatedImage(e,t,r){var l;if(!e||!t||!e.needsFirstWebGLRender&&e.version===t.version)return;e.needsFirstWebGLRender=!1,e.version=t.version;let[i,n]=e.tl,a=(l=t.userImage)==null?void 0:l.data;if(!Nv(a)){r.update(t.data,void 0,{x:i,y:n});return}let{width:s,height:o}=t.data;r.context.setCustomLayerDefaults(),a.renderWithWebGL({gl:r.context.gl,texture:r.texture,x:i,y:n,width:s,height:o}),r.context.setDirty()}};C("ImagePosition",bd),C("ImageAtlas",wd);var Dd=(function(e){return e[e.none=0]="none",e[e.horizontal=1]="horizontal",e[e.vertical=2]="vertical",e[e.horizontalOnly=3]="horizontalOnly",e})(Dd||{});function Uv(e){for(let t of e)if(t.positionedGlyphs.length!==0)return!1;return!0}function qv(e,t){let r=[],i=0;for(let n of t)r.push(e.substring(i,n)),i=n;return i<e.length()&&r.push(e.substring(i,e.length())),r}const oc=new RegExp("^\\p{gc=M}$","u");function jv(e){let t=[],r=0;for(;r<e.length;){if(!oc.test(e[r])){t.push(r),r++;continue}let i=r;for(;i<e.length&&oc.test(e[i]);)i++;let n=e[i];if(n!==void 0&&dd(n.codePointAt(0))){t.push(i);for(let a=i-1;a>=r;a--)t.push(a);r=i+1}else{for(let a=r;a<i;a++)t.push(a);r=i}}return t}function Gv(e){let t=[],r=0;for(let i of e.graphemes())t.push(...Array(i.length).fill(e.sectionIndex[r])),r++;return t}function Xv(e,t){let r=t.map(a=>e.toCodeUnitIndex(a)),i=ii.isParsed()?ii:null;if(e.sections.length===1)return i?i.processBidirectionalText(e.toString(),r).map(a=>lc(a,e.sections,[...a].map(()=>0))):Dv(e.toString(),r).map(a=>Xo([...a],e.sections,[...a].map(()=>0)));let n=Gv(e);return i?i.processStyledBidirectionalText(e.text,n,r).map(([a,s])=>lc(a,e.sections,s)):_v(e.text,n,r).map(([a,s])=>{let o=[...a];return Xo(o,e.sections,_d(o).map(l=>s[l]??0))})}function Xo(e,t,r){let i=new jl(e.join(""),t,[]),n=0;for(let a of i.graphemes())i.sectionIndex.push(r[n]??0),n+=[...a].length;return i}function _d(e){let t=[],r=0;for(let i of e)t.push(r),r+=i.length;return t}function lc(e,t,r){let i=[...e],n=_d(i),a=jv(i);return Xo(a.map(s=>i[s]),t,a.map(s=>r[n[s]]??0))}function Wn(e,t,r,i,n,a,s,o,l,u,h,c,p,f,d){let y=jl.fromFeature(e,n);c===2&&y.verticalizePunctuation();let m=y.determineLineBreaks(u,a,t,i,f),g=yd(y.text)?Xv(y,m):qv(y,m),x=[],v={positionedLines:x,text:y.toString(),top:h[1],bottom:h[1],left:h[0],right:h[0],writingMode:c,iconsInText:!1,verticalizable:!1};return tb(v,t,r,i,g,s,o,l,c,u,p,d),!Uv(x)&&v}function Sd(e){let t=.5,r=.5;switch(e){case"right":case"top-right":case"bottom-right":t=1;break;case"left":case"top-left":case"bottom-left":t=0}switch(e){case"bottom":case"bottom-right":case"bottom-left":r=1;break;case"top":case"top-right":case"top-left":r=0}return{horizontalAlign:t,verticalAlign:r}}function Yv(e,t,r){let i=t.getMaxScale()*24,{maxImageWidth:n,maxImageHeight:a}=t.getMaxImageSize(e),s=Math.max(i,a*r);return{verticalLineContentWidth:Math.max(i,n*r),horizontalLineContentHeight:s}}function Ad(e){switch(e){case"top":return 0;case"center":return .5;default:return 1}}function Wv(e,t,r,i){var a,s;if(e!=null&&e.rect)return e;let n=(s=(a=t[r.fontStack])==null?void 0:a.default)==null?void 0:s[i];return n?{rect:null,metrics:n.metrics}:null}function Zv(e,t,r){return!(e===1||!t&&!ja(r)||t&&(ql(r)||fd(r)))}function sa(e){return new RegExp("\\p{Nd}","u").test(String.fromCodePoint(e))}function Ed(e){return new RegExp("\\p{Lu}","u").test(String.fromCodePoint(e))}function Hv(e){return/[\p{P}\p{S}]/u.test(String.fromCodePoint(e))}function Kv(e){let t=e.some(sa)&&e.every(i=>sa(i)||Hv(i)),r=e.length<=3&&e.every(i=>Ed(i)||sa(i));return t||r}function Jv(e){return(sa(e)||Ed(e))&&!fd(e)}function Qv(e,t){let r=!1;for(let i=0;i<e.length;i++){if(t[i])continue;let n=$r[e[i]];n&&(i===0||t[i-1])&&(i===e.length-1||t[i+1])&&(e[i]=n,t[i]=!0,r=!0)}return r}function eb(e){let t=e.graphemes().slice(),r=t.map(a=>a.codePointAt(0)),i=r.map(ja),n=a=>!i[a]&&!ql(r[a])&&!("imageName"in e.getSection(a));for(let a=0;a<r.length;a++){if(!n(a))continue;let s=a;for(;s+1<r.length&&n(s+1);)s++;if(Kv(r.slice(a,s+1)))for(let o=a;o<=s;o++)i[o]=Jv(r[o]);a=s}return Qv(t,i)&&(e.text=t.join(""),e._graphemes=null),i}function tb(e,t,r,i,n,a,s,o,l,u,h,c){var w,_;let p=0,f=0,d=0,y=0,m=o==="right"?1:o==="left"?0:.5,g=24/c,x=0;for(let S of n){S.trim();let A=S.getMaxScale(),T={positionedGlyphs:[],lineOffset:0};e.positionedLines[x]=T;let L=T.positionedGlyphs,O=0;if(!S.length()){f+=a,++x;continue}let P=Yv(i,S,g),V=l===2&&!h?eb(S):null,F=S.graphemes();for(let M=0;M<F.length;M++){let z=S.getSection(M),te=F[M],fe=te.codePointAt(0),ue=V?V[M]:Zv(l,h,fe),he="fontStack"in z&&pd(te)&&!((_=(w=t[z.fontStack])==null?void 0:w.default)!=null&&_[te])?[...te]:[te];for(let Ze of he){let Ue={glyph:Ze.codePointAt(0),grapheme:Ze,imageName:null,x:p,y:f+-17,vertical:ue,scale:1,fontStack:"",sectionIndex:S.getSectionIndex(M),metrics:null,rect:null},He;if("fontStack"in z){if(He=rb(z,Ze,ue,P,t,r),!He)continue;Ue.fontStack=z.fontStack}else{if(e.iconsInText=!0,z.scale*=g,He=ib(z,ue,A,P,i),!He)continue;O=Math.max(O,He.imageOffset),Ue.imageName=z.imageName}let{rect:Vt,metrics:qe,baselineOffset:Ot}=He;if(Ue.y+=Ot,Ue.scale=z.scale,Ue.metrics=qe,Ue.rect=Vt,L.push(Ue),!ue)p+=qe.advance*z.scale+u;else{e.verticalizable=!0;let Rt="imageName"in z?qe.advance:24;p+=Rt*z.scale+u}}}if(L.length!==0){let M=p-u;d=Math.max(M,d),nb(L,0,L.length-1,m)}p=0;let $=(A-1)*24;T.lineOffset=Math.max(O,$);let G=a*A+O;f+=G,y=Math.max(G,y),++x}let{horizontalAlign:v,verticalAlign:b}=Sd(s);ab(e.positionedLines,m,v,b,d,y,a,f,n.length),e.top+=-b*f,e.bottom=e.top+f,e.left+=-v*d,e.right=e.left+d}function rb(e,t,r,i,n,a){var u,h;let s=(h=(u=a[e.fontStack])==null?void 0:u.default)==null?void 0:h[t],o=Wv(s,n,e,t);if(o===null)return null;let l;if(r)l=i.verticalLineContentWidth-e.scale*24;else{let c=Ad(e.verticalAlign);l=(i.horizontalLineContentHeight-e.scale*24)*c}return{rect:o.rect,metrics:o.metrics,baselineOffset:l}}function ib(e,t,r,i,n){let a=n[e.imageName];if(!a)return null;let s=a.paddedRect,o=a.displaySize,l={width:o[0],height:o[1],left:1,top:-3,advance:t?o[1]:o[0]},u;if(t)u=i.verticalLineContentWidth-o[1]*e.scale;else{let c=Ad(e.verticalAlign);u=(i.horizontalLineContentHeight-o[1]*e.scale)*c}let h=(t?o[0]:o[1])*e.scale-24*r;return{rect:s,metrics:l,baselineOffset:u,imageOffset:h}}function nb(e,t,r,i){if(i===0)return;let n=e[r],a=n.metrics.advance*n.scale,s=(e[r].x+a)*i;for(let o=t;o<=r;o++)e[o].x-=s}function ab(e,t,r,i,n,a,s,o,l){let u=(t-r)*n,h=0;h=a===s?-i*l*s+.5*s:-o*i- -17;for(let c of e)for(let p of c.positionedGlyphs)p.x+=u,p.y+=h}function sb(e,t,r){let{horizontalAlign:i,verticalAlign:n}=Sd(r),a=t[0],s=t[1],o=a-e.displaySize[0]*i,l=o+e.displaySize[0],u=s-e.displaySize[1]*n;return{image:e,top:u,bottom:u+e.displaySize[1],left:o,right:l}}function Fd(e){let t=e.left,r=e.top,i=e.right-t,n=e.bottom-r,a=e.image.content[2]-e.image.content[0],s=e.image.content[3]-e.image.content[1],o=e.image.textFitWidth??"stretchOrShrink",l=e.image.textFitHeight??"stretchOrShrink",u=a/s;if(l==="proportional"){if(o==="stretchOnly"&&i/n<u||o==="proportional"){let h=Math.ceil(n*u);t*=h/i,i=h}}else if(o==="proportional"&&l==="stretchOnly"&&u!==0&&i/n>u){let h=Math.ceil(i/u);r*=h/n,n=h}return{x1:t,y1:r,x2:t+i,y2:r+n}}function uc(e,t,r,i,n,a){let s=e.image,o;if(s.content){let m=s.content,g=s.pixelRatio||1;o=[m[0]/g,m[1]/g,s.displaySize[0]-m[2]/g,s.displaySize[1]-m[3]/g]}let l=t.left*a,u=t.right*a,h,c,p,f;r==="width"||r==="both"?(f=n[0]+l-i[3],c=n[0]+u+i[1]):(f=n[0]+(l+u-s.displaySize[0])/2,c=f+s.displaySize[0]);let d=t.top*a,y=t.bottom*a;return r==="height"||r==="both"?(h=n[1]+d-i[0],p=n[1]+y+i[2]):(h=n[1]+(d+y-s.displaySize[1])/2,p=h+s.displaySize[1]),{image:s,top:h,right:c,bottom:p,left:f,collisionPadding:o}}const hc=32640;function cc(e,t){let{expression:r}=t;if(r.kind==="constant")return{kind:"constant",layoutSize:r.evaluate(new se(e+1))};if(r.kind==="source")return{kind:"source"};if(r.kind==="composite"){let{minZoom:i,maxZoom:n}=ob(r.zoomStops,e);return{kind:"composite",minZoom:i,maxZoom:n,interpolationType:r.interpolationType}}{let i=lb(r),n=r.evaluate(new se(e+1));return{kind:"camera",zoomStops:r.zoomStops,sizes:i,layoutSize:n,interpolationType:r.interpolationType}}}function ob(e,t){let r=0;for(;r<e.length&&e[r]<=t;)r++;r=Math.max(0,r-1);let i=r;for(;i<e.length&&e[i]<t+1;)i++;return i=Math.min(e.length-1,i),{minZoom:e[r],maxZoom:e[i]}}function lb(e){return e.zoomStops.map(t=>e.evaluate(new se(t===-1/0?e.zoomStops[1]-1:t)))}var Yr=class Td extends B{constructor(t,r,i,n){super(t,r),this.angle=i,n!==void 0&&(this.segment=n)}clone(){return new Td(this.x,this.y,this.angle,this.segment)}};C("Anchor",Yr);function kd(e,t,r,i,n){if(t.segment===void 0||r===0)return!0;let a=t,s=t.segment+1,o=0;for(;o>-r/2;){if(s--,s<0)return!1;o-=e[s].dist(a),a=e[s]}o+=e[s].dist(e[s+1]),s++;let l=[],u=0;for(;o<r/2;){let h=e[s-1],c=e[s],p=e[s+1];if(!p)return!1;let f=h.angleTo(c)-c.angleTo(p);for(f=Math.abs((f+3*Math.PI)%(Math.PI*2)-Math.PI),l.push({distance:o,angleDelta:f}),u+=f;o-l[0].distance>i;)u-=l.shift().angleDelta;if(u>n)return!1;s++,o+=c.dist(p)}return!0}function Id(e){let t=0;for(let r=0;r<e.length-1;r++)t+=e[r].dist(e[r+1]);return t}function Cd(e,t,r){return e?3/5*t*r:0}function Bd(e,t){return Math.max(e?e.right-e.left:0,t?t.right-t.left:0)}function ub(e,t,r,i,n,a){let s=Cd(r,n,a),o=Bd(r,i)*a,l=0,u=Id(e)/2;for(let h=0;h<e.length-1;h++){let c=e[h],p=e[h+1],f=c.dist(p);if(l+f>u){let d=(u-l)/f,y=new Yr(dr.number(c.x,p.x,d),dr.number(c.y,p.y,d),p.angleTo(c),h);return y._round(),!s||kd(e,y,o,s,t)?y:void 0}l+=f}}function hb(e,t,r,i,n,a,s,o,l){let u=Cd(i,a,s),h=Bd(i,n),c=h*s,p=e[0].x===0||e[0].x===l||e[0].y===0||e[0].y===l;t-c<t/4&&(t=c+t/4);let f=a*2;return Pd(e,p?t/2*o%t:(h/2+f)*s*o%t,t,u,r,c,p,!1,l)}function Pd(e,t,r,i,n,a,s,o,l){let u=a/2,h=Id(e),c=0,p=t-r,f=[];for(let d=0;d<e.length-1;d++){let y=e[d],m=e[d+1],g=y.dist(m),x=m.angleTo(y);for(;p+r<c+g;){p+=r;let v=(p-c)/g,b=dr.number(y.x,m.x,v),w=dr.number(y.y,m.y,v);if(b>=0&&b<l&&w>=0&&w<l&&p-u>=0&&p+u<=h){let _=new Yr(b,w,x,d);_._round(),(!i||kd(e,_,a,i,n))&&f.push(_)}}c+=g}return!o&&!f.length&&!s&&(f=Pd(e,c/2,r,i,n,a,s,!0,l)),f}function cb(e,t,r,i,n){let a=[];for(let s of e){let o;for(let l=0;l<s.length-1;l++){let u=s[l],h=s[l+1];u.x<t&&h.x<t||(u.x<t?u=new B(t,u.y+(h.y-u.y)*((t-u.x)/(h.x-u.x)))._round():h.x<t&&(h=new B(t,u.y+(h.y-u.y)*((t-u.x)/(h.x-u.x)))._round()),!(u.y<r&&h.y<r)&&(u.y<r?u=new B(u.x+(h.x-u.x)*((r-u.y)/(h.y-u.y)),r)._round():h.y<r&&(h=new B(u.x+(h.x-u.x)*((r-u.y)/(h.y-u.y)),r)._round()),!(u.x>=i&&h.x>=i)&&(u.x>=i?u=new B(i,u.y+(h.y-u.y)*((i-u.x)/(h.x-u.x)))._round():h.x>=i&&(h=new B(i,u.y+(h.y-u.y)*((i-u.x)/(h.x-u.x)))._round()),!(u.y>=n&&h.y>=n)&&(u.y>=n?u=new B(u.x+(h.x-u.x)*((n-u.y)/(h.y-u.y)),n)._round():h.y>=n&&(h=new B(u.x+(h.x-u.x)*((n-u.y)/(h.y-u.y)),n)._round()),(!o||!u.equals(o[o.length-1]))&&(o=[u],a.push(o)),o.push(h)))))}}return a}function pb(e,t,r,i,n,a){let s=pc(e,t,r,n,0);return s=pc(s,t,i,a,1),s}function pc(e,t,r,i,n){switch(t){case 1:return fb(e,r,i,n);case 2:return fc(e,r,i,n,!1);case 3:return fc(e,r,i,n,!0)}return[]}function fb(e,t,r,i){let n=[];for(let a of e)for(let s of a){let o=i===0?s.x:s.y;o>=t&&o<=r&&n.push([s])}return n}function db(e,t,r,i,n){let a=i===0?yb:mb,s=[],o=[];for(let h=0;h<e.length-1;h++){let c=e[h],p=e[h+1],f=i===0?c.x:c.y,d=i===0?p.x:p.y,y=!1;f<t?d>t&&s.push(a(c,p,t)):f>r?d<r&&s.push(a(c,p,r)):s.push(c),d<t&&f>=t&&(s.push(a(c,p,t)),y=!0),d>r&&f<=r&&(s.push(a(c,p,r)),y=!0),!n&&y&&(o.push(s),s=[])}let l=e.length-1,u=i===0?e[l].x:e[l].y;return u>=t&&u<=r&&s.push(e[l]),n&&s.length>0&&!s[0].equals(s[s.length-1])&&s.push(new B(s[0].x,s[0].y)),s.length>0&&o.push(s),o}function fc(e,t,r,i,n){let a=[];for(let s of e){let o=db(s,t,r,i,n);o.length>0&&a.push(...o)}return a}function yb(e,t,r){let i=(r-e.x)/(t.x-e.x);return new B(r,e.y+(t.y-e.y)*i)}function mb(e,t,r){let i=(r-e.y)/(t.y-e.y);return new B(e.x+(t.x-e.x)*i,r)}function dc(e,t,r,i){let n=[],a=e.image,s=a.pixelRatio,o=a.paddedRect.w-2,l=a.paddedRect.h-2,u={x1:e.left,y1:e.top,x2:e.right,y2:e.bottom},h=a.stretchX||[[0,o]],c=a.stretchY||[[0,l]],p=(F,$)=>F+$[1]-$[0],f=h.reduce(p,0),d=c.reduce(p,0),y=o-f,m=l-d,g=0,x=f,v=0,b=d,w=0,_=y,S=0,A=m;if(a.content&&i){let F=a.content,$=F[2]-F[0],G=F[3]-F[1];(a.textFitWidth||a.textFitHeight)&&(u=Fd(e)),g=Zn(h,0,F[0]),v=Zn(c,0,F[1]),x=Zn(h,F[0],F[2]),b=Zn(c,F[1],F[3]),w=F[0]-g,S=F[1]-v,_=$-x,A=G-b}let T=u.x1,L=u.y1,O=u.x2-T,P=u.y2-L,V=(F,$,G,M)=>{let z=Hn(F.stretch-g,x,O,T),te=Kn(F.fixed-w,_,F.stretch,f),fe=Hn($.stretch-v,b,P,L),ue=Kn($.fixed-S,A,$.stretch,d),he=Hn(G.stretch-g,x,O,T),Ze=Kn(G.fixed-w,_,G.stretch,f),Ue=Hn(M.stretch-v,b,P,L),He=Kn(M.fixed-S,A,M.stretch,d),Vt=new B(z,fe),qe=new B(he,fe),Ot=new B(he,Ue),Rt=new B(z,Ue),Qt=new B(te/s,ue/s),ui=new B(Ze/s,He/s),At=t*Math.PI/180;if(At){let N=Math.sin(At),ne=Math.cos(At),Y=[ne,-N,N,ne];Vt._matMult(Y),qe._matMult(Y),Rt._matMult(Y),Ot._matMult(Y)}let Re=F.stretch+F.fixed,Et=G.stretch+G.fixed,er=$.stretch+$.fixed,Ar=M.stretch+M.fixed;return{tl:Vt,tr:qe,bl:Rt,br:Ot,tex:{x:a.paddedRect.x+1+Re,y:a.paddedRect.y+1+er,w:Et-Re,h:Ar-er},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:Qt,pixelOffsetBR:ui,minFontScaleX:_/s/O,minFontScaleY:A/s/P,isSDF:r}};if(!i||!a.stretchX&&!a.stretchY)n.push(V({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:o+1},{fixed:0,stretch:l+1}));else{let F=yc(h,y,f),$=yc(c,m,d);for(let G=0;G<F.length-1;G++){let M=F[G],z=F[G+1];for(let te=0;te<$.length-1;te++){let fe=$[te],ue=$[te+1];n.push(V(M,fe,z,ue))}}}return n}function Zn(e,t,r){let i=0;for(let n of e)i+=Math.max(t,Math.min(r,n[1]))-Math.max(t,Math.min(r,n[0]));return i}function yc(e,t,r){let i=[{fixed:-1,stretch:0}];for(let[n,a]of e){let s=i[i.length-1];i.push({fixed:n-s.stretch,stretch:s.stretch}),i.push({fixed:n-s.stretch,stretch:s.stretch+(a-n)})}return i.push({fixed:t+1,stretch:r}),i}function Hn(e,t,r,i){return e/t*r+i}function Kn(e,t,r,i){return e-t*r/i}function gb(e,t,r,i,n,a,s,o){let l=i.layout.get("text-rotate").evaluate(a,{})*Math.PI/180,u=[];for(let h of t.positionedLines)for(let c of h.positionedGlyphs){if(!c.rect)continue;let p=c.rect||{},f=4,d=!0,y=1,m=0,g=(n||o)&&c.vertical,x=c.metrics.advance*c.scale/2;if(o&&t.verticalizable){let M=(c.scale-1)*24,z=(24-c.metrics.width*c.scale)/2;m=h.lineOffset/2-(c.imageName?-z:M)}if(c.imageName){let M=s[c.imageName];d=M.sdf,y=M.pixelRatio,f=1/y}let v=n?[c.x+x,c.y]:[0,0],b=n?[0,0]:[c.x+x+r[0],c.y+r[1]-m],w=[0,0];g&&(w=b,b=[0,0]);let _=c.metrics.isDoubleResolution?2:1,S=(c.metrics.left-f)*c.scale-x+b[0],A=(-c.metrics.top-f)*c.scale+b[1],T=S+p.w/_*c.scale/y,L=A+p.h/_*c.scale/y,O=new B(S,A),P=new B(T,A),V=new B(S,L),F=new B(T,L);if(g){let M=new B(-x,x- -17),z=-Math.PI/2,te=12-x,fe=c.imageName?te:0,ue=new B(22-te,-fe),he=new B(...w);O._rotateAround(z,M)._add(ue)._add(he),P._rotateAround(z,M)._add(ue)._add(he),V._rotateAround(z,M)._add(ue)._add(he),F._rotateAround(z,M)._add(ue)._add(he)}if(l){let M=Math.sin(l),z=Math.cos(l),te=[z,-M,M,z];O._matMult(te),P._matMult(te),V._matMult(te),F._matMult(te)}let $=new B(0,0),G=new B(0,0);u.push({tl:O,tr:P,bl:V,br:F,tex:p,writingMode:t.writingMode,glyphOffset:v,sectionIndex:c.sectionIndex,isSDF:d,pixelOffsetTL:$,pixelOffsetBR:G,minFontScaleX:0,minFontScaleY:0})}return u}var Jn=class{constructor(e,t,r,i,n,a,s,o,l,u){var h;if(this.boxStartIndex=e.length,l){let c=a.top,p=a.bottom,f=a.collisionPadding;f&&(c-=f[1],p+=f[3]);let d=p-c;d>0&&(d=Math.max(10,d),this.circleDiameter=d)}else{let c=(h=a.image)!=null&&h.content&&(a.image.textFitWidth||a.image.textFitHeight)?Fd(a):{x1:a.left,y1:a.top,x2:a.right,y2:a.bottom};c.y1=c.y1*s-o[0],c.y2=c.y2*s+o[2],c.x1=c.x1*s-o[3],c.x2=c.x2*s+o[1];let p=a.collisionPadding;if(p&&(c.x1-=p[0]*s,c.y1-=p[1]*s,c.x2+=p[2]*s,c.y2+=p[3]*s),u){let f=new B(c.x1,c.y1),d=new B(c.x2,c.y1),y=new B(c.x1,c.y2),m=new B(c.x2,c.y2),g=u*Math.PI/180;f._rotate(g),d._rotate(g),y._rotate(g),m._rotate(g),c.x1=Math.min(f.x,d.x,y.x,m.x),c.x2=Math.max(f.x,d.x,y.x,m.x),c.y1=Math.min(f.y,d.y,y.y,m.y),c.y2=Math.max(f.y,d.y,y.y,m.y)}e.emplaceBack(t.x,t.y,c.x1,c.y1,c.x2,c.y2,r,i,n)}this.boxEndIndex=e.length}},xb=class{constructor(e=[],t=(r,i)=>r<i?-1:+(r>i)){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let r=(this.length>>1)-1;r>=0;r--)this._down(r)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(this.length===0)return;let e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){let{data:t,compare:r}=this,i=t[e];for(;e>0;){let n=e-1>>1,a=t[n];if(r(i,a)>=0)break;t[e]=a,e=n}t[e]=i}_down(e){let{data:t,compare:r}=this,i=this.length>>1,n=t[e];for(;e<i;){let a=(e<<1)+1,s=a+1;if(s<this.length&&r(t[s],t[a])<0&&(a=s),r(t[a],n)>=0)break;t[e]=t[a],e=a}t[e]=n}};function vb(e,t=1){let r=_a.fromPoints(e[0]),i=Math.min(r.width(),r.height()),n=i/2,a=new xb([],bb),{minX:s,minY:o,maxX:l,maxY:u}=r;if(i===0)return new B(s,o);for(let p=s;p<l;p+=i)for(let f=o;f<u;f+=i)a.push(new Or(p+n,f+n,n,e));let h=Db(e),c=h;for(;a.length;){let p=a.pop();(p.d>c.d||!c.d)&&(c=p),!(p.max-c.d<=t)&&(n=p.h/2,a.push(new Or(p.p.x-n,p.p.y-n,n,e)),a.push(new Or(p.p.x+n,p.p.y-n,n,e)),a.push(new Or(p.p.x-n,p.p.y+n,n,e)),a.push(new Or(p.p.x+n,p.p.y+n,n,e)))}return h.d>0&&c.d-h.d<=t?h.p:c.p}function bb(e,t){return t.max-e.max}var Or=class{constructor(e,t,r,i){this.p=new B(e,t),this.h=r,this.d=wb(this.p,i),this.max=this.d+this.h*Math.SQRT2}};function wb(e,t){let r=!1,i=1/0;for(let n of t)for(let a=0,s=n.length,o=s-1;a<s;o=a++){let l=n[a],u=n[o];l.y>e.y!=u.y>e.y&&e.x<(u.x-l.x)*(e.y-l.y)/(u.y-l.y)+l.x&&(r=!r),i=Math.min(i,If(e,l,u))}return(r?1:-1)*Math.sqrt(i)}function Db(e){let t=0,r=0,i=0,n=e[0];for(let a=0,s=n.length,o=s-1;a<s;o=a++){let l=n[a],u=n[o],h=l.x*u.y-u.x*l.y;r+=(l.x+u.x)*h,i+=(l.y+u.y)*h,t+=h*3}return new Or(r/t,i/t,0,e)}let _b=(function(e){return e[e.center=1]="center",e[e.left=2]="left",e[e.right=3]="right",e[e.top=4]="top",e[e.bottom=5]="bottom",e[e["top-left"]=6]="top-left",e[e["top-right"]=7]="top-right",e[e["bottom-left"]=8]="bottom-left",e[e["bottom-right"]=9]="bottom-right",e})({});const Xl=1/0;function Md(e,t){function r(n,a){let s=0,o=0;a<0&&(a=0);let l=a/Math.SQRT2;switch(n){case"top-right":case"top-left":o=l-7;break;case"bottom-right":case"bottom-left":o=-l+7;break;case"bottom":o=-a+7;break;case"top":o=a-7}switch(n){case"top-right":case"bottom-right":s=-l;break;case"top-left":case"bottom-left":s=l;break;case"left":s=a;break;case"right":s=-a}return[s,o]}function i(n,a,s){let o=0,l=0;switch(a=Math.abs(a),s=Math.abs(s),n){case"top-right":case"top-left":case"top":l=s-7;break;case"bottom-right":case"bottom-left":case"bottom":l=-s+7}switch(n){case"top-right":case"bottom-right":case"right":o=-a;break;case"top-left":case"bottom-left":case"left":o=a}return[o,l]}return t[1]===Xl?r(e,t[0]):i(e,t[0],t[1])}function zd(e,t,r){var s;let i=e.layout,n=(s=i.get("text-variable-anchor-offset"))==null?void 0:s.evaluate(t,{},r);if(n){let o=n.values,l=[];for(let u=0;u<o.length;u+=2){let h=l[u]=o[u],c=o[u+1].map(p=>p*24);h.startsWith("top")?c[1]-=7:h.startsWith("bottom")&&(c[1]+=7),l[u+1]=c}return new wt(l)}let a=i.get("text-variable-anchor");if(a){let o;o=e._unevaluatedLayout.getValue("text-radial-offset")===void 0?i.get("text-offset").evaluate(t,{},r).map(u=>u*24):[i.get("text-radial-offset").evaluate(t,{},r)*24,Xl];let l=[];for(let u of a)l.push(u,Md(u,o));return new wt(l)}return null}function Sb(e){var h,c;e.bucket.createArrays();let t=512*e.bucket.overscaling;e.bucket.tilePixelRatio=xe/t,e.bucket.compareText={},e.bucket.iconsNeedLinear=!1;let r=e.bucket.layers[0],i=r.layout,n=r._unevaluatedLayout._values,a={layoutIconSize:n["icon-size"].possiblyEvaluate(new se(e.bucket.zoom+1),e.canonical),layoutTextSize:n["text-size"].possiblyEvaluate(new se(e.bucket.zoom+1),e.canonical),textMaxSize:n["text-size"].possiblyEvaluate(new se(18))};if(e.bucket.textSizeData.kind==="composite"){let{minZoom:p,maxZoom:f}=e.bucket.textSizeData;a.compositeTextSizes=[n["text-size"].possiblyEvaluate(new se(p),e.canonical),n["text-size"].possiblyEvaluate(new se(f),e.canonical)]}if(e.bucket.iconSizeData.kind==="composite"){let{minZoom:p,maxZoom:f}=e.bucket.iconSizeData;a.compositeIconSizes=[n["icon-size"].possiblyEvaluate(new se(p),e.canonical),n["icon-size"].possiblyEvaluate(new se(f),e.canonical)]}let s=i.get("text-line-height")*24,o=i.get("text-rotation-alignment")!=="viewport"&&i.get("symbol-placement")!=="point",l=i.get("text-keep-upright"),u=i.get("text-size");for(let p of e.bucket.features){let f=i.get("text-font").evaluate(p,{},e.canonical).join(","),d=u.evaluate(p,{},e.canonical),y=a.layoutTextSize.evaluate(p,{},e.canonical),m=a.layoutIconSize.evaluate(p,{},e.canonical),g={horizontal:{},vertical:void 0},x=p.text,v=[0,0];if(x){let S=x.toString(),A=i.get("text-letter-spacing").evaluate(p,{},e.canonical)*24,T=av(S)?A:0,L=i.get("text-anchor").evaluate(p,{},e.canonical),O=zd(r,p,e.canonical);if(!O){let $=i.get("text-radial-offset").evaluate(p,{},e.canonical);v=$?Md(L,[$*24,Xl]):i.get("text-offset").evaluate(p,{},e.canonical).map(G=>G*24)}let P=o?"center":i.get("text-justify").evaluate(p,{},e.canonical),V=i.get("symbol-placement")==="point"?i.get("text-max-width").evaluate(p,{},e.canonical)*24:1/0,F=()=>{e.bucket.allowVerticalPlacement&&qo(S)&&(g.vertical=Wn(x,e.glyphMap,e.glyphPositions,e.imagePositions,f,V,s,L,"left",T,v,2,!0,y,d))};if(!o&&O){let $=new Set;if(P==="auto")for(let M=0;M<O.values.length;M+=2)$.add(mc(O.values[M]));else $.add(P);let G=!1;for(let M of $)if(!g.horizontal[M])if(G)g.horizontal[M]=g.horizontal[0];else{let z=Wn(x,e.glyphMap,e.glyphPositions,e.imagePositions,f,V,s,"center",M,T,v,1,!1,y,d);z&&(g.horizontal[M]=z,G=z.positionedLines.length===1)}F()}else{P==="auto"&&(P=mc(L));let $=Wn(x,e.glyphMap,e.glyphPositions,e.imagePositions,f,V,s,L,P,T,v,1,!1,y,d);$&&(g.horizontal[P]=$),F(),qo(S)&&o&&l&&(g.vertical=Wn(x,e.glyphMap,e.glyphPositions,e.imagePositions,f,V,s,L,P,T,v,2,!1,y,d))}}let b,w=!1;if((h=p.icon)!=null&&h.name){let S=e.imageMap[p.icon.name];S&&(b=sb(e.imagePositions[p.icon.name],i.get("icon-offset").evaluate(p,{},e.canonical),i.get("icon-anchor").evaluate(p,{},e.canonical)),w=!!S.sdf,e.bucket.sdfIcons===void 0?e.bucket.sdfIcons=w:e.bucket.sdfIcons!==w&&Be("Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer"),S.pixelRatio===e.bucket.pixelRatio?i.get("icon-rotate").constantOr(1)!==0&&(e.bucket.iconsNeedLinear=!0):e.bucket.iconsNeedLinear=!0)}let _=Ld(g.horizontal)||g.vertical;(c=e.bucket).iconsInText||(c.iconsInText=_?_.iconsInText:!1),(_||b)&&Ab(e.bucket,p,g,b,e.imageMap,a,y,m,v,w,e.canonical,e.subdivisionGranularity,e.hasPromoteId)}e.showCollisionBoxes&&e.bucket.generateCollisionDebugBuffers()}function mc(e){switch(e){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function Ab(e,t,r,i,n,a,s,o,l,u,h,c,p){let f=a.textMaxSize.evaluate(t,{});f===void 0&&(f=s);let d=e.layers[0].layout,y=d.get("icon-offset").evaluate(t,{},h),m=Ld(r.horizontal),g=s/24,x=e.tilePixelRatio*g,v=e.tilePixelRatio*f/24,b=e.tilePixelRatio*o,w=e.tilePixelRatio*d.get("symbol-spacing"),_=d.get("text-padding")*e.tilePixelRatio,S=Rb(d,t,h,e.tilePixelRatio),A=d.get("text-max-angle")/180*Math.PI,T=d.get("text-rotation-alignment")!=="viewport"&&d.get("symbol-placement")!=="point",L=d.get("icon-rotation-alignment").constantOr("viewport")==="map"&&d.get("symbol-placement")!=="point",O=d.get("symbol-placement"),P=w/2,V=d.get("icon-text-fit"),F;i&&V!=="none"&&(e.allowVerticalPlacement&&r.vertical&&(F=uc(i,r.vertical,V,d.get("icon-text-fit-padding"),y,g)),m&&(i=uc(i,m,V,d.get("icon-text-fit-padding"),y,g)));let $=h?c.line.getGranularityForZoomLevel(h.z):1,G=(M,z)=>{z.x<0||z.x>=8192||z.y<0||z.y>=8192||Fb(e,z,M,r,i,n,F,e.layers[0],e.collisionBoxArray,t.index,t.sourceLayerIndex,e.index,x,[_,_,_,_],T,l,b,S,L,y,t,a,u,h,s,p)};if(O==="line")for(let M of cb(t.geometry,0,0,xe,xe)){let z=ur(M,$),te=hb(z,w,A,r.vertical||m,i,24,v,e.overscaling,xe);for(let fe of te){let ue=m;(!ue||!Tb(e,ue.text,P,fe))&&G(z,fe)}}else if(O==="line-center"){for(let M of t.geometry)if(M.length>1){let z=ur(M,$),te=ub(z,A,r.vertical||m,i,24,v);te&&G(z,te)}}else if(t.type==="Polygon")for(let M of Ba(t.geometry,0)){let z=vb(M,16);G(ur(M[0],$,!0),new Yr(z.x,z.y,0))}else if(t.type==="LineString")for(let M of t.geometry){let z=ur(M,$);G(z,new Yr(z[0].x,z[0].y,0))}else if(t.type==="Point")for(let M of t.geometry)for(let z of M)G([z],new Yr(z.x,z.y,0))}function Eb(e,t){let r=e.length,i=t==null?void 0:t.values;if((i==null?void 0:i.length)>0)for(let n=0;n<i.length;n+=2){let a=_b[i[n]],s=i[n+1];e.emplaceBack(a,s[0],s[1])}return[r,e.length]}function gc(e,t,r,i,n,a,s,o,l,u,h,c,p,f,d,y){let m=gb(t,r,o,n,a,s,i,e.allowVerticalPlacement),g=e.textSizeData,x=null;g.kind==="source"?(x=[128*n.layout.get("text-size").evaluate(s,{})],x[0]>32640&&Be(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)):g.kind==="composite"&&(x=[128*d.compositeTextSizes[0].evaluate(s,{},y),128*d.compositeTextSizes[1].evaluate(s,{},y)],(x[0]>32640||x[1]>32640)&&Be(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)),e.addSymbols(e.text,m,x,o,a,s,h,t,u.lineStartIndex,u.lineLength,f,y,l);for(let v of c)p[v]=e.text.placedSymbolArray.length-1;return m.length*4}function Ld(e){for(let t in e)return e[t];return null}function Fb(e,t,r,i,n,a,s,o,l,u,h,c,p,f,d,y,m,g,x,v,b,w,_,S,A,T){let L=e.addToLineVertexArray(t,r),O=o.layout.get("symbol-height-offset").evaluate(b,{},S);O>e.maxHeightOffset&&(e.maxHeightOffset=O);let P,V,F,$,G=0,M=0,z=0,te=0,fe=-1,ue=-1,he={},Ze=(0,va.default)("");if(e.allowVerticalPlacement&&i.vertical){let Y=o.layout.get("text-rotate").evaluate(b,{},S)+90,k=i.vertical;F=new Jn(l,t,u,h,c,k,p,f,d,Y),s&&($=new Jn(l,t,u,h,c,s,m,g,d,Y))}if(n){let Y=o.layout.get("icon-rotate").evaluate(b,{}),k=o.layout.get("icon-text-fit")!=="none",ae=dc(n,Y,_,k),X=s?dc(s,Y,_,k):void 0;V=new Jn(l,t,u,h,c,n,m,g,!1,Y),G=ae.length*4;let K=e.iconSizeData,j=null;K.kind==="source"?(j=[128*o.layout.get("icon-size").evaluate(b,{})],j[0]>32640&&Be(`${e.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)):K.kind==="composite"&&(j=[128*w.compositeIconSizes[0].evaluate(b,{},S),128*w.compositeIconSizes[1].evaluate(b,{},S)],(j[0]>32640||j[1]>32640)&&Be(`${e.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)),e.addSymbols(e.icon,ae,j,v,x,b,0,t,L.lineStartIndex,L.lineLength,-1,S,O),fe=e.icon.placedSymbolArray.length-1,X&&(M=X.length*4,e.addSymbols(e.icon,X,j,v,x,b,2,t,L.lineStartIndex,L.lineLength,-1,S,O),ue=e.icon.placedSymbolArray.length-1)}let Ue=Object.keys(i.horizontal);for(let Y of Ue){let k=i.horizontal[Y];P||(P=(Ze=(0,va.default)(k.text),new Jn(l,t,u,h,c,k,p,f,d,o.layout.get("text-rotate").evaluate(b,{},S))));let ae=k.positionedLines.length===1;if(z+=gc(e,t,k,a,o,d,b,y,O,L,i.vertical?1:3,ae?Ue:[Y],he,fe,w,S),ae)break}i.vertical&&(te+=gc(e,t,i.vertical,a,o,d,b,y,O,L,2,["vertical"],he,ue,w,S));let He=P?P.boxStartIndex:e.collisionBoxArray.length,Vt=P?P.boxEndIndex:e.collisionBoxArray.length,qe=F?F.boxStartIndex:e.collisionBoxArray.length,Ot=F?F.boxEndIndex:e.collisionBoxArray.length,Rt=V?V.boxStartIndex:e.collisionBoxArray.length,Qt=V?V.boxEndIndex:e.collisionBoxArray.length,ui=$?$.boxStartIndex:e.collisionBoxArray.length,At=$?$.boxEndIndex:e.collisionBoxArray.length,Re=-1,Et=(Y,k)=>Y!=null&&Y.circleDiameter?Math.max(Y.circleDiameter,k):k;Re=Et(P,Re),Re=Et(F,Re),Re=Et(V,Re),Re=Et($,Re);let er=+(Re>-1);er&&(Re*=A/24),e.glyphOffsetArray.length>=e.maxGlyphs&&Be("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),b.sortKey!==void 0&&e.addToSortKeyRanges(e.symbolInstances.length,b.sortKey);let Ar=zd(o,b,S),[N,ne]=Eb(e.textAnchorOffsets,Ar);T&&(Ze=kb(Ze,b)),e.symbolInstances.emplaceBack(t.x,t.y,he.right>=0?he.right:-1,he.center>=0?he.center:-1,he.left>=0?he.left:-1,he.vertical||-1,fe,ue,Ze,He,Vt,qe,Ot,Rt,Qt,ui,At,u,z,te,G,M,er,0,p,Re,N,ne,O)}function Tb(e,t,r,i){let n=e.compareText;if(!(t in n))n[t]=[];else{let a=n[t];for(let s=a.length-1;s>=0;s--)if(i.dist(a[s])<r)return!0}return n[t].push(i),!1}function kb(e,t){var r;return t.id==null||(r=t.properties)!=null&&r.cluster?e:(0,va.default)(String(t.id),e)}function xc(e,t,r){let i="never",n=e.get(t);return n?i=n:e.get(r)&&(i="always"),i}const Ib=[{name:"a_fade_opacity",components:1,type:"Uint8",offset:0}];function Qn(e,t,r,i,n,a,s,o,l,u,h,c,p,f){let d=o?Math.min(hc,Math.round(o[0])):0,y=o?Math.min(hc,Math.round(o[1])):0;e.emplaceBack(t,r,Math.round(i*32),Math.round(n*32),a,s,(d<<1)+ +!!l,y,u*16,h*16,c*256,p*256,f)}function Cb(e,t,r){e.emplaceBack(t.x,t.y,r),e.emplaceBack(t.x,t.y,r),e.emplaceBack(t.x,t.y,r),e.emplaceBack(t.x,t.y,r)}function Bb(e){for(let t of e.sections)if(yd(t.text))return!0;return!1}var Yo=class{constructor(e){this.layoutVertexArray=new Cg,this.indexArray=new mn,this.programConfigurations=e,this.segments=new tt,this.dynamicLayoutVertexArray=new Bg,this.opacityVertexArray=new Pg,this.hasVisibleVertices=!1,this.placedSymbolArray=new yf}isEmpty(){return this.layoutVertexArray.length===0&&this.indexArray.length===0&&this.dynamicLayoutVertexArray.length===0&&this.opacityVertexArray.length===0}upload(e,t,r,i){this.isEmpty()||(r&&(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,I2.members),this.indexBuffer=e.createIndexBuffer(this.indexArray,t),this.dynamicLayoutVertexBuffer=e.createVertexBuffer(this.dynamicLayoutVertexArray,C2.members,!0),this.opacityVertexBuffer=e.createVertexBuffer(this.opacityVertexArray,Ib,!0),this.opacityVertexBuffer.itemSize=1),(r||i)&&this.programConfigurations.upload(e))}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())}};C("SymbolBuffers",Yo);var Wo=class{constructor(e,t,r){this.layoutVertexArray=new e,this.layoutAttributes=t,this.indexArray=new r,this.segments=new tt,this.collisionVertexArray=new Mg}upload(e){this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=e.createVertexBuffer(this.collisionVertexArray,B2.members,!0)}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())}};C("CollisionBuffers",Wo);var Vd=class{constructor(e){this.collisionBoxArray=e.collisionBoxArray,this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(s=>s.id),this.index=e.index,this.pixelRatio=e.pixelRatio,this.sourceLayerIndex=e.sourceLayerIndex,this.hasDependencies=!0,this.hasRTLText=!1,this.maxHeightOffset=0,this.sortKeyRanges=[],this.collisionCircleArray=[],this.maxGlyphs=65535;let t=this.layers[0]._unevaluatedLayout._values;this.textSizeData=cc(this.zoom,t["text-size"]),this.iconSizeData=cc(this.zoom,t["icon-size"]);let r=this.layers[0].layout,i=r.get("symbol-sort-key"),n=r.get("symbol-z-order");this.canOverlap=xc(r,"text-overlap","text-allow-overlap")!=="never"||xc(r,"icon-overlap","icon-allow-overlap")!=="never"||r.get("text-ignore-placement")||r.get("icon-ignore-placement"),this.sortFeaturesByKey=n!=="viewport-y"&&!i.isConstant();let a=n==="viewport-y"||n==="auto"&&!this.sortFeaturesByKey;this.sortFeaturesByY=a&&this.canOverlap,r.get("symbol-placement")==="point"&&(this.writingModes=r.get("text-writing-mode").map(s=>Dd[s])),this.stateDependentLayerIds=this.layers.filter(s=>s.isStateDependent()).map(s=>s.id),this.sourceID=e.sourceID}createArrays(){this.text=new Yo(new gr(this.layers,this.zoom,e=>e.startsWith("text"))),this.icon=new Yo(new gr(this.layers,this.zoom,e=>e.startsWith("icon"))),this.glyphOffsetArray=new xf,this.lineVertexArray=new vf,this.symbolInstances=new gf,this.textAnchorOffsets=new wf}calculateGlyphDependencies(e,t,r,i,n){var l;let a=(i||this.allowVerticalPlacement)&&n,s=jl.fromFeature(e,r),o=s.graphemes();for(let u=0;u<o.length;u++){let h=s.getSection(u);if("imageName"in h)continue;let c=(t[l=h.fontStack]||(t[l]={default:{}})).default,p=o[u];pd(p)&&(c[p]=!0);for(let f of p){if(c[f]=!0,!a)continue;let d=$r[f];d&&(c[d]=!0)}}}populate(e,t,r){var y;let i=this.layers[0],n=i.layout,a=n.get("text-font"),s=n.get("text-field"),o=n.get("icon-image"),l=(s.value.kind!=="constant"||s.value.value instanceof zt&&!s.value.value.isEmpty()||s.value.value.toString().length>0)&&(a.value.kind!=="constant"||a.value.value.length>0),u=o.value.kind!=="constant"||!!o.value.value||Object.keys(o.parameters).length>0,h=n.get("symbol-sort-key");if(this.features=[],!l&&!u)return;let c=t.iconDependencies,p=t.glyphDependencies,f=t.availableImages,d=new se(this.zoom);for(let{feature:m,id:g,index:x,sourceLayerIndex:v}of e){let b=i._featureFilter.needGeometry,w=si(m,b);if(!i._featureFilter.filter(d,w,r))continue;b||(w.geometry=wr(m));let _;if(l){let L=i.getValueAndResolveTokens("text-field",w,r,f),O=zt.factory(L);this.hasRTLText||(this.hasRTLText=Bb(O)),_=tv(O,i,w)}let S;if(u){let L=i.getValueAndResolveTokens("icon-image",w,r,f);S=L instanceof Dt?L:Dt.fromString(L)}if(!_&&!S)continue;let A=this.sortFeaturesByKey?h.evaluate(w,{},r):void 0,T={id:g,text:_,icon:S,index:x,sourceLayerIndex:v,geometry:w.geometry,properties:m.properties,type:gn.types[m.type],sortKey:A};if(this.features.push(T),S&&(c[S.name]=!0),_){let L=a.evaluate(w,{},r).join(","),O=n.get("text-rotation-alignment")!=="viewport"&&n.get("symbol-placement")!=="point";this.allowVerticalPlacement=(y=this.writingModes)==null?void 0:y.includes(2);let P=qo(_.toString());this.calculateGlyphDependencies(_,p,L,O,P);for(let V of _.sections)V.image&&(c[V.image.name]=!0)}}n.get("symbol-placement")==="line"&&(this.features=iv(this.features)),this.sortFeaturesByKey&&this.features.sort((m,g)=>m.sortKey-g.sortKey)}update(e,t,r){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(e,t,this.layers,{imagePositions:r}),this.icon.programConfigurations.updatePaintArrays(e,t,this.layers,{imagePositions:r}))}addFeatures({options:e,canonical:t,glyphMap:r,glyphPositions:i,iconMap:n,iconPositions:a,showCollisionBoxes:s}){Sb({bucket:this,glyphMap:r,glyphPositions:i,imageMap:n,imagePositions:a,showCollisionBoxes:s,canonical:t,subdivisionGranularity:e.subdivisionGranularity,hasPromoteId:e.featureIndex.promoteId!=null})}isEmpty(){return this.symbolInstances.length===0}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(e){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(e),this.iconCollisionBox.upload(e)),this.text.upload(e,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(e,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(e,t){let r=this.lineVertexArray.length;if(e.segment!==void 0){let i=e.dist(t[e.segment+1]),n=e.dist(t[e.segment]),a={};for(let s=e.segment+1;s<t.length;s++)a[s]={x:t[s].x,y:t[s].y,tileUnitDistanceFromAnchor:i},s<t.length-1&&(i+=t[s+1].dist(t[s]));for(let s=e.segment||0;s>=0;s--)a[s]={x:t[s].x,y:t[s].y,tileUnitDistanceFromAnchor:n},s>0&&(n+=t[s-1].dist(t[s]));for(let s=0;s<t.length;s++){let o=a[s];this.lineVertexArray.emplaceBack(o.x,o.y,o.tileUnitDistanceFromAnchor)}}return{lineStartIndex:r,lineLength:this.lineVertexArray.length-r}}addSymbols(e,t,r,i,n,a,s,o,l,u,h,c,p){let f=e.indexArray,d=e.layoutVertexArray,y=e.segments.prepareSegment(4*t.length,d,f,this.canOverlap?a.sortKey:void 0),m=this.glyphOffsetArray.length,g=y.vertexLength,x=this.allowVerticalPlacement&&s===2?Math.PI/2:0,v=a.text&&a.text.sections;for(let b=0;b<t.length;b++){let{tl:w,tr:_,bl:S,br:A,tex:T,pixelOffsetTL:L,pixelOffsetBR:O,minFontScaleX:P,minFontScaleY:V,glyphOffset:F,isSDF:$,sectionIndex:G}=t[b],M=y.vertexLength,z=F[1];Qn(d,o.x,o.y,w.x,z+w.y,T.x,T.y,r,$,L.x,L.y,P,V,p),Qn(d,o.x,o.y,_.x,z+_.y,T.x+T.w,T.y,r,$,O.x,L.y,P,V,p),Qn(d,o.x,o.y,S.x,z+S.y,T.x,T.y+T.h,r,$,L.x,O.y,P,V,p),Qn(d,o.x,o.y,A.x,z+A.y,T.x+T.w,T.y+T.h,r,$,O.x,O.y,P,V,p),Cb(e.dynamicLayoutVertexArray,o,x),f.emplaceBack(M,M+2,M+1),f.emplaceBack(M+1,M+2,M+3),y.vertexLength+=4,y.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(F[0]),(b===t.length-1||G!==t[b+1].sectionIndex)&&e.programConfigurations.populatePaintArrays(d.length,a,a.index,{imagePositions:{},canonical:c,formattedSection:v==null?void 0:v[G]})}e.placedSymbolArray.emplaceBack(o.x,o.y,m,this.glyphOffsetArray.length-m,g,l,u,o.segment,r?r[0]:0,r?r[1]:0,i[0],i[1],s,0,!1,0,h,p)}_addCollisionDebugVertex(e,t,r,i,n,a){return t.emplaceBack(0,0),e.emplaceBack(r.x,r.y,i,n,Math.round(a.x),Math.round(a.y))}addCollisionDebugVertices(e,t,r,i,n,a,s){let o=n.segments.prepareSegment(4,n.layoutVertexArray,n.indexArray),l=o.vertexLength,u=n.layoutVertexArray,h=n.collisionVertexArray,c=s.anchorX,p=s.anchorY;this._addCollisionDebugVertex(u,h,a,c,p,new B(e,t)),this._addCollisionDebugVertex(u,h,a,c,p,new B(r,t)),this._addCollisionDebugVertex(u,h,a,c,p,new B(r,i)),this._addCollisionDebugVertex(u,h,a,c,p,new B(e,i)),o.vertexLength+=4;let f=n.indexArray;f.emplaceBack(l,l+1),f.emplaceBack(l+1,l+2),f.emplaceBack(l+2,l+3),f.emplaceBack(l+3,l),o.primitiveLength+=4}addDebugCollisionBoxes(e,t,r,i){for(let n=e;n<t;n++){let a=this.collisionBoxArray.get(n),s=a.x1,o=a.y1,l=a.x2,u=a.y2;this.addCollisionDebugVertices(s,o,l,u,i?this.textCollisionBox:this.iconCollisionBox,a.anchorPoint,r)}}generateCollisionDebugBuffers(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new Wo(Dh,Xh.members,_o),this.iconCollisionBox=new Wo(Dh,Xh.members,_o);for(let e=0;e<this.symbolInstances.length;e++){let t=this.symbolInstances.get(e);this.addDebugCollisionBoxes(t.textBoxStartIndex,t.textBoxEndIndex,t,!0),this.addDebugCollisionBoxes(t.verticalTextBoxStartIndex,t.verticalTextBoxEndIndex,t,!0),this.addDebugCollisionBoxes(t.iconBoxStartIndex,t.iconBoxEndIndex,t,!1),this.addDebugCollisionBoxes(t.verticalIconBoxStartIndex,t.verticalIconBoxEndIndex,t,!1)}}_deserializeCollisionBoxesForSymbol(e,t,r,i,n,a,s,o,l){let u={};for(let h=t;h<r;h++){let c=e.get(h);u.textBox={x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2,anchorPointX:c.anchorPointX,anchorPointY:c.anchorPointY},u.textFeatureIndex=c.featureIndex;break}for(let h=i;h<n;h++){let c=e.get(h);u.verticalTextBox={x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2,anchorPointX:c.anchorPointX,anchorPointY:c.anchorPointY},u.verticalTextFeatureIndex=c.featureIndex;break}for(let h=a;h<s;h++){let c=e.get(h);u.iconBox={x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2,anchorPointX:c.anchorPointX,anchorPointY:c.anchorPointY},u.iconFeatureIndex=c.featureIndex;break}for(let h=o;h<l;h++){let c=e.get(h);u.verticalIconBox={x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2,anchorPointX:c.anchorPointX,anchorPointY:c.anchorPointY},u.verticalIconFeatureIndex=c.featureIndex;break}return u}deserializeCollisionBoxes(e){this.collisionArrays=[];for(let t=0;t<this.symbolInstances.length;t++){let r=this.symbolInstances.get(t);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(e,r.textBoxStartIndex,r.textBoxEndIndex,r.verticalTextBoxStartIndex,r.verticalTextBoxEndIndex,r.iconBoxStartIndex,r.iconBoxEndIndex,r.verticalIconBoxStartIndex,r.verticalIconBoxEndIndex))}}hasTextData(){return this.text.segments.get().length>0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(e,t){let r=e.placedSymbolArray.get(t),i=r.vertexStartIndex+r.numGlyphs*4;for(let n=r.vertexStartIndex;n<i;n+=4)e.indexArray.emplaceBack(n,n+2,n+1),e.indexArray.emplaceBack(n+1,n+2,n+3)}getSortedSymbolIndexes(e){if(this.sortedAngle===e&&this.symbolInstanceIndexes!==void 0)return this.symbolInstanceIndexes;let t=Math.sin(e),r=Math.cos(e),i=[],n=[],a=[];for(let s=0;s<this.symbolInstances.length;++s){a.push(s);let o=this.symbolInstances.get(s);i.push(Math.round(t*o.anchorX+r*o.anchorY)|0),n.push(o.featureIndex)}return a.sort((s,o)=>i[s]-i[o]||n[o]-n[s]),a}addToSortKeyRanges(e,t){let r=this.sortKeyRanges[this.sortKeyRanges.length-1];(r==null?void 0:r.sortKey)===t?r.symbolInstanceEnd=e+1:this.sortKeyRanges.push({sortKey:t,symbolInstanceStart:e,symbolInstanceEnd:e+1})}sortFeatures(e){if(this.sortFeaturesByY&&this.sortedAngle!==e&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(e),this.sortedAngle=e,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let t of this.symbolInstanceIndexes){let r=this.symbolInstances.get(t);this.featureSortOrder.push(r.featureIndex);let i=[r.rightJustifiedTextSymbolIndex,r.centerJustifiedTextSymbolIndex,r.leftJustifiedTextSymbolIndex];for(let n=0;n<i.length;n++){let a=i[n];a>=0&&i.indexOf(a)===n&&this.addIndicesForPlacedSymbol(this.text,a)}r.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,r.verticalPlacedTextSymbolIndex),r.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,r.placedIconSymbolIndex),r.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,r.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}};C("SymbolBucket",Vd,{omit:["layers","collisionBoxArray","features","compareText"]});function Pb(e,t){return t.replace(/{([^{}]+)}/g,(r,i)=>e&&i in e?String(e[i]):"")}let Mb;const zb=()=>Mb||(Mb=new Ge({"symbol-placement":new R(D.layout_symbol["symbol-placement"],"symbol-placement"),"symbol-spacing":new R(D.layout_symbol["symbol-spacing"],"symbol-spacing"),"symbol-avoid-edges":new R(D.layout_symbol["symbol-avoid-edges"],"symbol-avoid-edges"),"symbol-sort-key":new U(D.layout_symbol["symbol-sort-key"],"symbol-sort-key"),"symbol-z-order":new R(D.layout_symbol["symbol-z-order"],"symbol-z-order"),"icon-allow-overlap":new R(D.layout_symbol["icon-allow-overlap"],"icon-allow-overlap"),"icon-overlap":new R(D.layout_symbol["icon-overlap"],"icon-overlap"),"icon-ignore-placement":new R(D.layout_symbol["icon-ignore-placement"],"icon-ignore-placement"),"icon-optional":new R(D.layout_symbol["icon-optional"],"icon-optional"),"icon-rotation-alignment":new U(D.layout_symbol["icon-rotation-alignment"],"icon-rotation-alignment"),"icon-size":new U(D.layout_symbol["icon-size"],"icon-size"),"icon-text-fit":new R(D.layout_symbol["icon-text-fit"],"icon-text-fit"),"icon-text-fit-padding":new R(D.layout_symbol["icon-text-fit-padding"],"icon-text-fit-padding"),"icon-image":new U(D.layout_symbol["icon-image"],"icon-image"),"icon-rotate":new U(D.layout_symbol["icon-rotate"],"icon-rotate"),"icon-padding":new U(D.layout_symbol["icon-padding"],"icon-padding"),"icon-keep-upright":new R(D.layout_symbol["icon-keep-upright"],"icon-keep-upright"),"icon-offset":new U(D.layout_symbol["icon-offset"],"icon-offset"),"icon-anchor":new U(D.layout_symbol["icon-anchor"],"icon-anchor"),"icon-pitch-alignment":new R(D.layout_symbol["icon-pitch-alignment"],"icon-pitch-alignment"),"text-pitch-alignment":new R(D.layout_symbol["text-pitch-alignment"],"text-pitch-alignment"),"text-rotation-alignment":new R(D.layout_symbol["text-rotation-alignment"],"text-rotation-alignment"),"text-field":new U(D.layout_symbol["text-field"],"text-field"),"text-font":new U(D.layout_symbol["text-font"],"text-font"),"text-size":new U(D.layout_symbol["text-size"],"text-size"),"text-max-width":new U(D.layout_symbol["text-max-width"],"text-max-width"),"text-line-height":new R(D.layout_symbol["text-line-height"],"text-line-height"),"text-letter-spacing":new U(D.layout_symbol["text-letter-spacing"],"text-letter-spacing"),"text-justify":new U(D.layout_symbol["text-justify"],"text-justify"),"text-radial-offset":new U(D.layout_symbol["text-radial-offset"],"text-radial-offset"),"text-variable-anchor":new R(D.layout_symbol["text-variable-anchor"],"text-variable-anchor"),"text-variable-anchor-offset":new U(D.layout_symbol["text-variable-anchor-offset"],"text-variable-anchor-offset"),"text-anchor":new U(D.layout_symbol["text-anchor"],"text-anchor"),"text-max-angle":new R(D.layout_symbol["text-max-angle"],"text-max-angle"),"text-writing-mode":new R(D.layout_symbol["text-writing-mode"],"text-writing-mode"),"text-rotate":new U(D.layout_symbol["text-rotate"],"text-rotate"),"text-padding":new R(D.layout_symbol["text-padding"],"text-padding"),"text-keep-upright":new R(D.layout_symbol["text-keep-upright"],"text-keep-upright"),"text-transform":new U(D.layout_symbol["text-transform"],"text-transform"),"text-offset":new U(D.layout_symbol["text-offset"],"text-offset"),"text-allow-overlap":new R(D.layout_symbol["text-allow-overlap"],"text-allow-overlap"),"text-overlap":new R(D.layout_symbol["text-overlap"],"text-overlap"),"text-ignore-placement":new R(D.layout_symbol["text-ignore-placement"],"text-ignore-placement"),"text-optional":new R(D.layout_symbol["text-optional"],"text-optional"),"symbol-height-offset":new U(D.layout_symbol["symbol-height-offset"],"symbol-height-offset"),"symbol-height-anchor":new R(D.layout_symbol["symbol-height-anchor"],"symbol-height-anchor")}));let Lb;const Vb=()=>Lb||(Lb=new Ge({"icon-opacity":new U(D.paint_symbol["icon-opacity"],"icon-opacity"),"icon-color":new U(D.paint_symbol["icon-color"],"icon-color"),"icon-halo-color":new U(D.paint_symbol["icon-halo-color"],"icon-halo-color"),"icon-halo-width":new U(D.paint_symbol["icon-halo-width"],"icon-halo-width"),"icon-halo-blur":new U(D.paint_symbol["icon-halo-blur"],"icon-halo-blur"),"icon-translate":new R(D.paint_symbol["icon-translate"],"icon-translate"),"icon-translate-anchor":new R(D.paint_symbol["icon-translate-anchor"],"icon-translate-anchor"),"text-opacity":new U(D.paint_symbol["text-opacity"],"text-opacity"),"text-color":new U(D.paint_symbol["text-color"],"text-color",{runtimeType:ct,getOverride:e=>e.textColor,hasOverride:e=>!!e.textColor}),"text-halo-color":new U(D.paint_symbol["text-halo-color"],"text-halo-color"),"text-halo-width":new U(D.paint_symbol["text-halo-width"],"text-halo-width"),"text-halo-blur":new U(D.paint_symbol["text-halo-blur"],"text-halo-blur"),"text-translate":new R(D.paint_symbol["text-translate"],"text-translate"),"text-translate-anchor":new R(D.paint_symbol["text-translate-anchor"],"text-translate-anchor")}));var Rs={get paint(){return Vb()},get layout(){return zb()}},Od=class{constructor(e){if(e.property.overrides===void 0)throw Error("overrides must be provided to instantiate FormatSectionOverride class");this.type=e.property.overrides?e.property.overrides.runtimeType:un,this.defaultValue=e}evaluate(e){if(e.formattedSection){let t=this.defaultValue.property.overrides;if(t!=null&&t.hasOverride(e.formattedSection))return t.getOverride(e.formattedSection)}return e.feature&&e.featureState?this.defaultValue.evaluate(e.feature,e.featureState):this.defaultValue.property.specification.default}eachChild(e){if(!this.defaultValue.isConstant()){let t=this.defaultValue.value;e(t._styleExpression.expression)}}outputDefined(){return!1}serialize(){return null}};C("FormatSectionOverride",Od,{omit:["defaultValue"]});var Ob=class Zo extends dt{constructor(t,r){super(t,Rs,r)}recalculate(t,r){super.recalculate(t,r);let i=this.layout.get("icon-rotation-alignment");if((i.value.kind!=="constant"||i.value.value==="auto")&&(this.layout._values["icon-rotation-alignment"]=new st(i.property,{kind:"constant",value:this.layout.get("symbol-placement")==="point"?"viewport":"map"},i.parameters)),this.layout.get("text-rotation-alignment")==="auto"&&(this.layout.get("symbol-placement")==="point"?this.layout._values["text-rotation-alignment"]="viewport":this.layout._values["text-rotation-alignment"]="map"),this.layout.get("text-pitch-alignment")==="auto"&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")==="map"?"map":"viewport"),this.layout.get("icon-pitch-alignment")==="auto"&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment").constantOr("viewport")),this.layout.get("symbol-placement")==="point"){let n=this.layout.get("text-writing-mode");if(n){let a=[];for(let s of n)a.includes(s)||a.push(s);this.layout._values["text-writing-mode"]=a}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()}getValueAndResolveTokens(t,r,i,n){let a=this.layout.get(t).evaluate(r,{},i,n),s=this._unevaluatedLayout._values[t];return!s.isDataDriven()&&!Va(s.value)&&a?Pb(r.properties,a):a}createBucket(t){return new Vd(t)}queryRadius(){return 0}queryIntersectsFeature(){throw Error("Should take a different path in FeatureIndex")}_setPaintOverrides(){for(let t of Rs.paint.overridableProperties){if(!Zo.hasPaintOverride(this.layout,t))continue;let r=this.paint.get(t),i=new bl(new Od(r),`layers[${this.id}].paint.${r.property.name}`,r.property.specification),n=null;n=r.value.kind==="constant"||r.value.kind==="source"?new Ki("source",i):new ya("composite",i,r.value.zoomStops),this.paint._values[t]=new st(r.property,n,r.parameters)}}_handleOverridablePaintPropertyUpdate(t,r,i){return!this.layout||r.isDataDriven()||i.isDataDriven()?!1:Zo.hasPaintOverride(this.layout,t)}static hasPaintOverride(t,r){let i=t.get("text-field"),n=Rs.paint.properties[r],a=!1,s=o=>{var l;for(let u of o)if((l=n.overrides)!=null&&l.hasOverride(u)){a=!0;return}};if(i.value.kind==="constant"&&i.value.value instanceof zt)s(i.value.value.sections);else if(i.value.kind==="source"||i.value.kind==="composite"){let o=u=>{if(!a)if(u instanceof Jr&&_e(u.value)===hn){let h=u.value;s(h.sections)}else u instanceof tp?s(u.sections):u.eachChild(o)},l=i.value;l._styleExpression&&o(l._styleExpression.expression)}return a}};function Rb(e,t,r,i=1){var a;let n=(a=e.get("icon-padding").evaluate(t,{},r))==null?void 0:a.values;return[n[0]*i,n[1]*i,n[2]*i,n[3]*i]}let $b;const Nb=()=>$b||($b=new Ge({"background-color":new R(D.paint_background["background-color"],"background-color"),"background-pattern":new cf(D.paint_background["background-pattern"],"background-pattern"),"background-opacity":new R(D.paint_background["background-opacity"],"background-opacity")}));var Ub={get paint(){return Nb()}},qb=class extends dt{constructor(e,t){super(e,Ub,t)}},jb=class extends dt{constructor(e,t){super(e,{},t),this.onAdd=r=>{this.implementation.onAdd&&this.implementation.onAdd(r,r.painter.context.gl)},this.onRemove=r=>{this.implementation.onRemove&&this.implementation.onRemove(r,r.painter.context.gl)},this.implementation=e}is3D(){return this.implementation.renderingMode==="3d"}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw Error("Custom layers cannot be serialized")}};function Gb(e,t){if(e.type==="custom")return new jb(e,t);switch(e.type){case"background":return new qb(e,t);case"circle":return new h0(e,t);case"color-relief":return new S0(e,t);case"fill":return new ax(e,t);case"fill-extrusion":return new Cx(e,t);case"heatmap":return new m0(e,t);case"hillshade":return new b0(e,t);case"line":return new k2(e,t);case"raster":return new Dg(e,t);case"symbol":return new Ob(e,t)}}var Xb=class{constructor(e){this._methodToThrottle=e,this._triggered=!1,this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle()}}trigger(){var e;this._triggered||(this._triggered=!0,(e=this._channel)==null||e.port1.postMessage(!0))}remove(){delete this._channel,this._methodToThrottle=()=>{}}};const Yb={once:!0};var Wb=class{constructor(e,t){this.target=e,this.mapId=t,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new Xb(()=>this.process()),this.subscription=Nu(this.target,"message",r=>this.receive(r),!1),this.globalScope=Zr(self)?e:window}registerMessageHandler(e,t){this.messageHandlers[e]=t}unregisterMessageHandler(e){delete this.messageHandlers[e]}sendAsync(e,t){return new Promise((r,i)=>{let n=Math.round(Math.random()*1e18).toString(36).substring(0,10),a=t?Nu(t.signal,"abort",()=>{a==null||a.unsubscribe(),delete this.resolveRejects[n];let l={id:n,type:"<cancel>",origin:location.origin,targetMapId:e.targetMapId,sourceMapId:this.mapId};this.target.postMessage(l),i(new nl(t.signal.reason))},Yb):null;this.resolveRejects[n]={resolve:l=>{a==null||a.unsubscribe(),r(l)},reject:l=>{a==null||a.unsubscribe(),i(l)}};let s=[],o={...e,id:n,sourceMapId:this.mapId,origin:location.origin,data:Ni(e.data,s)};this.target.postMessage(o,{transfer:s})})}receive(e){let t=e.data,r=t.id,i=["file://","resource://android","null"],n=[t.origin,location.origin],a=t.origin===location.origin,s=n.some(o=>i.includes(o));if((a||s)&&!(t.targetMapId&&this.mapId!==t.targetMapId)){if(t.type==="<cancel>"){delete this.tasks[r];let o=this.abortControllers[r];delete this.abortControllers[r],o&&o.abort();return}if(Zr(self)||t.mustQueue){this.tasks[r]=t,this.taskQueue.push(r),this.invoker.trigger();return}this.processTask(r,t)}}process(){if(this.taskQueue.length===0)return;let e=this.taskQueue.shift(),t=this.tasks[e];delete this.tasks[e],this.taskQueue.length>0&&this.invoker.trigger(),t&&this.processTask(e,t)}async processTask(e,t){if(t.type==="<response>"){let n=this.resolveRejects[e];if(delete this.resolveRejects[e],!n)return;t.error?n.reject(oa(Ui(t.error))):n.resolve(Ui(t.data));return}if(!this.messageHandlers[t.type]){this.completeTask(e,null,null);return}let r=Ui(t.data),i=new AbortController;this.abortControllers[e]=i;try{let n=await this.messageHandlers[t.type](t.sourceMapId,r,i);this.completeTask(e,null,n)}catch(n){this.completeTask(e,oa(n))}}completeTask(e,t,r){let i=[];delete this.abortControllers[e];let n={id:e,type:"<response>",sourceMapId:this.mapId,origin:location.origin,error:t?Ni(t):null,data:Ni(r,i)};this.target.postMessage(n,{transfer:i})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}};function Zb(e,t,r){return!(e<0||e>25||r<0||r>=2**e||t<0||t>=2**e)}var Rd=class{constructor(e,t,r){if(!Zb(e,t,r))throw Error(`x=${t}, y=${r}, z=${e} outside of bounds. 0<=x<${2**e}, 0<=y<${2**e} 0<=z<=25 `);this.z=e,this.x=t,this.y=r,this.key=ji(0,e,e,t,r)}equals(e){return this.z===e.z&&this.x===e.x&&this.y===e.y}url(e,t,r){let i=Kb(this.x,this.y,this.z),n=Jb(this.z,this.x,this.y);return e[(this.x+this.y)%e.length].replace(/{prefix}/g,(this.x%16).toString(16)+(this.y%16).toString(16)).replace(/{z}/g,String(this.z)).replace(/{x}/g,String(this.x)).replace(/{y}/g,String(r==="tms"?2**this.z-this.y-1:this.y)).replace(/{ratio}/g,t>1?"@2x":"").replace(/{quadkey}/g,n).replace(/{bbox-epsg-3857}/g,i)}isChildOf(e){let t=this.z-e.z;return t>0&&e.x===this.x>>t&&e.y===this.y>>t}getTilePoint(e){let t=2**this.z;return new B((e.x*t-this.x)*xe,(e.y*t-this.y)*xe)}toString(){return`${this.z}/${this.x}/${this.y}`}},Hb=class{constructor(e,t){this.wrap=e,this.canonical=t,this.key=ji(e,t.z,t.z,t.x,t.y)}},$d=class nt{constructor(t,r,i,n,a){if(this.terrainRttPosMatrix32f=null,t<i)throw Error(`overscaledZ should be >= z; overscaledZ = ${t}; z = ${i}`);this.overscaledZ=t,this.wrap=r,this.canonical=new Rd(i,+n,+a),this.key=ji(r,t,i,n,a)}clone(){return new nt(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)}scaledTo(t){if(t>this.overscaledZ)throw Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);let r=this.canonical.z-t;return t>this.canonical.z?new nt(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new nt(t,this.wrap,t,this.canonical.x>>r,this.canonical.y>>r)}isOverscaled(){return this.overscaledZ>this.canonical.z}calculateScaledKey(t,r){if(t>this.overscaledZ)throw Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);let i=this.canonical.z-t;return t>this.canonical.z?ji(this.wrap*+r,t,this.canonical.z,this.canonical.x,this.canonical.y):ji(this.wrap*+r,t,t,this.canonical.x>>i,this.canonical.y>>i)}isChildOf(t){if(t.wrap!==this.wrap||this.overscaledZ-t.overscaledZ<=0)return!1;if(t.overscaledZ===0)return this.overscaledZ>0;let r=this.canonical.z-t.canonical.z;return r<0?!1:t.canonical.x===this.canonical.x>>r&&t.canonical.y===this.canonical.y>>r}children(t){if(this.overscaledZ>=t)return[new nt(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let r=this.canonical.z+1,i=this.canonical.x*2,n=this.canonical.y*2;return[new nt(r,this.wrap,r,i,n),new nt(r,this.wrap,r,i+1,n),new nt(r,this.wrap,r,i,n+1),new nt(r,this.wrap,r,i+1,n+1)]}isLessThan(t){return this.wrap<t.wrap?!0:this.wrap>t.wrap?!1:this.overscaledZ<t.overscaledZ?!0:this.overscaledZ>t.overscaledZ?!1:this.canonical.x<t.canonical.x?!0:this.canonical.x>t.canonical.x?!1:this.canonical.y<t.canonical.y}wrapped(){return new nt(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)}unwrapTo(t){return new nt(this.overscaledZ,t,this.canonical.z,this.canonical.x,this.canonical.y)}overscaleFactor(){return 2**(this.overscaledZ-this.canonical.z)}toUnwrapped(){return new Hb(this.wrap,this.canonical)}toString(){return`${this.overscaledZ}/${this.canonical.x}/${this.canonical.y}`}getTilePoint(t){return this.canonical.getTilePoint(new Ml(t.x-this.wrap,t.y))}normalizeCoordinates(t,r,i=xe){if(t>=0&&t<i&&r>=0&&r<i)return{tileID:this,x:t,y:r};let n=Math.floor(t/i),a=Math.floor(r/i),s=t-n*i,o=r-a*i,l=this.canonical.z,u=1<<l,h=this.canonical.y+a;if(h<0||h>=u)return null;let c=this.canonical.x+n,p=this.wrap;return c<0?(p-=Math.ceil(-c/u),c=(c%u+u)%u):c>=u&&(p+=Math.floor(c/u),c%=u),{tileID:new nt(this.overscaledZ,p,l,c,h),x:s,y:o}}};function ji(e,t,r,i,n){e*=2,e<0&&(e=e*-1-1);let a=1<<r;return(a*a*e+a*n+i).toString(36)+r.toString(36)+t.toString(36)}const $s=Math.PI*6378137;function Kb(e,t,r){t=2**r-t-1;let i=vc(e*256,t*256,r),n=vc((e+1)*256,(t+1)*256,r);return`${i[0]},${i[1]},${n[0]},${n[1]}`}function vc(e,t,r){let i=2*$s/256/2**r;return[e*i-$s,t*i-$s]}function Jb(e,t,r){let i="";for(let n=e;n>0;n--){let a=1<<n-1;i+=(t&a?1:0)+(r&a?2:0)}return i}C("CanonicalTileID",Rd),C("OverscaledTileID",$d,{omit:["terrainRttPosMatrix32f"]});var Qb=class{constructor(e,t){this.feature=e,this.type=e.type,this.properties=e.tags?e.tags:{},this.extent=t,"id"in e&&(typeof e.id=="string"?this.id=parseInt(e.id,10):typeof e.id=="number"&&!isNaN(e.id)&&(this.id=e.id))}loadGeometry(){let e=[],t=this.feature.type===1?[this.feature.geometry]:this.feature.geometry;for(let r of t){let i=[];for(let n of r)i.push(new B(n[0],n[1]));e.push(i)}return e}};const Ho="_geojsonTileLayer";var ew=class{constructor(e,t){this.layers={[Ho]:this},this.name=Ho,this.version=t?t.version:1,this.extent=t?t.extent:4096,this.length=e.length,this.features=e}feature(e){return new Qb(this.features[e],this.extent)}};function Nd(e,t=""){let r=new Sv;return tw(e,r,t),r.finish()}function tw(e,t,r=""){for(let i in e.layers)t.writeMessage(3,(n,a)=>rw(n,a,r),e.layers[i])}function rw(e,t,r=""){t.writeVarintField(15,e.version||1),t.writeStringField(1,e.name||""),t.writeVarintField(5,e.extent||4096);let i={jsonPrefix:r,keys:[],values:[],keycache:{},valuecache:{}};for(let s=0;s<e.length;s++)i.feature=e.feature(s),t.writeMessage(2,iw,i);let n=i.keys;for(let s of n)t.writeStringField(3,s);let a=i.values;for(let s of a)t.writeMessage(4,sw,s)}function iw(e,t){if(!e.feature)return;let r=e.feature;r.id!==void 0&&t.writeVarintField(1,r.id),t.writeMessage(2,nw,e),t.writeVarintField(3,r.type),t.writeMessage(4,aw,r)}function nw(e,t){var r;for(let i in(r=e.feature)==null?void 0:r.properties){let n=e.feature.properties[i],a=e.keycache[i];if(n==null)continue;a===void 0&&(e.keys.push(i),a=e.keys.length-1,e.keycache[i]=a),t.writeVarint(a),typeof n!="string"&&typeof n!="boolean"&&typeof n!="number"&&(n=e.jsonPrefix+JSON.stringify(n));let s=typeof n+":"+n,o=e.valuecache[s];o===void 0&&(e.values.push(n),o=e.values.length-1,e.valuecache[s]=o),t.writeVarint(o)}}function Ns(e,t){return(t<<3)+(e&7)}function bc(e){return e<<1^e>>31}function aw(e,t){let r=e.loadGeometry(),i=e.type,n=0,a=0;for(let s of r){let o=1;i===1&&(o=s.length),t.writeVarint(Ns(1,o));let l=i===3?s.length-1:s.length;for(let u=0;u<l;u++){u===1&&i!==1&&t.writeVarint(Ns(2,l-1));let h=s[u].x-n,c=s[u].y-a;t.writeVarint(bc(h)),t.writeVarint(bc(c)),n+=h,a+=c}e.type===3&&t.writeVarint(Ns(7,1))}}function sw(e,t){let r=typeof e;r==="string"?t.writeStringField(1,e):r==="boolean"?t.writeBooleanField(7,e):r==="number"&&(e%1==0?e<0?t.writeSVarintField(6,e):t.writeVarintField(5,e):t.writeDoubleField(3,e))}var Ud=class{constructor(e){this._stringToNumber={},this._numberToString=[];for(let t=0;t<e.length;t++){let r=e[t];this._stringToNumber[r]=t,this._numberToString[t]=r}}encode(e){return this._stringToNumber[e]}decode(e){if(e>=this._numberToString.length)throw Error(`Out of bounds. Index requested n=${e} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[e]}},ow=class{constructor(e,t,r,i,n){this.type="Feature",this._vectorTileFeature=e,this._x=r,this._y=i,this._z=t;for(let a in e.properties)typeof e.properties[a]=="string"&&e.properties[a].startsWith("__$json__:")&&(e.properties[a]=JSON.parse(e.properties[a].slice(10)));this.properties=e.properties,this.id=n}projectPoint(e,t,r,i){return[(e.x+t)*360/i-180,360/Math.PI*Math.atan(Math.exp((1-(e.y+r)*2/i)*Math.PI))-90]}projectLine(e,t,r,i){return e.map(n=>this.projectPoint(n,t,r,i))}get geometry(){if(this._geometry)return this._geometry;let e=this._vectorTileFeature,t=e.extent*2**this._z,r=e.extent*this._x,i=e.extent*this._y,n=e.loadGeometry();switch(e.type){case 1:{let a=[];for(let o of n)a.push(o[0]);let s=this.projectLine(a,r,i,t);this._geometry=a.length===1?{type:"Point",coordinates:s[0]}:{type:"MultiPoint",coordinates:s};break}case 2:{let a=n.map(s=>this.projectLine(s,r,i,t));this._geometry=a.length===1?{type:"LineString",coordinates:a[0]}:{type:"MultiLineString",coordinates:a};break}case 3:{let a=Xf(n),s=[];for(let o of a)s.push(o.map(l=>this.projectLine(l,r,i,t)));this._geometry=s.length===1?{type:"Polygon",coordinates:s[0]}:{type:"MultiPolygon",coordinates:s};break}default:throw Error(`unknown feature type: ${e.type}`)}return this._geometry}set geometry(e){this._geometry=e}toJSON(){let e={geometry:this.geometry};for(let t in this)t!=="_geometry"&&t!=="_vectorTileFeature"&&t!=="_x"&&t!=="_y"&&t!=="_z"&&(e[t]=this[t]);return e}},Dr=class{constructor(e,t,r){this._name=e,this.dataBuffer=t,typeof r=="number"?this._size=r:(this.nullabilityBuffer=r,this._size=r.size())}getValue(e){return this.nullabilityBuffer&&!this.nullabilityBuffer.get(e)?null:this.getValueFromBuffer(e)}has(e){var t;return((t=this.nullabilityBuffer)==null?void 0:t.get(e))||!this.nullabilityBuffer}get name(){return this._name}get size(){return this._size}},Ga=class extends Dr{},Yl=class extends Ga{getValueFromBuffer(e){return this.dataBuffer[e]}},Wl=class extends Ga{getValueFromBuffer(e){return this.dataBuffer[e]}},qd=class extends Dr{constructor(e,t,r,i){super(e,t,i),this.delta=r}},Zl=class extends qd{constructor(e,t,r,i,n){super(e,n?Int32Array.of(t):Uint32Array.of(t),r,i)}getValueFromBuffer(e){return this.dataBuffer[0]+e*this.delta}},Hl=class extends Dr{constructor(e,t,r,i){super(e,i?Int32Array.of(t):Uint32Array.of(t),r)}getValueFromBuffer(e){return this.dataBuffer[0]}},lw=class{constructor(e,t,r,i,n=4096){if(this._name=e,this._geometryVector=t,this._idVector=r,this._propertyVectors=i,this._extent=n,e.length===0)throw Error("Missing layer name")}get name(){return this._name}get idVector(){return this._idVector}get geometryVector(){return this._geometryVector}get propertyVectors(){return this._propertyVectors??[]}getPropertyVector(e){return this.propertyVectorsMap||(this.propertyVectorsMap=new Map(this.propertyVectors.map(t=>[t.name,t]))),this.propertyVectorsMap.get(e)}get numFeatures(){return this.geometryVector.numGeometries}get extent(){return this._extent}getFeatures(){let e=[],t=this.geometryVector.getGeometries();for(let r=0;r<this.numFeatures;r++){let i;if(this.idVector){let s=this.idVector.getValue(r);s!==null&&(i=this.containsMaxSafeIntegerValues(this.idVector)?Number(s):s)}let n={coordinates:t[r],type:this.geometryVector.geometryType(r)},a={};for(let s of this.propertyVectors){if(!s)continue;let o=s.name,l=s.getValue(r);l!==null&&(a[o]=l)}e.push({id:i,geometry:n,properties:a})}return e}containsMaxSafeIntegerValues(e){return e instanceof Yl||e instanceof Hl||e instanceof Zl||e instanceof Wl}};const Oi={FEATURE:0},ee={BOOLEAN:0,INT_8:1,UINT_8:2,INT_32:3,UINT_32:4,INT_64:5,UINT_64:6,FLOAT:7,DOUBLE:8,STRING:9},Kt={GEOMETRY:0,STRUCT:1,MAP:2},jd={ID:0};var Gd=class{constructor(e){this.value=e}get(){return this.value}set(e){this.value=e}increment(){return this.value++}add(e){this.value+=e}},H;(function(e){e.NONE="NONE",e.DELTA="DELTA",e.COMPONENTWISE_DELTA="COMPONENTWISE_DELTA",e.RLE="RLE",e.MORTON="MORTON"})(H||(H={}));var lt;(function(e){e.NONE="NONE",e.FAST_PFOR="FAST_PFOR",e.VARINT="VARINT"})(lt||(lt={}));const Kl=new Uint32Array(33);Kl[0]=0;for(let e=1;e<=32;e++)Kl[e]=e===32?4294967295:4294967295>>>32-e;const Ko=Kl,Xd=65536;function Jl(e,t){return e-e%t}function uw(e){return Jl(e+31,32)}function hw(e){if(!Number.isFinite(e)||e<=0)return Xd;let t=Jl(Math.floor(e),256);return t===0?256:t}function cw(e){let t=e>>>0;return((t&255)<<24|(t&65280)<<8|t>>>8&65280|t>>>24&255)>>>0}function pw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0;r[n++]=a>>>0&3,r[n++]=a>>>2&3,r[n++]=a>>>4&3,r[n++]=a>>>6&3,r[n++]=a>>>8&3,r[n++]=a>>>10&3,r[n++]=a>>>12&3,r[n++]=a>>>14&3,r[n++]=a>>>16&3,r[n++]=a>>>18&3,r[n++]=a>>>20&3,r[n++]=a>>>22&3,r[n++]=a>>>24&3,r[n++]=a>>>26&3,r[n++]=a>>>28&3,r[n++]=a>>>30&3,r[n++]=s>>>0&3,r[n++]=s>>>2&3,r[n++]=s>>>4&3,r[n++]=s>>>6&3,r[n++]=s>>>8&3,r[n++]=s>>>10&3,r[n++]=s>>>12&3,r[n++]=s>>>14&3,r[n++]=s>>>16&3,r[n++]=s>>>18&3,r[n++]=s>>>20&3,r[n++]=s>>>22&3,r[n++]=s>>>24&3,r[n++]=s>>>26&3,r[n++]=s>>>28&3,r[n]=s>>>30&3}function fw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0;r[n++]=a>>>0&7,r[n++]=a>>>3&7,r[n++]=a>>>6&7,r[n++]=a>>>9&7,r[n++]=a>>>12&7,r[n++]=a>>>15&7,r[n++]=a>>>18&7,r[n++]=a>>>21&7,r[n++]=a>>>24&7,r[n++]=a>>>27&7,r[n++]=(a>>>30|(s&1)<<2)&7,r[n++]=s>>>1&7,r[n++]=s>>>4&7,r[n++]=s>>>7&7,r[n++]=s>>>10&7,r[n++]=s>>>13&7,r[n++]=s>>>16&7,r[n++]=s>>>19&7,r[n++]=s>>>22&7,r[n++]=s>>>25&7,r[n++]=s>>>28&7,r[n++]=(s>>>31|(o&3)<<1)&7,r[n++]=o>>>2&7,r[n++]=o>>>5&7,r[n++]=o>>>8&7,r[n++]=o>>>11&7,r[n++]=o>>>14&7,r[n++]=o>>>17&7,r[n++]=o>>>20&7,r[n++]=o>>>23&7,r[n++]=o>>>26&7,r[n]=o>>>29&7}function dw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0,l=e[t+3]>>>0;r[n++]=a>>>0&15,r[n++]=a>>>4&15,r[n++]=a>>>8&15,r[n++]=a>>>12&15,r[n++]=a>>>16&15,r[n++]=a>>>20&15,r[n++]=a>>>24&15,r[n++]=a>>>28&15,r[n++]=s>>>0&15,r[n++]=s>>>4&15,r[n++]=s>>>8&15,r[n++]=s>>>12&15,r[n++]=s>>>16&15,r[n++]=s>>>20&15,r[n++]=s>>>24&15,r[n++]=s>>>28&15,r[n++]=o>>>0&15,r[n++]=o>>>4&15,r[n++]=o>>>8&15,r[n++]=o>>>12&15,r[n++]=o>>>16&15,r[n++]=o>>>20&15,r[n++]=o>>>24&15,r[n++]=o>>>28&15,r[n++]=l>>>0&15,r[n++]=l>>>4&15,r[n++]=l>>>8&15,r[n++]=l>>>12&15,r[n++]=l>>>16&15,r[n++]=l>>>20&15,r[n++]=l>>>24&15,r[n]=l>>>28&15}function yw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0,l=e[t+3]>>>0,u=e[t+4]>>>0;r[n++]=a>>>0&31,r[n++]=a>>>5&31,r[n++]=a>>>10&31,r[n++]=a>>>15&31,r[n++]=a>>>20&31,r[n++]=a>>>25&31,r[n++]=(a>>>30|(s&7)<<2)&31,r[n++]=s>>>3&31,r[n++]=s>>>8&31,r[n++]=s>>>13&31,r[n++]=s>>>18&31,r[n++]=s>>>23&31,r[n++]=(s>>>28|(o&1)<<4)&31,r[n++]=o>>>1&31,r[n++]=o>>>6&31,r[n++]=o>>>11&31,r[n++]=o>>>16&31,r[n++]=o>>>21&31,r[n++]=o>>>26&31,r[n++]=(o>>>31|(l&15)<<1)&31,r[n++]=l>>>4&31,r[n++]=l>>>9&31,r[n++]=l>>>14&31,r[n++]=l>>>19&31,r[n++]=l>>>24&31,r[n++]=(l>>>29|(u&3)<<3)&31,r[n++]=u>>>2&31,r[n++]=u>>>7&31,r[n++]=u>>>12&31,r[n++]=u>>>17&31,r[n++]=u>>>22&31,r[n]=u>>>27&31}function mw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0,l=e[t+3]>>>0,u=e[t+4]>>>0,h=e[t+5]>>>0;r[n++]=a>>>0&63,r[n++]=a>>>6&63,r[n++]=a>>>12&63,r[n++]=a>>>18&63,r[n++]=a>>>24&63,r[n++]=(a>>>30|(s&15)<<2)&63,r[n++]=s>>>4&63,r[n++]=s>>>10&63,r[n++]=s>>>16&63,r[n++]=s>>>22&63,r[n++]=(s>>>28|(o&3)<<4)&63,r[n++]=o>>>2&63,r[n++]=o>>>8&63,r[n++]=o>>>14&63,r[n++]=o>>>20&63,r[n++]=o>>>26&63,r[n++]=l>>>0&63,r[n++]=l>>>6&63,r[n++]=l>>>12&63,r[n++]=l>>>18&63,r[n++]=l>>>24&63,r[n++]=(l>>>30|(u&15)<<2)&63,r[n++]=u>>>4&63,r[n++]=u>>>10&63,r[n++]=u>>>16&63,r[n++]=u>>>22&63,r[n++]=(u>>>28|(h&3)<<4)&63,r[n++]=h>>>2&63,r[n++]=h>>>8&63,r[n++]=h>>>14&63,r[n++]=h>>>20&63,r[n]=h>>>26&63}function gw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0,l=e[t+3]>>>0,u=e[t+4]>>>0,h=e[t+5]>>>0,c=e[t+6]>>>0;r[n++]=a>>>0&127,r[n++]=a>>>7&127,r[n++]=a>>>14&127,r[n++]=a>>>21&127,r[n++]=(a>>>28|(s&7)<<4)&127,r[n++]=s>>>3&127,r[n++]=s>>>10&127,r[n++]=s>>>17&127,r[n++]=s>>>24&127,r[n++]=(s>>>31|(o&63)<<1)&127,r[n++]=o>>>6&127,r[n++]=o>>>13&127,r[n++]=o>>>20&127,r[n++]=(o>>>27|(l&3)<<5)&127,r[n++]=l>>>2&127,r[n++]=l>>>9&127,r[n++]=l>>>16&127,r[n++]=l>>>23&127,r[n++]=(l>>>30|(u&31)<<2)&127,r[n++]=u>>>5&127,r[n++]=u>>>12&127,r[n++]=u>>>19&127,r[n++]=(u>>>26|(h&1)<<6)&127,r[n++]=h>>>1&127,r[n++]=h>>>8&127,r[n++]=h>>>15&127,r[n++]=h>>>22&127,r[n++]=(h>>>29|(c&15)<<3)&127,r[n++]=c>>>4&127,r[n++]=c>>>11&127,r[n++]=c>>>18&127,r[n]=c>>>25&127}function xw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0,l=e[t+3]>>>0,u=e[t+4]>>>0,h=e[t+5]>>>0,c=e[t+6]>>>0,p=e[t+7]>>>0;r[n++]=a>>>0&255,r[n++]=a>>>8&255,r[n++]=a>>>16&255,r[n++]=a>>>24&255,r[n++]=s>>>0&255,r[n++]=s>>>8&255,r[n++]=s>>>16&255,r[n++]=s>>>24&255,r[n++]=o>>>0&255,r[n++]=o>>>8&255,r[n++]=o>>>16&255,r[n++]=o>>>24&255,r[n++]=l>>>0&255,r[n++]=l>>>8&255,r[n++]=l>>>16&255,r[n++]=l>>>24&255,r[n++]=u>>>0&255,r[n++]=u>>>8&255,r[n++]=u>>>16&255,r[n++]=u>>>24&255,r[n++]=h>>>0&255,r[n++]=h>>>8&255,r[n++]=h>>>16&255,r[n++]=h>>>24&255,r[n++]=c>>>0&255,r[n++]=c>>>8&255,r[n++]=c>>>16&255,r[n++]=c>>>24&255,r[n++]=p>>>0&255,r[n++]=p>>>8&255,r[n++]=p>>>16&255,r[n]=p>>>24&255}function vw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0,l=e[t+3]>>>0,u=e[t+4]>>>0,h=e[t+5]>>>0,c=e[t+6]>>>0,p=e[t+7]>>>0,f=e[t+8]>>>0;r[n++]=a>>>0&511,r[n++]=a>>>9&511,r[n++]=a>>>18&511,r[n++]=(a>>>27|(s&15)<<5)&511,r[n++]=s>>>4&511,r[n++]=s>>>13&511,r[n++]=s>>>22&511,r[n++]=(s>>>31|(o&255)<<1)&511,r[n++]=o>>>8&511,r[n++]=o>>>17&511,r[n++]=(o>>>26|(l&7)<<6)&511,r[n++]=l>>>3&511,r[n++]=l>>>12&511,r[n++]=l>>>21&511,r[n++]=(l>>>30|(u&127)<<2)&511,r[n++]=u>>>7&511,r[n++]=u>>>16&511,r[n++]=(u>>>25|(h&3)<<7)&511,r[n++]=h>>>2&511,r[n++]=h>>>11&511,r[n++]=h>>>20&511,r[n++]=(h>>>29|(c&63)<<3)&511,r[n++]=c>>>6&511,r[n++]=c>>>15&511,r[n++]=(c>>>24|(p&1)<<8)&511,r[n++]=p>>>1&511,r[n++]=p>>>10&511,r[n++]=p>>>19&511,r[n++]=(p>>>28|(f&31)<<4)&511,r[n++]=f>>>5&511,r[n++]=f>>>14&511,r[n]=f>>>23&511}function bw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0,l=e[t+3]>>>0,u=e[t+4]>>>0,h=e[t+5]>>>0,c=e[t+6]>>>0,p=e[t+7]>>>0,f=e[t+8]>>>0,d=e[t+9]>>>0;r[n++]=a>>>0&1023,r[n++]=a>>>10&1023,r[n++]=a>>>20&1023,r[n++]=(a>>>30|(s&255)<<2)&1023,r[n++]=s>>>8&1023,r[n++]=s>>>18&1023,r[n++]=(s>>>28|(o&63)<<4)&1023,r[n++]=o>>>6&1023,r[n++]=o>>>16&1023,r[n++]=(o>>>26|(l&15)<<6)&1023,r[n++]=l>>>4&1023,r[n++]=l>>>14&1023,r[n++]=(l>>>24|(u&3)<<8)&1023,r[n++]=u>>>2&1023,r[n++]=u>>>12&1023,r[n++]=u>>>22&1023,r[n++]=h>>>0&1023,r[n++]=h>>>10&1023,r[n++]=h>>>20&1023,r[n++]=(h>>>30|(c&255)<<2)&1023,r[n++]=c>>>8&1023,r[n++]=c>>>18&1023,r[n++]=(c>>>28|(p&63)<<4)&1023,r[n++]=p>>>6&1023,r[n++]=p>>>16&1023,r[n++]=(p>>>26|(f&15)<<6)&1023,r[n++]=f>>>4&1023,r[n++]=f>>>14&1023,r[n++]=(f>>>24|(d&3)<<8)&1023,r[n++]=d>>>2&1023,r[n++]=d>>>12&1023,r[n]=d>>>22&1023}function ww(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0,l=e[t+3]>>>0,u=e[t+4]>>>0,h=e[t+5]>>>0,c=e[t+6]>>>0,p=e[t+7]>>>0,f=e[t+8]>>>0,d=e[t+9]>>>0,y=e[t+10]>>>0;r[n++]=a>>>0&2047,r[n++]=a>>>11&2047,r[n++]=(a>>>22|(s&1)<<10)&2047,r[n++]=s>>>1&2047,r[n++]=s>>>12&2047,r[n++]=(s>>>23|(o&3)<<9)&2047,r[n++]=o>>>2&2047,r[n++]=o>>>13&2047,r[n++]=(o>>>24|(l&7)<<8)&2047,r[n++]=l>>>3&2047,r[n++]=l>>>14&2047,r[n++]=(l>>>25|(u&15)<<7)&2047,r[n++]=u>>>4&2047,r[n++]=u>>>15&2047,r[n++]=(u>>>26|(h&31)<<6)&2047,r[n++]=h>>>5&2047,r[n++]=h>>>16&2047,r[n++]=(h>>>27|(c&63)<<5)&2047,r[n++]=c>>>6&2047,r[n++]=c>>>17&2047,r[n++]=(c>>>28|(p&127)<<4)&2047,r[n++]=p>>>7&2047,r[n++]=p>>>18&2047,r[n++]=(p>>>29|(f&255)<<3)&2047,r[n++]=f>>>8&2047,r[n++]=f>>>19&2047,r[n++]=(f>>>30|(d&511)<<2)&2047,r[n++]=d>>>9&2047,r[n++]=d>>>20&2047,r[n++]=(d>>>31|(y&1023)<<1)&2047,r[n++]=y>>>10&2047,r[n]=y>>>21&2047}function Dw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0,l=e[t+3]>>>0,u=e[t+4]>>>0,h=e[t+5]>>>0,c=e[t+6]>>>0,p=e[t+7]>>>0,f=e[t+8]>>>0,d=e[t+9]>>>0,y=e[t+10]>>>0,m=e[t+11]>>>0;r[n++]=a>>>0&4095,r[n++]=a>>>12&4095,r[n++]=(a>>>24|(s&15)<<8)&4095,r[n++]=s>>>4&4095,r[n++]=s>>>16&4095,r[n++]=(s>>>28|(o&255)<<4)&4095,r[n++]=o>>>8&4095,r[n++]=o>>>20&4095,r[n++]=l>>>0&4095,r[n++]=l>>>12&4095,r[n++]=(l>>>24|(u&15)<<8)&4095,r[n++]=u>>>4&4095,r[n++]=u>>>16&4095,r[n++]=(u>>>28|(h&255)<<4)&4095,r[n++]=h>>>8&4095,r[n++]=h>>>20&4095,r[n++]=c>>>0&4095,r[n++]=c>>>12&4095,r[n++]=(c>>>24|(p&15)<<8)&4095,r[n++]=p>>>4&4095,r[n++]=p>>>16&4095,r[n++]=(p>>>28|(f&255)<<4)&4095,r[n++]=f>>>8&4095,r[n++]=f>>>20&4095,r[n++]=d>>>0&4095,r[n++]=d>>>12&4095,r[n++]=(d>>>24|(y&15)<<8)&4095,r[n++]=y>>>4&4095,r[n++]=y>>>16&4095,r[n++]=(y>>>28|(m&255)<<4)&4095,r[n++]=m>>>8&4095,r[n]=m>>>20&4095}function _w(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0,l=e[t+3]>>>0,u=e[t+4]>>>0,h=e[t+5]>>>0,c=e[t+6]>>>0,p=e[t+7]>>>0,f=e[t+8]>>>0,d=e[t+9]>>>0,y=e[t+10]>>>0,m=e[t+11]>>>0,g=e[t+12]>>>0,x=e[t+13]>>>0,v=e[t+14]>>>0,b=e[t+15]>>>0;r[n++]=a>>>0&65535,r[n++]=a>>>16&65535,r[n++]=s>>>0&65535,r[n++]=s>>>16&65535,r[n++]=o>>>0&65535,r[n++]=o>>>16&65535,r[n++]=l>>>0&65535,r[n++]=l>>>16&65535,r[n++]=u>>>0&65535,r[n++]=u>>>16&65535,r[n++]=h>>>0&65535,r[n++]=h>>>16&65535,r[n++]=c>>>0&65535,r[n++]=c>>>16&65535,r[n++]=p>>>0&65535,r[n++]=p>>>16&65535,r[n++]=f>>>0&65535,r[n++]=f>>>16&65535,r[n++]=d>>>0&65535,r[n++]=d>>>16&65535,r[n++]=y>>>0&65535,r[n++]=y>>>16&65535,r[n++]=m>>>0&65535,r[n++]=m>>>16&65535,r[n++]=g>>>0&65535,r[n++]=g>>>16&65535,r[n++]=x>>>0&65535,r[n++]=x>>>16&65535,r[n++]=v>>>0&65535,r[n++]=v>>>16&65535,r[n++]=b>>>0&65535,r[n]=b>>>16&65535}function Sw(e,t,r,i){let n=i,a=t;for(let s=0;s<8;s++){let o=e[a++]>>>0;r[n++]=o>>>0&1,r[n++]=o>>>1&1,r[n++]=o>>>2&1,r[n++]=o>>>3&1,r[n++]=o>>>4&1,r[n++]=o>>>5&1,r[n++]=o>>>6&1,r[n++]=o>>>7&1,r[n++]=o>>>8&1,r[n++]=o>>>9&1,r[n++]=o>>>10&1,r[n++]=o>>>11&1,r[n++]=o>>>12&1,r[n++]=o>>>13&1,r[n++]=o>>>14&1,r[n++]=o>>>15&1,r[n++]=o>>>16&1,r[n++]=o>>>17&1,r[n++]=o>>>18&1,r[n++]=o>>>19&1,r[n++]=o>>>20&1,r[n++]=o>>>21&1,r[n++]=o>>>22&1,r[n++]=o>>>23&1,r[n++]=o>>>24&1,r[n++]=o>>>25&1,r[n++]=o>>>26&1,r[n++]=o>>>27&1,r[n++]=o>>>28&1,r[n++]=o>>>29&1,r[n++]=o>>>30&1,r[n++]=o>>>31&1}}function Aw(e,t,r,i){let n=i,a=t;for(let s=0;s<8;s++){let o=e[a++]>>>0,l=e[a++]>>>0;r[n++]=o>>>0&3,r[n++]=o>>>2&3,r[n++]=o>>>4&3,r[n++]=o>>>6&3,r[n++]=o>>>8&3,r[n++]=o>>>10&3,r[n++]=o>>>12&3,r[n++]=o>>>14&3,r[n++]=o>>>16&3,r[n++]=o>>>18&3,r[n++]=o>>>20&3,r[n++]=o>>>22&3,r[n++]=o>>>24&3,r[n++]=o>>>26&3,r[n++]=o>>>28&3,r[n++]=o>>>30&3,r[n++]=l>>>0&3,r[n++]=l>>>2&3,r[n++]=l>>>4&3,r[n++]=l>>>6&3,r[n++]=l>>>8&3,r[n++]=l>>>10&3,r[n++]=l>>>12&3,r[n++]=l>>>14&3,r[n++]=l>>>16&3,r[n++]=l>>>18&3,r[n++]=l>>>20&3,r[n++]=l>>>22&3,r[n++]=l>>>24&3,r[n++]=l>>>26&3,r[n++]=l>>>28&3,r[n++]=l>>>30&3}}function Ew(e,t,r,i){let n=i,a=t;for(let s=0;s<8;s++){let o=e[a++]>>>0,l=e[a++]>>>0,u=e[a++]>>>0;r[n++]=o>>>0&7,r[n++]=o>>>3&7,r[n++]=o>>>6&7,r[n++]=o>>>9&7,r[n++]=o>>>12&7,r[n++]=o>>>15&7,r[n++]=o>>>18&7,r[n++]=o>>>21&7,r[n++]=o>>>24&7,r[n++]=o>>>27&7,r[n++]=(o>>>30|(l&1)<<2)&7,r[n++]=l>>>1&7,r[n++]=l>>>4&7,r[n++]=l>>>7&7,r[n++]=l>>>10&7,r[n++]=l>>>13&7,r[n++]=l>>>16&7,r[n++]=l>>>19&7,r[n++]=l>>>22&7,r[n++]=l>>>25&7,r[n++]=l>>>28&7,r[n++]=(l>>>31|(u&3)<<1)&7,r[n++]=u>>>2&7,r[n++]=u>>>5&7,r[n++]=u>>>8&7,r[n++]=u>>>11&7,r[n++]=u>>>14&7,r[n++]=u>>>17&7,r[n++]=u>>>20&7,r[n++]=u>>>23&7,r[n++]=u>>>26&7,r[n++]=u>>>29&7}}function Fw(e,t,r,i){let n=i,a=t;for(let s=0;s<8;s++){let o=e[a++]>>>0,l=e[a++]>>>0,u=e[a++]>>>0,h=e[a++]>>>0;r[n++]=o>>>0&15,r[n++]=o>>>4&15,r[n++]=o>>>8&15,r[n++]=o>>>12&15,r[n++]=o>>>16&15,r[n++]=o>>>20&15,r[n++]=o>>>24&15,r[n++]=o>>>28&15,r[n++]=l>>>0&15,r[n++]=l>>>4&15,r[n++]=l>>>8&15,r[n++]=l>>>12&15,r[n++]=l>>>16&15,r[n++]=l>>>20&15,r[n++]=l>>>24&15,r[n++]=l>>>28&15,r[n++]=u>>>0&15,r[n++]=u>>>4&15,r[n++]=u>>>8&15,r[n++]=u>>>12&15,r[n++]=u>>>16&15,r[n++]=u>>>20&15,r[n++]=u>>>24&15,r[n++]=u>>>28&15,r[n++]=h>>>0&15,r[n++]=h>>>4&15,r[n++]=h>>>8&15,r[n++]=h>>>12&15,r[n++]=h>>>16&15,r[n++]=h>>>20&15,r[n++]=h>>>24&15,r[n++]=h>>>28&15}}function Tw(e,t,r,i){let n=i,a=t;for(let s=0;s<8;s++){let o=e[a++]>>>0,l=e[a++]>>>0,u=e[a++]>>>0,h=e[a++]>>>0,c=e[a++]>>>0;r[n++]=o>>>0&31,r[n++]=o>>>5&31,r[n++]=o>>>10&31,r[n++]=o>>>15&31,r[n++]=o>>>20&31,r[n++]=o>>>25&31,r[n++]=(o>>>30|(l&7)<<2)&31,r[n++]=l>>>3&31,r[n++]=l>>>8&31,r[n++]=l>>>13&31,r[n++]=l>>>18&31,r[n++]=l>>>23&31,r[n++]=(l>>>28|(u&1)<<4)&31,r[n++]=u>>>1&31,r[n++]=u>>>6&31,r[n++]=u>>>11&31,r[n++]=u>>>16&31,r[n++]=u>>>21&31,r[n++]=u>>>26&31,r[n++]=(u>>>31|(h&15)<<1)&31,r[n++]=h>>>4&31,r[n++]=h>>>9&31,r[n++]=h>>>14&31,r[n++]=h>>>19&31,r[n++]=h>>>24&31,r[n++]=(h>>>29|(c&3)<<3)&31,r[n++]=c>>>2&31,r[n++]=c>>>7&31,r[n++]=c>>>12&31,r[n++]=c>>>17&31,r[n++]=c>>>22&31,r[n++]=c>>>27&31}}function kw(e,t,r,i){let n=i,a=t;for(let s=0;s<8;s++){let o=e[a++]>>>0,l=e[a++]>>>0,u=e[a++]>>>0,h=e[a++]>>>0,c=e[a++]>>>0,p=e[a++]>>>0;r[n++]=o>>>0&63,r[n++]=o>>>6&63,r[n++]=o>>>12&63,r[n++]=o>>>18&63,r[n++]=o>>>24&63,r[n++]=(o>>>30|(l&15)<<2)&63,r[n++]=l>>>4&63,r[n++]=l>>>10&63,r[n++]=l>>>16&63,r[n++]=l>>>22&63,r[n++]=(l>>>28|(u&3)<<4)&63,r[n++]=u>>>2&63,r[n++]=u>>>8&63,r[n++]=u>>>14&63,r[n++]=u>>>20&63,r[n++]=u>>>26&63,r[n++]=h>>>0&63,r[n++]=h>>>6&63,r[n++]=h>>>12&63,r[n++]=h>>>18&63,r[n++]=h>>>24&63,r[n++]=(h>>>30|(c&15)<<2)&63,r[n++]=c>>>4&63,r[n++]=c>>>10&63,r[n++]=c>>>16&63,r[n++]=c>>>22&63,r[n++]=(c>>>28|(p&3)<<4)&63,r[n++]=p>>>2&63,r[n++]=p>>>8&63,r[n++]=p>>>14&63,r[n++]=p>>>20&63,r[n++]=p>>>26&63}}function Iw(e,t,r,i){let n=i,a=t;for(let s=0;s<8;s++){let o=e[a++]>>>0,l=e[a++]>>>0,u=e[a++]>>>0,h=e[a++]>>>0,c=e[a++]>>>0,p=e[a++]>>>0,f=e[a++]>>>0;r[n++]=o>>>0&127,r[n++]=o>>>7&127,r[n++]=o>>>14&127,r[n++]=o>>>21&127,r[n++]=(o>>>28|(l&7)<<4)&127,r[n++]=l>>>3&127,r[n++]=l>>>10&127,r[n++]=l>>>17&127,r[n++]=l>>>24&127,r[n++]=(l>>>31|(u&63)<<1)&127,r[n++]=u>>>6&127,r[n++]=u>>>13&127,r[n++]=u>>>20&127,r[n++]=(u>>>27|(h&3)<<5)&127,r[n++]=h>>>2&127,r[n++]=h>>>9&127,r[n++]=h>>>16&127,r[n++]=h>>>23&127,r[n++]=(h>>>30|(c&31)<<2)&127,r[n++]=c>>>5&127,r[n++]=c>>>12&127,r[n++]=c>>>19&127,r[n++]=(c>>>26|(p&1)<<6)&127,r[n++]=p>>>1&127,r[n++]=p>>>8&127,r[n++]=p>>>15&127,r[n++]=p>>>22&127,r[n++]=(p>>>29|(f&15)<<3)&127,r[n++]=f>>>4&127,r[n++]=f>>>11&127,r[n++]=f>>>18&127,r[n++]=f>>>25&127}}function Cw(e,t,r,i){let n=i,a=t;for(let s=0;s<8;s++){let o=e[a++]>>>0,l=e[a++]>>>0,u=e[a++]>>>0,h=e[a++]>>>0,c=e[a++]>>>0,p=e[a++]>>>0,f=e[a++]>>>0,d=e[a++]>>>0;r[n++]=o>>>0&255,r[n++]=o>>>8&255,r[n++]=o>>>16&255,r[n++]=o>>>24&255,r[n++]=l>>>0&255,r[n++]=l>>>8&255,r[n++]=l>>>16&255,r[n++]=l>>>24&255,r[n++]=u>>>0&255,r[n++]=u>>>8&255,r[n++]=u>>>16&255,r[n++]=u>>>24&255,r[n++]=h>>>0&255,r[n++]=h>>>8&255,r[n++]=h>>>16&255,r[n++]=h>>>24&255,r[n++]=c>>>0&255,r[n++]=c>>>8&255,r[n++]=c>>>16&255,r[n++]=c>>>24&255,r[n++]=p>>>0&255,r[n++]=p>>>8&255,r[n++]=p>>>16&255,r[n++]=p>>>24&255,r[n++]=f>>>0&255,r[n++]=f>>>8&255,r[n++]=f>>>16&255,r[n++]=f>>>24&255,r[n++]=d>>>0&255,r[n++]=d>>>8&255,r[n++]=d>>>16&255,r[n++]=d>>>24&255}}function Bw(e,t,r,i){let n=i,a=t;for(let s=0;s<128;s++){let o=e[a++]>>>0;r[n++]=o&65535,r[n++]=o>>>16&65535}}function Pw(e,t,r,i,n){let a=Ko[n]>>>0,s=t,o=0,l=e[s]>>>0,u=i;for(let h=0;h<8;h++){for(let c=0;c<32;c++)if(o+n<=32){let p=l>>>o&a;r[u+c]=p|0,o+=n,o===32&&(o=0,s++,c!==31&&(l=e[s]>>>0))}else{let p=32-o,f=l>>>o;s++,l=e[s]>>>0;let d=n-p,y=-1>>>32-d>>>0,m=(f|(l&y)<<p)&a;r[u+c]=m|0,o=d}u+=32,o=0,h<7&&(l=e[s]>>>0)}}const Jo=hw(Xd),Mw=3*Jo/256+Jo|0;function Yd(){let e=new Uint8Array(Mw);return{dataToBePacked:Array(33),dataPointers:new Int32Array(33),byteContainer:e,byteContainerI32:new Int32Array(e.buffer,e.byteOffset,e.byteLength>>>2),exceptionSizes:new Int32Array(33)}}function zw(e=16){if(e<0)throw RangeError(`initialEncodedWordCapacity must be >= 0, got ${e}`);let t=Math.max(16,e|0);return{encodedWords:new Uint32Array(t),decoderWorkspace:Yd()}}function Lw(e,t){if(t<=e.encodedWords.length)return e.encodedWords;let r=new Uint32Array(Math.max(16,t*2));return e.encodedWords=r,r}function Vw(e,t,r,i){i.byteContainer.length<r&&(i.byteContainer=new Uint8Array(r*2),i.byteContainerI32=void 0);let n=i.byteContainer,a=r>>>2;if(n.byteOffset&3)for(let o=0;o<a;o=o+1|0){let l=e[t+o|0]|0,u=o<<2;n[u]=l&255,n[u+1|0]=l>>>8&255,n[u+2|0]=l>>>16&255,n[u+3|0]=l>>>24&255}else{let o=i.byteContainerI32;(!o||o.buffer!==n.buffer||o.byteOffset!==n.byteOffset||o.length<a)&&(o=i.byteContainerI32=new Int32Array(n.buffer,n.byteOffset,n.byteLength>>>2)),o.set(e.subarray(t,t+a))}let s=r&3;if(s>0){let o=e[t+a|0]|0,l=a<<2;for(let u=0;u<s;u=u+1|0)n[l+u|0]=o>>>(u<<3)&255}return n}function Ow(e,t,r){let i=e[t++]|0,n=r.dataToBePacked;for(let a=2;a<=32;a=a+1|0){if(!(i>>>a-1&1))continue;if(t>=e.length)throw Error(`FastPFOR decode: truncated exception stream header (bitWidth=${a}, streamWordIndex=${t}, needWords=1, availableWords=${e.length-t}, encodedWords=${e.length})`);let s=e[t++]>>>0,o=uw(s),l=s*a+31>>>5;if(t+l>e.length)throw Error(`FastPFOR decode: truncated exception stream (bitWidth=${a}, size=${s}, streamWordIndex=${t}, needWords=${l}, availableWords=${e.length-t}, encodedWords=${e.length})`);let u=n[a];(!u||u.length<o)&&(u=n[a]=new Uint32Array(o));let h=0;for(;h<s;h=h+32|0)Ww(e,t,u,h,a),t=t+a|0;let c=h-s|0;t=t-(c*a>>>5)|0,r.exceptionSizes[a]=s}return t}function Rw(e,t,r,i,n){switch(n){case 1:Sw(e,t,r,i);break;case 2:Aw(e,t,r,i);break;case 3:Ew(e,t,r,i);break;case 4:Fw(e,t,r,i);break;case 5:Tw(e,t,r,i);break;case 6:kw(e,t,r,i);break;case 7:Iw(e,t,r,i);break;case 8:Cw(e,t,r,i);break;case 16:Bw(e,t,r,i);break;default:Pw(e,t,r,i,n)}return t+(n<<3)|0}function $w(e,t,r,i){if(r+2>t)throw Error(`FastPFOR decode: byteContainer underflow at block=${i} (need 2 bytes for [bitWidth, exceptionCount], bytePos=${r}, byteSize=${t})`);let n=e[r++],a=e[r++];if(n>32)throw Error(`FastPFOR decode: invalid bitWidth=${n} at block=${i} (expected 0..32). This likely indicates corrupted or truncated input.`);return{bitWidth:n,exceptionCount:a,bytePosIn:r}}function Nw(e,t,r,i,n,a){if(r+1>t)throw Error(`FastPFOR decode: exception header underflow at block=${a} (need 1 byte for maxBits, bytePos=${r}, byteSize=${t})`);let s=e[r++];if(s<i||s>32)throw Error(`FastPFOR decode: invalid maxBits=${s} at block=${a} (bitWidth=${i}, expected ${i}..32)`);let o=s-i|0;if(o<1||o>32)throw Error(`FastPFOR decode: invalid exceptionBitWidth=${o} at block=${a} (bitWidth=${i}, maxBits=${s})`);if(r+n>t)throw Error(`FastPFOR decode: exception positions underflow at block=${a} (need=${n}, have=${t-r})`);return{maxBits:s,exceptionBitWidth:o,bytePosIn:r}}function Uw(e,t,r,i,n,a,s,o,l){let{maxBits:u,exceptionBitWidth:h,bytePosIn:c}=Nw(n,a,s,r,i,l);if(s=c,h===1){let m=1<<r;for(let g=0;g<i;g=g+1|0){let x=n[s++];e[x+t|0]|=m}return s}let p=o.dataToBePacked[h];if(!p)throw Error(`FastPFOR decode: missing exception stream for exceptionBitWidth=${h} (bitWidth=${r}, maxBits=${u}) at block ${l}`);let f=o.dataPointers,d=f[h]|0,y=o.exceptionSizes[h]|0;if(d+i>y)throw Error(`FastPFOR decode: exception stream overflow for exceptionBitWidth=${h} (ptr=${d}, need ${i}, size=${y}) at block ${l}`);for(let m=0;m<i;m=m+1|0){let g=n[s++],x=p[d++]|0;e[g+t|0]|=x<<r}return f[h]=d,s}function qw(e,t,r,i,n,a,s,o,l,u){let h=r|0,c=0;for(let p=0;p<s;p=p+1|0){let f=$w(o,l,c,p);c=f.bytePosIn;let d=f.bitWidth,y=f.exceptionCount,m=a+p*256|0;switch(d){case 0:n.fill(0,m,m+256);break;case 32:for(let g=0;g<256;g=g+1|0)n[m+g|0]=e[h+g|0]|0;h=h+256|0;break;default:h=Rw(e,h,n,m,d)}y>0&&(c=Uw(n,m,d,y,o,l,c,u,p))}if(h!==i)throw Error(`FastPFOR decode: packed region mismatch (pageStart=${t}, packedStart=${r}, consumedPackedEnd=${h}, expectedPackedEnd=${i}, packedWords=${i-r}, encoded.length=${e.length})`)}function jw(e,t,r,i,n,a){let s=r|0,o=e[s]|0;if(o<=0||s+o>e.length-1)throw Error(`FastPFOR decode: invalid whereMeta=${o} at pageStart=${s} (expected > 0 and pageStart+whereMeta < encoded.length=${e.length})`);let l=s+1|0,u=s+o|0,h=e[u]>>>0,c=h+3>>>2,p=u+1,f=p+c;if(f>=e.length)throw Error(`FastPFOR decode: invalid byteSize=${h} (metaInts=${c}, pageStart=${s}, packedEnd=${u}, byteContainerStart=${p}) causes bitmapPos=${f} out of bounds (encoded.length=${e.length})`);let d=Vw(e,p,h,a),y=h,m=Ow(e,f,a);return a.dataPointers.fill(0),qw(e,s,l,u,t,i|0,n/256|0,d,y,a),m}function Gw(e,t,r,i,n,a){let s=i+Jl(n,256),o=i,l=r;for(;o!==s;){let u=Math.min(Jo,s-o);l=jw(e,t,l,o,u,a),o=o+u|0}return l}function Xw(e,t,r,i,n,a){if(a===0)return t;let s=0,o=t,l=t+r,u=n,h=n,c=n+a,p=0,f=0;for(;o<l&&h<c;){let d=e[o]>>>s&255;if(s+=8,o+=s>>>5,s&=31,p|=(d&127)<<f,d&128)i[h++]=p|0,p=0,f=0;else if(f+=7,f>28)throw Error(`FastPFOR VByte: unterminated value (expected MSB=1 terminator within 5 bytes; shift=${f}, partial=${p}, decoded=${h-u}/${a}, inPos=${o}, inEnd=${l})`)}if(h!==c)throw Error(`FastPFOR VByte: truncated stream (decoded=${h-u}, expected=${a}, consumedWords=${o-t}/${r}, vbyteStart=${t}, vbyteEnd=${l})`);return o}function Yw(e,t,r){let i=0,n=0,a=new Uint32Array(t),s=r??Yd();if(e.length>0){let u=e[i]|0;if(i=i+1|0,u&255)throw Error(`FastPFOR decode: invalid alignedLength=${u} (expected multiple of 256)`);if(n+u>a.length)throw Error(`FastPFOR decode: output buffer too small (outPos=${n}, alignedLength=${u}, out.length=${a.length})`);i=Gw(e,a,i,n,u,s),n=n+u|0}let o=e.length-i|0,l=t-n|0;return Xw(e,i,o,a,n,l),a}function Ww(e,t,r,i,n){switch(n){case 2:pw(e,t,r,i);return;case 3:fw(e,t,r,i);return;case 4:dw(e,t,r,i);return;case 5:yw(e,t,r,i);return;case 6:mw(e,t,r,i);return;case 7:gw(e,t,r,i);return;case 8:xw(e,t,r,i);return;case 9:vw(e,t,r,i);return;case 10:bw(e,t,r,i);return;case 11:ww(e,t,r,i);return;case 12:Dw(e,t,r,i);return;case 16:_w(e,t,r,i);return;case 32:for(let u=0;u<32;u=u+1|0)r[i+u|0]=e[t+u|0]|0;return}let a=Ko[n]>>>0,s=t,o=0,l=e[s]>>>0;for(let u=0;u<32;u++)if(o+n<=32){let h=l>>>o&a;r[i+u]=h|0,o+=n,o===32&&(o=0,s++,u!==31&&(l=e[s]>>>0))}else{let h=32-o,c=l>>>o;s++,l=e[s]>>>0;let p=Ko[n-h]>>>0,f=(c|(l&p)<<h)&a;r[i+u]=f|0,o=n-h}}function Zw(e,t,r,i){if(t<0||r<0||t+r>e.length)throw RangeError(`decodeBigEndianInt32sInto: out of bounds (offset=${t}, byteLength=${r}, bytes.length=${e.length})`);let n=Math.floor(r/4),a=r%4!=0,s=a?n+1:n;if(i.length<s)throw RangeError(`decodeBigEndianInt32sInto: out.length=${i.length} < ${s}`);if(n>0){let o=e.byteOffset+t;if(o&3)for(let l=0;l<n;l++){let u=t+l*4;i[l]=e[u]<<24|e[u+1]<<16|e[u+2]<<8|e[u+3]|0}else{let l=new Uint32Array(e.buffer,o,n);for(let u=0;u<n;u++)i[u]=cw(l[u])|0}}if(a){let o=t+n*4,l=r-n*4,u=0;for(let h=0;h<l;h++)u|=e[o+h]<<24-h*8;i[n]=u|0}return s}function Oe(e,t,r){let i=new Uint32Array(r),n=0,a=t.get();for(let s=0;s<i.length;s++){let o=e[a++],l=o&127;if(o<128){i[n++]=l;continue}if(o=e[a++],l|=(o&127)<<7,o<128){i[n++]=l;continue}if(o=e[a++],l|=(o&127)<<14,o<128){i[n++]=l;continue}if(o=e[a++],l|=(o&127)<<21,o<128){i[n++]=l;continue}o=e[a++],l|=(o&15)<<28,i[n++]=l}return t.set(a),i}function Ql(e,t,r){let i=new BigUint64Array(r);for(let n=0;n<i.length;n++)i[n]=Hw(e,t);return i}function Hw(e,t){let r=0n,i=0,n=t.get();for(;n<e.length;){let a=e[n++];if(r|=BigInt(a&127)<<BigInt(i),!(a&128))break;if(i+=7,i>=64)throw Error("Varint too long")}return t.set(n),r}function Kw(e,t,r){let i=new Float64Array(r);for(let n=0;n<r;n++)i[n]=Jw(e,t);return i}function Jw(e,t){let r,i;return i=e[t.get()],t.increment(),r=i&127,i<128||(i=e[t.get()],t.increment(),r|=(i&127)<<7,i<128)||(i=e[t.get()],t.increment(),r|=(i&127)<<14,i<128)||(i=e[t.get()],t.increment(),r|=(i&127)<<21,i<128)?r:(i=e[t.get()],r|=(i&15)<<28,Qw(r,e,t))}function Qw(e,t,r){let i,n;if(n=t[r.get()],r.increment(),i=(n&112)>>4,n<128||(n=t[r.get()],r.increment(),i|=(n&127)<<3,n<128)||(n=t[r.get()],r.increment(),i|=(n&127)<<10,n<128)||(n=t[r.get()],r.increment(),i|=(n&127)<<17,n<128)||(n=t[r.get()],r.increment(),i|=(n&127)<<24,n<128)||(n=t[r.get()],r.increment(),i|=(n&1)<<31,n<128))return i*4294967296+(e>>>0);throw Error("Expected varint not more than 10 bytes")}function e3(e,t,r,i){return t3(e,t,r,i,zw(r>>>2))}function t3(e,t,r,i,n){let a=i.get();if(r&3)throw Error(`FastPFOR: invalid encodedByteLength=${r} at offset=${a} (encodedBytes.length=${e.length}; expected a multiple of 4 bytes for an int32 big-endian word stream)`);let s=r>>>2,o=Lw(n,s);Zw(e,a,r,o);let l=Yw(o.subarray(0,s),t,n.decoderWorkspace);return i.add(r),l}function ie(e){return e>>>1^-(e&1)}function Le(e){return e>>1n^-(e&1n)}function or(e){return e%2==1?(e+1)/-2:e/2}function r3(e){let t=new Int32Array(e.length);for(let r=0;r<e.length;r++)t[r]=ie(e[r]);return t}function i3(e){let t=new BigInt64Array(e.length);for(let r=0;r<e.length;r++)t[r]=Le(e[r]);return t}function Qo(e,t,r){if(r===void 0){r=0;for(let a=0;a<t;a++)r+=e[a]}let i=new Uint32Array(r),n=0;for(let a=0;a<t;a++){let s=e[a],o=e[a+t];i.fill(o,n,n+s),n+=s}return i}function el(e,t,r){if(r===void 0){r=0;for(let a=0;a<t;a++)r+=Number(e[a])}let i=new BigUint64Array(r),n=0;for(let a=0;a<t;a++){let s=Number(e[a]),o=e[a+t];i.fill(o,n,n+s),n+=s}return i}function Wd(e,t,r){let i=new Float64Array(r),n=0;for(let a=0;a<t;a++){let s=e[a],o=e[a+t];i.fill(o,n,n+s),n+=s}return i}function wc(e){let t=new Int32Array(e.length);t[0]=ie(e[0]);let r=e.length/4*4,i=1;if(r>=4)for(;i<r-4;i+=4){let n=e[i],a=e[i+1],s=e[i+2],o=e[i+3];t[i]=ie(n)+t[i-1],t[i+1]=ie(a)+t[i],t[i+2]=ie(s)+t[i+1],t[i+3]=ie(o)+t[i+2]}for(;i!==e.length;++i)t[i]=ie(e[i])+t[i-1];return t}function Dc(e){let t=new BigInt64Array(e.length);t[0]=Le(e[0]);let r=e.length/4*4,i=1;if(r>=4)for(;i<r-4;i+=4){let n=e[i],a=e[i+1],s=e[i+2],o=e[i+3];t[i]=Le(n)+t[i-1],t[i+1]=Le(a)+t[i],t[i+2]=Le(s)+t[i+1],t[i+3]=Le(o)+t[i+2]}for(;i!==t.length;++i)t[i]=Le(e[i])+t[i-1];return t}function n3(e){e[0]=or(e[0]);let t=e.length/4*4,r=1;if(t>=4)for(;r<t-4;r+=4){let i=e[r],n=e[r+1],a=e[r+2],s=e[r+3];e[r]=or(i)+e[r-1],e[r+1]=or(n)+e[r],e[r+2]=or(a)+e[r+1],e[r+3]=or(s)+e[r+2]}for(;r!==e.length;++r)e[r]=or(e[r])+e[r-1]}function a3(e,t,r){if(r===void 0){r=0;for(let a=0;a<t;a++)r+=e[a]}let i=new Int32Array(r),n=0;for(let a=0;a<t;a++){let s=e[a],o=e[a+t];o=ie(o),i.fill(o,n,n+s),n+=s}return i}function s3(e,t,r){if(r===void 0){r=0;for(let a=0;a<t;a++)r+=Number(e[a])}let i=new BigInt64Array(r),n=0;for(let a=0;a<t;a++){let s=Number(e[a]),o=e[a+t];o=Le(o),i.fill(o,n,n+s),n+=s}return i}function o3(e,t,r){let i=new Float64Array(r),n=0;for(let a=0;a<t;a++){let s=e[a],o=e[a+t];o=or(o),i.fill(o,n,n+s),n+=s}return i}function eu(e){let t=e.length/4*4,r=1;if(t>=4)for(let i=e[0];r<t-4;r+=4)i=e[r]+=i,i=e[r+1]+=i,i=e[r+2]+=i,i=e[r+3]+=i;for(;r!==e.length;)e[r]+=e[r-1],++r}function l3(e){let t=0;for(let r=0;r<e.length;r++)e[r]+=t,t=e[r]}function u3(e){if(e.length<2)return new Int32Array(e);let t=new Int32Array(e.length);t[0]=ie(e[0]),t[1]=ie(e[1]);let r=e.length/4*4,i=2;if(r>=4)for(;i<r-4;i+=4){let n=e[i],a=e[i+1],s=e[i+2],o=e[i+3];t[i]=ie(n)+t[i-2],t[i+1]=ie(a)+t[i-1],t[i+2]=ie(s)+t[i],t[i+3]=ie(o)+t[i+1]}for(;i!==e.length;i+=2)t[i]=ie(e[i])+t[i-2],t[i+1]=ie(e[i+1])+t[i-1];return t}function h3(e){let t=new Int32Array(e.length+1);t[0]=0,t[1]=ie(e[0]);let r=t[1];for(let i=2;i!==t.length;++i){let n=e[i-1],a=ie(n);r+=a,t[i]=t[i-1]+r}return new Uint32Array(t)}function c3(e,t,r){let i=new Int32Array(r+1);i[0]=0;let n=1,a=i[0];for(let s=0;s<t;s++){let o=e[s],l=e[s+t];l=ie(l);for(let u=n;u<n+o;u++)i[u]=l+a,a=i[u];n+=o}return i}function p3(e,t,r){let i=new Uint32Array(r+1);i[0]=0;let n=1,a=i[0];for(let s=0;s<t;s++){let o=e[s],l=e[s+t];for(let u=n;u<n+o;u++)i[u]=l+a,a=i[u];n+=o}return i}function f3(e,t,r){let i=new Int32Array(r),n=0,a=0;for(let s=0;s<t;s++){let o=e[s],l=e[s+t],u=ie(l);for(let h=0;h<o;h++)a+=u,i[n++]=a}return i}function d3(e,t,r){let i=new BigInt64Array(r),n=0,a=0n;for(let s=0;s<t;s++){let o=Number(e[s]),l=e[s+t],u=Le(l);for(let h=0;h<o;h++)a+=u,i[n++]=a}return i}function _c(e){let t=new Uint32Array(e.length);t[0]=ie(e[0])>>>0;for(let r=1;r<e.length;r++)t[r]=t[r-1]+ie(e[r])>>>0;return t}function Sc(e){let t=new BigUint64Array(e.length);t[0]=BigInt.asUintN(64,Le(e[0]));for(let r=1;r<e.length;r++)t[r]=BigInt.asUintN(64,t[r-1]+Le(e[r]));return t}function y3(e){if(e.length<2)return new Uint32Array(e);let t=new Uint32Array(e.length);t[0]=ie(e[0])>>>0,t[1]=ie(e[1])>>>0;for(let r=2;r<e.length;r+=2)t[r]=t[r-2]+ie(e[r])>>>0,t[r+1]=t[r-1]+ie(e[r+1])>>>0;return t}function m3(e){return e[1]}function g3(e){return ie(e[1])}function x3(e){if(e.length===2){let t=ie(e[1]);return[t,t]}return[ie(e[2]),ie(e[3])]}function v3(e){return e[1]}function b3(e){return Le(e[1])}function w3(e){if(e.length===2){let t=Le(e[1]);return[t,t]}return[Le(e[2]),Le(e[3])]}var Ae;(function(e){e.PRESENT="PRESENT",e.DATA="DATA",e.OFFSET="OFFSET",e.LENGTH="LENGTH"})(Ae||(Ae={}));var je;(function(e){e.NONE="NONE",e.SINGLE="SINGLE",e.SHARED="SHARED",e.VERTEX="VERTEX",e.MORTON="MORTON",e.FSST="FSST"})(je||(je={}));var Bt;(function(e){e.VERTEX="VERTEX",e.INDEX="INDEX",e.STRING="STRING",e.KEY="KEY"})(Bt||(Bt={}));var ke;(function(e){e.VAR_BINARY="VAR_BINARY",e.GEOMETRIES="GEOMETRIES",e.PARTS="PARTS",e.RINGS="RINGS",e.TRIANGLES="TRIANGLES",e.SYMBOL="SYMBOL",e.DICTIONARY="DICTIONARY"})(ke||(ke={}));const D3=[Ae.PRESENT,Ae.DATA,Ae.OFFSET,Ae.LENGTH],Ac=[H.NONE,H.DELTA,H.COMPONENTWISE_DELTA,H.RLE,H.MORTON],_3=[lt.NONE,lt.FAST_PFOR,lt.VARINT],S3=[je.NONE,je.SINGLE,je.SHARED,je.VERTEX,je.MORTON,je.FSST],A3=[Bt.VERTEX,Bt.INDEX,Bt.STRING,Bt.KEY],E3=[ke.VAR_BINARY,ke.GEOMETRIES,ke.PARTS,ke.RINGS,ke.TRIANGLES,ke.SYMBOL,ke.DICTIONARY];function pe(e,t){let r=k3(e,t);return r.logicalLevelTechnique1===H.MORTON?F3(r,e,t):(H.RLE===r.logicalLevelTechnique1||H.RLE===r.logicalLevelTechnique2)&&lt.NONE!==r.physicalLevelTechnique?T3(r,e,t):r}function F3(e,t,r){let i=Oe(t,r,2);return{physicalStreamType:e.physicalStreamType,logicalStreamType:e.logicalStreamType,logicalLevelTechnique1:e.logicalLevelTechnique1,logicalLevelTechnique2:e.logicalLevelTechnique2,physicalLevelTechnique:e.physicalLevelTechnique,numValues:e.numValues,byteLength:e.byteLength,decompressedCount:e.decompressedCount,numBits:i[0],coordinateShift:i[1]}}function T3(e,t,r){let i=Oe(t,r,2);return{physicalStreamType:e.physicalStreamType,logicalStreamType:e.logicalStreamType,logicalLevelTechnique1:e.logicalLevelTechnique1,logicalLevelTechnique2:e.logicalLevelTechnique2,physicalLevelTechnique:e.physicalLevelTechnique,numValues:e.numValues,byteLength:e.byteLength,decompressedCount:i[1],runs:i[0],numRleValues:i[1]}}function k3(e,t){let r=e[t.get()],i=D3[r>>4],n={};switch(i){case Ae.DATA:n={dictionaryType:S3[r&15]};break;case Ae.OFFSET:n={offsetType:A3[r&15]};break;case Ae.LENGTH:n={lengthType:E3[r&15]}}t.increment();let a=e[t.get()],s=Ac[a>>5],o=Ac[a>>2&7],l=_3[a&3];t.increment();let u=Oe(e,t,2),h=u[0],c=u[1];return{physicalStreamType:i,logicalStreamType:n,logicalLevelTechnique1:s,logicalLevelTechnique2:o,physicalLevelTechnique:l,numValues:h,byteLength:c,decompressedCount:h}}var le;(function(e){e[e.FLAT=0]="FLAT",e[e.CONST=1]="CONST",e[e.SEQUENCE=2]="SEQUENCE",e[e.DICTIONARY=3]="DICTIONARY",e[e.FSST_DICTIONARY=4]="FSST_DICTIONARY"})(le||(le={}));var ft=class{constructor(e,t){this.values=e,this._size=t}get(e){let t=Math.floor(e/8),r=e%8;return(this.values[t]>>r&1)==1}set(e,t){let r=Math.floor(e/8),i=e%8;this.values[r]=this.values[r]|+!!t<<i}getInt(e){let t=Math.floor(e/8),r=e%8;return this.values[t]>>r&1}size(){return this._size}getBuffer(){return this.values}};function _r(e,t,r){if(!t)return e;let i=t.size(),n=e.constructor,a=new n(i),s=0;for(let o=0;o<i;o++)a[o]=t.get(o)?e[s++]:r;return a}function I3(e,t,r){if(!r)return e;let i=r.size(),n=new ft(e,t),a=new ft(new Uint8Array(Math.ceil(i/8)),i),s=0;for(let o=0;o<i;o++){let l=r.get(o)?n.get(s++):!1;a.set(o,l)}return a.getBuffer()}function oi(e,t,r,i,n){let a=C3(e,Math.ceil(t/8),r,i);return n?I3(a,t,n):a}function C3(e,t,r,i){let n=new Uint8Array(t),a=0,s=i.get()+r;for(;a<t&&!(i.get()>=s);){let o=e[i.increment()];if(o<=127){let l=o+3,u=e[i.increment()],h=Math.min(a+l,t);n.fill(u,a,h),a=h}else{let l=256-o;for(let u=0;u<l&&a<t;u++)n[a++]=e[i.increment()]}}return i.set(s),n}function Zd(e,t,r,i){let n=t.get(),a=n+r*Float32Array.BYTES_PER_ELEMENT,s=new Uint8Array(e.subarray(n,a)).buffer,o=new Float32Array(s);return t.set(a),i?_r(o,i,0):o}function Hd(e,t,r,i){let n=t.get(),a=n+r*Float64Array.BYTES_PER_ELEMENT,s=new Uint8Array(e.subarray(n,a)).buffer,o=new Float64Array(s);return t.set(a),i?_r(o,i,0):o}function B3(e,t,r){let i=t.get(),n=r*Uint32Array.BYTES_PER_ELEMENT,a=new DataView(e.buffer,e.byteOffset,e.byteLength),s=new Uint32Array(r);for(let o=0;o<r;o++)s[o]=a.getUint32(i+o*Uint32Array.BYTES_PER_ELEMENT,!0);return t.add(n),s}function P3(e,t,r){let i=t.get(),n=r*BigUint64Array.BYTES_PER_ELEMENT,a=new DataView(e.buffer,e.byteOffset,e.byteLength),s=new BigUint64Array(r);for(let o=0;o<r;o++)s[o]=a.getBigUint64(i+o*BigUint64Array.BYTES_PER_ELEMENT,!0);return t.add(n),s}const M3=new TextDecoder;function tu(e,t,r){return r-t>=12?M3.decode(e.subarray(t,r)):z3(e,t,r)}function z3(e,t,r){let i="",n=t;for(;n<r;){let a=e[n],s=null,o=a>239?4:a>223?3:a>191?2:1;if(n+o>r)break;let l,u,h;o===1?a<128&&(s=a):o===2?(l=e[n+1],(l&192)==128&&(s=(a&31)<<6|l&63,s<=127&&(s=null))):o===3?(l=e[n+1],u=e[n+2],(l&192)==128&&(u&192)==128&&(s=(a&15)<<12|(l&63)<<6|u&63,(s<=2047||s>=55296&&s<=57343)&&(s=null))):o===4&&(l=e[n+1],u=e[n+2],h=e[n+3],(l&192)==128&&(u&192)==128&&(h&192)==128&&(s=(a&15)<<18|(l&63)<<12|(u&63)<<6|h&63,(s<=65535||s>=1114112)&&(s=null))),s===null?(s=65533,o=1):s>65535&&(s-=65536,i+=String.fromCharCode(s>>>10&1023|55296),s=56320|s&1023),i+=String.fromCharCode(s),n+=o}return i}function Aa(e,t,r,i,n){return $3(li(e,t,r),r,i,n)}function ze(e,t,r,i,n){return N3(li(e,t,r),r,i,n)}function Yt(e,t,r){return j3(li(e,t,r),r)}function li(e,t,r){let i=r.physicalLevelTechnique;switch(i){case lt.FAST_PFOR:return e3(e,r.numValues,r.byteLength,t);case lt.VARINT:return Oe(e,t,r.numValues);case lt.NONE:return B3(e,t,r.numValues);default:throw Error(`Specified physicalLevelTechnique ${i} is not supported (yet).`)}}function xn(e,t,r){let i=r.physicalLevelTechnique;switch(i){case lt.VARINT:return Ql(e,t,r.numValues);case lt.NONE:return P3(e,t,r.numValues);default:throw Error(`Specified physicalLevelTechnique ${i} is not supported (yet).`)}}function L3(e,t,r){let i=li(e,t,r);return i.length===1?ie(i[0]):g3(i)}function ru(e,t,r){let i=li(e,t,r);return i.length===1?r.logicalLevelTechnique1===H.DELTA?ie(i[0]):i[0]:m3(i)}function Kd(e,t,r){return x3(li(e,t,r))}function Jd(e,t,r){return w3(Ql(e,t,r.numValues))}function Qd(e,t,r,i){return U3(xn(e,t,r),r,i)}function iu(e,t,r,i){return ty(xn(e,t,r),r,i)}function V3(e,t,r,i){let n=O3(e,t,r,!1);return i?_r(n,i,0):n}function O3(e,t,r,i){if(r.physicalLevelTechnique===lt.VARINT)return q3(Kw(e,t,r.numValues),r,i);let n=xn(e,t,r),a=ty(n,r);return Float64Array.from(a,Number)}function R3(e,t,r){let i=xn(e,t,r);return i.length===1?Le(i[0]):b3(i)}function ey(e,t,r){let i=xn(e,t,r);return i.length===1?r.logicalLevelTechnique1===H.DELTA?Le(i[0]):i[0]:v3(i)}function $3(e,t,r,i){let n;switch(t.logicalLevelTechnique1){case H.DELTA:if(t.logicalLevelTechnique2===H.RLE){let a=t;if(!i)return f3(e,a.runs,a.numRleValues);e=Qo(e,a.runs,a.numRleValues),n=wc(e)}else n=wc(e);break;case H.RLE:n=a3(e,t.runs,t.numRleValues);break;case H.MORTON:eu(e),n=new Int32Array(e);break;case H.COMPONENTWISE_DELTA:n=u3(e);break;case H.NONE:n=r3(e);break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return i?_r(n,i,0):n}function N3(e,t,r,i){let n;switch(t.logicalLevelTechnique1){case H.DELTA:if(t.logicalLevelTechnique2===H.RLE){let a=t;n=_c(Qo(e,a.runs,a.numRleValues))}else n=_c(e);break;case H.RLE:n=Qo(e,t.runs,t.numRleValues);break;case H.MORTON:eu(e),n=e;break;case H.COMPONENTWISE_DELTA:n=y3(e);break;case H.NONE:n=e;break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return i?_r(n,i,0):n}function U3(e,t,r){let i;switch(t.logicalLevelTechnique1){case H.DELTA:if(t.logicalLevelTechnique2===H.RLE){let n=t;if(!r)return d3(e,n.runs,n.numRleValues);e=el(e,n.runs,n.numRleValues),i=Dc(e)}else i=Dc(e);break;case H.RLE:i=s3(e,t.runs,t.numRleValues);break;case H.NONE:i=i3(e);break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return r?_r(i,r,0n):i}function ty(e,t,r){let i;switch(t.logicalLevelTechnique1){case H.DELTA:if(t.logicalLevelTechnique2===H.RLE){let n=t;i=Sc(el(e,n.runs,n.numRleValues))}else i=Sc(e);break;case H.RLE:i=el(e,t.runs,t.numRleValues);break;case H.NONE:i=e;break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return r?_r(i,r,0n):i}function q3(e,t,r){switch(t.logicalLevelTechnique1){case H.DELTA:if(t.logicalLevelTechnique2===H.RLE){let i=t;e=Wd(e,i.runs,i.numRleValues)}return n3(e),e;case H.RLE:return X3(e,t,r);case H.NONE:return e;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}}function j3(e,t){if(t.logicalLevelTechnique1===H.DELTA&&t.logicalLevelTechnique2===H.NONE)return h3(e);if(t.logicalLevelTechnique1===H.RLE&&t.logicalLevelTechnique2===H.NONE){let r=t;return p3(e,r.runs,r.numRleValues)}if(t.logicalLevelTechnique1===H.NONE&&t.logicalLevelTechnique2===H.NONE){l3(e);let r=new Uint32Array(t.numValues+1);return r[0]=0,r.set(e,1),r}if(t.logicalLevelTechnique1===H.DELTA&&t.logicalLevelTechnique2===H.RLE){let r=t,i=c3(e,r.runs,r.numRleValues);return eu(i),new Uint32Array(i)}throw Error("Only delta encoding is supported for transforming length to offset streams yet.")}function Xa(e,t,r,i,n="int32"){let a=e.logicalLevelTechnique1;if(a===H.RLE)return e.runs===1?le.CONST:le.FLAT;if(a!==H.DELTA||e.logicalLevelTechnique2!==H.RLE)return e.numValues===1?le.CONST:le.FLAT;let s=t instanceof ft?t.size():t,o=e;if(o.numRleValues!==s)return le.FLAT;if(o.runs===1)return le.SEQUENCE;if(o.runs!==2)return e.numValues===1?le.CONST:le.FLAT;let l=i.get();if(e.physicalLevelTechnique===lt.VARINT)return G3(r,i,n)?le.SEQUENCE:e.numValues===1?le.CONST:le.FLAT;let u=i.get(),h=new Int32Array(r.buffer,r.byteOffset+u,4);return i.set(l),h[2]===2&&h[3]===2?le.SEQUENCE:e.numValues===1?le.CONST:le.FLAT}function G3(e,t,r){let i=new Gd(t.get());if(r==="int64"){let a=Ql(e,i,4);return a[2]===2n&&a[3]===2n}let n=Oe(e,i,4);return n[2]===2&&n[3]===2}function X3(e,t,r){return r?o3(e,t.runs,t.numRleValues):Wd(e,t.runs,t.numRleValues)}var ry=class extends Ga{getValueFromBuffer(e){return this.dataBuffer[e]}},iy=class extends qd{constructor(e,t,r,i,n){super(e,n?BigInt64Array.of(t):BigUint64Array.of(t),r,i)}getValueFromBuffer(e){return this.dataBuffer[0]+BigInt(e)*this.delta}};function nu(e,t,r){return{x:Ec(e,t)-r,y:Ec(e>>1,t)-r}}function Ec(e,t){let r=0;for(let i=0;i<t;i++)r|=(e&1<<2*i)>>i;return r}var Ve;(function(e){e[e.POINT=0]="POINT",e[e.LINESTRING=1]="LINESTRING",e[e.POLYGON=2]="POLYGON",e[e.MULTIPOINT=3]="MULTIPOINT",e[e.MULTILINESTRING=4]="MULTILINESTRING",e[e.MULTIPOLYGON=5]="MULTIPOLYGON"})(Ve||(Ve={}));var Y3;(function(e){e[e.POINT=0]="POINT",e[e.LINESTRING=1]="LINESTRING",e[e.POLYGON=2]="POLYGON"})(Y3||(Y3={}));var Sr;(function(e){e[e.MORTON=0]="MORTON",e[e.VEC_2=1]="VEC_2",e[e.VEC_3=2]="VEC_3"})(Sr||(Sr={}));function W3(e){let t=Array(e.numGeometries),r=1,i=1,n=1,a=0,s=0,o=0,l=e.mortonSettings,u=e.topologyVector,h=u.geometryOffsets,c=u.partOffsets,p=u.ringOffsets,f=e.vertexOffsets,d=!f||f.length===0,y=e.containsPolygonGeometry(),m=e.vertexBuffer;for(let g=0;g<e.numGeometries;g++){let x=e.geometryType(g);switch(x){case Ve.POINT:{let v,b;if(d)v=m[s++],b=m[s++];else if(e.vertexBufferType===Sr.MORTON){let w=m[f[o++]],_=nu(w,l.numBits,l.coordinateShift);v=_.x,b=_.y}else{let w=f[o++]*2;v=m[w],b=m[w+1]}t[a++]=[[new B(v,b)]],h&&n++,c&&r++,p&&i++}break;case Ve.MULTIPOINT:{let v=h[n]-h[n-1];n++;let b;if(d){b=Array(v);for(let w=0;w<v;w++){let _=m[s++],S=m[s++];b[w]=new B(_,S)}}else b=ar(e.vertexBufferType,m,f,o,v,!1,l),o+=v;t[a++]=b.map(w=>[w]),r+=v,i+=v}break;case Ve.LINESTRING:{let v;y?(v=p[i]-p[i-1],i++):v=c[r]-c[r-1],r++;let b;d?(b=Pr(m,s,v,!1),s+=v*2):(b=ar(e.vertexBufferType,m,f,o,v,!1,l),o+=v),t[a++]=[b],h&&n++}break;case Ve.POLYGON:{let v=c[r]-c[r-1];r++;let b=Array(v-1),w,_=p[i]-p[i-1];if(i++,d){w=Pr(m,s,_,!0),s+=_*2;for(let S=0;S<b.length;S++)_=p[i]-p[i-1],i++,b[S]=Pr(m,s,_,!0),s+=_*2}else{w=ar(e.vertexBufferType,m,f,o,_,!0,l),o+=_;for(let S=0;S<b.length;S++)_=p[i]-p[i-1],i++,b[S]=ar(e.vertexBufferType,m,f,o,_,!0,l),o+=_}t[a++]=[w].concat(b),h&&n++}break;case Ve.MULTILINESTRING:{let v=h[n]-h[n-1];n++;let b=Array(v);for(let w=0;w<v;w++){let _;if(y?(_=p[i]-p[i-1],i++):_=c[r]-c[r-1],r++,d)b[w]=Pr(m,s,_,!1),s+=_*2;else{let S=ar(e.vertexBufferType,m,f,o,_,!1,l);b[w]=S,o+=_}}t[a++]=b}break;case Ve.MULTIPOLYGON:{let v=h[n]-h[n-1];n++;let b=Array(v);for(let w=0;w<v;w++){let _=c[r]-c[r-1];r++;let S,A=Array(_-1),T=p[i]-p[i-1];i++,d?(S=Pr(m,s,T,!0),s+=T*2):(S=ar(e.vertexBufferType,m,f,o,T,!0,l),o+=T);for(let L=0;L<A.length;L++){let O=p[i]-p[i-1];i++,d?(A[L]=Pr(m,s,O,!0),s+=O*2):(A[L]=ar(e.vertexBufferType,m,f,o,O,!0,l),o+=O)}b[w]=[S].concat(A)}t[a++]=b.flat()}break;default:throw Error(`The specified geometry type (${x}) is currently not supported.`)}}return t}function ar(e,t,r,i,n,a,s){return e===Sr.MORTON?H3(t,r,i,n,a,s):Z3(t,r,i,n,a)}function Pr(e,t,r,i){let n=Array(i?r+1:r);for(let a=0;a<r*2;a+=2){let s=e[t+a],o=e[t+a+1];n[a/2]=new B(s,o)}return i&&(n[n.length-1]=n[0]),n}function Z3(e,t,r,i,n){let a=Array(n?i+1:i);for(let s=0;s<i*2;s+=2){let o=t[r+s/2]*2,l=e[o],u=e[o+1];a[s/2]=new B(l,u)}return n&&(a[a.length-1]=a[0]),a}function H3(e,t,r,i,n,a){let s=Array(n?i+1:i);for(let o=0;o<i;o++){let l=e[t[r+o]],u=nu(l,a.numBits,a.coordinateShift);s[o]=new B(u.x,u.y)}return n&&(s[s.length-1]=s[0]),s}var ny=class{constructor(e,t,r,i,n){this._vertexBufferType=e,this._topologyVector=t,this._vertexOffsets=r,this._vertexBuffer=i,this._mortonSettings=n}get vertexBufferType(){return this._vertexBufferType}get topologyVector(){return this._topologyVector}get vertexOffsets(){return this._vertexOffsets}get vertexBuffer(){return this._vertexBuffer}getSimpleEncodedVertex(e){let t=this.vertexOffsets?this.vertexOffsets[e]*2:e*2;return[this.vertexBuffer[t],this.vertexBuffer[t+1]]}getVertex(e){if(this.vertexOffsets&&this.mortonSettings){let r=this.vertexOffsets[e],i=this.vertexBuffer[r],n=nu(i,this.mortonSettings.numBits,this.mortonSettings.coordinateShift);return[n.x,n.y]}let t=this.vertexOffsets?this.vertexOffsets[e]*2:e*2;return[this.vertexBuffer[t],this.vertexBuffer[t+1]]}getGeometries(){return W3(this)}get mortonSettings(){return this._mortonSettings}};function K3(e,t,r,i,n){return new ay(e,t,Sr.VEC_2,r,i,n)}function J3(e,t,r,i,n,a){return new ay(e,t,Sr.MORTON,r,i,n,a)}var ay=class extends ny{constructor(e,t,r,i,n,a,s){super(r,i,n,a,s),this._numGeometries=e,this._geometryType=t}geometryType(e){return this._geometryType}get numGeometries(){return this._numGeometries}containsPolygonGeometry(){return this._geometryType===Ve.POLYGON||this._geometryType===Ve.MULTIPOLYGON}containsSingleGeometryType(){return!0}};function sy(e,t,r,i){return new oy(Sr.VEC_2,e,t,r,i)}function Q3(e,t,r,i,n){return new oy(Sr.MORTON,e,t,r,i,n)}var oy=class extends ny{constructor(e,t,r,i,n,a){super(e,r,i,n,a),this._geometryTypes=t}geometryType(e){return this._geometryTypes[e]}get numGeometries(){return this._geometryTypes.length}containsPolygonGeometry(){for(let e=0;e<this.numGeometries;e++)if(this.geometryType(e)===Ve.POLYGON||this.geometryType(e)===Ve.MULTIPOLYGON)return!0;return!1}containsSingleGeometryType(){return!1}},ly=class{constructor(e,t,r,i){this._triangleOffsets=e,this._indexBuffer=t,this._vertexBuffer=r,this._topologyVector=i}get triangleOffsets(){return this._triangleOffsets}get indexBuffer(){return this._indexBuffer}get vertexBuffer(){return this._vertexBuffer}get topologyVector(){return this._topologyVector}getGeometries(){if(!this._topologyVector)throw Error("Cannot convert GpuVector to coordinates without topology information");let e=new Uint32Array(this.numGeometries);for(let t=0;t<this.numGeometries;t++)e[t]=this.geometryType(t);return sy(e,this._topologyVector,void 0,this._vertexBuffer).getGeometries()}[Symbol.iterator](){return null}};function Fc(e,t,r,i,n,a){return new e6(e,t,r,i,n,a)}var e6=class extends ly{constructor(e,t,r,i,n,a){super(r,i,n,a),this._numGeometries=e,this._geometryType=t}geometryType(e){return this._geometryType}get numGeometries(){return this._numGeometries}containsSingleGeometryType(){return!0}};function Tc(e,t,r,i,n){return new t6(e,t,r,i,n)}var t6=class extends ly{constructor(e,t,r,i,n){super(t,r,i,n),this._geometryTypes=e}geometryType(e){return this._geometryTypes[e]}get numGeometries(){return this._geometryTypes.length}containsSingleGeometryType(){return!1}};function r6(e,t,r,i,n){let a=pe(e,r),s=Xa(a,i,e,r),o,l,u,h;if(s===le.CONST){let v=ru(e,r,a),b,w,_,S;for(let A=0;A<t-1;A++){let T=pe(e,r);switch(T.physicalStreamType){case Ae.LENGTH:switch(T.logicalStreamType.lengthType){case ke.GEOMETRIES:b=Yt(e,r,T);break;case ke.PARTS:w=Yt(e,r,T);break;case ke.RINGS:_=Yt(e,r,T);break;case ke.TRIANGLES:S=Yt(e,r,T)}break;case Ae.OFFSET:switch(T.logicalStreamType.offsetType){case Bt.VERTEX:o=ze(e,r,T);break;case Bt.INDEX:h=ze(e,r,T)}break;case Ae.DATA:if(je.VERTEX===T.logicalStreamType.dictionaryType)l=Aa(e,r,T,n);else{let L=T;u={numBits:L.numBits,coordinateShift:L.coordinateShift},l=ze(e,r,T,n)}}}return h?b!==void 0||w!==void 0?Fc(i,v,S,h,l,{geometryOffsets:b,partOffsets:w,ringOffsets:_}):Fc(i,v,S,h,l):u===void 0?K3(i,v,{geometryOffsets:b,partOffsets:w,ringOffsets:_},o,l):J3(i,v,{geometryOffsets:b,partOffsets:w,ringOffsets:_},o,l,u)}let c=ze(e,r,a),p,f,d,y;for(let v=0;v<t-1;v++){let b=pe(e,r);switch(b.physicalStreamType){case Ae.LENGTH:switch(b.logicalStreamType.lengthType){case ke.GEOMETRIES:p=ze(e,r,b);break;case ke.PARTS:f=ze(e,r,b);break;case ke.RINGS:d=ze(e,r,b);break;case ke.TRIANGLES:y=Yt(e,r,b)}break;case Ae.OFFSET:switch(b.logicalStreamType.offsetType){case Bt.VERTEX:o=ze(e,r,b);break;case Bt.INDEX:h=ze(e,r,b)}break;case Ae.DATA:if(je.VERTEX===b.logicalStreamType.dictionaryType)l=Aa(e,r,b,n);else{let w=b;u={numBits:w.numBits,coordinateShift:w.coordinateShift},l=ze(e,r,b,n)}}}let m,g,x;return p?(m=Us(c,p,2),f&&d?(g=kc(c,m,f,!1),x=n6(c,m,g,d)):f&&(g=i6(c,m,f))):f&&d?(g=Us(c,f,1),x=kc(c,g,d,!0)):f&&(g=Us(c,f,0)),h&&!g?Tc(c,y,h,l):h?Tc(c,y,h,l,{geometryOffsets:m,partOffsets:g,ringOffsets:x}):u===void 0?sy(c,{geometryOffsets:m,partOffsets:g,ringOffsets:x},o,l):Q3(c,{geometryOffsets:m,partOffsets:g,ringOffsets:x},o,l,u)}function Us(e,t,r){let i=new Uint32Array(e.length+1),n=0;i[0]=n;let a=0;for(let s=0;s<e.length;s++)n=i[s+1]=n+(e[s]>r?t[a++]:1);return i}function kc(e,t,r,i){let n=new Uint32Array(t[t.length-1]+1),a=0;n[0]=a;let s=1,o=0;for(let l=0;l<e.length;l++){let u=e[l],h=t[l+1]-t[l];if(u===5||u===2||i&&(u===4||u===1))for(let c=0;c<h;c++)a=n[s++]=a+r[o++];else for(let c=0;c<h;c++)n[s++]=++a}return n}function i6(e,t,r){let i=new Uint32Array(t[t.length-1]+1),n=0;i[0]=n;let a=1,s=0;for(let o=0;o<e.length;o++){let l=e[o],u=t[o+1]-t[o];if(l===4||l===1)for(let h=0;h<u;h++)n=i[a++]=n+r[s++];else for(let h=0;h<u;h++)i[a++]=++n}return i}function n6(e,t,r,i){let n=new Uint32Array(r[r.length-1]+1),a=0;n[0]=a;let s=1,o=1,l=0;for(let u=0;u<e.length;u++){let h=e[u],c=t[u+1]-t[u];if(h!==0&&h!==3)for(let p=0;p<c;p++){let f=r[s]-r[s-1];s++;for(let d=0;d<f;d++)a=n[o++]=a+i[l++]}else for(let p=0;p<c;p++)n[o++]=++a,s++}return n}var a6=class extends Dr{constructor(e,t,r){super(e,t.getBuffer(),r),this.dataVector=t}getValueFromBuffer(e){return this.dataVector.get(e)}},s6=class extends Ga{getValueFromBuffer(e){return this.dataBuffer[e]}},uy=class extends Dr{constructor(e,t,r,i){super(e,i?BigInt64Array.of(t):BigUint64Array.of(t),r)}getValueFromBuffer(e){return this.dataBuffer[0]}},au=class extends Dr{constructor(e,t,r,i){super(e,r,i),this.offsetBuffer=t}},Ic=class extends au{constructor(e,t,r,i){super(e,t,r,i??t.length-1)}getValueFromBuffer(e){let t=this.offsetBuffer[e],r=this.offsetBuffer[e+1];return tu(this.dataBuffer,t,r)}},Wr=class extends au{constructor(e,t,r,i,n){super(e,r,i,n??t.length),this.indexBuffer=t,this.indexBuffer=t}getValueFromBuffer(e){let t=this.indexBuffer[e],r=this.offsetBuffer[t],i=this.offsetBuffer[t+1];return tu(this.dataBuffer,r,i)}};function o6(e,t){let r=0;for(let i=0;i<t.length;i++){let n=t[i];n===255?(r++,i++):r+=e[n]}return r}function l6(e,t,r){let i=new Uint32Array(t.length);for(let s=1;s<t.length;s++)i[s]=i[s-1]+t[s-1];let n=new Uint8Array(o6(t,r)),a=0;for(let s=0;s<r.length;s++){let o=r[s];if(o===255)s++,n[a++]=r[s];else{let l=t[o],u=i[o];for(;l-- >0;)n[a++]=e[u++]}}return n}var hy=class extends au{constructor(e,t,r,i,n,a,s,o){super(e,r,i,s??t.length),this.indexBuffer=t,this.symbolOffsetBuffer=n,this.symbolTableBuffer=a,this.sharedDictionaryCache=o}getValueFromBuffer(e){var n;this.decodedDictionary??(this.decodedDictionary=(n=this.sharedDictionaryCache)==null?void 0:n.decodedDictionary,this.decodedDictionary??(this.decodedDictionary=this.decodeDictionary(),this.sharedDictionaryCache&&(this.sharedDictionaryCache.decodedDictionary=this.decodedDictionary)));let t=this.indexBuffer[e],r=this.offsetBuffer[t],i=this.offsetBuffer[t+1];return tu(this.decodedDictionary,r,i)}decodeDictionary(){return this.symbolLengthBuffer??(this.symbolLengthBuffer=this.offsetToLengthBuffer(this.symbolOffsetBuffer)),l6(this.symbolTableBuffer,this.symbolLengthBuffer,this.dataBuffer)}offsetToLengthBuffer(e){let t=new Uint32Array(e.length-1),r=e[0];for(let i=1;i<e.length;i++){let n=e[i];t[i-1]=n-r,r=n}return t}};function cy(e,t,r,i,n){let a,s,o,l,u,h=n,c,p;for(let f=0;f<i;f++){let d=pe(t,r);switch(d.physicalStreamType){case Ae.PRESENT:{let y=new ft(oi(t,d.numValues,d.byteLength,r),d.numValues);h=n??y;break}case Ae.OFFSET:s=ze(t,r,d,void 0,h);break;case Ae.LENGTH:{let y=Yt(t,r,d);ke.DICTIONARY===d.logicalStreamType.lengthType?a=y:ke.SYMBOL===d.logicalStreamType.lengthType?l=y:c=y;break}case Ae.DATA:{let y=t.subarray(r.get(),r.get()+d.byteLength);r.add(d.byteLength);let m=d.logicalStreamType.dictionaryType;je.FSST===m?u=y:je.SINGLE===m||je.SHARED===m?o=y:je.NONE===m&&(p=y);break}}}return u6(e,u,s,a,o,l,h)??h6(e,o,s,a,h)??c6(e,c,p,s,h)}function u6(e,t,r,i,n,a,s){if(t){if(!r||!i||!n||!a)throw Error(`Incomplete FSST dictionary string column "${e}"`);return new hy(e,r,i,n,a,t,s)}}function h6(e,t,r,i,n){if(t){if(!r||!i)throw Error(`Incomplete dictionary string column "${e}"`);return n?new Wr(e,r,i,t,n):new Wr(e,r,i,t)}}function c6(e,t,r,i,n){if(t&&r){if(i)return n?new Wr(e,i,t,r,n):new Wr(e,i,t,r);if(n&&n.size()!==t.length-1){let a=new Uint32Array(n.size()),s=0;for(let o=0;o<n.size();o++)n.get(o)?a[o]=s++:a[o]=0;return new Wr(e,a,t,r,n)}return n?new Ic(e,t,r,n):new Ic(e,t,r)}}function p6(e,t,r,i){let n,a,s,o,l=!1;for(;!l;){let f=pe(e,t);switch(f.physicalStreamType){case Ae.LENGTH:ke.DICTIONARY===f.logicalStreamType.lengthType?n=Yt(e,t,f):s=Yt(e,t,f);break;case Ae.DATA:je.SINGLE===f.logicalStreamType.dictionaryType||je.SHARED===f.logicalStreamType.dictionaryType?(a=e.subarray(t.get(),t.get()+f.byteLength),l=!0):o=e.subarray(t.get(),t.get()+f.byteLength),t.add(f.byteLength)}}if(r.type!=="complexType")throw Error(`Shared dictionary column ${r.name} must be a complex (struct) column.`);if(!n||!a)throw Error(`Incomplete shared dictionary for column "${r.name}"`);let u=r.complexType.children,h=[],c=o?{}:void 0,p=0;for(let f of u){let d=Oe(e,t,1)[0];if(d===0)continue;let y=f.name?`${r.name}${f.name}`:r.name;if(f.type!=="scalarField"||f.scalarField.physicalType!==ee.STRING)throw Error("Currently only scalar string fields are implemented for a struct.");if(d>1&&!f.nullable||d===1&&f.nullable)throw Error(`The number of streams for the child field ${f.name} does not match its nullability. nullibilty: ${f.nullable}, numStreams: ${d}`);let m;if(f.nullable){let x=pe(e,t);m=new ft(oi(e,x.numValues,x.byteLength,t),x.numValues)}let g=ze(e,t,pe(e,t),void 0,m);if(o){if(!s)throw Error(`Incomplete shared FSST dictionary for column "${y}"`);h[p++]=new hy(y,g,n,a,s,o,m,c)}else h[p++]=new Wr(y,g,n,a,m)}return h}var Cc=class extends Dr{constructor(e,t,r){super(e,new Uint8Array,r??t.length),this.values=t}getValueFromBuffer(e){return this.values[e]}},Pt;(function(e){e[e.STRING=1]="STRING",e[e.INT32=2]="INT32",e[e.UINT32=4]="UINT32",e[e.INT64=8]="INT64",e[e.UINT64=16]="UINT64",e[e.FLOAT=32]="FLOAT",e[e.DOUBLE=64]="DOUBLE",e[e.PRESENCE=128]="PRESENCE"})(Pt||(Pt={}));var hr;(function(e){e[e.FALSE=0]="FALSE",e[e.TRUE=1]="TRUE",e[e.START_MAP=2]="START_MAP",e[e.START_LIST=3]="START_LIST",e[e.COUNT=4]="COUNT"})(hr||(hr={}));function f6(e,t,r,i){let n=d6(r);if(i===0)return n.map(h=>new Cc(h,[]));let a=y6(e,t,i),s=(a.presentStream?a.presentCount:a.lengthStream.length)/n.length,o=[],l=0,u=0;for(let h=0;h<n.length;h++){let c=b6(a,h,s,l,u);o.push(new Cc(n[h],c.value,c.nullabilityBuffer)),l=c.countsEnd,u=c.valuesEnd}return o}function d6(e){let t=e.type==="complexType"?e.complexType.children:void 0;return!t||t.length===0?[e.name]:t.map(r=>e.name+(r.name??""))}function y6(e,t,r){let i=e[t.get()];t.add(1);let n=ze(e,t,pe(e,t)),a=r-1,s=[];i&Pt.STRING&&(a-=m6(e,t,s)),a-=g6(e,t,i,s),a-=x6(e,t,i,s);let o,l=0;if(i&Pt.PRESENCE){let h=v6(e,t);o=h.value,l=h.count,a--}let u=new Uint32Array;if(a>0&&(u=ze(e,t,pe(e,t)),a--),a!==0)throw Error(`Unexpected number of remaining streams while decoding map column: ${a}`);return{lengthStream:n,dictionary:s,presentStream:o,presentCount:l,flattenedValues:u}}function m6(e,t,r){let i=e[t.get()];t.add(1);let n=cy("",e,t,i);if(n)for(let a=0;a<n.size;a++)r.push(n.getValue(a));return i}function g6(e,t,r,i){let n=0;return r&Pt.INT32?(Nr(i,Aa(e,t,pe(e,t))),n++):r&Pt.INT64&&(Nr(i,Qd(e,t,pe(e,t))),n++),r&Pt.UINT32?(Nr(i,ze(e,t,pe(e,t))),n++):r&Pt.UINT64&&(Nr(i,iu(e,t,pe(e,t))),n++),n}function x6(e,t,r,i){let n=0;return r&Pt.FLOAT&&(Nr(i,Zd(e,t,pe(e,t).numValues)),n++),r&Pt.DOUBLE&&(Nr(i,Hd(e,t,pe(e,t).numValues)),n++),n}function v6(e,t){let r=pe(e,t);if(r.physicalStreamType!==Ae.PRESENT)throw Error(`Expected PRESENT stream for map column but found: ${r.physicalStreamType}`);let i=r.numValues,n=t.get(),a=new ft(oi(e,i,r.byteLength,t),i);return t.set(n+r.byteLength),{value:a,count:i}}function b6(e,t,r,i,n){let{lengthStream:a,flattenedValues:s,presentStream:o,dictionary:l}=e,u=t*r,h=r,c;if(o){c=new ft(new Uint8Array(Math.ceil(r/8)),r),h=0;for(let x=0;x<r;x++)o.get(u+x)&&(c.set(x,!0),h++)}let p=i+h;if(p>a.length)throw Error("Merged map counts underflow while decoding child streams");let f=Array(r),d=i,y=n;for(let x=0;x<r;x++){if(o&&!o.get(u+x)){f[x]=null;continue}let v=y+a[d++];if(v>s.length)throw Error("Map value stream underflow while decoding feature payload");let b=w6(s,y,v,l);f[x]=b.value,y=b.nextIndex}let m=0;for(let x=i;x<p;x++)m+=a[x];let g=n+m;if(y!==g)throw Error("Unused flattened map values remain after decode");return{value:f,nullabilityBuffer:c,countsEnd:p,valuesEnd:g}}function w6(e,t,r,i){return r-t===1||e[t]===hr.START_LIST?su(e,t,r,i):py(e,t,r,i)}function py(e,t,r,i){let n=Object.create(null),a=t;for(;a<r;){let s=fy(e[a++],i);if(typeof s!="string")throw Error(`Map key dictionary index does not resolve to a string: ${s}`);let o=su(e,a,r,i);n[s]=o.value,a=o.nextIndex}return{value:n,nextIndex:a}}function su(e,t,r,i){if(t>=r)throw Error("Unexpected end of map value stream");let n=e[t];if(n===hr.FALSE)return{value:!1,nextIndex:t+1};if(n===hr.TRUE)return{value:!0,nextIndex:t+1};if(n===hr.START_MAP){let a=Bc(e,t,r);return{value:py(e,t+2,a,i).value,nextIndex:a}}if(n===hr.START_LIST){let a=Bc(e,t,r),s=[],o=t+2;for(;o<a;){let l=su(e,o,a,i);s.push(l.value),o=l.nextIndex}return{value:s,nextIndex:a}}return{value:fy(n,i),nextIndex:t+1}}function Bc(e,t,r){if(t+1>=r)throw Error("Missing length for nested map/list payload");let i=e[t+1];if(i<2)throw Error(`Invalid nested payload length: ${i}`);let n=t+i;if(n>r)throw Error("Nested payload exceeds containing payload bounds");return n}function fy(e,t){let r=e-hr.COUNT;if(r<0||r>=t.length)throw Error(`Scalar dictionary index out of range: ${e}`);return t[r]}function Nr(e,t){for(let r of t)e.push(r)}function D6(e,t,r,i,n,a){var s;return r.type==="scalarType"?_6(i,e,t,n,r.scalarType,r):((s=r.complexType)==null?void 0:s.physicalType)===Kt.MAP?f6(e,t,r,i):i===0?null:p6(e,t,r)}function _6(e,t,r,i,n,a){let s;if(e===0)return null;if(a.nullable){let l=pe(t,r),u=l.numValues,h=r.get(),c=oi(t,u,l.byteLength,r);r.set(h+l.byteLength),s=new ft(c,l.numValues)}let o=s??i;switch(n.physicalType){case ee.UINT_32:case ee.INT_32:return T6(t,r,a,n,o);case ee.STRING:{let l=a.nullable?e-1:e;return cy(a.name,t,r,l,s)??null}case ee.BOOLEAN:return S6(t,r,a,i,o);case ee.UINT_64:case ee.INT_64:return F6(t,r,a,o,n);case ee.FLOAT:return A6(t,r,a,o);case ee.DOUBLE:return E6(t,r,a,o);default:throw Error(`The specified data type for the field is currently not supported: ${n}`)}}function S6(e,t,r,i,n){let a=pe(e,t),s=a.numValues,o=t.get(),l=vn(n)?n:void 0,u=oi(e,s,a.byteLength,t,l);t.set(o+a.byteLength);let h=new ft(u,s);return new a6(r.name,h,n)}function A6(e,t,r,i){let n=pe(e,t),a=vn(i)?i:void 0,s=Zd(e,t,n.numValues,a);return new s6(r.name,s,i)}function E6(e,t,r,i){let n=pe(e,t),a=vn(i)?i:void 0,s=Hd(e,t,n.numValues,a);return new Wl(r.name,s,i)}function F6(e,t,r,i,n){let a=pe(e,t),s=Xa(a,i,e,t,"int64"),o=n.physicalType===ee.INT_64;if(s===le.FLAT){let u=vn(i)?i:void 0,h=o?Qd(e,t,a,u):iu(e,t,a,u);return new ry(r.name,h,i)}if(s===le.SEQUENCE){let u=Jd(e,t,a);return new iy(r.name,u[0],u[1],a.numRleValues,o)}let l=o?R3(e,t,a):ey(e,t,a);return new uy(r.name,l,i,o)}function T6(e,t,r,i,n){let a=pe(e,t),s=Xa(a,n,e,t),o=i.physicalType===ee.INT_32;if(s===le.FLAT){let u=vn(n)?n:void 0,h=o?Aa(e,t,a,void 0,u):ze(e,t,a,void 0,u);return new Yl(r.name,h,n)}if(s===le.SEQUENCE){let u=Kd(e,t,a);return new Zl(r.name,u[0],u[1],a.numRleValues,o)}let l=o?L3(e,t,a):ru(e,t,a);return new Hl(r.name,l,n,o)}function vn(e){return e instanceof ft}const Te={ID:0,ID_NULLABLE:1,ID_LONG:2,GEOMETRY:4,SCALAR_BASE:10,STRUCT:30,MAP:31};function dy(e){switch(e){case Te.ID:case Te.ID|Te.ID_NULLABLE:case Te.ID|Te.ID_LONG:case Te.ID|Te.ID_LONG|Te.ID_NULLABLE:return{nullable:(e&Te.ID_NULLABLE)!==0,columnScope:Oi.FEATURE,type:"scalarType",scalarType:{longID:(e&Te.ID_LONG)!==0,type:"logicalType",logicalType:jd.ID}};case Te.GEOMETRY:return{nullable:!1,columnScope:Oi.FEATURE,type:"complexType",complexType:{type:"physicalType",physicalType:Kt.GEOMETRY,children:[]}};case Te.STRUCT:return{nullable:!1,columnScope:Oi.FEATURE,type:"complexType",complexType:{type:"physicalType",physicalType:Kt.STRUCT,children:[]}};case Te.MAP:return{nullable:!0,columnScope:Oi.FEATURE,type:"complexType",complexType:{type:"physicalType",physicalType:Kt.MAP,children:[]}};default:return P6(e)}}function k6(e){return e>=Te.SCALAR_BASE}function yy(e){return e===Te.STRUCT||e===Te.MAP}function I6(e){if(e.type==="scalarType"){let t=e.scalarType;if(t.type==="physicalType")switch(t.physicalType){case ee.BOOLEAN:case ee.INT_8:case ee.UINT_8:case ee.INT_32:case ee.UINT_32:case ee.INT_64:case ee.UINT_64:case ee.FLOAT:case ee.DOUBLE:return!1;case ee.STRING:return!0;default:return!1}if(t.type==="logicalType")return!1}else if(e.type==="complexType"){let t=e.complexType;if(t.type==="physicalType")switch(t.physicalType){case Kt.GEOMETRY:case Kt.STRUCT:case Kt.MAP:return!0;default:return!1}}return console.warn("Unexpected column type in hasStreamCount",e),!1}function C6(e){var t;return e.type==="scalarType"&&((t=e.scalarType)==null?void 0:t.type)==="logicalType"&&e.scalarType.logicalType===jd.ID}function B6(e){var t;return e.type==="complexType"&&((t=e.complexType)==null?void 0:t.type)==="physicalType"&&e.complexType.physicalType===Kt.GEOMETRY}function P6(e){let t;switch(e){case 10:case 11:t=ee.BOOLEAN;break;case 12:case 13:t=ee.INT_8;break;case 14:case 15:t=ee.UINT_8;break;case 16:case 17:t=ee.INT_32;break;case 18:case 19:t=ee.UINT_32;break;case 20:case 21:t=ee.INT_64;break;case 22:case 23:t=ee.UINT_64;break;case 24:case 25:t=ee.FLOAT;break;case 26:case 27:t=ee.DOUBLE;break;case 28:case 29:t=ee.STRING;break;default:return null}return{nullable:!!(e&1),columnScope:Oi.FEATURE,type:"scalarType",scalarType:{longID:!1,type:"physicalType",physicalType:t}}}const M6=new TextDecoder,Pc="0-3(ID), 4(GEOMETRY), 10-29(scalars), 30(STRUCT), 31(MAP)";function ou(e,t){let r=Oe(e,t,1)[0];if(r===0)return"";let i=t.get(),n=i+r,a=e.subarray(i,n);return t.add(r),M6.decode(a)}function z6(e){let t=e.name,r=e.nullable;return e.type==="scalarType"?{type:"scalarField",scalarField:e.scalarType,name:t,nullable:r}:{type:"complexField",complexField:e.complexType,name:t,nullable:r}}function my(e,t){let r=Oe(e,t,1)[0]>>>0,i=r>=Te.SCALAR_BASE?dy(r):null;if(!i)throw Error(`Unsupported field type code ${r}. Supported: 10-29(scalars), 30(STRUCT), 31(MAP)`);let n={...i,name:ou(e,t)};if(n.type==="complexType"&&yy(r)){let a=n.complexType,s=Oe(e,t,1)[0]>>>0;a.children=Array(s);for(let o=0;o<s;o++)a.children[o]=my(e,t)}return z6(n)}function L6(e,t){let r=Oe(e,t,1)[0]>>>0,i=dy(r);if(!i)throw Error(`Unsupported column type code ${r}. Supported: ${Pc}`);let n;if(k6(r))n=ou(e,t);else if(r<Te.GEOMETRY)n="id";else if(r===Te.GEOMETRY)n="geometry";else throw Error(`Unsupported column type code ${r}. Supported: ${Pc}`);let a={...i,name:n};if(a.type==="complexType"&&yy(r)){let s=Oe(e,t,1)[0]>>>0,o=a.complexType;o.children=Array(s);for(let l=0;l<s;l++)o.children[l]=my(e,t)}return a}function V6(e,t){let r={};r.featureTables=[];let i={};if(i.name=ou(e,t),i.name.length===0)throw Error("Missing layer name");let n=Oe(e,t,1)[0]>>>0,a=Oe(e,t,1)[0]>>>0;i.columns=Array(a);for(let s=0;s<a;s++)i.columns[s]=L6(e,t);return r.featureTables.push(i),[r,n]}function O6(e,t,r=!0){let i=new Gd(0),n=[];for(;i.get()<e.length;){let a=Oe(e,i,1)[0]>>>0,s=i.get()+a;if(s>e.length)throw Error(`Block overruns tile: ${s} > ${e.length}`);let o=Oe(e,i,1)[0]>>>0;if(o!==1&&o!==2){i.set(s);continue}let[l,u]=V6(e,i),h=l.featureTables[0],c=null,p=null,f=[],d=0;for(let m of h.columns){let g=m.name;if(C6(m)){let x=null;if(m.nullable){let b=pe(e,i),w=i.get(),_=oi(e,b.numValues,b.byteLength,i);i.set(w+b.byteLength),x=new ft(_,b.numValues)}let v=pe(e,i);d=x?x.size():v.decompressedCount,c=R6(e,m,i,g,v,x??d,r)}else if(B6(m)){let x=Oe(e,i,1)[0];if(d===0){let v=i.get();d=pe(e,i).decompressedCount,i.set(v)}p=r6(e,x,i,d,t)}else{let x=I6(m)?Oe(e,i,1)[0]:1;if(x===0)continue;let v=D6(e,i,m,x,d);if(v)if(Array.isArray(v))for(let b of v)f.push(b);else f.push(v)}}let y=new lw(h.name,p,c,f,u);n.push(y),i.set(s)}return n}function R6(e,t,r,i,n,a,s=!1){var h;let o=(h=t.scalarType)!=null&&h.longID?ee.UINT_64:ee.UINT_32,l=typeof a=="number"?void 0:a,u=Xa(n,a,e,r,o===ee.UINT_64?"int64":"int32");if(o===ee.UINT_32)switch(u){case le.FLAT:return new Yl(i,ze(e,r,n,void 0,l),a);case le.SEQUENCE:{let c=Kd(e,r,n);return new Zl(i,c[0],c[1],n.numRleValues,!1)}case le.CONST:return new Hl(i,ru(e,r,n),a,!1)}switch(u){case le.FLAT:return s?new Wl(i,V3(e,r,n,l),a):new ry(i,iu(e,r,n,l),a);case le.SEQUENCE:{let c=Jd(e,r,n);return new iy(i,c[0],c[1],n.numRleValues,!1)}case le.CONST:return new uy(i,ey(e,r,n),a,!1)}throw Error("Vector type not supported for id column.")}var $6=class{constructor(e,t){var r;switch(this._featureData=e,this.properties=this._featureData.properties||{},(r=this._featureData.geometry)==null?void 0:r.type){case Ve.POINT:case Ve.MULTIPOINT:this.type=1;break;case Ve.LINESTRING:case Ve.MULTILINESTRING:this.type=2;break;case Ve.POLYGON:case Ve.MULTIPOLYGON:this.type=3;break;default:this.type=0}this.extent=t,this.id=Number(this._featureData.id)}loadGeometry(){let e=[];for(let t of this._featureData.geometry.coordinates){let r=[];for(let i of t)r.push(new B(i.x,i.y));e.push(r)}return e}},N6=class{constructor(e){this.features=[],this.featureTable=e,this.name=e.name,this.extent=e.extent,this.version=2,this.features=e.getFeatures(),this.length=this.features.length}feature(e){return new $6(this.features[e],this.extent)}},gy=class{constructor(e){this.layers={};let t=O6(new Uint8Array(e));this.layers=t.reduce((r,i)=>({...r,[i.name]:new N6(i)}),{})}},xy=class{constructor(e,t){this.tileID=e,this.x=e.canonical.x,this.y=e.canonical.y,this.z=e.canonical.z,this.grid=new ro(xe,16,0),this.grid3D=new ro(xe,16,0),this.featureIndexArray=new _f,this.promoteId=t}insert(e,t,r,i,n,a){let s=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,i,n);let o=a?this.grid3D:this.grid;for(let l of t){let u=[1/0,1/0,-1/0,-1/0];for(let h of l)u[0]=Math.min(u[0],h.x),u[1]=Math.min(u[1],h.y),u[2]=Math.max(u[2],h.x),u[3]=Math.max(u[3],h.y);u[0]<8192&&u[1]<8192&&u[2]>=0&&u[3]>=0&&o.insert(s,u[0],u[1],u[2],u[3])}}loadVTLayers(){if(!this.vtLayers){switch(this.encoding){case"mlt":this.vtLayers=new gy(this.rawTileData).layers;break;default:this.vtLayers=new Yf(new xd(this.rawTileData)).layers}this.sourceLayerCoder=new Ud(this.vtLayers?Object.keys(this.vtLayers).sort():[Ho])}return this.vtLayers}query(e,t,r,i){this.loadVTLayers();let n=e.params,a=xe/e.tileSize/e.scale,s=Ji(n.filter,"queryRenderedFeatures filter",n.globalState),o=e.queryGeometry,l=e.queryPadding*a,u=_a.fromPoints(o),h=this.grid.query(u.minX-l,u.minY-l,u.maxX+l,u.maxY+l),c=_a.fromPoints(e.cameraQueryGeometry).expandBy(l),p=this.grid3D.query(c.minX,c.minY,c.maxX,c.maxY,(y,m,g,x)=>Hg(e.cameraQueryGeometry,y-l,m-l,g+l,x+l));for(let y of p)h.push(y);h.sort(q6);let f={},d;for(let y of h){if(y===d)continue;d=y;let m=this.featureIndexArray.get(y),g=null;this.loadMatchingFeature(f,m.bucketIndex,m.sourceLayerIndex,m.featureIndex,s,n.layers,n.availableImages,t,r,i,(x,v,b)=>(g||(g=wr(x)),v.queryIntersectsFeature({queryGeometry:o,feature:x,featureState:b,geometry:g,zoom:this.z,transform:e.transform,pixelsToTileUnits:a,pixelPosMatrix:e.pixelPosMatrix,unwrappedTileID:this.tileID.toUnwrapped(),getElevation:e.getElevation})))}return f}loadMatchingFeature(e,t,r,i,n,a,s,o,l,u,h){let c=this.bucketLayerIDs[t];if(a&&!c.some(y=>a.has(y)))return;let p=this.sourceLayerCoder.decode(r),f=this.vtLayers[p].feature(i);if(n.needGeometry){let y=si(f,!0);if(!n.filter(new se(this.tileID.overscaledZ),y,this.tileID.canonical))return}else if(!n.filter(new se(this.tileID.overscaledZ),f))return;let d=this.getId(f,p);for(let y of c){if(a&&!a.has(y))continue;let m=o[y];if(!m)continue;let g={};d&&u&&(g=u.getState(m.sourceLayer||"_geojsonTileLayer",d));let x=We({},l[y]);x.paint=Mc(x.paint,m.paint,f,g,s),x.layout=Mc(x.layout,m.layout,f,g,s);let v=!h||h(f,m,g);if(!v)continue;let b=new ow(f,this.z,this.x,this.y,d);b.layer=x;let w=e[y];w===void 0&&(w=e[y]=[]),w.push({featureIndex:i,feature:b,intersectionZ:v})}}lookupSymbolFeatures(e,t,r,i,n,a,s,o){let l={};this.loadVTLayers();let u=Ji(n.filterSpec,"queryRenderedFeatures symbol filter",n.globalState);for(let h of e)this.loadMatchingFeature(l,r,i,h,u,a,s,o,t);return l}hasLayer(e){for(let t of this.bucketLayerIDs)for(let r of t)if(e===r)return!0;return!1}getId(e,t){var i;let r=e.id;if(this.promoteId){let n=typeof this.promoteId=="string"?this.promoteId:this.promoteId[t];r=e.properties[n],typeof r=="boolean"&&(r=Number(r)),r===void 0&&((i=e.properties)!=null&&i.cluster)&&this.promoteId&&(r=Number(e.properties.cluster_id))}return r}};C("FeatureIndex",xy,{omit:["rawTileData","sourceLayerCoder"]});function U6(e){return typeof e=="object"&&!!e&&"evaluate"in e}function Mc(e,t,r,i,n){return la(e,(a,s)=>{let o=t instanceof Ra?t.get(s):null;return U6(o)?o.evaluate(r,i,void 0,n):o})}function q6(e,t){return t-e}var j6=class{constructor(e){this.maxEntries=e,this.map=new Map}get(e){let t=this.map.get(e);return t!==void 0&&(this.map.delete(e),this.map.set(e,t)),t}set(e,t){if(this.map.has(e))this.map.delete(e);else if(this.map.size>=this.maxEntries){let r=this.map.keys().next().value;this.map.delete(r)}this.map.set(e,t)}clear(){this.map.clear()}};/**
6
+ * MapLibre GL JS
7
+ * @license 3-Clause BSD. Full text of license: https://github.com/maplibre/maplibre-gl-js/blob/v6.11.2/LICENSE.txt
8
+ */function tl(e){let t=typeof e;if(t==="number"||t==="boolean"||t==="string"||e==null)return JSON.stringify(e);if(Array.isArray(e)){let n="[";for(let a of e)n+=`${tl(a)},`;return`${n}]`}let r=Object.keys(e).sort(),i="{";for(let n=0;n<r.length;n++)i+=`${JSON.stringify(r[n])}:${tl(e[r[n]])},`;return`${i}}`}function G6(e){let t="";for(let r of ym)t+=`/${tl(e[r])}`;return t}function X6(e,t){let r={};for(let n=0;n<e.length;n++){let a=t&&t[e[n].id]||G6(e[n]);t&&(t[e[n].id]=a);let s=r[a];s||(s=r[a]=[]),s.push(e[n])}let i=[];for(let n in r)i.push(r[n]);return i}var Y6=class{constructor(e,t){this.keyCache={},e&&this.replace(e,t)}replace(e,t){this._layerConfigs={},this._layers={},this.update(e,[],t)}update(e,t,r){for(let n of e){this._layerConfigs[n.id]=n;let a=this._layers[n.id]=Gb(n,r);a._featureFilter=Ji(a.filter,`layers[${n.id}].filter`,r),this.keyCache[n.id]&&delete this.keyCache[n.id]}for(let n of t)delete this.keyCache[n],delete this._layerConfigs[n],delete this._layers[n];this.familiesBySource={};let i=X6(Object.values(this._layerConfigs),this.keyCache);for(let n of i){let a=n.map(c=>this._layers[c.id]),s=a[0];if(s.isHidden())continue;let o=s.source||"",l=this.familiesBySource[o];l||(l=this.familiesBySource[o]={});let u=s.sourceLayer||"_geojsonTileLayer",h=l[u];h||(h=l[u]=[]),h.push(a)}}},vy=class{constructor(e){let t={},r=[];for(let s in e){let o=t[s]={};for(let l in e[s]){let u=e[s][l];o[l]={};for(let h in u){let c=u[h];if(!c||c.bitmap.width===0||c.bitmap.height===0)continue;let p={x:0,y:0,w:c.bitmap.width+2,h:c.bitmap.height+2};r.push(p),o[l][h]={rect:p,metrics:c.metrics}}}}let{w:i,h:n}=vd(r),a=new To({width:i||1,height:n||1});for(let s in e)for(let o in e[s]){let l=e[s][o];for(let u in l){let h=l[u];if(!h||h.bitmap.width===0||h.bitmap.height===0)continue;let c=t[s][o][u].rect;To.copy(h.bitmap,a,{x:0,y:0},{x:c.x+1,y:c.y+1},h.bitmap)}}this.image=a,this.positions=t}};C("GlyphAtlas",vy);var by=class{constructor(e){this.tileID=new $d(e.tileID.overscaledZ,e.tileID.wrap,e.tileID.canonical.z,e.tileID.canonical.x,e.tileID.canonical.y),this.uid=e.uid,this.zoom=e.zoom,this.pixelRatio=e.pixelRatio,this.tileSize=e.tileSize,this.source=e.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=e.showCollisionBoxes,this.collectResourceTiming=!!e.collectResourceTiming,this.returnDependencies=!!e.returnDependencies,this.promoteId=e.promoteId,this.inFlightDependencies=[]}async parse(e,t,r,i,n){this.data=e,this.collisionBoxArray=new ff;let a=new Ud(Object.keys(e.layers).sort()),s=new xy(this.tileID,this.promoteId);s.bucketLayerIDs=[];let o={},l={featureIndex:s,iconDependencies:{},patternDependencies:{},glyphDependencies:{},dashDependencies:{},availableImages:r,subdivisionGranularity:n},u=t.familiesBySource[this.source];for(let A in u){let T=e.layers[A];if(!T)continue;T.version===1&&Be(`Vector tile source "${this.source}" layer "${A}" does not use vector tile spec v2 and therefore may have some rendering errors.`);let L=a.encode(A),O=[];for(let P=0;P<T.length;P++){let V=T.feature(P),F=s.getId(V,A);O.push({feature:V,id:F,index:P,sourceLayerIndex:L})}for(let P of u[A]){let V=P[0];V.source!==this.source&&Be(`layer.source = ${V.source} does not equal this.source = ${this.source}`),!V.isHidden(this.zoom,!0)&&(zc(P,this.zoom,r),(o[V.id]=V.createBucket({index:s.bucketLayerIDs.length,layers:P,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:L,sourceID:this.source})).populate(O,l,this.tileID.canonical),s.bucketLayerIDs.push(P.map(F=>F.id)))}}let h=la(l.glyphDependencies,A=>la(A,T=>Object.keys(T)));for(let A of this.inFlightDependencies)A==null||A.abort();this.inFlightDependencies=[];let c=Promise.resolve({});if(Object.keys(h).length){let A=new AbortController;this.inFlightDependencies.push(A),c=i.sendAsync({type:"GG",data:{stacks:h,source:this.source,tileID:this.tileID,type:"glyphs"}},A)}let p=Object.keys(l.iconDependencies),f=Promise.resolve({});if(p.length){let A=new AbortController;this.inFlightDependencies.push(A),f=i.sendAsync({type:"GI",data:{icons:p,source:this.source,tileID:this.tileID,type:"icons"}},A)}let d=Object.keys(l.patternDependencies),y=Promise.resolve({});if(d.length){let A=new AbortController;this.inFlightDependencies.push(A),y=i.sendAsync({type:"GI",data:{icons:d,source:this.source,tileID:this.tileID,type:"patterns"}},A)}let m=l.dashDependencies,g=Promise.resolve({});if(Object.keys(m).length){let A=new AbortController;this.inFlightDependencies.push(A),g=i.sendAsync({type:"GDA",data:{dashes:m}},A)}let[x,v,b,w]=await Promise.all([c,f,y,g]),_=new vy(x),S=new wd(v,b);for(let A in o){let T=o[A];T.hasDependencies&&(zc(T.layers,this.zoom,r),T.addFeatures({options:l,canonical:this.tileID.canonical,glyphMap:x,glyphPositions:_.positions,iconMap:v,iconPositions:S.iconPositions,patternMap:b,patternPositions:S.patternPositions,dashPositions:w,showCollisionBoxes:this.showCollisionBoxes}))}return{buckets:Object.values(o).filter(A=>!A.isEmpty()),featureIndex:s,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:_.image,imageAtlas:S,dashPositions:w,glyphMap:this.returnDependencies?x:null,iconMap:this.returnDependencies?v:null,glyphPositions:this.returnDependencies?_.positions:null}}};function zc(e,t,r){let i=new se(t);for(let n of e)n.recalculate(i,r)}var wy=class{constructor(){this.loading={},this.loaded={},this.parsing={}}startLoading(e,t){this.loading[e]=t}finishLoading(e){delete this.loading[e]}abort(e){let t=this.loading[e];t!=null&&t.abort&&(t.abort.abort(),delete this.loading[e])}getParsing(e){return this.parsing[e]}setParsing(e,t){this.parsing[e]=t}removeParsing(e){delete this.parsing[e]}markLoaded(e,t){this.loaded[e]=t}getLoaded(e){let t=this.loaded[e];if(t)return t}removeLoaded(e){delete this.loaded[e]}clearLoaded(){this.loaded={}}},Dy=class{constructor(e){this.start=`${e}#start`,this.end=`${e}#end`,this.measure=e,performance.mark(this.start)}finish(){performance.mark(this.end);let e=performance.getEntriesByName(this.measure);return e.length===0&&(performance.measure(this.measure,this.start,this.end),e=performance.getEntriesByName(this.measure),performance.clearMarks(this.start),performance.clearMarks(this.end),performance.clearMeasures(this.measure)),e}},W6=class{constructor(e,t,r,i,n){this.type=e,this.properties=r||{},this.extent=n,this.pointsArray=t,this.id=i}loadGeometry(){return this.pointsArray.map(e=>e.map(t=>new B(t.x,t.y)))}},Z6=class{constructor(e,t,r){this.version=2,this._myFeatures=e,this.name=t,this.length=e.length,this.extent=r}feature(e){return this._myFeatures[e]}},H6=class{constructor(){this.layers={}}addLayer(e){this.layers[e.name]=e}};function K6(e,t,r){let{extent:i}=e,n=2**(r.z-t.z),a=(r.x-t.x*n)*i,s=(r.y-t.y*n)*i,o=[];for(let l=0;l<e.length;l++){let u=e.feature(l),h=u.loadGeometry();for(let c of h)for(let p of c)p.x=p.x*n-a,p.y=p.y*n-s;h=pb(h,u.type,-128,-128,i+128,i+128),h.length!==0&&o.push(new W6(u.type,h,u.properties,u.id,i))}return new Z6(o,e.name,i)}var J6=class{constructor(e,t,r){this.actor=e,this.layerIndex=t,this.availableImages=r,this.tileState=new wy,this.overzoomedTileResultCache=new j6(1e3)}loadVectorTile(e,t){try{return{vectorTile:e.encoding==="mlt"?new gy(t):new Yf(new xd(t)),rawData:t}}catch(r){let i=new Uint8Array(t),n=i[0]===31&&i[1]===139,a=`Unable to parse the tile at ${e.request.url}, `;throw a+=n?"please make sure the data is not gzipped and that you have configured the relevant header in the server":`got error: ${oa(r).message}`,Error(a)}}async loadTile(e){let{uid:t,overzoomParameters:r}=e;r&&(e.request=r.overzoomRequest);let i=this._startRequestTiming(e),n=new by(e);this.tileState.startLoading(t,n);let a=new AbortController;n.abort=a;try{let s=await fm(e.request,a);if(e.etag&&e.etag===s.etag)return this.tileState.finishLoading(t),this._getEtagUnmodifiedResult(s,i);let o=this.loadVectorTile(e,s.data);if(this.tileState.finishLoading(t),!o)return null;let{vectorTile:l,rawData:u}=o;r&&({vectorTile:l,rawData:u}=this._getOverzoomTile(e,l));let h=this._getExpiryData(s),c=this._finishRequestTiming(i);n.vectorTile=l,n.etag=s.etag,this.tileState.markLoaded(t,n);let p={rawData:u,cacheControl:h,resourceTiming:c};return this.tileState.setParsing(t,p),await this._parseWorkerTile(n,e)}catch(s){throw this.tileState.finishLoading(t),this.tileState.markLoaded(t,n),s}}_getEtagUnmodifiedResult(e,t){let r=this._getExpiryData(e),i=this._finishRequestTiming(t);return We({etagUnmodified:!0},r,i)}async _parseWorkerTile(e,t){let r=this.tileState.getParsing(e.uid),i=await e.parse(e.vectorTile,this.layerIndex,this.availableImages,this.actor,t.subdivisionGranularity);if(r){let{rawData:n,cacheControl:a,resourceTiming:s}=r,o=t.overzoomParameters?"mvt":t.encoding;i=We({rawTileData:n.slice(0),encoding:o},i,a,s),this.tileState.removeParsing(e.uid)}else e.etag&&(i=We(i,{etag:e.etag}));return i}_getExpiryData({expires:e,cacheControl:t,etag:r}){let i={};return e&&(i.expires=e),t&&(i.cacheControl=t),r&&(i.etag=r),i}_startRequestTiming(e){var t;if((t=e.request)!=null&&t.collectResourceTiming)return new Dy(e.request.url)}_finishRequestTiming(e){let t=e==null?void 0:e.finish();return t?{resourceTiming:JSON.parse(JSON.stringify(t))}:{}}_getOverzoomTile(e,t){var c;let{tileID:r,source:i,overzoomParameters:n}=e,{maxZoomTileID:a}=n,s=`${a.key}_${r.key}_${(c=e.request)==null?void 0:c.url}`,o=this.overzoomedTileResultCache.get(s);if(o)return o;let l=new H6,u=this.layerIndex.familiesBySource[i];for(let p in u){let f=t.layers[p];if(!f)continue;let d=K6(f,a,r.canonical);d.length>0&&l.addLayer(d)}let h={vectorTile:l,rawData:Nd(l).buffer};return this.overzoomedTileResultCache.set(s,h),h}async reloadTile(e){let t=e.uid,r=this.tileState.getLoaded(t);if(!r)throw Error("Should not be trying to reload a tile that was never loaded or has been removed");if(r.vectorTile)return r.showCollisionBoxes=e.showCollisionBoxes,await this._parseWorkerTile(r,e)}async abortTile(e){this.tileState.abort(e.uid)}async removeTile(e){this.tileState.removeLoaded(e.uid)}},Q6=class{constructor(){this.loaded={}}async loadTile(e){let{uid:t,encoding:r,rawImageData:i,redFactor:n,greenFactor:a,blueFactor:s,baseShift:o}=e,l=i.width+4,u=i.height+4,h=il(i)?new Qe({width:l,height:u},await nm(i,-2,-2,l,u)):i,c=new Lf(t,h,r,n,a,s,o);return this.loaded||(this.loaded={}),this.loaded[t]=c,c}removeTile(e){let t=this.loaded,r=e.uid;t!=null&&t[r]&&delete t[r]}},e5=class{constructor(e,t,r,i=t5){this.actor=e,this.layerIndex=t,this.availableImages=r,this.tileState=new wy,this._createGeoJSONIndex=i}loadVectorTile(e){if(!this._geoJSONIndex)throw Error("Unable to parse the data into a cluster or geojson");let{z:t,x:r,y:i}=e.tileID.canonical,n=this._geoJSONIndex.getTile(t,r,i);if(!n)return null;let a=new ew(n.features,{version:2,extent:xe});return{vectorTile:a,rawData:Nd(a,Hy).buffer}}async loadTile(e){let{uid:t}=e,r=new by(e);r.abort=new AbortController;try{let i=this.loadVectorTile(e);if(!i)return null;let{vectorTile:n,rawData:a}=i;r.vectorTile=n,this.tileState.markLoaded(t,r);let s={rawData:a};return this.tileState.setParsing(t,s),await this._parseWorkerTile(r,e)}catch(i){throw this.tileState.markLoaded(t,r),i}}async _parseWorkerTile(e,t){let r=this.tileState.getParsing(e.uid),i=await e.parse(e.vectorTile,this.layerIndex,this.availableImages,this.actor,t.subdivisionGranularity);if(r){let{rawData:n}=r;i=We({rawTileData:n.slice(0),encoding:"mvt"},i),this.tileState.removeParsing(e.uid)}return i}async abortTile(e){this.tileState.abort(e.uid)}async removeTile(e){this.tileState.removeLoaded(e.uid)}async loadData(e){var r;(r=this._pendingRequest)==null||r.abort();let t=this._startRequestTiming(e);this._pendingRequest=new AbortController;try{await this.loadAndProcessGeoJSON(e,this._pendingRequest),delete this._pendingRequest,this.tileState.clearLoaded();let i={};return e.request&&(i.data=e.data),this._finishRequestTiming(t,e,i),i}catch(i){if(delete this._pendingRequest,!Rc(i))throw i;return{abandoned:!0}}}_startRequestTiming(e){var t;if((t=e.request)!=null&&t.collectResourceTiming)return new Dy(e.request.url)}_finishRequestTiming(e,t,r){let i=e==null?void 0:e.finish();i&&(r.resourceTiming={[t.source]:JSON.parse(JSON.stringify(i))})}async reloadTile(e){let t=e.uid,r=this.tileState.getLoaded(t);if(!r)return await this.loadTile(e);if(r.vectorTile)return r.showCollisionBoxes=e.showCollisionBoxes,await this._parseWorkerTile(r,e)}async loadAndProcessGeoJSON(e,t){if(e.request&&(e.data=(await pm(e.request,t)).data),e.data){e.data=this._filterGeoJSON(e.data,e.filter,e.source),this._geoJSONIndex=this._createGeoJSONIndex(e.data,e);return}if(e.dataDiff){this._geoJSONIndex??(this._geoJSONIndex=this._createGeoJSONIndex({type:"FeatureCollection",features:[]},e)),this._geoJSONIndex.updateData(e.dataDiff,this._getFilterPredicate(e.filter,e.source));return}if(e.updateCluster&&this._geoJSONIndex.updateClusterOptions(e.geojsonVtOptions.cluster,_y(e)),this._geoJSONIndex==null)throw Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`)}_filterGeoJSON(e,t,r){if(e.type!=="FeatureCollection")return e;let i=this._getFilterPredicate(t,r);return i?{type:"FeatureCollection",features:e.features.filter(n=>i(n))}:e}_getFilterPredicate(e,t){if(typeof e!="boolean"&&!(e!=null&&e.length))return;let r=yr(e,`sources.${t}.filter`,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if(r.result==="error")throw Error(r.value.map(i=>`${i.key}: ${i.message}`).join(", "));return i=>r.value.evaluate({zoom:0},i)}async removeSource(e){var t;(t=this._pendingRequest)==null||t.abort()}getClusterExpansionZoom(e){return this._geoJSONIndex.getClusterExpansionZoom(e.clusterId)}getClusterChildren(e){return this._geoJSONIndex.getClusterChildren(e.clusterId)}getClusterLeaves(e){return this._geoJSONIndex.getClusterLeaves(e.clusterId,e.limit,e.offset)}};function t5(e,t){let r=We(t.geojsonVtOptions||{},{updateable:!0,clusterOptions:_y(t)});return new x2(e,r)}function _y({geojsonVtOptions:e,clusterProperties:t,source:r}){if(!t||!e.clusterOptions)return e.clusterOptions;let i={},n={},a={accumulated:null,zoom:0},s={properties:null},o=Object.keys(t);for(let l of o){let[u,h]=t[l],c=yr(h,`sources.${r}.clusterProperties.${l}[1]`),p=yr(typeof u=="string"?[u,["accumulated"],["get",l]]:u,`sources.${r}.clusterProperties.${l}[0]`);i[l]=c.value,n[l]=p.value}return e.clusterOptions.map=l=>{s.properties=l;let u={};for(let h of o)u[h]=i[h].evaluate(a,s);return u},e.clusterOptions.reduce=(l,u)=>{s.properties=u;for(let h of o)a.accumulated=l[h],l[h]=n[h].evaluate(a,s)},e.clusterOptions}async function Lc(e){if(e.endsWith(".mjs")){await import(e);return}let t=await fetch(e,{credentials:"same-origin"});if(!t.ok)throw Error(`Failed to load ${e}: ${t.status}`);let r=await t.text();if(/^[ \t]*(import|export)\s/m.test(r)){let i=URL.createObjectURL(new Blob([r],{type:"text/javascript"}));try{await import(i)}finally{URL.revokeObjectURL(i)}return}globalThis.eval(r)}var r5=class{constructor(e){this.self=e,this.actor=new Wb(e),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.globalStates=new Map,this.self.registerWorkerSource=(t,r)=>{if(this.externalWorkerSourceTypes[t])throw Error(`Worker source with name "${t}" already registered.`);this.externalWorkerSourceTypes[t]=r},this.self.addProtocol=om,this.self.removeProtocol=lm,this.self.registerRTLTextPlugin=t=>{ii.setMethods(t)},this.self.makeRequest=sl,this.actor.registerMessageHandler("LDT",(t,r)=>this._getDEMWorkerSource(t,r.source).loadTile(r)),this.actor.registerMessageHandler("RDT",async(t,r)=>{this._getDEMWorkerSource(t,r.source).removeTile(r)}),this.actor.registerMessageHandler("GCEZ",async(t,r)=>this._getWorkerSource(t,r.type,r.source).getClusterExpansionZoom(r)),this.actor.registerMessageHandler("GCC",async(t,r)=>this._getWorkerSource(t,r.type,r.source).getClusterChildren(r)),this.actor.registerMessageHandler("GCL",async(t,r)=>this._getWorkerSource(t,r.type,r.source).getClusterLeaves(r)),this.actor.registerMessageHandler("LD",(t,r)=>this._getWorkerSource(t,r.type,r.source).loadData(r)),this.actor.registerMessageHandler("LT",(t,r)=>this._getWorkerSource(t,r.type,r.source).loadTile(r)),this.actor.registerMessageHandler("RT",(t,r)=>this._getWorkerSource(t,r.type,r.source).reloadTile(r)),this.actor.registerMessageHandler("AT",(t,r)=>this._getWorkerSource(t,r.type,r.source).abortTile(r)),this.actor.registerMessageHandler("RMT",(t,r)=>this._getWorkerSource(t,r.type,r.source).removeTile(r)),this.actor.registerMessageHandler("RS",async(t,r)=>{var n,a;if(!((a=(n=this.workerSources[t])==null?void 0:n[r.type])!=null&&a[r.source]))return;let i=this.workerSources[t][r.type][r.source];delete this.workerSources[t][r.type][r.source],i.removeSource!==void 0&&i.removeSource(r)}),this.actor.registerMessageHandler("RM",async t=>{delete this.layerIndexes[t],delete this.availableImages[t],delete this.workerSources[t],delete this.demWorkerSources[t],this.globalStates.delete(t)}),this.actor.registerMessageHandler("SR",async(t,r)=>{this.referrer=r}),this.actor.registerMessageHandler("SRPS",(t,r)=>this._syncRTLPluginState(t,r)),this.actor.registerMessageHandler("IS",async(t,r)=>{await Lc(r)}),this.actor.registerMessageHandler("SI",(t,r)=>this._setImages(t,r)),this.actor.registerMessageHandler("UL",async(t,r)=>{this._getLayerIndex(t).update(r.layers,r.removedIds,this._getGlobalState(t))}),this.actor.registerMessageHandler("UGS",async(t,r)=>{let i=this._getGlobalState(t);for(let n in r)i[n]=r[n]}),this.actor.registerMessageHandler("SL",async(t,r)=>{this._getLayerIndex(t).replace(r,this._getGlobalState(t))})}_getGlobalState(e){let t=this.globalStates.get(e);return t||(t={},this.globalStates.set(e,t)),t}async _setImages(e,t){this.availableImages[e]=t;for(let r in this.workerSources[e]){let i=this.workerSources[e][r];for(let n in i)i[n].availableImages=t}}async _syncRTLPluginState(e,t){return await ii.syncState(t,Lc)}_getAvailableImages(e){let t=this.availableImages[e];return t||(t=[]),t}_getLayerIndex(e){let t=this.layerIndexes[e];return t||(t=this.layerIndexes[e]=new Y6),t}_getWorkerSource(e,t,r){var i,n;if((i=this.workerSources)[e]||(i[e]={}),(n=this.workerSources[e])[t]||(n[t]={}),!this.workerSources[e][t][r]){let a={sendAsync:(s,o)=>(s.targetMapId=e,this.actor.sendAsync(s,o))};switch(t){case"vector":this.workerSources[e][t][r]=new J6(a,this._getLayerIndex(e),this._getAvailableImages(e));break;case"geojson":this.workerSources[e][t][r]=new e5(a,this._getLayerIndex(e),this._getAvailableImages(e));break;default:this.workerSources[e][t][r]=new this.externalWorkerSourceTypes[t](a,this._getLayerIndex(e),this._getAvailableImages(e))}}return this.workerSources[e][t][r]}_getDEMWorkerSource(e,t){var r,i;return(r=this.demWorkerSources)[e]||(r[e]={}),(i=this.demWorkerSources[e])[t]||(i[t]=new Q6),this.demWorkerSources[e][t]}};Zr(self)&&(self.worker=new r5(self));