1import{A as e,C as t,E as n,G as r,I as i,K as a,M as o,N as s,O as c,Q as l,R as u,S as d,T as f,V as p,X as m,Y as h,Z as g,_t as _,a as v,at as y,bt as b,c as x,ct as S,d as C,f as w,gt as T,it as E,j as D,k as O,l as k,lt as A,m as ee,n as te,o as j,p as ne,pt as re,r as M,rt as ie,s as ae,st as oe,tt as se,ut as ce,vt as le,w as N,x as P,yt as ue}from"../chunks/5kvwrIzC.js";import{n as F}from"../chunks/BXiaQxS6.js";import"../chunks/xihTtKlq.js";import"../chunks/BWRUCg8O.js";import{t as de}from"../chunks/CYBUuitE.js";import{t as fe}from"../chunks/APdc2GdC.js";import{t as I}from"../chunks/CBhNILiD.js";import{t as pe}from"../chunks/DsMudfON.js";import{t as me}from"../chunks/CNGAXcsU.js";import{n as he,r as ge}from"../chunks/CTvFLTCC.js";import{a as _e,c as ve,i as ye,l as be,n as xe,o as Se,r as Ce,s as we,t as Te,u as Ee}from"../chunks/CxSv7m3L2.js";import{n as De}from"../chunks/Dx31ZHI22.js";var Oe=e=>`${e?.name}ã®ãããã£ã¼ã«ç»å`,ke=e=>`Profile picture of ${e?.name}`,Ae=((e,t={})=>(t.locale??F())===`en`?ke(e):Oe(e)),je=e=>`${e?.name}ã®GitHubã¢ãã¿ã¼`,Me=e=>`GitHub avatar of ${e?.name}`,L=((e,t={})=>(t.locale??F())===`en`?Me(e):je(e)),Ne=()=>`MIERUNEã®ä¼ç¤¾æ¦è¦ãç念ãã¡ã³ãã¼ãç´¹ä»ãã¾ãã`,Pe=()=>`Learn about MIERUNE's mission, values, team, and company profile.`,Fe=((e={},t={})=>(t.locale??F())===`en`?Pe(e):Ne(e)),Ie=()=>`ç§ãã¡ã«ã¤ãã¦`,Le=()=>`About us`,Re=((e={},t={})=>(t.locale??F())===`en`?Le(e):Ie(e)),ze=()=>`ãã¼ãã£ã³ã°é¢¨æ¯`,Be=()=>`A team meeting at MIERUNE`,Ve=((e={},t={})=>(t.locale??F())===`en`?Be(e):ze(e)),He=()=>`ãªãã£ã¹é¢¨æ¯`,Ue=()=>`MIERUNE office`,R=((e={},t={})=>(t.locale??F())===`en`?Ue(e):He(e)),We=()=>`MIERUNE嵿¥è `,Ge=()=>`MIERUNE founders`,Ke=((e={},t={})=>(t.locale??F())===`en`?Ge(e):We(e)),qe=()=>`ããããã¡ã®ãã¨ãªã¿ã«ã¯ããã¤ããä½ç½®ããããã¾ãã 2ããªãã®ç£ã¾ããç é¢ãå¤ããããè»çªããã®ã²ã¨ã®ä½ãã¾ã¡â¦`,z=()=>`We founded MIERUNE in 2016, out of Hokkaido's geospatial open-source community,`,B=((e={},t={})=>(t.locale??F())===`en`?z(e):qe(e)),V=()=>`ããã¶ãããããã²ã¨ã³ã¨ã¯ç²ç©ã®ããããæ´çªã«æãã忥µæããããã«ä¸çã¸æ¼ãåºãã¾ããã`,Je=()=>`because we saw something the industry was underusing: location data, and how much more of it the world was starting to produce.`,Ye=((e={},t={})=>(t.locale??F())===`en`?Je(e):V(e)),Xe=()=>`ããããã¾ããä½ç½®ã¯ãã£ã¨èªç±ã§ããã身è¿ãªãã®ã«ãªãã¾ããã 3æã®ã²ãã®ä¸ã§ãããããåºãæ¢ãåºãããã®è»å ã§ãã®ã²ã¨ã¨å¾ ã¡åãããã§ããã 4ãã®ãã¨ãªã¿ã®ãªãã§ãæã®æ°ã»ã©ã®ä½ç½®ãçã¾ãç¶ãã¦ãã¾ãã`,H=()=>`Our conviction was straightforward. This data holds enormous potential, and in the right hands it can change how society works â how cities are planned, how services reach people, how decisions get made.`,Ze=((e={},t={})=>(t.locale??F())===`en`?H(e):Xe(e)),Qe=()=>`ãããã¦ä½ç½®ã®ä¸çã大ããå¤ããã¯ããã2016å¹´ã 5åæµ·éã®ãªã¼ãã³ã½ã¼ã¹ã³ãã¥ããã£ãããMIERUNEã¯èªçãã¾ããã`,$e=()=>`Turning that potential into real results is the work we set out to do.`,et=((e={},t={})=>(t.locale??F())===`en`?$e(e):Qe(e)),tt=()=>`ä½ç½®ã«ã¯ãã¾ã è¦ã¬å¯è½æ§ãç ã£ã¦ããã¯ãã ã 6ãã¾ãã®å ã«ãã£ã¦ã社ä¼ãå¤ããæ°ããæ½®æµãã¤ããã ããããããªããã 7ãããªæããããããã¡ãçªãåããã¾ããã`,nt=()=>`Since then, MIERUNE has grown into a team of engineers and specialists who share that ambition.`,rt=((e={},t={})=>(t.locale??F())===`en`?nt(e):tt(e)),it=()=>`ããã¦ããã®æãã«å¼ãå¯ããããã²ã¨ã³ã¨ããMIERUNEã«ã¤ã©ãã¯ããã¾ããã 8å°½ããªã好å¥å¿ã¨ãç¥æµã®çµæ¶ãããªãã仲éãã¡â¦ 9ãããªãã¼ã ã®æ ç±ã«ãã£ã¦ãæ§ã ãªèª²é¡ãä½ç½®ã®åã§è§£æ±ºãããæ°ããªèªè·¯ãéæããã¦ãã£ãã®ã§ãã`,at=()=>`We build the products, solutions, and expertise that put geospatial data to work for our clients,`,ot=((e={},t={})=>(t.locale??F())===`en`?at(e):it(e)),st=()=>`ãã¯ããä½ç½®ã¯åãªãå°å³ä¸ã®ãç¹ãã§ã¯ããã¾ããã 10ããã¯äººã¨äººãã¤ãªããç·ãã«ãªãã社ä¼ãå ã¿è¾¼ããé¢ãã¨ãªã£ã¦ãã¾ãã 11ããã¦ãã²ã¨ã³ã¨ã®ãã¨ãªã¿ãç¶ãéããä½ç½®ã®è¼ããéåãããã¨ã¯ãªãã§ãããã`,ct=()=>`and we contribute back to the open-source ecosystem that made us possible.`,lt=((e={},t={})=>(t.locale??F())===`en`?ct(e):st(e)),ut=()=>`ããããã¡ã¯ããããªå ããããã«ãããªãã¨å ±ã«æ ãç¶ãã¦ããããã®ã§ãã 12ãã¤ã¦ã®ã²ã¨ã³ã¨ããããã£ã¦ããããã«ã`,dt=()=>`We are only at the start of what this technology can do.`,ft=((e={},t={})=>(t.locale??F())===`en`?dt(e):ut(e)),pt=()=>`MIERUNEã®åéºã¯ãã¾ã å§ã¾ã£ãã°ããã§ãã`,mt=()=>`Geospatial for Greater Good.`,ht=((e={},t={})=>(t.locale??F())===`en`?mt(e):pt(e)),gt=()=>`ä½ç½®ããã価å¤ã¸ã`,_t=()=>`Geospatial for Greater Good.`,vt=((e={},t={})=>(t.locale??F())===`en`?_t(e):gt(e)),yt=()=>
12`大åã«ãã¦ãããã¨`,bt=()=>`Our values`,xt=((e={},t={})=>(t.locale??F())===`en`?bt(e):yt(e)),St=()=>`Be Ambitious`,Ct=()=>`Be Ambitious`,wt=((e={},t={})=>(t.locale??F())===`en`?Ct(e):St(e)),Tt=()=>`大å¿ãæ±ã`,Et=()=>`Aim High`,Dt=((e={},t={})=>(t.locale??F())===`en`?Et(e):Tt(e)),U=()=>`ããããã¡ã¯ãåæµ·éã§çã¾ããä½ç½®æ
å ±æè¡ã®ãããã§ãã·ã§ãã«éå£ã§ããä¸çããªã¼ããããµã¼ãã¹ãæä¾ããææ¦ãç¶ããã¾ã è¦ã¬æå
端ãåãã²ããã¦ããã¾ããéæè
ç²¾ç¥ãè¸ã«ãæ°ããªç£æ¥ãåµãã¾ãã`,Ot=()=>`We are a team of geospatial technology specialists from Hokkaido. We set out to build services that lead the field, to keep taking on hard problems, and to work at the edge of what geospatial technology can do â with the intent of creating new industries, not only serving existing ones.`,kt=((e={},t={})=>(t.locale??F())===`en`?Ot(e):U(e)),At=()=>`Beyond, Together`,jt=()=>`Beyond, Together`,Mt=((e={},t={})=>(t.locale??F())===`en`?jt(e):At(e)),W=()=>`ã¿ããªã§é ãã¸`,Nt=()=>`Go Far Together`,Pt=((e={},t={})=>(t.locale??F())===`en`?Nt(e):W(e)),Ft=()=>`ããããã¡ã¯ããªã¼ãã³ã½ã¼ã¹ã®ã³ãã¥ããã£ããçã¾ããå¶å©ä¼æ¥ã§ããã¡ã³ãã¼ãååãåããã¯ã©ã¤ã¢ã³ãã¨ä¼´èµ°ãã夿§ãªæ¥çã¸è²¢ç®ãã¾ãããã¯ããè¡ããªãä¸äººã§ããã£ã¨é ãã¸è¡ããªãã¿ããªã§ãã¨ãã信念ãåååã«ãã¦é²ã¿ã¾ãã`,It=()=>`We are a commercial company with roots in open source. We work closely with one another, alongside our clients, and across a wide range of industries. One idea drives us: if you want to go fast, go alone; if you want to go far, go together.`,Lt=((e={},t={})=>(t.locale??F())===`en`?It(e):Ft(e)),Rt=()=>`Enjoy The Journey!`,zt=()=>`Enjoy The Journey!`,Bt=((e={},t={})=>(t.locale??F())===`en`?zt(e):Rt(e)),Vt=()=>`æ
ãæ¥½ãããï¼`,Ht=()=>`Enjoy the Journey!`,Ut=((e={},t={})=>(t.locale??F())===`en`?Ht(e):Vt(e)),G=()=>`ããããã¡ã¯ãå
å´ãããã¿ä¸ããæ°æã¡ã大åã«ãã¦ãããã¼ã ã§ããã©ããªãã¨ã§ãããã£ã¦ã¿ããï¼ãã¨ããæ
ç±ãæé«ã®çæã ã¨ä¿¡ãã¦ãã¾ããããããã®åæ§ããçã¾ããã°ã«ã¼ã´ãåã«å¤ãã¦ãåéºãç¶ãã¾ãã`,Wt=()=>`We are a team that values genuine, self-driven motivation. We believe a readiness to say "let's try it" is the best fuel there is, and we turn the mix of strengths each person brings into momentum that keeps the work â and the adventure â moving forward.`,K=((e={},t={})=>(t.locale??F())===`en`?Wt(e):G(e)),q=()=>`ãªãã¾ãã¡`,Gt=()=>`Our team`,J=((e={},t={})=>(t.locale??F())===`en`?Gt(e):q(e)),Kt=()=>`Management Team`,qt=()=>`Management Team`,Jt=((e={},t={})=>(t.locale??F())===`en`?qt(e):Kt(e)),Yt=()=>`Members`,Xt=()=>`Members`,Zt=((e={},t={})=>(t.locale??F())===`en`?Xt(e):Yt(e)),Qt=()=>`å
±å嵿¥è
`,$t=()=>`Co-Founder`,en=((e={},t={})=>(t.locale??F())===`en`?$t(e):Qt(e)),tn=()=>`æ¡æ¬ éè¦`,nn=()=>`Yasunori Kirimoto`,rn=((e={},t={})=>(t.locale??F())===`en`?nn(e):tn(e)),an=()=>`Yasunori Kirimoto`,on=()=>`æ¡æ¬ éè¦`,sn=((e={},t={})=>(t.locale??F())===`en`?on(e):an(e)),cn=()=>`代表åç· å½¹ CEO`,ln=()=>`Representative Director & CEO`,un=((e={},t={})=>(t.locale??F())===`en`?ln(e):cn(e)),dn=()=>`Co-Founder and CEO`,fn=()=>`Co-Founder and CEO`,pn=((e={},t={})=>(t.locale??F())===`en`?fn(e):dn(e)),mn=()=>`2004å¹´ããä½ç½®æ
å ±åéã«å¾äºãGISå°éä¼ç¤¾ã建è¨ã³ã³ãµã«ã¿ã³ããçµã¦ã2016å¹´ã«MIERUNEãå
±å嵿¥ãåç· å½¹CTOãåç· å½¹COOãæ´ä»»ããã®ã¡ãç¾å¨ã¯ä»£è¡¨åç· å½¹CEOã¨ãã¦çµå¶å
¨è¬ãæ
ãã`,hn=()=>`Yasunori Kirimoto has worked in the geospatial field since 2004. After roles at a specialist GIS company and a construction consultancy, he co-founded MIERUNE in 2016. He served as CTO and then COO before taking his current role as Representative Director and CEO, leading the company overall.`,gn=((e={},t={})=>(t.locale??F())===`en`?hn(e):mn(e)),_n=()=>`測é士ã»GISä¸ç´æè¡è
ã¨ãã¦ã®å°éæ§ãæãã20年以ä¸ã«ãããä½ç½®æ
å ±ãã¼ã¿ãã¢ããªã±ã¼ã·ã§ã³ã«é¢ããç¥èã¨çµé¨ãããæè¡ã¨çµå¶ã®ä¸¡é¢ã§MIERUNEã®äºæ¥æé·ãæ¨é²ãã¦ããã`,vn=()=>`A licensed surveyor and Senior GIS Engineer, he draws on more than 20 years of experience with geospatial data and applications to drive MIERUNE's growth on both the technical and business sides.`,yn=((e={},t={})=>(t.locale??F())===`en`?vn(e):_n(e)),bn=()=>`ä½ç½®æ
å ±åéã«ãããAWSæ´»ç¨ã«ãã¡æ©ãçç®ãã2022å¹´ã«AWS Heroã«é¸åºãDevToolsã«ãã´ãªã¨ãã¦ã¯æ¥æ¬äººã§åãã¦ã¨ãªã£ããMapLibre User Group Japanã
12®ç«ã¡ä¸ãã«ãæºãããªã©ãä½ç½®æ
å ±æ¥çã¨ãªã¼ãã³ã½ã¼ã¹ã³ãã¥ããã£ã®çºå±ã«å°½åãã¦ããã`,xn=()=>`An early advocate for using AWS in the geospatial field, he was named an AWS Hero in 2022 â the first person in Japan to receive the honor in the DevTools category. He also helped launch the MapLibre User Group Japan, and continues to support the growth of the geospatial industry and the open-source community.`,Sn=((e={},t={})=>(t.locale??F())===`en`?xn(e):bn(e)),Cn=()=>`å¤å· 泰人`,wn=()=>`Yasuto Furukawa`,Tn=((e={},t={})=>(t.locale??F())===`en`?wn(e):Cn(e)),En=()=>`Yasuto Furukawa`,Dn=()=>`å¤å· 泰人`,On=((e={},t={})=>(t.locale??F())===`en`?Dn(e):En(e)),kn=()=>`åç· å½¹ ã¨ã´ã¡ã³ã¸ã§ãªã¹ã`,An=()=>`Director & Evangelist`,jn=((e={},t={})=>(t.locale??F())===`en`?An(e):kn(e)),Mn=()=>`Co-Founder and Evangelist`,Nn=()=>`Co-Founder and Evangelist`,Pn=((e={},t={})=>(t.locale??F())===`en`?Nn(e):Mn(e)),Fn=()=>`åæµ·é大å¦ç ç©¶å¡ã建è¨ã³ã³ãµã«ã¿ã³ããçµã¦ã2016å¹´ã«MIERUNEãå
±å嵿¥ãåç· å½¹ã¨ã´ã¡ã³ã¸ã§ãªã¹ãã¨ãã¦ãå°ç空éåéã«ãããäºæ¥æ¦ç¥ç«æ¡ã対å¤ã¢ã©ã¤ã¢ã³ã¹æ¨é²ãæè¡ãã©ã³ãã£ã³ã°ãæ
ãã`,In=()=>`After working as a researcher at Hokkaido University and at a construction consultancy, Yasuto Furukawa co-founded MIERUNE in 2016. As Director and Evangelist, he leads business strategy, external alliances, and technical branding in the geospatial field.`,Ln=((e={},t={})=>(t.locale??F())===`en`?In(e):Fn(e)),Rn=()=>`Code for Japanãã§ãã¼ãå½å交éçå°ç空éæ
å ±èª²ã©ã ã¹ãã·ã£ã«ãµãã¼ã¿ã¼ãåãããªã©ãå
¨å½ã®èªæ²»ä½ã»ä¼æ¥ã»ã³ãã¥ããã£ã¨ã®é£æºãæ¨é²ããç ç©¶ã»è¡æ¿ã»æ°éãæ¨ªæããç«å ´ããå
Œ
±æ§ã¨æç¶å¯è½æ§ã両ç«ã«åãçµãã§ããã`,zn=()=>`He serves as a Code for Japan Fellow and a Special Supporter of the Geospatial Information Lab at Japan's Ministry of Land, Infrastructure, Transport and Tourism (MLIT), building partnerships with local governments, companies, and communities nationwide and working across research, government, and industry to balance public value with sustainability.`,Bn=((e={},t={})=>(t.locale??F())===`en`?zn(e):Rn(e)),Vn=()=>`ã¾ãæ
å ±å¦çæ¨é²æ©æ§ï¼IPAï¼ãªã¼ãã³ã½ã¼ã¹å°éå§å¡ããã¸ã¿ã«åºæ¨å¥¨ãã¼ã¿ã»ããæ¤è¨å§å¡ãæ´ä»»ãããªã©ãå°ç空éæ
å ±ã主軸ã«ããªã¼ãã³ãã¼ã¿ããã³ãªã¼ãã³ã½ã¼ã¹ã®æ¨æºåã»æ¿çè¨è¨ã»ç¤¾ä¼å®è£
ã«é¢ä¸ãã¦ãããé
ªè¾²å¦å大å¦å®¢å¡è¬å¸«ã`,Hn=()=>`He has also served as an open-source committee member at the Information-technology Promotion Agency (IPA) and on the Digital Agency's recommended-datasets committee, contributing to the standardization, policy design, and real-world adoption of open data and open source, with geospatial information at the core. He is a visiting lecturer at Rakuno Gakuen University.`,Un=((e={},t={})=>(t.locale??F())===`en`?Hn(e):Vn(e)),Wn=()=>`森 亮`,Gn=()=>`Toru Mori`,Kn=((e={},t={})=>(t.locale??F())===`en`?Gn(e):Wn(e)),qn=()=>`Toru Mori`,Jn=()=>`森 亮`,Yn=((e={},t={})=>(t.locale??F())===`en`?Jn(e):qn(e)),Xn=()=>`åç· å½¹`,Zn=()=>`Executive Director`,Qn=((e={},t={})=>(t.locale??F())===`en`?Zn(e):Xn(e)),$n=()=>`Executive Director`,er=()=>`Executive Director`,tr=((e={},t={})=>(t.locale??F())===`en`?er(e):$n(e)),nr=()=>`å°å³ä¼ç¤¾ãç±³å½GISãã³ãã¼ãçµã¦ã2002å¹´ã«ãªã¼ãã³ã½ã¼ã¹GISäºæ¥ãå±éãããªã¼ã¯ãã¼ã嵿¥ã2017å¹´ããã¯ç±³å½Appleã®ãããé¨éã«å¤åãããã®å¾ã¯HERE Technologiesã§æ¥æ¬åãã®è£½åå±éã«æºãã£ãã`,rr=()=>`After working at a mapping company and a US GIS vendor, Toru Mori founded Orkney Inc. in 2002 to build an open-source GIS business. From 2017 he worked in Apple's Maps division in the United States, and later led product development for the Japanese market at HERE Technologies.`,ir=((e={},t={})=>(t.locale??F())===`en`?rr(e):nr(e)),ar=()=>`2019å¹´ã«MIERUNEã®çµå¶ã«åç»ã2025å¹´ããã¯å¸¸å¤åç· å½¹ã¨ãã¦ãäºæ¥è¨ç»ã®çå®ããããã¯ãéçºã®æ¨é²ãæ
ãã`,or=()=>`He joined MIERUNE's management in 2019 and, since 2025, has served as a full-time Executive Director responsible for business planning and product development.`,sr=((e={},t={})=>(t.locale??F())===`en`?or(e):ar(e)),cr=()=>`OSGeoæ¥æ¬æ¯é¨ã®è¨ç«ãQGISã®æ¥æ¬èªå¯¾å¿ããã¸ã§ã¯ãã®ä»£è¡¨ãåãããªã©ãæ¥æ¬å½å
ã«ããããªã¼ãã³ã½ã¼ã¹GISã½ããã¦ã§ã¢ã®æ®åã«å¤§ããè²¢ç®ãã2023å¹´ã«ã¯GISåèªä¸ç´æè¡è
ã«èªå®ããããä¸è¬ç¤¾å£æ³äººOSGeoæ¥æ¬æ¯é¨ç£äºãéå±±å¦é¢å¤§å¦é常å¤è¬å¸«ã`,lr=()=>`He has contributed significantly to the spread of open-source GIS software in Japan â founding the OSGeo Japan chapter and leading the Japanese localization project for QGIS â and was certified as an Honorary Senior GIS Engineer in 2023. He serves as an auditor of OSGeo Japan and is a part-time lecturer at Aoyama Gakuin University.`,ur=((e={},t={})=>(t.locale??F())===`en`?lr(e):cr(e)),dr=()=>`å±±æ¬ æå½¦`,fr=()=>`Akihiko Yamamoto`,pr=((e={},t={})=>(t.locale??F())===`en`?fr(e):dr(e)),mr=()=>`Akihiko Yamamoto`,hr=()=>`å±±æ¬ æå½¦`,gr=((e={},t={})=>(t.locale??F())===`en`?hr(e):mr(e)),_r=()=>`é常å¤ç£æ»å½¹`,vr=()=>`Outside Auditor`,yr=((e={},t={})=>(t.locale??F())===`en`?vr(e):_r(e)),br=()=>`Auditor`,xr=()=>`Auditor`,Sr=((e={},t={})=>(t.locale??F())===`en`?xr(e):br(e)),Cr=()=>`1980å¹´æ ªå¼ä¼ç¤¾åæµ·ééè¡ã«å
¥è¡ããã®å¾ãæ ªå¼ä¼ç¤¾ã½ããããã³ãCFOãªã©ãçµã¦ã2005å¹´å±±æ¬ã³ã³ãµã«ãã£ã³ã°ãªãã£ã¹ãè¨ç«ã`,wr=()=>`Akihiko Yamamoto joined The Hokkaido Bank in 1980. He later served as CFO of Softfront Inc. and, in 2005, established Yamamoto Consulting Office.`,Tr=((e={},t={})=>(t.locale??F())===`en`?wr(e):Cr(e)),Er=()=>`ã³ã³ãµã«ãã£ã³ã°æ¥ã®çµå¶è
ã¨ãã¦æ§ã
ãªä¼æ¥ã«ããã社å¤ç£æ»å½¹ããµããã©ãã¼ã«ãã£ã³ã°ã¹æ ªå¼ä¼ç¤¾ãªã©ã®ç¤¾å¤åç· å½¹ãæ´ä»»ã2025å¹´å½ç¤¾ç¤¾å¤ç£æ»å½¹ã«å°±ä»»ã`,Dr=()=>`As a consulting-firm principal, he has held roles as external auditor and outside director at a range of companies, including Satudora Holdings Co., Ltd. He was appointed as an outside auditor of MIERUNE in 2025.`,Or=((e={},t={})=>(t.locale??F())===`en`?Dr(e):Er(e)),kr=()=>`Company Info`,Ar=()=>`Company Info`,jr=((e={},t={})=>(t.locale??F())===`en`?Ar(e):kr(e)),Mr=()=>`社å`,Nr=()=>`Company`,Pr=((e={},t={})=>(t.locale??F())===`en`?Nr(e):Mr(e)),Fr=()=>`MIERUNE Inc. (æ ªå¼ä¼ç¤¾MIERUNE)`,Ir=()=>`MIERUNE Inc.`,Lr=((e={},t={})=>(t.locale??F())===`en`?Ir(e):Fr(e)),Rr=()=>`è¨ç«`,zr=()=>`Founded`,Br=((e={},t={})=>(t.locale??F())===`en`?zr(e):Rr(e)),Vr=()=>`2016å¹´6æ (MIERUNE,LLC. æéå«ã)`,Hr=()=>`June 2016 (including the MIERUNE, LLC. period)`,Ur=((e={},t={})=>(t.locale??F())===`en`?Hr(e):Vr(e)),Wr=()=>`è³æ¬é`,Gr=()=>`Capital`,Y=((e={},t={})=>(t.locale??F())===`en`?Gr(e):Wr(e)),Kr=e=>`${e?.amount}å`,qr=e=>`Â¥${e?.amount}`,Jr=((e,t={})=>(t.locale??F())===`en`?qr(e):Kr(e)),Yr=()=>`代表åç· å½¹ CEO`,Xr=()=>`Representative Director & CEO`,Zr=((e={},t={})=>(t.locale??F())===`en`?Xr(e):Yr(e)),Qr=()=>`æ¡æ¬éè¦`,$r=()=>`Yasunori Kirimoto`,ei=((e={},t={})=>(t.locale??F())===`en`?$r(e):Qr(e)),ti=()=>`徿¥å¡æ°`,ni=()=>`Employees`,ri=((e={},t={})=>(t.locale??F())===`en`?ni(e):ti(e)),ii=e=>`${e?.count}åï¼${e?.date}ç¾å¨ï¼`,ai=e=>`${e?.count} (as of ${e?.date})`,oi=((e,t={})=>(t.locale??F())===`en`?ai(e):ii(e)),si=()=>`äºæ¥å
容`,ci=()=>`Business`,li=((e={},t={})=>(t.locale??F())===`en`?ci(e):si(e)),ui=()=>`ITãå°ç空éæ
å ±ãæ´»ç¨ããæ¥åæ¹åã»éçºã®ã³ã³ãµã«ãã£ã³ã°`,di=()=>`Consulting for operational improvement and development using IT and geospatial information`,fi=((e={},t={})=>(t.locale??F())===`en`?di(e):ui(e)),pi=()=>`ITãå°ç空éæ
å ±ã«é¢ããç ä¿®ã»è¬æ¼ä¼ã®ä¼ç»éå¶`,mi=()=>`Planning and running training programs and lectures on IT and geospatial information`,hi=((e={},t={})=>(t.locale??F())===`en`?mi(e):pi(e)),gi=()=>`Webãµã¤ãã»Webãµã¼ãã¹ã»ã½ããã¦ã§ã¢ã®ä¼ç»ã»ç ç©¶ã»éçºã»éå¶`,_i=()=>`Planning, research, and development of websites, web services, and software`,vi=((e={},t={})=>(t.locale??F())===`en`?_i(e):gi(e)),yi=()=>`ãã¼ã¿ãã¼ã¹ã®ä¼ç»æ§ç¯è§£ææ¯æ´ãã³ã³ãµã«ãã£ã³ã°`,bi=()=>`Database design and construction, and analysis support and consulting`,xi=((e={},t={})=>(t.locale??F())===`en`?bi(e):yi(e)),Si=()=>`è³æ ¼ã»èªè¨¼`,Ci=()=>`Qualifications & Certifications`,wi=((e={},t={})=>(t.locale??F())===`en`?Ci(e):Si(e)),Ti=()=>`æè¡å£« (建è¨é¨é)`,Ei=()=>`Professional Engineer (Construction)`,Di=((e={},t={})=>(t.locale??F())===`en`?Ei(e):Ti(e)),Oi=()=>`測é士`,ki=()=>`Licensed Surveyor`,Ai=((e={},t={})=>(t.locale??F())===`en`?ki(e):Oi(e)),ji=()=>`GISä¸ç´æè¡è
`,Mi=()=>`Senior GIS Engineer`,Ni=((e={},t={})=>(t.locale??F())===`en`?Mi(e):ji(e)),Pi=()=>`å¿ç¨æ
å ±æè¡è
`,Fi=()=>`Applied Information Technology Engineer`,Ii=((e={},t={})=>(t.locale??F())===`en`?Fi(e):Pi(e)),Li=()=>`æå±å£ä½`,Ri=()=>`Memberships`,zi=((e={},t={})=>(t.locale??F())===`en`?Ri(e):Li(e)),Bi=()=>`OSGeoæ¥æ¬æ¯é¨ (OSGeo.JP)`,Vi=()=>`OSGeo Japan (OSGeo.JP)`,Hi=((e={},t={})=>(t.locale??F())===`en`?Vi(e):Bi(e)),Ui=()=>`(ä¸ç¤¾)社ä¼åºç¤æ
å ±æµéæ¨é²åè°ä¼ (AIGID)`,Wi=()=>
12`Association for Promotion of Infrastructure Geospatial Information Distribution (AIGID)`,Gi=((e={},t={})=>(t.locale??F())===`en`?Wi(e):Ui(e)),Ki=()=>`(ä¸ç¤¾)LBMA Japan`,qi=()=>`LBMA Japan`,Ji=((e={},t={})=>(t.locale??F())===`en`?qi(e):Ki(e)),Yi=()=>`åæµ·éå®å®é¢é£ãã¸ãã¹åµåºé£æºä¼è°`,Xi=()=>`Hokkaido Space-Related Business Consortium`,Zi=((e={},t={})=>(t.locale??F())===`en`?Xi(e):Yi(e)),Qi=()=>`å°çé¢å°å³ãã¼ããã¼ãããã¯ã¼ã¯`,$i=()=>`GSI Maps Partner Network`,ea=((e={},t={})=>(t.locale??F())===`en`?$i(e):Qi(e)),ta=()=>`æå¹åå·¥ä¼è°æ`,na=()=>`Sapporo Chamber of Commerce and Industry`,ra=((e={},t={})=>(t.locale??F())===`en`?na(e):ta(e)),ia=()=>`ãã¸ãã¹ã»ã¢ã©ã¤ã¢ã³ã¹ã»ã³ã³ã½ã¼ã·ã¢ã `,X=()=>`Business Alliance Consortium`,aa=((e={},t={})=>(t.locale??F())===`en`?X(e):ia(e)),oa=()=>`å¶æ¥æé`,sa=()=>`Business Hours`,ca=((e={},t={})=>(t.locale??F())===`en`?sa(e):oa(e)),la=()=>`9:00 - 17:00`,ua=()=>`9:00â17:00`,Z=((e={},t={})=>(t.locale??F())===`en`?ua(e):la(e)),da=()=>`æå¹æ¬ç¤¾`,fa=()=>`Sapporo HQ`,pa=((e={},t={})=>(t.locale??F())===`en`?fa(e):da(e)),ma=()=>`ã060-0042 åæµ·éæå¹å¸ä¸å¤®åºå¤§é西8ä¸ç®1-8 F-60 (ã¨ããã¯ãã«) 3F`,ha=()=>`F-60 3F, 8-1-8 Odori-nishi, Chuo-ku, Sapporo, Hokkaido 060-0042, Japan`,ga=((e={},t={})=>(t.locale??F())===`en`?ha(e):ma(e)),_a=()=>`æ±äº¬ãªãã£ã¹`,va=()=>`Tokyo Office`,ya=((e={},t={})=>(t.locale??F())===`en`?va(e):_a(e)),ba=()=>`ã101-0052 æ±äº¬é½å代ç°åºç¥ç°å°å·çº3ä¸ç®28-5 axle御è¶ãæ°´ 2F`,xa=()=>`axle Ochanomizu 2F, 3-28-5 Kanda-Ogawamachi, Chiyoda-ku, Tokyo 101-0052, Japan`,Sa=((e={},t={})=>(t.locale??F())===`en`?xa(e):ba(e)),Ca=()=>`Media`,wa=()=>`Media`,Ta=((e={},t={})=>(t.locale??F())===`en`?wa(e):Ca(e)),Ea=()=>`X (æ§Twitter)`,Da=()=>`X (formerly Twitter)`,Oa=((e={},t={})=>(t.locale??F())===`en`?Da(e):Ea(e)),ka=D(`<p class="whitespace-pre-line"> </p>`),Aa=D(`<div class="container mb-12 sm:mb-36"><div class="rounded-xl bg-white"><div class="p-8 text-base leading-[2] sm:p-16 [&_p+p]:mt-8"></div> <div><picture><source type="image/avif"/><source type="image/webp"/><source type="image/jpeg"/><img class="w-full" width="3045" height="2030"/></picture></div></div></div>`);function ja(e,t){A(t,!1);let n=[B(),Ye(),Ze(),et(),rt(),ot(),lt(),ft(),ht(),...F()===`ja`?[vt()]:[]];x();var i=Aa(),a=m(i),o=m(a);N(o,5,()=>n,f,(e,t)=>{var n=ka(),i=m(n,!0);T(n),r(()=>c(i,u(t))),O(e,n)}),T(o);var s=l(o,2),d=m(s),p=m(d);C(p,`srcset`,``+new URL(`../assets/management-member.BPrZX_-g.avif`,import.meta.url).href+` 1523w, `+new URL(`../assets/management-member.CPaBpkwi.avif`,import.meta.url).href+` 3045w`);var h=l(p);C(h,`srcset`,``+new URL(`../assets/management-member.DwCPvik2.webp`,import.meta.url).href+` 1523w, `+new URL(`../assets/management-member.2QLZ_URy.webp`,import.meta.url).href+` 3045w`);var g=l(h);C(g,`srcset`,``+new URL(`../assets/management-member.DvU3p5cF.jpeg`,import.meta.url).href+` 1523w, `+new URL(`../assets/management-member.CdpWMBcJ.jpeg`,import.meta.url).href+` 3045w`);var _=l(g);C(_,`src`,``+new URL(`../assets/management-member.CdpWMBcJ.jpeg`,import.meta.url).href),T(d),T(s),T(a),T(i),r(e=>C(_,`alt`,e),[()=>Ke()]),O(e,i),S()}var Ma=D(`<section class="bg-white"><div class="container py-12 sm:py-24"><div class="flex flex-col items-start gap-4 sm:flex-row"><div class="flex basis-4/12 items-start gap-3 self-start"><div class="flex flex-col gap-0 sm:gap-2"><h2 class="heading-dot-page-about text-heading-2">Values</h2> <div class="text-subheading-2"> </div></div></div> <div class="my-4 flex basis-8/12 flex-col"></div></div></div></section>`);function Q(e,t){A(t,!1);let n=[{title:wt(),subtitle:Dt(),description:kt()},{title:Mt(),subtitle:Pt(),description:Lt()},{title:Bt(),subtitle:Ut(),description:K()}];x();var i=Ma(),a=m(i),o=m(a),s=m(o),d=m(s),f=l(m(d),2),p=m(f,!0);T(f),T(d),T(s);var h=l(s,2);N(h,7,()=>n,e=>e.title,(e,t,n)=>{{let r=E(()=>u(n)+1),i=E(()=>[u(t).description]);be(e,{class:`mb-9 border-b border-mierune-black pb-9 last:mb-0 last:border-b-0 last:pb-0`,get no(){return u(r)},get title(){return u(t).title},get subtitle(){return u(t).subtitle},get description(){return u(i)}})}}
12),T(h),T(o),T(a),T(i),r(e=>c(p,e),[()=>xt()]),O(e,i),S()}var $={sources:{avif:``+new URL(`../assets/ariga.BrqVHIs6.avif`,import.meta.url).href+` 225w, `+new URL(`../assets/ariga.BvRsNdvi.avif`,import.meta.url).href+` 450w`,webp:``+new URL(`../assets/ariga.DAo957GA.webp`,import.meta.url).href+` 225w, `+new URL(`../assets/ariga.Cu9yT_p2.webp`,import.meta.url).href+` 450w`,jpeg:``+new URL(`../assets/ariga.BNKp2mkD.jpeg`,import.meta.url).href+` 225w, `+new URL(`../assets/ariga.ChKo6bd8.jpeg`,import.meta.url).href+` 450w`},img:{src:``+new URL(`../assets/ariga.ChKo6bd8.jpeg`,import.meta.url).href,w:450,h:450}},Na={sources:{avif:``+new URL(`../assets/shan.Bwk0osjB.avif`,import.meta.url).href+` 284w, `+new URL(`../assets/shan.BkJCOmJN.avif`,import.meta.url).href+` 567w`,webp:``+new URL(`../assets/shan.BSsWUsWD.webp`,import.meta.url).href+` 284w, `+new URL(`../assets/shan.BNZEgYcz.webp`,import.meta.url).href+` 567w`,jpeg:``+new URL(`../assets/shan.DSzL_7wz.jpeg`,import.meta.url).href+` 284w, `+new URL(`../assets/shan.CjY3nIfP.jpeg`,import.meta.url).href+` 567w`},img:{src:``+new URL(`../assets/shan.CjY3nIfP.jpeg`,import.meta.url).href,w:567,h:567}},Pa=[{name:`Ryo Yokoyama`,positions:[`CFO`],github:`mieyoko`,portfolio:`https://portfolio-ryo-oyrs-projects.vercel.app/`},{name:`Kanahiro Iguchi`,positions:[`CTO`],github:`Kanahiro`},{name:`Kosuke Asahi`,positions:[],localizedRole:`cofounder`,github:`waigania13`},{name:`Yusuke Suzuki`,positions:[`Software Engineer`],github:`yuskesuzki`},{name:`Satoru Nishio`,positions:[`Principal Engineering Manager`],github:`nokonoko1203`,portfolio:`https://x.com/nokonoko_1203`},{name:`Xinmiao Qu`,positions:[`Engineering Manager`],github:`xinmiaooo`},{name:`Toshiya Kunou`,positions:[`Product Manager`],github:`kntoshiya`},{name:`Takayuki Kawajiri`,positions:[`Engineering Manager`],github:`TakayukiKawajiri`},{name:`Hajime Kato`,positions:[`Senior Designer`],github:`chizutodesign`,portfolio:`https://chizutodesign.com/`},{name:`Satoshi Komatsu`,positions:[`Software Engineer`],github:`satoshi7190`},{name:`Raymond Lay`,positions:[`QGIS Engineer`],github:`bordoray`},{name:`Keiko Fujita`,positions:[`Back Office`],github:`fujitakeik`},{name:`Kouki Maeda`,positions:[`Software Engineer`],github:`DevKoukiMaeda`},{name:`Pakhin Yuen`,positions:[`Software Engineer`],github:`patrickyuen00`},{name:`Hidekazu Takami`,positions:[`Software Engineer`],github:`Guarneri009`},{name:`Taku Fukada`,positions:[`Principal Software Engineer`],github:`ciscorn`},{name:`Kei Yamazaki`,positions:[`Senior Engineering Manager`],github:`Yamazaki-kei7`},{name:`Ayaka Shoji`,positions:[`Engagement Architect`],github:`shoji-ji`},{name:`Naoya Nishibayashi`,positions:[`QGIS Engineer`],github:`nbayashi`},{name:`Shinsuke Nakamori`,positions:[`Engineering Manager`],github:`nakamori1024`},{name:`Keita Uemori`,positions:[`QGIS Engineer`],github:`Geo-Jagaimo`},{name:`Rena Nakagawa`,positions:[`Software Engineer`],github:`rena1208`},{name:`Haruto Sasaki`,positions:[`Software Engineer`],github:`groovyjovy`},{name:`Natsuki Ariga`,positions:[`Engagement Architect`],img:$},{name:`Hiroaki Yutani`,positions:[`Software Engineer`],github:`yutannihilation`,portfolio:`https://monowakari.com/`},{name:`Taiyu Yoshizawa`,positions:[`Senior Software Engineer`],github:`NEKOYASAN`,portfolio:`https://www.nekoyasan.me/`},{name:`Jo Sakai`,positions:[`Software Engineer`],github:`Druk-Drink`},{name:`Katherine Shan`,positions:[`Designer`],img:Na,portfolio:`https://katherineshan.com/`},{name:`Niinobe Kuuya`,positions:[`Software Engineer`],github:`eniehack`,portfolio:`https://kninobe.netlify.app/`},{name:`Yohei Shiwaku`,positions:[`Senior Engineering Manager`],github:`shiwaku`}],Fa={sources:{avif:``+new URL(`../assets/kirimoto.LSOa54qT.avif`,import.meta.url).href+` 200w, `+new URL(`../assets/kirimoto.B99qbazs.avif`,import.meta.url).href+` 400w`,webp:``+new URL(`../assets/kirimoto.BcpZ_m3c.webp`,import.meta.url).href+` 200w, `+new URL(`../assets/kirimoto.Bc5N4G9l.webp`,import.meta.url).href+` 400w`,jpeg:``+new URL(`../assets/kirimoto.CPdmdDs2.jpeg`,import.meta.url).href+` 200w, `+new
12URL(`../assets/kirimoto.DcwDzZVw.jpeg`,import.meta.url).href+` 400w`},img:{src:``+new URL(`../assets/kirimoto.DcwDzZVw.jpeg`,import.meta.url).href,w:400,h:400}},Ia={sources:{avif:``+new URL(`../assets/furukawa.WQ1TpNa0.avif`,import.meta.url).href+` 561w, `+new URL(`../assets/furukawa.B_-bYuKw.avif`,import.meta.url).href+` 1122w`,webp:``+new URL(`../assets/furukawa.B9MDWozz.webp`,import.meta.url).href+` 561w, `+new URL(`../assets/furukawa.DoY7x9PM.webp`,import.meta.url).href+` 1122w`,jpeg:``+new URL(`../assets/furukawa.DSru6cxW.jpeg`,import.meta.url).href+` 561w, `+new URL(`../assets/furukawa.C0u3CDS7.jpeg`,import.meta.url).href+` 1122w`},img:{src:``+new URL(`../assets/furukawa.C0u3CDS7.jpeg`,import.meta.url).href,w:1122,h:1122}},La={sources:{avif:``+new URL(`../assets/mori.CUn-5yqc.avif`,import.meta.url).href+` 353w, `+new URL(`../assets/mori.7a9-PPLn.avif`,import.meta.url).href+` 706w`,webp:``+new URL(`../assets/mori.N6ikEXHx.webp`,import.meta.url).href+` 353w, `+new URL(`../assets/mori.CtF_rpSx.webp`,import.meta.url).href+` 706w`,jpeg:``+new URL(`../assets/mori.C68x4oUc.jpeg`,import.meta.url).href+` 353w, `+new URL(`../assets/mori.Dvx9gXhj.jpeg`,import.meta.url).href+` 706w`},img:{src:``+new URL(`../assets/mori.Dvx9gXhj.jpeg`,import.meta.url).href,w:706,h:706}},Ra={sources:{avif:``+new URL(`../assets/yamamoto.BxfLnk4-.avif`,import.meta.url).href+` 200w, `+new URL(`../assets/yamamoto.Cn-2qnbR.avif`,import.meta.url).href+` 400w`,webp:``+new URL(`../assets/yamamoto.EMKbXo6k.webp`,import.meta.url).href+` 200w, `+new URL(`../assets/yamamoto.CDGgaH_k.webp`,import.meta.url).href+` 400w`,png:``+new URL(`../assets/yamamoto.e0mp0eke.png`,import.meta.url).href+` 200w, `+new URL(`../assets/yamamoto.CFDNEXIK.png`,import.meta.url).href+` 400w`},img:{src:``+new URL(`../assets/yamamoto.CFDNEXIK.png`,import.meta.url).href,w:400,h:400}},za=[{id:`kirimoto`,img:Fa,github:`dayjournal`,portfolio:`https://dayjournal.dev`},{id:`furukawa`,github:`Yfuruchin`,img:Ia},{id:`mori`,github:`moritoru`,img:La},{id:`yamamoto`,img:Ra}],Ba=D(`<img class="h-24 w-24 rounded object-cover group-hover:shadow-xl"/>`),Va=D(`<source/>`),Ha=D(`<picture><!> <img class="h-24 w-24 rounded object-cover group-hover:shadow-xl"/></picture>`),Ua=D(`<img class="h-24 w-24 rounded object-cover group-hover:shadow-xl"/>`),Wa=D(`<a target="_blank" rel="noopener noreferrer" class="group transition-opacity duration-300 hover:opacity-80"><!></a>`),Ga=D(`<img class="h-24 w-24 rounded object-cover group-hover:shadow-xl"/>`),Ka=D(`<source/>`),qa=D(`<picture><!> <img class="h-24 w-24 rounded object-cover group-hover:shadow-xl"/></picture>`),Ja=D(`<img class="h-24 w-24 rounded object-cover group-hover:shadow-xl"/>`),Ya=D(`<a target="_blank" rel="noopener noreferrer" class="group transition-opacity duration-300 hover:opacity-80"><!></a>`),Xa=D(`<img class="h-24 w-24 rounded object-cover"/>`),Za=D(`<source/>`),Qa=D(`<picture><!> <img class="h-24 w-24 rounded object-cover"/></picture>`),$a=D(`<p class="indent-4"> </p>`),eo=D(`<div class="mt-3 text-base leading-relaxed text-gray-700 sm:mt-2 sm:pl-[7.25rem]"></div>`),to=D(`<div class="p-5"><div class="flex gap-5"><div class="shrink-0"><!></div> <div class="flex flex-col gap-1"><div class="text-lg font-bold"><span class="inline-block"> </span> <span class="inline-block"> </span></div> <div class="text-base font-bold text-gray-700"><span class="block"> </span> <span class="block"> </span></div></div></div> <!></div>`),no=D(`<img class="h-16 w-16 rounded-full group-hover:shadow-xl"/>`),ro=D(`<img class="h-16 w-16 rounded-full group-hover:shadow-xl"/>`),io=D(`<source/>`),ao=D(`<picture><!> <img class="h-16 w-16 rounded-full group-hover:shadow-xl"/></picture>`),oo=D(`<p> </p>`),so=D(`<a target="_blank" rel="noopener noreferrer" class="group transition-opacity duration-300 hover:opacity-80"><div class="flex gap-6"><!> <div class="flex flex-col gap-1"><div class="text-lg group-hover:underline"> </div> <div class="text-sm leading-[1.85] tracking-normal"></div></div></div></a>`),co=D(`<p> </p>`),lo=D(`<a target="_blank" rel="noopener noreferrer" class="group transition-opacity duration-300 hover:opacity-80"><div class="flex gap-6"><img class="h-16 w-16 rounded-full group-hover:shadow-xl"/> <div class="flex flex-col gap-1"><div class="text-lg group-hover:underline"> </div> <div class="text-sm leading-[1.85] tracking-normal"></div></div></div></a>`),uo=D(`<img class="h-16 w-16 rounded-full group-hover:shadow-xl"/>`),fo=D(`<source/>`),po=D(`<picture><!> <img class="h-16 w-16 rounded-full group-hover:shadow-xl"/></picture>`),mo=D(`<p> </p>`),ho=D(`<div class="flex gap-6"><!> <div class="flex flex-col gap-1"><div class="text-lg group-hover:underline"> </div> <div class="text-sm leading-[1.85] tracking-normal"></div></div></div>`),go=D(`<section class="container py-12 sm:py-24"><!> <div class="text-sp-heading-3 font-bold sm:text-heading-3"> </div> <div class="grid grid-cols-1 gap-6 pt-4 pb-12 sm:grid-cols-2"></div> <div class="text-sp-heading-3 font-bold sm:text-heading-3"> </div> <div class="grid grid-cols-1 gap-x-9 gap-y-8 pt-4 sm:grid-cols-2 sm:gap-y-15 lg:grid-cols-3"></div></section>`);function _o(t,i){A(i,!1);let a=za.map(e=>{let t={kirimoto:{namePrimary:rn(),nameSecondary:sn(),positionPrimary:un(),positionSecondary:pn(),description:[gn(),yn(),Sn()]}
12,furukawa:{namePrimary:Tn(),nameSecondary:On(),positionPrimary:jn(),positionSecondary:Pn(),description:[Ln(),Bn(),Un()]},mori:{namePrimary:Kn(),nameSecondary:Yn(),positionPrimary:Qn(),positionSecondary:tr(),description:[ir(),sr(),ur()]},yamamoto:{namePrimary:pr(),nameSecondary:gr(),positionPrimary:yr(),positionSecondary:Sr(),description:[Tr(),Or()]}}[e.id];return{...e,...t}});function o(e){return e.localizedRole===`cofounder`?[en()]:e.positions}x();var s=go(),d=m(s);{let e=E(()=>J());ve(d,{title:`Members`,get subtitle(){return u(e)},description:[],headingClass:`heading-dot-page-about`})}var p=l(d,2),h=m(p,!0);T(p);var _=l(p,2);N(_,5,()=>a,e=>e.id,(t,i)=>{var a=to(),o=m(a),s=m(o),d=m(s),p=t=>{var a=Wa(),o=m(a),s=t=>{var a=e(),o=g(a),s=t=>{var a=e(),o=g(a),s=e=>{var t=Ba();r(e=>{C(t,`src`,u(i).img),C(t,`alt`,e)},[()=>L({name:u(i).namePrimary})]),O(e,t)};n(o,e=>{e(s,-1)}),O(t,a)},c=e=>{var t=Ha(),n=m(t);N(n,1,()=>Object.entries(u(i).img.sources),f,(e,t)=>{var n=y(()=>le(u(t),2));let i=()=>u(n)[0],a=()=>u(n)[1];var o=Va();r(()=>{C(o,`srcset`,a()),C(o,`type`,`image/`+i())}),O(e,o)});var a=l(n,2);T(t),r(e=>{C(a,`src`,u(i).img.img.src),C(a,`alt`,e),C(a,`width`,u(i).img.img.w),C(a,`height`,u(i).img.img.h)},[()=>L({name:u(i).namePrimary})]),O(e,t)};n(o,e=>{typeof u(i).img==`string`?e(s):e(c,-1)}),O(t,a)},c=e=>{var t=Ua();r(e=>{C(t,`src`,`https://github.com/${u(i).github}.png`),C(t,`alt`,e)},[()=>Ae({name:u(i).namePrimary})]),O(e,t)};n(o,e=>{u(i).img?e(s):u(i).github&&e(c,1)}),T(a),r(()=>C(a,`href`,u(i).portfolio)),O(t,a)},h=t=>{var a=Ya(),o=m(a),s=t=>{var a=e(),o=g(a),s=t=>{var a=e(),o=g(a),s=e=>{var t=Ga();r(e=>{C(t,`src`,u(i).img),C(t,`alt`,e)},[()=>L({name:u(i).namePrimary})]),O(e,t)};n(o,e=>{e(s,-1)}),O(t,a)},c=e=>{var t=qa(),n=m(t);N(n,1,()=>Object.entries(u(i).img.sources),f,(e,t)=>{var n=y(()=>le(u(t),2));let i=()=>u(n)[0],a=()=>u(n)[1];var o=Ka();r(()=>{C(o,`srcset`,a()),C(o,`type`,`image/`+i())}),O(e,o)});var a=l(n,2);T(t),r(e=>{C(a,`src`,u(i).img.img.src),C(a,`alt`,e),C(a,`width`,u(i).img.img.w),C(a,`height`,u(i).img.img.h)},[()=>L({name:u(i).namePrimary})]),O(e,t)};n(o,e=>{typeof u(i).img==`string`?e(s):e(c,-1)}),O(t,a)},c=e=>{var t=Ja();r(e=>{C(t,`src`,`https://github.com/${u(i).github}.png`),C(t,`alt`,e)},[()=>Ae({name:u(i).namePrimary})]),O(e,t)};n(o,e=>{u(i).img?e(s):u(i).github&&e(c,1)}),T(a),r(()=>C(a,`href`,`https://github.com/${u(i).github??``}`)),O(t,a)},_=t=>{var a=e(),o=g(a),s=t=>{var a=e(),o=g(a),s=e=>{var t=Xa();r(e=>{C(t,`src`,u(i).img),C(t,`alt`,e)},[()=>Ae({name:u(i).namePrimary})]),O(e,t)};n(o,e=>{e(s,-1)}),O(t,a)},c=e=>{var t=Qa(),n=m(t);N(n,1,()=>Object.entries(u(i).img.sources),f,(e,t)=>{var n=y(()=>le(u(t),2));let i=()=>u(n)[0],a=()=>u(n)[1];var o=Za();r(()=>{C(o,`srcset`,a()),C(o,`type`,`image/`+i())}),O(e,o)});var a=l(n,2);T(t),r(e=>{C(a,`src`,u(i).img.img.src),C(a,`alt`,e),C(a,`width`,u(i).img.img.w),C(a,`height`,u(i).img.img.h)},[()=>Ae({name:u(i).namePrimary})]),O(e,t)};n(o,e=>{typeof u(i).img==`string`?e(s):e(c,-1)}),O(t,a)};n(d,e=>{u(i).portfolio?e(p):u(i).github?e(h,1):u(i).img&&e(_,2)}),T(s);var v=l(s,2),b=m(v),x=m(b),S=m(x,!0);T(x);var w=l(x,2),E=m(w,!0);T(w),T(b);var D=l(b,2),k=m(D),A=m(k,!0);T(k);var ee=l(k,2),te=m(ee,!0);T(ee),T(D),T(v),T(o);var j=l(o,2),ne=e=>{var t=eo();N(t,5,()=>u(i).description,e=>e,(e,t)=>{var n=$a(),i=m(n,!0);T(n),r(()=>c(i,u(t))),O(e,n)}),T(t),O(e,t)};n(j,e=>{u(i).description&&e(ne)}),T(a),r(()=>{c(S,u(i).namePrimary),c(E,u(i).nameSecondary),c(A,u(i).positionPrimary),c(te,u(i).positionSecondary)}),O(t,a)}),T(_);var v=l(_,2),b=m(v,!0);T(v);var w=l(v,2);N(w,5,()=>Pa,e=>e.name,(t,i)=>{var a=e(),s=g(a),d=t=>{var a=so(),s=m(a),d=m(s),p=e=>{var t=no();r(e=>{C(t,`src`,`https://github.com/${u(i).github}.png`),C(t,`alt`,e)},[()=>L({name:u(i).name})]),O(e,t)},h=t=>{var a=e(),o=g(a),s=t=>{var a=e(),o=g(a),s=e=>{var t=ro();r(e=>{C(t,`src`,u(i).img),C(t,`alt`,e)},[()=>Ae({name:u(i).name})]),O(e,t)};n(o,e=>{e(s,-1)}),O(t,a)},c=e=>{var t=ao(),n=m(t);N(n,1,()=>Object.entries(u(i).img.sources),f,(e,t)=>{var n=y(()=>le(u(t),2));let i=()=>u(n)[0],a=()=>u(n)[1];var o=io();r(()=>{C(o,`srcset`,a()),C(o,`type`,`image/`+i())}),O(e,o)});var a=l(n,2);T(t),r(e=>{C(a,`src`,u(i).img.img.src),C(a,`alt`,e),C(a,`width`,u(i).img.img.w),C(a,`height`,u(i).img.img.h)},[()=>Ae({name:u(i).name})]),O(e,t)};n(o,e=>{typeof u(i).img==`string`?e(s):e(c,-1)}),O(t,a)};n(d,e=>{u(i).github?e(p):u(i).img&&e(h,1)});var _=l(d,2),v=m(_),b=m(v,!0);T(v);var x=l(v,2);N(x,5,()=>o(u(i)),e=>u(i).name+e,(e,t)=>{var n=oo(),i=m(n,!0);T(n),r(()=>c(i,u(t))),O(e,n)}),T(x),T(_),T(s),T(a),r(()=>{C(a,`href`,u(i).portfolio),c(b,u(i).name)}),O(t,a)}
12,p=e=>{var t=lo(),n=m(t),a=m(n),s=l(a,2),d=m(s),f=m(d,!0);T(d);var p=l(d,2);N(p,5,()=>o(u(i)),e=>u(i).name+e,(e,t)=>{var n=co(),i=m(n,!0);T(n),r(()=>c(i,u(t))),O(e,n)}),T(p),T(s),T(n),T(t),r(e=>{C(t,`href`,`https://github.com/${u(i).github??``}`),C(a,`src`,`https://github.com/${u(i).github}.png`),C(a,`alt`,e),c(f,u(i).name)},[()=>L({name:u(i).name})]),O(e,t)},h=t=>{var a=ho(),s=m(a),d=t=>{var a=e(),o=g(a),s=e=>{var t=uo();r(e=>{C(t,`src`,u(i).img),C(t,`alt`,e)},[()=>Ae({name:u(i).name})]),O(e,t)};n(o,e=>{e(s,-1)}),O(t,a)},p=e=>{var t=po(),n=m(t);N(n,1,()=>Object.entries(u(i).img.sources),f,(e,t)=>{var n=y(()=>le(u(t),2));let i=()=>u(n)[0],a=()=>u(n)[1];var o=fo();r(()=>{C(o,`srcset`,a()),C(o,`type`,`image/`+i())}),O(e,o)});var a=l(n,2);T(t),r(e=>{C(a,`src`,u(i).img.img.src),C(a,`alt`,e),C(a,`width`,u(i).img.img.w),C(a,`height`,u(i).img.img.h)},[()=>Ae({name:u(i).name})]),O(e,t)};n(s,e=>{typeof u(i).img==`string`?e(d):e(p,-1)});var h=l(s,2),_=m(h),v=m(_,!0);T(_);var b=l(_,2);N(b,5,()=>o(u(i)),e=>u(i).name+e,(e,t)=>{var n=mo(),i=m(n,!0);T(n),r(()=>c(i,u(t))),O(e,n)}),T(b),T(h),T(a),r(()=>c(v,u(i).name)),O(t,a)};n(s,e=>{u(i).portfolio?e(d):u(i).github?e(p,1):u(i).img&&e(h,2)}),O(t,a)}),T(w),T(s),r((e,t)=>{c(h,e),c(b,t)},[()=>Jt(),()=>Zt()]),O(t,s),S()}var vo=D(`<li class="leading-[1.8]"></li>`),yo=D(`<ul class="list-inside list-disc space-y-1"></ul>`),bo=D(`<tr class="flex flex-col sm:table-row"><th class="pt-2 pb-0 text-left align-top font-bold sm:py-2"> </th><td class="py-0 font-normal sm:py-2"><!></td></tr>`),xo=D(`<div class="container my-12 sm:my-24"><h2 class="text-3xl sm:text-5xl"> </h2> <div class="my-2 border-t border-b border-mierune-black py-3 sm:my-6"><div class="space-y-6"><table class="w-full text-base"><tbody></tbody></table></div></div></div>`);function So(e,i){A(i,!1);let a=[{label:Pr(),value:Lr()},{label:Br(),value:Ur()},{label:Y(),value:Jr({amount:ge(13e6)})},{label:Zr(),value:ei()},{label:ri(),value:oi({count:ge(29),date:he(`2026-09-01T00:00:00+09:00`)})},{label:li(),value:[fi(),hi(),vi(),xi()]},{label:wi(),value:[Di(),Ai(),Ni(),Ii(),`AWS Hero (DevTools)`,`AWS Community Builder (Serverless)`,`AWS Community Builder (AI Engineering)`,`AWS Certified Solutions Architect - Associate`,`AWS Certified Developer - Associate`,`AWS Certified AI Practitioner`,`AWS Certified Cloud Practitioner`,`Cesium Certified Developer`,`<a href="/files/ISO9001.pdf" target="_blank" rel="noopener noreferrer" class="text-link">ISO 9001:2015 + Amd 1:2024</a>`,`<a href="/files/ISO27001.pdf" target="_blank" rel="noopener noreferrer" class="text-link">ISO/IEC 27001:2022 + Amd 1:2024</a>`]},{label:zi(),value:[Hi(),`QGIS.org`,`MapLibre.org`,Gi(),Ji(),Zi(),ea(),ra(),aa()]},{label:ca(),value:Z()},{label:pa(),value:ga()},{label:ya(),value:Sa()}];x();var o=xo(),d=m(o),f=m(d,!0);T(d);var p=l(d,2),h=m(p),g=m(h),_=m(g);N(_,5,()=>a,({label:e,value:t})=>e,(e,i)=>{let a=()=>u(i).label,o=()=>u(i).value;var d=bo(),f=m(d),p=m(f,!0);T(f);var h=l(f),g=m(h),_=e=>{var n=yo();N(n,5,o,e=>e,(e,n)=>{var r=vo();t(r,()=>u(n),!0),T(r),O(e,r)}),T(n),O(e,n)},v=y(()=>Array.isArray(o())),b=e=>{var t=s();r(()=>c(t,o())),O(e,t)};n(g,e=>{u(v)?e(_):e(b,-1)}),T(h),T(d),r(()=>c(p,a())),O(e,d)}),T(_),T(g),T(h),T(p),T(o),r(e=>c(f,e),[()=>jr()]),O(e,o),S()}var Co=ue(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self,n.maplibregl=r())})(e,(function(){var e={},t={};function n(n,r,i){if(t[n]=i,n===`index`){var a=`var sharedModule = {}; (`+t.shared+`)(sharedModule); (`+t.worker+`)(sharedModule);`,o={};return t.shared(o),t.index(e,o),typeof window<`u`&&e.setWorkerUrl(window.URL.createObjectURL(new Blob([a],{type:`text/javascript`}))),e}}return n(`shared`,[`exports`],(function(e){function t(e,t,n,r){return new(n||=Promise)((function(i,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,s)}c((r=r.apply(e,t||[])).next())}))}
12function n(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}var r,i;function a(){if(i)return r;function e(e,t){this.x=e,this.y=t}return i=1,r=e,e.prototype={clone:function(){return new e(this.x,this.y)},add:function(e){return this.clone()._add(e)},sub:function(e){return this.clone()._sub(e)},multByPoint:function(e){return this.clone()._multByPoint(e)},divByPoint:function(e){return this.clone()._divByPoint(e)},mult:function(e){return this.clone()._mult(e)},div:function(e){return this.clone()._div(e)},rotate:function(e){return this.clone()._rotate(e)},rotateAround:function(e,t){return this.clone()._rotateAround(e,t)},matMult:function(e){return this.clone()._matMult(e)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(e){return this.x===e.x&&this.y===e.y},dist:function(e){return Math.sqrt(this.distSqr(e))},distSqr:function(e){var t=e.x-this.x,n=e.y-this.y;return t*t+n*n},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(e){return Math.atan2(this.y-e.y,this.x-e.x)},angleWith:function(e){return this.angleWithSep(e.x,e.y)},angleWithSep:function(e,t){return Math.atan2(this.x*t-this.y*e,this.x*e+this.y*t)},_matMult:function(e){var t=e[2]*this.x+e[3]*this.y;return this.x=e[0]*this.x+e[1]*this.y,this.y=t,this},_add:function(e){return this.x+=e.x,this.y+=e.y,this},_sub:function(e){return this.x-=e.x,this.y-=e.y,this},_mult:function(e){return this.x*=e,this.y*=e,this},_div:function(e){return this.x/=e,this.y/=e,this},_multByPoint:function(e){return this.x*=e.x,this.y*=e.y,this},_divByPoint:function(e){return this.x/=e.x,this.y/=e.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var e=this.y;return this.y=this.x,this.x=-e,this},_rotate:function(e){var t=Math.cos(e),n=Math.sin(e),r=n*this.x+t*this.y;return this.x=t*this.x-n*this.y,this.y=r,this},_rotateAround:function(e,t){var n=Math.cos(e),r=Math.sin(e),i=t.y+r*(this.x-t.x)+n*(this.y-t.y);return this.x=t.x+n*(this.x-t.x)-r*(this.y-t.y),this.y=i,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},e.convert=function(t){return t instanceof e?t:Array.isArray(t)?new e(t[0],t[1]):t},r}var o,s,c=n(a()),l=n(function(){if(s)return o;function e(e,t,n,r){this.cx=3*e,this.bx=3*(n-e)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*t,this.by=3*(r-t)-this.cy,this.ay=1-this.cy-this.by,this.p1x=e,this.p1y=t,this.p2x=n,this.p2y=r}return s=1,o=e,e.prototype={sampleCurveX:function(e){return((this.ax*e+this.bx)*e+this.cx)*e},sampleCurveY:function(e){return((this.ay*e+this.by)*e+this.cy)*e},sampleCurveDerivativeX:function(e){return(3*this.ax*e+2*this.bx)*e+this.cx},solveCurveX:function(e,t){if(t===void 0&&(t=1e-6),e<0)return 0;if(e>1)return 1;for(var n=e,r=0;r<8;r++){var i=this.sampleCurveX(n)-e;if(Math.abs(i)<t)return n;var a=this.sampleCurveDerivativeX(n);if(Math.abs(a)<1e-6)break;n-=i/a}var o=0,s=1;for(n=e,r=0;r<20&&(i=this.sampleCurveX(n),!(Math.abs(i-e)<t));r++)e>i?o=n:s=n,n=.5*(s-o)+o;return n},solve:function(e,t){return this.sampleCurveY(this.solveCurveX(e,t))}},o}());let u,d;function f(){return u??=typeof OffscreenCanvas<`u`&&new OffscreenCanvas(1,1).getContext(`2d`)&&typeof createImageBitmap==`function`,u}function p(){if(d==null&&(d=!1,f())){let e=new OffscreenCanvas(5,5).getContext(`2d`,{willReadFrequently:!0});if(e){for(let t=0;t<25;t++){let n=4*t;e.fillStyle=`rgb(${n},${n+1},${n+2})`,e.fillRect(t%5,Math.floor(t/5),1,1)}let t=e.getImageData(0,0,5,5).data;for(let e=0;e<100;e++)if(e%4!=3&&t[e]!==e){d=!0;break}}}return d||!1}var m=1e-6,h=typeof Float32Array<`u`?Float32Array:Array;function g(){var e=new h(9);return h!=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 _(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function v(){var e=new h(3);return h!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function y(e){return Math.hypot(e[0],e[1],e[2])}function b(e,t,n){var r=new h(3);return r[0]=e,r[1]=t,r[2]=n,r}Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)});var x,S=y;
12function C(e,t,n){var r=t[0],i=t[1],a=t[2],o=t[3];return e[0]=n[0]*r+n[4]*i+n[8]*a+n[12]*o,e[1]=n[1]*r+n[5]*i+n[9]*a+n[13]*o,e[2]=n[2]*r+n[6]*i+n[10]*a+n[14]*o,e[3]=n[3]*r+n[7]*i+n[11]*a+n[15]*o,e}function w(){var e=new h(4);return h!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function T(){var e=new h(2);return h!=Float32Array&&(e[0]=0,e[1]=0),e}function E(e,t){var n=new h(2);return n[0]=e,n[1]=t,n}v(),x=new h(4),h!=Float32Array&&(x[0]=0,x[1]=0,x[2]=0,x[3]=0),v(),b(1,0,0),b(0,1,0),w(),w(),g(),T();let D=8192;function O(e,t,n){return t*(D/(e.tileSize*2**(n-e.tileID.overscaledZ)))}function k(e,t){return(e%t+t)%t}function A(e,t,n){return e*(1-n)+t*n}function ee(e){if(e<=0)return 0;if(e>=1)return 1;let t=e*e,n=t*e;return 4*(e<.5?n:3*(e-t)+n-.75)}function te(e,t,n,r){let i=new l(e,t,n,r);return e=>i.solve(e)}let j=te(.25,.1,.25,1);function ne(e,t,n){return Math.min(n,Math.max(t,e))}function re(e,t,n){let r=n-t,i=((e-t)%r+r)%r+t;return i===t?n:i}function M(e,...t){for(let n of t)for(let t in n)e[t]=n[t];return e}let ie=1;function ae(e,t,n){let r={};for(let n in e)r[n]=t.call(this,e[n],n,e);return r}function oe(e,t,n){let r={};for(let n in e)t.call(this,e[n],n,e)&&(r[n]=e[n]);return r}function se(e){return Array.isArray(e)?e.map(se):typeof e==`object`&&e?ae(e,se):e}let ce={};function le(e){ce[e]||(typeof console<`u`&&console.warn(e),ce[e]=!0)}function N(e,t,n){return(n.y-e.y)*(t.x-e.x)>(t.y-e.y)*(n.x-e.x)}function P(e){return typeof WorkerGlobalScope<`u`&&e!==void 0&&e instanceof WorkerGlobalScope}let ue=null;function F(e){return typeof ImageBitmap<`u`&&e instanceof ImageBitmap}let de=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=`;function fe(e,n,r,i,a){return t(this,void 0,void 0,(function*(){if(typeof VideoFrame>`u`)throw Error(`VideoFrame not supported`);let t=new VideoFrame(e,{timestamp:0});try{let o=t?.format;if(!o||!o.startsWith(`BGR`)&&!o.startsWith(`RGB`))throw Error(`Unrecognized format ${o}`);let s=o.startsWith(`BGR`),c=new Uint8ClampedArray(i*a*4);if(yield t.copyTo(c,function(e,t,n,r,i){let a=(Math.max(0,n)-n)*r*4+4,o=4*r,s=Math.max(0,t),c=Math.max(0,n);return{rect:{x:s,y:c,width:Math.min(e.width,t+r)-s,height:Math.min(e.height,n+i)-c},layout:[{offset:a,stride:o}]}}(e,n,r,i,a)),s)for(let e=0;e<c.length;e+=4){let t=c[e];c[e]=c[e+2],c[e+2]=t}return c}finally{t.close()}}))}let I,pe;function me(e,t,n,r){return e.addEventListener(t,n,r),{unsubscribe:()=>{e.removeEventListener(t,n,r)}}}function he(e){return e*Math.PI/180}function ge(e){return e/Math.PI*180}let _e={touchstart:!0,touchmove:!0,touchmoveWindow:!0,touchend:!0,touchcancel:!0},ve={dblclick:!0,click:!0,mouseover:!0,mouseout:!0,mousedown:!0,mousemove:!0,mousemoveWindow:!0,mouseup:!0,mouseupWindow:!0,contextmenu:!0,wheel:!0},ye=`AbortError`;function be(){return Error(ye)}let xe={MAX_PARALLEL_IMAGE_REQUESTS:16,MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:8,MAX_TILE_CACHE_ZOOM_LEVELS:5,REGISTERED_PROTOCOLS:{},WORKER_URL:``};function Se(e){return xe.REGISTERED_PROTOCOLS[e.substring(0,e.indexOf(`://`))]}let Ce=`global-dispatcher`;class we extends Error{constructor(e,t,n,r){super(`AJAXError: ${t} (${e}): ${n}`),this.status=e,this.statusText=t,this.url=n,this.body=r}}let Te=()=>P(self)?self.worker&&self.worker.referrer:(window.location.protocol===`blob:`?window.parent:window).location.href,Ee=function(e,n){if(/:\/\//.test(e.url)&&!/^https?:|^file:/.test(e.url)){let t=Se(e.url);if(t)return t(e,n);if(P(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:`GR`,data:e,targetMapId:Ce},n)}if(!(/^file:/.test(r=e.url)||/^file:/.test(Te())&&!/^\w+:/.test(r))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,`signal`))return function(e,n){return t(this,void 0,void 0,(function*(){let t=new Request(e.url,{method:e.method||`GET`,body:e.body,credentials:e.credentials,headers:e.headers,cache:e.cache,referrer:Te(),signal:n.signal}),r,i;e.type!==`json`||t.headers.has(`Accept`)||t.headers.set(`Accept`,`application/json`);try{r=yield fetch(t)}catch(t){throw new we(0,t.message,e.url,new Blob)}if(!r.ok){let t=yield r.blob();throw new we(r.status,r.statusText,e.url,t)}i=e.type===`arrayBuffer`||e.type===`image`?r.arrayBuffer():e.type===`json`?r.json():r.text();let a=yield i;if(n.signal.aborted)throw be();return{data:a,cacheControl:r.headers.get(`Cache-Control`),expires:r.headers.get(`Expires`)}}))}(e,n);if(P(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:`GR`,data:e,mustQueue:!0,targetMapId:Ce},n)}var r;return function(e,t){return new Promise(((n,r)=>{var i;let a=new XMLHttpRequest;a.open(e.method||`GET`,e.url,!0),e.type!==`arrayBuffer`&&e.type!==`image`||(a.responseType=`arraybuffer`);for(let t in e.headers)a.setRequestHeader(t,e.headers[t]);e.type===`json`&&(a.responseType=`text`,(i=e.headers)!=null&&i.Accept||a.setRequestHeader(`Accept`,`application/json`)),a.withCredentials=e.credentials===`include`,a.onerror=()=>{r(Error(a.statusText))},a.onload=()=>
12{if(!t.signal.aborted)if((a.status>=200&&a.status<300||a.status===0)&&a.response!==null){let t=a.response;if(e.type===`json`)try{t=JSON.parse(a.response)}catch(e){r(e);return}n({data:t,cacheControl:a.getResponseHeader(`Cache-Control`),expires:a.getResponseHeader(`Expires`)})}else{let t=new Blob([a.response],{type:a.getResponseHeader(`Content-Type`)});r(new we(a.status,a.statusText,e.url,t))}},t.signal.addEventListener(`abort`,(()=>{a.abort(),r(be())})),a.send(e.body)}))}(e,n)};function De(e){if(!e||e.indexOf(`://`)<=0||e.indexOf(`data:image/`)===0||e.indexOf(`blob:`)===0)return!0;let t=new URL(e),n=window.location;return t.protocol===n.protocol&&t.host===n.host}function Oe(e,t,n){n[e]&&n[e].indexOf(t)!==-1||(n[e]=n[e]||[],n[e].push(t))}function ke(e,t,n){if(n&&n[e]){let r=n[e].indexOf(t);r!==-1&&n[e].splice(r,1)}}class Ae{constructor(e,t={}){M(this,t),this.type=e}}class je extends Ae{constructor(e,t={}){super(`error`,M({error:e},t))}}class Me{on(e,t){return this._listeners=this._listeners||{},Oe(e,t,this._listeners),{unsubscribe:()=>{this.off(e,t)}}}off(e,t){return ke(e,t,this._listeners),ke(e,t,this._oneTimeListeners),this}once(e,t){return t?(this._oneTimeListeners=this._oneTimeListeners||{},Oe(e,t,this._oneTimeListeners),this):new Promise((t=>this.once(e,t)))}fire(e,t){typeof e==`string`&&(e=new Ae(e,t||{}));let n=e.type;if(this.listens(n)){e.target=this;let t=this._listeners&&this._listeners[n]?this._listeners[n].slice():[];for(let n of t)n.call(this,e);let r=this._oneTimeListeners&&this._oneTimeListeners[n]?this._oneTimeListeners[n].slice():[];for(let t of r)ke(n,t,this._oneTimeListeners),t.call(this,e);let i=this._eventedParent;i&&(M(e,typeof this._eventedParentData==`function`?this._eventedParentData():this._eventedParentData),i.fire(e))}else e instanceof je&&console.error(e.error);return this}listens(e){return this._listeners&&this._listeners[e]&&this._listeners[e].length>0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e)}setEventedParent(e,t){return this._eventedParent=e,this._eventedParentData=t,this}}var L={$version:8,$root:{version:{required:!0,type:`enum`,values:[8]},name:{type:`string`},metadata:{type:`*`},center:{type:`array`,value:`number`},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`},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},"*":{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:`*`},tolerance:{type:`number`,default:.375},cluster:{type:`boolean`,default:!1},clusterRadius:{type:`number`,default:50,minimum:0}
vendor: 4,545 bytes, line 12
12,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:{required:!0,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:{},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_background`],layout_background:{visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,"property-type":`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`,"property-type":`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`,"property-type":`constant`}},layout_heatmap:{visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,"property-type":`constant`}},"layout_fill-extrusion":{visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,"property-type":`constant`}},layout_line:{"line-cap":{type:`enum`,values:{butt:{},round:{},square:{}},default:`butt`,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"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`]},"property-type":`data-constant`},"line-round-limit":{type:`number`,default:1.05,requires:[{"line-join":`round`}],expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"line-sort-key":{type:`number`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,"property-type":`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`]},"property-type":`data-constant
vendor: 6,791 bytes, line 12
12`},"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`},
vendor: 14,013 bytes, line 12
12visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,"property-type":`constant`}},layout_raster:{visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,"property-type":`constant`}},layout_hillshade:{visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,"property-type":`constant`}},filter:{type:`array`,value:`*`},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:`*`,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_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-color":{type:`color`,default:`#000000`,transition:!0,requires:[{"!":`fill-pattern`}],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,minimum:0,units:`meters`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"fill-extrusion-base":{type:`number`,default:0,minimum: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-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`]},"property-type":`cross-faded`},"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`}
12,"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`},"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`}},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`}}};let Ne=[`type`,`source`,`source-layer`,`minzoom`,`maxzoom`,`filter`,`layout`];function Pe(e,t){let n={};for(let t in e)t!==`ref`&&(n[t]=e[t]);return Ne.forEach((e=>{e in t&&(n[e]=t[e])})),n}function Fe(e,t){if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Fe(e[n],t[n]))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 n in e)if(!Fe(e[n],t[n]))return!1;return!0}return e===t}function Ie(e,t){e.push(t)}function Le(e,t,n){Ie(n,{command:`addSource`,args:[e,t[e]]})}function Re(e,t,n){Ie(t,{command:`removeSource`,args:[e]}),n[e]=!0}function ze(e,t,n,r){Re(e,n,r),Le(e,t,n)}function Be(e,t,n){let r;for(r in e[n])if(Object.prototype.hasOwnProperty.call(e[n],r)&&r!==`data`&&!Fe(e[n][r],t[n][r]))return!1;for(r in t[n])if(Object.prototype.hasOwnProperty.call(t[n],r)&&r!==`data`&&!Fe(e[n][r],t[n][r]))return!1;return!0}function Ve(e,t,n,r,i,a){e||={},t||={};for(let o in e)Object.prototype.hasOwnProperty.call(e,o)&&(Fe(e[o],t[o])||n.push({command:a,args:[r,o,t[o],i]}));for(let o in t)Object.prototype.hasOwnProperty.call(t,o)&&!Object.prototype.hasOwnProperty.call(e,o)&&(Fe(e[o],t[o])||n.push({command:a,args:[r,o,t[o],i]}))}function He(e){return e.id}function Ue(e,t){return e[t.id]=t,e}class R{constructor(e,t,n,r){this.message=(e?`${e}: `:``)+n,r&&(this.identifier=r),t!=null&&t.__line__&&(this.line=t.__line__)}}function We(e,...t){for(let n of t)for(let t in n)e[t]=n[t];return e}
12class Ge extends Error{constructor(e,t){super(t),this.message=t,this.key=e}}class Ke{constructor(e,t=[]){this.parent=e,this.bindings={};for(let[e,n]of t)this.bindings[e]=n}concat(e){return new Ke(this,e)}get(e){if(this.bindings[e])return this.bindings[e];if(this.parent)return this.parent.get(e);throw Error(`${e} not found in scope.`)}has(e){return!!this.bindings[e]||!!this.parent&&this.parent.has(e)}}let qe={kind:`null`},z={kind:`number`},B={kind:`string`},V={kind:`boolean`},Je={kind:`color`},Ye={kind:`projectionDefinition`},Xe={kind:`object`},H={kind:`value`},Ze={kind:`collator`},Qe={kind:`formatted`},$e={kind:`padding`},et={kind:`colorArray`},tt={kind:`numberArray`},nt={kind:`resolvedImage`},rt={kind:`variableAnchorOffsetCollection`};function it(e,t){return{kind:`array`,itemType:e,N:t}}function at(e){if(e.kind===`array`){let t=at(e.itemType);return typeof e.N==`number`?`array<${t}, ${e.N}>`:e.itemType.kind===`value`?`array`:`array<${t}>`}return e.kind}let ot=[qe,z,B,V,Je,Ye,Qe,Xe,it(H),$e,tt,et,nt,rt];function st(e,t){if(t.kind===`error`)return null;if(e.kind===`array`){if(t.kind===`array`&&(t.N===0&&t.itemType.kind===`value`||!st(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 e of ot)if(!st(e,t))return null}}return`Expected ${at(e)} but found ${at(t)} instead.`}function ct(e,t){return t.some((t=>t.kind===e.kind))}function lt(e,t){return t.some((t=>t===`null`?e===null:t===`array`?Array.isArray(e):t===`object`?e&&!Array.isArray(e)&&typeof e==`object`:t===typeof e))}function ut(e,t){return e.kind===`array`&&t.kind===`array`?e.itemType.kind===t.itemType.kind&&typeof e.N==`number`:e.kind===t.kind}let dt=.96422,ft=.82521,pt=4/29,mt=6/29,ht=3*mt*mt,gt=Math.PI/180,_t=180/Math.PI;function vt(e){return(e%=360)<0&&(e+=360),e}function yt([e,t,n,r]){let i,a,o=xt((.2225045*(e=bt(e))+.7168786*(t=bt(t))+.0606169*(n=bt(n)))/1);e===t&&t===n?i=a=o:(i=xt((.4360747*e+.3850649*t+.1430804*n)/dt),a=xt((.0139322*e+.0971045*t+.7141733*n)/ft));let s=116*o-16;return[s<0?0:s,500*(i-o),200*(o-a),r]}function bt(e){return e<=.04045?e/12.92:((e+.055)/1.055)**2.4}function xt(e){return e>.008856451679035631?e**(1/3):e/ht+pt}function St([e,t,n,r]){let i=(e+16)/116,a=isNaN(t)?i:i+t/500,o=isNaN(n)?i:i-n/200;return i=1*wt(i),a=dt*wt(a),o=ft*wt(o),[Ct(3.1338561*a-1.6168667*i-.4906146*o),Ct(-.9787684*a+1.9161415*i+.033454*o),Ct(.0719453*a-.2289914*i+1.4052427*o),r]}function Ct(e){return(e=e<=.00304?12.92*e:1.055*e**(1/2.4)-.055)<0?0:e>1?1:e}function wt(e){return e>mt?e*e*e:ht*(e-pt)}let Tt=Object.hasOwn||function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};function Et(e,t){return Tt(e,t)?e[t]:void 0}function Dt(e){return parseInt(e.padEnd(2,e),16)/255}function U(e,t){return Ot(t?e/100:e,0,1)}function Ot(e,t,n){return Math.min(Math.max(t,e),n)}function kt(e){return!e.some(Number.isNaN)}let At={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],ol
12ive:[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 jt(e,t,n){return e+n*(t-e)}function Mt(e,t,n){return e.map(((e,r)=>jt(e,t[r],n)))}class W{constructor(e,t,n,r=1,i=!0){this.r=e,this.g=t,this.b=n,this.a=r,i||(this.r*=r,this.g*=r,this.b*=r,r||this.overwriteGetter(`rgb`,[e,t,n,r]))}static parse(e){if(e instanceof W)return e;if(typeof e!=`string`)return;let t=function(e){if((e=e.toLowerCase().trim())===`transparent`)return[0,0,0,0];let t=Et(At,e);if(t){let[e,n,r]=t;return[e/255,n/255,r/255,1]}if(e.startsWith(`#`)&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(e)){let t=e.length<6?1:2,n=1;return[Dt(e.slice(n,n+=t)),Dt(e.slice(n,n+=t)),Dt(e.slice(n,n+=t)),Dt(e.slice(n,n+t)||`ff`)]}if(e.startsWith(`rgb`)){let t=e.match(/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(t){let[e,n,r,i,a,o,s,c,l,u,d,f]=t,p=[i||` `,s||` `,u].join(``);if(p===` `||p===` /`||p===`,,`||p===`,,,`){let e=[r,o,l].join(``),t=e===`%%%`?100:e===``?255:0;if(t){let e=[Ot(+n/t,0,1),Ot(+a/t,0,1),Ot(+c/t,0,1),d?U(+d,f):1];if(kt(e))return e}}return}}let n=e.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(n){let[e,t,r,i,a,o,s,c,l]=n,u=[r||` `,a||` `,s].join(``);if(u===` `||u===` /`||u===`,,`||u===`,,,`){let e=[+t,Ot(+i,0,100),Ot(+o,0,100),c?U(+c,l):1];if(kt(e))return function([e,t,n,r]){function i(r){let i=(r+e/30)%12,a=t*Math.min(n,1-n);return n-a*Math.max(-1,Math.min(i-3,9-i,1))}return e=vt(e),t/=100,n/=100,[i(0),i(8),i(4),r]}(e)}}}(e);return t?new W(...t,!1):void 0}get rgb(){let{r:e,g:t,b:n,a:r}=this,i=r||1/0;return this.overwriteGetter(`rgb`,[e/i,t/i,n/i,r])}get hcl(){return this.overwriteGetter(`hcl`,function(e){let[t,n,r,i]=yt(e),a=Math.sqrt(n*n+r*r);return[Math.round(1e4*a)?vt(Math.atan2(r,n)*_t):NaN,a,t,i]}(this.rgb))}get lab(){return this.overwriteGetter(`lab`,yt(this.rgb))}overwriteGetter(e,t){return Object.defineProperty(this,e,{value:t}),t}toString(){let[e,t,n,r]=this.rgb;return`rgba(${[e,t,n].map((e=>Math.round(255*e))).join(`,`)},${r})`}static interpolate(e,t,n,r=`rgb`){switch(r){case`rgb`:{let[r,i,a,o]=Mt(e.rgb,t.rgb,n);return new W(r,i,a,o,!1)}case`hcl`:{let[r,i,a,o]=e.hcl,[s,c,l,u]=t.hcl,d,f;if(isNaN(r)||isNaN(s))isNaN(r)?isNaN(s)?d=NaN:(d=s,a!==1&&a!==0||(f=c)):(d=r,l!==1&&l!==0||(f=i));else{let e=s-r;s>r&&e>180?e-=360:s<r&&r-s>180&&(e+=360),d=r+n*e}let[p,m,h,g]=function([e,t,n,r]){return e=isNaN(e)?0:e*gt,St([n,Math.cos(e)*t,Math.sin(e)*t,r])}([d,f??jt(i,c,n),jt(a,l,n),jt(o,u,n)]);return new W(p,m,h,g,!1)}case`lab`:{let[r,i,a,o]=St(Mt(e.lab,t.lab,n));return new W(r,i,a,o,!1)}}}}W.black=new W(0,0,0,1),W.white=new W(1,1,1,1),W.transparent=new W(0,0,0,0),W.red=new W(1,0,0,1);class Nt{constructor(e,t,n){this.sensitivity=e?t?`variant`:`case`:t?`accent`:`base`,this.locale=n,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}}let Pt=[`bottom`,`center`,`top`];class Ft{constructor(e,t,n,r,i,a){this.text=e,this.image=t,this.scale=n,this.fontStack=r,this.textColor=i,this.verticalAlign=a}}class It{constructor(e){this.sections=e}static fromString(e){return new It([new Ft(e,null,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some((e=>e.text.length!==0||e.image&&e.image.name.length!==0))}static factory(e){return e instanceof It?e:It.fromString(e)}toString(){return this.sections.length===0?``:this.sections.map((e=>e.text)).join(``)}}class Lt{constructor(e){this.values=e.slice()}static parse(e){if(e instanceof Lt)return e;if(typeof e==`number`)return new Lt([e,e,e,e]);if(Array.isArray(e)&&!(e.length<1||e.length>4)){for(let t of e)if(typeof t!=`number`)return;switch(e.length){case 1:e=[e[0],e[0],e[0],e[0]];break;case 2:e=[e[0],e[1],e[0],e[1]];break;case 3:e=[e[0],e[1],e[2],e[1]]}return new Lt(e)}}toString(){return JSON.stringify(this.values)}
12static interpolate(e,t,n){return new Lt(Mt(e.values,t.values,n))}}class Rt{constructor(e){this.values=e.slice()}static parse(e){if(e instanceof Rt)return e;if(typeof e==`number`)return new Rt([e]);if(Array.isArray(e)){for(let t of e)if(typeof t!=`number`)return;return new Rt(e)}}toString(){return JSON.stringify(this.values)}static interpolate(e,t,n){return new Rt(Mt(e.values,t.values,n))}}class zt{constructor(e){this.values=e.slice()}static parse(e){if(e instanceof zt)return e;if(typeof e==`string`){let t=W.parse(e);return t?new zt([t]):void 0}if(!Array.isArray(e))return;let t=[];for(let n of e){if(typeof n!=`string`)return;let e=W.parse(n);if(!e)return;t.push(e)}return new zt(t)}toString(){return JSON.stringify(this.values)}static interpolate(e,t,n,r=`rgb`){let i=[];if(e.values.length!=t.values.length)throw Error(`colorArray: Arrays have mismatched length (${e.values.length} vs. ${t.values.length}), cannot interpolate.`);for(let a=0;a<e.values.length;a++)i.push(W.interpolate(e.values[a],t.values[a],n,r));return new zt(i)}}class Bt extends Error{constructor(e){super(e),this.name=`RuntimeError`}toJSON(){return this.message}}let Vt=new Set([`center`,`left`,`right`,`top`,`bottom`,`top-left`,`top-right`,`bottom-left`,`bottom-right`]);class Ht{constructor(e){this.values=e.slice()}static parse(e){if(e instanceof Ht)return e;if(Array.isArray(e)&&!(e.length<1)&&e.length%2==0){for(let t=0;t<e.length;t+=2){let n=e[t],r=e[t+1];if(typeof n!=`string`||!Vt.has(n)||!Array.isArray(r)||r.length!==2||typeof r[0]!=`number`||typeof r[1]!=`number`)return}return new Ht(e)}}toString(){return JSON.stringify(this.values)}static interpolate(e,t,n){let r=e.values,i=t.values;if(r.length!==i.length)throw new Bt(`Cannot interpolate values of different length. from: ${e.toString()}, to: ${t.toString()}`);let a=[];for(let e=0;e<r.length;e+=2){if(r[e]!==i[e])throw new Bt(`Cannot interpolate values containing mismatched anchors. from[${e}]: ${r[e]}, to[${e}]: ${i[e]}`);a.push(r[e]);let[t,o]=r[e+1],[s,c]=i[e+1];a.push([jt(t,s,n),jt(o,c,n)])}return new Ht(a)}}class Ut{constructor(e){this.name=e.name,this.available=e.available}toString(){return this.name}static fromString(e){return e?new Ut({name:e,available:!1}):null}}class G{constructor(e,t,n){this.from=e,this.to=t,this.transition=n}static interpolate(e,t,n){return new G(e,t,n)}static parse(e){return e instanceof G?e:Array.isArray(e)&&e.length===3&&typeof e[0]==`string`&&typeof e[1]==`string`&&typeof e[2]==`number`?new G(e[0],e[1],e[2]):typeof e==`object`&&typeof e.from==`string`&&typeof e.to==`string`&&typeof e.transition==`number`?new G(e.from,e.to,e.transition):typeof e==`string`?new G(e,e,1):void 0}}function Wt(e,t,n,r){return typeof e==`number`&&e>=0&&e<=255&&typeof t==`number`&&t>=0&&t<=255&&typeof n==`number`&&n>=0&&n<=255?r===void 0||typeof r==`number`&&r>=0&&r<=1?null:`Invalid rgba value [${[e,t,n,r].join(`, `)}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof r==`number`?[e,t,n,r]:[e,t,n]).join(`, `)}]: 'r', 'g', and 'b' must be between 0 and 255.`}function K(e){if(e===null||typeof e==`string`||typeof e==`boolean`||typeof e==`number`||e instanceof G||e instanceof W||e instanceof Nt||e instanceof It||e instanceof Lt||e instanceof Rt||e instanceof zt||e instanceof Ht||e instanceof Ut)return!0;if(Array.isArray(e)){for(let t of e)if(!K(t))return!1;return!0}if(typeof e==`object`){for(let t in e)if(!K(e[t]))return!1;return!0}return!1}function q(e){if(e===null)return qe;if(typeof e==`string`)return B;if(typeof e==`boolean`)return V;if(typeof e==`number`)return z;if(e instanceof W)return Je;if(e instanceof G)return Ye;if(e instanceof Nt)return Ze;if(e instanceof It)return Qe;if(e instanceof Lt)return $e;if(e instanceof Rt)return tt;if(e instanceof zt)return et;if(e instanceof Ht)return rt;if(e instanceof Ut)return nt;if(Array.isArray(e)){let t=e.length,n;for(let t of e){let e=q(t);if(n){if(n===e)continue;n=H;break}n=e}return it(n||H,t)}return Xe}function Gt(e){let t=typeof e;return e===null?``:t===`string`||t===`number`||t===`boolean`?String(e):e instanceof W||e instanceof G||e instanceof It||e instanceof Lt||e instanceof Rt||e instanceof zt||e instanceof Ht||e instanceof Ut?e.toString():JSON.stringify(e)}class J{constructor(e,t){this.type=e,this.value=t}static parse(e,t){if(e.length!==2)return t.error(`'literal' expression requires exactly one argument, but found ${e.length-1} instead.`);if(!K(e[1]))return t.error(`invalid value`);let n=e[1],r=q(n),i=t.expectedType;return r.kind!==`array`||r.N!==0||!i||i.kind!==`array`||typeof i.N==`number`&&i.N!==0||(r=i),new J(r,
12n)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}let Kt={string:B,number:z,boolean:V,object:Xe};class qt{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error(`Expected at least one argument.`);let n,r=1,i=e[0];if(i===`array`){let i,a;if(e.length>2){let n=e[1];if(typeof n!=`string`||!(n in Kt)||n===`object`)return t.error(`The item type argument of "array" must be one of string, number, boolean`,1);i=Kt[n],r++}else i=H;if(e.length>3){if(e[2]!==null&&(typeof e[2]!=`number`||e[2]<0||e[2]!==Math.floor(e[2])))return t.error(`The length argument to "array" must be a positive integer literal`,2);a=e[2],r++}n=it(i,a)}else{if(!Kt[i])throw Error(`Types doesn't contain name = ${i}`);n=Kt[i]}let a=[];for(;r<e.length;r++){let n=t.parse(e[r],r,H);if(!n)return null;a.push(n)}return new qt(n,a)}evaluate(e){for(let t=0;t<this.args.length;t++){let n=this.args[t].evaluate(e);if(!st(this.type,q(n)))return n;if(t===this.args.length-1)throw new Bt(`Expected value to be of type ${at(this.type)}, but found ${at(q(n))} instead.`)}throw Error()}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every((e=>e.outputDefined()))}}let Jt={"to-boolean":V,"to-color":Je,"to-number":z,"to-string":B};class Yt{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error(`Expected at least one argument.`);let n=e[0];if(!Jt[n])throw Error(`Can't parse ${n} as it is not part of the known types`);if((n===`to-boolean`||n===`to-string`)&&e.length!==2)return t.error(`Expected one argument.`);let r=Jt[n],i=[];for(let n=1;n<e.length;n++){let r=t.parse(e[n],n,H);if(!r)return null;i.push(r)}return new Yt(r,i)}evaluate(e){switch(this.type.kind){case`boolean`:return!!this.args[0].evaluate(e);case`color`:{let t,n;for(let r of this.args){if(t=r.evaluate(e),n=null,t instanceof W)return t;if(typeof t==`string`){let n=e.parseColor(t);if(n)return n}else if(Array.isArray(t)&&(n=t.length<3||t.length>4?`Invalid rgba value ${JSON.stringify(t)}: expected an array containing either three or four numeric values.`:Wt(t[0],t[1],t[2],t[3]),!n))return new W(t[0]/255,t[1]/255,t[2]/255,t[3])}throw new Bt(n||`Could not parse color from value '${typeof t==`string`?t:JSON.stringify(t)}'`)}case`padding`:{let t;for(let n of this.args){t=n.evaluate(e);let r=Lt.parse(t);if(r)return r}throw new Bt(`Could not parse padding from value '${typeof t==`string`?t:JSON.stringify(t)}'`)}case`numberArray`:{let t;for(let n of this.args){t=n.evaluate(e);let r=Rt.parse(t);if(r)return r}throw new Bt(`Could not parse numberArray from value '${typeof t==`string`?t:JSON.stringify(t)}'`)}case`colorArray`:{let t;for(let n of this.args){t=n.evaluate(e);let r=zt.parse(t);if(r)return r}throw new Bt(`Could not parse colorArray from value '${typeof t==`string`?t:JSON.stringify(t)}'`)}case`variableAnchorOffsetCollection`:{let t;for(let n of this.args){t=n.evaluate(e);let r=Ht.parse(t);if(r)return r}throw new Bt(`Could not parse variableAnchorOffsetCollection from value '${typeof t==`string`?t:JSON.stringify(t)}'`)}case`number`:{let t=null;for(let n of this.args){if(t=n.evaluate(e),t===null)return 0;let r=Number(t);if(!isNaN(r))return r}throw new Bt(`Could not convert ${JSON.stringify(t)} to number.`)}case`formatted`:return It.fromString(Gt(this.args[0].evaluate(e)));case`resolvedImage`:return Ut.fromString(Gt(this.args[0].evaluate(e)));case`projectionDefinition`:return this.args[0].evaluate(e);default:return Gt(this.args[0].evaluate(e))}}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every((e=>e.outputDefined()))}}let Xt=[`Unknown`,`Point`,`LineString`,`Polygon`];class Zt{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`?Xt[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=W.parse(e),this._parseColorCache.set(e,t)),t}}class Qt{constructor(e,t,n=[],r,i=new Ke,a=[]){this.registry=e,this.path=n,this.key=n.map((e=>`[${e}]`)).join(``),this.scope=i,this.errors=a,this.expectedType=r,this._isConstant=t}parse(e,t,n,r,i={}){return t?this.concat(t,n,r)._parse(e,i):this._parse(e,i)}_parse(e,t){function n(e,t,n){return n===`assert`?new qt(t,[e]):n===`coerce`?new Yt(t,[e]):e}if(e!==null&&typeof e!=`string`&&typeof e!=`boolean`&&typeof e!=`number`||(e=[`literal`,e]),Array.isArray(e)){if(e.length===0)return this.error(`Expected an array with at least one element. If you wanted a literal array, use ["literal", []].`);let r=e[0];if(typeof r!=`string`)return this.error(`Expression name must be a string, but found ${typeof r} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;let i=this.registry[r];if(i){let r=i.parse(e,this);if(!r)return null;if(this.expectedType){let e=this.expectedType,i=r.type;if(e.kind!==`string`&&e.kind!==`number`&&e.kind!==`boolean`&&e.kind!==`object`&&e.kind!==`array`||i.kind!==`value`){if(e.kind===`projectionDefinition`&&[`string`,`array`].includes(i.kind)||[`color`,`formatted`,`resolvedImage`].includes(e.kind)&&[`value`,`string`].includes(i.kind)||[`padding`,`numberArray`].includes(e.kind)&&[`value`,`number`,`array`].includes(i.kind)||e.kind===`colorArray`&&[`value`,`string`,`array`].includes(i.kind)||e.kind===`variableAnchorOffsetCollection`&&[`value`,`array`].includes(i.kind))r=n(r,e,t.typeAnnotation||`c
12oerce`);else if(this.checkSubtype(e,i))return null}else r=n(r,e,t.typeAnnotation||`assert`)}if(!(r instanceof J)&&r.type.kind!==`resolvedImage`&&this._isConstant(r)){let e=new Zt;try{r=new J(r.type,r.evaluate(e))}catch(e){return this.error(e.message),null}}return r}return this.error(`Unknown expression "${r}". If you wanted a literal array, use ["literal", [...]].`,0)}return this.error(e===void 0?`'undefined' value invalid. Use null instead.`:typeof e==`object`?`Bare objects invalid. Use ["literal", {...}] instead.`:`Expected an array, but found ${typeof e} instead.`)}concat(e,t,n){let r=typeof e==`number`?this.path.concat(e):this.path,i=n?this.scope.concat(n):this.scope;return new Qt(this.registry,this._isConstant,r,t||null,i,this.errors)}error(e,...t){let n=`${this.key}${t.map((e=>`[${e}]`)).join(``)}`;this.errors.push(new Ge(n,e))}checkSubtype(e,t){let n=st(e,t);return n&&this.error(n),n}}class $t{constructor(e,t){this.type=t.type,this.bindings=[].concat(e),this.result=t}evaluate(e){return this.result.evaluate(e)}eachChild(e){for(let t of this.bindings)e(t[1]);e(this.result)}static parse(e,t){if(e.length<4)return t.error(`Expected at least 3 arguments, but found ${e.length-1} instead.`);let n=[];for(let r=1;r<e.length-1;r+=2){let i=e[r];if(typeof i!=`string`)return t.error(`Expected string, but found ${typeof i} instead.`,r);if(/[^a-zA-Z0-9_]/.test(i))return t.error(`Variable names must contain only alphanumeric characters or '_'.`,r);let a=t.parse(e[r+1],r+1);if(!a)return null;n.push([i,a])}let r=t.parse(e[e.length-1],e.length-1,t.expectedType,n);return r?new $t(n,r):null}outputDefined(){return this.result.outputDefined()}}class en{constructor(e,t){this.type=t.type,this.name=e,this.boundExpression=t}static parse(e,t){if(e.length!==2||typeof e[1]!=`string`)return t.error(`'var' expression requires exactly one string literal argument.`);let n=e[1];return t.scope.has(n)?new en(n,t.scope.get(n)):t.error(`Unknown variable "${n}". Make sure "${n}" has been bound in an enclosing "let" expression before using it.`,1)}evaluate(e){return this.boundExpression.evaluate(e)}eachChild(){}outputDefined(){return!1}}class tn{constructor(e,t,n){this.type=e,this.index=t,this.input=n}static parse(e,t){if(e.length!==3)return t.error(`Expected 2 arguments, but found ${e.length-1} instead.`);let n=t.parse(e[1],1,z),r=t.parse(e[2],2,it(t.expectedType||H));return n&&r?new tn(r.type.itemType,n,r):null}evaluate(e){let t=this.index.evaluate(e),n=this.input.evaluate(e);if(t<0)throw new Bt(`Array index out of bounds: ${t} < 0.`);if(t>=n.length)throw new Bt(`Array index out of bounds: ${t} > ${n.length-1}.`);if(t!==Math.floor(t))throw new Bt(`Array index must be an integer, but found ${t} instead.`);return n[t]}eachChild(e){e(this.index),e(this.input)}outputDefined(){return!1}}class nn{constructor(e,t){this.type=V,this.needle=e,this.haystack=t}static parse(e,t){if(e.length!==3)return t.error(`Expected 2 arguments, but found ${e.length-1} instead.`);let n=t.parse(e[1],1,H),r=t.parse(e[2],2,H);return n&&r?ct(n.type,[V,B,z,qe,H])?new nn(n,r):t.error(`Expected first argument to be of type boolean, string, number or null, but found ${at(n.type)} instead`):null}evaluate(e){let t=this.needle.evaluate(e),n=this.haystack.evaluate(e);if(!n)return!1;if(!lt(t,[`boolean`,`string`,`number`,`null`]))throw new Bt(`Expected first argument to be of type boolean, string, number or null, but found ${at(q(t))} instead.`);if(!lt(n,[`string`,`array`]))throw new Bt(`Expected second argument to be of type array or string, but found ${at(q(n))} instead.`);return n.indexOf(t)>=0}eachChild(e){e(this.needle),e(this.haystack)}outputDefined(){return!0}}class rn{constructor(e,t,n){this.type=z,this.needle=e,this.haystack=t,this.fromIndex=n}static parse(e,t){if(e.length<=2||e.length>=5)return t.error(`Expected 3 or 4 arguments, but found ${e.length-1} instead.`);let n=t.parse(e[1],1,H),r=t.parse(e[2],2,H);if(!n||!r)return null;if(!ct(n.type,[V,B,z,qe,H]))return t.error(`Expected first argument to be of type boolean, string, number or null, but found ${at(n.type)} instead`);if(e.length===4){let i=t.parse(e[3],3,z);return i?new rn(n,r,i):null}return new rn(n,r)}evaluate(e){let t=this.needle.evaluate(e),n=this.haystack.evaluate(e);if(!lt(t,[`boolean`,`string`,`number`,`null`]))throw new Bt(`Expected first argument to be of type boolean, string, number or null, but found ${at(q(t))} instead.`);let r;if(this.fromIndex&&(r=this.fromIndex.evaluate(e)),lt(n,[`string`])){let e=n.indexOf(t,r);return e===-1?-1:[...n.slice(0,e)].length}if(lt(n,[`array`]))return n.indexOf(t,r);throw new Bt(`Expected second argument to be of type array or string, but found ${at(q(n))} instead.`)}eachChild(e){e(this.needle),e(this.haystack),this.fromIndex&&e(this.fromIndex)}outputDefined(){return!1}}class an{constructor(e,t,n,r,i,a){this.inputType=e,this.type=t,this.input=n,this.cases=r,this.outputs=i,this.otherwise=a}static parse(e,t){if(e.length<5)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if(e.length%2!=1)return t.error(`Expected an even number of arguments.`);let n,r;t.expectedType&&t.expectedType.kind!==`value`&&(r=t.expectedType);let i={},a=[];for(let o=2;o<e.length-1;o+=2){let s=e[o],c=e[o+1];Array.isArray(s)||(s=[s]);let l=t.concat(o);if(s.length===0)return l.error(`Expected at least one branch label.`);for(let e of s){if(typeof e!=`number`&&typeof e!=`string`)return l.error(`Branch labels must be numbers or strings.`);if(typeof e==`number`&&Math.abs(e)>2**53-1)return l.error(`Branch labels must be integers no larger than ${2**53-1}.`);if(typeof e==`number`&&Math.floor(e)!==e)return l.error(`Numeric branch labels must be integer values.`);if(n){if(l.checkSubtype(n,q(e)))return null}else n=q(e);if(i[String(e)]!==void 0)return l.error(`Branch labels must be unique.`);
12i[String(e)]=a.length}let u=t.parse(c,o,r);if(!u)return null;r||=u.type,a.push(u)}let o=t.parse(e[1],1,H);if(!o)return null;let s=t.parse(e[e.length-1],e.length-1,r);return s?o.type.kind!==`value`&&t.concat(1).checkSubtype(n,o.type)?null:new an(n,r,o,i,a,s):null}evaluate(e){let t=this.input.evaluate(e);return(q(t)===this.inputType&&this.outputs[this.cases[t]]||this.otherwise).evaluate(e)}eachChild(e){e(this.input),this.outputs.forEach(e),e(this.otherwise)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))&&this.otherwise.outputDefined()}}class on{constructor(e,t,n){this.type=e,this.branches=t,this.otherwise=n}static parse(e,t){if(e.length<4)return t.error(`Expected at least 3 arguments, but found only ${e.length-1}.`);if(e.length%2!=0)return t.error(`Expected an odd number of arguments.`);let n;t.expectedType&&t.expectedType.kind!==`value`&&(n=t.expectedType);let r=[];for(let i=1;i<e.length-1;i+=2){let a=t.parse(e[i],i,V);if(!a)return null;let o=t.parse(e[i+1],i+1,n);if(!o)return null;r.push([a,o]),n||=o.type}let i=t.parse(e[e.length-1],e.length-1,n);if(!i)return null;if(!n)throw Error(`Can't infer output type`);return new on(n,r,i)}evaluate(e){for(let[t,n]of this.branches)if(t.evaluate(e))return n.evaluate(e);return this.otherwise.evaluate(e)}eachChild(e){for(let[t,n]of this.branches)e(t),e(n);e(this.otherwise)}outputDefined(){return this.branches.every((([e,t])=>t.outputDefined()))&&this.otherwise.outputDefined()}}class sn{constructor(e,t,n,r){this.type=e,this.input=t,this.beginIndex=n,this.endIndex=r}static parse(e,t){if(e.length<=2||e.length>=5)return t.error(`Expected 3 or 4 arguments, but found ${e.length-1} instead.`);let n=t.parse(e[1],1,H),r=t.parse(e[2],2,z);if(!n||!r)return null;if(!ct(n.type,[it(H),B,H]))return t.error(`Expected first argument to be of type array or string, but found ${at(n.type)} instead`);if(e.length===4){let i=t.parse(e[3],3,z);return i?new sn(n.type,n,r,i):null}return new sn(n.type,n,r)}evaluate(e){let t=this.input.evaluate(e),n=this.beginIndex.evaluate(e),r;if(this.endIndex&&(r=this.endIndex.evaluate(e)),lt(t,[`string`]))return[...t].slice(n,r).join(``);if(lt(t,[`array`]))return t.slice(n,r);throw new Bt(`Expected first argument to be of type array or string, but found ${at(q(t))} instead.`)}eachChild(e){e(this.input),e(this.beginIndex),this.endIndex&&e(this.endIndex)}outputDefined(){return!1}}function cn(e,t){let n=e.length-1,r,i,a=0,o=n,s=0;for(;a<=o;)if(s=Math.floor((a+o)/2),r=e[s],i=e[s+1],r<=t){if(s===n||t<i)return s;a=s+1}else{if(!(r>t))throw new Bt(`Input is not a number.`);o=s-1}return 0}class ln{constructor(e,t,n){this.type=e,this.input=t,this.labels=[],this.outputs=[];for(let[e,t]of n)this.labels.push(e),this.outputs.push(t)}static parse(e,t){if(e.length-1<4)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return t.error(`Expected an even number of arguments.`);let n=t.parse(e[1],1,z);if(!n)return null;let r=[],i=null;t.expectedType&&t.expectedType.kind!==`value`&&(i=t.expectedType);for(let n=1;n<e.length;n+=2){let a=n===1?-1/0:e[n],o=e[n+1],s=n,c=n+1;if(typeof a!=`number`)return t.error(`Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.`,s);if(r.length&&r[r.length-1][0]>=a)return t.error(`Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.`,s);let l=t.parse(o,c,i);if(!l)return null;i||=l.type,r.push([a,l])}return new ln(i,n,r)}evaluate(e){let t=this.labels,n=this.outputs;if(t.length===1)return n[0].evaluate(e);let r=this.input.evaluate(e);if(r<=t[0])return n[0].evaluate(e);let i=t.length;return r>=t[i-1]?n[i-1].evaluate(e):n[cn(t,r)].evaluate(e)}eachChild(e){e(this.input);for(let t of this.outputs)e(t)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))}}function un(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}var dn,fn,pn=un(function(){if(fn)return dn;function e(e,t,n,r){this.cx=3*e,this.bx=3*(n-e)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*t,this.by=3*(r-t)-this.cy,this.ay=1-this.cy-this.by,this.p1x=e,this.p1y=t,this.p2x=n,this.p2y=r}return fn=1,dn=e,e.prototype={sampleCurveX:function(e){return((this.ax*e+this.bx)*e+this.cx)*e},sampleCurveY:function(e){return((this.ay*e+this.by)*e+this.cy)*e},sampleCurveDerivativeX:function(e){return(3*this.ax*e+2*this.bx)*e+this.cx},solveCurveX:function(e,t){if(t===void 0&&(t=1e-6),e<0)return 0;if(e>1)return 1;for(var n=e,r=0;r<8;r++){var i=this.sampleCurveX(n)-e;if(Math.abs(i)<t)return n;var a=this.sampleCurveDerivativeX(n);
12if(Math.abs(a)<1e-6)break;n-=i/a}var o=0,s=1;for(n=e,r=0;r<20&&(i=this.sampleCurveX(n),!(Math.abs(i-e)<t));r++)e>i?o=n:s=n,n=.5*(s-o)+o;return n},solve:function(e,t){return this.sampleCurveY(this.solveCurveX(e,t))}},dn}());class mn{constructor(e,t,n,r,i){this.type=e,this.operator=t,this.interpolation=n,this.input=r,this.labels=[],this.outputs=[];for(let[e,t]of i)this.labels.push(e),this.outputs.push(t)}static interpolationFactor(e,t,n,r){let i=0;if(e.name===`exponential`)i=hn(t,e.base,n,r);else if(e.name===`linear`)i=hn(t,1,n,r);else if(e.name===`cubic-bezier`){let a=e.controlPoints;i=new pn(a[0],a[1],a[2],a[3]).solve(hn(t,1,n,r))}return i}static parse(e,t){let[n,r,i,...a]=e;if(!Array.isArray(r)||r.length===0)return t.error(`Expected an interpolation type expression.`,1);if(r[0]===`linear`)r={name:`linear`};else if(r[0]===`exponential`){let e=r[1];if(typeof e!=`number`)return t.error(`Exponential interpolation requires a numeric base.`,1,1);r={name:`exponential`,base:e}}else{if(r[0]!==`cubic-bezier`)return t.error(`Unknown interpolation type ${String(r[0])}`,1,0);{let e=r.slice(1);if(e.length!==4||e.some((e=>typeof e!=`number`||e<0||e>1)))return t.error(`Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.`,1);r={name:`cubic-bezier`,controlPoints:e}}}if(e.length-1<4)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return t.error(`Expected an even number of arguments.`);if(i=t.parse(i,2,z),!i)return null;let o=[],s=null;n!==`interpolate-hcl`&&n!==`interpolate-lab`||t.expectedType==et?t.expectedType&&t.expectedType.kind!==`value`&&(s=t.expectedType):s=Je;for(let e=0;e<a.length;e+=2){let n=a[e],r=a[e+1],i=e+3,c=e+4;if(typeof n!=`number`)return t.error(`Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.`,i);if(o.length&&o[o.length-1][0]>=n)return t.error(`Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.`,i);let l=t.parse(r,c,s);if(!l)return null;s||=l.type,o.push([n,l])}return ut(s,z)||ut(s,Ye)||ut(s,Je)||ut(s,$e)||ut(s,tt)||ut(s,et)||ut(s,rt)||ut(s,it(z))?new mn(s,n,r,i,o):t.error(`Type ${at(s)} is not interpolatable.`)}evaluate(e){let t=this.labels,n=this.outputs;if(t.length===1)return n[0].evaluate(e);let r=this.input.evaluate(e);if(r<=t[0])return n[0].evaluate(e);let i=t.length;if(r>=t[i-1])return n[i-1].evaluate(e);let a=cn(t,r),o=mn.interpolationFactor(this.interpolation,r,t[a],t[a+1]),s=n[a].evaluate(e),c=n[a+1].evaluate(e);switch(this.operator){case`interpolate`:switch(this.type.kind){case`number`:return jt(s,c,o);case`color`:return W.interpolate(s,c,o);case`padding`:return Lt.interpolate(s,c,o);case`colorArray`:return zt.interpolate(s,c,o);case`numberArray`:return Rt.interpolate(s,c,o);case`variableAnchorOffsetCollection`:return Ht.interpolate(s,c,o);case`array`:return Mt(s,c,o);case`projectionDefinition`:return G.interpolate(s,c,o)}case`interpolate-hcl`:switch(this.type.kind){case`color`:return W.interpolate(s,c,o,`hcl`);case`colorArray`:return zt.interpolate(s,c,o,`hcl`)}case`interpolate-lab`:switch(this.type.kind){case`color`:return W.interpolate(s,c,o,`lab`);case`colorArray`:return zt.interpolate(s,c,o,`lab`)}}}eachChild(e){e(this.input);for(let t of this.outputs)e(t)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))}}function hn(e,t,n,r){let i=r-n,a=e-n;return i===0?0:t===1?a/i:(t**+a-1)/(t**+i-1)}let gn={color:W.interpolate,number:jt,padding:Lt.interpolate,numberArray:Rt.interpolate,colorArray:zt.interpolate,variableAnchorOffsetCollection:Ht.interpolate,array:Mt};class _n{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error(`Expected at least one argument.`);let n=null,r=t.expectedType;r&&r.kind!==`value`&&(n=r);let i=[];for(let r of e.slice(1)){let e=t.parse(r,1+i.length,n,void 0,{typeAnnotation:`omit`});if(!e)return null;n||=e.type,i.push(e)}if(!n)throw Error(`No output type`);return new _n(r&&i.some((e=>st(r,e.type)))?H:n,i)}evaluate(e){let t,n=null,r=0;for(let i of this.args)if(r++,n=i.evaluate(e),n&&n instanceof Ut&&!n.available&&(t||=n.name,n=null,r===this.args.length&&(n=t)),n!==null)break;return n}
12eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every((e=>e.outputDefined()))}}function vn(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 yn(e,t,n,r){return r.compare(t,n)===0}function bn(e,t,n){let r=e!==`==`&&e!==`!=`;return class i{constructor(e,t,n){this.type=V,this.lhs=e,this.rhs=t,this.collator=n,this.hasUntypedArgument=e.type.kind===`value`||t.type.kind===`value`}static parse(e,t){if(e.length!==3&&e.length!==4)return t.error(`Expected two or three arguments.`);let n=e[0],a=t.parse(e[1],1,H);if(!a)return null;if(!vn(n,a.type))return t.concat(1).error(`"${n}" comparisons are not supported for type '${at(a.type)}'.`);let o=t.parse(e[2],2,H);if(!o)return null;if(!vn(n,o.type))return t.concat(2).error(`"${n}" comparisons are not supported for type '${at(o.type)}'.`);if(a.type.kind!==o.type.kind&&a.type.kind!==`value`&&o.type.kind!==`value`)return t.error(`Cannot compare types '${at(a.type)}' and '${at(o.type)}'.`);r&&(a.type.kind===`value`&&o.type.kind!==`value`?a=new qt(o.type,[a]):a.type.kind!==`value`&&o.type.kind===`value`&&(o=new qt(a.type,[o])));let s=null;if(e.length===4){if(a.type.kind!==`string`&&o.type.kind!==`string`&&a.type.kind!==`value`&&o.type.kind!==`value`)return t.error(`Cannot use collator to compare non-string types.`);if(s=t.parse(e[3],3,Ze),!s)return null}return new i(a,o,s)}evaluate(i){let a=this.lhs.evaluate(i),o=this.rhs.evaluate(i);if(r&&this.hasUntypedArgument){let t=q(a),n=q(o);if(t.kind!==n.kind||t.kind!==`string`&&t.kind!==`number`)throw new Bt(`Expected arguments for "${e}" to be (string, string) or (number, number), but found (${t.kind}, ${n.kind}) instead.`)}if(this.collator&&!r&&this.hasUntypedArgument){let e=q(a),n=q(o);if(e.kind!==`string`||n.kind!==`string`)return t(i,a,o)}return this.collator?n(i,a,o,this.collator.evaluate(i)):t(i,a,o)}eachChild(e){e(this.lhs),e(this.rhs),this.collator&&e(this.collator)}outputDefined(){return!0}}}let xn=bn(`==`,(function(e,t,n){return t===n}),yn),Sn=bn(`!=`,(function(e,t,n){return t!==n}),(function(e,t,n,r){return!yn(0,t,n,r)})),Cn=bn(`<`,(function(e,t,n){return t<n}),(function(e,t,n,r){return r.compare(t,n)<0})),wn=bn(`>`,(function(e,t,n){return t>n}),(function(e,t,n,r){return r.compare(t,n)>0})),Tn=bn(`<=`,(function(e,t,n){return t<=n}),(function(e,t,n,r){return r.compare(t,n)<=0})),En=bn(`>=`,(function(e,t,n){return t>=n}),(function(e,t,n,r){return r.compare(t,n)>=0}));class Dn{constructor(e,t,n){this.type=Ze,this.locale=n,this.caseSensitive=e,this.diacriticSensitive=t}static parse(e,t){if(e.length!==2)return t.error(`Expected one argument.`);let n=e[1];if(typeof n!=`object`||Array.isArray(n))return t.error(`Collator options argument must be an object.`);let r=t.parse(n[`case-sensitive`]!==void 0&&n[`case-sensitive`],1,V);if(!r)return null;let i=t.parse(n[`diacritic-sensitive`]!==void 0&&n[`diacritic-sensitive`],1,V);if(!i)return null;let a=null;return n.locale&&(a=t.parse(n.locale,1,B),!a)?null:new Dn(r,i,a)}evaluate(e){return new Nt(this.caseSensitive.evaluate(e),this.diacriticSensitive.evaluate(e),this.locale?this.locale.evaluate(e):null)}eachChild(e){e(this.caseSensitive),e(this.diacriticSensitive),this.locale&&e(this.locale)}outputDefined(){return!1}}class On{constructor(e,t,n,r,i){this.type=B,this.number=e,this.locale=t,this.currency=n,this.minFractionDigits=r,this.maxFractionDigits=i}static parse(e,t){if(e.length!==3)return t.error(`Expected two arguments.`);let n=t.parse(e[1],1,z);if(!n)return null;let r=e[2];if(typeof r!=`object`||Array.isArray(r))return t.error(`NumberFormat options argument must be an object.`);let i=null;if(r.locale&&(i=t.parse(r.locale,1,B),!i))return null;let a=null;if(r.currency&&(a=t.parse(r.currency,1,B),!a))return null;let o=null;if(r[`min-fraction-digits`]&&(o=t.parse(r[`min-fraction-digits`],1,z),!o))return null;let s=null;return r[`max-fraction-digits`]&&(s=t.parse(r[`max-fraction-digits`],1,z),!s)?null:new On(n,i,a,o,s)}evaluate(e){return new Intl.NumberFormat(this.locale?this.locale.evaluate(e):[],{style:this.currency?`currency`:`decimal`,currency:this.currency?this.currency.evaluate(e):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(e):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(e):void 0}).format(this.number.evaluate(e))}eachChild(e){e(this.number),this.locale&&e(this.locale),this.currency&&e(this.currency),this.minFractionDigits&&e(this.minFractionDigits),this.maxFractionDigits&&e(this.maxFractionDigits)}outputDefined(){return!1}}class kn{constructor(e){this.type=Qe,this.sections=e}static parse(e,t){if(e.length<2)return t.error(`Expected at least one argument.`);let n=e[1];if(!Array.isArray(n)&&typeof n==`object`)return t.error(`First argument must be an image or text section.`);let r=[],i=!1;for(let n=1;n<=e.length-1;++n){let a=e[n];if(i&&typeof a==`object`&&!Array.isArray(a)){i=!1;let e=null;if(a[`font-scale`]&&(e=t.parse(a[`font-scale`],1,z),!e))return null;let n=null;if(a[`text-font`]&&(n=t.parse(a[`text-font`],1,it(B)),!n))return null;let o=null;if(a[`text-color`]&&(o=t.parse(a[`text-color`],1,Je),!o))return null;let s=null;if(a[`vertical-align`]){if(typeof a[`vertical-align`]==`string`&&!Pt.includes(a[`vertical-align`]))return t.error(`'vertical-align' must be one of: 'bottom', 'center', 'top' but found '${a[`vertical-align`]}' instead.`);
12if(s=t.parse(a[`vertical-align`],1,B),!s)return null}let c=r[r.length-1];c.scale=e,c.font=n,c.textColor=o,c.verticalAlign=s}else{let a=t.parse(e[n],1,H);if(!a)return null;let o=a.type.kind;if(o!==`string`&&o!==`value`&&o!==`null`&&o!==`resolvedImage`)return t.error(`Formatted text type must be 'string', 'value', 'image' or 'null'.`);i=!0,r.push({content:a,scale:null,font:null,textColor:null,verticalAlign:null})}}return new kn(r)}evaluate(e){return new It(this.sections.map((t=>{let n=t.content.evaluate(e);return q(n)===nt?new Ft(``,n,null,null,null,t.verticalAlign?t.verticalAlign.evaluate(e):null):new Ft(Gt(n),null,t.scale?t.scale.evaluate(e):null,t.font?t.font.evaluate(e).join(`,`):null,t.textColor?t.textColor.evaluate(e):null,t.verticalAlign?t.verticalAlign.evaluate(e):null)})))}eachChild(e){for(let t of this.sections)e(t.content),t.scale&&e(t.scale),t.font&&e(t.font),t.textColor&&e(t.textColor),t.verticalAlign&&e(t.verticalAlign)}outputDefined(){return!1}}class An{constructor(e){this.type=nt,this.input=e}static parse(e,t){if(e.length!==2)return t.error(`Expected two arguments.`);let n=t.parse(e[1],1,B);return n?new An(n):t.error(`No image name provided.`)}evaluate(e){let t=this.input.evaluate(e),n=Ut.fromString(t);return n&&e.availableImages&&(n.available=e.availableImages.indexOf(t)>-1),n}eachChild(e){e(this.input)}outputDefined(){return!1}}class jn{constructor(e){this.type=z,this.input=e}static parse(e,t){if(e.length!==2)return t.error(`Expected 1 argument, but found ${e.length-1} instead.`);let n=t.parse(e[1],1);return n?n.type.kind!==`array`&&n.type.kind!==`string`&&n.type.kind!==`value`?t.error(`Expected argument of type string or array, but found ${at(n.type)} instead.`):new jn(n):null}evaluate(e){let t=this.input.evaluate(e);if(typeof t==`string`)return[...t].length;if(Array.isArray(t))return t.length;throw new Bt(`Expected value to be of type string or array, but found ${at(q(t))} instead.`)}eachChild(e){e(this.input)}outputDefined(){return!1}}let Mn=8192;function Nn(e,t){let n=(180+e[0])/360,r=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e[1]*Math.PI/360)))/360,i=2**t.z;return[Math.round(n*i*Mn),Math.round(r*i*Mn)]}function Pn(e,t){let n=2**t.z;return[(i=(e[0]/Mn+t.x)/n,360*i-180),(r=(e[1]/Mn+t.y)/n,360/Math.PI*Math.atan(Math.exp((180-360*r)*Math.PI/180))-90)];var r,i}function Fn(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 In(e,t){return!(e[0]<=t[0]||e[2]>=t[2]||e[1]<=t[1]||e[3]>=t[3])}function Ln(e,t,n){let r=e[0]-t[0],i=e[1]-t[1],a=e[0]-n[0],o=e[1]-n[1];return r*o-a*i==0&&r*a<=0&&i*o<=0}function Rn(e,t,n,r){return(i=[r[0]-n[0],r[1]-n[1]])[0]*(a=[t[0]-e[0],t[1]-e[1]])[1]-i[1]*a[0]!=0&&!(!Wn(e,t,n,r)||!Wn(n,r,e,t));var i,a}function zn(e,t,n){for(let r of n)for(let n=0;n<r.length-1;++n)if(Rn(e,t,r[n],r[n+1]))return!0;return!1}function Bn(e,t,n=!1){let r=!1;for(let s of t)for(let t=0;t<s.length-1;t++){if(Ln(e,s[t],s[t+1]))return n;(a=s[t])[1]>(i=e)[1]!=(o=s[t+1])[1]>i[1]&&i[0]<(o[0]-a[0])*(i[1]-a[1])/(o[1]-a[1])+a[0]&&(r=!r)}var i,a,o;return r}function Vn(e,t){for(let n of t)if(Bn(e,n))return!0;return!1}function Hn(e,t){for(let n of e)if(!Bn(n,t))return!1;for(let n=0;n<e.length-1;++n)if(zn(e[n],e[n+1],t))return!1;return!0}function Un(e,t){for(let n of t)if(Hn(e,n))return!0;return!1}function Wn(e,t,n,r){let i=r[0]-n[0],a=r[1]-n[1],o=(e[0]-n[0])*a-i*(e[1]-n[1]),s=(t[0]-n[0])*a-i*(t[1]-n[1]);return o>0&&s<0||o<0&&s>0}function Gn(e,t,n){let r=[];for(let i=0;i<e.length;i++){let a=[];for(let r=0;r<e[i].length;r++){let o=Nn(e[i][r],n);Fn(t,o),a.push(o)}r.push(a)}return r}function Kn(e,t,n){let r=[];for(let i=0;i<e.length;i++){let a=Gn(e[i],t,n);r.push(a)}return r}function qn(e,t,n,r){if(e[0]<n[0]||e[0]>n[2]){let t=.5*r,i=e[0]-n[0]>t?-r:n[0]-e[0]>t?r:0;i===0&&(i=e[0]-n[2]>t?-r:n[2]-e[0]>t?r:0),e[0]+=i}Fn(t,e)}function Jn(e,t,n,r){let i=2**r.z*Mn,a=[r.x*Mn,r.y*Mn],o=[];for(let r of e)for(let e of r){let r=[e.x+a[0],e.y+a[1]];qn(r,t,n,i),o.push(r)}return o}function Yn(e,t,n,r){let i=2**r.z*Mn,a=[r.x*Mn,r.y*Mn],o=[];for(let n of e){let e=[];for(let r of n){let n=[r.x+a[0],r.y+a[1]];Fn(t,n),e.push(n)}o.push(e)}if(t[2]-t[0]<=i/2){(s=t)[0]=s[1]=1/0,s[2]=s[3]=-1/0;for(let e of o)for(let r of e)qn(r,t,n,i)}var s;return o}class Xn{constructor(e,t){this.type=V,this.geojson=e,this.geometries=t}static parse(e,t){if(e.length!==2)return t.error(`'within' expression requires exactly one argument, but found ${e.length-1} instead.`);if(K(e[1])){let t=e[1];if(t.type===`FeatureCollection`){let e=[];for(let n of t.features){let{type:t,coordinates:r}=n.geometry;t===`Polygon`&&e.push(r),t===`MultiPolygon`&&e.push(...r)}if(e.length)return new Xn(t,{type:`MultiPolygon`,coordinates:e})}else if(t.type===`Feature`){let e=t.geometry.type;if(e===`Polygon`||e===`MultiPolygon`)return new Xn(t,t.geometry)}else if(t.type===`Polygon`||t.type===`MultiPolygon`)return new Xn(t,t)}return t.error(`'within' expression requires valid geojson object that contains polygon geometry type.`)}evaluate(e){if(e.geometry()!=null&&e.canonicalID()!=null){if(e.geometryType()===`Point`)return function(e,t){let n=[1/0,1/0,-1/0,-1/0],r=[1/0,1/0,-1/0,-1/0],i=e.canonicalID();if(t.type===`Polygon`){let a=Gn(t.coordinates,r,i),o=Jn(e.geometry(),n,r,i);if(!In(n,r))return!1;for(let e of o)if(!Bn(e,a))return!1}if(t.type===`MultiPolygon`){let a=Kn(t.coordinates,r,i),o=Jn(e.geometry(),n,r,i);if(!In(n,r))return!1;for(let e of o)if(!Vn(e,a))return!1}return!0}(e,this.geometries);if(e.geometryType()===`LineString`)return function(e,t){let n=[1/0,1/0,-1/0,-1/0],r=[1/0,1/0,-1/0,-1/0],i=e.canonicalID();if(t.type===`Polygon`){let a=Gn(t.coordinates,r,i),o=Yn(e.geometry(),n,r,i);if(!In(n,r))return!1;for(let e of o)if(!Hn(e,a))return!1}if(t.type===`MultiPolygon`){let a=Kn(t.coordinates,r,i),o=Yn(e.geometry(),n,r,i);if(!In(n,r))return!1;for(let e of o)if(!Un(e,a))return!1}return!0}(e,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let Zn=class{constructor(e=[],t=((e,t)=>e<t?-1:+(e>t))){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let e=(this.length>>1)-1;e>=0;e--)this._down(e)}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:n}=this,r=t[e];for(;e>0;){let i=e-1>>1,a=t[i];if(n(r,a)>=0)break;t[e]=a,e=i}t[e]=r}_down(e){let{data:t,compare:n}=this,r=this.length>>1,i=t[e];for(;e<r;){let r=1+(e<<1),a=r+1;if(a<this.length&&n(t[a],t[r])<0&&(r=a),n(t[r],i)>=0)break;t[e]=t[r],e=r}t[e]=i}};function Qn(e,t,n=0,r=e.length-1,i=er){for(;r>n;){if(r-n>600){let a=r-n+1,o=t-n+1,s=Math.log(a),c=.5*Math.exp(2*s/3),l=.5*Math.sqrt(s*c*(a-c)/
vendor: 6,644 bytes, line 12
12a)*(o-a/2<0?-1:1);Qn(e,t,Math.max(n,Math.floor(t-o*c/a+l)),Math.min(r,Math.floor(t+(a-o)*c/a+l)),i)}let a=e[t],o=n,s=r;for($n(e,n,t),i(e[r],a)>0&&$n(e,n,r);o<s;){for($n(e,o,s),o++,s--;i(e[o],a)<0;)o++;for(;i(e[s],a)>0;)s--}i(e[n],a)===0?$n(e,n,s):(s++,$n(e,s,r)),s<=t&&(n=s+1),t<=s&&(r=s-1)}}function $n(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function er(e,t){return e<t?-1:+(e>t)}function tr(e,t){if(e.length<=1)return[e];let n=[],r,i;for(let t of e){let e=rr(t);e!==0&&(t.area=Math.abs(e),i===void 0&&(i=e<0),i===e<0?(r&&n.push(r),r=[t]):r.push(t))}if(r&&n.push(r),t>1)for(let e=0;e<n.length;e++)n[e].length<=t||(Qn(n[e],t,1,n[e].length-1,nr),n[e]=n[e].slice(0,t));return n}function nr(e,t){return t.area-e.area}function rr(e){let t=0;for(let n,r,i=0,a=e.length,o=a-1;i<a;o=i++)n=e[i],r=e[o],t+=(r.x-n.x)*(n.y+r.y);return t}let ir=1/298.257223563,ar=ir*(2-ir),or=Math.PI/180;class sr{constructor(e){let t=6378.137*or*1e3,n=Math.cos(e*or),r=1/(1-ar*(1-n*n)),i=Math.sqrt(r);this.kx=t*i*n,this.ky=t*i*r*(1-ar)}distance(e,t){let n=this.wrap(e[0]-t[0])*this.kx,r=(e[1]-t[1])*this.ky;return Math.sqrt(n*n+r*r)}pointOnLine(e,t){let n,r,i,a,o=1/0;for(let s=0;s<e.length-1;s++){let c=e[s][0],l=e[s][1],u=this.wrap(e[s+1][0]-c)*this.kx,d=(e[s+1][1]-l)*this.ky,f=0;u===0&&d===0||(f=(this.wrap(t[0]-c)*this.kx*u+(t[1]-l)*this.ky*d)/(u*u+d*d),f>1?(c=e[s+1][0],l=e[s+1][1]):f>0&&(c+=u/this.kx*f,l+=d/this.ky*f)),u=this.wrap(t[0]-c)*this.kx,d=(t[1]-l)*this.ky;let p=u*u+d*d;p<o&&(o=p,n=c,r=l,i=s,a=f)}return{point:[n,r],index:i,t:Math.max(0,Math.min(1,a))}}wrap(e){for(;e<-180;)e+=360;for(;e>180;)e-=360;return e}}function cr(e,t){return t[0]-e[0]}function lr(e){return e[1]-e[0]+1}function ur(e,t){return e[1]>=e[0]&&e[1]<t}function dr(e,t){if(e[0]>e[1])return[null,null];let n=lr(e);if(t){if(n===2)return[e,null];let t=Math.floor(n/2);return[[e[0],e[0]+t],[e[0]+t,e[1]]]}if(n===1)return[e,null];let r=Math.floor(n/2)-1;return[[e[0],e[0]+r],[e[0]+r+1,e[1]]]}function fr(e,t){if(!ur(t,e.length))return[1/0,1/0,-1/0,-1/0];let n=[1/0,1/0,-1/0,-1/0];for(let r=t[0];r<=t[1];++r)Fn(n,e[r]);return n}function pr(e){let t=[1/0,1/0,-1/0,-1/0];for(let n of e)for(let e of n)Fn(t,e);return t}function mr(e){return e[0]!==-1/0&&e[1]!==-1/0&&e[2]!==1/0&&e[3]!==1/0}function hr(e,t,n){if(!mr(e)||!mr(t))return NaN;let r=0,i=0;return e[2]<t[0]&&(r=t[0]-e[2]),e[0]>t[2]&&(r=e[0]-t[2]),e[1]>t[3]&&(i=e[1]-t[3]),e[3]<t[1]&&(i=t[1]-e[3]),n.distance([0,0],[r,i])}function gr(e,t,n){let r=n.pointOnLine(t,e);return n.distance(e,r.point)}function _r(e,t,n,r,i){let a=Math.min(gr(e,[n,r],i),gr(t,[n,r],i)),o=Math.min(gr(n,[e,t],i),gr(r,[e,t],i));return Math.min(a,o)}function vr(e,t,n,r,i){if(!ur(t,e.length)||!ur(r,n.length))return 1/0;let a=1/0;for(let o=t[0];o<t[1];++o){let t=e[o],s=e[o+1];for(let e=r[0];e<r[1];++e){let r=n[e],o=n[e+1];if(Rn(t,s,r,o))return 0;a=Math.min(a,_r(t,s,r,o,i))}}return a}function yr(e,t,n,r,i){if(!ur(t,e.length)||!ur(r,n.length))return NaN;let a=1/0;for(let o=t[0];o<=t[1];++o)for(let t=r[0];t<=r[1];++t)if(a=Math.min(a,i.distance(e[o],n[t])),a===0)return a;return a}function br(e,t,n){if(Bn(e,t,!0))return 0;let r=1/0;for(let i of t){let t=i[0],a=i[i.length-1];if(t!==a&&(r=Math.min(r,gr(e,[a,t],n)),r===0))return r;let o=n.pointOnLine(i,e);if(r=Math.min(r,n.distance(e,o.point)),r===0)return r}return r}function xr(e,t,n,r){if(!ur(t,e.length))return NaN;for(let r=t[0];r<=t[1];++r)if(Bn(e[r],n,!0))return 0;let i=1/0;for(let a=t[0];a<t[1];++a){let t=e[a],o=e[a+1];for(let e of n)for(let n=0,a=e.length,s=a-1;n<a;s=n++){let a=e[s],c=e[n];if(Rn(t,o,a,c))return 0;i=Math.min(i,_r(t,o,a,c,r))}}return i}function Sr(e,t){for(let n of e)for(let e of n)if(Bn(e,t,!0))return!0;return!1}function Cr(e,t,n,r=1/0){let i=pr(e),a=pr(t);if(r!==1/0&&hr(i,a,n)>=r)return r;if(In(i,a)){if(Sr(e,t))return 0}else if(Sr(t,e))return 0;let o=1/0;for(let r of e)for(let e=0,i=r.length,a=i-1;e<i;a=e++){let i=r[a],s=r[e];for(let e of t)for(let t=0,r=e.length,a=r-1;t<r;a=t++){let r=e[a],c=e[t];if(Rn(i,s,r,c))return 0;o=Math.min(o,_r(i,s,r,c,n))}}return o}function wr(e,t,n,r,i,a){if(!a)return;let o=hr(fr(r,a),i,n);o<t&&e.push([o,a,[0,0]])}function Tr(e,t,n,r,i,a,o){if(!a||!o)return;let s=hr(fr(r,a),fr(i,o),n);s<t&&e.push([s,a,o])}function Er(e,t,n,r,i=1/0){let a=Math.min(r.distance(e[0],n[0][0]),i);if(a===0)return a;let o=new Zn([[0,[0,e.length-1],[0,0]]],cr),s=pr(n);for(;o.length>0;){let i=o.pop();if(i[0]>=a)continue;let c=i[1],l=t?50:100;if(lr(c)<=l){if(!ur(c,e.length))return NaN;if(t){let t=xr(e,c,n,r);if(isNaN(t)||t===0)return t;a=Math.min(a,t)}else for(let t=c[0];t<=c[1];++t){let i=br(e[t],n,r);if(a=Math.min(a,i),a===0)return 0}}else{let n=dr(c,t);wr(o,a,r,e,s,n[0]),wr(o,a,r,e,s,n[1])}}return a}function Dr(e,t,n,r,i,a=1/0){let o=Math.min(a,i.distance(e[0],n[0]));if(o===0)return o;let s=new Zn([[0,[0,e.length-1],[0,n.length-1]]],cr);for(;s.length>0;){let a=s.pop();if(a[0]>=o)continue;let c=a[1],l=a[2],u=t?50:100,d=r?50:100;if(lr(c)<=u&&lr(l)<=d){if(!ur(c,e.length)&&ur(l,n.length))return NaN;let a;if(t&&r)a=vr(e,c,n,l,i),o=Math.min(o,a);else if(t&&!r){let t=e.slice(c[0],c[1]+1);for(let e=l[0];e<=l[1];++e)if(a=gr(n[e],t,i),o=Math.min(o,a),o===0)return o}else if(!t&&r){let t=n.slice(l[0],l[1]+1);for(let n=c[0];n<=c[1];++n)if(a=gr(e[n],t,i),o=Math.min(o,a),o===0)return o}else a=yr(e,c,n,l,i),o=Math.min(o,a)}else{let a=dr(c,t),u=dr(l,r);Tr(s,o,i,e,n,a[0],u[0]),Tr(s,o,i,e,n,a[0],u[1]),Tr(s,o,i,e,n,a[1],u[0]),Tr(s,o,i,e,n,a[1],u[1])}}return o}function Or(e){return e.type===`MultiPolygon`?e.coordinates.map((e=>({type:`Polygon`,coordinates:e}))):e.type===`MultiLineString`?e.coordinates.map((e=>({type:`LineString`,coordinates:e}))):e.type===`MultiPoint`?e.coordinates.map((e=>({type:`Point`,coordinates:e}))):[e]}class kr{constructor(e,t){this.type=z,this.geojson=e,this.geometries=t}static parse(e,t){if(e.length!==2)return t.error(`'distance' expression requires exactly one argument, but found ${e.length-1} instead.`);if(K(e[1])){let t=e[1];if(t.type===`FeatureCollection`)return new kr(t,t.features.map((e=>Or(e.geometry))).flat());if(t.type===`Feature`)return new kr(t,Or(t.geometry));if(`type`in t&&`coordinates`in t)return new kr(t,Or(t))}return t.error(`'distance' expression requires valid geojson object that contains polygon geometry type.`)}evaluate(e){if(e.geometry()!=null&&e.canonicalID()!=null){if(e.geometryType()===`Point`)return function(e,t){let n=e.geometry(),r=n.flat().map((t=>Pn([t.x,t.y],e.canonical)));if(n.length===0)return NaN;let i=new sr(r[0][1]),a=1/0;for(let e of t){switch(e.type){case`Point`:a=Math.min(a,Dr(r,!1,[e.coordinates],!1,i,a));break;case`LineString`:a=Math.min(a,Dr(r,!1,e.coordinates,!0,i,a));break;
12case`Polygon`:a=Math.min(a,Er(r,!1,e.coordinates,i,a))}if(a===0)return a}return a}(e,this.geometries);if(e.geometryType()===`LineString`)return function(e,t){let n=e.geometry(),r=n.flat().map((t=>Pn([t.x,t.y],e.canonical)));if(n.length===0)return NaN;let i=new sr(r[0][1]),a=1/0;for(let e of t){switch(e.type){case`Point`:a=Math.min(a,Dr(r,!0,[e.coordinates],!1,i,a));break;case`LineString`:a=Math.min(a,Dr(r,!0,e.coordinates,!0,i,a));break;case`Polygon`:a=Math.min(a,Er(r,!0,e.coordinates,i,a))}if(a===0)return a}return a}(e,this.geometries);if(e.geometryType()===`Polygon`)return function(e,t){let n=e.geometry();if(n.length===0||n[0].length===0)return NaN;let r=tr(n,0).map((t=>t.map((t=>t.map((t=>Pn([t.x,t.y],e.canonical))))))),i=new sr(r[0][0][0][1]),a=1/0;for(let e of t)for(let t of r){switch(e.type){case`Point`:a=Math.min(a,Er([e.coordinates],!1,t,i,a));break;case`LineString`:a=Math.min(a,Er(e.coordinates,!0,t,i,a));break;case`Polygon`:a=Math.min(a,Cr(t,e.coordinates,i,a))}if(a===0)return a}return a}(e,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}class Ar{constructor(e){this.type=H,this.key=e}static parse(e,t){if(e.length!==2)return t.error(`Expected 1 argument, but found ${e.length-1} instead.`);let n=e[1];return n==null?t.error(`Global state property must be defined.`):typeof n==`string`?new Ar(n):t.error(`Global state property must be string, but found ${typeof e[1]} instead.`)}evaluate(e){let t=e.globals?.globalState;return t&&Object.keys(t).length!==0?Et(t,this.key):null}eachChild(){}outputDefined(){return!1}}let jr={"==":xn,"!=":Sn,">":wn,"<":Cn,">=":En,"<=":Tn,array:qt,at:tn,boolean:qt,case:on,coalesce:_n,collator:Dn,format:kn,image:An,in:nn,"index-of":rn,interpolate:mn,"interpolate-hcl":mn,"interpolate-lab":mn,length:jn,let:$t,literal:J,match:an,number:qt,"number-format":On,object:qt,slice:sn,step:ln,string:qt,"to-boolean":Yt,"to-color":Yt,"to-number":Yt,"to-string":Yt,var:en,within:Xn,distance:kr,"global-state":Ar};class Mr{constructor(e,t,n,r){this.name=e,this.type=t,this._evaluate=n,this.args=r}evaluate(e){return this._evaluate(e,this.args)}eachChild(e){this.args.forEach(e)}outputDefined(){return!1}static parse(e,t){let n=e[0],r=Mr.definitions[n];if(!r)return t.error(`Unknown expression "${n}". If you wanted a literal array, use ["literal", [...]].`,0);let i=Array.isArray(r)?r[0]:r.type,a=Array.isArray(r)?[[r[1],r[2]]]:r.overloads,o=a.filter((([t])=>!Array.isArray(t)||t.length===e.length-1)),s=null;for(let[r,a]of o){s=new Qt(t.registry,Lr,t.path,null,t.scope);let o=[],c=!1;for(let t=1;t<e.length;t++){let n=e[t],i=Array.isArray(r)?r[t-1]:r.type,a=s.parse(n,1+o.length,i);if(!a){c=!0;break}o.push(a)}if(!c)if(Array.isArray(r)&&r.length!==o.length)s.error(`Expected ${r.length} arguments, but found ${o.length} instead.`);else{for(let e=0;e<o.length;e++){let t=Array.isArray(r)?r[e]:r.type,n=o[e];s.concat(e+1).checkSubtype(t,n.type)}if(s.errors.length===0)return new Mr(n,i,a,o)}}if(o.length===1)t.errors.push(...s.errors);else{let n=(o.length?o:a).map((([e])=>{return t=e,Array.isArray(t)?`(${t.map(at).join(`, `)})`:`(${at(t.type)}...)`;var t})).join(` | `),r=[];for(let n=1;n<e.length;n++){let i=t.parse(e[n],1+r.length);if(!i)return null;r.push(at(i.type))}t.error(`Expected arguments of type ${n}, but found (${r.join(`, `)}) instead.`)}return null}static register(e,t){Mr.definitions=t;for(let n in t)e[n]=Mr}}function Nr(e,[t,n,r,i]){t=t.evaluate(e),n=n.evaluate(e),r=r.evaluate(e);let a=i?i.evaluate(e):1,o=Wt(t,n,r,a);if(o)throw new Bt(o);return new W(t/255,n/255,r/255,a,!1)}function Pr(e,t){return e in t}function Fr(e,t){let n=t[e];return n===void 0?null:n}function Ir(e){return{type:e}}function Lr(e){if(e instanceof en)return Lr(e.boundExpression);if(e instanceof Mr&&e.name===`error`||e instanceof Dn||e instanceof Xn||e instanceof kr||e instanceof Ar)return!1;let t=e instanceof Yt||e instanceof qt,n=!0;return e.eachChild((e=>{n=t?n&&Lr(e):n&&e instanceof J})),!!n&&Rr(e)&&Br(e,[`zoom`,`heatmap-density`,`line-progress`,`accumulated`,`is-supported-script`])}function Rr(e){if(e instanceof Mr&&(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 Xn||e instanceof kr)return!1;let t=!0;return e.eachChild((e=>{t&&!Rr(e)&&(t=!1)})),t}function zr(e){if(e instanceof Mr&&e.name===`feature-state`)return!1;let t=!0;return e.eachChild((e=>{t&&!zr(e)&&(t=!1)})),t}function Br(e,t){if(e instanceof Mr&&t.indexOf(e.name)>=0)return!1;let n=!0;return e.eachChild((e=>{n&&!Br(e,t)&&(n=!1)})),n}function Vr(e){return{result:`success`,value:e}}function Hr(e){return{result:`error`,value:e}}function Ur(e){return e[`property-type`]===`data-driven`||e[`property-type`]===`cross-faded-data-driven`}function Wr(e){return!!e.expression&&e.expression.parameters.indexOf(`zoom`)>-1}function Gr(e){return!!e.expression&&e.expression.interpolated}function Y(e){return e instanceof Number?`number`:e instanceof String?`string`:e instanceof Boolean?`boolean`:Array.isArray(e)?`array`:e===null?`null`:typeof e}function Kr(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&q(e)===Xe}function qr(e){return e}function Jr(e,t){let n=e.stops&&typeof e.stops[0][0]==`object`,r=n||!(n||e.property!==void 0),i=e.type||(Gr(t)?`exponential`:`interval`),a=function(e){switch(e.type){case`color`:return W.parse;case`padding`:return Lt.parse;case`numberArray`:return Rt.parse;case`colorArray`:return zt.parse;default:return null}}(t);
12if(a&&((e=We({},e)).stops&&(e.stops=e.stops.map((e=>[e[0],a(e[1])]))),e.default=a(e.default?e.default:t.default)),e.colorSpace&&(o=e.colorSpace)!==`rgb`&&o!==`hcl`&&o!==`lab`)throw Error(`Unknown color space: "${e.colorSpace}"`);var o;let s=function(e){switch(e){case`exponential`:return Qr;case`interval`:return Zr;case`categorical`:return Xr;case`identity`:return $r;default:throw Error(`Unknown function type "${e}"`)}}(i),c,l;if(i===`categorical`){c=Object.create(null);for(let t of e.stops)c[t[0]]=t[1];l=typeof e.stops[0][0]}if(n){let n={},r=[];for(let t=0;t<e.stops.length;t++){let i=e.stops[t],a=i[0].zoom;n[a]===void 0&&(n[a]={zoom:a,type:e.type,property:e.property,default:e.default,stops:[]},r.push(a)),n[a].stops.push([i[0].value,i[1]])}let i=[];for(let e of r)i.push([n[e].zoom,Jr(n[e],t)]);let a={name:`linear`};return{kind:`composite`,interpolationType:a,interpolationFactor:mn.interpolationFactor.bind(void 0,a),zoomStops:i.map((e=>e[0])),evaluate:({zoom:n},r)=>Qr({stops:i,base:e.base},t,n).evaluate(n,r)}}if(r){let n=i===`exponential`?{name:`exponential`,base:e.base===void 0?1:e.base}:null;return{kind:`camera`,interpolationType:n,interpolationFactor:mn.interpolationFactor.bind(void 0,n),zoomStops:e.stops.map((e=>e[0])),evaluate:({zoom:n})=>s(e,t,n,c,l)}}return{kind:`source`,evaluate(n,r){let i=r&&r.properties?r.properties[e.property]:void 0;return i===void 0?Yr(e.default,t.default):s(e,t,i,c,l)}}}function Yr(e,t,n){return e===void 0?t===void 0?n===void 0?void 0:n:t:e}function Xr(e,t,n,r,i){return Yr(typeof n===i?r[n]:void 0,e.default,t.default)}function Zr(e,t,n){if(Y(n)!==`number`)return Yr(e.default,t.default);let r=e.stops.length;if(r===1||n<=e.stops[0][0])return e.stops[0][1];if(n>=e.stops[r-1][0])return e.stops[r-1][1];let i=cn(e.stops.map((e=>e[0])),n);return e.stops[i][1]}function Qr(e,t,n){let r=e.base===void 0?1:e.base;if(Y(n)!==`number`)return Yr(e.default,t.default);let i=e.stops.length;if(i===1||n<=e.stops[0][0])return e.stops[0][1];if(n>=e.stops[i-1][0])return e.stops[i-1][1];let a=cn(e.stops.map((e=>e[0])),n),o=function(e,t,n,r){let i=r-n,a=e-n;return i===0?0:t===1?a/i:(t**+a-1)/(t**+i-1)}(n,r,e.stops[a][0],e.stops[a+1][0]),s=e.stops[a][1],c=e.stops[a+1][1],l=gn[t.type]||qr;return typeof s.evaluate==`function`?{evaluate(...t){let n=s.evaluate.apply(void 0,t),r=c.evaluate.apply(void 0,t);if(n!==void 0&&r!==void 0)return l(n,r,o,e.colorSpace)}}:l(s,c,o,e.colorSpace)}function $r(e,t,n){switch(t.type){case`color`:n=W.parse(n);break;case`formatted`:n=It.fromString(n.toString());break;case`resolvedImage`:n=Ut.fromString(n.toString());break;case`padding`:n=Lt.parse(n);break;case`colorArray`:n=zt.parse(n);break;case`numberArray`:n=Rt.parse(n);break;default:Y(n)===t.type||t.type===`enum`&&t.values[n]||(n=void 0)}return Yr(n,e.default,t.default)}Mr.register(jr,{error:[{kind:`error`},[B],(e,[t])=>{throw new Bt(t.evaluate(e))}],typeof:[B,[H],(e,[t])=>at(q(t.evaluate(e)))],"to-rgba":[it(z,4),[Je],(e,[t])=>{let[n,r,i,a]=t.evaluate(e).rgb;return[255*n,255*r,255*i,a]}],rgb:[Je,[z,z,z],Nr],rgba:[Je,[z,z,z,z],Nr],has:{type:V,overloads:[[[B],(e,[t])=>Pr(t.evaluate(e),e.properties())],[[B,Xe],(e,[t,n])=>Pr(t.evaluate(e),n.evaluate(e))]]},get:{type:H,overloads:[[[B],(e,[t])=>Fr(t.evaluate(e),e.properties())],[[B,Xe],(e,[t,n])=>Fr(t.evaluate(e),n.evaluate(e))]]},"feature-state":[H,[B],(e,[t])=>Fr(t.evaluate(e),e.featureState||{})],properties:[Xe,[],e=>e.properties()],"geometry-type":[B,[],e=>e.geometryType()],id:[H,[],e=>e.id()],zoom:[z,[],e=>e.globals.zoom],"heatmap-density":[z,[],e=>e.globals.heatmapDensity||0],"line-progress":[z,[],e=>e.globals.lineProgress||0],accumulated:[H,[],e=>e.globals.accumulated===void 0?null:e.globals.accumulated],"+":[z,Ir(z),(e,t)=>{let n=0;for(let r of t)n+=r.evaluate(e);return n}],"*":[z,Ir(z),(e,t)=>{let n=1;for(let r of t)n*=r.evaluate(e);return n}],"-":{type:z,overloads:[[[z,z],(e,[t,n])=>t.evaluate(e)-n.evaluate(e)],[[z],(e,[t])=>-t.evaluate(e)]]},"/":[z,[z,z],(e,[t,n])=>t.evaluate(e)/n.evaluate(e)],"%":[z,[z,z],(e,[t,n])=>t.evaluate(e)%n.evaluate(e)],ln2:[z,[],()=>Math.LN2],pi:[z,[],()=>Math.PI],e:[z,[],()=>Math.E],"^":[z,[z,z],(e,[t,n])=>t.evaluate(e)**+n.evaluate(e)],sqrt:[z,[z],(e,[t])=>Math.sqrt(t.evaluate(e))],log10:[z,[z],(e,[t])=>Math.log(t.evaluate(e))/Math.LN10],ln:[z,[z],(e,[t])=>Math.log(t.evaluate(e))],log2:[z,[z],(e,[t])=>Math.log(t.evaluate(e))/Math.LN2],sin:[z,[z],(e,[t])=>Math.sin(t.evaluate(e))],cos:[z,[z],(e,[t])=>Math.cos(t.evaluate(e))],tan:[z,[z],(e,[t])=>Math.tan(t.evaluate(e))],asin:[z,[z],(e,[t])=>Math.asin(t.evaluate(e))],acos:[z,[z],(e,[t])=>Math.acos(t.evaluate(e))],atan:[z,[z],(e,[t])=>Math.atan(t.evaluate(e))],min:[z,Ir(z),(e,t)=>Math.min(...t.map((t=>t.evaluate(e))))],max:[z,Ir(z),(e,t)=>Math.max(...t.map((t=>t.evaluate(e))))],abs:[z,[z],(e,[t])=>Math.abs(t.evaluate(e))],round:[z,[z],(e,[t])=>{let n=t.evaluate(e);return n<0?-Math.round(-n):Math.round(n)}],floor:[z,[z],(e,[t])=>Math.floor(t.evaluate(e))],ceil:[z,[z],(e,[t])=>Math.ceil(t.evaluate(e))],"filter-==":[V,[B,H],(e,[t,n])=>e.properties()[t.value]===n.value],"filter-id-==":[V,[H],(e,[t])=>e.id()===t.value],"filter-type-==":[V,[B],(e,[t])=>e.geometryType()===t.value],"filter-<":[V,[B,H],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r<i}],"filter-id-<":[V,[H],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n<r}],"filter->":[V,[B,H],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r>i}],"filter-id->":[V,[H],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n>r}
12],"filter-<=":[V,[B,H],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r<=i}],"filter-id-<=":[V,[H],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n<=r}],"filter->=":[V,[B,H],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r>=i}],"filter-id->=":[V,[H],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n>=r}],"filter-has":[V,[H],(e,[t])=>t.value in e.properties()],"filter-has-id":[V,[],e=>e.id()!==null&&e.id()!==void 0],"filter-type-in":[V,[it(B)],(e,[t])=>t.value.indexOf(e.geometryType())>=0],"filter-id-in":[V,[it(H)],(e,[t])=>t.value.indexOf(e.id())>=0],"filter-in-small":[V,[B,it(H)],(e,[t,n])=>n.value.indexOf(e.properties()[t.value])>=0],"filter-in-large":[V,[B,it(H)],(e,[t,n])=>function(e,t,n,r){for(;n<=r;){let i=n+r>>1;if(t[i]===e)return!0;t[i]>e?r=i-1:n=i+1}return!1}(e.properties()[t.value],n.value,0,n.value.length-1)],all:{type:V,overloads:[[[V,V],(e,[t,n])=>t.evaluate(e)&&n.evaluate(e)],[Ir(V),(e,t)=>{for(let n of t)if(!n.evaluate(e))return!1;return!0}]]},any:{type:V,overloads:[[[V,V],(e,[t,n])=>t.evaluate(e)||n.evaluate(e)],[Ir(V),(e,t)=>{for(let n of t)if(n.evaluate(e))return!0;return!1}]]},"!":[V,[V],(e,[t])=>!t.evaluate(e)],"is-supported-script":[V,[B],(e,[t])=>{let n=e.globals&&e.globals.isSupportedScript;return!n||n(t.evaluate(e))}],upcase:[B,[B],(e,[t])=>t.evaluate(e).toUpperCase()],downcase:[B,[B],(e,[t])=>t.evaluate(e).toLowerCase()],concat:[B,Ir(H),(e,t)=>t.map((t=>Gt(t.evaluate(e)))).join(``)],"resolved-locale":[B,[Ze],(e,[t])=>t.evaluate(e).resolvedLocale()]});class ei{constructor(e,t){this.expression=e,this._warningHistory={},this._evaluator=new Zt,this._defaultValue=t?function(e){if(e.type===`color`&&Kr(e.default))return new W(0,0,0,0);switch(e.type){case`color`:return W.parse(e.default)||null;case`padding`:return Lt.parse(e.default)||null;case`numberArray`:return Rt.parse(e.default)||null;case`colorArray`:return zt.parse(e.default)||null;case`variableAnchorOffsetCollection`:return Ht.parse(e.default)||null;case`projectionDefinition`:return G.parse(e.default)||null;default:return e.default===void 0?null:e.default}}(t):null,this._enumValues=t&&t.type===`enum`?t.values:null}evaluateWithoutErrorHandling(e,t,n,r,i,a){return this._evaluator.globals=e,this._evaluator.feature=t,this._evaluator.featureState=n,this._evaluator.canonical=r,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)}evaluate(e,t,n,r,i,a){this._evaluator.globals=e,this._evaluator.feature=t||null,this._evaluator.featureState=n||null,this._evaluator.canonical=r,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{let e=this.expression.evaluate(this._evaluator);if(e==null||typeof e==`number`&&e!=e)return this._defaultValue;if(this._enumValues&&!(e in this._enumValues))throw new Bt(`Expected value to be one of ${Object.keys(this._enumValues).map((e=>JSON.stringify(e))).join(`, `)}, but found ${JSON.stringify(e)} instead.`);return e}catch(e){return this._warningHistory[e.message]||(this._warningHistory[e.message]=!0,typeof console<`u`&&console.warn(e.message)),this._defaultValue}}}function ti(e){return Array.isArray(e)&&e.length>0&&typeof e[0]==`string`&&e[0]in jr}function ni(e,t){let n=new Qt(jr,Lr,[],t?function(e){let t={color:Je,string:B,number:z,enum:B,boolean:V,formatted:Qe,padding:$e,numberArray:tt,colorArray:et,projectionDefinition:Ye,resolvedImage:nt,variableAnchorOffsetCollection:rt};return e.type===`array`?it(t[e.value]||H,e.length):t[e.type]}(t):void 0),r=n.parse(e,void 0,void 0,void 0,t&&t.type===`string`?{typeAnnotation:`coerce`}:void 0);return r?Vr(new ei(r,t)):Hr(n.errors)}class ri{constructor(e,t){this.kind=e,this._styleExpression=t,this.isStateDependent=e!==`constant`&&!zr(t.expression)}evaluateWithoutErrorHandling(e,t,n,r,i,a){return this._styleExpression.evaluateWithoutErrorHandling(e,t,n,r,i,a)}evaluate(e,t,n,r,i,a){return this._styleExpression.evaluate(e,t,n,r,i,a)}}class ii{constructor(e,t,n,r){this.kind=e,this.zoomStops=n,this._styleExpression=t,this.isStateDependent=e!==`camera`&&!zr(t.expression),this.interpolationType=r}evaluateWithoutErrorHandling(e,t,n,r,i,a){return this._styleExpression.evaluateWithoutErrorHandling(e,t,n,r,i,a)}evaluate(e,t,n,r,i,a){return this._styleExpression.evaluate(e,t,n,r,i,a)}interpolationFactor(e,t,n){return this.interpolationType?mn.interpolationFactor(this.interpolationType,e,t,n):0}}function ai(e,t){let n=ni(e,t);if(n.result===`error`)return n;let r=n.value.expression,i=Rr(r);if(!i&&!Ur(t))return Hr([new Ge(``,`data expressions not supported`)]);let a=Br(r,[`zoom`]);if(!a&&!Wr(t))return Hr([new Ge(``,`zoom expressions not supported`)]);let o=si(r);return o||a?o instanceof Ge?Hr([o]):o instanceof mn&&!Gr(t)?Hr([new Ge(``,`"interpolate" expressions cannot be used with this property`)]):Vr(o?new ii(i?`camera`:`composite`,n.value,o.labels,o instanceof mn?o.interpolation:void 0):new ri(i?`constant`:`source`,n.value)):Hr([new Ge(``,`"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.`)])}class oi{constructor(e,t){this._parameters=e,this._specification=t,We(this,Jr(this._parameters,this._specification))}static deserialize(e){return new oi(e._parameters,e._specification)}static serialize(e){return{_parameters:e._parameters,_specification:e._specification}}}function si(e){let t=null;if(e instanceof $t)t=si(e.result);else if(e instanceof _n){for(let n of e.args)if(t=si(n),t)break}else (e instanceof ln||e instanceof mn)&&e.input instanceof Mr&&e.input.name===`zoom`&&(t=e);return t instanceof Ge||e.eachChild((e=>{let n=si(e);n instanceof Ge?t=n:!t&&n?t=new Ge(``,`"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.`):t&&n&&t!==n&&(t=new Ge(``,`Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.`))})),t}function ci(e){if(!0===e||!1===e)return!0;
12if(!Array.isArray(e)||e.length===0)return!1;switch(e[0]){case`has`:return e.length>=2&&e[1]!==`$id`&&e[1]!==`$type`;case`in`:return e.length>=3&&(typeof e[1]!=`string`||Array.isArray(e[2]));case`!in`:case`!has`:case`none`:return!1;case`==`:case`!=`:case`>`:case`>=`:case`<`:case`<=`:return e.length!==3||Array.isArray(e[1])||Array.isArray(e[2]);case`any`:case`all`:for(let t of e.slice(1))if(!ci(t)&&typeof t!=`boolean`)return!1;return!0;default:return!0}}let li={type:`boolean`,default:!1,transition:!1,"property-type":`data-driven`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]}};function ui(e){if(e==null)return{filter:()=>!0,needGeometry:!1};ci(e)||(e=pi(e));let t=ni(e,li);if(t.result===`error`)throw Error(t.value.map((e=>`${e.key}: ${e.message}`)).join(`, `));return{filter:(e,n,r)=>t.value.evaluate(e,n,{},r),needGeometry:fi(e)}}function di(e,t){return e<t?-1:+(e>t)}function fi(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(fi(e[t]))return!0;return!1}function pi(e){if(!e)return!0;let t=e[0];return e.length<=1?t!==`any`:t===`==`?mi(e[1],e[2],`==`):t===`!=`?_i(mi(e[1],e[2],`==`)):t===`<`||t===`>`||t===`<=`||t===`>=`?mi(e[1],e[2],t):t===`any`?(n=e.slice(1),[`any`].concat(n.map(pi))):t===`all`?[`all`].concat(e.slice(1).map(pi)):t===`none`?[`all`].concat(e.slice(1).map(pi).map(_i)):t===`in`?hi(e[1],e.slice(2)):t===`!in`?_i(hi(e[1],e.slice(2))):t===`has`?gi(e[1]):t!==`!has`||_i(gi(e[1]));var n}function mi(e,t,n){switch(e){case`$type`:return[`filter-type-${n}`,t];case`$id`:return[`filter-id-${n}`,t];default:return[`filter-${n}`,e,t]}}function hi(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((e=>typeof e!=typeof t[0]))?[`filter-in-large`,e,[`literal`,t.sort(di)]]:[`filter-in-small`,e,[`literal`,t]]}}function gi(e){switch(e){case`$type`:return!0;case`$id`:return[`filter-has-id`];default:return[`filter-has`,e]}}function _i(e){return[`!`,e]}function vi(e){let t=typeof e;if(t===`number`||t===`boolean`||t===`string`||e==null)return JSON.stringify(e);if(Array.isArray(e)){let t=`[`;for(let n of e)t+=`${vi(n)},`;return`${t}]`}let n=Object.keys(e).sort(),r=`{`;for(let t=0;t<n.length;t++)r+=`${JSON.stringify(n[t])}:${vi(e[n[t]])},`;return`${r}}`}function yi(e){let t=``;for(let n of Ne)t+=`/${vi(e[n])}`;return t}function bi(e){let t=e.value;return t?[new R(e.key,t,`constants have been deprecated as of v8`)]:[]}function xi(e){return e instanceof Number||e instanceof String||e instanceof Boolean?e.valueOf():e}function Si(e){if(Array.isArray(e))return e.map(Si);if(e instanceof Object&&!(e instanceof Number||e instanceof String||e instanceof Boolean)){let t={};for(let n in e)t[n]=Si(e[n]);return t}return xi(e)}function Ci(e){let t=e.key,n=e.value,r=e.valueSpec||{},i=e.objectElementValidators||{},a=e.style,o=e.styleSpec,s=e.validateSpec,c=[],l=Y(n);if(l!==`object`)return[new R(t,n,`object expected, ${l} found`)];for(let e in n){let l=e.split(`.`)[0],u=Et(r,l)||r[`*`],d;if(Et(i,l))d=i[l];else if(Et(r,l))d=s;else if(i[`*`])d=i[`*`];else{if(!r[`*`]){c.push(new R(t,n[e],`unknown property "${e}"`));continue}d=s}c=c.concat(d({key:(t&&`${t}.`)+e,value:n[e],valueSpec:u,style:a,styleSpec:o,object:n,objectKey:e,validateSpec:s},n))}for(let e in r)i[e]||r[e].required&&r[e].default===void 0&&n[e]===void 0&&c.push(new R(t,n,`missing required property "${e}"`));return c}function wi(e){let t=e.value,n=e.valueSpec,r=e.style,i=e.styleSpec,a=e.key,o=e.arrayElementValidator||e.validateSpec;if(Y(t)!==`array`)return[new R(a,t,`array expected, ${Y(t)} found`)];if(n.length&&t.length!==n.length)return[new R(a,t,`array length ${n.length} expected, length ${t.length} found`)];if(n[`min-length`]&&t.length<n[`min-length`])return[new R(a,t,`array length at least ${n[`min-length`]} expected, length ${t.length} found`)];let s={type:n.value,values:n.values};i.$version<7&&(s.function=n.function),Y(n.value)===`object`&&(s=n.value);let c=[];for(let n=0;n<t.length;n++)c=c.concat(o({array:t,arrayIndex:n,value:t[n],valueSpec:s,validateSpec:e.validateSpec,style:r,styleSpec:i,key:`${a}[${n}]`}));return c}function Ti(e){let t=e.key,n=e.value,r=e.valueSpec,i=Y(n);return i===`number`&&n!=n&&(i=`NaN`),i===`number`?`minimum`in r&&n<r.minimum?[new R(t,n,`${n} is less than the minimum value ${r.minimum}`)]:`maximum`in r&&n>r.maximum?[new R(t,n,`${n} is greater than the maximum value ${r.maximum}`)]:[]:[new R(t,n,`number expected, ${i} found`)]}function Ei(e){let t=e.valueSpec,n=xi(e.value.type),r,i,a,o={},s=n!==`categorical`&&e.value.property===void 0,c=!s,l=Y(e.value.stops)===`array`&&Y(e.value.stops[0])===`array`&&Y(e.value.stops[0][0])===`object`,u=Ci({key:e.key,value:e.value,valueSpec:e.styleSpec.function,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{stops:function(e){if(n===`identity`)return[new R(e.key,e.value,`identity function may not have a "stops" property`)];let t=[],r=e.value;return t=t.concat(wi({key:e.key,value:r,valueSpec:e.valueSpec,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,arrayElementValidator:d})),Y(r)===`array`&&r.length===0&&t.push(new R(e.key,r,`array must have at least one stop`)),t},default:function(e){return e.validateSpec({key:e.key,value:e.value,valueSpec:t,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec})}}});return n===`identity`&&s&&u.push(new R(e.key,e.value,`missing required property "property"`)),n===`identity`||e.value.stops||u.push(new R(e.key,e.value,`missing required property "stops"`)),n===`exponential`&&e.valueSpec.expression&&!Gr(e.valueSpec)&&u.push(new R(e.key,e.value,`exponential functions not supported`)),e.styleSpec.$version>=8&&(c&&!Ur(e.valueSpec)?u.push(new R(e.key,e.value,`property functions not supported`)):s&&!Wr(e.valueSpec)&&u.push(new R(e.key,e.value,`zoom functions not supported`))),n!==`categorical`&&!l||e.value.property!==void 0||u.push(new R(e.key,e.value,`"property" property is required`)),u;function d(e){let n=[],r=e.value,s=e.key;
12if(Y(r)!==`array`)return[new R(s,r,`array expected, ${Y(r)} found`)];if(r.length!==2)return[new R(s,r,`array length 2 expected, length ${r.length} found`)];if(l){if(Y(r[0])!==`object`)return[new R(s,r,`object expected, ${Y(r[0])} found`)];if(r[0].zoom===void 0)return[new R(s,r,`object stop key must have zoom`)];if(r[0].value===void 0)return[new R(s,r,`object stop key must have value`)];if(a&&a>xi(r[0].zoom))return[new R(s,r[0].zoom,`stop zoom values must appear in ascending order`)];xi(r[0].zoom)!==a&&(a=xi(r[0].zoom),i=void 0,o={}),n=n.concat(Ci({key:`${s}[0]`,value:r[0],valueSpec:{zoom:{}},validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:Ti,value:f}}))}else n=n.concat(f({key:`${s}[0]`,value:r[0],validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec},r));return ti(Si(r[1]))?n.concat([new R(`${s}[1]`,r[1],`expressions are not allowed in function stops.`)]):n.concat(e.validateSpec({key:`${s}[1]`,value:r[1],valueSpec:t,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec}))}function f(e,a){let s=Y(e.value),c=xi(e.value),l=e.value===null?a:e.value;if(r){if(s!==r)return[new R(e.key,l,`${s} stop domain type must match previous stop domain type ${r}`)]}else r=s;if(s!==`number`&&s!==`string`&&s!==`boolean`)return[new R(e.key,l,`stop domain value must be a number, string, or boolean`)];if(s!==`number`&&n!==`categorical`){let r=`number expected, ${s} found`;return Ur(t)&&n===void 0&&(r+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new R(e.key,l,r)]}return n!==`categorical`||s!==`number`||isFinite(c)&&Math.floor(c)===c?n!==`categorical`&&s===`number`&&i!==void 0&&c<i?[new R(e.key,l,`stop domain values must appear in ascending order`)]:(i=c,n===`categorical`&&c in o?[new R(e.key,l,`stop domain values must be unique`)]:(o[c]=!0,[])):[new R(e.key,l,`integer expected, found ${c}`)]}}function Di(e){let t=(e.expressionContext===`property`?ai:ni)(Si(e.value),e.valueSpec);if(t.result===`error`)return t.value.map((t=>new R(`${e.key}${t.key}`,e.value,t.message)));let n=t.value.expression||t.value._styleExpression.expression;if(e.expressionContext===`property`&&e.propertyKey===`text-font`&&!n.outputDefined())return[new R(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`&&!zr(n))return[new R(e.key,e.value,`"feature-state" data expressions are not supported with layout properties.`)];if(e.expressionContext===`filter`&&!zr(n))return[new R(e.key,e.value,`"feature-state" data expressions are not supported with filters.`)];if(e.expressionContext&&e.expressionContext.indexOf(`cluster`)===0){if(!Br(n,[`zoom`,`feature-state`]))return[new R(e.key,e.value,`"zoom" and "feature-state" expressions are not supported with cluster properties.`)];if(e.expressionContext===`cluster-initial`&&!Rr(n))return[new R(e.key,e.value,`Feature data expressions are not supported with initial expression part of cluster properties.`)]}return[]}function Oi(e){let t=e.key,n=e.value,r=Y(n);return r===`string`?W.parse(String(n))?[]:[new R(t,n,`color expected, "${n}" found`)]:[new R(t,n,`color expected, ${r} found`)]}function ki(e){let t=e.key,n=e.value,r=e.valueSpec,i=[];return Array.isArray(r.values)?r.values.indexOf(xi(n))===-1&&i.push(new R(t,n,`expected one of [${r.values.join(`, `)}], ${JSON.stringify(n)} found`)):Object.keys(r.values).indexOf(xi(n))===-1&&i.push(new R(t,n,`expected one of [${Object.keys(r.values).join(`, `)}], ${JSON.stringify(n)} found`)),i}function Ai(e){return ci(Si(e.value))?Di(We({},e,{expressionContext:`filter`,valueSpec:{value:`boolean`}})):ji(e)}function ji(e){let t=e.value,n=e.key;if(Y(t)!==`array`)return[new R(n,t,`array expected, ${Y(t)} found`)];let r=e.styleSpec,i,a=[];if(t.length<1)return[new R(n,t,`filter array must have at least 1 element`)];switch(a=a.concat(ki({key:`${n}[0]`,value:t[0],valueSpec:r.filter_operator,style:e.style,styleSpec:e.styleSpec})),xi(t[0])){case`<`:case`<=`:case`>`:case`>=`:t.length>=2&&xi(t[1])===`$type`&&a.push(new R(n,t,`"$type" cannot be use with operator "${t[0]}"`));case`==`:case`!=`:t.length!==3&&a.push(new R(n,t,`filter array for operator "${t[0]}" must have 3 elements`));case`in`:case`!in`:t.length>=2&&(i=Y(t[1]),i!==`string`&&a.push(new R(`${n}[1]`,t[1],`string expected, ${i} found`)));for(let o=2;o<t.length;o++)i=Y(t[o]),xi(t[1])===`$type`?a=a.concat(ki({key:`${n}[${o}]`,value:t[o],valueSpec:r.geometry_type,style:e.style,styleSpec:e.styleSpec})):i!==`string`&&i!==`number`&&i!==`boolean`&&a.push(new R(`${n}[${o}
12]`,t[o],`string, number, or boolean expected, ${i} found`));break;case`any`:case`all`:case`none`:for(let r=1;r<t.length;r++)a=a.concat(ji({key:`${n}[${r}]`,value:t[r],style:e.style,styleSpec:e.styleSpec}));break;case`has`:case`!has`:i=Y(t[1]),t.length===2?i!==`string`&&a.push(new R(`${n}[1]`,t[1],`string expected, ${i} found`)):a.push(new R(n,t,`filter array for "${t[0]}" operator must have 2 elements`))}return a}function Mi(e,t){let n=e.key,r=e.validateSpec,i=e.style,a=e.styleSpec,o=e.value,s=e.objectKey,c=a[`${t}_${e.layerType}`];if(!c)return[];let l=s.match(/^(.*)-transition$/);if(t===`paint`&&l&&c[l[1]]&&c[l[1]].transition)return r({key:n,value:o,valueSpec:a.transition,style:i,styleSpec:a});let u=e.valueSpec||c[s];if(!u)return[new R(n,o,`unknown property "${s}"`)];let d;if(Y(o)===`string`&&Ur(u)&&!u.tokens&&(d=/^{([^}]+)}$/.exec(o)))return[new R(n,o,`"${s}" does not support interpolation syntax\nUse an identity property function instead: \`{ "type": "identity", "property": ${JSON.stringify(d[1])} }\`.`)];let f=[];return e.layerType===`symbol`&&(s===`text-field`&&i&&!i.glyphs&&f.push(new R(n,o,`use of "text-field" requires a style "glyphs" property`)),s===`text-font`&&Kr(Si(o))&&xi(o.type)===`identity`&&f.push(new R(n,o,`"text-font" does not support identity functions`))),f.concat(r({key:e.key,value:o,valueSpec:u,style:i,styleSpec:a,expressionContext:`property`,propertyType:t,propertyKey:s}))}function Ni(e){return Mi(e,`paint`)}function Pi(e){return Mi(e,`layout`)}function Fi(e){let t=[],n=e.value,r=e.key,i=e.style,a=e.styleSpec;if(Y(n)!==`object`)return[new R(r,n,`object expected, ${Y(n)} found`)];n.type||n.ref||t.push(new R(r,n,`either "type" or "ref" is required`));let o=xi(n.type),s=xi(n.ref);if(n.id){let a=xi(n.id);for(let o=0;o<e.arrayIndex;o++){let e=i.layers[o];xi(e.id)===a&&t.push(new R(r,n.id,`duplicate layer id "${n.id}", previously used at line ${e.id.__line__}`))}}if(`ref`in n){let e;[`type`,`source`,`source-layer`,`filter`,`layout`].forEach((e=>
12{e in n&&t.push(new R(r,n[e],`"${e}" is prohibited for ref layers`))})),i.layers.forEach((t=>{xi(t.id)===s&&(e=t)})),e?e.ref?t.push(new R(r,n.ref,`ref cannot reference another ref layer`)):o=xi(e.type):t.push(new R(r,n.ref,`ref layer "${s}" not found`))}else if(o!==`background`)if(n.source){let e=i.sources&&i.sources[n.source],a=e&&xi(e.type);e?a===`vector`&&o===`raster`?t.push(new R(r,n.source,`layer "${n.id}" requires a raster source`)):a!==`raster-dem`&&o===`hillshade`?t.push(new R(r,n.source,`layer "${n.id}" requires a raster-dem source`)):a===`raster`&&o!==`raster`?t.push(new R(r,n.source,`layer "${n.id}" requires a vector source`)):a!==`vector`||n[`source-layer`]?a===`raster-dem`&&o!==`hillshade`?t.push(new R(r,n.source,`raster-dem source can only be used with layer type 'hillshade'.`)):o!==`line`||!n.paint||!n.paint[`line-gradient`]||a===`geojson`&&e.lineMetrics||t.push(new R(r,n,`layer "${n.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):t.push(new R(r,n,`layer "${n.id}" must specify a "source-layer"`)):t.push(new R(r,n.source,`source "${n.source}" not found`))}else t.push(new R(r,n,`missing required property "source"`));return t=t.concat(Ci({key:r,value:n,valueSpec:a.layer,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*":()=>[],type:()=>e.validateSpec({key:`${r}.type`,value:n.type,valueSpec:a.layer.type,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,object:n,objectKey:`type`}),filter:Ai,layout:e=>Ci({layer:n,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*":e=>Pi(We({layerType:o},e))}}),paint:e=>Ci({layer:n,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*":e=>Ni(We({layerType:o},e))}})}})),t}function Ii(e){let t=e.value,n=e.key,r=Y(t);return r===`string`?[]:[new R(n,t,`string expected, ${r} found`)]}let Li={promoteId:function({key:e,value:t}){if(Y(t)===`string`)return Ii({key:e,value:t});{let n=[];for(let r in t)n.push(...Ii({key:`${e}.${r}`,value:t[r]}));return n}}};function Ri(e){let t=e.value,n=e.key,r=e.styleSpec,i=e.style,a=e.validateSpec;if(!t.type)return[new R(n,t,`"type" is required`)];let o=xi(t.type),s;switch(o){case`vector`:case`raster`:return s=Ci({key:n,value:t,valueSpec:r[`source_${o.replace(`-`,`_`)}`],style:e.style,styleSpec:r,objectElementValidators:Li,validateSpec:a}),s;case`raster-dem`:return s=function(e){let t=e.sourceName??``,n=e.value,r=e.styleSpec,i=r.source_raster_dem,a=e.style,o=[],s=Y(n);if(n===void 0)return o;if(s!==`object`)return o.push(new R(`source_raster_dem`,n,`object expected, ${s} found`)),o;let c=xi(n.encoding)===`custom`,l=[`redFactor`,`greenFactor`,`blueFactor`,`baseShift`],u=e.value.encoding?`"${e.value.encoding}"`:`Default`;for(let s in n)!c&&l.includes(s)?o.push(new R(s,n[s],`In "${t}": "${s}" is only valid when "encoding" is set to "custom". ${u} encoding found`)):i[s]?o=o.concat(e.validateSpec({key:s,value:n[s],valueSpec:i[s],validateSpec:e.validateSpec,style:a,styleSpec:r})):o.push(new R(s,n[s],`unknown property "${s}"`));return o}({sourceName:n,value:t,style:e.style,styleSpec:r,validateSpec:a}),s;case`geojson`:if(s=Ci({key:n,value:t,valueSpec:r.source_geojson,style:i,styleSpec:r,validateSpec:a,objectElementValidators:Li}),t.cluster)for(let e in t.clusterProperties){let[r,i]=t.clusterProperties[e],a=typeof r==`string`?[r,[`accumulated`],[`get`,e]]:r;s.push(...Di({key:`${n}.${e}.map`,value:i,expressionContext:`cluster-map`})),s.push(...Di({key:`${n}.${e}.reduce`,value:a,expressionContext:`cluster-reduce`}))}return s;case`video`:return Ci({key:n,value:t,valueSpec:r.source_video,style:i,validateSpec:a,styleSpec:r});case`image`:return Ci({key:n,value:t,valueSpec:r.source_image,style:i,validateSpec:a,styleSpec:r});case`canvas`:return[new R(n,null,`Please use runtime APIs to add canvas sources, rather than including them in stylesheets.`,`source.canvas`)];default:return ki({key:`${n}.type`,value:t.type,valueSpec:{values:[`vector`,`raster`,`raster-dem`,`geojson`,`video`,`image`]}})}}function zi(e){let t=e.value,n=e.styleSpec,r=n.light,i=e.style,a=[],o=Y(t);if(t===void 0)return a;
12if(o!==`object`)return a=a.concat([new R(`light`,t,`object expected, ${o} found`)]),a;for(let o in t){let s=o.match(/^(.*)-transition$/);a=a.concat(s&&r[s[1]]&&r[s[1]].transition?e.validateSpec({key:o,value:t[o],valueSpec:n.transition,validateSpec:e.validateSpec,style:i,styleSpec:n}):r[o]?e.validateSpec({key:o,value:t[o],valueSpec:r[o],validateSpec:e.validateSpec,style:i,styleSpec:n}):[new R(o,t[o],`unknown property "${o}"`)])}return a}function Bi(e){let t=e.value,n=e.styleSpec,r=n.sky,i=e.style,a=Y(t);if(t===void 0)return[];if(a!==`object`)return[new R(`sky`,t,`object expected, ${a} found`)];let o=[];for(let a in t)o=o.concat(r[a]?e.validateSpec({key:a,value:t[a],valueSpec:r[a],style:i,styleSpec:n}):[new R(a,t[a],`unknown property "${a}"`)]);return o}function Vi(e){let t=e.value,n=e.styleSpec,r=n.terrain,i=e.style,a=[],o=Y(t);if(t===void 0)return a;if(o!==`object`)return a=a.concat([new R(`terrain`,t,`object expected, ${o} found`)]),a;for(let o in t)a=a.concat(r[o]?e.validateSpec({key:o,value:t[o],valueSpec:r[o],validateSpec:e.validateSpec,style:i,styleSpec:n}):[new R(o,t[o],`unknown property "${o}"`)]);return a}function Hi(e){let t=[],n=e.value,r=e.key;if(Array.isArray(n)){let i=[],a=[];for(let o in n)n[o].id&&i.includes(n[o].id)&&t.push(new R(r,n,`all the sprites' ids must be unique, but ${n[o].id} is duplicated`)),i.push(n[o].id),n[o].url&&a.includes(n[o].url)&&t.push(new R(r,n,`all the sprites' URLs must be unique, but ${n[o].url} is duplicated`)),a.push(n[o].url),t=t.concat(Ci({key:`${r}[${o}]`,value:n[o],valueSpec:{id:{type:`string`,required:!0},url:{type:`string`,required:!0}},validateSpec:e.validateSpec}));return t}return Ii({key:r,value:n})}function Ui(e){return t=e.value,t&&t.constructor===Object?[]:[new R(e.key,e.value,`object expected, ${Y(e.value)} found`)];var t}let Wi={"*":()=>[],array:wi,boolean:function(e){let t=e.value,n=e.key,r=Y(t);return r===`boolean`?[]:[new R(n,t,`boolean expected, ${r} found`)]},number:Ti,color:Oi,constants:bi,enum:ki,filter:Ai,function:Ei,layer:Fi,object:Ci,source:Ri,light:zi,sky:Bi,terrain:Vi,projection:function(e){let t=e.value,n=e.styleSpec,r=n.projection,i=e.style,a=Y(t);if(t===void 0)return[];if(a!==`object`)return[new R(`projection`,t,`object expected, ${a} found`)];let o=[];for(let a in t)o=o.concat(r[a]?e.validateSpec({key:a,value:t[a],valueSpec:r[a],style:i,styleSpec:n}):[new R(a,t[a],`unknown property "${a}"`)]);return o},projectionDefinition:function(e){let t=e.key,n=e.value;n=n instanceof String?n.valueOf():n;let r=Y(n);return r!==`array`||function(e){return Array.isArray(e)&&e.length===3&&typeof e[0]==`string`&&typeof e[1]==`string`&&typeof e[2]==`number`}(n)||function(e){return!![`interpolate`,`step`,`literal`].includes(e[0])}(n)?[`array`,`string`].includes(r)?[]:[new R(t,n,`projection expected, invalid type "${r}" found`)]:[new R(t,n,`projection expected, invalid array ${JSON.stringify(n)} found`)]},string:Ii,formatted:function(e){return Ii(e).length===0?[]:Di(e)},resolvedImage:function(e){return Ii(e).length===0?[]:Di(e)},padding:function(e){let t=e.key,n=e.value;if(Y(n)===`array`){if(n.length<1||n.length>4)return[new R(t,n,`padding requires 1 to 4 values; ${n.length} values found`)];let r={type:`number`},i=[];for(let a=0;a<n.length;a++)i=i.concat(e.validateSpec({key:`${t}[${a}]`,value:n[a],validateSpec:e.validateSpec,valueSpec:r}));return i}return Ti({key:t,value:n,valueSpec:{}})},numberArray:function(e){let t=e.key,n=e.value;if(Y(n)===`array`){let r={type:`number`};if(n.length<1)return[new R(t,n,`array length at least 1 expected, length 0 found`)];let i=[];for(let a=0;a<n.length;a++)i=i.concat(e.validateSpec({key:`${t}[${a}]`,value:n[a],validateSpec:e.validateSpec,valueSpec:r}));return i}return Ti({key:t,value:n,valueSpec:{}})},colorArray:function(e){let t=e.key,n=e.value;if(Y(n)===`array`){if(n.length<1)return[new R(t,n,`array length at least 1 expected, length 0 found`)];let e=[];for(let r=0;r<n.length;r++)e=e.concat(Oi({key:`${t}[${r}]`,value:n[r]}));return e}return Oi({key:t,value:n})},variableAnchorOffsetCollection:function(e){let t=e.key,n=e.value,r=Y(n),i=e.styleSpec;if(r!==`array`||n.length<1||n.length%2!=0)return[new R(t,n,`variableAnchorOffsetCollection requires a non-empty array of even length`)];let a=[];for(let r=0;r<n.length;r+=2)a=a.concat(ki({key:`${t}[${r}]`,value:n[r],valueSpec:i.layout_symbol[`text-anchor`]})),a=a.concat(wi({key:`${t}[${r+1}
12]`,value:n[r+1],valueSpec:{length:2,value:`number`},validateSpec:e.validateSpec,style:e.style,styleSpec:i}));return a},sprite:Hi,state:Ui};function Gi(e){let t=e.value,n=e.valueSpec,r=e.styleSpec;return e.validateSpec=Gi,n.expression&&Kr(xi(t))?Ei(e):n.expression&&ti(Si(t))?Di(e):n.type&&Wi[n.type]?Wi[n.type](e):Ci(We({},e,{valueSpec:n.type?r[n.type]:n}))}function Ki(e){let t=e.value,n=e.key,r=Ii(e);return r.length||(t.indexOf(`{fontstack}`)===-1&&r.push(new R(n,t,`"glyphs" url must include a "{fontstack}" token`)),t.indexOf(`{range}`)===-1&&r.push(new R(n,t,`"glyphs" url must include a "{range}" token`))),r}function qi(e,t=L){let n=[];return n=n.concat(Gi({key:``,value:e,valueSpec:t.$root,styleSpec:t,style:e,validateSpec:Gi,objectElementValidators:{glyphs:Ki,"*":()=>[]}})),e.constants&&(n=n.concat(bi({key:`constants`,value:e.constants}))),Yi(n)}function Ji(e){return function(t){return e({...t,validateSpec:Gi})}}function Yi(e){return[].concat(e).sort(((e,t)=>e.line-t.line))}function Xi(e){return function(...t){return Yi(e.apply(this,t))}}qi.source=Xi(Ji(Ri)),qi.sprite=Xi(Ji(Hi)),qi.glyphs=Xi(Ji(Ki)),qi.light=Xi(Ji(zi)),qi.sky=Xi(Ji(Bi)),qi.terrain=Xi(Ji(Vi)),qi.state=Xi(Ji(Ui)),qi.layer=Xi(Ji(Fi)),qi.filter=Xi(Ji(Ai)),qi.paintProperty=Xi(Ji(Ni)),qi.layoutProperty=Xi(Ji(Pi));let Zi=qi,Qi=Zi.light,$i=Zi.sky,ea=Zi.paintProperty,ta=Zi.layoutProperty;function na(e,t){let n=!1;if(t&&t.length)for(let r of t)e.fire(new je(Error(r.message))),n=!0;return n}class ra{constructor(e,t,n){let r=this.cells=[];if(e instanceof ArrayBuffer){this.arrayBuffer=e;let i=new Int32Array(this.arrayBuffer);e=i[0],this.d=(t=i[1])+2*(n=i[2]);for(let e=0;e<this.d*this.d;e++){let t=i[3+e],n=i[3+e+1];r.push(t===n?null:i.subarray(t,n))}let a=i[3+r.length+1];this.keys=i.subarray(i[3+r.length],a),this.bboxes=i.subarray(a),this.insert=this._insertReadonly}else{this.d=t+2*n;for(let e=0;e<this.d*this.d;e++)r.push([]);this.keys=[],this.bboxes=[]}this.n=t,this.extent=e,this.padding=n,this.scale=t/e,this.uid=0;let i=n/t*e;this.min=-i,this.max=e+i}insert(e,t,n,r,i){this._forEachCell(t,n,r,i,this._insertCell,this.uid++,void 0,void 0),this.keys.push(e),this.bboxes.push(t),this.bboxes.push(n),this.bboxes.push(r),this.bboxes.push(i)}_insertReadonly(){throw Error(`Cannot insert into a GridIndex created from an ArrayBuffer.`)}_insertCell(e,t,n,r,i,a){this.cells[i].push(a)}query(e,t,n,r,i){let a=this.min,o=this.max;if(e<=a&&t<=a&&o<=n&&o<=r&&!i)return Array.prototype.slice.call(this.keys);{let a=[];return this._forEachCell(e,t,n,r,this._queryCell,a,{},i),a}}_queryCell(e,t,n,r,i,a,o,s){let c=this.cells[i];if(c!==null){let i=this.keys,l=this.bboxes;for(let u=0;u<c.length;u++){let d=c[u];if(o[d]===void 0){let c=4*d;(s?s(l[c+0],l[c+1],l[c+2],l[c+3]):e<=l[c+2]&&t<=l[c+3]&&n>=l[c+0]&&r>=l[c+1])?(o[d]=!0,a.push(i[d])):o[d]=!1}}}}_forEachCell(e,t,n,r,i,a,o,s){let c=this._convertToCellCoord(e),l=this._convertToCellCoord(t),u=this._convertToCellCoord(n),d=this._convertToCellCoord(r);for(let f=c;f<=u;f++)for(let c=l;c<=d;c++){let l=this.d*c+f;if((!s||s(this._convertFromCellCoord(f),this._convertFromCellCoord(c),this._convertFromCellCoord(f+1),this._convertFromCellCoord(c+1)))&&i.call(this,e,t,n,r,l,a,o,s))return}}_convertFromCellCoord(e){return(e-this.padding)/this.scale}_convertToCellCoord(e){return Math.max(0,Math.min(this.d-1,Math.floor(e*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let e=this.cells,t=3+this.cells.length+1+1,n=0;for(let e=0;e<this.cells.length;e++)n+=this.cells[e].length;let r=new Int32Array(t+n+this.keys.length+this.bboxes.length);r[0]=this.extent,r[1]=this.n,r[2]=this.padding;let i=t;for(let t=0;t<e.length;t++){let n=e[t];r[3+t]=i,r.set(n,i),i+=n.length}return r[3+e.length]=i,r.set(this.keys,i),i+=this.keys.length,r[3+e.length+1]=i,r.set(this.bboxes,i),i+=this.bboxes.length,r.buffer}static serialize(e,t){let n=e.toArrayBuffer();return t&&t.push(n),{buffer:n}}static deserialize(e){return new ra(e.buffer)}}let ia={};function X(e,t,n={}){if(ia[e])throw Error(`${e} is already registered.`);Object.defineProperty(t,"_classRegistryKey",{value:e,writeable:!1}
12),ia[e]={klass:t,omit:n.omit||[],shallow:n.shallow||[]}}X(`Object`,Object),X(`TransferableGridIndex`,ra),X(`Color`,W),X(`Error`,Error),X(`AJAXError`,we),X(`ResolvedImage`,Ut),X(`StylePropertyFunction`,oi),X(`StyleExpression`,ei,{omit:[`_evaluator`]}),X(`ZoomDependentExpression`,ii),X(`ZoomConstantExpression`,ri),X(`CompoundExpression`,Mr,{omit:[`_evaluate`]});for(let e in jr)jr[e]._classRegistryKey||X(`Expression_${e}`,jr[e]);function aa(e){return e&&typeof ArrayBuffer<`u`&&(e instanceof ArrayBuffer||e.constructor&&e.constructor.name===`ArrayBuffer`)}function oa(e){return e.$name||e.constructor._classRegistryKey}function sa(e){return!function(e){if(typeof e!=`object`||!e)return!1;let t=oa(e);return!(!t||t===`Object`)}(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||aa(e)||F(e)||ArrayBuffer.isView(e)||e instanceof ImageData)}function ca(e,t){if(sa(e))return(aa(e)||F(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 n=[];for(let r of e)n.push(ca(r,t));return n}if(typeof e!=`object`)throw Error(`can't serialize object of type `+typeof e);let n=oa(e);if(!n)throw Error(`can't serialize object of unregistered class ${e.constructor.name}`);if(!ia[n])throw Error(`${n} is not registered.`);let{klass:r}=ia[n],i=r.serialize?r.serialize(e,t):{};if(r.serialize){if(t&&i===t[t.length-1])throw Error(`statically serialized object won't survive transfer of $name property`)}else{for(let r in e){if(!e.hasOwnProperty(r)||ia[n].omit.indexOf(r)>=0)continue;let a=e[r];i[r]=ia[n].shallow.indexOf(r)>=0?a:ca(a,t)}e instanceof Error&&(i.message=e.message)}if(i.$name)throw Error(`$name property is reserved for worker serialization logic.`);return n!==`Object`&&(i.$name=n),i}function la(e){if(sa(e))return e;if(Array.isArray(e))return e.map(la);if(typeof e!=`object`)throw Error(`can't deserialize object of type `+typeof e);let t=oa(e)||`Object`;if(!ia[t])throw Error(`can't deserialize unregistered class ${t}`);let{klass:n}=ia[t];if(!n)throw Error(`can't deserialize unregistered class ${t}`);if(n.deserialize)return n.deserialize(e);let r=Object.create(n.prototype);for(let n of Object.keys(e)){if(n===`$name`)continue;let i=e[n];r[n]=ia[t].shallow.indexOf(n)>=0?i:la(i)}return r}class ua{constructor(){this.first=!0}update(e,t){let n=Math.floor(e);return this.first?(this.first=!1,this.lastIntegerZoom=n,this.lastIntegerZoomTime=0,this.lastZoom=e,this.lastFloorZoom=n,!0):(this.lastFloorZoom>n?(this.lastIntegerZoom=n+1,this.lastIntegerZoomTime=t):this.lastFloorZoom<n&&(this.lastIntegerZoom=n,this.lastIntegerZoomTime=t),e!==this.lastZoom&&(this.lastZoom=e,this.lastFloorZoom=n,!0))}}let Z={"Latin-1 Supplement":e=>e>=128&&e<=255,"Hangul Jamo":e=>e>=4352&&e<=4607,Khmer:e=>e>=6016&&e<=6143,"General Punctuation":e=>e>=8192&&e<=8303,"Letterlike Symbols":e=>e>=8448&&e<=8527,"Number Forms":e=>e>=8528&&e<=8591,"Miscellaneous Technical":e=>e>=8960&&e<=9215,"Control Pictures":e=>e>=9216&&e<=9279,"Optical Character Recognition":e=>e>=9280&&e<=9311,"Enclosed Alphanumerics":e=>e>=9312&&e<=9471,"Geometric Shapes":e=>e>=9632&&e<=9727,"Miscellaneous Symbols":e=>e>=9728&&e<=9983,"Miscellaneous Symbols and Arrows":e=>e>=11008&&e<=11263,"Ideographic Description Characters":e=>e>=12272&&e<=12287,"CJK Symbols and Punctuation":e=>e>=12288&&e<=12351,Hiragana:e=>e>=12352&&e<=12447,Katakana:e=>e>=12448&&e<=12543,Kanbun:e=>e>=12688&&e<=12703,"CJK Strokes":e=>e>=12736&&e<=12783,"Enclosed CJK Letters and Months":e=>e>=12800&&e<=13055,"CJK Compatibility":e=>e>=13056&&e<=13311,"Yijing Hexagram Symbols":e=>e>=19904&&e<=19967,"CJK Unified Ideographs":e=>e>=19968&&e<=40959,"Hangul Syllables":e=>e>=44032&&e<=55215,"Private Use Area":e=>e>=57344&&e<=63743,"Vertical Forms":e=>e>=65040&&e<=65055,"CJK Compatibility Forms":e=>e>=65072&&e<=65103,"Small Form Variants":e=>e>=65104&&e<=65135,"Halfwidth and Fullwidth Forms":e=>e>=65280&&e<=65519};function da(e){for(let t of e)if(_a(t.charCodeAt(0)))return!0;return!1}function fa(e){for(let t of e)if(!ha(t.charCodeAt(0)))return!1;return!0}function pa(e){let t=e.map((e=>{try{return RegExp(`\\p{sc=${e}}`,`u`).source}catch{return null}})).filter((e=>e));return new RegExp(t.join(`|`),`u`)}let ma=pa([`Arab`,`Dupl`,`Mong`,`Ougr`,`Syrc`]);function ha(e){return!ma.test(String.fromCodePoint(e))}let ga=pa([`Bopo`,`Hani`,`Hira`,`Kana`,`Kits`,`Nshu`,`Tang`,`Yiii`]);function _a(e){return!(e!==746&&e!==747&&(e<4352||!(Z[`CJK Compatibility Forms`](e)&&!(e>=65097&&e<=65103)||Z[`CJK Compatibility`](e)||Z[`CJK Strokes`](e)||!(!Z[`CJK Symbols and Punctuation`](e)||e>=12296&&e<=12305||e>=12308&&e<=12319||e===12336)||Z[`Enclosed CJK Letters and Months`](e)||Z[`Ideographic Description Characters`](e)||Z.Kanbun(e)||Z.Katakana(e)&&e!==12540||!(!Z[`Halfwidth and Fullwidth Forms`](e)||e===65288||e===65289||e===65293||e>=65306&&e<=65310||e===65339||e===65341||e===65343||e>=65371&&e<=65503||e===65507||e>=65512&&e<=65519)||!(!Z[`Small Form Variants`](e)||e>=65112&&e<=65118||e>=65123&&e<=65126)||Z[`Vertical Forms`](e)||Z[`Yijing Hexagram Symbols`](e)||/\p{sc=Cans}/u.test(String.fromCodePoint(e))||/\p{sc=Hang}/u.test(String.fromCodePoint(e))||ga.test(String.fromCodePoint(e)))
12))}function va(e){return!(_a(e)||function(e){return!!(Z[`Latin-1 Supplement`](e)&&(e===167||e===169||e===174||e===177||e===188||e===189||e===190||e===215||e===247)||Z[`General Punctuation`](e)&&(e===8214||e===8224||e===8225||e===8240||e===8241||e===8251||e===8252||e===8258||e===8263||e===8264||e===8265||e===8273)||Z[`Letterlike Symbols`](e)||Z[`Number Forms`](e)||Z[`Miscellaneous Technical`](e)&&(e>=8960&&e<=8967||e>=8972&&e<=8991||e>=8996&&e<=9e3||e===9003||e>=9085&&e<=9114||e>=9150&&e<=9165||e===9167||e>=9169&&e<=9179||e>=9186&&e<=9215)||Z[`Control Pictures`](e)&&e!==9251||Z[`Optical Character Recognition`](e)||Z[`Enclosed Alphanumerics`](e)||Z[`Geometric Shapes`](e)||Z[`Miscellaneous Symbols`](e)&&!(e>=9754&&e<=9759)||Z[`Miscellaneous Symbols and Arrows`](e)&&(e>=11026&&e<=11055||e>=11088&&e<=11097||e>=11192&&e<=11243)||Z[`CJK Symbols and Punctuation`](e)||Z.Katakana(e)||Z[`Private Use Area`](e)||Z[`CJK Compatibility Forms`](e)||Z[`Small Form Variants`](e)||Z[`Halfwidth and Fullwidth Forms`](e)||e===8734||e===8756||e===8757||e>=9984&&e<=10087||e>=10102&&e<=10131||e===65532||e===65533)}(e))}let ya=pa(`Adlm.Arab.Armi.Avst.Chrs.Cprt.Egyp.Elym.Gara.Hatr.Hebr.Hung.Khar.Lydi.Mand.Mani.Mend.Merc.Mero.Narb.Nbat.Nkoo.Orkh.Palm.Phli.Phlp.Phnx.Prti.Rohg.Samr.Sarb.Sogo.Syrc.Thaa.Todr.Yezi`.split(`.`));function ba(e){return ya.test(String.fromCodePoint(e))}function xa(e,t){return!(!t&&ba(e)||e>=2304&&e<=3583||e>=3840&&e<=4255||Z.Khmer(e))}function Sa(e){for(let t of e)if(ba(t.charCodeAt(0)))return!0;return!1}let Ca=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(Ca.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}syncState(e,n){return t(this,void 0,void 0,(function*(){if(this.isParsed())return this.getState();if(e.pluginStatus!==`loading`)return this.setState(e),e;let t=e.pluginURL,r=new Promise((e=>{this.loadScriptResolve=e}));n(t);let i=new Promise((e=>setTimeout((()=>e()),this.TIMEOUT)));if(yield Promise.race([r,i]),this.isParsed()){let e={pluginStatus:`loaded`,pluginURL:t};return this.setState(e),e}throw this.setState({pluginStatus:`error`,pluginURL:``}),Error(`RTL Text Plugin failed to import scripts from ${t}`)}))}};class wa{constructor(e,t){this.zoom=e,t?(this.now=t.now,this.fadeDuration=t.fadeDuration,this.zoomHistory=t.zoomHistory,this.transition=t.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new ua,this.transition={})}isSupportedScript(e){return function(e,t){for(let n of e)if(!xa(n.charCodeAt(0),t))return!1;return!0}(e,Ca.getRTLTextPluginStatus()===`loaded`)}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let e=this.zoom,t=e-Math.floor(e),n=this.crossFadingFactor();return e>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:t+(1-t)*n}:{fromScale:.5,toScale:1,t:1-(1-n)*t}}}class Ta{constructor(e,t){this.property=e,this.value=t,this.expression=function(e,t){if(Kr(e))return new oi(e,t);if(ti(e)){let n=ai(e,t);if(n.result===`error`)throw Error(n.value.map((e=>`${e.key}: ${e.message}`)).join(`, `));return n.value}{let n=e;return t.type===`color`&&typeof e==`string`?n=W.parse(e):t.type!==`padding`||typeof e!=`number`&&!Array.isArray(e)?t.type!==`numberArray`||typeof e!=`number`&&!Array.isArray(e)?t.type!==`colorArray`||typeof e!=`string`&&!Array.isArray(e)?t.type===`variableAnchorOffsetCollection`&&Array.isArray(e)?n=Ht.parse(e):t.type===`projectionDefinition`&&typeof e==`string`&&(n=G.parse(e)):n=zt.parse(e):n=Rt.parse(e):n=Lt.parse(e),{kind:`constant`,evaluate:()=>n}}}(t===void 0?e.specification.default:t,e.specification)}isDataDriven(){return this.expression.kind===`source`||this.expression.kind===`composite`}possiblyEvaluate(e,t,n){return this.property.possiblyEvaluate(this,e,t,n)}}class Ea{constructor(e){this.property=e,this.value=new Ta(e,void 0)}transitioned(e,t){return new Oa(this.property,this.value,t,M({},e.transition,this.transition),e.now)}
12untransitioned(){return new Oa(this.property,this.value,null,{},0)}}class Da{constructor(e){this._properties=e,this._values=Object.create(e.defaultTransitionablePropertyValues)}getValue(e){return se(this._values[e].value.value)}setValue(e,t){Object.prototype.hasOwnProperty.call(this._values,e)||(this._values[e]=new Ea(this._values[e].property)),this._values[e].value=new Ta(this._values[e].property,t===null?void 0:se(t))}getTransition(e){return se(this._values[e].transition)}setTransition(e,t){Object.prototype.hasOwnProperty.call(this._values,e)||(this._values[e]=new Ea(this._values[e].property)),this._values[e].transition=se(t)||void 0}serialize(){let e={};for(let t of Object.keys(this._values)){let n=this.getValue(t);n!==void 0&&(e[t]=n);let r=this.getTransition(t);r!==void 0&&(e[`${t}-transition`]=r)}return e}transitioned(e,t){let n=new ka(this._properties);for(let r of Object.keys(this._values))n._values[r]=this._values[r].transitioned(e,t._values[r]);return n}untransitioned(){let e=new ka(this._properties);for(let t of Object.keys(this._values))e._values[t]=this._values[t].untransitioned();return e}}class Oa{constructor(e,t,n,r,i){this.property=e,this.value=t,this.begin=i+r.delay||0,this.end=this.begin+r.duration||0,e.specification.transition&&(r.delay||r.duration)&&(this.prior=n)}possiblyEvaluate(e,t,n){let r=e.now||0,i=this.value.possiblyEvaluate(e,t,n),a=this.prior;if(a){if(r>this.end||this.value.isDataDriven())return this.prior=null,i;if(r<this.begin)return a.possiblyEvaluate(e,t,n);{let o=(r-this.begin)/(this.end-this.begin);return this.property.interpolate(a.possiblyEvaluate(e,t,n),i,ee(o))}}return i}}class ka{constructor(e){this._properties=e,this._values=Object.create(e.defaultTransitioningPropertyValues)}possiblyEvaluate(e,t,n){let r=new Ma(this._properties);for(let i of Object.keys(this._values))r._values[i]=this._values[i].possiblyEvaluate(e,t,n);return r}hasTransition(){for(let e of Object.keys(this._values))if(this._values[e].prior)return!0;return!1}}class Aa{constructor(e){this._properties=e,this._values=Object.create(e.defaultPropertyValues)}hasValue(e){return this._values[e].value!==void 0}getValue(e){return se(this._values[e].value)}setValue(e,t){this._values[e]=new Ta(this._values[e].property,t===null?void 0:se(t))}serialize(){let e={};for(let t of Object.keys(this._values)){let n=this.getValue(t);n!==void 0&&(e[t]=n)}return e}possiblyEvaluate(e,t,n){let r=new Ma(this._properties);for(let i of Object.keys(this._values))r._values[i]=this._values[i].possiblyEvaluate(e,t,n);return r}}class ja{constructor(e,t,n){this.property=e,this.value=t,this.parameters=n}isConstant(){return this.value.kind===`constant`}constantOr(e){return this.value.kind===`constant`?this.value.value:e}evaluate(e,t,n,r){return this.property.evaluate(this.value,this.parameters,e,t,n,r)}}class Ma{constructor(e){this._properties=e,this._values=Object.create(e.defaultPossiblyEvaluatedValues)}get(e){return this._values[e]}}class Q{constructor(e){this.specification=e}possiblyEvaluate(e,t){if(e.isDataDriven())throw Error(`Value should not be data driven`);return e.expression.evaluate(t)}interpolate(e,t,n){let r=gn[this.specification.type];return r?r(e,t,n):e}}class ${constructor(e,t){this.specification=e,this.overrides=t}possiblyEvaluate(e,t,n,r){return new ja(this,e.expression.kind===`constant`||e.expression.kind===`camera`?{kind:`constant`,value:e.expression.evaluate(t,null,{},n,r)}:e.expression,t)}interpolate(e,t,n){if(e.value.kind!==`constant`||t.value.kind!==`constant`)return e;if(e.value.value===void 0||t.value.value===void 0)return new ja(this,{kind:`constant`,value:void 0},e.parameters);let r=gn[this.specification.type];if(r){let i=r(e.value.value,t.value.value,n);return new ja(this,{kind:`constant`,value:i},e.parameters)}return e}evaluate(e,t,n,r,i,a){return e.kind===`constant`?e.value:e.evaluate(t,n,r,i,a)}}class Na extends ${possiblyEvaluate(e,t,n,r){if(e.value===void 0)return new ja(this,{kind:`constant`,value:void 0},t);if(e.expression.kind===`constant`){let i=e.expression.evaluate(t,null,{},n,r),a=e.property.specification.type===`resolvedImage`&&typeof i!=`string`?i.name:i,o=this._calculate(a,a,a,t);return new ja(this,{kind:`constant`,value:o},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 ja(this,{kind:`constant`,value:n},t)}return new ja(this,e.expression,t)}evaluate(e,t,n,r,i,a){if(e.kind===`source`){let o=e.evaluate(t,n,r,i,a);return this._calculate(o,o,o,t)}return e.kind===`composite`?this._calculate(e.evaluate({zoom:Math.floor(t.zoom)-1},n,r),e.evaluate({zoom:Math.floor(t.zoom)},n,r),e.evaluate({zoom:Math.floor(t.zoom)+1},n,r),t):e.value}_calculate(e,t,n,r){return r.zoom>r.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:n,to:t}}interpolate(e){return e}}class Pa{constructor(e){this.specification=e}
12possiblyEvaluate(e,t,n,r){if(e.value!==void 0){if(e.expression.kind===`constant`){let i=e.expression.evaluate(t,null,{},n,r);return this._calculate(i,i,i,t)}return this._calculate(e.expression.evaluate(new wa(Math.floor(t.zoom-1),t)),e.expression.evaluate(new wa(Math.floor(t.zoom),t)),e.expression.evaluate(new wa(Math.floor(t.zoom+1),t)),t)}}_calculate(e,t,n,r){return r.zoom>r.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:n,to:t}}interpolate(e){return e}}class Fa{constructor(e){this.specification=e}possiblyEvaluate(e,t,n,r){return!!e.expression.evaluate(t,null,{},n,r)}interpolate(){return!1}}class Ia{constructor(e){this.properties=e,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let t in e){let n=e[t];n.specification.overridable&&this.overridableProperties.push(t);let r=this.defaultPropertyValues[t]=new Ta(n,void 0),i=this.defaultTransitionablePropertyValues[t]=new Ea(n);this.defaultTransitioningPropertyValues[t]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[t]=r.possiblyEvaluate({})}}}X(`DataDrivenProperty`,$),X(`DataConstantProperty`,Q),X(`CrossFadedDataDrivenProperty`,Na),X(`CrossFadedProperty`,Pa),X(`ColorRampProperty`,Fa);let La=`-transition`;class Ra extends Me{constructor(e,t){if(super(),this.id=e.id,this.type=e.type,this._featureFilter={filter:()=>!0,needGeometry:!1},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),t.layout&&(this._unevaluatedLayout=new Aa(t.layout)),t.paint)){this._transitionablePaint=new Da(t.paint);for(let t in e.paint)this.setPaintProperty(t,e.paint[t],{validate:!1});for(let t in e.layout)this.setLayoutProperty(t,e.layout[t],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Ma(t.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(e){return e===`visibility`?this.visibility:this._unevaluatedLayout.getValue(e)}setLayoutProperty(e,t,n={}){t!=null&&this._validate(ta,`layers.${this.id}.layout.${e}`,e,t,n)||(e===`visibility`?this.visibility=t:this._unevaluatedLayout.setValue(e,t))}getPaintProperty(e){return e.endsWith(La)?this._transitionablePaint.getTransition(e.slice(0,-11)):this._transitionablePaint.getValue(e)}setPaintProperty(e,t,n={}){if(t!=null&&this._validate(ea,`layers.${this.id}.paint.${e}`,e,t,n))return!1;if(e.endsWith(La))return this._transitionablePaint.setTransition(e.slice(0,-11),t||void 0),!1;{let n=this._transitionablePaint._values[e],r=n.property.specification[`property-type`]===`cross-faded-data-driven`,i=n.value.isDataDriven(),a=n.value;this._transitionablePaint.setValue(e,t),this._handleSpecialPaintPropertyUpdate(e);let o=this._transitionablePaint._values[e].value;return o.isDataDriven()||i||r||this._handleOverridablePaintPropertyUpdate(e,a,o)}}_handleSpecialPaintPropertyUpdate(e){}_handleOverridablePaintPropertyUpdate(e,t,n){return!1}isHidden(e){return!!(this.minzoom&&e<this.minzoom)||!!(this.maxzoom&&e>=this.maxzoom)||this.visibility===`none`}updateTransitions(e){this._transitioningPaint=this._transitionablePaint.transitioned(e,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}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)}
12serialize(){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:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(e.layout=e.layout||{},e.layout.visibility=this.visibility),oe(e,((e,t)=>!(e===void 0||t===`layout`&&!Object.keys(e).length||t===`paint`&&!Object.keys(e).length)))}_validate(e,t,n,r,i={}){return(!i||!1!==i.validate)&&na(this,e.call(Zi,{key:t,layerType:this.type,objectKey:n,value:r,styleSpec:L,style:{glyphs:!0,sprite:!0}}))}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 ja&&Ur(t.property.specification)&&(t.value.kind===`source`||t.value.kind===`composite`)&&t.value.isStateDependent)return!0}return!1}}let za={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class Ba{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}}class Va{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(e,t){return e._trim(),t&&(e.isTransferred=!0,t.push(e.arrayBuffer)),{length:e.length,arrayBuffer:e.arrayBuffer}}static deserialize(e){let t=Object.create(this.prototype);return t.arrayBuffer=e.arrayBuffer,t.length=e.length,t.capacity=e.arrayBuffer.byteLength/t.bytesPerElement,t._refreshViews(),t}_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(e){this.reserve(e),this.length=e}reserve(e){if(e>this.capacity){this.capacity=Math.max(e,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let t=this.uint8;this._refreshViews(),t&&this.uint8.set(t)}}_refreshViews(){throw Error(`_refreshViews() must be implemented by each concrete StructArray layout`)}}function Ha(e,t=1){let n=0,r=0;return{members:e.map((e=>{let i=za[e.type].BYTES_PER_ELEMENT,a=n=Ua(n,Math.max(t,i)),o=e.components||1;return r=Math.max(r,i),n+=i*o,{name:e.name,type:e.type,components:o,offset:a}})),size:Ua(n,Math.max(r,t)),alignment:t}}function Ua(e,t){return Math.ceil(e/t)*t}class Wa extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t){let n=this.length;return this.resize(n+1),this.emplace(n,e,t)}emplace(e,t,n){let r=2*e;return this.int16[r+0]=t,this.int16[r+1]=n,e}}Wa.prototype.bytesPerElement=4,X(`StructArrayLayout2i4`,Wa);class Ga extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=3*e;return this.int16[i+0]=t,this.int16[i+1]=n,this.int16[i+2]=r,e}}Ga.prototype.bytesPerElement=6,X(`StructArrayLayout3i6`,Ga);class Ka extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,n,r)}emplace(e,t,n,r,i){let a=4*e;return this.int16[a+0]=t,this.int16[a+1]=n,this.int16[a+2]=r,this.int16[a+3]=i,e}}Ka.prototype.bytesPerElement=8,X(`StructArrayLayout4i8`,Ka);class qa extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,n,r,i,a)}emplace(e,t,n,r,i,a,o){let s=6*e;return this.int16[s+0]=t,this.int16[s+1]=n,this.int16[s+2]=r,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,e}}qa.prototype.bytesPerElement=12,X(`StructArrayLayout2i4i12`,qa);class Ja extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,n,r,i,a)}emplace(e,t,n,r,i,a,o){let s=4*e,c=8*e;return this.int16[s+0]=t,this.int16[s+1]=n,this.uint8[c+4]=r,this.uint8[c+5]=i,this.uint8[c+6]=a,this.uint8[c+7]=o,e}}Ja.prototype.bytesPerElement=8,X(`StructArrayLayout2i4ub8`,Ja);class Ya extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t){let n=this.length;return this.resize(n+1),this.emplace(n,e,t)}emplace(e,t,n){let r=2*e;return this.float32[r+0]=t,this.float32[r+1]=n,e}}Ya.prototype.bytesPerElement=8,X(`StructArrayLayout2f8`,Ya);class Xa extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s,c,l){let u=this.length;return this.resize(u+1),this.emplace(u,e,t,n,r,i,a,o,s,c,l)}emplace(e,t,n,r,i,a,o,s,c,l,u){let d=10*e;return this.uint16[d+0]=t,this.uint16[d+1]=n,this.uint16[d+2]=r,this.uint16[d+3]=i,this.uint16[d+4]=a,this.uint16[d+5]=o,this.uint16[d+6]=s,this.uint16[d+7]=c,this.uint16[d+8]=l,this.uint16[d+9]=u,e}}Xa.prototype.bytesPerElement=20,X(`StructArrayLayout10ui20`,Xa);class Za extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s,c,l,u,d){let f=this.length;return this.resize(f+1),this.emplace(f,e,t,n,r,i,a,o,s,c,l,u,d)}emplace(e,t,n,r,i,a,o,s,c,l,u,d,f){let p=12*e;return this.int16[p+0]=t,this.int16[p+1]=n,this.int16[p+2]=r,this.int16[p+3]=i,this.uint16[p+4]=a,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=c,this.int16[p+8]=l,this.int16[p+9]=u,this.int16[p+10]=d,this.int16[p+11]=f,e}}Za.prototype.bytesPerElement=24,X(`StructArrayLayout4i4ui4i24`,Za);class Qa extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=3*e;return this.float32[i+0]=t,this.float32[i+1]=n,this.float32[i+2]=r,e}}Qa.prototype.bytesPerElement=12,X(`StructArrayLayout3f12`,Qa);class $a extends Va{_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){return this.uint32[1*e+0]=t,e}}$a.prototype.bytesPerElement=4,X(`StructArrayLayout1ul4`,$a);class eo extends Va{_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,n,r,i,a,o,s,c){let l=this.length;return this.resize(l+1),this.emplace(l,e,t,n,r,i,a,o,s,c)}emplace(e,t,n,r,i,a,o,s,c,l){let u=10*e,d=5*e;return this.int16[u+0]=t,this.int16[u+1]=n,this.int16[u+2]=r,this.int16[u+3]=i,this.int16[u+4]=a,this.int16[u+5]=o,this.uint32[d+3]=s,this.uint16[u+8]=c,this.uint16[u+9]=l,e}}eo.prototype.bytesPerElement=20,X(`StructArrayLayout6i1ul2ui20`,eo);class to extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,n,r,i,a)}emplace(e,t,n,r,i,a,o){let s=6*e;return this.int16[s+0]=t,this.int16[s+1]=n,this.int16[s+2]=r,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,e}}to.prototype.bytesPerElement=12,X(`StructArrayLayout2i2i2i12`,to);
12class no extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i){let a=this.length;return this.resize(a+1),this.emplace(a,e,t,n,r,i)}emplace(e,t,n,r,i,a){let o=4*e,s=8*e;return this.float32[o+0]=t,this.float32[o+1]=n,this.float32[o+2]=r,this.int16[s+6]=i,this.int16[s+7]=a,e}}no.prototype.bytesPerElement=16,X(`StructArrayLayout2f1f2i16`,no);class ro extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,n,r,i,a)}emplace(e,t,n,r,i,a,o){let s=16*e,c=4*e,l=8*e;return this.uint8[s+0]=t,this.uint8[s+1]=n,this.float32[c+1]=r,this.float32[c+2]=i,this.int16[l+6]=a,this.int16[l+7]=o,e}}ro.prototype.bytesPerElement=16,X(`StructArrayLayout2ub2f2i16`,ro);class io extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=3*e;return this.uint16[i+0]=t,this.uint16[i+1]=n,this.uint16[i+2]=r,e}}io.prototype.bytesPerElement=6,X(`StructArrayLayout3ui6`,io);class ao extends Va{_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,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g){let _=this.length;return this.resize(_+1),this.emplace(_,e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g)}emplace(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_){let v=24*e,y=12*e,b=48*e;return this.int16[v+0]=t,this.int16[v+1]=n,this.uint16[v+2]=r,this.uint16[v+3]=i,this.uint32[y+2]=a,this.uint32[y+3]=o,this.uint32[y+4]=s,this.uint16[v+10]=c,this.uint16[v+11]=l,this.uint16[v+12]=u,this.float32[y+7]=d,this.float32[y+8]=f,this.uint8[b+36]=p,this.uint8[b+37]=m,this.uint8[b+38]=h,this.uint32[y+10]=g,this.int16[v+22]=_,e}}ao.prototype.bytesPerElement=48,X(`StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48`,ao);class oo extends Va{_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,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D){let O=this.length;return this.resize(O+1),this.emplace(O,e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D)}emplace(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O){let k=32*e,A=16*e;return this.int16[k+0]=t,this.int16[k+1]=n,this.int16[k+2]=r,this.int16[k+3]=i,this.int16[k+4]=a,this.int16[k+5]=o,this.int16[k+6]=s,this.int16[k+7]=c,this.uint16[k+8]=l,this.uint16[k+9]=u,this.uint16[k+10]=d,this.uint16[k+11]=f,this.uint16[k+12]=p,this.uint16[k+13]=m,this.uint16[k+14]=h,this.uint16[k+15]=g,this.uint16[k+16]=_,this.uint16[k+17]=v,this.uint16[k+18]=y,this.uint16[k+19]=b,this.uint16[k+20]=x,this.uint16[k+21]=S,this.uint16[k+22]=C,this.uint32[A+12]=w,this.float32[A+13]=T,this.float32[A+14]=E,this.uint16[k+30]=D,this.uint16[k+31]=O,e}}oo.prototype.bytesPerElement=64,X(`StructArrayLayout8i15ui1ul2f2ui64`,oo);class so extends Va{_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){return this.float32[1*e+0]=t,e}}so.prototype.bytesPerElement=4,X(`StructArrayLayout1f4`,so);class co extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=3*e;return this.uint16[6*e+0]=t,this.float32[i+1]=n,this.float32[i+2]=r,e}}co.prototype.bytesPerElement=12,X(`StructArrayLayout1ui2f12`,co);class lo extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=4*e;return this.uint32[2*e+0]=t,this.uint16[i+2]=n,this.uint16[i+3]=r,e}}lo.prototype.bytesPerElement=8,X(`StructArrayLayout1ul2ui8`,lo);class uo extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t){let n=this.length;return this.resize(n+1),this.emplace(n,e,t)}emplace(e,t,n){let r=2*e;return this.uint16[r+0]=t,this.uint16[r+1]=n,e}}uo.prototype.bytesPerElement=4,X(`StructArrayLayout2ui4`,uo);class fo extends Va{_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){return this.uint16[1*e+0]=t,e}}fo.prototype.bytesPerElement=2,X(`StructArrayLayout1ui2`,fo);class po extends Va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n,r){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,n,r)}emplace(e,t,n,r,i){let a=4*e;return this.float32[a+0]=t,this.float32[a+1]=n,this.float32[a+2]=r,this.float32[a+3]=i,e}}po.prototype.bytesPerElement=16,X(`StructArrayLayout4f16`,po);class mo extends Ba{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]}
12get anchorPoint(){return new c(this.anchorPointX,this.anchorPointY)}}mo.prototype.size=20;class ho extends eo{get(e){return new mo(this,e)}}X(`CollisionBoxArray`,ho);class go extends Ba{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]}}go.prototype.size=48;class _o extends ao{get(e){return new go(this,e)}}X(`PlacedSymbolArray`,_o);class vo extends Ba{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]}}vo.prototype.size=64;class yo extends oo{get(e){return new vo(this,e)}}X(`SymbolInstanceArray`,yo);class bo extends so{getoffsetX(e){return this.float32[1*e+0]}}X(`GlyphOffsetArray`,bo);class xo extends Ga{getx(e){return this.int16[3*e+0]}gety(e){return this.int16[3*e+1]}gettileUnitDistanceFromAnchor(e){return this.int16[3*e+2]}}X(`SymbolLineVertexArray`,xo);class So extends Ba{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]}}So.prototype.size=12;class Co extends co{get(e){return new So(this,e)}}X(`TextAnchorOffsetArray`,Co);class wo extends Ba{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]}}wo.prototype.size=8;class To extends lo{get(e){return new wo(this,e)}}X(`FeatureIndexArray`,To);class Eo extends Wa{}class Do extends Wa{}class Oo extends Wa{}class ko extends qa{}class Ao extends Ja{}class jo extends Ya{}class Mo extends Xa{}class No extends Za{}class Po extends Qa{}class Fo extends $a{}class Io extends to{}class Lo extends ro{}class Ro extends io{}class zo extends uo{}let{members:Bo}=Ha([{name:`a_pos`,components:2,type:`Int16`}],4);class Vo{constructor(e=[]){this._forceNewSegmentOnNextPrepare=!1,this.segments=e}prepareSegment(e,t,n,r){let i=this.segments[this.segments.length-1];return e>Vo.MAX_VERTEX_ARRAY_LENGTH&&le(`Max vertices per segment is ${Vo.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${e}. Consider using the \`fillLargeMeshArrays\` function if you require meshes with more than ${Vo.MAX_VERTEX_ARRAY_LENGTH} vertices.`),this._forceNewSegmentOnNextPrepare||!i||i.vertexLength+e>Vo.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==r?this.createNewSegment(t,n,r):i}createNewSegment(e,t,n){let r={vertexOffset:e.length,primitiveOffset:t.length,vertexLength:0,primitiveLength:0,vaos:{}};return n!==void 0&&(r.sortKey=n),this._forceNewSegmentOnNextPrepare=!1,this.segments.push(r),r}getOrCreateLatestSegment(e,t,n){return this.prepareSegment(0,e,t,n)}forceNewSegmentOnNextPrepare(){this._forceNewSegmentOnNextPrepare=!0}get(){return this.segments}destroy(){for(let e of this.segments)for(let t in e.vaos)e.vaos[t].destroy()}static simpleSegment(e,t,n,r){return new Vo([{vertexOffset:e,primitiveOffset:t,vertexLength:n,primitiveLength:r,vaos:{},sortKey:0}])}}function Ho(e,t){return 256*(e=ne(Math.floor(e),0,255))+ne(Math.floor(t),0,255)}Vo.MAX_VERTEX_ARRAY_LENGTH=2**16-1,X(`SegmentVector`,Vo);let Uo=Ha([{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`}]);var Wo,Go,Ko,qo={exports:{}},Jo={exports:{}},Yo={exports:{}},Xo=n(function(){if(Ko)return qo.exports;
12Ko=1;var e=(Wo||(Wo=1,Jo.exports=function(e,t){var n,r,i,a,o,s,c,l;for(r=e.length-(n=3&e.length),i=t,o=3432918353,s=461845907,l=0;l<r;)c=255&e.charCodeAt(l)|(255&e.charCodeAt(++l))<<8|(255&e.charCodeAt(++l))<<16|(255&e.charCodeAt(++l))<<24,++l,i=27492+(65535&(a=5*(65535&(i=(i^=c=(65535&(c=(c=(65535&c)*o+(((c>>>16)*o&65535)<<16)&4294967295)<<15|c>>>17))*s+(((c>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(c=0,n){case 3:c^=(255&e.charCodeAt(l+2))<<16;case 2:c^=(255&e.charCodeAt(l+1))<<8;case 1:i^=c=(65535&(c=(c=(65535&(c^=255&e.charCodeAt(l)))*o+(((c>>>16)*o&65535)<<16)&4294967295)<<15|c>>>17))*s+(((c>>>16)*s&65535)<<16)&4294967295}return i^=e.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0}),Jo.exports),t=(Go||(Go=1,Yo.exports=function(e,t){for(var n,r=e.length,i=t^r,a=0;r>=4;)n=1540483477*(65535&(n=255&e.charCodeAt(a)|(255&e.charCodeAt(++a))<<8|(255&e.charCodeAt(++a))<<16|(255&e.charCodeAt(++a))<<24))+((1540483477*(n>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(n=1540483477*(65535&(n^=n>>>24))+((1540483477*(n>>>16)&65535)<<16)),r-=4,++a;switch(r){case 3:i^=(255&e.charCodeAt(a+2))<<16;case 2:i^=(255&e.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&e.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0}),Yo.exports);return qo.exports=e,qo.exports.murmur3=e,qo.exports.murmur2=t,qo.exports}());class Zo{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(e,t,n,r){this.ids.push(Qo(e)),this.positions.push(t,n,r)}getPositions(e){if(!this.indexed)throw Error(`Trying to get index, but feature positions are not indexed`);let t=Qo(e),n=0,r=this.ids.length-1;for(;n<r;){let e=n+r>>1;this.ids[e]>=t?r=e:n=e+1}let i=[];for(;this.ids[n]===t;)i.push({index:this.positions[3*n],start:this.positions[3*n+1],end:this.positions[3*n+2]}),n++;return i}static serialize(e,t){let n=new Float64Array(e.ids),r=new Uint32Array(e.positions);return $o(n,r,0,n.length-1),t&&t.push(n.buffer,r.buffer),{ids:n,positions:r}}static deserialize(e){let t=new Zo;return t.ids=e.ids,t.positions=e.positions,t.indexed=!0,t}}function Qo(e){let t=+e;return!isNaN(t)&&t<=2**53-1?t:Xo(String(e))}function $o(e,t,n,r){for(;n<r;){let i=e[n+r>>1],a=n-1,o=r+1;for(;;){do a++;while(e[a]<i);do o--;while(e[o]>i);if(a>=o)break;es(e,a,o),es(t,3*a,3*o),es(t,3*a+1,3*o+1),es(t,3*a+2,3*o+2)}o-n<r-o?($o(e,t,n,o),n=o+1):($o(e,t,o+1,r),r=o)}}
12function es(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}X(`FeaturePositionMap`,Zo);class ts{constructor(e,t){this.gl=e.gl,this.location=t}}class ns extends ts{constructor(e,t){super(e,t),this.current=0}set(e){this.current!==e&&(this.current=e,this.gl.uniform1f(this.location,e))}}class rs extends ts{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]))}}class is extends ts{constructor(e,t){super(e,t),this.current=W.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))}}let as=new Float32Array(16);function os(e){return[Ho(255*e.r,255*e.g),Ho(255*e.b,255*e.a)]}class ss{constructor(e,t,n){this.value=e,this.uniformNames=t.map((e=>`u_${e}`)),this.type=n}setUniform(e,t,n){e.set(n.constantOr(this.value))}getBinding(e,t,n){return this.type===`color`?new is(e,t):new ns(e,t)}}class cs{constructor(e,t){this.uniformNames=t.map((e=>`u_${e}`)),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}setUniform(e,t,n,r){let i=r===`u_pattern_to`?this.patternTo:r===`u_pattern_from`?this.patternFrom:r===`u_pixel_ratio_to`?this.pixelRatioTo:r===`u_pixel_ratio_from`?this.pixelRatioFrom:null;i&&e.set(i)}getBinding(e,t,n){return n.substr(0,9)===`u_pattern`?new rs(e,t):new ns(e,t)}}class ls{constructor(e,t,n,r){this.expression=e,this.type=n,this.maxValue=0,this.paintVertexAttributes=t.map((e=>({name:`a_${e}`,type:`Float32`,components:n===`color`?2:1,offset:0}))),this.paintVertexArray=new r}populatePaintArray(e,t,n,r,i){let a=this.paintVertexArray.length,o=this.expression.evaluate(new wa(0),t,{},r,[],i);this.paintVertexArray.resize(e),this._setPaintValue(a,e,o)}updatePaintArray(e,t,n,r){let i=this.expression.evaluate({zoom:0},n,r);this._setPaintValue(e,t,i)}_setPaintValue(e,t,n){if(this.type===`color`){let r=os(n);for(let n=e;n<t;n++)this.paintVertexArray.emplace(n,r[0],r[1])}else{for(let r=e;r<t;r++)this.paintVertexArray.emplace(r,n);this.maxValue=Math.max(this.maxValue,Math.abs(n))}}upload(e){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=e.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}}class us{constructor(e,t,n,r,i,a){this.expression=e,this.uniformNames=t.map((e=>`u_${e}_t`)),this.type=n,this.useIntegerZoom=r,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=t.map((e=>({name:`a_${e}`,type:`Float32`,components:n===`color`?4:2,offset:0}))),this.paintVertexArray=new a}populatePaintArray(e,t,n,r,i){let a=this.expression.evaluate(new wa(this.zoom),t,{},r,[],i),o=this.expression.evaluate(new wa(this.zoom+1),t,{},r,[],i),s=this.paintVertexArray.length;this.paintVertexArray.resize(e),this._setPaintValue(s,e,a,o)}updatePaintArray(e,t,n,r){let i=this.expression.evaluate({zoom:this.zoom},n,r),a=this.expression.evaluate({zoom:this.zoom+1},n,r);this._setPaintValue(e,t,i,a)}_setPaintValue(e,t,n,r){if(this.type===`color`){let i=os(n),a=os(r);for(let n=e;n<t;n++)this.paintVertexArray.emplace(n,i[0],i[1],a[0],a[1])}else{for(let i=e;i<t;i++)this.paintVertexArray.emplace(i,n,r);this.maxValue=Math.max(this.maxValue,Math.abs(n),Math.abs(r))}}upload(e){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.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 n=this.useIntegerZoom?Math.floor(t.zoom):t.zoom,r=ne(this.expression.interpolationFactor(n,this.zoom,this.zoom+1),0,1);e.set(r)}getBinding(e,t,n){return new ns(e,t)}}class ds{constructor(e,t,n,r,i,a){this.expression=e,this.type=t,this.useIntegerZoom=n,this.zoom=r,this.layerId=a,this.zoomInPaintVertexArray=new i,this.zoomOutPaintVertexArray=new i}populatePaintArray(e,t,n){let r=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(e),this.zoomOutPaintVertexArray.resize(e),this._setPaintValues(r,e,t.patterns&&t.patterns[this.layerId],n)}updatePaintArray(e,t,n,r,i){this._setPaintValues(e,t,n.patterns&&n.patterns[this.layerId],i)}_setPaintValues(e,t,n,r){if(!r||!n)return;let{min:i,mid:a,max:o}=n,s=r[i],c=r[a],l=r[o];if(s&&c&&l)for(let n=e;n<t;
12n++)this.zoomInPaintVertexArray.emplace(n,c.tl[0],c.tl[1],c.br[0],c.br[1],s.tl[0],s.tl[1],s.br[0],s.br[1],c.pixelRatio,s.pixelRatio),this.zoomOutPaintVertexArray.emplace(n,c.tl[0],c.tl[1],c.br[0],c.br[1],l.tl[0],l.tl[1],l.br[0],l.br[1],c.pixelRatio,l.pixelRatio)}upload(e){this.zoomInPaintVertexArray&&this.zoomInPaintVertexArray.arrayBuffer&&this.zoomOutPaintVertexArray&&this.zoomOutPaintVertexArray.arrayBuffer&&(this.zoomInPaintVertexBuffer=e.createVertexBuffer(this.zoomInPaintVertexArray,Uo.members,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=e.createVertexBuffer(this.zoomOutPaintVertexArray,Uo.members,this.expression.isStateDependent))}destroy(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()}}class fs{constructor(e,t,n){this.binders={},this._buffers=[];let r=[];for(let i in e.paint._values){if(!n(i))continue;let a=e.paint.get(i);if(!(a instanceof ja&&Ur(a.property.specification)))continue;let o=ms(i,e.type),s=a.value,c=a.property.specification.type,l=a.property.useIntegerZoom,u=a.property.specification[`property-type`],d=u===`cross-faded`||u===`cross-faded-data-driven`;if(s.kind===`constant`)this.binders[i]=d?new cs(s.value,o):new ss(s.value,o,c),r.push(`/u_${i}`);else if(s.kind===`source`||d){let n=hs(i,c,`source`);this.binders[i]=d?new ds(s,c,l,t,n,e.id):new ls(s,o,c,n),r.push(`/a_${i}`)}else{let e=hs(i,c,`composite`);this.binders[i]=new us(s,o,c,l,t,e),r.push(`/z_${i}`)}}this.cacheKey=r.sort().join(``)}getMaxValue(e){let t=this.binders[e];return t instanceof ls||t instanceof us?t.maxValue:0}populatePaintArrays(e,t,n,r,i){for(let a in this.binders){let o=this.binders[a];(o instanceof ls||o instanceof us||o instanceof ds)&&o.populatePaintArray(e,t,n,r,i)}}setConstantPatternPositions(e,t){for(let n in this.binders){let r=this.binders[n];r instanceof cs&&r.setConstantPatternPositions(e,t)}}updatePaintArrays(e,t,n,r,i){let a=!1;for(let o in e){let s=t.getPositions(o);for(let t of s){let s=n.feature(t.index);for(let n in this.binders){let c=this.binders[n];(c instanceof ls||c instanceof us||c instanceof ds)&&!0===c.expression.isStateDependent&&(c.expression=r.paint.get(n).value,c.updatePaintArray(t.start,t.end,s,e[o],i),a=!0)}}}return a}defines(){let e=[];for(let t in this.binders){let n=this.binders[t];(n instanceof ss||n instanceof cs)&&e.push(...n.uniformNames.map((e=>`#define HAS_UNIFORM_${e}`)))}return e}getBinderAttributes(){let e=[];for(let t in this.binders){let n=this.binders[t];if(n instanceof ls||n instanceof us)for(let t=0;t<n.paintVertexAttributes.length;t++)e.push(n.paintVertexAttributes[t].name);else if(n instanceof ds)for(let t=0;t<Uo.members.length;t++)e.push(Uo.members[t].name)}return e}getBinderUniforms(){let e=[];for(let t in this.binders){let n=this.binders[t];if(n instanceof ss||n instanceof cs||n instanceof us)for(let t of n.uniformNames)e.push(t)}return e}getPaintVertexBuffers(){return this._buffers}getUniforms(e,t){let n=[];for(let r in this.binders){let i=this.binders[r];if(i instanceof ss||i instanceof cs||i instanceof us){for(let a of i.uniformNames)if(t[a]){let o=i.getBinding(e,t[a],a);n.push({name:a,property:r,binding:o})}}}return n}setUniforms(e,t,n,r){for(let{name:e,property:i,binding:a}of t)this.binders[i].setUniform(a,r,n.get(i),e)}updatePaintBuffers(e){this._buffers=[];for(let t in this.binders){let n=this.binders[t];if(e&&n instanceof ds){let t=e.fromScale===2?n.zoomInPaintVertexBuffer:n.zoomOutPaintVertexBuffer;t&&this._buffers.push(t)}else (n instanceof ls||n instanceof us)&&n.paintVertexBuffer&&this._buffers.push(n.paintVertexBuffer)}}upload(e){for(let t in this.binders){let n=this.binders[t];(n instanceof ls||n instanceof us||n instanceof ds)&&n.upload(e)}this.updatePaintBuffers()}destroy(){for(let e in this.binders){let t=this.binders[e];(t instanceof ls||t instanceof us||t instanceof ds)&&t.destroy()}}}class ps{constructor(e,t,n=(()=>!0)){this.programConfigurations={};for(let r of e)this.programConfigurations[r.id]=new fs(r,t,n);this.needsUpload=!1,this._featureMap=new Zo,this._bufferOffset=0}populatePaintArrays(e,t,n,r,i,a){for(let n in this.programConfigurations)this.programConfigurations[n].populatePaintArrays(e,t,r,i,a);t.id!==void 0&&this._featureMap.add(t.id,n,this._bufferOffset,e),this._bufferOffset=e,this.needsUpload=!0}updatePaintArrays(e,t,n,r){for(let i of n)this.needsUpload=this.programConfigurations[i.id].updatePaintArrays(e,this._featureMap,t,i,r)||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 ms(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-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 hs(e,t,n){let r={color:{source:Ya,composite:po},number:{source:so,composite:Ya}},i=function(e){return{"line-pattern":{source:Mo,composite:Mo},"fill-pattern":{source:Mo,composite:Mo},"fill-extrusion-pattern":{source:Mo,composite:Mo}}[e]}(e);return i&&i[n]||r[t][n]}X(`ConstantBinder`,ss),X(`CrossFadedConstantBinder`,cs),X(`SourceExpressionBinder`,ls),X(`CrossFadedCompositeBinder`,ds),X(`CompositeExpressionBinder`,us),X(`ProgramConfiguration`,fs,{omit:[`_buffers`]}),X(`ProgramConfigurationSet`,ps);let gs=2**14-1,_s=-gs-1;function vs(e){let t=D/e.extent,n=e.loadGeometry();for(let e=0;e<n.length;e++){let r=n[e];for(let e=0;e<r.length;e++){let n=r[e],i=Math.round(n.x*t),a=Math.round(n.y*t);n.x=ne(i,_s,gs),n.y=ne(a,_s,gs),(i<n.x||i>n.x+1||a<n.y||a>n.y+1)&&le(`Geometry exceeds allowed extent, reduce your vector tile buffer size`)}}return n}function ys(e,t){return{type:e.type,id:e.id,properties:e.properties,geometry:t?vs(e):[]}}let bs=-32768;function xs(e,t,n,r,i){e.emplaceBack(bs+8*t+r,bs+8*n+i)}class Ss{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=e.index,this.hasPattern=!1,this.layoutVertexArray=new Do,this.indexArray=new Ro,this.segments=new Vo,this.programConfigurations=new ps(e.layers,e.zoom),this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,n){let r=this.layers[0],i=[],a=null,o=!1,s=r.type===`heatmap`;if(r.type===`circle`){let e=r;a=e.layout.get(`circle-sort-key`),o=!a.isConstant(),s||=e.paint.get(`circle-pitch-alignment`)===`map`}let c=s?t.subdivisionGranularity.circle:1;for(let{feature:t,id:r,index:s,sourceLayerIndex:c}of e){let e=this.layers[0]._featureFilter.needGeometry,l=ys(t,e);if(!this.layers[0]._featureFilter.filter(new wa(this.zoom),l,n))continue;let u=o?a.evaluate(l,{},n):void 0,d={id:r,properties:t.properties,type:t.type,sourceLayerIndex:c,index:s,geometry:e?l.geometry:vs(t),patterns:{},sortKey:u};i.push(d)}o&&i.sort(((e,t)=>
12e.sortKey-t.sortKey));for(let r of i){let{geometry:i,index:a,sourceLayerIndex:o}=r,s=e[a].feature;this.addFeature(r,i,a,n,c),t.featureIndex.insert(s,i,a,o,this.index)}}update(e,t,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,n)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,Bo),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,n,r,i=1){let a;switch(i){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: ${i}; valid values are 1, 3, 5, 7.`)}let o=a.length;for(let n of t)for(let t of n){let n=t.x,r=t.y;if(n<0||n>=D||r<0||r>=D)continue;let i=this.segments.prepareSegment(o*o,this.layoutVertexArray,this.indexArray,e.sortKey),s=i.vertexLength;for(let e=0;e<o;e++)for(let t=0;t<o;t++)xs(this.layoutVertexArray,n,r,a[t],a[e]);for(let e=0;e<o-1;e++)for(let t=0;t<o-1;t++){let n=s+e*o+t,r=s+(e+1)*o+t;this.indexArray.emplaceBack(n,r+1,n+1),this.indexArray.emplaceBack(n,r,r+1)}i.vertexLength+=o*o,i.primitiveLength+=(o-1)*(o-1)*2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,{},r)}}function Cs(e,t){for(let n=0;n<e.length;n++)if(Ms(t,e[n]))return!0;for(let n=0;n<t.length;n++)if(Ms(e,t[n]))return!0;return!!Ds(e,t)}function ws(e,t,n){return!!Ms(e,t)||!!ks(t,e,n)}function Ts(e,t){if(e.length===1)return js(t,e[0]);for(let n=0;n<t.length;n++){let r=t[n];for(let t=0;t<r.length;t++)if(Ms(e,r[t]))return!0}for(let n=0;n<e.length;n++)if(js(t,e[n]))return!0;for(let n=0;n<t.length;n++)if(Ds(e,t[n]))return!0;return!1}function Es(e,t,n){if(e.length>1){if(Ds(e,t))return!0;for(let r=0;r<t.length;r++)if(ks(t[r],e,n))return!0}for(let r=0;r<e.length;r++)if(ks(e[r],t,n))return!0;return!1}function Ds(e,t){if(e.length===0||t.length===0)return!1;for(let n=0;n<e.length-1;n++){let r=e[n],i=e[n+1];for(let e=0;e<t.length-1;e++)if(Os(r,i,t[e],t[e+1]))return!0}return!1}function Os(e,t,n,r){return N(e,n,r)!==N(t,n,r)&&N(e,t,n)!==N(e,t,r)}function ks(e,t,n){let r=n*n;if(t.length===1)return e.distSqr(t[0])<r;for(let n=1;n<t.length;n++)if(As(e,t[n-1],t[n])<r)return!0;return!1}function As(e,t,n){let r=t.distSqr(n);if(r===0)return e.distSqr(t);let i=((e.x-t.x)*(n.x-t.x)+(e.y-t.y)*(n.y-t.y))/r;return e.distSqr(i<0?t:i>1?n:n.sub(t)._mult(i)._add(t))}function js(e,t){for(let n=0;n<e.length;n++)if(Ms(e[n],t))return!0;return!1}function Ms(e,t){let n=!1;for(let r=0,i=e.length-1;r<e.length;i=r++){let a=e[r],o=e[i];a.y>t.y!=o.y>t.y&&t.x<(o.x-a.x)*(t.y-a.y)/(o.y-a.y)+a.x&&(n=!n)}return n}function Ns(e,t,n){let r=n[0],i=n[2];if(e.x<r.x&&t.x<r.x||e.x>i.x&&t.x>i.x||e.y<r.y&&t.y<r.y||e.y>i.y&&t.y>i.y)return!1;let a=N(e,t,n[0]);return a!==N(e,t,n[1])||a!==N(e,t,n[2])||a!==N(e,t,n[3])}function Ps(e,t,n){let r=t.paint.get(e).value;return r.kind===`constant`?r.value:n.programConfigurations.get(t.id).getMaxValue(e)}function Fs(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1])}function Is(e,t,n,r,i){if(!t[0]&&!t[1])return e;let a=c.convert(t)._mult(i);n===`viewport`&&a._rotate(-r);let o=[];for(let t=0;t<e.length;t++)o.push(e[t].sub(a));return o}let Ls,Rs;X(`CircleBucket`,Ss,{omit:[`layers`]});var zs={get paint(){return Rs||=new Ia({"circle-radius":new $(L.paint_circle[`circle-radius`]),"circle-color":new $(L.paint_circle[`circle-color`]),"circle-blur":new $(L.paint_circle[`circle-blur`]),"circle-opacity":new $(L.paint_circle[`circle-opacity`]),"circle-translate":new Q(L.paint_circle[`circle-translate`]),"circle-translate-anchor":new Q(L.paint_circle[`circle-translate-anchor`]),"circle-pitch-scale":new Q(L.paint_circle[`circle-pitch-scale`]),"circle-pitch-alignment":new Q(L.paint_circle[`circle-pitch-alignment`]),"circle-stroke-width":new $(L.paint_circle[`circle-stroke-width`]),"circle-stroke-color":new $(L.paint_circle[`circle-stroke-color`]),"circle-stroke-opacity":new $(L.paint_circle[`circle-stroke-opacity`])})},get layout(){return Ls||=new Ia({"circle-sort-key":new $(L.layout_circle[`circle-sort-key`])})}};class Bs extends Ra{constructor(e){super(e,zs)}createBucket(e){return new Ss(e)}queryRadius(e){let t=e;return Ps(`circle-radius`,this,t)+Ps(`circle-stroke-width`,this,t)+Fs(this.paint.get(`circle-translate`))}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:n,geometry:r,transform:i,pixelsToTileUnits:a,unwrappedTileID:o,getElevation:s}){let c=Is(e,this.paint.get(`circle-translate`),this.paint.get(`circle-translate-anchor`),-i.bearingInRadians,a),l=this.paint.get(`circle-radius`).evaluate(t,n)+this.paint.get(`circle-stroke-width`).evaluate(t,n),u=this.paint.get(`circle-pitch-alignment`)===`map`,d=u?c:function(e,t,n,r){return e.map((e=>Vs(e,t,n,r)))}(c,i,o,s),f=u?l*a:l;for(let e of r)for(let t of e){let e=u?t:Vs(t,i,o,s),n=f,r=i.projectTileCoordinates(t.x,t.y,o,s).signedDistanceFromCamera;if(this.paint.get(`circle-pitch-scale`)===`viewport`&&this.paint.get(`circle-pitch-alignment`)===`map`?n*=r/i.cameraToCenterDistance:this.paint.get(`circle-pitch-scale`)===`map`&&this.paint.get(`circle-pitch-alignment`)===`viewport`&&(n*=i.cameraToCenterDistance/r),ws(d,e,n))return!0}return!1}}function Vs(e,t,n,r){let i=t.projectTileCoordinates(e.x,e.y,n,r).point;return new c((.5*i.x+.5)*t.width,(.5*-i.y+.5)*t.height)}class Hs extends Ss{}let Us;X(`HeatmapBucket`,Hs,{omit:[`layers`]});var Ws={get paint(){return Us||=new Ia({"heatmap-radius":new $(L.paint_heatmap[`heatmap-radius`]),"heatmap-weight":new $(L.paint_heatmap[`heatmap-weight`]),"heatmap-intensity":new Q(L.paint_heatmap[`heatmap-intensity`]),"heatmap-color":new Fa(L.paint_heatmap[`heatmap-color`]),"heatmap-opacity":new Q(L.paint_heatmap[`heatmap-opacity`])})}};function Gs(e,{width:t,height:n},r,i){if(i){if(i instanceof Uint8ClampedArray)i=new Uint8Array(i.buffer);else if(i.length!==t*n*r)throw RangeError(`mismatched image size. expected: ${i.length} but got: ${t*n*r}`)}else i=new Uint8Array(t*n*r);return e.width=t,e.height=n,e.data=i,e}function Ks(e,{width:t,height:n},r){if(t===e.width&&n===e.height)return;let i=Gs({},{width:t,height:n},r);qs(e,i,{x:0,y:0},{x:0,y:0},{width:Math.min(e.width,t),height:Math.min(e.height,n)},r),e.width=t,e.height=n,e.data=i.data}function qs(e,t,n,r,i,a){if(i.width===0||i.height===0)return t;if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw RangeError(`out of range source coordinates for image copy`);if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw RangeError(`out of range destination coordinates for image copy`);let o=e.data,s=t.data;if(o===s)throw Error(`srcData equals dstData, so image is already copied`);for(let c=0;c<i.height;c++){let l=((n.y+c)*e.width+n.x)*a,u=((r.y+c)*t.width+r.x)*a;for(let e=0;e<i.width*a;e++)s[u+e]=o[l+e]}return t}
12class Js{constructor(e,t){Gs(this,e,1,t)}resize(e){Ks(this,e,1)}clone(){return new Js({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(e,t,n,r,i){qs(e,t,n,r,i,1)}}class Ys{constructor(e,t){Gs(this,e,4,t)}resize(e){Ks(this,e,4)}replace(e,t){t?this.data.set(e):this.data=e instanceof Uint8ClampedArray?new Uint8Array(e.buffer):e}clone(){return new Ys({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(e,t,n,r,i){qs(e,t,n,r,i,4)}}function Xs(e){let t={},n=e.resolution||256,r=e.clips?e.clips.length:1,i=e.image||new Ys({width:n,height:r});if(Math.log(n)/Math.LN2%1!=0)throw Error(`width is not a power of 2 - ${n}`);let a=(n,r,a)=>{t[e.evaluationKey]=a;let o=e.expression.evaluate(t);i.data[n+r+0]=Math.floor(255*o.r/o.a),i.data[n+r+1]=Math.floor(255*o.g/o.a),i.data[n+r+2]=Math.floor(255*o.b/o.a),i.data[n+r+3]=Math.floor(255*o.a)};if(e.clips)for(let t=0,i=0;t<r;++t,i+=4*n)for(let r=0,o=0;r<n;r++,o+=4){let s=r/(n-1),{start:c,end:l}=e.clips[t];a(i,o,c*(1-s)+l*s)}else for(let e=0,t=0;e<n;e++,t+=4)a(0,t,e/(n-1));return i}X(`AlphaImage`,Js),X(`RGBAImage`,Ys);let Zs=`big-fb`;class Qs extends Ra{createBucket(e){return new Hs(e)}constructor(e){super(e,Ws),this.heatmapFbos=new Map,this._updateColorRamp()}_handleSpecialPaintPropertyUpdate(e){e===`heatmap-color`&&this._updateColorRamp()}_updateColorRamp(){this.colorRamp=Xs({expression:this._transitionablePaint._values[`heatmap-color`].value.expression,evaluationKey:`heatmapDensity`,image:this.colorRamp}),this.colorRampTexture=null}resize(){this.heatmapFbos.has(Zs)&&this.heatmapFbos.delete(Zs)}queryRadius(){return 0}queryIntersectsFeature(){return!1}hasOffscreenPass(){return this.paint.get(`heatmap-opacity`)!==0&&this.visibility!==`none`}}let $s;var ec={get paint(){return $s||=new Ia({"hillshade-illumination-direction":new Q(L.paint_hillshade[`hillshade-illumination-direction`]),"hillshade-illumination-altitude":new Q(L.paint_hillshade[`hillshade-illumination-altitude`]),"hillshade-illumination-anchor":new Q(L.paint_hillshade[`hillshade-illumination-anchor`]),"hillshade-exaggeration":new Q(L.paint_hillshade[`hillshade-exaggeration`]),"hillshade-shadow-color":new Q(L.paint_hillshade[`hillshade-shadow-color`]),"hillshade-highlight-color":new Q(L.paint_hillshade[`hillshade-highlight-color`]),"hillshade-accent-color":new Q(L.paint_hillshade[`hillshade-accent-color`]),"hillshade-method":new Q(L.paint_hillshade[`hillshade-method`])})}};class tc extends Ra{constructor(e){super(e,ec),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,n=this.paint.get(`hillshade-highlight-color`).values,r=this.paint.get(`hillshade-shadow-color`).values,i=Math.max(e.length,t.length,n.length,r.length);e=e.concat(Array(i-e.length).fill(e.at(-1))),t=t.concat(Array(i-t.length).fill(t.at(-1))),n=n.concat(Array(i-n.length).fill(n.at(-1))),r=r.concat(Array(i-r.length).fill(r.at(-1)));let a=t.map(he);return{directionRadians:e.map(he),altitudeRadians:a,shadowColor:r,highlightColor:n}}hasOffscreenPass(){return this.paint.get(`hillshade-exaggeration`)!==0&&this.visibility!==`none`}}let{members:nc}=Ha([{name:`a_pos`,components:2,type:`Int16`}],4);function rc(e,t,n){let r=n.patternDependencies,i=!1;for(let n of t){let t=n.paint.get(`${e}-pattern`);t.isConstant()||(i=!0);let a=t.constantOr(null);a&&(i=!0,r[a.to]=!0,r[a.from]=!0)}return i}function ic(e,t,n,r,i){let a=i.patternDependencies;for(let o of t){let t=o.paint.get(`${e}-pattern`).value;if(t.kind!==`constant`){let e=t.evaluate({zoom:r-1},n,{},i.availableImages),s=t.evaluate({zoom:r},n,{},i.availableImages),c=t.evaluate({zoom:r+1},n,{},i.availableImages);e=e&&e.name?e.name:e,s=s&&s.name?s.name:s,c=c&&c.name?c.name:c,a[e]=!0,a[s]=!0,a[c]=!0,n.patterns[o.id]={min:e,mid:s,max:c}}}return n}function ac(e,t,n,r,i){let a;if(i===function(e,t,n,r){let i=0;for(let a=t,o=n-r;a<n;a+=r)i+=(e[o]-e[a])*(e[a+1]+e[o+1]),o=a;return i}(e,t,n,r)>0)for(let i=t;i<n;i+=r)a=Dc(i/r|0,e[i],e[i+1],a);else for(let i=n-r;i>=t;i-=r)a=Dc(i/r|0,e[i],e[i+1],a);return a&&xc(a,a.next)&&(Oc(a),a=a.next),a}function oc(e,t){if(!e)return e;t||=e;let n,r=e;do if(n=!1,r.steiner||!xc(r,r.next)&&bc(r.prev,r,r.next)!==0)r=r.next;else{if(Oc(r),r=t=r.prev,r===r.next)break;n=!0}while(n||r!==t);return t}function sc(e,t,n,r,i,a,o){if(!e)return;!o&&a&&function(e,t,n,r){let i=e;do i.z===0&&(i.z=hc(i.x,i.y,t,n,r)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,function(e){let t,n=1;do{let r,i=e;e=null;let a=null;for(t=0;i;){t++;let o=i,s=0;for(let e=0;e<n&&(s++,o=o.nextZ,o);e++);let c=n;for(;s>0||c>0&&o;)s!==0&&(c===0||!o||i.z<=o.z)?(r=i,i=i.nextZ,s--):(r=o,o=o.nextZ,c--),a?a.nextZ=r:e=r,r.prevZ=a,a=r;i=o}a.nextZ=null,n*=2}while(t>1)}(i)}(e,r,i,a);let s=e;for(;e.prev!==e.next;){let c=e.prev,l=e.next;if(a?lc(e,r,i,a):cc(e))t.push(c.i,e.i,l.i),Oc(e),e=l.next,s=l.next;else if((e=l)===s){o?o===1?sc(e=uc(oc(e),t),t,n,r,i,a,2):o===2&&dc(e,t,n,r,i,a):sc(oc(e),t,n,r,i,a,1);break}}}function cc(e){let t=e.prev,n=e,r=e.next;if(bc(t,n,r)>=0)return!1;let i=t.x,a=n.x,o=r.x,s=t.y,c=n.y,l=r.y,u=Math.min(i,a,o),d=Math.min(s,c,l),f=Math.max(i,a,o),p=Math.max(s,c,l),m=r.next;for(;m!==t;){if(m.x>=u&&m.x<=f&&m.y>=d&&m.y<=p&&vc(i,s,a,c,o,l,m.x,m.y)&&bc(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function lc(e,t,n,r){let i=e.prev,a=e,o=e.next;if(bc(i,a,o)>=0)return!1;
12let s=i.x,c=a.x,l=o.x,u=i.y,d=a.y,f=o.y,p=Math.min(s,c,l),m=Math.min(u,d,f),h=Math.max(s,c,l),g=Math.max(u,d,f),_=hc(p,m,t,n,r),v=hc(h,g,t,n,r),y=e.prevZ,b=e.nextZ;for(;y&&y.z>=_&&b&&b.z<=v;){if(y.x>=p&&y.x<=h&&y.y>=m&&y.y<=g&&y!==i&&y!==o&&vc(s,u,c,d,l,f,y.x,y.y)&&bc(y.prev,y,y.next)>=0||(y=y.prevZ,b.x>=p&&b.x<=h&&b.y>=m&&b.y<=g&&b!==i&&b!==o&&vc(s,u,c,d,l,f,b.x,b.y)&&bc(b.prev,b,b.next)>=0))return!1;b=b.nextZ}for(;y&&y.z>=_;){if(y.x>=p&&y.x<=h&&y.y>=m&&y.y<=g&&y!==i&&y!==o&&vc(s,u,c,d,l,f,y.x,y.y)&&bc(y.prev,y,y.next)>=0)return!1;y=y.prevZ}for(;b&&b.z<=v;){if(b.x>=p&&b.x<=h&&b.y>=m&&b.y<=g&&b!==i&&b!==o&&vc(s,u,c,d,l,f,b.x,b.y)&&bc(b.prev,b,b.next)>=0)return!1;b=b.nextZ}return!0}function uc(e,t){let n=e;do{let r=n.prev,i=n.next.next;!xc(r,i)&&Sc(r,n,n.next,i)&&Tc(r,i)&&Tc(i,r)&&(t.push(r.i,n.i,i.i),Oc(n),Oc(n.next),n=e=i),n=n.next}while(n!==e);return oc(n)}function dc(e,t,n,r,i,a){let o=e;do{let e=o.next.next;for(;e!==o.prev;){if(o.i!==e.i&&yc(o,e)){let s=Ec(o,e);o=oc(o,o.next),s=oc(s,s.next),sc(o,t,n,r,i,a,0),sc(s,t,n,r,i,a,0);return}e=e.next}o=o.next}while(o!==e)}function fc(e,t){let n=e.x-t.x;return n===0&&(n=e.y-t.y,n===0)&&(n=(e.next.y-e.y)/(e.next.x-e.x)-(t.next.y-t.y)/(t.next.x-t.x)),n}function pc(e,t){let n=function(e,t){let n=t,r=e.x,i=e.y,a,o=-1/0;if(xc(e,n))return n;do{if(xc(e,n.next))return n.next;if(i<=n.y&&i>=n.next.y&&n.next.y!==n.y){let e=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(e<=r&&e>o&&(o=e,a=n.x<n.next.x?n:n.next,e===r))return a}n=n.next}while(n!==t);if(!a)return null;let s=a,c=a.x,l=a.y,u=1/0;n=a;do{if(r>=n.x&&n.x>=c&&r!==n.x&&_c(i<l?r:o,i,c,l,i<l?o:r,i,n.x,n.y)){let t=Math.abs(i-n.y)/(r-n.x);Tc(n,e)&&(t<u||t===u&&(n.x>a.x||n.x===a.x&&mc(a,n)))&&(a=n,u=t)}n=n.next}while(n!==s);return a}(e,t);if(!n)return t;let r=Ec(n,e);return oc(r,r.next),oc(n,n.next)}function mc(e,t){return bc(e.prev,e,t.prev)<0&&bc(t.next,e,e.next)<0}function hc(e,t,n,r,i){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-n)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-r)*i|0)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function gc(e){let t=e,n=e;do(t.x<n.x||t.x===n.x&&t.y<n.y)&&(n=t),t=t.next;while(t!==e);return n}function _c(e,t,n,r,i,a,o,s){return(i-o)*(t-s)>=(e-o)*(a-s)&&(e-o)*(r-s)>=(n-o)*(t-s)&&(n-o)*(a-s)>=(i-o)*(r-s)}function vc(e,t,n,r,i,a,o,s){return!(e===o&&t===s)&&_c(e,t,n,r,i,a,o,s)}function yc(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){let n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&Sc(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}(e,t)&&(Tc(e,t)&&Tc(t,e)&&function(e,t){let n=e,r=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do n.y>a!=n.next.y>a&&n.next.y!==n.y&&i<(n.next.x-n.x)*(a-n.y)/(n.next.y-n.y)+n.x&&(r=!r),n=n.next;while(n!==e);return r}(e,t)&&(bc(e.prev,e,t.prev)||bc(e,t.prev,t))||xc(e,t)&&bc(e.prev,e,e.next)>0&&bc(t.prev,t,t.next)>0)}function bc(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function xc(e,t){return e.x===t.x&&e.y===t.y}function Sc(e,t,n,r){let i=wc(bc(e,t,n)),a=wc(bc(e,t,r)),o=wc(bc(n,r,e)),s=wc(bc(n,r,t));return i!==a&&o!==s||!(i!==0||!Cc(e,n,t))||!(a!==0||!Cc(e,r,t))||!(o!==0||!Cc(n,e,r))||!(s!==0||!Cc(n,t,r))}function Cc(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function wc(e){return e>0?1:e<0?-1:0}function Tc(e,t){return bc(e.prev,e,e.next)<0?bc(e,t,e.next)>=0&&bc(e,e.prev,t)>=0:bc(e,t,e.prev)<0||bc(e,e.next,t)<0}function Ec(e,t){let n=kc(e.i,e.x,e.y),r=kc(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,n.next=i,i.prev=n,r.next=n,n.prev=r,a.next=r,r.prev=a,r}function Dc(e,t,n,r){let i=kc(e,t,n);return r?(i.next=r.next,i.prev=r,r.next.prev=i,r.next=i):(i.prev=i,i.next=i),i}function Oc(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)}function kc(e,t,n){return{i:e,x:t,y:n,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}class Ac{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){return Math.max(Math.floor(this._baseZoomGranularity/(1<<e)),this._minGranularity,1)}}class jc{constructor(e){this.fill=e.fill,this.line=e.line,this.tile=e.tile,this.stencil=e.stencil,this.circle=e.circle}}jc.noSubdivision=new jc({fill:new Ac(0,0),line:new Ac(0,0),tile:new Ac(0,0),stencil:new Ac(0,0),circle:1}),X(`SubdivisionGranularityExpression`,Ac),X(`SubdivisionGranularitySetting`,jc);let Mc=-32768,Nc=32767;class Pc{constructor(e,t){this._vertexBuffer=[],this._vertexDictionary=new Map,this._used=!1,this._granularity=e,this._granularityCellSize=D/e,this._canonical=t}_getKey(e,t){return(e+=32768)<<16|(t+=32768)<<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 n=0|Math.round(e),r=0|Math.round(t),i=this._getKey(n,r);if(this._vertexDictionary.has(i))return this._vertexDictionary.get(i);let a=this._vertexBuffer.length/2;return this._vertexDictionary.set(i,a),this._vertexBuffer.push(n,r),a}_subdivideTrianglesScanline(e){if(this._granularity<2)return function(e,t){let n=[];for(let r=0;r<t.length;r+=3){let i=t[r],a=t[r+1],o=t[r+2],s=e[2*i],c=e[2*i+1];(e[2*a]-s)*(e[2*o+1]-c)-(e[2*a+1]-c)*(e[2*o]-s)>0?(n.push(i),n.push(o),n.push(a)):(n.push(i),n.push(a),n.push(o))}return n}(this._vertexBuffer,e);let t=[],n=e.length;for(let r=0;r<n;r+=3){let n=[e[r+0],e[r+1],e[r+2]],i=[this._vertexBuffer[2*e[r+0]+0],this._vertexBuffer[2*e[r+0]+1],this._vertexBuffer[2*e[r+1]+0],this._vertexBuffer[2*e[r+1]+1],this._vertexBuffer[2*e[r+2]+0],this._vertexBuffer[2*e[r+2]+1]],a=1/0,o=1/0,s=-1/0,c=-1/0;for(let e=0;e<3;e++){let t=i[2*e],n=i[2*e+1];a=Math.min(a,t),s=Math.max(s,t),o=Math.min(o,n),c=Math.max(c,n)}if(a===s||o===c)continue;let l=Math.floor(a/this._granularityCellSize),u=Math.ceil(s/this._granularityCellSize),d=Math.floor(o/this._granularityCellSize),f=Math.ceil(c/this._granularityCellSize);if(l!==u||d!==f)for(let e=d;e<f;e++){let r=this._scanlineGenerateVertexRingForCellRow(e,i,n);Lc(this._vertexBuffer,r,t)}else t.push(...n)}return t}_scanlineGenerateVertexRingForCellRow(e,t,n){let r=e*this._granularityCellSize,i=r+this._granularityCellSize,a=[];for(let e=0;e<3;e++){let o=t[2*e],s=t[2*e+1],c=t[2*(e+1)%6],l=t[(2*(e+1)+1)%6],u=t[2*(e+2)%6],d=t[(2*(e+2)+1)%6],f=c-o,p=l-s,m=f===0,h=p===0,g=(r-s)/p,_=(i-s)/p,v=Math.min(g,_),y=Math.max(g,_);if(!h&&(v>=1||y<=0)||h&&(s<r||s>i)){l>=r&&l<=i&&a.push(n[(e+1)%3]);continue}!h&&v>0&&a.push(this._vertexToIndex(o+f*v,s+p*v));let b=o+f*Math.max(v,0),x=o+f*Math.min(y,1);m||this._generateIntraEdgeVertices(a,o,s,c,l,b,x),!h&&y<1&&a.push(this._vertexToIndex(o+f*y,s+p*y)),(h||l>=r&&l<=i)&&a.push(n[(e+1)%3]),!h&&(l<=r||l>=i)&&this._generateInterEdgeVertices(a,o,s,c,l,u,d,x,r,i)}return a}_generateIntraEdgeVertices(e,t,n,r,i,a,o){let s=r-t,c=i-n,l=c===0,u=l?Math.min(t,r):Math.min(a,o),d=l?Math.max(t,r):Math.max(a,o),f=Math.floor(u/this._granularityCellSize)+1,p=Math.ceil(d/this._granularityCellSize)-1;
12if(l?t<r:a<o)for(let r=f;r<=p;r++){let i=r*this._granularityCellSize;e.push(this._vertexToIndex(i,n+c*(i-t)/s))}else for(let r=p;r>=f;r--){let i=r*this._granularityCellSize;e.push(this._vertexToIndex(i,n+c*(i-t)/s))}}_generateInterEdgeVertices(e,t,n,r,i,a,o,s,c,l){let u=i-n,d=a-r,f=o-i,p=(c-i)/f,m=(l-i)/f,h=Math.min(p,m),g=Math.max(p,m),_=r+d*h,v=Math.floor(Math.min(_,s)/this._granularityCellSize)+1,y=Math.ceil(Math.max(_,s)/this._granularityCellSize)-1,b=s<_,x=f===0;if(x&&(o===c||o===l))return;if(x||h>=1||g<=0){let e=n-o,r=a+(t-a)*Math.min((c-o)/e,(l-o)/e);v=Math.floor(Math.min(r,s)/this._granularityCellSize)+1,y=Math.ceil(Math.max(r,s)/this._granularityCellSize)-1,b=s<r}let S=u>0?l:c;if(b)for(let t=v;t<=y;t++)e.push(this._vertexToIndex(t*this._granularityCellSize,S));else for(let t=y;t>=v;t--)e.push(this._vertexToIndex(t*this._granularityCellSize,S))}_generateOutline(e){let t=[];for(let n of e){let e=Ic(n,this._granularity,!0),r=this._pointArrayToIndices(e),i=[];for(let e=1;e<r.length;e++)i.push(r[e-1]),i.push(r[e]);t.push(i)}return t}_handlePoles(e){let t=!1,n=!1;this._canonical&&(this._canonical.y===0&&(t=!0),this._canonical.y===(1<<this._canonical.z)-1&&(n=!0)),(t||n)&&this._fillPoles(e,t,n)}_ensureNoPoleVertices(){let e=this._vertexBuffer;for(let t=0;t<e.length;t+=2){let n=e[t+1];n===Mc&&(e[t+1]=-32767),n===Nc&&(e[t+1]=32766)}}_generatePoleQuad(e,t,n,r,i,a){r>i==(a===Mc)?(e.push(n),e.push(t),e.push(this._vertexToIndex(r,a)),e.push(this._vertexToIndex(i,a)),e.push(n),e.push(this._vertexToIndex(r,a))):(e.push(t),e.push(n),e.push(this._vertexToIndex(r,a)),e.push(n),e.push(this._vertexToIndex(i,a)),e.push(this._vertexToIndex(r,a)))}_fillPoles(e,t,n){let r=this._vertexBuffer,i=D,a=e.length;for(let o=2;o<a;o+=3){let a=e[o-2],s=e[o-1],c=e[o],l=r[2*a],u=r[2*a+1],d=r[2*s],f=r[2*s+1],p=r[2*c],m=r[2*c+1];t&&(u===0&&f===0&&this._generatePoleQuad(e,a,s,l,d,Mc),f===0&&m===0&&this._generatePoleQuad(e,s,c,d,p,Mc),m===0&&u===0&&this._generatePoleQuad(e,c,a,p,l,Mc)),n&&(u===i&&f===i&&this._generatePoleQuad(e,a,s,l,d,Nc),f===i&&m===i&&this._generatePoleQuad(e,s,c,d,p,Nc),m===i&&u===i&&this._generatePoleQuad(e,c,a,p,l,Nc))}}_initializeVertices(e){for(let t=0;t<e.length;t+=2)this._vertexToIndex(e[t],e[t+1])}subdividePolygonInternal(e,t){if(this._used)throw Error(`Subdivision: multiple use not allowed.`);this._used=!0;let{flattened:n,holeIndices:r}=function(e){let t=[],n=[];for(let r of e)if(r.length!==0){r!==e[0]&&t.push(n.length/2);for(let e=0;e<r.length;e++)n.push(r[e].x),n.push(r[e].y)}return{flattened:n,holeIndices:t}}(e),i;this._initializeVertices(n);try{let e=function(e,t,n=2){let r=t&&t.length,i=r?t[0]*n:e.length,a=ac(e,0,i,n,!0),o=[];if(!a||a.next===a.prev)return o;let s,c,l;if(r&&(a=function(e,t,n,r){let i=[];for(let n=0,a=t.length;n<a;n++){let o=ac(e,t[n]*r,n<a-1?t[n+1]*r:e.length,r,!1);o===o.next&&(o.steiner=!0),i.push(gc(o))}i.sort(fc);for(let e=0;e<i.length;e++)n=pc(i[e],n);return n}(e,t,a,n)),e.length>80*n){s=1/0,c=1/0;let t=-1/0,r=-1/0;for(let a=n;a<i;a+=n){let n=e[a],i=e[a+1];n<s&&(s=n),i<c&&(c=i),n>t&&(t=n),i>r&&(r=i)}l=Math.max(t-s,r-c),l=l===0?0:32767/l}return sc(a,o,n,s,c,l,0),o}(n,r),t=this._convertIndices(n,e);i=this._subdivideTrianglesScanline(t)}catch(e){console.error(e)}let a=[];return t&&(a=this._generateOutline(e)),this._ensureNoPoleVertices(),this._handlePoles(i),{verticesFlattened:this._vertexBuffer,indicesTriangles:i,indicesLineList:a}}_convertIndices(e,t){let n=[];for(let r=0;r<t.length;r++)n.push(this._vertexToIndex(e[2*t[r]],e[2*t[r]+1]));return n}_pointArrayToIndices(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];t.push(this._vertexToIndex(r.x,r.y))}return t}}function Fc(e,t,n,r=!0){return new Pc(n,t).subdividePolygonInternal(e,r)}function Ic(e,t,n=!1){if(!e||e.length<1||e.length<2)return[];let r=e[0],i=e[e.length-1],a=n&&(r.x!==i.x||r.y!==i.y);if(t<2)return a?[...e,e[0]]:[...e];let o=Math.floor(D/t),s=[];s.push(new c(e[0].x,e[0].y));let l=e.length,u=a?l:l-1;for(let t=0;t<u;t++){let n=e[t],r=t<l-1?e[t+1]:e[0],i=n.x,a=n.y,u=r.x,d=r.y,f=i!==u,p=a!==d;if(!f&&!p)continue;
12let m=u-i,h=d-a,g=Math.abs(m),_=Math.abs(h),v=i,y=a;for(;;){let e=m>0?(Math.floor(v/o)+1)*o:(Math.ceil(v/o)-1)*o,t=h>0?(Math.floor(y/o)+1)*o:(Math.ceil(y/o)-1)*o,n=Math.abs(v-e),r=Math.abs(y-t),i=Math.abs(v-u),a=Math.abs(y-d),l=f?n/g:1/0,b=p?r/_:1/0;if((i<=n||!f)&&(a<=r||!p))break;if(l<b&&f||!p){v=e,y+=h*l;let t=new c(v,Math.round(y));s[s.length-1].x===t.x&&s[s.length-1].y===t.y||s.push(t)}else{v+=m*b,y=t;let e=new c(Math.round(v),y);s[s.length-1].x===e.x&&s[s.length-1].y===e.y||s.push(e)}}let b=new c(u,d);s[s.length-1].x===b.x&&s[s.length-1].y===b.y||s.push(b)}return s}function Lc(e,t,n){if(t.length===0)throw Error(`Subdivision vertex ring is empty.`);let r=0,i=e[2*t[0]];for(let n=1;n<t.length;n++){let a=e[2*t[n]];a<i&&(i=a,r=n)}let a=t.length,o=r,s=(o+1)%a;for(;;){let r=o-1>=0?o-1:a-1,i=(s+1)%a,c=e[2*t[r]],l=e[2*t[i]],u=e[2*t[o]],d=e[2*t[o]+1],f=e[2*t[s]+1],p=!1;if(c<l)p=!0;else if(c>l)p=!1;else{let n=f-d,a=-(e[2*t[s]]-u),o=d<f?1:-1;((c-u)*n+(e[2*t[r]+1]-d)*a)*o>((l-u)*n+(e[2*t[i]+1]-d)*a)*o&&(p=!0)}if(p){let e=t[r],i=t[o],c=t[s];e!==i&&e!==c&&i!==c&&n.push(c,i,e),o--,o<0&&(o=a-1)}else{let e=t[i],r=t[o],c=t[s];e!==r&&e!==c&&r!==c&&n.push(c,r,e),s++,s>=a&&(s=0)}if(r===i)break}}function Rc(e,t,n,r,i,a,o,s,c){let l=i.length/2,u=o&&s&&c;if(l<Vo.MAX_VERTEX_ARRAY_LENGTH){let d=t.prepareSegment(l,n,r),f=d.vertexLength;for(let e=0;e<a.length;e+=3)r.emplaceBack(f+a[e],f+a[e+1],f+a[e+2]);let p,m;d.vertexLength+=l,d.primitiveLength+=a.length/3,u&&(m=o.prepareSegment(l,n,s),p=m.vertexLength,m.vertexLength+=l);for(let t=0;t<i.length;t+=2)e(i[t],i[t+1]);if(u)for(let e=0;e<c.length;e++){let t=c[e];for(let e=1;e<t.length;e+=2)s.emplaceBack(p+t[e-1],p+t[e]);m.primitiveLength+=t.length/2}}else (function(e,t,n,r,i,a){let o=[];for(let e=0;e<r.length/2;e++)o.push(-1);let s={count:0},c=0,l=e.getOrCreateLatestSegment(t,n),u=l.vertexLength;for(let d=2;d<i.length;d+=3){let f=i[d-2],p=i[d-1],m=i[d],h=o[f]<c,g=o[p]<c,_=o[m]<c;l.vertexLength+(+!!h+ +!!g+ +!!_)>Vo.MAX_VERTEX_ARRAY_LENGTH&&(l=e.createNewSegment(t,n),c=s.count,h=!0,g=!0,_=!0,u=0);let v=zc(o,r,a,s,f,h,l),y=zc(o,r,a,s,p,g,l),b=zc(o,r,a,s,m,_,l);n.emplaceBack(u+v-c,u+y-c,u+b-c),l.primitiveLength++}})(t,n,r,i,a,e),u&&function(e,t,n,r,i,a){let o=[];for(let e=0;e<r.length/2;e++)o.push(-1);let s={count:0},c=0,l=e.getOrCreateLatestSegment(t,n),u=l.vertexLength;for(let d=0;d<i.length;d++){let f=i[d];for(let p=1;p<i[d].length;p+=2){let i=f[p-1],d=f[p],m=o[i]<c,h=o[d]<c;l.vertexLength+(+!!m+ +!!h)>Vo.MAX_VERTEX_ARRAY_LENGTH&&(l=e.createNewSegment(t,n),c=s.count,m=!0,h=!0,u=0);let g=zc(o,r,a,s,i,m,l),_=zc(o,r,a,s,d,h,l);n.emplaceBack(u+g-c,u+_-c),l.primitiveLength++}}}(o,n,s,i,c,e),t.forceNewSegmentOnNextPrepare(),o?.forceNewSegmentOnNextPrepare()}function zc(e,t,n,r,i,a,o){if(a){let a=r.count;return n(t[2*i],t[2*i+1]),e[i]=r.count,r.count++,o.vertexLength++,a}return e[i]}class Bc{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=e.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Oo,this.indexArray=new Ro,this.indexArray2=new zo,this.programConfigurations=new ps(e.layers,e.zoom),this.segments=new Vo,this.segments2=new Vo,this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,n){this.hasPattern=rc(`fill`,this.layers,t);let r=this.layers[0].layout.get(`fill-sort-key`),i=!r.isConstant(),a=[];for(let{feature:o,id:s,index:c,sourceLayerIndex:l}of e){let e=this.layers[0]._featureFilter.needGeometry,u=ys(o,e);if(!this.layers[0]._featureFilter.filter(new wa(this.zoom),u,n))continue;let d=i?r.evaluate(u,{},n,t.availableImages):void 0,f={id:s,properties:o.properties,type:o.type,sourceLayerIndex:l,index:c,geometry:e?u.geometry:vs(o),patterns:{},sortKey:d};a.push(f)}i&&a.sort(((e,t)=>
12e.sortKey-t.sortKey));for(let r of a){let{geometry:i,index:a,sourceLayerIndex:o}=r;if(this.hasPattern){let e=ic(`fill`,this.layers,r,this.zoom,t);this.patternFeatures.push(e)}else this.addFeature(r,i,a,n,{},t.subdivisionGranularity);t.featureIndex.insert(e[a].feature,i,a,o,this.index)}}update(e,t,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,n)}addFeatures(e,t,n){for(let r of this.patternFeatures)this.addFeature(r,r.geometry,r.index,t,n,e.subdivisionGranularity)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,nc),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,n,r,i,a){for(let e of tr(t,500)){let t=Fc(e,r,a.fill.getGranularityForZoomLevel(r.z)),n=this.layoutVertexArray;Rc(((e,t)=>{n.emplaceBack(e,t)}),this.segments,this.layoutVertexArray,this.indexArray,t.verticesFlattened,t.indicesTriangles,this.segments2,this.indexArray2,t.indicesLineList)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,i,r)}}let Vc,Hc;X(`FillBucket`,Bc,{omit:[`layers`,`patternFeatures`]});var Uc={get paint(){return Hc||=new Ia({"fill-antialias":new Q(L.paint_fill[`fill-antialias`]),"fill-opacity":new $(L.paint_fill[`fill-opacity`]),"fill-color":new $(L.paint_fill[`fill-color`]),"fill-outline-color":new $(L.paint_fill[`fill-outline-color`]),"fill-translate":new Q(L.paint_fill[`fill-translate`]),"fill-translate-anchor":new Q(L.paint_fill[`fill-translate-anchor`]),"fill-pattern":new Na(L.paint_fill[`fill-pattern`])})},get layout(){return Vc||=new Ia({"fill-sort-key":new $(L.layout_fill[`fill-sort-key`])})}};class Wc extends Ra{constructor(e){super(e,Uc)}recalculate(e,t){super.recalculate(e,t);let n=this.paint._values[`fill-outline-color`];n.value.kind===`constant`&&n.value.value===void 0&&(this.paint._values[`fill-outline-color`]=this.paint._values[`fill-color`])}createBucket(e){return new Bc(e)}queryRadius(){return Fs(this.paint.get(`fill-translate`))}queryIntersectsFeature({queryGeometry:e,geometry:t,transform:n,pixelsToTileUnits:r}){return Ts(Is(e,this.paint.get(`fill-translate`),this.paint.get(`fill-translate-anchor`),-n.bearingInRadians,r),t)}isTileClipped(){return!0}}let Gc=Ha([{name:`a_pos`,components:2,type:`Int16`},{name:`a_normal_ed`,components:4,type:`Int16`}],4),Kc=Ha([{name:`a_centroid`,components:2,type:`Int16`}],4),{members:qc}=Gc;var Jc,Yc,Xc,Zc,Qc,$c,el,tl={};function nl(){if(Yc)return Jc;Yc=1;var e=a();function t(e,t,r,i,a){this.properties={},this.extent=r,this.type=0,this._pbf=e,this._geometry=-1,this._keys=i,this._values=a,e.readFields(n,this,t)}function n(e,t,n){e==1?t.id=n.readVarint():e==2?function(e,t){for(var n=e.readVarint()+e.pos;e.pos<n;){var r=t._keys[e.readVarint()],i=t._values[e.readVarint()];t.properties[r]=i}}(n,t):e==3?t.type=n.readVarint():e==4&&(t._geometry=n.pos)}function r(e){for(var t,n,r=0,i=0,a=e.length,o=a-1;i<a;o=i++)r+=((n=e[o]).x-(t=e[i]).x)*(t.y+n.y);return r}return Jc=t,t.types=[`Unknown`,`Point`,`LineString`,`Polygon`],t.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var n,r=t.readVarint()+t.pos,i=1,a=0,o=0,s=0,c=[];t.pos<r;){if(a<=0){var l=t.readVarint();i=7&l,a=l>>3}if(a--,i===1||i===2)o+=t.readSVarint(),s+=t.readSVarint(),i===1&&(n&&c.push(n),n=[]),n.push(new e(o,s));else{if(i!==7)throw Error(`unknown command `+i);n&&n.push(n[0].clone())}}return n&&c.push(n),c},t.prototype.bbox=function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,n=1,r=0,i=0,a=0,o=1/0,s=-1/0,c=1/0,l=-1/0;e.pos<t;){if(r<=0){var u=e.readVarint();n=7&u,r=u>>3}if(r--,n===1||n===2)(i+=e.readSVarint())<o&&(o=i),i>s&&(s=i),(a+=e.readSVarint())<c&&(c=a),a>l&&(l=a);else if(n!==7)throw Error(`unknown command `+n)}return[o,c,s,l]},t.prototype.toGeoJSON=function(e,n,i){var a,o,s=this.extent*2**i,c=this.extent*e,l=this.extent*n,u=this.loadGeometry(),d=t.types[this.type];function f(e){for(var t=0;t<e.length;t++){var n=e[t];e[t]=[360*(n.x+c)/s-180,360/Math.PI*Math.atan(Math.exp((180-360*(n.y+l)/s)*M
12ath.PI/180))-90]}}switch(this.type){case 1:var p=[];for(a=0;a<u.length;a++)p[a]=u[a][0];f(u=p);break;case 2:for(a=0;a<u.length;a++)f(u[a]);break;case 3:for(u=function(e){var t=e.length;if(t<=1)return[e];for(var n,i,a=[],o=0;o<t;o++){var s=r(e[o]);s!==0&&(i===void 0&&(i=s<0),i===s<0?(n&&a.push(n),n=[e[o]]):n.push(e[o]))}return n&&a.push(n),a}(u),a=0;a<u.length;a++)for(o=0;o<u[a].length;o++)f(u[a][o])}u.length===1?u=u[0]:d=`Multi`+d;var m={type:`Feature`,geometry:{type:d,coordinates:u},properties:this.properties};return`id`in this&&(m.id=this.id),m},Jc}function rl(){if(Zc)return Xc;Zc=1;var e=nl();function t(e,t){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=e,this._keys=[],this._values=[],this._features=[],e.readFields(n,this,t),this.length=this._features.length}function n(e,t,n){e===15?t.version=n.readVarint():e===1?t.name=n.readString():e===5?t.extent=n.readVarint():e===2?t._features.push(n.pos):e===3?t._keys.push(n.readString()):e===4&&t._values.push(function(e){for(var t=null,n=e.readVarint()+e.pos;e.pos<n;){var r=e.readVarint()>>3;t=r===1?e.readString():r===2?e.readFloat():r===3?e.readDouble():r===4?e.readVarint64():r===5?e.readVarint():r===6?e.readSVarint():r===7?e.readBoolean():null}return t}(n))}return Xc=t,t.prototype.feature=function(t){if(t<0||t>=this._features.length)throw Error(`feature index out of bounds`);this._pbf.pos=this._features[t];var n=this._pbf.readVarint()+this._pbf.pos;return new e(this._pbf,n,this.extent,this._keys,this._values)},Xc}function il(){return el||(el=1,tl.VectorTile=function(){if($c)return Qc;$c=1;var e=rl();function t(t,n,r){if(t===3){var i=new e(r,r.readVarint()+r.pos);i.length&&(n[i.name]=i)}}return Qc=function(e,n){this.layers=e.readFields(t,{},n)},Qc}(),tl.VectorTileFeature=nl(),tl.VectorTileLayer=rl()),tl}var al=n(il());let ol=al.VectorTileFeature.types,sl=2**13;function cl(e,t,n,r,i,a,o,s){e.emplaceBack(t,n,2*Math.floor(r*sl)+o,i*sl*2,a*sl*2,Math.round(s))}class ll{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=e.index,this.hasPattern=!1,this.layoutVertexArray=new ko,this.centroidVertexArray=new Eo,this.indexArray=new Ro,this.programConfigurations=new ps(e.layers,e.zoom),this.segments=new Vo,this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,n){this.features=[],this.hasPattern=rc(`fill-extrusion`,this.layers,t);for(let{feature:r,id:i,index:a,sourceLayerIndex:o}of e){let e=this.layers[0]._featureFilter.needGeometry,s=ys(r,e);if(!this.layers[0]._featureFilter.filter(new wa(this.zoom),s,n))continue;let c={id:i,sourceLayerIndex:o,index:a,geometry:e?s.geometry:vs(r),properties:r.properties,type:r.type,patterns:{}};this.hasPattern?this.features.push(ic(`fill-extrusion`,this.layers,c,this.zoom,t)):this.addFeature(c,c.geometry,a,n,{},t.subdivisionGranularity),t.featureIndex.insert(r,c.geometry,a,o,this.index,!0)}}addFeatures(e,t,n){for(let r of this.features){let{geometry:i}=r;this.addFeature(r,i,r.index,t,n,e.subdivisionGranularity)}}update(e,t,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,n)}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,qc),this.centroidVertexBuffer=e.createVertexBuffer(this.centroidVertexArray,Kc.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,n,r,i,a){for(let n of tr(t,500)){let t={x:0,y:0,sampleCount:0},i=this.layoutVertexArray.length;this.processPolygon(t,r,e,n,a);let o=this.layoutVertexArray.length-i,s=Math.floor(t.x/t.sampleCount),c=Math.floor(t.y/t.sampleC
12ount);for(let e=0;e<o;e++)this.centroidVertexArray.emplaceBack(s,c)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,i,r)}processPolygon(e,t,n,r,i){if(r.length<1||fl(r[0]))return;for(let t of r)t.length!==0&&ul(e,t);let a={segment:this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray)},o=i.fill.getGranularityForZoomLevel(t.z),s=ol[n.type]===`Polygon`;for(let e of r){if(e.length===0||fl(e))continue;let t=Ic(e,o,s);this._generateSideFaces(t,a)}if(!s)return;let c=Fc(r,t,o,!1),l=this.layoutVertexArray;Rc(((e,t)=>{cl(l,e,t,0,0,1,1,0)}),this.segments,this.layoutVertexArray,this.indexArray,c.verticesFlattened,c.indicesTriangles)}_generateSideFaces(e,t){let n=0;for(let r=1;r<e.length;r++){let i=e[r],a=e[r-1];if(dl(i,a))continue;t.segment.vertexLength+4>Vo.MAX_VERTEX_ARRAY_LENGTH&&(t.segment=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let o=i.sub(a)._perp()._unit(),s=a.dist(i);n+s>32768&&(n=0),cl(this.layoutVertexArray,i.x,i.y,o.x,o.y,0,0,n),cl(this.layoutVertexArray,i.x,i.y,o.x,o.y,0,1,n),n+=s,cl(this.layoutVertexArray,a.x,a.y,o.x,o.y,0,0,n),cl(this.layoutVertexArray,a.x,a.y,o.x,o.y,0,1,n);let c=t.segment.vertexLength;this.indexArray.emplaceBack(c,c+2,c+1),this.indexArray.emplaceBack(c+1,c+2,c+3),t.segment.vertexLength+=4,t.segment.primitiveLength+=2}}}function ul(e,t){for(let n=0;n<t.length;n++){let r=t[n];n===t.length-1&&t[0].x===r.x&&t[0].y===r.y||(e.x+=r.x,e.y+=r.y,e.sampleC
12ount++)}}function dl(e,t){return e.x===t.x&&(e.x<0||e.x>D)||e.y===t.y&&(e.y<0||e.y>D)}function fl(e){return e.every((e=>e.x<0))||e.every((e=>e.x>D))||e.every((e=>e.y<0))||e.every((e=>e.y>D))}let pl;X(`FillExtrusionBucket`,ll,{omit:[`layers`,`features`]});var ml={get paint(){return pl||=new Ia({"fill-extrusion-opacity":new Q(L[`paint_fill-extrusion`][`fill-extrusion-opacity`]),"fill-extrusion-color":new $(L[`paint_fill-extrusion`][`fill-extrusion-color`]),"fill-extrusion-translate":new Q(L[`paint_fill-extrusion`][`fill-extrusion-translate`]),"fill-extrusion-translate-anchor":new Q(L[`paint_fill-extrusion`][`fill-extrusion-translate-anchor`]),"fill-extrusion-pattern":new Na(L[`paint_fill-extrusion`][`fill-extrusion-pattern`]),"fill-extrusion-height":new $(L[`paint_fill-extrusion`][`fill-extrusion-height`]),"fill-extrusion-base":new $(L[`paint_fill-extrusion`][`fill-extrusion-base`]),"fill-extrusion-vertical-gradient":new Q(L[`paint_fill-extrusion`][`fill-extrusion-vertical-gradient`])})}};class hl extends Ra{constructor(e){super(e,ml)}createBucket(e){return new ll(e)}queryRadius(){return Fs(this.paint.get(`fill-extrusion-translate`))}is3D(){return!0}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:n,geometry:r,transform:i,pixelsToTileUnits:a,pixelPosMatrix:o}){let s=Is(e,this.paint.get(`fill-extrusion-translate`),this.paint.get(`fill-extrusion-translate-anchor`),-i.bearingInRadians,a),l=this.paint.get(`fill-extrusion-height`).evaluate(t,n),u=this.paint.get(`fill-extrusion-base`).evaluate(t,n),d=function(e,t,n){let r=[];for(let n of e){let e=[n.x,n.y,0,1];C(e,e,t),r.push(new c(e[0]/e[3],e[1]/e[3]))}return r}(s,o),f=function(e,t,n,r){let i=[],a=[],o=r[8]*t,s=r[9]*t,l=r[10]*t,u=r[11]*t,d=r[8]*n,f=r[9]*n,p=r[10]*n,m=r[11]*n;for(let t of e){let e=[],n=[];for(let i of t){let t=i.x,a=i.y,h=r[0]*t+r[4]*a+r[12],g=r[1]*t+r[5]*a+r[13],_=r[2]*t+r[6]*a+r[14],v=r[3]*t+r[7]*a+r[15],y=_+l,b=v+u,x=h+d,S=g+f,C=_+p,w=v+m,T=new c((h+o)/b,(g+s)/b);T.z=y/b,e.push(T);let E=new c(x/w,S/w);E.z=C/w,n.push(E)}i.push(e),a.push(n)}return[i,a]}(r,u,l,o);return function(e,t,n){let r=1/0;Ts(n,t)&&(r=_l(n,t[0]));for(let i=0;i<t.length;i++){let a=t[i],o=e[i];for(let e=0;e<a.length-1;e++){let t=a[e],i=[t,a[e+1],o[e+1],o[e],t];Cs(n,i)&&(r=Math.min(r,_l(n,i)))}}return r!==1/0&&r}(f[0],f[1],d)}}function gl(e,t){return e.x*t.x+e.y*t.y}function _l(e,t){if(e.length===1){let n=0,r=t[n++],i;for(;!i||r.equals(i);)if(i=t[n++],!i)return 1/0;for(;n<t.length;n++){let a=t[n],o=e[0],s=i.sub(r),c=a.sub(r),l=o.sub(r),u=gl(s,s),d=gl(s,c),f=gl(c,c),p=gl(l,s),m=gl(l,c),h=u*f-d*d,g=(f*p-d*m)/h,_=(u*m-d*p)/h,v=r.z*(1-g-_)+i.z*g+a.z*_;if(isFinite(v))return v}return 1/0}{let e=1/0;for(let n of t)e=Math.min(e,n.z);return e}}let{members:vl}=Ha([{name:`a_pos_normal`,components:2,type:`Int16`},{name:`a_data`,components:4,type:`Uint8`}],4),{members:yl}=Ha([{name:`a_uv_x`,components:1,type:`Float32`},{name:`a_split_index`,components:1,type:`Float32`}]),bl=al.VectorTileFeature.types,xl=Math.cos(Math.PI/180*37.5),Sl=2**14/.5;class Cl{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=e.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((e=>{this.gradients[e.id]={}})),this.layoutVertexArray=new Ao,this.layoutVertexArray2=new jo,this.indexArray=new Ro,this.programConfigurations=new ps(e.layers,e.zoom),this.segments=new Vo,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,n){this.hasPattern=rc(`line`,this.layers,t);let r=this.layers[0].layout.get(`line-sort-key`),i=!r.isConstant(),a=[];for(let{feature:t,id:o,index:s,sourceLayerIndex:c}of e){let e=this.layers[0]._featureFilter.needGeometry,l=ys(t,e);if(!this.layers[0]._featureFilter.filter(new wa(this.zoom),l,n))continue;let u=i?r.evaluate(l,{},n):void 0,d={id:o,properties:t.properties,type:t.type,sourceLayerIndex:c,index:s,geometry:e?l.geometry:vs(t),patterns:{},sortKey:u};a.push(d)}i&&a.sort(((e,t)=>
12e.sortKey-t.sortKey));for(let r of a){let{geometry:i,index:a,sourceLayerIndex:o}=r;if(this.hasPattern){let e=ic(`line`,this.layers,r,this.zoom,t);this.patternFeatures.push(e)}else this.addFeature(r,i,a,n,{},t.subdivisionGranularity);t.featureIndex.insert(e[a].feature,i,a,o,this.index)}}update(e,t,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,n)}addFeatures(e,t,n){for(let r of this.patternFeatures)this.addFeature(r,r.geometry,r.index,t,n,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,yl)),this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,vl),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.prototype.hasOwnProperty.call(e.properties,`mapbox_clip_start`)&&Object.prototype.hasOwnProperty.call(e.properties,`mapbox_clip_end`))return{start:+e.properties.mapbox_clip_start,end:+e.properties.mapbox_clip_end}}addFeature(e,t,n,r,i,a){let o=this.layers[0].layout,s=o.get(`line-join`).evaluate(e,{}),c=o.get(`line-cap`),l=o.get(`line-miter-limit`),u=o.get(`line-round-limit`);this.lineClips=this.lineFeatureClips(e);for(let n of t)this.addLine(n,e,s,c,l,u,r,a);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,i,r)}addLine(e,t,n,r,i,a,o,s){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,e=Ic(e,o?s.line.getGranularityForZoomLevel(o.z):1),this.lineClips){this.lineClipsArray.push(this.lineClips);for(let t=0;t<e.length-1;t++)this.totalDistance+=e[t].dist(e[t+1]);this.updateScaledDistance(),this.maxLineLength=Math.max(this.maxLineLength,this.totalDistance)}let c=bl[t.type]===`Polygon`,l=e.length;for(;l>=2&&e[l-1].equals(e[l-2]);)l--;let u=0;for(;u<l-1&&e[u].equals(e[u+1]);)u++;if(l<(c?3:2))return;n===`bevel`&&(i=1.05);let d=this.overscaling<=16?15*D/(512*this.overscaling):0,f=this.segments.prepareSegment(10*l,this.layoutVertexArray,this.indexArray),p,m,h,g,_;this.e1=this.e2=-1,c&&(p=e[l-2],_=e[u].sub(p)._unit()._perp());for(let t=u;t<l;t++){if(h=t===l-1?c?e[u+1]:void 0:e[t+1],h&&e[t].equals(h))continue;_&&(g=_),p&&(m=p),p=e[t],_=h?h.sub(p)._unit()._perp():g,g||=_;let o=g.add(_);o.x===0&&o.y===0||o._unit();let s=g.x*_.x+g.y*_.y,v=o.x*_.x+o.y*_.y,y=v===0?1/0:1/v,b=2*Math.sqrt(2-2*v),x=v<xl&&m&&h,S=g.x*_.y-g.y*_.x>0;if(x&&t>u){let e=p.dist(m);if(e>2*d){let t=p.sub(p.sub(m)._mult(d/e)._round());this.updateDistance(m,t),this.addCurrentVertex(t,g,0,0,f),m=t}}let C=m&&h,w=C?n:c?`butt`:r;if(C&&w===`round`&&(y<a?w=`miter`:y<=2&&(w=`fakeround`)),w===`miter`&&y>i&&(w=`bevel`),w===`bevel`&&(y>2&&(w=`flipbevel`),y<i&&(w=`miter`)),m&&this.updateDistance(m,p),w===`miter`)o._mult(y),this.addCurrentVertex(p,o,0,0,f);else if(w===`flipbevel`){if(y>100)o=_.mult(-1);else{let e=y*g.add(_).mag()/g.sub(_).mag();o._perp()._mult(e*(S?-1:1))}this.addCurrentVertex(p,o,0,0,f),this.addCurrentVertex(p,o.mult(-1),0,0,f)}else if(w===`bevel`||w===`fakeround`){let e=-Math.sqrt(y*y-1),t=S?e:0,n=S?0:e;if(m&&this.addCurrentVertex(p,g,t,n,f),w===`fakeround`){let e=Math.round(180*b/Math.PI/20);for(let t=1;t<e;t++){let n=t/e;if(n!==.5){let e=n-.5;n+=n*e*(n-1)*((1.0904+s*(s*(3.55645-1.43519*s)-3.2452))*e*e+(.848013+s*(.215638*s-1.06021)))}let r=_.sub(g)._mult(n)._add(g)._unit()._mult(S?-1:1);this.addHalfVertex(p,r.x,r.y,!1,S,0,f)}}h&&this.addCurrentVertex(p,_,-t,-n,f)}else if(w===`butt`)this.addCurrentVertex(p,o,0,0,f);else if(w===`square`){let e=m?1:-1;this.addCurrentVertex(p,o,e,e,f)}else w===`round`&&(m&&(this.addCurrentVertex(p,g,0,0,f),this.addCurrentVertex(p,g,1,1,f,!0)),h&&(this.addCurrentVertex(p,_,-1,-1,f,!0),this.addCurrentVertex(p,_,0,0,f)));if(x&&t<l-1){let e=p.dist(h);if(e>2*d){let t=p.add(h.sub(p)._mult(d/e)._round());this.updateDistance(p,t),this.addCurrentVertex(t,_,0,0,f),p=t}}}}addCurrentVertex(e,t,n,r,i,a=!1){let o=t.y*r-t.x,s=-t.y-t.x*r;this.addHalfVertex(e,t.x+t.y*n,t.y-t.x*n,a,!1,n,i),this.addHalfVertex(e,o,s,a,!0,-r,i),this.distance>Sl/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(e,t,n,r,i,a))}addHalfVertex({x:e,y:t},n,r,i,a,o,s){let c=.5*(this.lineClips?this.scaledDistance*(Sl-1):this.scaledDistance);
12this.layoutVertexArray.emplaceBack((e<<1)+ +!!i,(t<<1)+ +!!a,Math.round(63*n)+128,Math.round(63*r)+128,1+(o===0?0:o<0?-1:1)|(63&c)<<2,c>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);let l=s.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,l,this.e2),s.primitiveLength++),a?this.e2=l:this.e1=l}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()}}let wl,Tl;X(`LineBucket`,Cl,{omit:[`layers`,`patternFeatures`]});var El={get paint(){return Tl||=new Ia({"line-opacity":new $(L.paint_line[`line-opacity`]),"line-color":new $(L.paint_line[`line-color`]),"line-translate":new Q(L.paint_line[`line-translate`]),"line-translate-anchor":new Q(L.paint_line[`line-translate-anchor`]),"line-width":new $(L.paint_line[`line-width`]),"line-gap-width":new $(L.paint_line[`line-gap-width`]),"line-offset":new $(L.paint_line[`line-offset`]),"line-blur":new $(L.paint_line[`line-blur`]),"line-dasharray":new Pa(L.paint_line[`line-dasharray`]),"line-pattern":new Na(L.paint_line[`line-pattern`]),"line-gradient":new Fa(L.paint_line[`line-gradient`])})},get layout(){return wl||=new Ia({"line-cap":new Q(L.layout_line[`line-cap`]),"line-join":new $(L.layout_line[`line-join`]),"line-miter-limit":new Q(L.layout_line[`line-miter-limit`]),"line-round-limit":new Q(L.layout_line[`line-round-limit`]),"line-sort-key":new $(L.layout_line[`line-sort-key`])})}};class Dl extends ${possiblyEvaluate(e,t){return t=new wa(Math.floor(t.zoom),{now:t.now,fadeDuration:t.fadeDuration,zoomHistory:t.zoomHistory,transition:t.transition}),super.possiblyEvaluate(e,t)}evaluate(e,t,n,r){return t=M({},t,{zoom:Math.floor(t.zoom)}),super.evaluate(e,t,n,r)}}let Ol;class kl extends Ra{constructor(e){super(e,El),this.gradientVersion=0,Ol||(Ol=new Dl(El.paint.properties[`line-width`].specification),Ol.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(e){if(e===`line-gradient`){let e=this.gradientExpression();this.stepInterpolant=!!function(e){return e._styleExpression!==void 0}(e)&&e._styleExpression.expression instanceof ln,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`]=Ol.possiblyEvaluate(this._transitioningPaint._values[`line-width`].value,e)}createBucket(e){return new Cl(e)}queryRadius(e){let t=e,n=Al(Ps(`line-width`,this,t),Ps(`line-gap-width`,this,t)),r=Ps(`line-offset`,this,t);return n/2+Math.abs(r)+Fs(this.paint.get(`line-translate`))}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:n,geometry:r,transform:i,pixelsToTileUnits:a}){let o=Is(e,this.paint.get(`line-translate`),this.paint.get(`line-translate-anchor`),-i.bearingInRadians,a),s=a/2*Al(this.paint.get(`line-width`).evaluate(t,n),this.paint.get(`line-gap-width`).evaluate(t,n)),l=this.paint.get(`line-offset`).evaluate(t,n);return l&&(r=function(e,t){let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=[];for(let e=0;e<i.length;e++){let n=i[e-1],r=i[e],o=i[e+1],s=e===0?new c(0,0):r.sub(n)._unit()._perp(),l=e===i.length-1?new c(0,0):o.sub(r)._unit()._perp(),u=s._add(l)._unit(),d=u.x*l.x+u.y*l.y;d!==0&&u._mult(1/d),a.push(u._mult(t)._add(r))}n.push(a)}return n}(r,l*a)),function(e,t,n){for(let r=0;r<t.length;r++){let i=t[r];if(e.length>=3){for(let t=0;t<i.length;t++)if(Ms(e,i[t]))return!0}if(Es(e,i,n))return!0}return!1}(o,r,s)}isTileClipped(){return!0}}function Al(e,t){return t>0?t+2*e:e}let jl=Ha([{name:`a_pos_offset`,components:4,type:`Int16`},{name:`a_data`,components:4,type:`Uint16`},{name:`a_pixeloffset`,components:4,type:`Int16`}],4),Ml=Ha([{name:`a_projected_pos`,components:3,type:`Float32`}],4);Ha([{name:`a_fade_opacity`,components:1,type:`Uint32`}],4);let Nl=Ha([{name:`a_placed`,components:2,type:`Uint8`},{name:`a_shift`,components:2,type:`Float32`},{name:`a_box_real`,components:2,type:`Int16`}]);Ha([{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`}]);let Pl=Ha([{name:`a_pos`,components:2,type:`Int16`},{name:`a_anchor_pos`,components:2,type:`Int16`},{name:`a_extrude`,components:2,type:`Int16`}],4),Fl=Ha([{name:`a_pos`,components:2,type:`Float32`},{name:`a_radius`,components:1,type:`Float32`},{name:`a_flags`,components:2,type:`Int16`}],4);function Il(e,t,n){return e.sections.forEach((e=>{e.text=function(e,t,n){let r=t.layout.get(`text-transform`).evaluate(n,{});return r===`uppercase`?e=e.toLocaleUpperCase():r===`lowercase`&&(e=e.toLocaleLowerCase()),Ca.applyArabicShaping&&(e=Ca.applyArabicShaping(e)),e}(e.text,t,n)})),e}Ha([{name:`triangle`,components:3,type:`Uint16`}]),Ha([{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`}]),Ha([{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`}]),Ha([{type:`Float32`,name:`offsetX`}]),Ha([{type:`Int16`,name:`x`},{type:`Int16`,name:`y`},{type:`Int16`,name:`tileUnitDistanceFromAnchor`}]),Ha([{type:`Uint16`,name:`textAnchor`},{type:`Float32`,components:2,name:`textOffset`}]);let Ll={"!":`ï¸`,"#":`ï¼`,$:`ï¼`,"%":`ï¼
`,"&":`ï¼`,"(":`︵`,")":`︶`,"*":`ï¼`,"+":`ï¼`,",":`ï¸`,"-":`︲`,".":`ã»`,"/":`ï¼`,":":`ï¸`,";":`ï¸`,"<":`︿`,"=":`ï¼`,">":`ï¹`,"?":`ï¸`,"@":`ï¼ `,"[":`ï¹`,"\\":`ï¼¼`,"]":`ï¹`,"^":`ï¼¾`,_:`︳`,"`":`ï½`,"{":`︷`,"|":`â`,"}":`︸`,"~":`ï½`,"¢":`ï¿ `,"£":`ï¿¡`,"Â¥":`ï¿¥`,"¦":`¦`,"¬":`ï¿¢`,"¯":`ï¿£`,"â":`︲`,"â":`︱`,"â":`ï¹`,"â":`ï¹`,"â":`ï¹`,"â":`ï¹`,"â¦":`ï¸`,"â§":`ã»`,"â©":`₩`,"ã":`ï¸`,"ã":`ï¸`,"ã":`︿`,"ã":`ï¹`,"ã":`︽`,"ã":`︾`,"ã":`ï¹`,"ã":`ï¹`,"ã":`ï¹`,"ã":`ï¹`,"ã":`︻`,"ã":`︼`,"ã":`︹`,"ã":`︺`,"ã":`ï¸`,"ã":`ï¸`,"ï¼":`ï¸`,"ï¼":`︵`,"ï¼":`︶`,"ï¼":`ï¸`,"ï¼":`︲`,"ï¼":`ã»`,"ï¼":`ï¸`,"ï¼":`ï¸`,"ï¼":`︿`,"ï¼":`ï¹`,"ï¼":`ï¸`,"ï¼»":`ï¹`,"ï¼½":`ï¹`,"_":`︳`,"ï½":`︷`,"ï½":`â`,"ï½":`︸`,"ï½":`︵`,"ï½ ":`︶`,"。":`ï¸`,"ï½¢":`ï¹`,"ï½£":`ï¹`};var Rl,zl,Bl,Vl=24,Hl={};function Ul(){return Rl||(Rl=1,Hl.read=function(e,t,n,r,i){var a,o,s=8*i-r-1,c=(1<<s)-1,l=c>>1,u=-7,d=n?i-1:0,f=n?-1:1,p=e[t+d];for(d+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+e[t+d],d+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=r;u>0;o=256*o+e[t+d],d+=f,u-=8);if(a===0)a=1-l;else{if(a===c)return o?NaN:1/0*(p?-1:1);o+=2**r,a-=l}return(p?-1:1)*o*2**(a-r)},Hl.write=function(e,t,n,r,i,a){var o,s,c,l=8*a-i-1,u=(1<<l)-1,d=u>>
121,f=i===23?2**-24-2**-77:0,p=r?0:a-1,m=r?1:-1,h=+(t<0||t===0&&1/t<0);for(t=Math.abs(t),isNaN(t)||t===1/0?(s=+!!isNaN(t),o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=2**-o)<1&&(o--,c*=2),(t+=o+d>=1?f/c:f*2**(1-d))*c>=2&&(o++,c/=2),o+d>=u?(s=0,o=u):o+d>=1?(s=(t*c-1)*2**i,o+=d):(s=t*2**(d-1)*2**i,o=0));i>=8;e[n+p]=255&s,p+=m,s/=256,i-=8);for(o=o<<i|s,l+=i;l>0;e[n+p]=255&o,p+=m,o/=256,l-=8);e[n+p-m]|=128*h}),Hl}function Wl(){if(Bl)return zl;Bl=1,zl=t;var e=Ul();function t(e){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(e)?e:new Uint8Array(e||0),this.pos=0,this.type=0,this.length=this.buf.length}t.Varint=0,t.Fixed64=1,t.Bytes=2,t.Fixed32=5;var n=4294967296,r=1/n,i=typeof TextDecoder>`u`?null:new TextDecoder(`utf-8`);function a(e){return e.type===t.Bytes?e.readVarint()+e.pos:e.pos+1}function o(e,t,n){return n?4294967296*t+(e>>>0):4294967296*(t>>>0)+(e>>>0)}function s(e,t,n){var r=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(7*Math.LN2));n.realloc(r);for(var i=n.pos-1;i>=e;i--)n.buf[i+r]=n.buf[i]}function c(e,t){for(var n=0;n<e.length;n++)t.writeVarint(e[n])}function l(e,t){for(var n=0;n<e.length;n++)t.writeSVarint(e[n])}function u(e,t){for(var n=0;n<e.length;n++)t.writeFloat(e[n])}function d(e,t){for(var n=0;n<e.length;n++)t.writeDouble(e[n])}function f(e,t){for(var n=0;n<e.length;n++)t.writeBoolean(e[n])}function p(e,t){for(var n=0;n<e.length;n++)t.writeFixed32(e[n])}function m(e,t){for(var n=0;n<e.length;n++)t.writeSFixed32(e[n])}function h(e,t){for(var n=0;n<e.length;n++)t.writeFixed64(e[n])}function g(e,t){for(var n=0;n<e.length;n++)t.writeSFixed64(e[n])}function _(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16)+16777216*e[t+3]}function v(e,t,n){e[n]=t,e[n+1]=t>>>8,e[n+2]=t>>>16,e[n+3]=t>>>24}function y(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16)+(e[t+3]<<24)}return t.prototype={destroy:function(){this.buf=null},readFields:function(e,t,n){for(n||=this.length;this.pos<n;){var r=this.readVarint(),i=r>>3,a=this.pos;this.type=7&r,e(i,t,this),this.pos===a&&this.skip(r)}return t},readMessage:function(e,t){return this.readFields(e,t,this.readVarint()+this.pos)},readFixed32:function(){var e=_(this.buf,this.pos);return this.pos+=4,e},readSFixed32:function(){var e=y(this.buf,this.pos);return this.pos+=4,e},readFixed64:function(){var e=_(this.buf,this.pos)+_(this.buf,this.pos+4)*n;return this.pos+=8,e},readSFixed64:function(){var e=_(this.buf,this.pos)+y(this.buf,this.pos+4)*n;return this.pos+=8,e},readFloat:function(){var t=e.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=e.read(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(e){var t,n,r=this.buf;return t=127&(n=r[this.pos++]),n<128?t:(t|=(127&(n=r[this.pos++]))<<7,n<128?t:(t|=(127&(n=r[this.pos++]))<<14,n<128?t:(t|=(127&(n=r[this.pos++]))<<21,n<128?t:function(e,t,n){var r,i,a=n.buf;if(r=(112&(i=a[n.pos++]))>>4,i<128||(r|=(127&(i=a[n.pos++]))<<3,i<128)||(r|=(127&(i=a[n.pos++]))<<10,i<128)||(r|=(127&(i=a[n.pos++]))<<17,i<128)||(r|=(127&(i=a[n.pos++]))<<24,i<128)||(r|=(1&(i=a[n.pos++]))<<31,i<128))return o(e,r,t);throw Error(`Expected varint not more than 10 bytes`)}(t|=(15&(n=r[this.pos]))<<28,e,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var e=this.readVarint();return e%2==1?(e+1)/-2:e/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var e=this.readVarint()+this.pos,t=this.pos;return this.pos=e,e-t>=12&&i?function(e,t,n){return i.decode(e.subarray(t,n))}(this.buf,t,e):function(e,t,n){for(var r=``,i=t;i<n;){var a,o,s,c=e[i],l=null,u=c>239?4:c>223?3:c>191?2:1;if(i+u>n)break;u===1?c<128&&(l=c):u===2?(192&(a=e[i+1]))==128&&(l=(31&c)<<6|63&a)<=127&&(l=null):u===3?(o=e[i+2],(192&(a=e[i+1]))==128&&(192&o)==128&&((l=(15&c)<<12|(63&a)<<6|63&o)<=2047||l>=55296&&l<=57343)&&(l=null)):u===4&&(o=e[i+2],s=e[i+3],(192&(a=e[i+1]))==128&&(192&o)==128&&(192&s)==128&&((l=(15&c)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||l>=1114112)&&(l=null)),l===null?(l=65533,u=1):l>65535&&(l-=65536,r+=String.fromCharCode(l>>>10&1023|55296),l=56320|1023&l),r+=String.fromCharCode(l),i+=u}return r}(this.buf,t,e)},readBytes:function(){var e=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,e);return this.pos=e,t}
vendor: 5,573 bytes, line 12
12,readPackedVarint:function(e,n){if(this.type!==t.Bytes)return e.push(this.readVarint(n));var r=a(this);for(e||=[];this.pos<r;)e.push(this.readVarint(n));return e},readPackedSVarint:function(e){if(this.type!==t.Bytes)return e.push(this.readSVarint());var n=a(this);for(e||=[];this.pos<n;)e.push(this.readSVarint());return e},readPackedBoolean:function(e){if(this.type!==t.Bytes)return e.push(this.readBoolean());var n=a(this);for(e||=[];this.pos<n;)e.push(this.readBoolean());return e},readPackedFloat:function(e){if(this.type!==t.Bytes)return e.push(this.readFloat());var n=a(this);for(e||=[];this.pos<n;)e.push(this.readFloat());return e},readPackedDouble:function(e){if(this.type!==t.Bytes)return e.push(this.readDouble());var n=a(this);for(e||=[];this.pos<n;)e.push(this.readDouble());return e},readPackedFixed32:function(e){if(this.type!==t.Bytes)return e.push(this.readFixed32());var n=a(this);for(e||=[];this.pos<n;)e.push(this.readFixed32());return e},readPackedSFixed32:function(e){if(this.type!==t.Bytes)return e.push(this.readSFixed32());var n=a(this);for(e||=[];this.pos<n;)e.push(this.readSFixed32());return e},readPackedFixed64:function(e){if(this.type!==t.Bytes)return e.push(this.readFixed64());var n=a(this);for(e||=[];this.pos<n;)e.push(this.readFixed64());return e},readPackedSFixed64:function(e){if(this.type!==t.Bytes)return e.push(this.readSFixed64());var n=a(this);for(e||=[];this.pos<n;)e.push(this.readSFixed64());return e},skip:function(e){var n=7&e;if(n===t.Varint)for(;this.buf[this.pos++]>127;);else if(n===t.Bytes)this.pos=this.readVarint()+this.pos;else if(n===t.Fixed32)this.pos+=4;else{if(n!==t.Fixed64)throw Error(`Unimplemented type: `+n);this.pos+=8}},writeTag:function(e,t){this.writeVarint(e<<3|t)},realloc:function(e){for(var t=this.length||16;t<this.pos+e;)t*=2;if(t!==this.length){var n=new Uint8Array(t);n.set(this.buf),this.buf=n,this.length=t}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(e){this.realloc(4),v(this.buf,e,this.pos),this.pos+=4},writeSFixed32:function(e){this.realloc(4),v(this.buf,e,this.pos),this.pos+=4},writeFixed64:function(e){this.realloc(8),v(this.buf,-1&e,this.pos),v(this.buf,Math.floor(e*r),this.pos+4),this.pos+=8},writeSFixed64:function(e){this.realloc(8),v(this.buf,-1&e,this.pos),v(this.buf,Math.floor(e*r),this.pos+4),this.pos+=8},writeVarint:function(e){(e=+e||0)>268435455||e<0?function(e,t){var n,r;if(e>=0?(n=e%4294967296|0,r=e/4294967296|0):(r=~(-e/4294967296),4294967295^(n=~(-e%4294967296))?n=n+1|0:(n=0,r=r+1|0)),e>=0x10000000000000000||e<-0x10000000000000000)throw Error(`Given varint doesn't fit into 10 bytes`);t.realloc(10),function(e,t,n){n.buf[n.pos++]=127&e|128,e>>>=7,n.buf[n.pos++]=127&e|128,e>>>=7,n.buf[n.pos++]=127&e|128,e>>>=7,n.buf[n.pos++]=127&e|128,n.buf[n.pos]=127&(e>>>=7)}(n,0,t),function(e,t){var n=(7&e)<<4;t.buf[t.pos++]|=n|((e>>>=3)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e)))))}(r,t)}(e,this):(this.realloc(4),this.buf[this.pos++]=127&e|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=e>>>7&127))))},writeSVarint:function(e){this.writeVarint(e<0?2*-e-1:2*e)},writeBoolean:function(e){this.writeVarint(!!e)},writeString:function(e){e=String(e),this.realloc(4*e.length),this.pos++;var t=this.pos;this.pos=function(e,t,n){for(var r,i,a=0;a<t.length;a++){if((r=t.charCodeAt(a))>55295&&r<57344){if(!i){r>56319||a+1===t.length?(e[n++]=239,e[n++]=191,e[n++]=189):i=r;continue}if(r<56320){e[n++]=239,e[n++]=191,e[n++]=189,i=r;continue}r=i-55296<<10|r-56320|65536,i=null}else i&&=(e[n++]=239,e[n++]=191,e[n++]=189,null);r<128?e[n++]=r:(r<2048?e[n++]=r>>6|192:(r<65536?e[n++]=r>>12|224:(e[n++]=r>>18|240,e[n++]=r>>12&63|128),e[n++]=r>>6&63|128),e[n++]=63&r|128)}return n}(this.buf,e,this.pos);var n=this.pos-t;n>=128&&s(t,n,this),this.pos=t-1,this.writeVarint(n),this.pos+=n},writeFloat:function(t){this.realloc(4),e.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),e.write(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(e){var t=e.length;this.writeVarint(t),this.realloc(t);for(var n=0;n<t;n++)this.buf[this.pos++]=e[n]},writeRawMessage:function(e,t){this.pos++;var n=this.pos;e(t,this);var r=this.pos-n;r>=128&&s(n,r,this),this.pos=n-1,this.writeVarint(r),this.pos+=r},writeMessage:function(e,n,r){this.writeTag(e,t.Bytes),this.writeRawMessage(n,r)},writePackedVarint:function(e,t){t.length&&this.writeMessage(e,c,t)},writePackedSVarint:function(e,t){t.length&&this.writeMessage(e,l,t)},writePackedBoolean:function(e,t){t.length&&this.writeMessage(e,f,t)},writePackedFloat:function(e,t){t.length&&this.writeMessage(e,u,t)},writePackedDouble:function(e,t){t.length&&this.writeMessage(e,d,t)},writePackedFixed32:function(e,t){t.length&&this.writeMessage(e,p,t)},writePackedSFixed32:function(e,t){t.length&&this.writeMessage(e,m,t)},writePackedFixed64:function(e,t){t.length&&this.writeMessage(e,h,t)},writePackedSFixed64:function(e,t){t.length&&this.writeMessage(e,g,t)},writeBytesField:function(e,n){this.writeTag(e,t.Bytes),this.writeBytes(n)},writeFixed32Field:function(e,n){this.writeTag(e,t.Fixed32),this.writeFixed32(n)},writeSFixed32Field:function(e,n){this.writeTag(e,t.Fixed32),this.writeSFixed32(n)},writeFixed64Field:function(e,n){this.writeTag(e,t.Fixed64),this.writeFixed64
12(n)},writeSFixed64Field:function(e,n){this.writeTag(e,t.Fixed64),this.writeSFixed64(n)},writeVarintField:function(e,n){this.writeTag(e,t.Varint),this.writeVarint(n)},writeSVarintField:function(e,n){this.writeTag(e,t.Varint),this.writeSVarint(n)},writeStringField:function(e,n){this.writeTag(e,t.Bytes),this.writeString(n)},writeFloatField:function(e,n){this.writeTag(e,t.Fixed32),this.writeFloat(n)},writeDoubleField:function(e,n){this.writeTag(e,t.Fixed64),this.writeDouble(n)},writeBooleanField:function(e,t){this.writeVarintField(e,!!t)}},zl}var Gl=n(Wl());function Kl(e,t,n){e===1&&n.readMessage(ql,t)}function ql(e,t,n){if(e===3){let{id:e,bitmap:r,width:i,height:a,left:o,top:s,advance:c}=n.readMessage(Jl,{});t.push({id:e,bitmap:new Js({width:i+6,height:a+6},r),metrics:{width:i,height:a,left:o,top:s,advance:c}})}}function Jl(e,t,n){e===1?t.id=n.readVarint():e===2?t.bitmap=n.readBytes():e===3?t.width=n.readVarint():e===4?t.height=n.readVarint():e===5?t.left=n.readSVarint():e===6?t.top=n.readSVarint():e===7&&(t.advance=n.readVarint())}function Yl(e){let t=0,n=0;for(let r of e)t+=r.w*r.h,n=Math.max(n,r.w);e.sort(((e,t)=>t.h-e.h));let r=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(t/.95)),n),h:1/0}],i=0,a=0;for(let t of e)for(let e=r.length-1;e>=0;e--){let n=r[e];if(!(t.w>n.w||t.h>n.h)){if(t.x=n.x,t.y=n.y,a=Math.max(a,t.y+t.h),i=Math.max(i,t.x+t.w),t.w===n.w&&t.h===n.h){let t=r.pop();e<r.length&&(r[e]=t)}else t.h===n.h?(n.x+=t.w,n.w-=t.w):t.w===n.w?(n.y+=t.h,n.h-=t.h):(r.push({x:n.x+t.w,y:n.y,w:n.w-t.w,h:t.h}),n.y+=t.h,n.h-=t.h);break}}return{w:i,h:a,fill:t/(i*a)||0}}class Xl{constructor(e,{pixelRatio:t,version:n,stretchX:r,stretchY:i,content:a,textFitWidth:o,textFitHeight:s}){this.paddedRect=e,this.pixelRatio=t,this.stretchX=r,this.stretchY=i,this.content=a,this.version=n,this.textFitWidth=o,this.textFitHeight=s}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]}}class Zl{constructor(e,t){let n={},r={};this.haveRenderCallbacks=[];let i=[];this.addImages(e,n,i),this.addImages(t,r,i);let{w:a,h:o}=Yl(i),s=new Ys({width:a||1,height:o||1});for(let t in e){let r=e[t],i=n[t].paddedRect;Ys.copy(r.data,s,{x:0,y:0},{x:i.x+1,y:i.y+1},r.data)}for(let e in t){let n=t[e],i=r[e].paddedRect,a=i.x+1,o=i.y+1,c=n.data.width,l=n.data.height;Ys.copy(n.data,s,{x:0,y:0},{x:a,y:o},n.data),Ys.copy(n.data,s,{x:0,y:l-1},{x:a,y:o-1},{width:c,height:1}),Ys.copy(n.data,s,{x:0,y:0},{x:a,y:o+l},{width:c,height:1}),Ys.copy(n.data,s,{x:c-1,y:0},{x:a-1,y:o},{width:1,height:l}),Ys.copy(n.data,s,{x:0,y:0},{x:a+c,y:o},{width:1,height:l})}this.image=s,this.iconPositions=n,this.patternPositions=r}addImages(e,t,n){for(let r in e){let i=e[r],a={x:0,y:0,w:i.data.width+2,h:i.data.height+2};n.push(a),t[r]=new Xl(a,i),i.hasRenderCallback&&this.haveRenderCallbacks.push(r)}}patchUpdatedImages(e,t){e.dispatchRenderCallbacks(this.haveRenderCallbacks);for(let n in e.updatedImages)this.patchUpdatedImage(this.iconPositions[n],e.getImage(n),t),this.patchUpdatedImage(this.patternPositions[n],e.getImage(n),t)}patchUpdatedImage(e,t,n){if(!e||!t||e.version===t.version)return;e.version=t.version;let[r,i]=e.tl;n.update(t.data,void 0,{x:r,y:i})}}var Ql;X(`ImagePosition`,Xl),X(`ImageAtlas`,Zl),e.al=void 0,(Ql=e.al||={})[Ql.none=0]=`none`,Ql[Ql.horizontal=1]=`horizontal`,Ql[Ql.vertical=2]=`vertical`,Ql[Ql.horizontalOnly=3]=`horizontalOnly`;class $l{constructor(){this.scale=1,this.fontStack=``,this.imageName=null,this.verticalAlign=`bottom`}static forText(e,t,n){let r=new $l;return r.scale=e||1,r.fontStack=t,r.verticalAlign=n||`bottom`,r}static forImage(e,t){let n=new $l;return n.imageName=e,n.verticalAlign=t||`bottom`,n}}class eu{constructor(){this.text=``,this.sectionIndex=[],this.sections=[],this.imageSectionID=null}static fromFeature(e,t){let n=new eu;for(let r=0;r<e.sections.length;r++){let i=e.sections[r];i.image?n.addImageSection(i):n.addTextSection(i,t)}return n}length(){return this.text.length}getSection(e){return this.sections[this.sectionIndex[e]]}getSectionIndex(e){return this.sectionIndex[e]}getCharCode(e){return this.text.charCodeAt(e)}verticalizePunctuation(){this.text=function(e){let t=``;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n+1)||null,i=e.charCodeAt(n-1)||null;t+=r&&va(r)&&!Ll[e[n+1]]||i&&va(i)&&!Ll[e[n-1]]||!Ll[e[n]]?e[n]:Ll[e[n]]}return t}(this.text)}trim(){let e=0;for(let t=0;t<this.text.length&&nu[this.text.charCodeAt(t)];t++)e++;let t=this.text.length;for(let n=this.text.length-1;n>=0&&n>=e&&nu[this.text.charCodeAt(n)];n--)t--;this.text=this.text.substring(e,t),this.sectionIndex=this.sectionIndex.slice(e,t)}substring(e,t){let n=new eu;return n.text=this.text.substring(e,t),n.sectionIndex=this.sectionIndex.slice(e,t),n.sections=this.sections,n}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce(((e,t)=>Math.max(e,this.sections[t].scale)),0)}getMaxImageSize(e){let t=0,n=0;for(let r=0;r<this.length();r++){let i=this.getSection(r);if(i.imageName){let r=e[i.imageName];if(!r)continue;let a=r.displaySize;t=Math.max(t,a[0]),n=Math.max(n,a[1])}}return{maxImageWidth:t,maxImageHeight:n}}addTextSection(e,t){this.text+=e.text,this.sections.push($l.forText(e.scale,e.fontStack||t,e.verticalAlign));let n=this.sections.length-1;for(let t=0;t<e.text.length;++t)this.sectionIndex.push(n)}addImageSection(e){let t=e.image?e.image.name:``;if(t.length===0)return void le(`Can't add FormattedSection with an empty image.`);let n=this.getNextImageSectionCharCode();n?(this.text+=String.fromCharCode(n),this.sections.push($l.forImage(t,e.verticalAlign)),this.sectionIndex.push(this.sections.length-1)):le(`Reached maximum number of images 6401`)}getNextImageSectionCharCode(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function tu(t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){let g=eu.fromFeature(t,a),_;f===e.al.vertical&&g.verticalizePunctuation();let{processBidirectionalText:v,processStyledBidirectionalText:y}=Ca;if(v&&g.sections.length===1){_=[];let e=v(g.toString(),uu(g,u,o,n,i,m));for(let t of e){let e=new eu;e.text=t,e.sections=g.sections;for(let n=0;n<t.length;n++)e.sectionIndex.push(0);_.push(e)}}else if(y){_=[];let e=y(g.text,g.sectionIndex,uu(g,u,o,n,i,m));for(let t of e){let e=new eu;e.text=t[0],e.sectionIndex=t[1],e.sections=g.sections,_.push(e)}}else _=function(e,t){let n=[],r=e.text,i=0;for(let r of t)n.push(e.substring(i,r)),i=r;return i<r.length&&n.push(e.substring(i,r.length)),n}(g,uu(g,u,o,n,i,m));let b=[],x={positionedLines:b,text:g.toString(),top:d[1],bottom:d[1],left:d[0],right:d[0],writingMode:f,iconsInText:!1,verticalizable:!1};return function(e,t,n,r,i,a,o,s,c,l,u,d){let f=0,p=0,m=0,h=0,g=s===`right`?1:s===`left`?0:.5,_=Vl/d,v=0;for(let o of i){o.trim();let i=o.getMaxScale(),s={positionedGlyphs:[],lineOffset:0};e.positionedLines[v]=s;let d=s.positionedGlyphs,y=0;if(!o.length()){p+=a,++v;continue}let b=fu(r,o,_);for(let a=0;a<o.length();a++){let s=o.getSection(a),m=o.getSectionIndex(a),h=o.getCharCode(a),g=mu(c,u,h),v;if(s.imageName){if(e.iconsInText=!0,s.scale*=_,v=gu(s,g,i,b,r),!v)continue;y=Math.max(y,v.imageOffset)}else if(v=hu(s,h,g,b,t,n),!v)continue;let{rect:x,metrics:S,baselineOffset:C}=v;d.push({glyph:h,imageName:s.imageName,x:f,y:p+C+-17,vertical:g,scale:s.scale,fontStack:s.fontStack,sectionIndex:m,metrics:S,rect:x}),g?(e.verticalizable=!0,f+=(s.imageName?S.advance:Vl)*s.scale+l):f+=S.advance*s.scale+l}d.length!==0&&(m=Math.max(f-l,m),_u(d,0,d.length-1,g)),f=0,s.lineOffset=Math.max(y,(i-1)*Vl);let x=a*i+y;p+=x,h=Math.max(x,h),++v}let{horizontalAlign:y,verticalAlign:b}=du(o);(function(e,t,n,r,i,a,o,s,c){let l=(t-n)*i,u=0;u=a===o?-r*c*o+.5*o:-s*r- -17;for(let t of e)for(let e of t.positionedGlyphs)e.x+=l,e.y+=u})(e.positionedLines,g,y,b,m,h,a,p,i.length),e.top+=-b*p,e.bottom=e.top+p,e.left+=-y*m,e.right=e.left+m}(x,n,r,i,_,s,c,l,f,u,p,h),!function(e){for(let t of e)if(t.positionedGlyphs.length!==0)return!1;return!0}(b)&&x}let nu={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},ru={10:!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},iu={40:!0};function au(e,t,n,r,i,a){if(t.imageName){let e=r[t.imageName];return e?e.displaySize[0]*t.scale*Vl/a+i:0}{let r=n[t.fontStack],a=r&&r[e];return a?a.metrics.advance*t.scale+i:0}}function ou(e,t,n,r){let i=(e-t)**2;return r?e<t?i/2:2*i:i+Math.abs(n)*n}
12function su(e,t,n){let r=0;return e===10&&(r-=1e4),n&&(r+=150),e!==40&&e!==65288||(r+=50),t!==41&&t!==65289||(r+=50),r}function cu(e,t,n,r,i,a){let o=null,s=ou(t,n,i,a);for(let e of r){let r=ou(t-e.x,n,i,a)+e.badness;r<=s&&(o=e,s=r)}return{index:e,x:t,priorBreak:o,badness:s}}function lu(e){return e?lu(e.priorBreak).concat(e.index):[]}function uu(e,t,n,r,i,a){if(!e)return[];let o=[],s=function(e,t,n,r,i,a){let o=0;for(let n=0;n<e.length();n++){let s=e.getSection(n);o+=au(e.getCharCode(n),s,r,i,t,a)}return o/Math.max(1,Math.ceil(o/n))}(e,t,n,r,i,a),c=e.text.indexOf(`â`)>=0,l=0;for(let n=0;n<e.length();n++){let d=e.getSection(n),f=e.getCharCode(n);if(nu[f]||(l+=au(f,d,r,i,t,a)),n<e.length()-1){let t=!((u=f)<11904)&&(!!Z[`CJK Compatibility Forms`](u)||!!Z[`CJK Compatibility`](u)||!!Z[`CJK Strokes`](u)||!!Z[`CJK Symbols and Punctuation`](u)||!!Z[`Enclosed CJK Letters and Months`](u)||!!Z[`Halfwidth and Fullwidth Forms`](u)||!!Z[`Ideographic Description Characters`](u)||!!Z[`Vertical Forms`](u)||ga.test(String.fromCodePoint(u)));(ru[f]||t||d.imageName||n!==e.length()-2&&iu[e.getCharCode(n+1)])&&o.push(cu(n+1,l,s,o,su(f,e.getCharCode(n+1),t&&c),!1))}}var u;return lu(cu(e.length(),l,s,o,0,!0))}function du(e){let t=.5,n=.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`:n=1;break;case`top`:case`top-right`:case`top-left`:n=0}return{horizontalAlign:t,verticalAlign:n}}function fu(e,t,n){let r=t.getMaxScale()*Vl,{maxImageWidth:i,maxImageHeight:a}=t.getMaxImageSize(e),o=Math.max(r,a*n);return{verticalLineContentWidth:Math.max(r,i*n),horizontalLineContentHeight:o}}function pu(e){switch(e){case`top`:return 0;case`center`:return .5;default:return 1}}function mu(t,n,r){return!(t===e.al.horizontal||!n&&!_a(r)||n&&(nu[r]||(i=r,/\p{sc=Arab}/u.test(String.fromCodePoint(i)))));var i}function hu(e,t,n,r,i,a){let o=a[e.fontStack],s=function(e,t,n,r){if(e&&e.rect)return e;let i=t[n.fontStack],a=i&&i[r];return a?{rect:null,metrics:a.metrics}:null}(o&&o[t],i,e,t);if(s===null)return null;let c;if(n)c=r.verticalLineContentWidth-e.scale*Vl;else{let t=pu(e.verticalAlign);c=(r.horizontalLineContentHeight-e.scale*Vl)*t}return{rect:s.rect,metrics:s.metrics,baselineOffset:c}}function gu(e,t,n,r,i){let a=i[e.imageName];if(!a)return null;let o=a.paddedRect,s=a.displaySize,c={width:s[0],height:s[1],left:1,top:-3,advance:t?s[1]:s[0]},l;if(t)l=r.verticalLineContentWidth-s[1]*e.scale;else{let t=pu(e.verticalAlign);l=(r.horizontalLineContentHeight-s[1]*e.scale)*t}return{rect:o,metrics:c,baselineOffset:l,imageOffset:(t?s[0]:s[1])*e.scale-Vl*n}}function _u(e,t,n,r){if(r===0)return;let i=e[n],a=(e[n].x+i.metrics.advance*i.scale)*r;for(let r=t;r<=n;r++)e[r].x-=a}function vu(e,t,n){let{horizontalAlign:r,verticalAlign:i}=du(n),a=t[0]-e.displaySize[0]*r,o=t[1]-e.displaySize[1]*i;return{image:e,top:o,bottom:o+e.displaySize[1],left:a,right:a+e.displaySize[0]}}function yu(e){let t=e.left,n=e.top,r=e.right-t,i=e.bottom-n,a=e.image.textFitWidth??`stretchOrShrink`,o=e.image.textFitHeight??`stretchOrShrink`,s=(e.image.content[2]-e.image.content[0])/(e.image.content[3]-e.image.content[1]);if(o===`proportional`){if(a===`stretchOnly`&&r/i<s||a===`proportional`){let e=Math.ceil(i*s);t*=e/r,r=e}}else if(a===`proportional`&&o===`stretchOnly`&&s!==0&&r/i>s){let e=Math.ceil(r/s);n*=e/i,i=e}return{x1:t,y1:n,x2:t+r,y2:n+i}}function bu(e,t,n,r,i,a){let o=e.image,s;if(o.content){let e=o.content,t=o.pixelRatio||1;s=[e[0]/t,e[1]/t,o.displaySize[0]-e[2]/t,o.displaySize[1]-e[3]/t]}let c=t.left*a,l=t.right*a,u,d,f,p;n===`width`||n===`both`?(p=i[0]+c-r[3],d=i[0]+l+r[1]):(p=i[0]+(c+l-o.displaySize[0])/2,d=p+o.displaySize[0]);let m=t.top*a,h=t.bottom*a;return n===`height`||n===`both`?(u=i[1]+m-r[0],f=i[1]+h+r[2]):(u=i[1]+(m+h-o.displaySize[1])/2,f=u+o.displaySize[1]),{image:o,top:u,right:d,bottom:f,left:p,collisionPadding:s}}let xu=32640;function Su(e,t){let{expression:n}=t;if(n.kind===`constant`)return{kind:`constant`,layoutSize:n.evaluate(new wa(e+1))};if(n.kind===`source`)return{kind:`source`};{let{zoomStops:t,interpolationType:r}=n,i=0;for(;i<t.length&&t[i]<=e;)i++;i=Math.max(0,i-1);let a=i;for(;a<t.length&&t[a]<e+1;)a++;a=Math.min(t.length-1,a);let o=t[i],s=t[a];return n.kind===`composite`?{kind:`composite`,minZoom:o,maxZoom:s,interpolationType:r}:{kind:`camera`,minZoom:o,maxZoom:s,minSize:n.evaluate(new wa(o)),maxSize:n.evaluate(new wa(s)),interpolationType:r}}}function Cu(e,t,n){let r=`never`,i=e.get(t);return i?r=i:e.get(n)&&(r=`always`),r}let wu=al.VectorTileFeature.types,Tu=[{name:`a_fade_opacity`,components:1,type:`Uint8`,offset:0}];function Eu(e,t,n,r,i,a,o,s,c,l,u,d,f){let p=s?Math.min(xu,Math.round(s[0])):0,m=s?Math.min(xu,Math.round(s[1])):0;e.emplaceBack(t,n,Math.round(32*r),Math.round(32*i),a,o,(p<<1)+ +!!c,m,16*l,16*u,256*d,256*f)}function Du(e,t,n){e.emplaceBack(t.x,t.y,n),e.emplaceBack(t.x,t.y,n),e.emplaceBack(t.x,t.y,n),e.emplaceBack(t.x,t.y,n)}function Ou(e){for(let t of e.sections)if(Sa(t.text))return!0;return!1}
12class ku{constructor(e){this.layoutVertexArray=new No,this.indexArray=new Ro,this.programConfigurations=e,this.segments=new Vo,this.dynamicLayoutVertexArray=new Po,this.opacityVertexArray=new Fo,this.hasVisibleVertices=!1,this.placedSymbolArray=new _o}isEmpty(){return this.layoutVertexArray.length===0&&this.indexArray.length===0&&this.dynamicLayoutVertexArray.length===0&&this.opacityVertexArray.length===0}upload(e,t,n,r){this.isEmpty()||(n&&(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,jl.members),this.indexBuffer=e.createIndexBuffer(this.indexArray,t),this.dynamicLayoutVertexBuffer=e.createVertexBuffer(this.dynamicLayoutVertexArray,Ml.members,!0),this.opacityVertexBuffer=e.createVertexBuffer(this.opacityVertexArray,Tu,!0),this.opacityVertexBuffer.itemSize=1),(n||r)&&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())}}X(`SymbolBuffers`,ku);class Au{constructor(e,t,n){this.layoutVertexArray=new e,this.layoutAttributes=t,this.indexArray=new n,this.segments=new Vo,this.collisionVertexArray=new Lo}upload(e){this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=e.createVertexBuffer(this.collisionVertexArray,Nl.members,!0)}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())}}X(`CollisionBuffers`,Au);class ju{constructor(t){this.collisionBoxArray=t.collisionBoxArray,this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=t.index,this.pixelRatio=t.pixelRatio,this.sourceLayerIndex=t.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[];let n=this.layers[0]._unevaluatedLayout._values;this.textSizeData=Su(this.zoom,n[`text-size`]),this.iconSizeData=Su(this.zoom,n[`icon-size`]);let r=this.layers[0].layout,i=r.get(`symbol-sort-key`),a=r.get(`symbol-z-order`);this.canOverlap=Cu(r,`text-overlap`,`text-allow-overlap`)!==`never`||Cu(r,`icon-overlap`,`icon-allow-overlap`)!==`never`||r.get(`text-ignore-placement`)||r.get(`icon-ignore-placement`),this.sortFeaturesByKey=a!==`viewport-y`&&!i.isConstant(),this.sortFeaturesByY=(a===`viewport-y`||a===`auto`&&!this.sortFeaturesByKey)&&this.canOverlap,r.get(`symbol-placement`)===`point`&&(this.writingModes=r.get(`text-writing-mode`).map((t=>e.al[t]))),this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id)),this.sourceID=t.sourceID}createArrays(){this.text=new ku(new ps(this.layers,this.zoom,(e=>/^text/.test(e)))),this.icon=new ku(new ps(this.layers,this.zoom,(e=>/^icon/.test(e)))),this.glyphOffsetArray=new bo,this.lineVertexArray=new xo,this.symbolInstances=new yo,this.textAnchorOffsets=new Co}calculateGlyphDependencies(e,t,n,r,i){for(let a=0;a<e.length;a++)if(t[e.charCodeAt(a)]=!0,(n||r)&&i){let n=Ll[e.charAt(a)];n&&(t[n.charCodeAt(0)]=!0)}}populate(t,n,r){let i=this.layers[0],a=i.layout,o=a.get(`text-font`),s=a.get(`text-field`),c=a.get(`icon-image`),l=(s.value.kind!==`constant`||s.value.value instanceof It&&!s.value.value.isEmpty()||s.value.value.toString().length>0)&&(o.value.kind!==`constant`||o.value.value.length>0),u=c.value.kind!==`constant`||!!c.value.value||Object.keys(c.parameters).length>0,d=a.get(`symbol-sort-key`);if(this.features=[],!l&&!u)return;let f=n.iconDependencies,p=n.glyphDependencies,m=n.availableImages,h=new wa(this.zoom);for(let{feature:n,id:s,index:c,sourceLayerIndex:g}of t){let t=i._featureFilter.needGeometry,_=ys(n,t);if(!i._featureFilter.filter(h,_,r))continue;let v,y;if(t||(_.geometry=vs(n)),l){let e=i.getValueAndResolveTokens(`text-field`,_,r,m),t=It.factory(e),n=this.hasRTLText=this.hasRTLText||Ou(t);(!n||Ca.getRTLTextPluginStatus()===`unavailable`||n&&Ca.isParsed())&&(v=Il(t,i,_))}if(u){let e=i.getValueAndResolveTokens(`icon-image`,_,r,m);y=e instanceof Ut?e:Ut.fromString(e)}if(!v&&!y)continue;let b=this.sortFeaturesByKey?d.evaluate(_,{},r):void 0;if(this.features.push({id:s,text:v,icon:y,index:c,sourceLayerIndex:g,geometry:_.geometry,properties:n.properties,type:wu[n.type],sortKey:b}),y&&(f[y.name]=!0),v){let t=o.evaluate(_,{},r).join(`,`),n=a.get(`text-rotation-alignment`)!==`viewport`&&a.get(`symbol-placement`)!==`point`;this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(e.al.vertical)>=0;for(let e of v.sections)if(e.image)f[e.image.name]=!0;else{let r=da(v.toString()),i=e.fontStack||t,a=p[i]=p[i]||{};this.calculateGlyphDependencies(e.text,a,n,this.allowVerticalPlacement,r)}}}a.get(`symbol-placement`)===`line`&&(this.features=function(e){let t={},n={},r=[],i=0;function a(t){r.push(e[t]),i++}function o(e,t,i){let a=n[e];return delete n[e],n[t]=a,r[a].geometry[0].pop(),r[a].geometry[0]=r[a].geometry[0].concat(i[0]),a}function s(e,n,i){let a=t[n];return delete t[n],t[e]=a,r[a].geometry[0].shift(),r[a].geometry[0]=i[0].concat(r[a].geometry[0]),a}
12function c(e,t,n){let r=n?t[0][t[0].length-1]:t[0][0];return`${e}:${r.x}:${r.y}`}for(let l=0;l<e.length;l++){let u=e[l],d=u.geometry,f=u.text?u.text.toString():null;if(!f){a(l);continue}let p=c(f,d),m=c(f,d,!0);if(p in n&&m in t&&n[p]!==t[m]){let e=s(p,m,d),i=o(p,m,r[e].geometry);delete t[p],delete n[m],n[c(f,r[i].geometry,!0)]=i,r[e].geometry=null}else p in n?o(p,m,d):m in t?s(p,m,d):(a(l),t[p]=i-1,n[m]=i-1)}return r.filter((e=>e.geometry))}(this.features)),this.sortFeaturesByKey&&this.features.sort(((e,t)=>e.sortKey-t.sortKey))}update(e,t,n){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(e,t,this.layers,n),this.icon.programConfigurations.updatePaintArrays(e,t,this.layers,n))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}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 n=this.lineVertexArray.length;if(e.segment!==void 0){let n=e.dist(t[e.segment+1]),r=e.dist(t[e.segment]),i={};for(let r=e.segment+1;r<t.length;r++)i[r]={x:t[r].x,y:t[r].y,tileUnitDistanceFromAnchor:n},r<t.length-1&&(n+=t[r+1].dist(t[r]));for(let n=e.segment||0;n>=0;n--)i[n]={x:t[n].x,y:t[n].y,tileUnitDistanceFromAnchor:r},n>0&&(r+=t[n-1].dist(t[n]));for(let e=0;e<t.length;e++){let t=i[e];this.lineVertexArray.emplaceBack(t.x,t.y,t.tileUnitDistanceFromAnchor)}}return{lineStartIndex:n,lineLength:this.lineVertexArray.length-n}}addSymbols(t,n,r,i,a,o,s,c,l,u,d,f){let p=t.indexArray,m=t.layoutVertexArray,h=t.segments.prepareSegment(4*n.length,m,p,this.canOverlap?o.sortKey:void 0),g=this.glyphOffsetArray.length,_=h.vertexLength,v=this.allowVerticalPlacement&&s===e.al.vertical?Math.PI/2:0,y=o.text&&o.text.sections;for(let e=0;e<n.length;e++){let{tl:i,tr:a,bl:s,br:l,tex:u,pixelOffsetTL:d,pixelOffsetBR:g,minFontScaleX:_,minFontScaleY:b,glyphOffset:x,isSDF:S,sectionIndex:C}=n[e],w=h.vertexLength,T=x[1];Eu(m,c.x,c.y,i.x,T+i.y,u.x,u.y,r,S,d.x,d.y,_,b),Eu(m,c.x,c.y,a.x,T+a.y,u.x+u.w,u.y,r,S,g.x,d.y,_,b),Eu(m,c.x,c.y,s.x,T+s.y,u.x,u.y+u.h,r,S,d.x,g.y,_,b),Eu(m,c.x,c.y,l.x,T+l.y,u.x+u.w,u.y+u.h,r,S,g.x,g.y,_,b),Du(t.dynamicLayoutVertexArray,c,v),p.emplaceBack(w,w+2,w+1),p.emplaceBack(w+1,w+2,w+3),h.vertexLength+=4,h.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(x[0]),e!==n.length-1&&C===n[e+1].sectionIndex||t.programConfigurations.populatePaintArrays(m.length,o,o.index,{},f,y&&y[C])}t.placedSymbolArray.emplaceBack(c.x,c.y,g,this.glyphOffsetArray.length-g,_,l,u,c.segment,r?r[0]:0,r?r[1]:0,i[0],i[1],s,0,!1,0,d)}_addCollisionDebugVertex(e,t,n,r,i,a){return t.emplaceBack(0,0),e.emplaceBack(n.x,n.y,r,i,Math.round(a.x),Math.round(a.y))}addCollisionDebugVertices(e,t,n,r,i,a,o){let s=i.segments.prepareSegment(4,i.layoutVertexArray,i.indexArray),l=s.vertexLength,u=i.layoutVertexArray,d=i.collisionVertexArray,f=o.anchorX,p=o.anchorY;this._addCollisionDebugVertex(u,d,a,f,p,new c(e,t)),this._addCollisionDebugVertex(u,d,a,f,p,new c(n,t)),this._addCollisionDebugVertex(u,d,a,f,p,new c(n,r)),this._addCollisionDebugVertex(u,d,a,f,p,new c(e,r)),s.vertexLength+=4;let m=i.indexArray;m.emplaceBack(l,l+1),m.emplaceBack(l+1,l+2),m.emplaceBack(l+2,l+3),m.emplaceBack(l+3,l),s.primitiveLength+=4}addDebugCollisionBoxes(e,t,n,r){for(let i=e;i<t;i++){let e=this.collisionBoxArray.get(i);this.addCollisionDebugVertices(e.x1,e.y1,e.x2,e.y2,r?this.textCollisionBox:this.iconCollisionBox,e.anchorPoint,n)}}generateCollisionDebugBuffers(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new Au(Io,Pl.members,zo),this.iconCollisionBox=new Au(Io,Pl.members,zo);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,n,r,i,a,o,s,c){let l={};for(let r=t;r<n;r++){let t=e.get(r);l.textBox={x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2,anchorPointX:t.anchorPointX,anchorPointY:t.anchorPointY},l.textFeatureIndex=t.featureIndex;break}for(let t=r;t<i;t++){let n=e.get(t);l.verticalTextBox={x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2,anchorPointX:n.anchorPointX,anchorPointY:n.anch
12orPointY},l.verticalTextFeatureIndex=n.featureIndex;break}for(let t=a;t<o;t++){let n=e.get(t);l.iconBox={x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2,anchorPointX:n.anchorPointX,anchorPointY:n.anchorPointY},l.iconFeatureIndex=n.featureIndex;break}for(let t=s;t<c;t++){let n=e.get(t);l.verticalIconBox={x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2,anchorPointX:n.anchorPointX,anchorPointY:n.anchorPointY},l.verticalIconFeatureIndex=n.featureIndex;break}return l}deserializeCollisionBoxes(e){this.collisionArrays=[];for(let t=0;t<this.symbolInstances.length;t++){let n=this.symbolInstances.get(t);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(e,n.textBoxStartIndex,n.textBoxEndIndex,n.verticalTextBoxStartIndex,n.verticalTextBoxEndIndex,n.iconBoxStartIndex,n.iconBoxEndIndex,n.verticalIconBoxStartIndex,n.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 n=e.placedSymbolArray.get(t),r=n.vertexStartIndex+4*n.numGlyphs;for(let t=n.vertexStartIndex;t<r;t+=4)e.indexArray.emplaceBack(t,t+2,t+1),e.indexArray.emplaceBack(t+1,t+2,t+3)}getSortedSymbolIndexes(e){if(this.sortedAngle===e&&this.symbolInstanceIndexes!==void 0)return this.symbolInstanceIndexes;let t=Math.sin(e),n=Math.cos(e),r=[],i=[],a=[];for(let e=0;e<this.symbolInstances.length;++e){a.push(e);let o=this.symbolInstances.get(e);r.push(0|Math.round(t*o.anchorX+n*o.anchorY)),i.push(o.featureIndex)}return a.sort(((e,t)=>r[e]-r[t]||i[t]-i[e])),a}addToSortKeyRanges(e,t){let n=this.sortKeyRanges[this.sortKeyRanges.length-1];n&&n.sortKey===t?n.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 e of this.symbolInstanceIndexes){let t=this.symbolInstances.get(e);this.featureSortOrder.push(t.featureIndex),[t.rightJustifiedTextSymbolIndex,t.centerJustifiedTextSymbolIndex,t.leftJustifiedTextSymbolIndex].forEach(((e,t,n)=>{e>=0&&n.indexOf(e)===t&&this.addIndicesForPlacedSymbol(this.text,e)})),t.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,t.verticalPlacedTextSymbolIndex),t.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,t.placedIconSymbolIndex),t.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,t.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let Mu,Nu;X(`SymbolBucket`,ju,{omit:[`layers`,`collisionBoxArray`,`features`,`compareText`]}),ju.MAX_GLYPHS=65535,ju.addDynamicAttributes=Du;var Pu={get paint(){return Nu||=new Ia({"icon-opacity":new $(L.paint_symbol[`icon-opacity`]),"icon-color":new $(L.paint_symbol[`icon-color`]),"icon-halo-color":new $(L.paint_symbol[`icon-halo-color`]),"icon-halo-width":new $(L.paint_symbol[`icon-halo-width`]),"icon-halo-blur":new $(L.paint_symbol[`icon-halo-blur`]),"icon-translate":new Q(L.paint_symbol[`icon-translate`]),"icon-translate-anchor":new Q(L.paint_symbol[`icon-translate-anchor`]),"text-opacity":new $(L.paint_symbol[`text-opacity`]),"text-color":new $(L.paint_symbol[`text-color`],{runtimeType:Je,getOverride:e=>e.textColor,hasOverride:e=>!!e.textColor}),"text-halo-color":new $(L.paint_symbol[`text-halo-color`]),"text-halo-width":new $(L.paint_symbol[`text-halo-width`]),"text-halo-blur":new $(L.paint_symbol[`text-halo-blur`]),"text-translate":new Q(L.paint_symbol[`text-translate`]),"text-translate-anchor":new Q(L.paint_symbol[`text-translate-anchor`])})},get layout(){return Mu||=new Ia({"symbol-placement":new Q(L.layout_symbol[`symbol-placement`]),"symbol-spacing":new Q(L.layout_symbol[`symbol-spacing`]),"symbol-avoid-edges":new Q(L.layout_symbol[`symbol-avoid-edges`]),"symbol-sort-key":new $(L.layout_symbol[`symbol-sort-key`]),"symbol-z-order":new Q(L.layout_symbol[`symbol-z-order`]),"icon-allow-overlap":new Q(L.layout_symbol[`icon-allow-overlap`]),"icon-overlap":new Q(L.layout_symbol[`icon-overlap`]),"icon-ignore-placement":new Q(L.layout_symbol[`icon-ignore-placement`]),"icon-optional":new Q(L.layout_symbol[`icon-optional`]),"icon-rotation-alignment":new Q(L.layout_symbol[`icon-rotation-alignment`]),"icon-size":new $(L.layout_symbol[`icon-size`]),"icon-text-fit":new Q(L.layout_symbol[`icon-text-fit`]),"icon-text-fit-padding":new Q(L.layout_symbol[`icon-text-fit-padding`]),"icon-image":new $(L.layout_symbol[`icon-image`]),"icon-rotate":new $(L.layout_symbol[`icon-rotate`]),"icon-padding":new $(L.layout_symbol[`icon-padding`]),"icon-keep-upright":new Q(L.layout_symbol[`icon-keep-upright`]),"icon-offset":new $(L.layout_symbol[`icon-offset`]),"icon-anchor":new $(L.layout_symbol[`icon-anchor`]),"icon-pitch-alignment":new Q(L.layout_symbol[`icon-pitch-alignment`]),"text-pitch-alignment":new Q(L.layout_symbol[`text-pitch-alignment`]),"text-rotation-alignment":new Q(L.layout_symbol[`text-rotation-alignment`]),"text-field":new $(L.layout_symbol[`text-field`]),"text-font":new $(L.layout_symbol[`text-font`]),"text-size":new $(L.layout_symbol[`text-size`]),"text-max-width":new $(L.layout_symbol[`text-max-width`]),"text-line-height":new Q(L.layout_symbol[`text-line-height`]),"text-letter-spacing":new $(L.layout_symbol[`text-letter-spacing`]),"text-justify":new $(L.layout_symbol[`text-ju
12stify`]),"text-radial-offset":new $(L.layout_symbol[`text-radial-offset`]),"text-variable-anchor":new Q(L.layout_symbol[`text-variable-anchor`]),"text-variable-anchor-offset":new $(L.layout_symbol[`text-variable-anchor-offset`]),"text-anchor":new $(L.layout_symbol[`text-anchor`]),"text-max-angle":new Q(L.layout_symbol[`text-max-angle`]),"text-writing-mode":new Q(L.layout_symbol[`text-writing-mode`]),"text-rotate":new $(L.layout_symbol[`text-rotate`]),"text-padding":new Q(L.layout_symbol[`text-padding`]),"text-keep-upright":new Q(L.layout_symbol[`text-keep-upright`]),"text-transform":new $(L.layout_symbol[`text-transform`]),"text-offset":new $(L.layout_symbol[`text-offset`]),"text-allow-overlap":new Q(L.layout_symbol[`text-allow-overlap`]),"text-overlap":new Q(L.layout_symbol[`text-overlap`]),"text-ignore-placement":new Q(L.layout_symbol[`text-ignore-placement`]),"text-optional":new Q(L.layout_symbol[`text-optional`])})}};class Fu{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:qe,this.defaultValue=e}evaluate(e){if(e.formattedSection){let t=this.defaultValue.property.overrides;if(t&&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){this.defaultValue.isConstant()||e(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}X(`FormatSectionOverride`,Fu,{omit:[`defaultValue`]});class Iu extends Ra{constructor(e){super(e,Pu)}recalculate(e,t){if(super.recalculate(e,t),this.layout.get(`icon-rotation-alignment`)===`auto`&&(this.layout._values[`icon-rotation-alignment`]=this.layout.get(`symbol-placement`)===`point`?`viewport`:`map`),this.layout.get(`text-rotation-alignment`)===`auto`&&(this.layout._values[`text-rotation-alignment`]=this.layout.get(`symbol-placement`)===`point`?`viewport`:`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`)),this.layout.get(`symbol-placement`)===`point`){let e=this.layout.get(`text-writing-mode`);if(e){let t=[];for(let n of e)t.indexOf(n)<0&&t.push(n);this.layout._values[`text-writing-mode`]=t}else this.layout._values[`text-writing-mode`]=[`horizontal`]}this._setPaintOverrides()}getValueAndResolveTokens(e,t,n,r){let i=this.layout.get(e).evaluate(t,{},n,r),a=this._unevaluatedLayout._values[e];return a.isDataDriven()||ti(a.value)||!i?i:function(e,t){return t.replace(/{([^{}]+)}/g,((t,n)=>e&&n in e?String(e[n]):``))}(t.properties,i)}createBucket(e){return new ju(e)}queryRadius(){return 0}queryIntersectsFeature(){throw Error(`Should take a different path in FeatureIndex`)}_setPaintOverrides(){for(let e of Pu.paint.overridableProperties){if(!Iu.hasPaintOverride(this.layout,e))continue;let t=this.paint.get(e),n=new ei(new Fu(t),t.property.specification),r=null;r=t.value.kind===`constant`||t.value.kind===`source`?new ri(`source`,n):new ii(`composite`,n,t.value.zoomStops),this.paint._values[e]=new ja(t.property,r,t.parameters)}}_handleOverridablePaintPropertyUpdate(e,t,n){return!(!this.layout||t.isDataDriven()||n.isDataDriven())&&Iu.hasPaintOverride(this.layout,e)}static hasPaintOverride(e,t){let n=e.get(`text-field`),r=Pu.paint.properties[t],i=!1,a=e=>{for(let t of e)if(r.overrides&&r.overrides.hasOverride(t))return void(i=!0)};if(n.value.kind===`constant`&&n.value.value instanceof It)a(n.value.value.sections);else if(n.value.kind===`source`){let e=t=>{i||(t instanceof J&&q(t.value)===Qe?a(t.value.sections):t instanceof kn?a(t.sections):t.eachChild(e))},t=n.value;t._styleExpression&&e(t._styleExpression.expression)}return i}}let Lu;var Ru={get paint(){return Lu||=new Ia({"background-color":new Q(L.paint_background[`background-color`]),"background-pattern":new Pa(L.paint_background[`background-pattern`]),"background-opacity":new Q(L.paint_background[`background-opacity`])})}};class zu extends Ra{constructor(e){super(e,Ru)}}let Bu;var Vu={get paint(){return Bu||=new Ia({"raster-opacity":new Q(L.paint_raster[`raster-opacity`]),"raster-hue-rotate":new Q(L.paint_raster[`raster-hue-rotate`]),"raster-brightness-min":new Q(L.paint_raster[`raster-brightness-min`]),"raster-brightness-max":new Q(L.paint_raster[`raster-brightness-max`]),"raster-saturation":new Q(L.paint_raster[`raster-saturation`]),"raster-contrast":new Q(L.paint_raster[`raster-contrast`]),"raster-resampling":new Q(L.paint_raster[`raster-resampling`]),"raster-fade-duration":new Q(L.paint_raster[`raster-fade-duration`])})}};class Hu extends Ra{constructor(e){super(e,Vu)}}class Uu extends Ra{constructor(e){super(e,{}),this.onAdd=e=>{this.implementation.onAdd&&this.implementation.onAdd(e,e.painter.context.gl)},this.onRemove=e=>{this.implementation.onRemove&&this.implementation.onRemove(e,e.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`)}}class Wu{constructor(e){this._methodToThrottle=e,this._triggered=!1,typeof MessageChannel<`u`&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((()=>{this._triggered=!1,this._methodToThrottle()}),0))}remove(){delete this._channel,this._methodToThrottle=()=>{}}}let Gu={once:!0},Ku=6371008.8;
12class qu{constructor(e,t){if(isNaN(e)||isNaN(t))throw Error(`Invalid LngLat object: (${e}, ${t})`);if(this.lng=+e,this.lat=+t,this.lat>90||this.lat<-90)throw Error(`Invalid LngLat latitude value: must be between -90 and 90`)}wrap(){return new qu(re(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(e){let t=Math.PI/180,n=this.lat*t,r=e.lat*t,i=Math.sin(n)*Math.sin(r)+Math.cos(n)*Math.cos(r)*Math.cos((e.lng-this.lng)*t);return Ku*Math.acos(Math.min(i,1))}static convert(e){if(e instanceof qu)return e;if(Array.isArray(e)&&(e.length===2||e.length===3))return new qu(Number(e[0]),Number(e[1]));if(!Array.isArray(e)&&typeof e==`object`&&e)return new qu(Number(`lng`in e?e.lng:e.lon),Number(e.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>]")}}let Ju=2*Math.PI*Ku;function Yu(e){return Ju*Math.cos(e*Math.PI/180)}function Xu(e){return(180+e)/360}function Zu(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function Qu(e,t){return e/Yu(t)}function $u(e){return 360/Math.PI*Math.atan(Math.exp((180-360*e)*Math.PI/180))-90}function ed(e,t){return e*Yu($u(t))}class td{constructor(e,t,n=0){this.x=+e,this.y=+t,this.z=+n}static fromLngLat(e,t=0){let n=qu.convert(e);return new td(Xu(n.lng),Zu(n.lat),Qu(t,n.lat))}toLngLat(){return new qu(360*this.x-180,$u(this.y))}toAltitude(){return ed(this.z,this.y)}meterInMercatorCoordinateUnits(){return 1/Ju*(e=$u(this.y),1/Math.cos(e*Math.PI/180));var e}}function nd(e,t,n){var r=2*Math.PI*6378137/256/2**n;return[e*r-2*Math.PI*6378137/2,t*r-2*Math.PI*6378137/2]}class rd{constructor(e,t,n){if(!function(e,t,n){return!(e<0||e>25||n<0||n>=2**e||t<0||t>=2**e)}(e,t,n))throw Error(`x=${t}, y=${n}, z=${e} outside of bounds. 0<=x<${2**e}, 0<=y<${2**e} 0<=z<=25 `);this.z=e,this.x=t,this.y=n,this.key=od(0,e,e,t,n)}equals(e){return this.z===e.z&&this.x===e.x&&this.y===e.y}url(e,t,n){let r=(a=this.y,o=this.z,s=nd(256*(i=this.x),256*(a=2**o-a-1),o),c=nd(256*(i+1),256*(a+1),o),s[0]+`,`+s[1]+`,`+c[0]+`,`+c[1]);var i,a,o,s,c;let l=function(e,t,n){let r,i=``;for(let a=e;a>0;a--)r=1<<a-1,i+=(t&r?1:0)+(n&r?2:0);return i}(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(n===`tms`?2**this.z-this.y-1:this.y)).replace(/{ratio}/g,t>1?`@2x`:``).replace(/{quadkey}/g,l).replace(/{bbox-epsg-3857}/g,r)}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 c((e.x*t-this.x)*D,(e.y*t-this.y)*D)}toString(){return`${this.z}/${this.x}/${this.y}`}}class id{constructor(e,t){this.wrap=e,this.canonical=t,this.key=od(e,t.z,t.z,t.x,t.y)}}class ad{constructor(e,t,n,r,i){if(this.terrainRttPosMatrix32f=null,e<n)throw Error(`overscaledZ should be >= z; overscaledZ = ${e}; z = ${n}`);this.overscaledZ=e,this.wrap=t,this.canonical=new rd(n,+r,+i),this.key=od(t,e,n,r,i)}clone(){return new ad(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(e){return this.overscaledZ===e.overscaledZ&&this.wrap===e.wrap&&this.canonical.equals(e.canonical)}scaledTo(e){if(e>this.overscaledZ)throw Error(`targetZ > this.overscaledZ; targetZ = ${e}; overscaledZ = ${this.overscaledZ}`);let t=this.canonical.z-e;return e>this.canonical.z?new ad(e,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new ad(e,this.wrap,e,this.canonical.x>>t,this.canonical.y>>t)}calculateScaledKey(e,t){if(e>this.overscaledZ)throw Error(`targetZ > this.overscaledZ; targetZ = ${e}; overscaledZ = ${this.overscaledZ}`);let n=this.canonical.z-e;return e>this.canonical.z?od(this.wrap*+t,e,this.canonical.z,this.canonical.x,this.canonical.y):od(this.wrap*+t,e,e,this.canonical.x>>n,this.canonical.y>>n)}isChildOf(e){if(e.wrap!==this.wrap)return!1;let t=this.canonical.z-e.canonical.z;return e.overscaledZ===0||e.overscaledZ<this.overscaledZ&&e.canonical.x===this.canonical.x>>t&&e.canonical.y===this.canonical.y>>t}children(e){if(this.overscaledZ>=e)return[new ad(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let t=this.canonical.z+1,n=2*this.canonical.x,r=2*this.canonical.y;return[new ad(t,this.wrap,t,n,r),new ad(t,this.wrap,t,n+1,r),new ad(t,this.wrap,t,n,r+1),new ad(t,this.wrap,t,n+1,r+1)]}isLessThan(e){return this.wrap<e.wrap||!(this.wrap>e.wrap)&&(this.overscaledZ<e.overscaledZ||!(this.overscaledZ>
12e.overscaledZ)&&(this.canonical.x<e.canonical.x||!(this.canonical.x>e.canonical.x)&&this.canonical.y<e.canonical.y))}wrapped(){return new ad(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)}unwrapTo(e){return new ad(this.overscaledZ,e,this.canonical.z,this.canonical.x,this.canonical.y)}overscaleFactor(){return 2**(this.overscaledZ-this.canonical.z)}toUnwrapped(){return new id(this.wrap,this.canonical)}toString(){return`${this.overscaledZ}/${this.canonical.x}/${this.canonical.y}`}getTilePoint(e){return this.canonical.getTilePoint(new td(e.x-this.wrap,e.y))}}function od(e,t,n,r,i){(e*=2)<0&&(e=-1*e-1);let a=1<<n;return(a*a*e+a*i+r).toString(36)+n.toString(36)+t.toString(36)}X(`CanonicalTileID`,rd),X(`OverscaledTileID`,ad,{omit:[`terrainRttPosMatrix32f`]});class sd{constructor(e,t,n,r=1,i=1,a=1,o=0){if(this.uid=e,t.height!==t.width)throw RangeError(`DEM tiles must be square`);if(n&&![`mapbox`,`terrarium`,`custom`].includes(n))return void le(`"${n}" is not a valid encoding type. Valid types include "mapbox", "terrarium" and "custom".`);this.stride=t.height;let s=this.dim=t.height-2;switch(this.data=new Uint32Array(t.data.buffer),n){case`terrarium`:this.redFactor=256,this.greenFactor=1,this.blueFactor=1/256,this.baseShift=32768;break;case`custom`:this.redFactor=r,this.greenFactor=i,this.blueFactor=a,this.baseShift=o;break;default:this.redFactor=6553.6,this.greenFactor=25.6,this.blueFactor=.1,this.baseShift=1e4}for(let e=0;e<s;e++)this.data[this._idx(-1,e)]=this.data[this._idx(0,e)],this.data[this._idx(s,e)]=this.data[this._idx(s-1,e)],this.data[this._idx(e,-1)]=this.data[this._idx(e,0)],this.data[this._idx(e,s)]=this.data[this._idx(e,s-1)];this.data[this._idx(-1,-1)]=this.data[this._idx(0,0)],this.data[this._idx(s,-1)]=this.data[this._idx(s-1,0)],this.data[this._idx(-1,s)]=this.data[this._idx(0,s-1)],this.data[this._idx(s,s)]=this.data[this._idx(s-1,s-1)],this.min=2**53-1,this.max=-(2**53-1);for(let e=0;e<s;e++)for(let t=0;t<s;t++){let n=this.get(e,t);n>this.max&&(this.max=n),n<this.min&&(this.min=n)}}get(e,t){let n=new Uint8Array(this.data.buffer),r=4*this._idx(e,t);return this.unpack(n[r],n[r+1],n[r+2])}getUnpackVector(){return[this.redFactor,this.greenFactor,this.blueFactor,this.baseShift]}_idx(e,t){if(e<-1||e>=this.dim+1||t<-1||t>=this.dim+1)throw RangeError(`out of range source coordinates for DEM data`);return(t+1)*this.stride+(e+1)}unpack(e,t,n){return e*this.redFactor+t*this.greenFactor+n*this.blueFactor-this.baseShift}getPixels(){return new Ys({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(e,t,n){if(this.dim!==e.dim)throw Error(`dem dimension mismatch`);let r=t*this.dim,i=t*this.dim+this.dim,a=n*this.dim,o=n*this.dim+this.dim;switch(t){case-1:r=i-1;break;case 1:i=r+1}switch(n){case-1:a=o-1;break;case 1:o=a+1}let s=-t*this.dim,c=-n*this.dim;for(let t=a;t<o;t++)for(let n=r;n<i;n++)this.data[this._idx(n,t)]=e.data[this._idx(n+s,t+c)]}}X(`DEMData`,sd);class cd{constructor(e){this._stringToNumber={},this._numberToString=[];for(let t=0;t<e.length;t++){let n=e[t];this._stringToNumber[n]=t,this._numberToString[t]=n}}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]}}class ld{constructor(e,t,n,r,i){this.type=`Feature`,this._vectorTileFeature=e,e._z=t,e._x=n,e._y=r,this.properties=e.properties,this.id=i}get geometry(){return this._geometry===void 0&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(e){this._geometry=e}toJSON(){let e={geometry:this.geometry};for(let t in this)t!==`_geometry`&&t!==`_vectorTileFeature`&&(e[t]=this[t]);return e}}class ud{constructor(e,t){this.tileID=e,this.x=e.canonical.x,this.y=e.canonical.y,this.z=e.canonical.z,this.grid=new ra(D,16,0),this.grid3D=new ra(D,16,0),this.featureIndexArray=new To,this.promoteId=t}insert(e,t,n,r,i,a){let o=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(n,r,i);let s=a?this.grid3D:this.grid;for(let e=0;e<t.length;e++){let n=t[e],r=[1/0,1/0,-1/0,-1/0];for(let e=0;e<n.length;e++){let t=n[e];r[0]=Math.min(r[0],t.x),r[1]=Math.min(r[1],t.y),r[2]=Math.max(r[2],t.x),r[3]=Math.max(r[3],t.y)}r[0]<D&&r[1]<D&&r[2]>=0&&r[3]>=0&&s.insert(o,r[0],r[1],r[2],r[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new al.VectorTile(new Gl(this.rawTileData)).layers,this.sourceLayerCoder=new cd(this.vtLayers?Object.keys(this.vtLayers).sort():[`_geojsonTileLayer`])),this.vtLayers}query(e,t,n,r){this.loadVTLayers();let i=e.params,a=D/e.tileSize/e.scale,o=ui(i.filter),s=e.queryGeometry,l=e.queryPadding*a,u=fd(s),d=this.grid.query(u.minX-l,u.minY-l,u.maxX+l,u.maxY+l),f=fd(e.cameraQueryGeometry),p=this.grid3D.query(f.minX-l,f.minY-l,f.maxX+l,f.maxY+l,((t,n,r,i)=>function(e,t,n,r,i){for(let a of e)if(t<=a.x&&n<=a.y&&r>=a.x&&i>=a.y)return!0;let a=[new c(t,n),new c(t,i),new c(r,i),new c(r,n)];if(e.length>2){for(let t of a)if(Ms(e,t))return!0}for(let t=0;t<e.length-1;t++)if(Ns(e[t],e[t+1],a))return!0;return!1}(e.cameraQueryGeometry,t-l,n-l,r+l,i+l)));for(let e of p)d.push(e);d.sort(pd);let m={},h;for(let c=0;c<d.length;c++){let l=d[c];if(l===h)continue;h=l;let u=this.featureIndexArray.get(l),f=null;
12this.loadMatchingFeature(m,u.bucketIndex,u.sourceLayerIndex,u.featureIndex,o,i.layers,i.availableImages,t,n,r,((t,n,r)=>(f||=vs(t),n.queryIntersectsFeature({queryGeometry:s,feature:t,featureState:r,geometry:f,zoom:this.z,transform:e.transform,pixelsToTileUnits:a,pixelPosMatrix:e.pixelPosMatrix,unwrappedTileID:this.tileID.toUnwrapped(),getElevation:e.getElevation}))))}return m}loadMatchingFeature(e,t,n,r,i,a,o,s,c,l,u){let d=this.bucketLayerIDs[t];if(a&&!d.some((e=>a.has(e))))return;let f=this.sourceLayerCoder.decode(n),p=this.vtLayers[f].feature(r);if(i.needGeometry){let e=ys(p,!0);if(!i.filter(new wa(this.tileID.overscaledZ),e,this.tileID.canonical))return}else if(!i.filter(new wa(this.tileID.overscaledZ),p))return;let m=this.getId(p,f);for(let t=0;t<d.length;t++){let n=d[t];if(a&&!a.has(n))continue;let i=s[n];if(!i)continue;let f={};m&&l&&(f=l.getState(i.sourceLayer||`_geojsonTileLayer`,m));let h=M({},c[n]);h.paint=dd(h.paint,i.paint,p,f,o),h.layout=dd(h.layout,i.layout,p,f,o);let g=!u||u(p,i,f);if(!g)continue;let _=new ld(p,this.z,this.x,this.y,m);_.layer=h;let v=e[n];v===void 0&&(v=e[n]=[]),v.push({featureIndex:r,feature:_,intersectionZ:g})}}lookupSymbolFeatures(e,t,n,r,i,a,o,s){let c={};this.loadVTLayers();let l=ui(i);for(let i of e)this.loadMatchingFeature(c,n,r,i,l,a,o,s,t);return c}hasLayer(e){for(let t of this.bucketLayerIDs)for(let n of t)if(e===n)return!0;return!1}getId(e,t){var n;let r=e.id;return this.promoteId&&(r=e.properties[typeof this.promoteId==`string`?this.promoteId:this.promoteId[t]],typeof r==`boolean`&&(r=Number(r)),r===void 0&&(n=e.properties)!=null&&n.cluster&&this.promoteId&&(r=Number(e.properties.cluster_id))),r}}function dd(e,t,n,r,i){return ae(e,((e,a)=>{let o=t instanceof Ma?t.get(a):null;return o&&o.evaluate?o.evaluate(n,r,i):o}))}function fd(e){let t=1/0,n=1/0,r=-1/0,i=-1/0;for(let a of e)t=Math.min(t,a.x),n=Math.min(n,a.y),r=Math.max(r,a.x),i=Math.max(i,a.y);return{minX:t,minY:n,maxX:r,maxY:i}}function pd(e,t){return t-e}function md(e,t,n,r,i){let a=[];for(let o=0;o<e.length;o++){let s=e[o],l;for(let e=0;e<s.length-1;e++){let o=s[e],u=s[e+1];o.x<t&&u.x<t||(o.x<t?o=new c(t,o.y+(t-o.x)/(u.x-o.x)*(u.y-o.y))._round():u.x<t&&(u=new c(t,o.y+(t-o.x)/(u.x-o.x)*(u.y-o.y))._round()),o.y<n&&u.y<n||(o.y<n?o=new c(o.x+(n-o.y)/(u.y-o.y)*(u.x-o.x),n)._round():u.y<n&&(u=new c(o.x+(n-o.y)/(u.y-o.y)*(u.x-o.x),n)._round()),o.x>=r&&u.x>=r||(o.x>=r?o=new c(r,o.y+(r-o.x)/(u.x-o.x)*(u.y-o.y))._round():u.x>=r&&(u=new c(r,o.y+(r-o.x)/(u.x-o.x)*(u.y-o.y))._round()),o.y>=i&&u.y>=i||(o.y>=i?o=new c(o.x+(i-o.y)/(u.y-o.y)*(u.x-o.x),i)._round():u.y>=i&&(u=new c(o.x+(i-o.y)/(u.y-o.y)*(u.x-o.x),i)._round()),l&&o.equals(l[l.length-1])||(l=[o],a.push(l)),l.push(u)))))}}return a}X(`FeatureIndex`,ud,{omit:[`rawTileData`,`sourceLayerCoder`]});class hd extends c{constructor(e,t,n,r){super(e,t),this.angle=n,r!==void 0&&(this.segment=r)}clone(){return new hd(this.x,this.y,this.angle,this.segment)}}function gd(e,t,n,r,i){if(t.segment===void 0||n===0)return!0;let a=t,o=t.segment+1,s=0;for(;s>-n/2;){if(o--,o<0)return!1;s-=e[o].dist(a),a=e[o]}s+=e[o].dist(e[o+1]),o++;let c=[],l=0;for(;s<n/2;){let t=e[o],n=e[o+1];if(!n)return!1;let a=e[o-1].angleTo(t)-t.angleTo(n);for(a=Math.abs((a+3*Math.PI)%(2*Math.PI)-Math.PI),c.push({distance:s,angleDelta:a}),l+=a;s-c[0].distance>r;)l-=c.shift().angleDelta;if(l>i)return!1;o++,s+=t.dist(n)}return!0}function _d(e){let t=0;for(let n=0;n<e.length-1;n++)t+=e[n].dist(e[n+1]);return t}function vd(e,t,n){return e?.6*t*n:0}function yd(e,t){return Math.max(e?e.right-e.left:0,t?t.right-t.left:0)}function bd(e,t,n,r,i,a){let o=vd(n,i,a),s=yd(n,r)*a,c=0,l=_d(e)/2;for(let n=0;n<e.length-1;n++){let r=e[n],i=e[n+1],a=r.dist(i);if(c+a>l){let u=(l-c)/a,d=new hd(gn.number(r.x,i.x,u),gn.number(r.y,i.y,u),i.angleTo(r),n);return d._round(),!o||gd(e,d,s,o,t)?d:void 0}c+=a}}function xd(e,t,n,r,i,a,o,s,c){let l=vd(r,a,o),u=yd(r,i),d=u*o,f=e[0].x===0||e[0].x===c||e[0].y===0||e[0].y===c;return t-d<t/4&&(t=d+t/4),Sd(e,f?t/2*s%t:(u/2+2*a)*o*s%t,t,l,n,d,f,!1,c)}function Sd(e,t,n,r,i,a,o,s,c){let l=a/2,u=_d(e),d=0,f=t-n,p=[];for(let t=0;t<e.length-1;t++){let o=e[t],s=e[t+1],m=o.dist(s),h=s.angleTo(o);for(;f+n<d+m;){f+=n;let g=(f-d)/m,_=gn.number(o.x,s.x,g),v=gn.number(o.y,s.y,g);if(_>=0&&_<c&&v>=0&&v<c&&f-l>=0&&f+l<=u){let n=new hd(_,v,h,t);n._round(),r&&!gd(e,n,a,r,i)||p.push(n)}}d+=m}return s||p.length||o||(p=Sd(e,d/2,n,r,i,a,o,!0,c)),p}X(`Anchor`,hd);function Cd(e,t,n,r){let i=[],a=e.image,o=a.pixelRatio,s=a.paddedRect.w-2,l=a.paddedRect.h-2,u={x1:e.left,y1:e.top,x2:e.right,y2:e.bottom},d=a.stretchX||[[0,s]],f=a.stretchY||[[0,l]],p=(e,t)=>e+t[1]-t[0],m=d.reduce(p,0),h=f.reduce(p,0),g=s-m,_=l-h,v=0,y=m,b=0,x=h,S=0,C=g,w=0,T=_;if(a.content&&r){let t=a.content,n=t[2]-t[0],r=t[3]-t[1];(a.textFitWidth||a.textFitHeight)&&(u=yu(e)),v=wd(d,0,t[0]),b=wd(f,0,t[1]),y=wd(d,t[0],t[2]),x=wd(f,t[1],t[3]),S=t[0]-v,w=t[1]-b,C=n-y,T=r-x}let E=u.x1,D=u.y1,O=u.x2-E,k=u.y2-D,A=(e,r,i,s)=>{let l=Ed(e.stretch-v,y,O,E),u=Dd(e.fixed-S,C,e.stretch,m),d=Ed(r.stretch-b,x,k,D),f=Dd(r.fixed-w,T,r.stretch,h),p=Ed(i.stretch-v,y,O,E),g=Dd(i.fixed-S,C,i.stretch,m),_=Ed(s.stretch-b,x,k,D),A=Dd(s.fixed-w,T,s.stretch,h),ee=new c(l,d),te=new c(p,d),j=new c(p,_),ne=new c(l,_),re=new c(u/o,f/o),M=new c(g/o,A/o),ie=t*Math.PI/180;if(ie){let e=Math.sin(ie),t=Math.cos(ie),n=[t,-e,e,t];ee._matMult(n),te._matMult(n),ne._matMult(n),j._matMult(n)}let ae=e.stretch+e.fixed,oe=r.stretch+r.fixed;return{tl:ee,tr:te,bl:ne,br:j,tex:{x:a.paddedRect.x+1+ae,y:a.paddedRect.y+1+oe,w:i.stretch+i.fixed-ae,h:s.stretch+s.fixed-oe},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:re,pixelOffsetBR:M,minFontScaleX:C/o/O,minFontScaleY:T/o/k,isSDF:n}};
12if(r&&(a.stretchX||a.stretchY)){let e=Td(d,g,m),t=Td(f,_,h);for(let n=0;n<e.length-1;n++){let r=e[n],a=e[n+1];for(let e=0;e<t.length-1;e++)i.push(A(r,t[e],a,t[e+1]))}}else i.push(A({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:s+1},{fixed:0,stretch:l+1}));return i}function wd(e,t,n){let r=0;for(let i of e)r+=Math.max(t,Math.min(n,i[1]))-Math.max(t,Math.min(n,i[0]));return r}function Td(e,t,n){let r=[{fixed:-1,stretch:0}];for(let[t,n]of e){let e=r[r.length-1];r.push({fixed:t-e.stretch,stretch:e.stretch}),r.push({fixed:t-e.stretch,stretch:e.stretch+(n-t)})}return r.push({fixed:t+1,stretch:n}),r}function Ed(e,t,n,r){return e/t*n+r}function Dd(e,t,n,r){return e-t*n/r}class Od{constructor(e,t,n,r,i,a,o,s,l,u){if(this.boxStartIndex=e.length,l){let e=a.top,t=a.bottom,n=a.collisionPadding;n&&(e-=n[1],t+=n[3]);let r=t-e;r>0&&(r=Math.max(10,r),this.circleDiameter=r)}else{let l=a.image?.content&&(a.image.textFitWidth||a.image.textFitHeight)?yu(a):{x1:a.left,y1:a.top,x2:a.right,y2:a.bottom};l.y1=l.y1*o-s[0],l.y2=l.y2*o+s[2],l.x1=l.x1*o-s[3],l.x2=l.x2*o+s[1];let d=a.collisionPadding;if(d&&(l.x1-=d[0]*o,l.y1-=d[1]*o,l.x2+=d[2]*o,l.y2+=d[3]*o),u){let e=new c(l.x1,l.y1),t=new c(l.x2,l.y1),n=new c(l.x1,l.y2),r=new c(l.x2,l.y2),i=u*Math.PI/180;e._rotate(i),t._rotate(i),n._rotate(i),r._rotate(i),l.x1=Math.min(e.x,t.x,n.x,r.x),l.x2=Math.max(e.x,t.x,n.x,r.x),l.y1=Math.min(e.y,t.y,n.y,r.y),l.y2=Math.max(e.y,t.y,n.y,r.y)}e.emplaceBack(t.x,t.y,l.x1,l.y1,l.x2,l.y2,n,r,i)}this.boxEndIndex=e.length}}class kd{constructor(e=[],t=((e,t)=>e<t?-1:+(e>t))){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let e=(this.length>>1)-1;e>=0;e--)this._down(e)}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:n}=this,r=t[e];for(;e>0;){let i=e-1>>1,a=t[i];if(n(r,a)>=0)break;t[e]=a,e=i}t[e]=r}_down(e){let{data:t,compare:n}=this,r=this.length>>1,i=t[e];for(;e<r;){let r=1+(e<<1),a=r+1;if(a<this.length&&n(t[a],t[r])<0&&(r=a),n(t[r],i)>=0)break;t[e]=t[r],e=r}t[e]=i}}function Ad(e,t=1,n=!1){let r=1/0,i=1/0,a=-1/0,o=-1/0,s=e[0];for(let e=0;e<s.length;e++){let t=s[e];(!e||t.x<r)&&(r=t.x),(!e||t.y<i)&&(i=t.y),(!e||t.x>a)&&(a=t.x),(!e||t.y>o)&&(o=t.y)}let l=Math.min(a-r,o-i),u=l/2,d=new kd([],jd);if(l===0)return new c(r,i);for(let t=r;t<a;t+=l)for(let n=i;n<o;n+=l)d.push(new Md(t+u,n+u,u,e));let f=function(e){let t=0,n=0,r=0,i=e[0];for(let e=0,a=i.length,o=a-1;e<a;o=e++){let a=i[e],s=i[o],c=a.x*s.y-s.x*a.y;n+=(a.x+s.x)*c,r+=(a.y+s.y)*c,t+=3*c}return new Md(n/t,r/t,0,e)}(e),p=d.length;for(;d.length;){let r=d.pop();(r.d>f.d||!f.d)&&(f=r,n&&console.log(`found best %d after %d probes`,Math.round(1e4*r.d)/1e4,p)),r.max-f.d<=t||(u=r.h/2,d.push(new Md(r.p.x-u,r.p.y-u,u,e)),d.push(new Md(r.p.x+u,r.p.y-u,u,e)),d.push(new Md(r.p.x-u,r.p.y+u,u,e)),d.push(new Md(r.p.x+u,r.p.y+u,u,e)),p+=4)}return n&&(console.log(`num probes: ${p}`),console.log(`best distance: ${f.d}`)),f.p}function jd(e,t){return t.max-e.max}function Md(e,t,n,r){this.p=new c(e,t),this.h=n,this.d=function(e,t){let n=!1,r=1/0;for(let i=0;i<t.length;i++){let a=t[i];for(let t=0,i=a.length,o=i-1;t<i;o=t++){let i=a[t],s=a[o];i.y>e.y!=s.y>e.y&&e.x<(s.x-i.x)*(e.y-i.y)/(s.y-i.y)+i.x&&(n=!n),r=Math.min(r,As(e,i,s))}}return(n?1:-1)*Math.sqrt(r)}(this.p,r),this.max=this.d+this.h*Math.SQRT2}var Nd;e.aB=void 0,(Nd=e.aB||={})[Nd.center=1]=`center`,Nd[Nd.left=2]=`left`,Nd[Nd.right=3]=`right`,Nd[Nd.top=4]=`top`,Nd[Nd.bottom=5]=`bottom`,Nd[Nd[`top-left`]=6]=`top-left`,Nd[Nd[`top-right`]=7]=`top-right`,Nd[Nd[`bottom-left`]=8]=`bottom-left`,Nd[Nd[`bottom-right`]=9]=`bottom-right`;let Pd=1/0;function Fd(e,t){return t[1]===Pd?function(e,t){let n=0,r=0;t<0&&(t=0);let i=t/Math.SQRT2;switch(e){case`top-right`:case`top-left`:r=i-7;break;case`bottom-right`:case`bottom-left`:r=-i+7;break;case`bottom`:r=-t+7;break;case`top`:r=t-7}switch(e){case`top-right`:case`bottom-right`:n=-i;break;case`top-left`:case`bottom-left`:n=i;break;case`left`:n=t;break;case`right`:n=-t}return[n,r]}(e,t[0]):function(e,t,n){let r=0,i=0;switch(t=Math.abs(t),n=Math.abs(n),e){case`top-right`:case`top-left`:case`top`:i=n-7;break;case`bottom-right`:case`bottom-left`:case`bottom`:i=-n+7}switch(e){case`top-right`:case`bottom-right`:case`right`:r=-t;break;case`top-left`:case`bottom-left`:case`left`:r=t}return[r,i]}(e,t[0],t[1])}
12function Id(e,t,n){let r=e.layout,i=r.get(`text-variable-anchor-offset`)?.evaluate(t,{},n);if(i){let e=i.values,t=[];for(let n=0;n<e.length;n+=2){let r=t[n]=e[n],i=e[n+1].map((e=>e*Vl));r.startsWith(`top`)?i[1]-=7:r.startsWith(`bottom`)&&(i[1]+=7),t[n+1]=i}return new Ht(t)}let a=r.get(`text-variable-anchor`);if(a){let i;i=e._unevaluatedLayout.getValue(`text-radial-offset`)===void 0?r.get(`text-offset`).evaluate(t,{},n).map((e=>e*Vl)):[r.get(`text-radial-offset`).evaluate(t,{},n)*Vl,Pd];let o=[];for(let e of a)o.push(e,Fd(e,i));return new Ht(o)}return null}function Ld(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 Rd(t,n,r,i,a,o,s,c,l,u,d,f){let p=o.textMaxSize.evaluate(n,{});p===void 0&&(p=s);let m=t.layers[0].layout,h=m.get(`icon-offset`).evaluate(n,{},d),g=Bd(r.horizontal),_=s/24,v=t.tilePixelRatio*_,y=t.tilePixelRatio*p/24,b=t.tilePixelRatio*c,x=t.tilePixelRatio*m.get(`symbol-spacing`),S=m.get(`text-padding`)*t.tilePixelRatio,C=function(e,t,n,r=1){let i=e.get(`icon-padding`).evaluate(t,{},n),a=i&&i.values;return[a[0]*r,a[1]*r,a[2]*r,a[3]*r]}(m,n,d,t.tilePixelRatio),w=m.get(`text-max-angle`)/180*Math.PI,T=m.get(`text-rotation-alignment`)!==`viewport`&&m.get(`symbol-placement`)!==`point`,E=m.get(`icon-rotation-alignment`)===`map`&&m.get(`symbol-placement`)!==`point`,O=m.get(`symbol-placement`),k=x/2,A=m.get(`icon-text-fit`),ee;i&&A!==`none`&&(t.allowVerticalPlacement&&r.vertical&&(ee=bu(i,r.vertical,A,m.get(`icon-text-fit-padding`),h,_)),g&&(i=bu(i,g,A,m.get(`icon-text-fit-padding`),h,_)));let te=d?f.line.getGranularityForZoomLevel(d.z):1,j=(c,f)=>{f.x<0||f.x>=D||f.y<0||f.y>=D||function(t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T){let E=t.addToLineVertexArray(n,r),D,O,k,A,ee=0,te=0,j=0,ne=0,re=-1,M=-1,ie={},ae=Xo(``);if(t.allowVerticalPlacement&&i.vertical){let e=c.layout.get(`text-rotate`).evaluate(x,{},w)+90;k=new Od(l,n,u,d,f,i.vertical,p,m,h,e),s&&(A=new Od(l,n,u,d,f,s,_,v,h,e))}if(a){let r=c.layout.get(`icon-rotate`).evaluate(x,{}),i=c.layout.get(`icon-text-fit`)!==`none`,o=Cd(a,r,C,i),p=s?Cd(s,r,C,i):void 0;O=new Od(l,n,u,d,f,a,_,v,!1,r),ee=4*o.length;let m=t.iconSizeData,h=null;m.kind===`source`?(h=[128*c.layout.get(`icon-size`).evaluate(x,{})],h[0]>xu&&le(`${t.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)):m.kind===`composite`&&(h=[128*S.compositeIconSizes[0].evaluate(x,{},w),128*S.compositeIconSizes[1].evaluate(x,{},w)],(h[0]>xu||h[1]>xu)&&le(`${t.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)),t.addSymbols(t.icon,o,h,b,y,x,e.al.none,n,E.lineStartIndex,E.lineLength,-1,w),re=t.icon.placedSymbolArray.length-1,p&&(te=4*p.length,t.addSymbols(t.icon,p,h,b,y,x,e.al.vertical,n,E.lineStartIndex,E.lineLength,-1,w),M=t.icon.placedSymbolArray.length-1)}let oe=Object.keys(i.horizontal);for(let r of oe){let a=i.horizontal[r];D||=(ae=Xo(a.text),new Od(l,n,u,d,f,a,p,m,h,c.layout.get(`text-rotate`).evaluate(x,{},w)));let s=a.positionedLines.length===1;if(j+=zd(t,n,a,o,c,h,x,g,E,i.vertical?e.al.horizontal:e.al.horizontalOnly,s?oe:[r],ie,re,S,w),s)break}i.vertical&&(ne+=zd(t,n,i.vertical,o,c,h,x,g,E,e.al.vertical,[`vertical`],ie,M,S,w));let se=D?D.boxStartIndex:t.collisionBoxArray.length,ce=D?D.boxEndIndex:t.collisionBoxArray.length,N=k?k.boxStartIndex:t.collisionBoxArray.length,P=k?k.boxEndIndex:t.collisionBoxArray.length,ue=O?O.boxStartIndex:t.collisionBoxArray.length,F=O?O.boxEndIndex:t.collisionBoxArray.length,de=A?A.boxStartIndex:t.collisionBoxArray.length,fe=A?A.boxEndIndex:t.collisionBoxArray.length,I=-1,pe=(e,t)=>e&&e.circleDiameter?Math.max(e.circleDiameter,t):t;I=pe(D,I),I=pe(k,I),I=pe(O,I),I=pe(A,I);let me=+(I>-1);me&&(I*=T/Vl),t.glyphOffsetArray.length>=ju.MAX_GLYPHS&&le(`Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907`),x.sortKey!==void 0&&t.addToSortKeyRanges(t.symbolInstances.length,x.sortKey);let he=Id(c,x,w),[ge,_e]=function(t,n){let r=t.length,i=n?.values;if(i?.length>0)for(let n=0;n<i.length;n+=2){let r=i[n+1];t.emplaceBack(e.aB[i[n]],r[0],r[1])}return[r,t.length]}(t.textAnchorOffsets,he);t.symbolInstances.emplaceBack(n.x,n.y,ie.right>=0?ie.right:-1,ie.center>=0?ie.center:-1,ie.left>=0?ie.left:-1,ie.vertical||-1,re,M,ae,se,ce,N,P,ue,F,de,fe,u,j,ne,ee,te,me,0,p,I,ge,_e)}(t,f,c,r,i,a,ee,t.layers[0],t.collisionBoxArray,n.index,n.sourceLayerIndex,t.index,v,[S,S,S,S],T,l,b,C,E,h,n,o,u,d,s)};if(O===`line`)for(let e of md(n.geometry,0,0,D,D)){let n=Ic(e,te),a=xd(n,x,w,r.vertical||g,i,24,y,t.overscaling,D);for(let e of a)g&&Vd(t,g.text,k,e)||j(n,e)}else if(O===`line-center`){for(let e of n.geometry)if(e.length>1){let t=Ic(e,te),n=bd(t,w,r.vertical||g,i,24,y);n&&j(t,n)}}else if(n.type===`Polygon`)for(let e of tr(n.geometry,0)){let t=Ad(e,16);j(Ic(e[0],te,!0),new hd(t.x,t.y,0))}else if(n.type===`LineString`)for(let e of n.geometry){let t=Ic(e,te);j(t,new hd(t[0].x,t[0].y,0))}else if(n.type===`Point`)for(let e of n.geometry)for(let t of e)j([t],new hd(t.x,t.y,0))}function zd(e,t,n,r,i,a,o,s,l,u,d,f,p,m,h){let g=function(e,t,n,r,i,a,o,s){let l=r.layout.get(`text-rotate`).evaluate(a,{})*Math.PI/180,u=[];for(let e of t.positionedLines)for(let r of e.positionedGlyphs){if(!r.rect)continue;let a=r.rect||{},d=4,f=!0,p=1,m=0,h=(i||s)&&r.vertical,g=r.metrics.advance*r.scale/2;if(s&&t.verticalizable&&(m=e.lineOffset/2-(r.imageName?-(Vl-r.metrics.width*r.scale)/2:(r.scale-1)*Vl)),r.imageName){let e=o[r.imageName];f=e.sdf,p=e.pixelRatio,d=1/p}let _=i?[r.x+g,r.y]:[0,0],v=i?[0,0]:[r.x+g+n[0],r.y+n[1]-m],y=[0,0];h&&(y=v,v=[0,0]);let b=r.metrics.isDoubleResolution?2:1,x=(r.metrics.left-d)*r.scale-g+v[0],S=(-r.metrics.top-d)*r.scale+v[1],C=x+a.w/b*r.scale/p,w=S+a.h/b*r.scale/p,T=new c(x,S),E=new c(C,S),D=new c(x,w),O=new c(C,w);if(h){let e=new c(-g,g- -17),t=-Math.PI/2,n=Vl/2-g,i=new c(22-n,-(r.imageName?n:0)),a=new c(...y);
12T._rotateAround(t,e)._add(i)._add(a),E._rotateAround(t,e)._add(i)._add(a),D._rotateAround(t,e)._add(i)._add(a),O._rotateAround(t,e)._add(i)._add(a)}if(l){let e=Math.sin(l),t=Math.cos(l),n=[t,-e,e,t];T._matMult(n),E._matMult(n),D._matMult(n),O._matMult(n)}let k=new c(0,0),A=new c(0,0);u.push({tl:T,tr:E,bl:D,br:O,tex:a,writingMode:t.writingMode,glyphOffset:_,sectionIndex:r.sectionIndex,isSDF:f,pixelOffsetTL:k,pixelOffsetBR:A,minFontScaleX:0,minFontScaleY:0})}return u}(0,n,s,i,a,o,r,e.allowVerticalPlacement),_=e.textSizeData,v=null;_.kind===`source`?(v=[128*i.layout.get(`text-size`).evaluate(o,{})],v[0]>xu&&le(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)):_.kind===`composite`&&(v=[128*m.compositeTextSizes[0].evaluate(o,{},h),128*m.compositeTextSizes[1].evaluate(o,{},h)],(v[0]>xu||v[1]>xu)&&le(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)),e.addSymbols(e.text,g,v,s,a,o,u,t,l.lineStartIndex,l.lineLength,p,h);for(let t of d)f[t]=e.text.placedSymbolArray.length-1;return 4*g.length}function Bd(e){for(let t in e)return e[t];return null}function Vd(e,t,n,r){let i=e.compareText;if(t in i){let e=i[t];for(let t=e.length-1;t>=0;t--)if(r.dist(e[t])<n)return!0}else i[t]=[];return i[t].push(r),!1}let Hd=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class Ud{static from(e){if(!(e instanceof ArrayBuffer))throw Error(`Data must be an instance of ArrayBuffer.`);let[t,n]=new Uint8Array(e,0,2);if(t!==219)throw Error(`Data does not appear to be in a KDBush format.`);let r=n>>4;if(r!==1)throw Error(`Got v${r} data when expected v1.`);let i=Hd[15&n];if(!i)throw Error(`Unrecognized array type.`);let[a]=new Uint16Array(e,2,1),[o]=new Uint32Array(e,4,1);return new Ud(o,a,i,e)}constructor(e,t=64,n=Float64Array,r){if(isNaN(e)||e<0)throw Error(`Unpexpected numItems value: ${e}.`);this.numItems=+e,this.nodeSize=Math.min(Math.max(+t,2),65535),this.ArrayType=n,this.IndexArrayType=e<65536?Uint16Array:Uint32Array;let i=Hd.indexOf(this.ArrayType),a=2*e*this.ArrayType.BYTES_PER_ELEMENT,o=e*this.IndexArrayType.BYTES_PER_ELEMENT,s=(8-o%8)%8;if(i<0)throw Error(`Unexpected typed array class: ${n}.`);r&&r instanceof ArrayBuffer?(this.data=r,this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+o+s,2*e),this._pos=2*e,this._finished=!0):(this.data=new ArrayBuffer(8+a+o+s),this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+o+s,2*e),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+i]),new Uint16Array(this.data,2,1)[0]=t,new Uint32Array(this.data,4,1)[0]=e)}add(e,t){let n=this._pos>>1;return this.ids[n]=n,this.coords[this._pos++]=e,this.coords[this._pos++]=t,n}finish(){let e=this._pos>>1;if(e!==this.numItems)throw Error(`Added ${e} items when expected ${this.numItems}.`);return Wd(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(e,t,n,r){if(!this._finished)throw Error(`Data not yet indexed - call index.finish().`);let{ids:i,coords:a,nodeSize:o}=this,s=[0,i.length-1,0],c=[];for(;s.length;){let l=s.pop()||0,u=s.pop()||0,d=s.pop()||0;if(u-d<=o){for(let o=d;o<=u;o++){let s=a[2*o],l=a[2*o+1];s>=e&&s<=n&&l>=t&&l<=r&&c.push(i[o])}continue}let f=d+u>>1,p=a[2*f],m=a[2*f+1];p>=e&&p<=n&&m>=t&&m<=r&&c.push(i[f]),(l===0?e<=p:t<=m)&&(s.push(d),s.push(f-1),s.push(1-l)),(l===0?n>=p:r>=m)&&(s.push(f+1),s.push(u),s.push(1-l))}return c}within(e,t,n){if(!this._finished)throw Error(`Data not yet indexed - call index.finish().`);let{ids:r,coords:i,nodeSize:a}=this,o=[0,r.length-1,0],s=[],c=n*n;for(;o.length;){let l=o.pop()||0,u=o.pop()||0,d=o.pop()||0;if(u-d<=a){for(let n=d;n<=u;n++)Jd(i[2*n],i[2*n+1],e,t)<=c&&s.push(r[n]);continue}let f=d+u>>1,p=i[2*f],m=i[2*f+1];Jd(p,m,e,t)<=c&&s.push(r[f]),(l===0?e-n<=p:t-n<=m)&&(o.push(d),o.push(f-1),o.push(1-l)),(l===0?e+n>=p:t+n>=m)&&(o.push(f+1),o.push(u),o.push(1-l))}return s}}function Wd(e,t,n,r,i,a){if(i-r<=n)return;let o=r+i>>1;Gd(e,t,o,r,i,a),Wd(e,t,n,r,o-1,1-a),Wd(e,t,n,o+1,i,1-a)}function Gd(e,t,n,r,i,a){for(;i>r;){if(i-r>600){let o=i-r+1,s=n-r+1,c=Math.log(o),l=.5*Math.exp(2*c/3),u=.5*Math.sqrt(c*l*(o-l)/o)*(s-o/2<0?-1:1);Gd(e,t,n,Math.max(r,Math.floor(n-s*l/o+u)),Math.min(i,Math.floor(n+(o-s)*l/o+u)),a)}let o=t[2*n+a],s=r,c=i;for(Kd(e,t,r,n),t[2*i+a]>o&&Kd(e,t,r,i);s<c;){for(Kd(e,t,s,c),s++,c--;t[2*s+a]<o;)s++;for(;t[2*c+a]>o;)c--}t[2*r+a]===o?Kd(e,t,r,c):(c++,Kd(e,t,c,i)),c<=n&&(r=c+1),n<=c&&(i=c-1)}}function Kd(e,t,n,r){qd(e,n,r),qd(t,2*n,2*r),qd(t,2*n+1,2*r+1)}function qd(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function Jd(e,t,n,r){let i=e-n,a=t-r;return i*i+a*a}var Yd;e.co=void 0,(Yd=e.co||={}).create=`create`,Yd.load=`load`,Yd.fullLoad=`fullLoad`;let Xd=null,Zd=[],Qd=1e3/60,$d=`loadTime`,ef=`fullLoadTime`;e.$=td,e.A=h,e.B=gn,e.C=wa,e.D=Q,e.E=Me,e.F=$i,e.G=function(e){if(ue==null){let t=e.navigator?e.navigator.userAgent:null;ue=!!e.safari||!(!t||!(/\b(iPad|iPhone|iPod)\b/.test(t)||t.match(`Safari`)&&!t.match(`Chrome`)))}return ue},e.H=class{constructor(e,t){this.target=e,this.mapId=t,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new Wu((()=>this.process())),this.subscription=me(this.target,`message`,(e=>this.receive(e)),!1),this.globalScope=P(self)?e:window}registerMessageHandler(e,t){this.messageHandlers[e]=t}sendAsync(e,t){return new Promise(((n,r)=>{let i=Math.round(0xde0b6b3a7640000*Math.random()).toString(36).substring(0,10),a=t?me(t.signal,`abort`,(()=>{a?.unsubscribe(),delete this.resolveRejects[i];let t={id:i,type:`<cancel>`,origin:location.origin,targetMapId:e.targetMapId,sourceMapId:this.mapId};this.target.postMessage(t)}),Gu):null;this.resolveRejects[i]={resolve:e=>{a?.unsubscribe(),n(e)},reject:e=>{a?.unsubscribe(),r(e)}};let o=[],s=Object.assign(Object.assign({},e),{id:i,sourceMapId:this.mapId,origin:location.origin,data:ca(e.data,o)});this.target.postMessage(s,{transfer:o})}))}receive(e){let t=e.data,n=t.id;if(!(t.origin!==`file://`&&location.origin!==`file://`&&t.origin!==`resource://android`&&location.origin!==`resource://android`&&t.origin!==location.origin||t.targetMapId&&this.mapId!==t.targetMapId)){if(t.type===`<cancel>`){delete this.tasks[n];let e=this.abortControllers[n];delete this.abortControllers[n],e&&e.abort();return}if(P(self)||t.mustQueue)return this.tasks[n]=t,this.taskQueue.push(n),void this.invoker.trigger();this.processTask(n,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)}processTask(e,n){return t(this,void 0,void 0,(function*(){if(n.type===`<response>`){let t=this.resolveRejects[e];if(delete this.resolveRejects[e],!t)return;n.error?t.reject(la(n.error)):t.resolve(la(n.data));return}if(!this.messageHandlers[n.type])return void this.completeTask(e,Error(`Could not find a registered handler for ${n.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(`, `)}`));let t=la(n.data),r=new AbortController;this.abortControllers[e]=r;try{let i=yield this.messageHandlers[n.type](n.sourceMapId,t,r);this.completeTask(e,null,i)}catch(t){this.completeTask(e,t)}}))}completeTask(e,t,n){let r=[];delete this.abortControllers[e];let i={id:e,type:`<response>`,sourceMapId:this.mapId,origin:location.origin,error:t?ca(t):null,data:ca(n,r)};this.target.postMessage(i,{transfer:r})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},e.I=Xl,e.J=Ce,e.K=function(){var e=new h(16);return h!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e},e.L=function(e,t,n){var r,i,a,o,s,c,l,u,d,f,p,m,h=n[0],g=n[1],_=n[2];return t===e?(e[12]=t[0]*h+t[4]*g+t[8]*_+t[12],e[13]=t[1]*h+t[5]*g+t[9]*_+t[13],e[14]=t[2]*h+t[6]*g+t[10]*_+t[14],e[15]=t[3]*h+t[7]*g+t[11]*_+t[15]):(i=t[1],a=t[2],o=t[3],s=t[4],c=t[5],l=t[6],u=t[7],d=t[8],f=t[9],p=t[10],m=t[11],e[0]=r=t[0],e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=c,e[6]=l,e[7]=u,e[8]=d,e[9]=f,e[10]=p,e[11]=m,e[12]=r*h+s*g+d*_+t[12],e[13]=i*h+c*g+f*_+t[13],e[14]=a*h+l*g+p*_+t[14],e[15]=o*h+u*g+m*_+t[15]),e},e.M=function(e,t,n){var r=n[0],i=n[1],a=n[2];return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},e.N=function(e,t,n){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],c=t[5],l=t[6],u=t[7],d=t[8],f=t[9],p=t[10],m=t[11],h=t[12],g=t[13],_=t[14],v=t[15],y=n[0],b=n[1],x=n[2],S=n[3];return e[0]=y*r+b*s+x*d+S*h,e[1]=y*i+b*c+x*f+S*g,e[2]=y*a+b*l+x*p+S*_,e[3]=y*o+b*u+x*m+S*v,e[4]=(y=n[4])*r+(b=n[5])*s+(x=n[6])*d+(S=n[7])*h,e[5]=y*i+b*c+x*f+S*g,e[6]=y*a+b*l+x*p+S*_,e[7]=y*o+b*u+x*m+S*v,e[8]=(y=n[8])*r+(b=n[9])*s+(x=n[10])*d+(S=n[11])*h,e[9]=y*i+b*c+x*f+S*g,e[10]=y*a+b*l+x*p+S*_,e[11]=y*o+b*u+x*m+S*v,e[12]=(y=n[12])*r+(b=n[13])*s+(x=n[14])*d+(S=n[15])*h,e[13]=y*i+b*c+x*f+S*g,e[14]=y*a+b*l+x*p+S*_,e[15]=y*o+b*u+x*m+S*v,e},e.O=function(e,t){let n={};for(let r=0;r<t.length;r++){let i=t[r];
12i in e&&(n[i]=e[i])}return n},e.P=c,e.Q=qu,e.R=Ys,e.S=Zu,e.T=Da,e.U=Xu,e.V=f,e.W=p,e.X=fe,e.Y=ad,e.Z=D,e._=t,e.a=xe,e.a$=function(e,t,n){var r=Math.sin(n),i=Math.cos(n),a=t[4],o=t[5],s=t[6],c=t[7],l=t[8],u=t[9],d=t[10],f=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+l*r,e[5]=o*i+u*r,e[6]=s*i+d*r,e[7]=c*i+f*r,e[8]=l*i-a*r,e[9]=u*i-o*r,e[10]=d*i-s*r,e[11]=f*i-c*r,e},e.a0=25,e.a1=rd,e.a2=e=>{let t=window.document.createElement(`video`);return t.muted=!0,new Promise((n=>{t.onloadstart=()=>{n(t)};for(let n of e){let e=window.document.createElement(`source`);De(n)||(t.crossOrigin=`Anonymous`),e.src=n,t.appendChild(e)}}))},e.a3=R,e.a4=function(){return ie++},e.a5=ho,e.a6=ju,e.a7=ui,e.a8=ys,e.a9=ld,e.aA=function(e,t,n,r,i=!1){if(!n[0]&&!n[1])return[0,0];let a=i?r===`map`?-e.bearingInRadians:0:r===`viewport`?e.bearingInRadians:0;if(a){let e=Math.sin(a),t=Math.cos(a);n=[n[0]*t-n[1]*e,n[0]*e+n[1]*t]}return[i?n[0]:O(t,n[0],e.zoom),i?n[1]:O(t,n[1],e.zoom)]},e.aC=Cu,e.aD=Ld,e.aE=du,e.aF=Ud,e.aG=Ha,e.aH=jc,e.aI=Eo,e.aJ=Vo,e.aK=Ro,e.aL=re,e.aM=ge,e.aN=ed,e.aO=function(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e},e.aP=function(e,t,n){return e[0]=t[0]+n[0],e[1]=t[1]+n[1],e[2]=t[2]+n[2],e},e.aQ=function(e){var t=new h(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},e.aR=function(e,t,n){return e[0]=t[0]*n[0],e[1]=t[1]*n[1],e[2]=t[2]*n[2],e[3]=t[3]*n[3],e},e.aS=function(e,t,n){return e[0]=t[0]-n[0],e[1]=t[1]-n[1],e[2]=t[2]-n[2],e},e.aT=function(e,t){var n=t[0],r=t[1],i=t[2],a=n*n+r*r+i*i;return a>0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e},e.aU=function(e,t,n){var r=t[0],i=t[1],a=t[2],o=n[0],s=n[1],c=n[2];return e[0]=i*c-a*s,e[1]=a*o-r*c,e[2]=r*s-i*o,e},e.aV=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]},e.aW=id,e.aX=od,e.aY=function(e,t,n,r,i){var a,o=1/Math.tan(t/2);return e[0]=o/n,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=o,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0?(e[10]=(i+r)*(a=1/(r-i)),e[14]=2*i*r*a):(e[10]=-1,e[14]=-2*r),e},e.aZ=function(e){var t=new h(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},e.a_=function(e,t,n){var r=Math.sin(n),i=Math.cos(n),a=t[0],o=t[1],s=t[2],c=t[3],l=t[4],u=t[5],d=t[6],f=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+l*r,e[1]=o*i+u*r,e[2]=s*i+d*r,e[3]=c*i+f*r,e[4]=l*i-a*r,e[5]=u*i-o*r,e[6]=d*i-s*r,e[7]=f*i-c*r,e},e.aa=function(e){let t={};if(e.replace(/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,((e,n,r,i)=>{let a=r||i;return t[n]=!a||a.toLowerCase(),``})),t[`max-age`]){let e=parseInt(t[`max-age`],10);isNaN(e)?delete t[`max-age`]:t[`max-age`]=e}return t},e.ab=he,e.ac=function(e){return 2**e},e.ad=_,e.ae=ne,e.af=85.051129,e.ag=Qu,e.ah=function(e){return Math.log(e)/Math.LN2},e.ai=function(e){var t=e[0],n=e[1];return t*t+n*n},e.aj=function(e,t){let n=[];for(let r in e)r in t||n.push(r);return n},e.ak=function(e,t){let n=0,r=0;if(e.kind===`constant`)r=e.layoutSize;else if(e.kind!==`source`){let{interpolationType:i,minZoom:a,maxZoom:o}=e,s=i?ne(mn.interpolationFactor(i,t,a,o),0,1):0;e.kind===`camera`?r=gn.number(e.minSize,e.maxSize,s):n=s}return{uSizeT:n,uSize:r}},e.am=function(e,{uSize:t,uSizeT:n},{lowerSize:r,upperSize:i}){return e.kind===`source`?r/128:e.kind===`composite`?gn.number(r/128,i/128,n):t},e.an=function(e,t){var n=t[0],r=t[1],i=t[2],a=t[3],o=t[4],s=t[5],c=t[6],l=t[7],u=t[8],d=t[9],f=t[10],p=t[11],m=t[12],h=t[13],g=t[14],_=t[15],v=n*s-r*o,y=n*c-i*o,b=n*l-a*o,x=r*c-i*s,S=r*l-a*s,C=i*l-a*c,w=u*h-d*m,T=u*g-f*m,E=u*_-p*m,D=d*g-f*h,O=d*_-p*h,k=f*_-p*g,A=v*k-y*O+b*D+x*E-S*T+C*w;return A?(e[0]=(s*k-c*O+l*D)*(A=1/A),e[1]=(i*O-r*k-a*D)*A,e[2]=(h*C-g*S+_*x)*A,e[3]=(f*S-d*C-p*x)*A,e[4]=(c*E-o*k-l*T)*A,e[5]=(n*k-i*E+a*T)*A,e[6]=(g*b-m*C-_*y)*A,e[7]=(u*C-f*b+p*y)*A,e[8]=(o*O-s*E+l*w)*A,e[9]=(r*E-n*O-a*w)*A,e[10]=(m*S-h*b+_*v)*A,e[11]=(d*b-u*S-p*v)*A,e[12]=(s*T-o*D-c*w)*A,e[13]=(n*D-r*T+i*w)*A,e[14]=(h*y-m*x-g*v)*A,e[15]=(u*x-d*y+f*v)*A,e):null},e.ao=T,e.ap=function(e){return Math.hypot(e[0],e[1])},e.aq=function(e){return e[0]=0,e[1]=0,e},e.ar=function(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e},e.as=Du,e.at=C,e.au=function(e,t,n,r){let i=t.y-e.y,a=t.x-e.x,o=r.y-n.y,s=r.x-n.x,l=o*a-s*i;if(l===0)return null;let u=(s*(e.y-n.y)-o*(e.x-n.x))/l;return new c(e.x+u*a,e.y+u*i)},e.av=md,e.aw=Cs,e.ax=function(e){let t=1/0,n=1/0,r=-1/0,i=-1/0;for(let a of e)t=Math.min(t,a.x),n=Math.min(n,a.y),r=Math.max(r,a.x),i=Math.max(i,a.y);return[t,n,r,i]},e.ay=Vl,e.az=O,e.b=F,e.b$=class extends fo{},e.b0=function(){let e=new Float32Array(16);return _(e),e},e.b1=function(){let e=new Float64Array(16);return _(e),e},e.b2=function(){return new Float64Array(16)},e.b3=function(e,t,n){let r=new Float64Array(4);return function(e,t,n,r){var i=.5*Math.PI/180;t*=i,n*=i,r*=i;var a=Math.sin(t),o=Math.cos(t),s=Math.sin(n),c=Math.cos(n),l=Math.sin(r),u=Math.cos(r);
12e[0]=a*c*u-o*s*l,e[1]=o*s*u+a*c*l,e[2]=o*c*l-a*s*u,e[3]=o*c*u+a*s*l}(r,e,t-90,n),r},e.b4=function(e,t,n,r){var i,a,o,s,c,l=t[0],u=t[1],d=t[2],f=t[3],p=n[0],h=n[1],g=n[2],_=n[3];return(a=l*p+u*h+d*g+f*_)<0&&(a=-a,p=-p,h=-h,g=-g,_=-_),1-a>m?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-r)*i)/o,c=Math.sin(r*i)/o):(s=1-r,c=r),e[0]=s*l+c*p,e[1]=s*u+c*h,e[2]=s*d+c*g,e[3]=s*f+c*_,e},e.b5=function(e){let t=new Float64Array(9);var n,r,i,a,o,s,c,l,u,d=(i=(r=e)[0])*(c=i+i),f=(a=r[1])*c,p,m=(o=r[2])*c,h=o*(l=a+a),g,_=(s=r[3])*c,v=s*l,y=s*(u=o+o);(n=t)[0]=1-(p=a*l)-(g=o*u),n[3]=f-y,n[6]=m+v,n[1]=f+y,n[4]=1-d-g,n[7]=h-_,n[2]=m-v,n[5]=h+_,n[8]=1-d-p;let b=ge(-Math.asin(ne(t[2],-1,1))),x,S;return Math.hypot(t[5],t[8])<.001?(x=0,S=-ge(Math.atan2(t[3],t[4]))):(x=ge(t[5]===0&&t[8]===0?0:Math.atan2(t[5],t[8])),S=ge(t[1]===0&&t[0]===0?0:Math.atan2(t[1],t[0]))),{roll:x,pitch:b+90,bearing:S}},e.b6=function(e,t){return e.roll==t.roll&&e.pitch==t.pitch&&e.bearing==t.bearing},e.b7=W,e.b8=ns,e.b9=Mc,e.bA=function(e){if(e.type===`custom`)return new Uu(e);switch(e.type){case`background`:return new zu(e);case`circle`:return new Bs(e);case`fill`:return new Wc(e);case`fill-extrusion`:return new hl(e);case`heatmap`:return new Qs(e);case`hillshade`:return new tc(e);case`line`:return new kl(e);case`raster`:return new Hu(e);case`symbol`:return new Iu(e)}},e.bB=se,e.bC=function(e,t){if(!e)return[{command:`setStyle`,args:[t]}];let n=[];try{if(!Fe(e.version,t.version))return[{command:`setStyle`,args:[t]}];Fe(e.center,t.center)||n.push({command:`setCenter`,args:[t.center]}),Fe(e.state,t.state)||n.push({command:`setGlobalState`,args:[t.state]}),Fe(e.centerAltitude,t.centerAltitude)||n.push({command:`setCenterAltitude`,args:[t.centerAltitude]}),Fe(e.zoom,t.zoom)||n.push({command:`setZoom`,args:[t.zoom]}),Fe(e.bearing,t.bearing)||n.push({command:`setBearing`,args:[t.bearing]}),Fe(e.pitch,t.pitch)||n.push({command:`setPitch`,args:[t.pitch]}),Fe(e.roll,t.roll)||n.push({command:`setRoll`,args:[t.roll]}),Fe(e.sprite,t.sprite)||n.push({command:`setSprite`,args:[t.sprite]}),Fe(e.glyphs,t.glyphs)||n.push({command:`setGlyphs`,args:[t.glyphs]}),Fe(e.transition,t.transition)||n.push({command:`setTransition`,args:[t.transition]}),Fe(e.light,t.light)||n.push({command:`setLight`,args:[t.light]}),Fe(e.terrain,t.terrain)||n.push({command:`setTerrain`,args:[t.terrain]}),Fe(e.sky,t.sky)||n.push({command:`setSky`,args:[t.sky]}),Fe(e.projection,t.projection)||n.push({command:`setProjection`,args:[t.projection]});let r={},i=[];(function(e,t,n,r){let i;for(i in t||={},e||={})Object.prototype.hasOwnProperty.call(e,i)&&(Object.prototype.hasOwnProperty.call(t,i)||Re(i,n,r));for(i in t)Object.prototype.hasOwnProperty.call(t,i)&&(Object.prototype.hasOwnProperty.call(e,i)?Fe(e[i],t[i])||(e[i].type===`geojson`&&t[i].type===`geojson`&&Be(e,t,i)?Ie(n,{command:`setGeoJSONSourceData`,args:[i,t[i].data]}):ze(i,t,n,r)):Le(i,t,n))})(e.sources,t.sources,i,r);let a=[];e.layers&&e.layers.forEach((e=>{`source`in e&&r[e.source]?n.push({command:`removeLayer`,args:[e.id]}):a.push(e)})),n=n.concat(i),function(e,t,n){t||=[];let r=(e||=[]).map(He),i=t.map(He),a=e.reduce(Ue,{}),o=t.reduce(Ue,{}),s=r.slice(),c=Object.create(null),l,u,d,f,p;for(let e=0,t=0;e<r.length;e++)l=r[e],Object.prototype.hasOwnProperty.call(o,l)?t++:(Ie(n,{command:`removeLayer`,args:[l]}),s.splice(s.indexOf(l,t),1));for(let e=0,t=0;e<i.length;e++)l=i[i.length-1-e],s[s.length-1-e]!==l&&(Object.prototype.hasOwnProperty.call(a,l)?(Ie(n,{command:`removeLayer`,args:[l]}),s.splice(s.lastIndexOf(l,s.length-t),1)):t++,f=s[s.length-e],Ie(n,{command:`addLayer`,args:[o[l],f]}),s.splice(s.length-e,0,l),c[l]=!0);for(let e=0;e<i.length;e++)if(l=i[e],u=a[l],d=o[l],!c[l]&&!Fe(u,d))if(Fe(u.source,d.source)&&Fe(u[`source-layer`],d[`source-layer`])&&Fe(u.type,d.type)){for(p in Ve(u.layout,d.layout,n,l,null,`setLayoutProperty`),Ve(u.paint,d.paint,n,l,null,`setPaintProperty`),Fe(u.filter,d.filter)||Ie(n,{command:`setFilter`,args:[l,d.filter]}),Fe(u.minzoom,d.minzoom)&&Fe(u.maxzoom,d.maxzoom)||Ie(n,{command:`setLayerZoomRange`,args:[l,d.minzoom,d.maxzoom]}),u)Object.prototype.hasOwnProperty.call(u,p)&&p!==`layout`&&p!==`paint`&&p!==`filter`&&p!==`metadata`&&p!==`minzoom`&&p!==`maxzoom`&&(p.indexOf(`paint.`)===0?Ve(u[p],d[p],n,l,p.slice(6),`setPaintProperty`):Fe(u[p],d[p])||Ie(n,{command:`setLayerProperty`,args:[l,p,d[p]]}));for(p in d)Object.prototype.hasOwnProperty.call(d,p)&&!Object.prototype.hasOwnProperty.call(u,p)&&p!==`layout`&&p!==`paint`&&p!==`filter`&&p!==`metadata`&&p!==`minzoom`&&p!==`maxzoom`&&(p.indexOf(`paint.`)===0?Ve(u[p],d[p],n,l,p.slice(6),`setPaintProperty`):Fe(u[p],d[p])||Ie(n,{command:`setLayerProperty`,args:[l,p,d[p]]}))}else Ie(n,{command:`removeLayer`,args:[l]}),f=s[s.lastIndexOf(l)+1],Ie(n,{command:`addLayer`,args:[d,f]})}(a,t.layers,n)}catch(e){console.warn(`Unable to compute style diff:`,e),n=[{command:`setStyle`,args:[t]}]}return n},e.bD=function(e){let t=[],n=e.id;return n===void 0&&t.push({message:`layers.${n}: missing required property "id"`}),e.render===void 0&&t.push({message:`layers.${n}: missing required method "render"`}),e.renderingMode&&e.renderingMode!==`2d`&&e.renderingMode!==`3d`&&t.push({message:`layers.${n}: property "renderingMode" must be either "2d" or "3d"`}),t},e.bE=function e(t,n){if(Array.isArray(t)){if(!Array.isArray(n)||t.length!==n.length)return!1;for(let r=0;r<t.length;r++)if(!e(t[r],n[r]))return!1;return!0}if(typeof t==`object`&&t&&n!==null){if(typeof n!=`object`||Object.keys(t).length!==Object.keys(n).length)return!1;for(let r in t)if(!e(t[r],n[r]))return!1;return!0}return t===n},e.bF=ae,e.bG=oe,e.bH=class extends ts{constructor(e,t){super(e,t),this.current=0}set(e){this.current!==e&&(this.current=e,this.gl.uniform1i(this.location,e))}},e.bI=is,e.bJ=class extends ts{constructor(e,t){super(e,t),this.current=as}set(e){if(e[12]!==this.current[12]||e[0]!==this.current[0])return this.current=e,void this.gl.uniformMatrix4fv(this.location,!1,e);for(let t=1;t<16;t++)if(e[t]!==this.current[t]){this.current=e,this.gl.uniformMatrix4fv(this.location,!1,e);break}}},e.bK=rs,e.bL=class extends ts{constructor(e,t){super(e,t),this.current=[0,0,0]}set(e){e[0]===this.current[0]&&e[1]===this.current[1]&&e[2]===this.current[2]||(this.current=e,this.gl.uniform3f(this.location,e[0],e[1],e[2]))}},e.bM=class extends ts{constructor(e,t){super(e,t),this.current=[0,0]}set(e){e[0]===this.current[0]&&e[1]===this.current[1]||(this.current=e,this.gl.uniform2f(this.location,e[0],e[1]))}},e.bN=g,e.bO=function(e,t){var n=Math.sin(t),r=Math.cos(t);return e[0]=r,e[1]=n,e[2]=0,e[3]=-n,e[4]=r,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},e.bP=function(e,t,n){var r=t[0],i=t[1],a=t[2];return e[0]=r*n[0]+i*n[3]+a*n[6],e[1]=r*n[1]+i*n[4]+a*n[7],e[2]=r*n[2]+i*n[5]+a*n[8],e},e.bQ=function(e,t,n,r,i,a,o){var s=1/(t-n),c=1/(r-i),l=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10
12]=2*l,e[11]=0,e[12]=(t+n)*s,e[13]=(i+r)*c,e[14]=(o+a)*l,e[15]=1,e},e.bR=class extends ts{constructor(e,t){super(e,t),this.current=[]}set(e){if(e!=this.current){this.current=e;let t=new Float32Array(4*e.length);for(let n=0;n<e.length;n++)t[4*n]=e[n].r,t[4*n+1]=e[n].g,t[4*n+2]=e[n].b,t[4*n+3]=e[n].a;this.gl.uniform4fv(this.location,t)}}},e.bS=class extends ts{constructor(e,t){super(e,t),this.current=[]}set(e){if(e!=this.current){this.current=e;let t=new Float32Array(e);this.gl.uniform1fv(this.location,t)}}},e.bT=class extends no{},e.bU=Fl,e.bV=class extends io{},e.bW=Zs,e.bX=function(e){return e<=1?1:2**Math.ceil(Math.log(e)/Math.LN2)},e.bY=Xs,e.bZ=function(e,t,n){var r=t[0],i=t[1],a=t[2],o=n[3]*r+n[7]*i+n[11]*a+n[15];return e[0]=(n[0]*r+n[4]*i+n[8]*a+n[12])/(o||=1),e[1]=(n[1]*r+n[5]*i+n[9]*a+n[13])/o,e[2]=(n[2]*r+n[6]*i+n[10]*a+n[14])/o,e},e.b_=class extends Ka{},e.ba=Nc,e.bb=Ac,e.bc=A,e.bd=ee,e.be=G,e.bf=function(e,t,n,r,i){return A(r,i,ne((e-t)/(n-t),0,1))},e.bg=k,e.bh=function(){return new Float64Array(3)},e.bi=function(e,t,n,r){return e[0]=t[0]+n[0]*r,e[1]=t[1]+n[1]*r,e[2]=t[2]+n[2]*r,e},e.bj=S,e.bk=function(){return new Float64Array(4)},e.bl=function(e,t,n,r){var i=[],a=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],a[0]=i[0]*Math.cos(r)-i[1]*Math.sin(r),a[1]=i[0]*Math.sin(r)+i[1]*Math.cos(r),a[2]=i[2],e[0]=a[0]+n[0],e[1]=a[1]+n[1],e[2]=a[2]+n[2],e},e.bm=function(e,t,n,r){var i=[],a=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],a[0]=i[0],a[1]=i[1]*Math.cos(r)-i[2]*Math.sin(r),a[2]=i[1]*Math.sin(r)+i[2]*Math.cos(r),e[0]=a[0]+n[0],e[1]=a[1]+n[1],e[2]=a[2]+n[2],e},e.bn=function(e,t,n,r){var i=[],a=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],a[0]=i[2]*Math.sin(r)+i[0]*Math.cos(r),a[1]=i[1],a[2]=i[2]*Math.cos(r)-i[0]*Math.sin(r),e[0]=a[0]+n[0],e[1]=a[1]+n[1],e[2]=a[2]+n[2],e},e.bo=y,e.bp=function(e,t,n){var r=Math.sin(n),i=Math.cos(n),a=t[0],o=t[1],s=t[2],c=t[3],l=t[8],u=t[9],d=t[10],f=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-l*r,e[1]=o*i-u*r,e[2]=s*i-d*r,e[3]=c*i-f*r,e[8]=a*r+l*i,e[9]=o*r+u*i,e[10]=s*r+d*i,e[11]=c*r+f*i,e},e.bq=function(e,t){let n=k(e,360),r=k(t,360),i=r-n,a=r>n?i-360:i+360;return Math.abs(i)<Math.abs(a)?i:a},e.br=function(e){return e[0]=0,e[1]=0,e[2]=0,e},e.bs=function(e,t,n,r){let i=Math.sqrt(e*e+t*t),a=Math.sqrt(n*n+r*r);e/=i,t/=i,n/=a,r/=a;let o=Math.acos(e*n+t*r);return-t*n+e*r>0?o:-o},e.bt=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]},e.bu=Ku,e.bv=function(e,t){let n=k(e,2*Math.PI),r=k(t,2*Math.PI);return Math.min(Math.abs(n-r),Math.abs(n-r+2*Math.PI),Math.abs(n-r-2*Math.PI))},e.bw=function(){let e={},t=L.$version;for(let n in L.$root){let r=L.$root[n];if(r.required){let i=null;i=n===`version`?t:r.type===`array`?[]:{},i!=null&&(e[n]=i)}}return e},e.bx=ua,e.by=Te,e.bz=function(e){e=e.slice();let t=Object.create(null);for(let n=0;n<e.length;n++)t[e[n].id]=e[n];for(let n=0;n<e.length;n++)`ref`in e[n]&&(e[n]=Pe(e[n],t[e[n].ref]));return e},e.c=be,e.c0=function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},e.c1=function(e,t){var n=e[0],r=e[1],i=e[2],a=e[3],o=e[4],s=e[5],c=e[6],l=e[7],u=e[8],d=e[9],f=e[10],p=e[11],h=e[12],g=e[13],_=e[14],v=e[15],y=t[0],b=t[1],x=t[2],S=t[3],C=t[4],w=t[5],T=t[6],E=t[7],D=t[8],O=t[9],k=t[10],A=t[11],ee=t[12],te=t[13],j=t[14],ne=t[15];return Math.abs(n-y)<=m*Math.max(1,Math.abs(n),Math.abs(y))&&Math.abs(r-b)<=m*Math.max(1,Math.abs(r),Math.abs(b))&&Math.abs(i-x)<=m*Math.max(1,Math.abs(i),Math.abs(x))&&Math.abs(a-S)<=m*Math.max(1,Math.abs(a),Math.abs(S))&&Math.abs(o-C)<=m*Math.max(1,Math.abs(o),Math.abs(C))&&Math.abs(s-w)<=m*Math.max(1,Math.abs(s),Math.abs(w))&&Math.abs(c-T)<=m*Math.max(1,Math.abs(c),Math.abs(T))&&Math.abs(l-E)<=m*Math.max(1,Math.abs(l),Math.abs(E))&&Math.abs(u-D)<=m*Math.max(1,Math.abs(u),Math.abs(D))&&Math.abs(d-O)<=m*Math.max(1,Math.abs(d),Math.abs(O))&&Math.abs(f-k)<=m*Math.max(1,Math.abs(f),Math.abs(k))&&Math.abs(p-A)<=m*Math.max(1,Math.abs(p),Math.abs(A))&&Math.abs(h-ee)<=m*Math.max(1,Math.abs(h),Math.abs(ee))&&Math.abs(g-te)<=m*Math.max(1,Math.abs(g),Math.abs(te))&&Math.abs(_-j)<=m*Math.max(1,Math.abs(_),Math.abs(j))&&Math.abs(v-ne)<=m*Math.max(1,Math.abs(v),Math.abs(ne))},e.c2=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},e.c3=e=>e.type===`symbol`,e.c4=e=>e.type===`circle`,e.c5=e=>e.type===`heatmap`,e.c6=e=>e.type===`line`,e.c7=e=>e.type===`fill`,e.c8=e=>e.type===`fill-extrusion`,e.c9=e=>e.type===`hillshade`,e.cA=Bc,e.cB=ll,e.cC=al,e.cD=Gl,e.cE=class{constructor(e){this._marks={start:[e.url,`start`].join(`#`),end:[e.url,`end`].join(`#`),measure:e.url.toString()},performance.mark(this._marks.start)}finish(){performance.mark(this._marks.end);let e=performance.getEntriesByName(this._marks.measure);return e.length===0&&(performance.measure(this._marks.measure,this._marks.start,this._marks.end),e=performance.getEntriesByName(this._marks.measure),performance.clearMarks(this._marks.start),performance.clearMarks(this._marks.end),performance.clearMeasures(this._marks.measure)),e}},e.cF=function(e,n,r,i,a){return t(this,void 0,void 0,(function*(){if(p())try{return yield fe(e,n,r,i,a)}catch{}return function(e,t,n,r,i){let a=e.width,o=e.height;
12I&&pe||(I=new OffscreenCanvas(a,o),pe=I.getContext(`2d`,{willReadFrequently:!0})),I.width=a,I.height=o,pe.drawImage(e,0,0,a,o);let s=pe.getImageData(t,n,r,i);return pe.clearRect(0,0,a,o),s.data}(e,n,r,i,a)}))},e.cG=sd,e.cH=n,e.cI=a,e.cJ=il,e.cK=Wl,e.cL=ni,e.cM=Ca,e.ca=e=>e.type===`raster`,e.cb=e=>e.type===`background`,e.cc=e=>e.type===`custom`,e.cd=te,e.ce=function(e,t,n){let r=E(t.x-n.x,t.y-n.y),i=E(e.x-n.x,e.y-n.y);var a,o;return ge(Math.atan2(r[0]*i[1]-r[1]*i[0],(a=r)[0]*(o=i)[0]+a[1]*o[1]))},e.cf=j,e.cg=function(e,t){return ve[t]&&(e instanceof MouseEvent||e instanceof WheelEvent)},e.ch=function(e,t){return _e[t]&&`touches`in e},e.ci=function(e){return _e[e]||ve[e]},e.cj=function(e,t,n){var r=t[0],i=t[1];return e[0]=n[0]*r+n[4]*i+n[12],e[1]=n[1]*r+n[5]*i+n[13],e},e.ck=function(e,t){let{x:n,y:r}=td.fromLngLat(t);return!(e<0||e>25||r<0||r>=1||n<0||n>=1)},e.cl=function(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},e.cm=class extends Ga{},e.cn={mark(e){performance.mark(e)},frame(e){let t=e;Xd!=null&&Zd.push(t-Xd),Xd=t},clearMetrics(){Xd=null,Zd=[],performance.clearMeasures($d),performance.clearMeasures(ef);for(let t in e.co)performance.clearMarks(e.co[t])},getPerformanceMetrics(){performance.measure($d,e.co.create,e.co.load),performance.measure(ef,e.co.create,e.co.fullLoad);let t=performance.getEntriesByName($d)[0].duration,n=performance.getEntriesByName(ef)[0].duration,r=Zd.length,i=1/(Zd.reduce(((e,t)=>e+t),0)/r/1e3),a=Zd.filter((e=>e>Qd)).reduce(((e,t)=>e+(t-Qd)/Qd),0);return{loadTime:t,fullLoadTime:n,fps:i,percentDroppedFrames:a/(r+a)*100,totalFrames:r}}},e.cp=function(e){return e.message===ye},e.cq=we,e.cr=function(e,t){xe.REGISTERED_PROTOCOLS[e]=t},e.cs=function(e){delete xe.REGISTERED_PROTOCOLS[e]},e.ct=function(e,t){let n={};for(let r=0;r<e.length;r++){let i=t&&t[e[r].id]||yi(e[r]);t&&(t[e[r].id]=i);let a=n[i];a||=n[i]=[],a.push(e[r])}let r=[];for(let e in n)r.push(n[e]);return r},e.cu=X,e.cv=cd,e.cw=ud,e.cx=Zl,e.cy=function(t){t.bucket.createArrays(),t.bucket.tilePixelRatio=D/(512*t.bucket.overscaling),t.bucket.compareText={},t.bucket.iconsNeedLinear=!1;let n=t.bucket.layers[0],r=n.layout,i=n._unevaluatedLayout._values,a={layoutIconSize:i[`icon-size`].possiblyEvaluate(new wa(t.bucket.zoom+1),t.canonical),layoutTextSize:i[`text-size`].possiblyEvaluate(new wa(t.bucket.zoom+1),t.canonical),textMaxSize:i[`text-size`].possiblyEvaluate(new wa(18))};if(t.bucket.textSizeData.kind===`composite`){let{minZoom:e,maxZoom:n}=t.bucket.textSizeData;a.compositeTextSizes=[i[`text-size`].possiblyEvaluate(new wa(e),t.canonical),i[`text-size`].possiblyEvaluate(new wa(n),t.canonical)]}if(t.bucket.iconSizeData.kind===`composite`){let{minZoom:e,maxZoom:n}=t.bucket.iconSizeData;a.compositeIconSizes=[i[`icon-size`].possiblyEvaluate(new wa(e),t.canonical),i[`icon-size`].possiblyEvaluate(new wa(n),t.canonical)]}let o=r.get(`text-line-height`)*Vl,s=r.get(`text-rotation-alignment`)!==`viewport`&&r.get(`symbol-placement`)!==`point`,c=r.get(`text-keep-upright`),l=r.get(`text-size`);for(let i of t.bucket.features){let u=r.get(`text-font`).evaluate(i,{},t.canonical).join(`,`),d=l.evaluate(i,{},t.canonical),f=a.layoutTextSize.evaluate(i,{},t.canonical),p=a.layoutIconSize.evaluate(i,{},t.canonical),m={horizontal:{},vertical:void 0},h=i.text,g,_=[0,0];if(h){let a=h.toString(),l=r.get(`text-letter-spacing`).evaluate(i,{},t.canonical)*Vl,p=fa(a)?l:0,g=r.get(`text-anchor`).evaluate(i,{},t.canonical),v=Id(n,i,t.canonical);if(!v){let e=r.get(`text-radial-offset`).evaluate(i,{},t.canonical);_=e?Fd(g,[e*Vl,Pd]):r.get(`text-offset`).evaluate(i,{},t.canonical).map((e=>e*Vl))}let y=s?`center`:r.get(`text-justify`).evaluate(i,{},t.canonical),b=r.get(`symbol-placement`)===`point`?r.get(`text-max-width`).evaluate(i,{},t.canonical)*Vl:1/0,x=()=>{t.bucket.allowVerticalPlacement&&da(a)&&(m.vertical=tu(h,t.glyphMap,t.glyphPositions,t.imagePositions,u,b,o,g,`left`,p,_,e.al.vertical,!0,f,d))};if(!s&&v){let n=new Set;if(y===`auto`)for(let e=0;e<v.values.length;e+=2)n.add(Ld(v.values[e]));else n.add(y);let r=!1;for(let i of n)if(!m.horizontal[i])if(r)m.horizontal[i]=m.horizontal[0];else{let n=tu(h,t.glyphMap,t.glyphPositions,t.imagePositions,u,b,o,`center`,i,p,_,e.al.horizontal,!1,f,d);n&&(m.horizontal[i]=n,r=n.positionedLines.length===1)}x()}else{y===`auto`&&(y=Ld(g));let n=tu(h,t.glyphMap,t.glyphPositions,t.imagePositions,u,b,o,g,y,p,_,e.al.horizontal,!1,f,d);n&&(m.horizontal[y]=n),x(),da(a)&&s&&c&&(m.vertical=tu(h,t.glyphMap,t.glyphPositions,t.imagePositions,u,b,o,g,y,p,_,e.al.vertical,!1,f,d))}}let v=!1;if(i.icon&&i.icon.name){let e=t.imageMap[i.icon.name];e&&(g=vu(t.imagePositions[i.icon.name],r.get(`icon-offset`).evaluate(i,{},t.canonical),r.get(`icon-anchor`).evaluate(i,{},t.canonical)),v=!!e.sdf,t.bucket.sdfIcons===void 0?t.bucket.sdfIcons=v:t.bucket.sdfIcons!==v&&le(`Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer`),(e.pixelRatio!==t.bucket.pixelRatio||r.get(`icon-rotate`).constantOr(1)!==0)&&(t.bucket.iconsNeedLinear=!0))}let y=Bd(m.horizontal)||m.vertical;t.bucket.iconsInText=!!y&&y.iconsInText,(y||g)&&Rd(t.bucket,i,m,g,t.imageMap,a,f,p,_,v,t.canonical,t.subdivisionGranularity)}t.showCollisionBoxes&&t.bucket.generateCollisionDebugBuffers()},e.cz=Cl,e.d=De,e.e=M,e.f=e=>t(void 0,void 0,void 0,(function*(){if(e.byteLength===0)return createImageBitmap(new ImageData(1,1));let t=new Blob([new Uint8Array(e)],{type:`image/png`});try{return createImageBitmap(t)}catch(e){throw Error(`Could not load image because of ${e.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}})),e.g=Se,e.h=e=>new Promise(((t,n)=>{let r=new Image;r.onload=()=>{t(r),URL.revokeObjectURL(r.src),r.onload=null,window.requestAnimationFrame((()=>{r.src=de}))},r.onerror=()=>n(Error(`Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`));let i=new Blob([new Uint8Array(e)],{type:`image/png`});r.src=e.byteLength?URL.createObjectURL(i):de})),e.i=P,e.j=(e,t)=>
12Ee(M(e,{type:`json`}),t),e.k=je,e.l=Ae,e.m=Ee,e.n=(e,t)=>Ee(M(e,{type:`arrayBuffer`}),t),e.o=function(e){return new Gl(e).readFields(Kl,[])},e.p=Yl,e.q=Js,e.r=Ia,e.s=me,e.t=Qi,e.u=Z,e.v=L,e.w=le,e.x=na,e.y=Zi,e.z=function([e,t,n]){return t+=90,t*=Math.PI/180,n*=Math.PI/180,{x:e*Math.cos(t)*Math.sin(n),y:e*Math.sin(t)*Math.sin(n),z:e*Math.cos(n)}}})),n(`worker`,[`./shared`],(function(e){class t{constructor(e){this.keyCache={},e&&this.replace(e)}replace(e){this._layerConfigs={},this._layers={},this.update(e,[])}update(t,n){for(let n of t){this._layerConfigs[n.id]=n;let t=this._layers[n.id]=e.bA(n);t._featureFilter=e.a7(t.filter),this.keyCache[n.id]&&delete this.keyCache[n.id]}for(let e of n)delete this.keyCache[e],delete this._layerConfigs[e],delete this._layers[e];this.familiesBySource={};let r=e.ct(Object.values(this._layerConfigs),this.keyCache);for(let e of r){let t=e.map((e=>this._layers[e.id])),n=t[0];if(n.visibility===`none`)continue;let r=n.source||``,i=this.familiesBySource[r];i||=this.familiesBySource[r]={};let a=n.sourceLayer||`_geojsonTileLayer`,o=i[a];o||=i[a]=[],o.push(t)}}}class n{constructor(t){let n={},r=[];for(let e in t){let i=t[e],a=n[e]={};for(let e in i){let t=i[+e];if(!t||t.bitmap.width===0||t.bitmap.height===0)continue;let n={x:0,y:0,w:t.bitmap.width+2,h:t.bitmap.height+2};r.push(n),a[e]={rect:n,metrics:t.metrics}}}let{w:i,h:a}=e.p(r),o=new e.q({width:i||1,height:a||1});for(let r in t){let i=t[r];for(let t in i){let a=i[+t];if(!a||a.bitmap.width===0||a.bitmap.height===0)continue;let s=n[r][t].rect;e.q.copy(a.bitmap,o,{x:0,y:0},{x:s.x+1,y:s.y+1},a.bitmap)}}this.image=o,this.positions=n}}e.cu(`GlyphAtlas`,n);class r{constructor(t){this.tileID=new e.Y(t.tileID.overscaledZ,t.tileID.wrap,t.tileID.canonical.z,t.tileID.canonical.x,t.tileID.canonical.y),this.uid=t.uid,this.zoom=t.zoom,this.pixelRatio=t.pixelRatio,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=t.showCollisionBoxes,this.collectResourceTiming=!!t.collectResourceTiming,this.returnDependencies=!!t.returnDependencies,this.promoteId=t.promoteId,this.inFlightDependencies=[]}parse(t,r,a,o,s){return e._(this,void 0,void 0,(function*(){this.status=`parsing`,this.data=t,this.collisionBoxArray=new e.a5;let c=new e.cv(Object.keys(t.layers).sort()),l=new e.cw(this.tileID,this.promoteId);l.bucketLayerIDs=[];let u={},d={featureIndex:l,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:a,subdivisionGranularity:s},f=r.familiesBySource[this.source];for(let n in f){let r=t.layers[n];if(!r)continue;r.version===1&&e.w(`Vector tile source "${this.source}" layer "${n}" does not use vector tile spec v2 and therefore may have some rendering errors.`);let o=c.encode(n),s=[];for(let e=0;e<r.length;e++){let t=r.feature(e),i=l.getId(t,n);s.push({feature:t,id:i,index:e,sourceLayerIndex:o})}for(let t of f[n]){let n=t[0];n.source!==this.source&&e.w(`layer.source = ${n.source} does not equal this.source = ${this.source}`),n.minzoom&&this.zoom<Math.floor(n.minzoom)||n.maxzoom&&this.zoom>=n.maxzoom||n.visibility!==`none`&&(i(t,this.zoom,a),(u[n.id]=n.createBucket({index:l.bucketLayerIDs.length,layers:t,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:o,sourceID:this.source})).populate(s,d,this.tileID.canonical),l.bucketLayerIDs.push(t.map((e=>e.id))))}}let p=e.bF(d.glyphDependencies,(e=>Object.keys(e).map(Number)));this.inFlightDependencies.forEach((e=>e?.abort())),this.inFlightDependencies=[];let m=Promise.resolve({});if(Object.keys(p).length){let e=new AbortController;this.inFlightDependencies.push(e),m=o.sendAsync({type:`GG`,data:{stacks:p,source:this.source,tileID:this.tileID,type:`glyphs`}},e)}let h=Object.keys(d.iconDependencies),g=Promise.resolve({});if(h.length){let e=new AbortController;this.inFlightDependencies.push(e),g=o.sendAsync({type:`GI`,data:{icons:h,source:this.source,tileID:this.tileID,type:`icons`}},e)}let _=Object.keys(d.patternDependencies),v=Promise.resolve({});if(_.length){let e=new AbortController;this.inFlightDependencies.push(e),v=o.sendAsync({type:`GI`,data:{icons:_,source:this.source,tileID:this.tileID,type:`patterns`}},e)}let[y,b,x]=yield Promise.all([m,g,v]),S=new n(y),C=new e.cx(b,x);for(let t in u){let n=u[t];n instanceof e.a6?(i(n.layers,this.zoom,a),e.cy({bucket:n,glyphMap:y,glyphPositions:S.positions,imageMap:b,imagePositions:C.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical,subdivisionGranularity:d.subdivisionGranularity})):n.hasPattern&&(n instanceof e.cz||n instanceof e.cA||n instanceof e.cB)&&(i(n.layers,this.zoom,a),n.addFeatures(d,this.tileID.canonical,C.patternPositions))}return this.status=`done`,{buckets:Object.values(u).filter((e=>!e.isEmpty())),featureIndex:l,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:S.image,imageAtlas:C,glyphMap:this.returnDependencies?y:null,iconMap:this.returnDependencies?b:null,glyphPositions:this.returnDependencies?S.positions:null}}))}}function i(t,n,r){let i=new e.C(n);for(let e of t)e.recalculate(i,r)}class a{constructor(e,t,n){this.actor=e,this.layerIndex=t,this.availableImages=n,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(t,n){return e._(this,void 0,void 0,(function*(){let r=yield e.n(t.request,n);try{return{vectorTile:new e.cC.VectorTile(new e.cD(r.data)),rawData:r.data,cacheControl:r.cacheControl,expires:r.expires}}catch(e){let n=new Uint8Array(r.data),i=`Unable to parse the tile at ${t.request.url}, `;throw i+=n[0]===31&&n[1]===139?`please make sure the data is not gzipped and that you have configured the relevant header in the server`:`got error: ${e.message}`,Error(i)}}))}loadTile(t){return e._(this,void 0,void 0,(function*(){let n=t.uid,i=!!(t&&t.request&&t.request.collectResourceTiming)&&new e.cE(t.request),a=new r(t);this.loading[n]=a;let o=new AbortController;a.abort=o;try{let r=yield this.loadVectorTile(t,o);if(delete this.loading[n],!r)return null;let s=r.rawData,c={};r.expires&&(c.expires=r.expires),r.cacheControl&&(c.cacheControl=r.cacheControl);let l={};if(i){let e=i.finish();e&&(l.resourceTiming=JSON.parse(JSON.stringify(e)))}a.vectorTile=r.vectorTile;let u=a.parse(r.vectorTile,this.layerIndex,this.availableImages,this.actor,t.subdivisionGranularity);this.loaded[n]=a,this.fetching[n]={rawTileData:s,cacheControl:c,resourceTiming:l};try{let t=yield u;return e.e({rawTileData:s.slice(0)},t,c,l)}finally{delete this.fetching[n]}}catch(e){throw delete this.loading[n],a.status=`done`,this.loaded[n]=a,e}}))}reloadTile(t){return e._(this,void 0,void 0,(function*(){let n=t.uid;if(!this.loaded||!this.loaded[n])throw Error(`Should not be trying to reload a tile that was never loaded or has been removed`);let r=this.loaded[n];if(r.showCollisionBoxes=t.showCollisionBoxes,r.status===`parsing`){let i=yield r.parse(r.vectorTile,this.layerIndex,this.availableImages,this.actor,t.subdivisionGranularity),a;if(this.fetching[n]){let{rawTileData:t,cacheControl:r,resourceTiming:o}=this.fetching[n];delete this.fetching[n],a=e.e({rawTileData:t.slice(0)},i,r,o)}else a=i;return a}if(r.status===`done`&&r.vectorTile)return r.parse(r.vectorTile,this.layerIndex,this.availableImages,this.actor,t.subdivisionGranularity)}))}abortTile(t){return e._(this,void 0,void 0,(function*(){let e=this.loading,n=t.uid;e&&e[n]&&e[n].abort&&(e[n].abort.abort(),delete e[n])}))}removeTile(t){return e._(this,void 0,void 0,(function*(){this.loaded&&this.loaded[t.uid]&&delete this.loaded[t.uid]}))}}class o{constructor(){this.loaded={}}loadTile(t){return e._(this,void 0,void 0,(function*(){let{uid:n,encoding:r,rawImageData:i,redFactor:a,greenFactor:o,blueFactor:s,baseShift:c}=t,l=i.width+2,u=i.height+2,d=e.b(i)?new e.R({width:l,height:u},yield e.cF(i,-1,-1,l,u)):i,f=new e.cG(n,d,r,a,o,s,c);return this.loaded=this.loaded||{},this.loaded[n]=f,f}))}removeTile(e){let t=this.loaded,n=e.uid;t&&t[n]&&delete t[n]}}var s,c,l=function(){if(c)return s;function e(e,n){if(e.length!==0){t(e[0],n);for(var r=1;r<e.length;r++)t(e[r],!n)}}function t(e,t){for(var n=0,r=0,i=0,a=e.length,o=a-1;i<a;o=i++){var s=(e[i][0]-e[o][0])*(e[o][1]+e[i][1]),c=n+s;r+=Math.abs(n)>=Math.abs(s)?n-c+s:s-c+n,n=c}n+r>=0!=!!t&&e.reverse()}return c=1,s=function t(n,r){var i,a=n&&n.type;if(a===`FeatureCollection`)for(i=0;i<n.features.length;i++)t(n.features[i],r);else if(a===`GeometryCollection`)for(i=0;i<n.geometries.length;i++)t(n.geometries[i],r);else if(a===`Feature`)t(n.geometry,r);else if(a===`Polygon`)e(n.coordinates,r);else if(a===`MultiPolygon`)for(i=0;i<n.coordinates.length;i++)e(n.coordinates[i],r);return n}}(),u=e.cH(l);let d=e.cC.VectorTileFeature.prototype.toGeoJSON;class f{constructor(t){this._feature=t,this.extent=e.Z,this.type=t.type,this.properties=t.tags,`id`in t&&!isNaN(t.id)&&(this.id=p
12arseInt(t.id,10))}loadGeometry(){if(this._feature.type===1){let t=[];for(let n of this._feature.geometry)t.push([new e.P(n[0],n[1])]);return t}{let t=[];for(let n of this._feature.geometry){let r=[];for(let t of n)r.push(new e.P(t[0],t[1]));t.push(r)}return t}}toGeoJSON(e,t,n){return d.call(this,e,t,n)}}class p{constructor(t){this.layers={_geojsonTileLayer:this},this.name=`_geojsonTileLayer`,this.extent=e.Z,this.length=t.length,this._features=t}feature(e){return new f(this._features[e])}}var m,h,g,_={exports:{}},v=function(){if(g)return _.exports;g=1;var t=e.cK(),n=function(){if(h)return m;h=1;var t=e.cI(),n=e.cJ().VectorTileFeature;function r(e,t){this.options=t||{},this.features=e,this.length=e.length}function i(e,t){this.id=typeof e.id==`number`?e.id:void 0,this.type=e.type,this.rawGeometry=e.type===1?[e.geometry]:e.geometry,this.properties=e.tags,this.extent=t||4096}return m=r,r.prototype.feature=function(e){return new i(this.features[e],this.options.extent)},i.prototype.loadGeometry=function(){var e=this.rawGeometry;this.geometry=[];for(var n=0;n<e.length;n++){for(var r=e[n],i=[],a=0;a<r.length;a++)i.push(new t(r[a][0],r[a][1]));this.geometry.push(i)}return this.geometry},i.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var e=this.geometry,t=1/0,n=-1/0,r=1/0,i=-1/0,a=0;a<e.length;a++)for(var o=e[a],s=0;s<o.length;s++){var c=o[s];t=Math.min(t,c.x),n=Math.max(n,c.x),r=Math.min(r,c.y),i=Math.max(i,c.y)}return[t,r,n,i]},i.prototype.toGeoJSON=n.prototype.toGeoJSON,m}();function r(e){var n=new t;return function(e,t){for(var n in e.layers)t.writeMessage(3,i,e.layers[n])}(e,n),n.finish()}function i(e,t){var n;t.writeVarintField(15,e.version||1),t.writeStringField(1,e.name||``),t.writeVarintField(5,e.extent||4096);var r={keys:[],values:[],keycache:{},valuecache:{}};for(n=0;n<e.length;n++)r.feature=e.feature(n),t.writeMessage(2,a,r);var i=r.keys;for(n=0;n<i.length;n++)t.writeStringField(3,i[n]);var o=r.values;for(n=0;n<o.length;n++)t.writeMessage(4,u,o[n])}function a(e,t){var n=e.feature;n.id!==void 0&&t.writeVarintField(1,n.id),t.writeMessage(2,o,e),t.writeVarintField(3,n.type),t.writeMessage(4,l,n)}function o(e,t){var n=e.feature,r=e.keys,i=e.values,a=e.keycache,o=e.valuecache;for(var s in n.properties){var c=n.properties[s],l=a[s];if(c!==null){l===void 0&&(r.push(s),a[s]=l=r.length-1),t.writeVarint(l);var u=typeof c;u!==`string`&&u!==`boolean`&&u!==`number`&&(c=JSON.stringify(c));var d=u+`:`+c,f=o[d];f===void 0&&(i.push(c),o[d]=f=i.length-1),t.writeVarint(f)}}}function s(e,t){return(t<<3)+(7&e)}function c(e){return e<<1^e>>31}function l(e,t){for(var n=e.loadGeometry(),r=e.type,i=0,a=0,o=n.length,l=0;l<o;l++){var u=n[l],d=1;r===1&&(d=u.length),t.writeVarint(s(1,d));for(var f=r===3?u.length-1:u.length,p=0;p<f;p++){p===1&&r!==1&&t.writeVarint(s(2,f-1));var m=u[p].x-i,h=u[p].y-a;t.writeVarint(c(m)),t.writeVarint(c(h)),i+=m,a+=h}r===3&&t.writeVarint(s(7,1))}}function u(e,t){var n=typeof e;n===`string`?t.writeStringField(1,e):n===`boolean`?t.writeBooleanField(7,e):n===`number`&&(e%1==0?e<0?t.writeSVarintField(6,e):t.writeVarintField(5,e):t.writeDoubleField(3,e))}return _.exports=r,_.exports.fromVectorTileJs=r,_.exports.fromGeojsonVt=function(e,t){t||={};var i={};for(var a in e)i[a]=new n(e[a].features,t),i[a].name=a,i[a].version=t.version,i[a].extent=t.extent;return r({layers:i})},_.exports.GeoJSONWrapper=n,_.exports}(),y=e.cH(v);let b={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:e=>e},x=Math.fround||(S=new Float32Array(1),e=>(S[0]=+e,S[0]));var S;class C{constructor(e){this.options=Object.assign(Object.create(b),e),this.trees=Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(e){let{log:t,minZoom:n,maxZoom:r}=this.options;t&&console.time(`total time`);let i=`prepare ${e.length} points`;t&&console.time(i),this.points=e;let a=[];for(let t=0;t<e.length;t++){let n=e[t];if(!n.geometry)continue;let[r,i]=n.geometry.coordinates,o=x(E(r)),s=x(D(i));a.push(o,s,1/0,t,-1,1),this.options.reduce&&a.push(0)}let o=this.trees[r+1]=this._createTree(a);t&&console.timeEnd(i);for(let e=r;e>=n;e--){let n=+Date.now();o=this.trees[e]=this._createTree(this._cluster(o,e)),t&&console.log(`z%d: %d clusters in %dms`,e,o.numItems,+Date.now()-n)}return t&&console.timeEnd(`total time`),this}getClusters(e,t){let n=((e[0]+180)%360+360)%360-180,r=Math.max(-90,Math.min(90,e[1])),i=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)n=-180,i=180;else if(n>i){let e=this.getClusters([n,r,180,a],t),o=this.getClusters([-180,r,i,a],t);return e.concat(o)}let o=this.trees[this._limitZoom(t)],s=o.range(E(n),D(a),E(i),D(r)),c=o.data,l=[];for(let e of s){let t=this.stride*e;l.push(c[t+5]>1?w(c,t,this.clusterProps):this.points[c[t+3]])}return l}getChildren(e){let t=this._getOriginId(e),n=this._getOriginZoom(e),r=`No cluster with the specified id.`,i=this.trees[n];if(!i)throw Error(r);let a=i.data;if(t*this.stride>=a.length)throw Error(r);let o=this.options.radius/(this.options.extent*2**(n-1)),s=i.within(a[t*this.stride],a[t*this.stride+1],o),c=[];for(let t of s){let n=t*this.stride;a[n+4]===e&&c.push(a[n+5]>1?w(a,n,this.clusterProps):this.points[a[n+3]])}if(c.length===0)throw Error(r);return c}
12getLeaves(e,t,n){let r=[];return this._appendLeaves(r,e,t||=10,n||=0,0),r}getTile(e,t,n){let r=this.trees[this._limitZoom(e)],i=2**e,{extent:a,radius:o}=this.options,s=o/a,c=(n-s)/i,l=(n+1+s)/i,u={features:[]};return this._addTileFeatures(r.range((t-s)/i,c,(t+1+s)/i,l),r.data,t,n,i,u),t===0&&this._addTileFeatures(r.range(1-s/i,c,1,l),r.data,i,n,i,u),t===i-1&&this._addTileFeatures(r.range(0,c,s/i,l),r.data,-1,n,i,u),u.features.length?u:null}getClusterExpansionZoom(e){let t=this._getOriginZoom(e)-1;for(;t<=this.options.maxZoom;){let n=this.getChildren(e);if(t++,n.length!==1)break;e=n[0].properties.cluster_id}return t}_appendLeaves(e,t,n,r,i){let a=this.getChildren(t);for(let t of a){let a=t.properties;if(a&&a.cluster?i+a.point_count<=r?i+=a.point_count:i=this._appendLeaves(e,a.cluster_id,n,r,i):i<r?i++:e.push(t),e.length===n)break}return i}_createTree(t){let n=new e.aF(t.length/this.stride|0,this.options.nodeSize,Float32Array);for(let e=0;e<t.length;e+=this.stride)n.add(t[e],t[e+1]);return n.finish(),n.data=t,n}_addTileFeatures(e,t,n,r,i,a){for(let o of e){let e=o*this.stride,s=t[e+5]>1,c,l,u;if(s)c=T(t,e,this.clusterProps),l=t[e],u=t[e+1];else{let n=this.points[t[e+3]];c=n.properties;let[r,i]=n.geometry.coordinates;l=E(r),u=D(i)}let d={type:1,geometry:[[Math.round(this.options.extent*(l*i-n)),Math.round(this.options.extent*(u*i-r))]],tags:c},f;f=s||this.options.generateId?t[e+3]:this.points[t[e+3]].id,f!==void 0&&(d.id=f),a.features.push(d)}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,t){let{radius:n,extent:r,reduce:i,minPoints:a}=this.options,o=n/(r*2**t),s=e.data,c=[],l=this.stride;for(let n=0;n<s.length;n+=l){if(s[n+2]<=t)continue;s[n+2]=t;let r=s[n],u=s[n+1],d=e.within(s[n],s[n+1],o),f=s[n+5],p=f;for(let e of d){let n=e*l;s[n+2]>t&&(p+=s[n+5])}if(p>f&&p>=a){let e,a=r*f,o=u*f,m=-1,h=((n/l|0)<<5)+(t+1)+this.points.length;for(let r of d){let c=r*l;if(s[c+2]<=t)continue;s[c+2]=t;let u=s[c+5];a+=s[c]*u,o+=s[c+1]*u,s[c+4]=h,i&&(e||(e=this._map(s,n,!0),m=this.clusterProps.length,this.clusterProps.push(e)),i(e,this._map(s,c)))}s[n+4]=h,c.push(a/p,o/p,1/0,h,-1,p),i&&c.push(m)}else{for(let e=0;e<l;e++)c.push(s[n+e]);if(p>1)for(let e of d){let n=e*l;if(!(s[n+2]<=t)){s[n+2]=t;for(let e=0;e<l;e++)c.push(s[n+e])}}}}return c}_getOriginId(e){return e-this.points.length>>5}_getOriginZoom(e){return(e-this.points.length)%32}_map(e,t,n){if(e[t+5]>1){let r=this.clusterProps[e[t+6]];return n?Object.assign({},r):r}let r=this.points[e[t+3]].properties,i=this.options.map(r);return n&&i===r?Object.assign({},i):i}}function w(e,t,n){return{type:`Feature`,id:e[t+3],properties:T(e,t,n),geometry:{type:`Point`,coordinates:[(r=e[t],360*(r-.5)),O(e[t+1])]}};var r}function T(e,t,n){let r=e[t+5],i=r>=1e4?`${Math.round(r/1e3)}k`:r>=1e3?Math.round(r/100)/10+`k`:r,a=e[t+6],o=a===-1?{}:Object.assign({},n[a]);return Object.assign(o,{cluster:!0,cluster_id:e[t+3],point_count:r,point_count_abbreviated:i})}function E(e){return e/360+.5}function D(e){let t=Math.sin(e*Math.PI/180),n=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return n<0?0:n>1?1:n}function O(e){let t=(180-360*e)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}function k(e,t,n,r){let i=r,a=t+(n-t>>1),o,s=n-t,c=e[t],l=e[t+1],u=e[n],d=e[n+1];for(let r=t+3;r<n;r+=3){let t=A(e[r],e[r+1],c,l,u,d);if(t>i)o=r,i=t;else if(t===i){let e=Math.abs(r-a);e<s&&(o=r,s=e)}}i>r&&(o-t>3&&k(e,t,o,r),e[o+2]=i,n-o>3&&k(e,o,n,r))}function A(e,t,n,r,i,a){let o=i-n,s=a-r;if(o!==0||s!==0){let c=((e-n)*o+(t-r)*s)/(o*o+s*s);c>1?(n=i,r=a):c>0&&(n+=o*c,r+=s*c)}return o=e-n,s=t-r,o*o+s*s}function ee(e,t,n,r){let i={id:e??null,type:t,geometry:n,tags:r,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if(t===`Point`||t===`MultiPoint`||t===`LineString`)te(i,n);else if(t===`Polygon`)te(i,n[0]);else if(t===`MultiLineString`)for(let e of n)te(i,e);else if(t===`MultiPolygon`)for(let e of n)te(i,e[0]);return i}function te(e,t){for(let n=0;n<t.length;n+=3)e.minX=Math.min(e.minX,t[n]),e.minY=Math.min(e.minY,t[n+1]),e.maxX=Math.max(e.maxX,t[n]),e.maxY=Math.max(e.maxY,t[n+1])}function j(e,t,n,r){if(!t.geometry)return;let i=t.geometry.coordinates;if(i&&i.length===0)return;let a=t.geometry.type,o=(n.tolerance/((1<<n.maxZoom)*n.extent))**2,s=[],c=t.id;if(n.promoteId?c=t.properties[n.promoteId]:n.generateId&&(c=r||0),a===`Point`)ne(i,s);else if(a===`MultiPoint`)for(let e of i)ne(e,s);else if(a===`LineString`)re(i,s,o,!1);else if(a===`MultiLineString`){if(n.lineMetrics){for(let n of i)s=[],re(n,s,o,!1),e.push(ee(c,`LineString`,s,t.properties));return}M(i,s,o,!1)}else if(a===`Polygon`)M(i,s,o,!0);else{if(a!==`MultiPolygon`){if(a===`GeometryCollection`){for(let i of t.geometry.geometries)j(e,{id:c,geometry:i,properties:t.properties},n,r);return}throw Error(`Input data is not a valid GeoJSON object.`)}for(let e of i){let t=[];M(e,t,o,!0),s.push(t)}}e.push(ee(c,a,s,t.properties))}function ne(e,t){t.push(ie(e[0]),ae(e[1]),0)}function re(e,t,n,r){let i,a,o=0;for(let n=0;n<e.length;n++){let s=ie(e[n][0]),c=ae(e[n][1]);t.push(s,c,0),n>0&&(o+=r?(i*c-s*a)/2:Math.sqrt((s-i)**2+(c-a)**2)),i=s,a=c}let s=t.length-3;t[2]=1,k(t,0,s,n),t[s+2]=1,t.size=Math.abs(o),t.start=0,t.end=t.size}function M(e,t,n,r){for(let i=0;i<e.length;i++){let a=[];re(e[i],a,n,r),t.push(a)}}function ie(e){return e/360+.5}function ae(e){let t=Math.sin(e*Math.PI/180),n=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return n<0?0:n>1?1:n}
12function oe(e,t,n,r,i,a,o,s){if(r/=t,a>=(n/=t)&&o<r)return e;if(o<n||a>=r)return null;let c=[];for(let t of e){let e=t.geometry,a=t.type,o=i===0?t.minX:t.minY,l=i===0?t.maxX:t.maxY;if(o>=n&&l<r){c.push(t);continue}if(l<n||o>=r)continue;let u=[];if(a===`Point`||a===`MultiPoint`)se(e,u,n,r,i);else if(a===`LineString`)ce(e,u,n,r,i,!1,s.lineMetrics);else if(a===`MultiLineString`)N(e,u,n,r,i,!1);else if(a===`Polygon`)N(e,u,n,r,i,!0);else if(a===`MultiPolygon`)for(let t of e){let e=[];N(t,e,n,r,i,!0),e.length&&u.push(e)}if(u.length){if(s.lineMetrics&&a===`LineString`){for(let e of u)c.push(ee(t.id,a,e,t.tags));continue}a!==`LineString`&&a!==`MultiLineString`||(u.length===1?(a=`LineString`,u=u[0]):a=`MultiLineString`),a!==`Point`&&a!==`MultiPoint`||(a=u.length===3?`Point`:`MultiPoint`),c.push(ee(t.id,a,u,t.tags))}}return c.length?c:null}function se(e,t,n,r,i){for(let a=0;a<e.length;a+=3){let o=e[a+i];o>=n&&o<=r&&P(t,e[a],e[a+1],e[a+2])}}function ce(e,t,n,r,i,a,o){let s=le(e),c=i===0?ue:F,l,u,d=e.start;for(let f=0;f<e.length-3;f+=3){let p=e[f],m=e[f+1],h=e[f+2],g=e[f+3],_=e[f+4],v=i===0?p:m,y=i===0?g:_,b=!1;o&&(l=Math.sqrt((p-g)**2+(m-_)**2)),v<n?y>n&&(u=c(s,p,m,g,_,n),o&&(s.start=d+l*u)):v>r?y<r&&(u=c(s,p,m,g,_,r),o&&(s.start=d+l*u)):P(s,p,m,h),y<n&&v>=n&&(u=c(s,p,m,g,_,n),b=!0),y>r&&v<=r&&(u=c(s,p,m,g,_,r),b=!0),!a&&b&&(o&&(s.end=d+l*u),t.push(s),s=le(e)),o&&(d+=l)}let f=e.length-3,p=e[f],m=e[f+1],h=i===0?p:m;h>=n&&h<=r&&P(s,p,m,e[f+2]),f=s.length-3,a&&f>=3&&(s[f]!==s[0]||s[f+1]!==s[1])&&P(s,s[0],s[1],s[2]),s.length&&t.push(s)}function le(e){let t=[];return t.size=e.size,t.start=e.start,t.end=e.end,t}function N(e,t,n,r,i,a){for(let o of e)ce(o,t,n,r,i,a,!1)}function P(e,t,n,r){e.push(t,n,r)}function ue(e,t,n,r,i,a){let o=(a-t)/(r-t);return P(e,a,n+(i-n)*o,1),o}function F(e,t,n,r,i,a){let o=(a-n)/(i-n);return P(e,t+(r-t)*o,a,1),o}function de(e,t){let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=i.type,o;if(a===`Point`||a===`MultiPoint`||a===`LineString`)o=fe(i.geometry,t);else if(a===`MultiLineString`||a===`Polygon`){o=[];for(let e of i.geometry)o.push(fe(e,t))}else if(a===`MultiPolygon`){o=[];for(let e of i.geometry){let n=[];for(let r of e)n.push(fe(r,t));o.push(n)}}n.push(ee(i.id,a,o,i.tags))}return n}function fe(e,t){let n=[];n.size=e.size,e.start!==void 0&&(n.start=e.start,n.end=e.end);for(let r=0;r<e.length;r+=3)n.push(e[r]+t,e[r+1],e[r+2]);return n}function I(e,t){if(e.transformed)return e;let n=1<<e.z,r=e.x,i=e.y;for(let a of e.features){let e=a.geometry,o=a.type;if(a.geometry=[],o===1)for(let o=0;o<e.length;o+=2)a.geometry.push(pe(e[o],e[o+1],t,n,r,i));else for(let o=0;o<e.length;o++){let s=[];for(let a=0;a<e[o].length;a+=2)s.push(pe(e[o][a],e[o][a+1],t,n,r,i));a.geometry.push(s)}}return e.transformed=!0,e}function pe(e,t,n,r,i,a){return[Math.round(n*(e*r-i)),Math.round(n*(t*r-a))]}function me(e,t,n,r,i){let a=t===i.maxZoom?0:i.tolerance/((1<<t)*i.extent),o={features:[],numPoints:0,numSimplified:0,numFeatures:e.length,source:null,x:n,y:r,z:t,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0};for(let t of e)he(o,t,a,i);return o}function he(e,t,n,r){let i=t.geometry,a=t.type,o=[];if(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),a===`Point`||a===`MultiPoint`)for(let t=0;t<i.length;t+=3)o.push(i[t],i[t+1]),e.numPoints++,e.numSimplified++;else if(a===`LineString`)ge(o,i,e,n,!1,!1);else if(a===`MultiLineString`||a===`Polygon`)for(let t=0;t<i.length;t++)ge(o,i[t],e,n,a===`Polygon`,t===0);else if(a===`MultiPolygon`)for(let t=0;t<i.length;t++){let r=i[t];for(let t=0;t<r.length;t++)ge(o,r[t],e,n,!0,t===0)}if(o.length){let n=t.tags||null;if(a===`LineString`&&r.lineMetrics){n={};for(let e in t.tags)n[e]=t.tags[e];n.mapbox_clip_start=i.start/i.size,n.mapbox_clip_end=i.end/i.size}let s={geometry:o,type:a===`Polygon`||a===`MultiPolygon`?3:a===`LineString`||a===`MultiLineString`?2:1,tags:n};t.id!==null&&(s.id=t.id),e.features.push(s)}}function ge(e,t,n,r,i,a){let o=r*r;if(r>0&&t.size<(i?o:r))return void(n.numPoints+=t.length/3);let s=[];for(let e=0;e<t.length;e+=3)(r===0||t[e+2]>o)&&(n.numSimplified++,s.push(t[e],t[e+1])),n.numPoints++;i&&function(e,t){let n=0;for(let t=0,r=e.length,i=r-2;t<r;i=t,t+=2)n+=(e[t]-e[i])*(e[t+1]+e[i+1]);if(n>0===t)for(let t=0,n=e.length;t<n/2;t+=2){let r=e[t],i=e[t+1];
12e[t]=e[n-2-t],e[t+1]=e[n-1-t],e[n-2-t]=r,e[n-1-t]=i}}(s,a),e.push(s)}let _e={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0};class ve{constructor(e,t){let n=(t=this.options=function(e,t){for(let n in t)e[n]=t[n];return e}(Object.create(_e),t)).debug;if(n&&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 r=function(e,t){let n=[];if(e.type===`FeatureCollection`)for(let r=0;r<e.features.length;r++)j(n,e.features[r],t,r);else j(n,e.type===`Feature`?e:{geometry:e},t);return n}(e,t);this.tiles={},this.tileCoords=[],n&&(console.timeEnd(`preprocess data`),console.log(`index: maxZoom: %d, maxPoints: %d`,t.indexMaxZoom,t.indexMaxPoints),console.time(`generate tiles`),this.stats={},this.total=0),r=function(e,t){let n=t.buffer/t.extent,r=e,i=oe(e,1,-1-n,n,0,-1,2,t),a=oe(e,1,1-n,2+n,0,-1,2,t);return(i||a)&&(r=oe(e,1,-n,1+n,0,-1,2,t)||[],i&&(r=de(i,1).concat(r)),a&&(r=r.concat(de(a,-1)))),r}(r,t),r.length&&this.splitTile(r,0,0,0),n&&(r.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)))}splitTile(e,t,n,r,i,a,o){let s=[e,t,n,r],c=this.options,l=c.debug;for(;s.length;){r=s.pop(),n=s.pop(),t=s.pop(),e=s.pop();let u=1<<t,d=ye(t,n,r),f=this.tiles[d];if(!f&&(l>1&&console.time(`creation`),f=this.tiles[d]=me(e,t,n,r,c),this.tileCoords.push({z:t,x:n,y:r}),l)){l>1&&(console.log(`tile z%d-%d-%d (features: %d, points: %d, simplified: %d)`,t,n,r,f.numFeatures,f.numPoints,f.numSimplified),console.timeEnd(`creation`));let e=`z${t}`;this.stats[e]=(this.stats[e]||0)+1,this.total++}if(f.source=e,i==null){if(t===c.indexMaxZoom||f.numPoints<=c.indexMaxPoints)continue}else{if(t===c.maxZoom||t===i)continue;if(i!=null){let e=i-t;if(n!==a>>e||r!==o>>e)continue}}if(f.source=null,e.length===0)continue;l>1&&console.time(`clipping`);let p=.5*c.buffer/c.extent,m=.5-p,h=.5+p,g=1+p,_=null,v=null,y=null,b=null,x=oe(e,u,n-p,n+h,0,f.minX,f.maxX,c),S=oe(e,u,n+m,n+g,0,f.minX,f.maxX,c);e=null,x&&=(_=oe(x,u,r-p,r+h,1,f.minY,f.maxY,c),v=oe(x,u,r+m,r+g,1,f.minY,f.maxY,c),null),S&&=(y=oe(S,u,r-p,r+h,1,f.minY,f.maxY,c),b=oe(S,u,r+m,r+g,1,f.minY,f.maxY,c),null),l>1&&console.timeEnd(`clipping`),s.push(_||[],t+1,2*n,2*r),s.push(v||[],t+1,2*n,2*r+1),s.push(y||[],t+1,2*n+1,2*r),s.push(b||[],t+1,2*n+1,2*r+1)}}getTile(e,t,n){e=+e,t=+t,n=+n;let{extent:r,debug:i}=this.options;if(e<0||e>24)return null;let a=1<<e,o=ye(e,t=t+a&a-1,n);if(this.tiles[o])return I(this.tiles[o],r);i>1&&console.log(`drilling down to z%d-%d-%d`,e,t,n);let s,c=e,l=t,u=n;for(;!s&&c>0;)c--,l>>=1,u>>=1,s=this.tiles[ye(c,l,u)];return s&&s.source?(i>1&&(console.log(`found parent tile z%d-%d-%d`,c,l,u),console.time(`drilling down`)),this.splitTile(s.source,c,l,u,e,t,n),i>1&&console.timeEnd(`drilling down`),this.tiles[o]?I(this.tiles[o],r):null):null}}function ye(e,t,n){return 32*((1<<e)*n+t)+e}function be(e,t){return t?e.properties[t]:e.id}function xe(e,t){if(e==null)return!0;if(e.type===`Feature`)return be(e,t)!=null;if(e.type===`FeatureCollection`){let n=new Set;for(let r of e.features){let e=be(r,t);if(e==null||n.has(e))return!1;n.add(e)}return!0}return!1}function Se(e,t){let n=new Map;if(e!=null)if(e.type===`Feature`)n.set(be(e,t),e);else for(let r of e.features)n.set(be(r,t),r);return n}class Ce extends a{constructor(){super(...arguments),this._dataUpdateable=new Map}loadVectorTile(t,n){return e._(this,void 0,void 0,(function*(){let e=t.tileID.canonical;if(!this._geoJSONIndex)throw Error(`Unable to parse the data into a cluster or geojson`);let n=this._geoJSONIndex.getTile(e.z,e.x,e.y);if(!n)return null;let r=new p(n.features),i=y(r);return i.byteOffset===0&&i.byteLength===i.buffer.byteLength||(i=new Uint8Array(i)),{vectorTile:r,rawData:i.buffer}}))}loadData(t){return e._(this,void 0,void 0,(function*(){var n;(n=this._pendingRequest)==null||n.abort();let r=!!(t&&t.request&&t.request.collectResourceTiming)&&new e.cE(t.request);this._pendingRequest=new AbortController;try{this._pendingData=this.loadAndProcessGeoJSON(t,this._pendingRequest),this._geoJSONIndex=t.cluster?new C(function({superclusterOptions:t,clusterProperties:n}){if(!n||!t)return t;let r={},i={},a={accumulated:null,zoom:0},o={properties:null},s=Object.keys(n);for(let t of s){let[a,o]=n[t],s=e.cL(o),c=e.cL(typeof a==`string`?[a,[`accumulated`],[`get`,t]]:a);r[t]=s.value,i[t]=c.value}return t.map=e=>{o.properties=e;let t={};for(let e of s)t[e]=r[e].evaluate(a,o);return t},t.reduce=(e,t)=>{o.properties=t;
12for(let t of s)a.accumulated=e[t],e[t]=i[t].evaluate(a,o)},t}(t)).load((yield this._pendingData).features):(i=yield this._pendingData,new ve(i,t.geojsonVtOptions)),this.loaded={};let n={};if(r){let e=r.finish();e&&(n.resourceTiming={},n.resourceTiming[t.source]=JSON.parse(JSON.stringify(e)))}return n}catch(t){if(delete this._pendingRequest,e.cp(t))return{abandoned:!0};throw t}var i}))}getData(){return e._(this,void 0,void 0,(function*(){return this._pendingData}))}reloadTile(e){let t=this.loaded;return t&&t[e.uid]?super.reloadTile(e):this.loadTile(e)}loadAndProcessGeoJSON(t,n){return e._(this,void 0,void 0,(function*(){let r=yield this.loadGeoJSON(t,n);if(delete this._pendingRequest,typeof r!=`object`)throw Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`);if(u(r,!0),t.filter){let n=e.cL(t.filter,{type:`boolean`,"property-type":`data-driven`,overridable:!1,transition:!1});if(n.result===`error`)throw Error(n.value.map((e=>`${e.key}: ${e.message}`)).join(`, `));r={type:`FeatureCollection`,features:r.features.filter((e=>n.value.evaluate({zoom:0},e)))}}return r}))}loadGeoJSON(t,n){return e._(this,void 0,void 0,(function*(){let{promoteId:r}=t;if(t.request){let i=yield e.j(t.request,n);return this._dataUpdateable=xe(i.data,r)?Se(i.data,r):void 0,i.data}if(typeof t.data==`string`)try{let e=JSON.parse(t.data);return this._dataUpdateable=xe(e,r)?Se(e,r):void 0,e}catch{throw Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`)}if(!t.dataDiff)throw Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw Error(`Cannot update existing geojson data in ${t.source}`);return function(e,t,n){if(t.removeAll&&e.clear(),t.remove)for(let n of t.remove)e.delete(n);if(t.add)for(let r of t.add){let t=be(r,n);t!=null&&e.set(t,r)}if(t.update)for(let n of t.update){let t=e.get(n.id);if(t==null)continue;let r=!n.removeAllProperties&&(n.removeProperties?.length>0||n.addOrUpdateProperties?.length>0);if((n.newGeometry||n.removeAllProperties||r)&&(t=Object.assign({},t),e.set(n.id,t),r&&(t.properties=Object.assign({},t.properties))),n.newGeometry&&(t.geometry=n.newGeometry),n.removeAllProperties)t.properties={};else if(n.removeProperties?.length>0)for(let e of n.removeProperties)Object.prototype.hasOwnProperty.call(t.properties,e)&&delete t.properties[e];if(n.addOrUpdateProperties?.length>0)for(let{key:e,value:r}of n.addOrUpdateProperties)t.properties[e]=r}}(this._dataUpdateable,t.dataDiff,r),{type:`FeatureCollection`,features:Array.from(this._dataUpdateable.values())}}))}removeSource(t){return e._(this,void 0,void 0,(function*(){this._pendingRequest&&this._pendingRequest.abort()}))}getClusterExpansionZoom(e){return this._geoJSONIndex.getClusterExpansionZoom(e.clusterId)}getClusterChildren(e){return this._geoJSONIndex.getChildren(e.clusterId)}getClusterLeaves(e){return this._geoJSONIndex.getLeaves(e.clusterId,e.limit,e.offset)}}class we{constructor(t){this.self=t,this.actor=new e.H(t),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(e,t)=>{if(this.externalWorkerSourceTypes[e])throw Error(`Worker source with name "${e}" already registered.`);this.externalWorkerSourceTypes[e]=t},this.self.addProtocol=e.cr,this.self.removeProtocol=e.cs,this.self.registerRTLTextPlugin=t=>{e.cM.setMethods(t)},this.actor.registerMessageHandler(`LDT`,((e,t)=>this._getDEMWorkerSource(e,t.source).loadTile(t))),this.actor.registerMessageHandler(`RDT`,((t,n)=>e._(this,void 0,void 0,(function*(){this._getDEMWorkerSource(t,n.source).removeTile(n)})))),this.actor.registerMessageHandler(`GCEZ`,((t,n)=>e._(this,void 0,void 0,(function*(){return this._getWorkerSource(t,n.type,n.source).getClusterExpansionZoom(n)})))),this.actor.registerMessageHandler(`GCC`,((t,n)=>e._(this,void 0,void 0,(function*(){return this._getWorkerSource(t,n.type,n.source).getClusterChildren(n)})))),this.actor.registerMessageHandler(`GCL`,((t,n)=>e._(this,void 0,void 0,(function*(){return this._getWorkerSource(t,n.type,n.source).getClusterLeaves(n)})))),this.actor.registerMessageHandler(`LD`,((e,t)=>
12this._getWorkerSource(e,t.type,t.source).loadData(t))),this.actor.registerMessageHandler(`GD`,((e,t)=>this._getWorkerSource(e,t.type,t.source).getData())),this.actor.registerMessageHandler(`LT`,((e,t)=>this._getWorkerSource(e,t.type,t.source).loadTile(t))),this.actor.registerMessageHandler(`RT`,((e,t)=>this._getWorkerSource(e,t.type,t.source).reloadTile(t))),this.actor.registerMessageHandler(`AT`,((e,t)=>this._getWorkerSource(e,t.type,t.source).abortTile(t))),this.actor.registerMessageHandler(`RMT`,((e,t)=>this._getWorkerSource(e,t.type,t.source).removeTile(t))),this.actor.registerMessageHandler(`RS`,((t,n)=>e._(this,void 0,void 0,(function*(){if(!this.workerSources[t]||!this.workerSources[t][n.type]||!this.workerSources[t][n.type][n.source])return;let e=this.workerSources[t][n.type][n.source];delete this.workerSources[t][n.type][n.source],e.removeSource!==void 0&&e.removeSource(n)})))),this.actor.registerMessageHandler(`RM`,(t=>e._(this,void 0,void 0,(function*(){delete this.layerIndexes[t],delete this.availableImages[t],delete this.workerSources[t],delete this.demWorkerSources[t]})))),this.actor.registerMessageHandler(`SR`,((t,n)=>e._(this,void 0,void 0,(function*(){this.referrer=n})))),this.actor.registerMessageHandler(`SRPS`,((e,t)=>this._syncRTLPluginState(e,t))),this.actor.registerMessageHandler(`IS`,((t,n)=>e._(this,void 0,void 0,(function*(){this.self.importScripts(n)})))),this.actor.registerMessageHandler(`SI`,((e,t)=>this._setImages(e,t))),this.actor.registerMessageHandler(`UL`,((t,n)=>e._(this,void 0,void 0,(function*(){this._getLayerIndex(t).update(n.layers,n.removedIds)})))),this.actor.registerMessageHandler(`SL`,((t,n)=>e._(this,void 0,void 0,(function*(){this._getLayerIndex(t).replace(n)}))))}_setImages(t,n){return e._(this,void 0,void 0,(function*(){this.availableImages[t]=n;for(let e in this.workerSources[t]){let r=this.workerSources[t][e];for(let e in r)r[e].availableImages=n}}))}_syncRTLPluginState(t,n){return e._(this,void 0,void 0,(function*(){return yield e.cM.syncState(n,this.self.importScripts)}))}_getAvailableImages(e){let t=this.availableImages[e];return t||=[],t}_getLayerIndex(e){let n=this.layerIndexes[e];return n||=this.layerIndexes[e]=new t,n}_getWorkerSource(e,t,n){if(this.workerSources[e]||(this.workerSources[e]={}),this.workerSources[e][t]||(this.workerSources[e][t]={}),!this.workerSources[e][t][n]){let r={sendAsync:(t,n)=>(t.targetMapId=e,this.actor.sendAsync(t,n))};switch(t){case`vector`:this.workerSources[e][t][n]=new a(r,this._getLayerIndex(e),this._getAvailableImages(e));break;case`geojson`:this.workerSources[e][t][n]=new Ce(r,this._getLayerIndex(e),this._getAvailableImages(e));break;default:this.workerSources[e][t][n]=new this.externalWorkerSourceTypes[t](r,this._getLayerIndex(e),this._getAvailableImages(e))}}return this.workerSources[e][t][n]}_getDEMWorkerSource(e,t){return this.demWorkerSources[e]||(this.demWorkerSources[e]={}),this.demWorkerSources[e][t]||(this.demWorkerSources[e][t]=new o),this.demWorkerSources[e][t]}}return e.i(self)&&(self.worker=new we(self)),we})),n(`index`,[`exports`,`./shared`],(function(e,t){var n=`5.5.0`;function r(){var e=new t.A(4);return t.A!=Float32Array&&(e[1]=0,e[2]=0),e[0]=1,e[3]=1,e}let i,a,o={now:typeof performance<`u`&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frame(e,n,r){let i=requestAnimationFrame((e=>{a(),n(e)})),{unsubscribe:a}=t.s(e.signal,`abort`,(()=>{a(),cancelAnimationFrame(i),r(t.c())}),!1)},frameAsync(e){return new Promise(((t,n)=>{this.frame(e,t,n)}))},getImageData(e,t=0){return this.getImageCanvasContext(e).getImageData(-t,-t,e.width+2*t,e.height+2*t)},getImageCanvasContext(e){let t=window.document.createElement(`canvas`),n=t.getContext(`2d`,{willReadFrequently:!0});if(!n)throw Error(`failed to create canvas 2d context`);return t.width=e.width,t.height=e.height,n.drawImage(e,0,0,e.width,e.height),n},resolveURL:e=>(i||=document.createElement(`a`),i.href=e,i.href),hardwareConcurrency:typeof navigator<`u`&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(a??=matchMedia(`(prefers-reduced-motion: reduce)`),a.matches)}};class s{static testProp(e){if(!s.docStyle)return e[0];for(let t=0;t<e.length;t++)if(e[t]in s.docStyle)return e[t];return e[0]}static create(e,t,n){let r=window.document.createElement(e);return t!==void 0&&(r.className=t),n&&n.appendChild(r),r}static createNS(e,t){return window.document.createElementNS(e,t)}static disableDrag(){s.docStyle&&s.selectProp&&(s.userSelect=s.docStyle[s.selectProp],s.docStyle[s.selectProp]=`none`)}static enableDrag(){s.docStyle&&s.selectProp&&(s.docStyle[s.selectProp]=s.userSelect)}static setTransform(e,t){e.style[s.transformProp]=t}static addEventListener(e,t,n,r={}){e.addEventListener(t,n,`passive`in r?r:r.capture)}static removeEventListener(e,t,n,r={}){e.removeEventListener(t,n,`passive`in r?r:r.capture)}static suppressClickInternal(e){e.preventDefault(),e.stopPropagation(),window.removeEventListener(`click`,s.suppressClickInternal,!0)}static suppressClick(){window.addEventListener(`click`,s.suppressClickInternal,!0),window.setTimeout((()=>{window.removeEventListener(`click`,s.suppressClickInternal,!0)}),0)}static getScale(e){let t=e.getBoundingClientRect();return{x:t.width/e.offsetWidth||1,y:t.height/e.offsetHeight||1,boundingClientRect:t}}static getPoint(e,n,r){let i=n.boundingClientRect;return new t.P((r.clientX-i.left)/n.x-e.clientLeft,(r.clientY-i.top)/n.y-e.clientTop)}static mousePos(e,t){let n=s.getScale(e);return s.getPoint(e,n,t)}static touchPos(e,t){let n=[],r=s.getScale(e);for(let i=0;i<t.length;i++)n.push(s.getPoint(e,r,t[i]));return n}static mouseButton(e){return e.button}static remove(e){e.parentNode&&e.parentNode.removeChild(e)}static sanitize(e){let t=new DOMParser().parseFromString(e,`text/html`).body||document.createElement(`body`),n=t.querySelectorAll(`script`);for(let e of n)e.remove();return s.clean(t),t.innerHTML}static isPossiblyDangerous(e,t){let n=t.replace(/\s+/g,``).toLowerCase();return!(![`src`,`href`,`xlink:href`].includes(e)||!n.includes(`javascript:`)&&!n.includes(`data:`))||!!e.startsWith(`on`)||void 0}static clean(e){let t=e.children;for(let e of t)s.removeAttributes(e),s.clean(e)}static removeAttributes(e){for(let{name:t,value:n}of e.attributes)s.isPossiblyDangerous(t,n)&&e.removeAttribute(t)}}s.docStyle=typeof window<`u`&&window.document&&window.document.documentElement.style,s.selectProp=s.testProp([`userSelect`,`MozUserSelect`,`WebkitUserSelect`,`msUserSelect`]),s.transformProp=s.testProp([`transform`,`WebkitTransform`]);let c={supported:!1,testSupport:function(e){!d&&u&&(f?p(e):l=e)}},l,u,d=!1,f=!1;function p(e){let t=e.createTexture();e.bindTexture(e.TEXTURE_2D,t);try{if(e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,u),e.isContextLost())return;c.supported=!0}
12catch{}e.deleteTexture(t),d=!0}var m;typeof document<`u`&&(u=document.createElement(`img`),u.onload=()=>{l&&p(l),l=null,f=!0},u.onerror=()=>{d=!0,l=null},u.src=`data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=`),function(e){let n,r,i,a;e.resetRequestQueue=()=>{n=[],r=0,i=0,a={}},e.addThrottleControl=e=>{let t=i++;return a[t]=e,t},e.removeThrottleControl=e=>{delete a[e],s()},e.getImage=(e,r,i=!0)=>new Promise(((a,o)=>{c.supported&&(e.headers||={},e.headers.accept=`image/webp,*/*`),t.e(e,{type:`image`}),n.push({abortController:r,requestParameters:e,supportImageRefresh:i,state:`queued`,onError:e=>{o(e)},onSuccess:e=>{a(e)}}),s()}));let o=e=>t._(this,void 0,void 0,(function*(){e.state=`running`;let{requestParameters:n,supportImageRefresh:i,onError:a,onSuccess:o,abortController:c}=e,u=!1===i&&!t.i(self)&&!t.g(n.url)&&(!n.headers||Object.keys(n.headers).reduce(((e,t)=>e&&t===`accept`),!0));r++;let d=u?l(n,c):t.m(n,c);try{let n=yield d;delete e.abortController,e.state=`completed`,n.data instanceof HTMLImageElement||t.b(n.data)?o(n):n.data&&o({data:yield(f=n.data,typeof createImageBitmap==`function`?t.f(f):t.h(f)),cacheControl:n.cacheControl,expires:n.expires})}catch(t){delete e.abortController,a(t)}finally{r--,s()}var f})),s=()=>{let e=(()=>{for(let e of Object.keys(a))if(a[e]())return!0;return!1})()?t.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:t.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let t=r;t<e&&n.length>0;t++){let e=n.shift();e.abortController.signal.aborted?t--:o(e)}},l=(e,n)=>new Promise(((r,i)=>{let a=new Image,o=e.url,s=e.credentials;s&&s===`include`?a.crossOrigin=`use-credentials`:(s&&s===`same-origin`||!t.d(o))&&(a.crossOrigin=`anonymous`),n.signal.addEventListener(`abort`,(()=>{a.src=``,i(t.c())})),a.fetchPriority=`high`,a.onload=()=>{a.onerror=a.onload=null,r({data:a})},a.onerror=()=>{a.onerror=a.onload=null,n.signal.aborted||i(Error(`Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`))},a.src=o}))}(m||={}),m.resetRequestQueue();class h{constructor(e){this._transformRequestFn=e}transformRequest(e,t){return this._transformRequestFn&&this._transformRequestFn(e,t)||{url:e}}setTransformRequest(e){this._transformRequestFn=e}}function g(e){let t=[];if(typeof e==`string`)t.push({id:`default`,url:e});else if(e&&e.length>0){let n=[];for(let{id:r,url:i}of e){let e=`${r}${i}`;n.indexOf(e)===-1&&(n.push(e),t.push({id:r,url:i}))}}return t}function _(e,t,n){try{let r=new URL(e);return r.pathname+=`${t}${n}`,r.toString()}catch{throw Error(`Invalid sprite URL "${e}", must be absolute. Modify style specification directly or use TransformStyleFunction to correct the issue dynamically`)}}class v{constructor(e,t,n,r){this.context=e,this.format=n,this.texture=e.gl.createTexture(),this.update(t,r)}update(e,n,r){let{width:i,height:a}=e,o=!(this.size&&this.size[0]===i&&this.size[1]===a||r),{context:s}=this,{gl:c}=s;if(this.useMipmap=!!(n&&n.useMipmap),c.bindTexture(c.TEXTURE_2D,this.texture),s.pixelStoreUnpackFlipY.set(!1),s.pixelStoreUnpack.set(1),s.pixelStoreUnpackPremultiplyAlpha.set(this.format===c.RGBA&&(!n||!1!==n.premultiply)),o)this.size=[i,a],e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof ImageData||t.b(e)?c.texImage2D(c.TEXTURE_2D,0,this.format,this.format,c.UNSIGNED_BYTE,e):c.texImage2D(c.TEXTURE_2D,0,this.format,i,a,0,this.format,c.UNSIGNED_BYTE,e.data);else{let{x:n,y:o}=r||{x:0,y:0};e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof ImageData||t.b(e)?c.texSubImage2D(c.TEXTURE_2D,0,n,o,c.RGBA,c.UNSIGNED_BYTE,e):c.texSubImage2D(c.TEXTURE_2D,0,n,o,i,a,c.RGBA,c.UNSIGNED_BYTE,e.data)}this.useMipmap&&this.isSizePowerOfTwo()&&c.generateMipmap(c.TEXTURE_2D),s.pixelStoreUnpackFlipY.setDefault(),s.pixelStoreUnpack.setDefault(),s.pixelStoreUnpackPremultiplyAlpha.setDefault()}bind(e,t,n){let{context:r}=this,{gl:i}=r;i.bindTexture(i.TEXTURE_2D,this.texture),n!==i.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(n=i.LINEAR),e!==this.filter&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,e),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,n||e),this.filter=e),t!==this.wrap&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,t),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,t),this.wrap=t)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){let{gl:e}=this.context;e.deleteTexture(this.texture),this.texture=null}}function y(e){let{userImage:t}=e;return!!(t&&t.render&&t.render())&&(e.data.replace(new Uint8Array(t.data.buffer)),!0)}class b extends t.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(e){if(this.loaded!==e&&(this.loaded=e,e)){for(let{ids:e,promiseResolve:t}of this.requestors)t(this._getImagesForIds(e));this.requestors=[]}}getImage(e){let n=this.images[e];if(n&&!n.data&&n.spriteData){let e=n.spriteData;n.data=new t.R({width:e.width,height:e.height},e.context.getImageData(e.x,e.y,e.width,e.height).data),n.spriteData=null}return n}addImage(e,t){if(this.images[e])throw Error(`Image id ${e} already exist, use updateImage instead`);
12this._validate(e,t)&&(this.images[e]=t)}_validate(e,n){let r=!0,i=n.data||n.spriteData;return this._validateStretch(n.stretchX,i&&i.width)||(this.fire(new t.k(Error(`Image "${e}" has invalid "stretchX" value`))),r=!1),this._validateStretch(n.stretchY,i&&i.height)||(this.fire(new t.k(Error(`Image "${e}" has invalid "stretchY" value`))),r=!1),this._validateContent(n.content,n)||(this.fire(new t.k(Error(`Image "${e}" has invalid "content" value`))),r=!1),r}_validateStretch(e,t){if(!e)return!0;let n=0;for(let r of e){if(r[0]<n||r[1]<r[0]||t<r[1])return!1;n=r[1]}return!0}_validateContent(e,t){if(!e)return!0;if(e.length!==4)return!1;let n=t.spriteData,r=n&&n.width||t.data.width,i=n&&n.height||t.data.height;return!(e[0]<0||r<e[0]||e[1]<0||i<e[1]||e[2]<0||r<e[2]||e[3]<0||i<e[3]||e[2]<e[0]||e[3]<e[1])}updateImage(e,t,n=!0){let r=this.getImage(e);if(n&&(r.data.width!==t.data.width||r.data.height!==t.data.height))throw Error(`size mismatch between old image (${r.data.width}x${r.data.height}) and new image (${t.data.width}x${t.data.height}).`);t.version=r.version+1,this.images[e]=t,this.updatedImages[e]=!0}removeImage(e){let t=this.images[e];delete this.images[e],delete this.patterns[e],t.userImage&&t.userImage.onRemove&&t.userImage.onRemove()}listImages(){return Object.keys(this.images)}getImages(e){return new Promise(((t,n)=>{let r=!0;if(!this.isLoaded())for(let t of e)this.images[t]||(r=!1);this.isLoaded()||r?t(this._getImagesForIds(e)):this.requestors.push({ids:e,promiseResolve:t})}))}_getImagesForIds(e){let n={};for(let r of e){let e=this.getImage(r);e||=(this.fire(new t.l(`styleimagemissing`,{id:r})),this.getImage(r)),e?n[r]={data:e.data.clone(),pixelRatio:e.pixelRatio,sdf:e.sdf,version:e.version,stretchX:e.stretchX,stretchY:e.stretchY,content:e.content,textFitWidth:e.textFitWidth,textFitHeight:e.textFitHeight,hasRenderCallback:!!(e.userImage&&e.userImage.render)}:t.w(`Image "${r}" could not be loaded. Please make sure you have added the image with map.addImage() or a "sprite" property in your style. You can provide missing images by listening for the "styleimagemissing" map event.`)}return n}getPixelSize(){let{width:e,height:t}=this.atlasImage;return{width:e,height:t}}getPattern(e){let n=this.patterns[e],r=this.getImage(e);if(!r)return null;if(n&&n.position.version===r.version)return n.position;if(n)n.position.version=r.version;else{let n={w:r.data.width+2,h:r.data.height+2,x:0,y:0},i=new t.I(n,r);this.patterns[e]={bin:n,position:i}}return this._updatePatternAtlas(),this.patterns[e].position}bind(e){let t=e.gl;this.atlasTexture?this.dirty&&=(this.atlasTexture.update(this.atlasImage),!1):this.atlasTexture=new v(e,this.atlasImage,t.RGBA),this.atlasTexture.bind(t.LINEAR,t.CLAMP_TO_EDGE)}_updatePatternAtlas(){let e=[];for(let t in this.patterns)e.push(this.patterns[t].bin);let{w:n,h:r}=t.p(e),i=this.atlasImage;i.resize({width:n||1,height:r||1});for(let e in this.patterns){let{bin:n}=this.patterns[e],r=n.x+1,a=n.y+1,o=this.getImage(e).data,s=o.width,c=o.height;t.R.copy(o,i,{x:0,y:0},{x:r,y:a},{width:s,height:c}),t.R.copy(o,i,{x:0,y:c-1},{x:r,y:a-1},{width:s,height:1}),t.R.copy(o,i,{x:0,y:0},{x:r,y:a+c},{width:s,height:1}),t.R.copy(o,i,{x:s-1,y:0},{x:r-1,y:a},{width:1,height:c}),t.R.copy(o,i,{x:0,y:0},{x:r+s,y:a},{width:1,height:c})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(e){for(let n of e){if(this.callbackDispatchedThisFrame[n])continue;this.callbackDispatchedThisFrame[n]=!0;let e=this.getImage(n);e||t.w(`Image with ID: "${n}" was not found`),y(e)&&this.updateImage(n,e)}}}let x=0x56bc75e2d63100000;function S(e,t,n,r,i,a,o,s,c){for(let l=t;l<t+r;l++)C(e,n*a+l,a,i,o,s,c);for(let l=n;l<n+i;l++)C(e,l*a+t,1,r,o,s,c)}function C(e,t,n,r,i,a,o){a[0]=0,o[0]=-0x56bc75e2d63100000,o[1]=x,i[0]=e[t];for(let s=1,c=0,l=0;s<r;s++){i[s]=e[t+s*n];let r=s*s;do{let e=a[c];l=(i[s]-i[e]+r-e*e)/(s-e)/2}while(l<=o[c]&&--c>-1);c++,a[c]=s,o[c]=l,o[c+1]=x}for(let s=0,c=0;s<r;s++){for(;o[c+1]<s;)c++;let r=a[c],l=s-r;e[t+s*n]=i[r]+l*l}}class w{constructor(e,t){this.requestManager=e,this.localIdeographFontFamily=t,this.entries={}}setURL(e){this.url=e}getGlyphs(e){return t._(this,void 0,void 0,(function*(){let t=[];for(let n in e)for(let r of e[n])t.push(this._getAndCacheGlyphsPromise(n,r));let n=yield Promise.all(t),r={};for(let{stack:e,id:t,glyph:i}of n)r[e]||(r[e]={}),r[e][t]=i&&{id:i.id,bitmap:i.bitmap.clone(),metrics:i.metrics};return r}))}_getAndCacheGlyphsPromise(e,n){return t._(this,void 0,void 0,(function*(){let t=this.entries[e];t||=this.entries[e]={glyphs:{},requests:{},ranges:{}};let r=t.glyphs[n];if(r!==void 0)return{stack:e,id:n,glyph:r};if(r=this._tinySDF(t,e,n),r)return t.glyphs[n]=r,{stack:e,id:n,glyph:r};let i=Math.floor(n/256);if(256*i>65535)throw Error(`glyphs > 65535 not supported`);if(t.ranges[i])return{stack:e,id:n,glyph:r};if(!this.url)throw Error(`glyphsUrl is not set`);if(!t.requests[i]){let n=w.loadGlyphRange(e,i,this.url,this.requestManager);t.requests[i]=n}let a=yield t.requests[i];for(let e in a)this._doesCharSupportLocalGlyph(+e)||(t.glyphs[+e]=a[+e]);return t.ranges[i]=!0,{stack:e,id:n,glyph:a[n]||null}}))}_doesCharSupportLocalGlyph(e){return!!this.localIdeographFontFamily&&
12(/\p{Ideo}|\p{sc=Hang}|\p{sc=Hira}|\p{sc=Kana}/u.test(String.fromCodePoint(e))||t.u[`CJK Unified Ideographs`](e)||t.u[`Hangul Syllables`](e)||t.u.Hiragana(e)||t.u.Katakana(e)||t.u[`CJK Symbols and Punctuation`](e)||t.u[`Halfwidth and Fullwidth Forms`](e))}_tinySDF(e,n,r){let i=this.localIdeographFontFamily;if(!i||!this._doesCharSupportLocalGlyph(r))return;let a=e.tinySDF;if(!a){let t=`400`;/bold/i.test(n)?t=`900`:/medium/i.test(n)?t=`500`:/light/i.test(n)&&(t=`200`),a=e.tinySDF=new w.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:i,fontWeight:t})}let o=a.draw(String.fromCharCode(r));return{id:r,bitmap:new t.q({width:o.width||60,height:o.height||60},o.data),metrics:{width:o.glyphWidth/2||24,height:o.glyphHeight/2||24,left:o.glyphLeft/2+.5||0,top:o.glyphTop/2-27.5||-8,advance:o.glyphAdvance/2||24,isDoubleResolution:!0}}}}w.loadGlyphRange=function(e,n,r,i){return t._(this,void 0,void 0,(function*(){let a=256*n,o=a+255,s=i.transformRequest(r.replace(`{fontstack}`,e).replace(`{range}`,`${a}-${o}`),`Glyphs`),c=yield t.n(s,new AbortController);if(!c||!c.data)throw Error(`Could not load glyph range. range: ${n}, ${a}-${o}`);let l={};for(let e of t.o(c.data))l[e.id]=e;return l}))},w.TinySDF=class{constructor({fontSize:e=24,buffer:t=3,radius:n=8,cutoff:r=.25,fontFamily:i=`sans-serif`,fontWeight:a=`normal`,fontStyle:o=`normal`}={}){this.buffer=t,this.cutoff=r,this.radius=n;let s=this.size=e+4*t,c=this._createCanvas(s),l=this.ctx=c.getContext(`2d`,{willReadFrequently:!0});l.font=`${o} ${a} ${e}px ${i}`,l.textBaseline=`alphabetic`,l.textAlign=`left`,l.fillStyle=`black`,this.gridOuter=new Float64Array(s*s),this.gridInner=new Float64Array(s*s),this.f=new Float64Array(s),this.z=new Float64Array(s+1),this.v=new Uint16Array(s)}_createCanvas(e){let t=document.createElement(`canvas`);return t.width=t.height=e,t}draw(e){let{width:t,actualBoundingBoxAscent:n,actualBoundingBoxDescent:r,actualBoundingBoxLeft:i,actualBoundingBoxRight:a}=this.ctx.measureText(e),o=Math.ceil(n),s=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(a-i))),c=Math.min(this.size-this.buffer,o+Math.ceil(r)),l=s+2*this.buffer,u=c+2*this.buffer,d=Math.max(l*u,0),f=new Uint8ClampedArray(d),p={data:f,width:l,height:u,glyphWidth:s,glyphHeight:c,glyphTop:o,glyphLeft:0,glyphAdvance:t};if(s===0||c===0)return p;let{ctx:m,buffer:h,gridInner:g,gridOuter:_}=this;m.clearRect(h,h,s,c),m.fillText(e,h,h+o);let v=m.getImageData(h,h,s,c);_.fill(x,0,d),g.fill(0,0,d);for(let e=0;e<c;e++)for(let t=0;t<s;t++){let n=v.data[4*(e*s+t)+3]/255;if(n===0)continue;let r=(e+h)*l+t+h;if(n===1)_[r]=0,g[r]=x;else{let e=.5-n;_[r]=e>0?e*e:0,g[r]=e<0?e*e:0}}S(_,0,0,l,u,l,this.f,this.v,this.z),S(g,h,h,s,c,l,this.f,this.v,this.z);for(let e=0;e<d;e++){let t=Math.sqrt(_[e])-Math.sqrt(g[e]);f[e]=Math.round(255-255*(t/this.radius+this.cutoff))}return p}};class T{constructor(){this.specification=t.v.light.position}possiblyEvaluate(e,n){return t.z(e.expression.evaluate(n))}interpolate(e,n,r){return{x:t.B.number(e.x,n.x,r),y:t.B.number(e.y,n.y,r),z:t.B.number(e.z,n.z,r)}}}let E;class D extends t.E{constructor(e){super(),E||=new t.r({anchor:new t.D(t.v.light.anchor),position:new T,color:new t.D(t.v.light.color),intensity:new t.D(t.v.light.intensity)}),this._transitionable=new t.T(E),this.setLight(e),this._transitioning=this._transitionable.untransitioned()}getLight(){return this._transitionable.serialize()}setLight(e,n={}){if(!this._validate(t.t,e,n))for(let t in e){let n=e[t];t.endsWith(`-transition`)?this._transitionable.setTransition(t.slice(0,-11),n):this._transitionable.setValue(t,n)}}updateTransitions(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(e){this.properties=this._transitioning.possiblyEvaluate(e)}_validate(e,n,r){return(!r||!1!==r.validate)&&t.x(this,e.call(t.y,{value:n,style:{glyphs:!0,sprite:!0},styleSpec:t.v}))}}let O=new t.r({"sky-color":new t.D(t.v.sky[`sky-color`]),"horizon-color":new t.D(t.v.sky[`horizon-color`]),"fog-color":new t.D(t.v.sky[`fog-color`]),"fog-ground-blend":new t.D(t.v.sky[`fog-ground-blend`]),"horizon-fog-blend":ne
12w t.D(t.v.sky[`horizon-fog-blend`]),"sky-horizon-blend":new t.D(t.v.sky[`sky-horizon-blend`]),"atmosphere-blend":new t.D(t.v.sky[`atmosphere-blend`])});class k extends t.E{constructor(e){super(),this._transitionable=new t.T(O),this.setSky(e),this._transitioning=this._transitionable.untransitioned(),this.recalculate(new t.C(0))}setSky(e,n={}){if(!this._validate(t.F,e,n)){e||={"sky-color":`transparent`,"horizon-color":`transparent`,"fog-color":`transparent`,"fog-ground-blend":1,"atmosphere-blend":0};for(let t in e){let n=e[t];t.endsWith(`-transition`)?this._transitionable.setTransition(t.slice(0,-11),n):this._transitionable.setValue(t,n)}}}getSky(){return this._transitionable.serialize()}updateTransitions(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(e){this.properties=this._transitioning.possiblyEvaluate(e)}_validate(e,n,r={}){return!1!==r?.validate&&t.x(this,e.call(t.y,t.e({value:n,style:{glyphs:!0,sprite:!0},styleSpec:t.v})))}calculateFogBlendOpacity(e){return e<60?0:e<70?(e-60)/10:1}}class A{constructor(e,t){this.width=e,this.height=t,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}}getDash(e,t){let n=e.join(`,`)+String(t);return this.dashEntry[n]||(this.dashEntry[n]=this.addDash(e,t)),this.dashEntry[n]}getDashRanges(e,t,n){let r=[],i=e.length%2==1?-e[e.length-1]*n:0,a=e[0]*n,o=!0;r.push({left:i,right:a,isDash:o,zeroLength:e[0]===0});let s=e[0];for(let t=1;t<e.length;t++){o=!o;let c=e[t];i=s*n,s+=c,a=s*n,r.push({left:i,right:a,isDash:o,zeroLength:c===0})}return r}addRoundDash(e,t,n){let r=t/2;for(let t=-n;t<=n;t++){let i=this.width*(this.nextRow+n+t),a=0,o=e[a];for(let s=0;s<this.width;s++){s/o.right>1&&(o=e[++a]);let c=Math.abs(s-o.left),l=Math.abs(s-o.right),u=Math.min(c,l),d,f=t/n*(r+1);if(o.isDash){let e=r-Math.abs(f);d=Math.sqrt(u*u+e*e)}else d=r-Math.sqrt(u*u+f*f);this.data[i+s]=Math.max(0,Math.min(255,d+128))}}}addRegularDash(e){for(let t=e.length-1;t>=0;--t){let n=e[t],r=e[t+1];n.zeroLength?e.splice(t,1):r&&r.isDash===n.isDash&&(r.left=n.left,e.splice(t,1))}let t=e[0],n=e[e.length-1];t.isDash===n.isDash&&(t.left=n.left-this.width,n.right=t.right+this.width);let r=this.width*this.nextRow,i=0,a=e[i];for(let t=0;t<this.width;t++){t/a.right>1&&(a=e[++i]);let n=Math.abs(t-a.left),o=Math.abs(t-a.right),s=Math.min(n,o);this.data[r+t]=Math.max(0,Math.min(255,(a.isDash?s:-s)+128))}}addDash(e,n){let r=n?7:0,i=2*r+1;if(this.nextRow+i>this.height)return t.w(`LineAtlas out of space`),null;let a=0;for(let t=0;t<e.length;t++)a+=e[t];if(a!==0){let t=this.width/a,i=this.getDashRanges(e,this.width,t);n?this.addRoundDash(i,t,r):this.addRegularDash(i)}let o={y:(this.nextRow+r+.5)/this.height,height:2*r/this.height,width:a};return this.nextRow+=i,this.dirty=!0,o}bind(e){let t=e.gl;this.texture?(t.bindTexture(t.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width,this.height,t.ALPHA,t.UNSIGNED_BYTE,this.data))):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,t.ALPHA,this.width,this.height,0,t.ALPHA,t.UNSIGNED_BYTE,this.data))}}let ee=`maplibre_preloaded_worker_pool`;class te{constructor(){this.active={}}acquire(e){if(!this.workers)for(this.workers=[];this.workers.length<te.workerCount;)this.workers.push(new Worker(t.a.WORKER_URL));return this.active[e]=!0,this.workers.slice()}release(e){delete this.active[e],this.numActive()===0&&(this.workers.forEach((e=>{e.terminate()})),this.workers=null)}isPreloaded(){return!!this.active[ee]}numActive(){return Object.keys(this.active).length}}let j=Math.floor(o.hardwareConcurrency/2),ne,re;function M(){return ne||=new te,ne}te.workerCount=t.G(globalThis)?Math.max(Math.min(j,3),1):1;class ie{constructor(e,n){this.workerPool=e,this.actors=[],this.currentActor=0,this.id=n;let r=this.workerPool.acquire(n);for(let e=0;e<r.length;e++){let i=new t.H(r[e],n);i.name=`Worker ${e}`,this.actors.push(i)}if(!this.actors.length)throw Error(`No actors found`)}broadcast(e,t){let n=[];for(let r of this.actors)n.push(r.sendAsync({type:e,data:t}));return Promise.all(n)}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}
12remove(e=!0){this.actors.forEach((e=>{e.remove()})),this.actors=[],e&&this.workerPool.release(this.id)}registerMessageHandler(e,t){for(let n of this.actors)n.registerMessageHandler(e,t)}}function ae(){return re||(re=new ie(M(),t.J),re.registerMessageHandler(`GR`,((e,n,r)=>t.m(n,r)))),re}function oe(e,n){let r=t.K();return t.L(r,r,[1,1,0]),t.M(r,r,[.5*e.width,.5*e.height,1]),e.calculatePosMatrix?t.N(r,r,e.calculatePosMatrix(n.toUnwrapped())):r}function se(e,t,n,r,i,a,o){let s=function(e,t,n){if(e)for(let r of e){let e=t[r];if(e&&e.source===n&&e.type===`fill-extrusion`)return!0}else for(let e in t){let r=t[e];if(r.source===n&&r.type===`fill-extrusion`)return!0}return!1}(i?.layers??null,t,e.id),c=a.maxPitchScaleFactor(),l=e.tilesIn(r,c,s);l.sort(ce);let u=[];for(let r of l)u.push({wrappedTileID:r.tileID.wrapped().key,queryResults:r.tile.queryRenderedFeatures(t,n,e._state,r.queryGeometry,r.cameraQueryGeometry,r.scale,i,a,c,oe(e.transform,r.tileID),o?(e,t)=>o(r.tileID,e,t):void 0)});return function(e,t){for(let n in e)for(let r of e[n])le(r,t);return e}(function(e){let t={},n={};for(let r of e){let e=r.queryResults,i=r.wrappedTileID,a=n[i]=n[i]||{};for(let n in e){let r=e[n],i=a[n]=a[n]||{},o=t[n]=t[n]||[];for(let e of r)i[e.featureIndex]||(i[e.featureIndex]=!0,o.push(e))}}return t}(u),e)}function ce(e,t){let n=e.tileID,r=t.tileID;return n.overscaledZ-r.overscaledZ||n.canonical.y-r.canonical.y||n.wrap-r.wrap||n.canonical.x-r.canonical.x}function le(e,t){let n=e.feature,r=t.getFeatureState(n.layer[`source-layer`],n.id);n.source=n.layer.source,n.layer[`source-layer`]&&(n.sourceLayer=n.layer[`source-layer`]),n.state=r}function N(e,n,r){return t._(this,void 0,void 0,(function*(){let i=e;if(e.url?i=(yield t.j(n.transformRequest(e.url,`Source`),r)).data:yield o.frameAsync(r),!i)return null;let a=t.O(t.e(i,e),[`tiles`,`minzoom`,`maxzoom`,`attribution`,`bounds`,`scheme`,`tileSize`,`encoding`]);return`vector_layers`in i&&i.vector_layers&&(a.vectorLayerIds=i.vector_layers.map((e=>e.id))),a}))}class P{constructor(e,t){e&&(t?this.setSouthWest(e).setNorthEast(t):Array.isArray(e)&&(e.length===4?this.setSouthWest([e[0],e[1]]).setNorthEast([e[2],e[3]]):this.setSouthWest(e[0]).setNorthEast(e[1])))}setNorthEast(e){return this._ne=e instanceof t.Q?new t.Q(e.lng,e.lat):t.Q.convert(e),this}setSouthWest(e){return this._sw=e instanceof t.Q?new t.Q(e.lng,e.lat):t.Q.convert(e),this}extend(e){let n=this._sw,r=this._ne,i,a;if(e instanceof t.Q)i=e,a=e;else{if(!(e instanceof P))return Array.isArray(e)?e.length===4||e.every(Array.isArray)?this.extend(P.convert(e)):this.extend(t.Q.convert(e)):e&&(`lng`in e||`lon`in e)&&`lat`in e?this.extend(t.Q.convert(e)):this;if(i=e._sw,a=e._ne,!i||!a)return this}return n||r?(n.lng=Math.min(i.lng,n.lng),n.lat=Math.min(i.lat,n.lat),r.lng=Math.max(a.lng,r.lng),r.lat=Math.max(a.lat,r.lat)):(this._sw=new t.Q(i.lng,i.lat),this._ne=new t.Q(a.lng,a.lat)),this}getCenter(){return new t.Q((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new t.Q(this.getWest(),this.getNorth())}getSouthEast(){return new t.Q(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(e){let{lng:n,lat:r}=t.Q.convert(e),i=this._sw.lng<=n&&n<=this._ne.lng;return this._sw.lng>this._ne.lng&&(i=this._sw.lng>=n&&n>=this._ne.lng),this._sw.lat<=r&&r<=this._ne.lat&&i}static convert(e){return e instanceof P?e:e&&new P(e)}static fromLngLat(e,n=0){let r=360*n/40075017,i=r/Math.cos(Math.PI/180*e.lat);return new P(new t.Q(e.lng-i,e.lat-r),new t.Q(e.lng+i,e.lat+r))}adjustAntiMeridian(){let e=new t.Q(this._sw.lng,this._sw.lat),n=new t.Q(this._ne.lng,this._ne.lat);return new P(e,e.lng>n.lng?new t.Q(n.lng+360,n.lat):n)}}class ue{constructor(e,t,n){this.bounds=P.convert(this.validateBounds(e)),this.minzoom=t||0,this.maxzoom=n||24}
12validateBounds(e){return Array.isArray(e)&&e.length===4?[Math.max(-180,e[0]),Math.max(-90,e[1]),Math.min(180,e[2]),Math.min(90,e[3])]:[-180,-90,180,90]}contains(e){let n=2**e.z,r=Math.floor(t.U(this.bounds.getWest())*n),i=Math.floor(t.S(this.bounds.getNorth())*n),a=Math.ceil(t.U(this.bounds.getEast())*n),o=Math.ceil(t.S(this.bounds.getSouth())*n);return e.x>=r&&e.x<a&&e.y>=i&&e.y<o}}class F extends t.E{constructor(e,n,r,i){if(super(),this.id=e,this.dispatcher=r,this.type=`vector`,this.minzoom=0,this.maxzoom=22,this.scheme=`xyz`,this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,t.e(this,t.O(n,[`url`,`scheme`,`tileSize`,`promoteId`])),this._options=t.e({type:`vector`},n),this._collectResourceTiming=n.collectResourceTiming,this.tileSize!==512)throw Error(`vector tile sources must have a tileSize of 512`);this.setEventedParent(i)}load(){return t._(this,void 0,void 0,(function*(){this._loaded=!1,this.fire(new t.l(`dataloading`,{dataType:`source`})),this._tileJSONRequest=new AbortController;try{let e=yield N(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,this.map.style.sourceCaches[this.id].clearTiles(),e&&(t.e(this,e),e.bounds&&(this.tileBounds=new ue(e.bounds,this.minzoom,this.maxzoom)),this.fire(new t.l(`data`,{dataType:`source`,sourceDataType:`metadata`})),this.fire(new t.l(`data`,{dataType:`source`,sourceDataType:`content`})))}catch(e){this._tileJSONRequest=null,this.fire(new t.k(e))}}))}loaded(){return this._loaded}hasTile(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)}onAdd(e){this.map=e,this.load()}setSourceProperty(e){this._tileJSONRequest&&this._tileJSONRequest.abort(),e(),this.load()}setTiles(e){return this.setSourceProperty((()=>{this._options.tiles=e})),this}setUrl(e){return this.setSourceProperty((()=>{this.url=e,this._options.url=e})),this}onRemove(){this._tileJSONRequest&&=(this._tileJSONRequest.abort(),null)}serialize(){return t.e({},this._options)}loadTile(e){return t._(this,void 0,void 0,(function*(){let t=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),n={request:this.map._requestManager.transformRequest(t,`Tile`),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.t
12ype,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId,subdivisionGranularity:this.map.style.projection.subdivisionGranularity};n.request.collectResourceTiming=this._collectResourceTiming;let r=`RT`;if(e.actor&&e.state!==`expired`){if(e.state===`loading`)return new Promise(((t,n)=>{e.reloadPromise={resolve:t,reject:n}}))}else e.actor=this.dispatcher.getActor(),r=`LT`;e.abortController=new AbortController;try{let t=yield e.actor.sendAsync({type:r,data:n},e.abortController);if(delete e.abortController,e.aborted)return;this._afterTileLoadWorkerResponse(e,t)}catch(t){if(delete e.abortController,e.aborted)return;if(t&&t.status!==404)throw t;this._afterTileLoadWorkerResponse(e,null)}}))}_afterTileLoadWorkerResponse(e,t){if(t&&t.resourceTiming&&(e.resourceTiming=t.resourceTiming),t&&this.map._refreshExpiredTiles&&e.setExpiryData(t),e.loadVectorData(t,this.map.painter),e.reloadPromise){let t=e.reloadPromise;e.reloadPromise=null,this.loadTile(e).then(t.resolve).catch(t.reject)}}abortTile(e){return t._(this,void 0,void 0,(function*(){e.abortController&&(e.abortController.abort(),delete e.abortController),e.actor&&(yield e.actor.sendAsync({type:`AT`,data:{uid:e.uid,type:this.t
12ype,source:this.id}}))}))}unloadTile(e){return t._(this,void 0,void 0,(function*(){e.unloadVectorData(),e.actor&&(yield e.actor.sendAsync({type:`RMT`,data:{uid:e.uid,type:this.type,source:this.id}}))}))}hasTransition(){return!1}}class de extends t.E{constructor(e,n,r,i){super(),this.id=e,this.dispatcher=r,this.setEventedParent(i),this.type=`raster`,this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=`xyz`,this.tileSize=512,this._loaded=!1,this._options=t.e({type:`raster`},n),t.e(this,t.O(n,[`url`,`scheme`,`tileSize`]))}load(){return t._(this,arguments,void 0,(function*(e=!1){this._loaded=!1,this.fire(new t.l(`dataloading`,{dataType:`source`})),this._tileJSONRequest=new AbortController;try{let n=yield N(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,n&&(t.e(this,n),n.bounds&&(this.tileBounds=new ue(n.bounds,this.minzoom,this.maxzoom)),this.fire(new t.l(`data`,{dataType:`source`,sourceDataType:`metadata`})),this.fire(new t.l(`data`,{dataType:`source`,sourceDataType:`content`,sourceDataChanged:e})))}catch(e){this._tileJSONRequest=null,this.fire(new t.k(e))}}))}loaded(){return this._loaded}onAdd(e){this.map=e,this.load()}onRemove(){this._tileJSONRequest&&=(this._tileJSONRequest.abort(),null)}setSourceProperty(e){this._tileJSONRequest&&=(this._tileJSONRequest.abort(),null),e(),this.load(!0)}setTiles(e){return this.setSourceProperty((()=>{this._options.tiles=e})),this}setUrl(e){return this.setSourceProperty((()=>{this.url=e,this._options.url=e})),this}serialize(){return t.e({},this._options)}hasTile(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)}loadTile(e){return t._(this,void 0,void 0,(function*(){let t=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);e.abortController=new AbortController;try{let n=yield m.getImage(this.map._requestManager.transformRequest(t,`Tile`),e.abortController,this.map._refreshExpiredTiles);if(delete e.abortController,e.aborted)return void(e.state=`unloaded`);if(n&&n.data){this.map._refreshExpiredTiles&&(n.cacheControl||n.expires)&&e.setExpiryData({cacheControl:n.cacheControl,expires:n.expires});let t=this.map.painter.context,r=t.gl,i=n.data;e.texture=this.map.painter.getTileTexture(i.width),e.texture?e.texture.update(i,{useMipmap:!0}):(e.texture=new v(t,i,r.RGBA,{useMipmap:!0}),e.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE,r.LINEAR_MIPMAP_NEAREST)),e.state=`loaded`}}catch(t){if(delete e.abortController,e.aborted)e.state=`unloaded`;else if(t)throw e.state=`errored`,t}}))}abortTile(e){return t._(this,void 0,void 0,(function*(){e.abortController&&(e.abortController.abort(),delete e.abortController)}))}unloadTile(e){return t._(this,void 0,void 0,(function*(){e.texture&&this.map.painter.saveTileTexture(e.texture)}))}hasTransition(){return!1}}class fe extends de{constructor(e,n,r,i){super(e,n,r,i),this.type=`raster-dem`,this.maxzoom=22,this._options=t.e({type:`raster-dem`},n),this.encoding=n.encoding||`mapbox`,this.redFactor=n.redFactor,this.greenFactor=n.greenFactor,this.blueFactor=n.blueFactor,this.baseShift=n.baseShift}loadTile(e){return t._(this,void 0,void 0,(function*(){let n=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),r=this.map._requestManager.transformRequest(n,`Tile`);e.neighboringTiles=this._getNeighboringTiles(e.tileID),e.abortController=new AbortController;try{let n=yield m.getImage(r,e.abortController,this.map._refreshExpiredTiles);if(delete e.abortController,e.aborted)return void(e.state=`unloaded`);if(n&&n.data){let r=n.data;this.map._refreshExpiredTiles&&(n.cacheControl||n.expires)&&e.setExpiryData({cacheControl:n.cacheControl,expires:n.expires});let i=t.b(r)&&t.V()?r:yield this.readImageNow(r),a={type:this.type,uid:e.uid,source:this.id,rawImageData:i,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};(!e.actor||e.state===`expired`)&&(e.actor=this.dispatcher.getActor(),e.dem=yield e.actor.sendAsync({type:`LDT`,data:a}),e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0,e.state=`loaded`)}}catch(t){if(delete e.abortController,e.aborted)e.state=`unloaded`;else if(t)throw e.state=`errored`,t}}))}readImageNow(e){return t._(this,void 0,void 0,(function*(){if(typeof VideoFrame<`u`&&t.W()){let n=e.width+2,r=e.height+2;try{return new t.R({width:n,height:r},yield t.X(e,-1,-1,n,r))}catch{}}return o.getImageData(e,1)}))}_getNeighboringTiles(e){let n=e.canonical,r=2**n.z,i=(n.x-1+r)%r,a=n.x===0?e.wrap-1:e.wrap,o=(n.x+1+r)%r,s=n.x+1===r?e.wrap+1:e.wrap,c={};
12return c[new t.Y(e.overscaledZ,a,n.z,i,n.y).key]={backfilled:!1},c[new t.Y(e.overscaledZ,s,n.z,o,n.y).key]={backfilled:!1},n.y>0&&(c[new t.Y(e.overscaledZ,a,n.z,i,n.y-1).key]={backfilled:!1},c[new t.Y(e.overscaledZ,e.wrap,n.z,n.x,n.y-1).key]={backfilled:!1},c[new t.Y(e.overscaledZ,s,n.z,o,n.y-1).key]={backfilled:!1}),n.y+1<r&&(c[new t.Y(e.overscaledZ,a,n.z,i,n.y+1).key]={backfilled:!1},c[new t.Y(e.overscaledZ,e.wrap,n.z,n.x,n.y+1).key]={backfilled:!1},c[new t.Y(e.overscaledZ,s,n.z,o,n.y+1).key]={backfilled:!1}),c}unloadTile(e){return t._(this,void 0,void 0,(function*(){e.demTexture&&this.map.painter.saveTileTexture(e.demTexture),e.fbo&&(e.fbo.destroy(),delete e.fbo),e.dem&&delete e.dem,delete e.neighboringTiles,e.state=`unloaded`,e.actor&&(yield e.actor.sendAsync({type:`RDT`,data:{type:this.type,uid:e.uid,source:this.id}}))}))}}class I extends t.E{constructor(e,n,r,i){super(),this.id=e,this.type=`geojson`,this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._pendingLoads=0,this.actor=r.getActor(),this.setEventedParent(i),this._data=n.data,this._options=t.e({},n),this._collectResourceTiming=n.collectResourceTiming,n.maxzoom!==void 0&&(this.maxzoom=n.maxzoom),n.type&&(this.type=n.type),n.attribution&&(this.attribution=n.attribution),this.promoteId=n.promoteId,n.clusterMaxZoom!==void 0&&this.maxzoom<=n.clusterMaxZoom&&t.w(`The maxzoom value "${this.maxzoom}" is expected to be greater than the clusterMaxZoom value "${n.clusterMaxZoom}".`),this.workerOptions=t.e({source:this.id,cluster:n.cluster||!1,geojsonVtOptions:{buffer:this._pixelsToTileUnits(n.buffer===void 0?128:n.buffer),tolerance:this._pixelsToTileUnits(n.tolerance===void 0?.375:n.tolerance),extent:t.Z,maxZoom:this.maxzoom,lineMetrics:n.lineMetrics||!1,generateId:n.generateId||!1},superclusterOptions:{maxZoom:n.clusterMaxZoom===void 0?this.maxzoom-1:n.clusterMaxZoom,minPoints:Math.max(2,n.clusterMinPoints||2),extent:t.Z,radius:this._pixelsToTileUnits(n.clusterRadius||50),log:!1,generateId:n.generateId||!1},clusterProperties:n.clusterProperties,filter:n.filter},n.workerOptions),typeof this.promoteId==`string`&&(this.workerOptions.promoteId=this.promoteId)}_pixelsToTileUnits(e){return e*(t.Z/this.tileSize)}load(){return t._(this,void 0,void 0,(function*(){yield this._updateWorkerData()}))}onAdd(e){this.map=e,this.load()}setData(e){return this._data=e,this._updateWorkerData(),this}updateData(e){return this._updateWorkerData(e),this}getData(){return t._(this,void 0,void 0,(function*(){let e=t.e({type:this.type},this.workerOptions);return this.actor.sendAsync({type:`GD`,data:e})}))}getCoordinatesFromGeometry(e){return e.type===`GeometryCollection`?e.geometries.map((e=>e.coordinates)).flat(1/0):e.coordinates.flat(1/0)}getBounds(){return t._(this,void 0,void 0,(function*(){let e=new P,t=yield this.getData(),n;switch(t.type){case`FeatureCollection`:n=t.features.map((e=>this.getCoordinatesFromGeometry(e.geometry))).flat(1/0);break;case`Feature`:n=this.getCoordinatesFromGeometry(t.geometry);break;default:n=this.getCoordinatesFromGeometry(t)}if(n.length==0)return e;for(let t=0;t<n.length-1;t+=2)e.extend([n[t],n[t+1]]);return e}))}setClusterOptions(e){return this.workerOptions.cluster=e.cluster,e&&(e.clusterRadius!==void 0&&(this.workerOptions.superclusterOptions.radius=this._pixelsToTileUnits(e.clusterRadius)),e.clusterMaxZoom!==void 0&&(this.workerOptions.superclusterOptions.maxZoom=e.clusterMa
12xZoom)),this._updateWorkerData(),this}getClusterExpansionZoom(e){return this.actor.sendAsync({type:`GCEZ`,data:{type:this.type,clusterId:e,source:this.id}})}getClusterChildren(e){return this.actor.sendAsync({type:`GCC`,data:{type:this.type,clusterId:e,source:this.id}})}getClusterLeaves(e,t,n){return this.actor.sendAsync({type:`GCL`,data:{type:this.type,source:this.id,clusterId:e,limit:t,offset:n}})}_updateWorkerData(e){return t._(this,void 0,void 0,(function*(){let n=t.e({type:this.type},this.workerOptions);e?n.dataDiff=e:typeof this._data==`string`?(n.request=this.map._requestManager.transformRequest(o.resolveURL(this._data),`Source`),n.request.collectResourceTiming=this._collectResourceTiming):n.data=JSON.stringify(this._data),this._pendingLoads++,this.fire(new t.l(`dataloading`,{dataType:`source`}));try{let e=yield this.actor.sendAsync({type:`LD`,data:n});if(this._pendingLoads--,this._removed||e.abandoned)return void this.fire(new t.l(`dataabort`,{dataType:`source`}));let r=null;e.resourceTiming&&e.resourceTiming[this.id]&&(r=e.resourceTiming[this.id].slice(0));let i={dataType:`source`};this._collectResourceTiming&&r&&r.length>0&&t.e(i,{resourceTiming:r}),this.fire(new t.l(`data`,Object.assign(Object.assign({},i),{sourceDataType:`metadata`}))),this.fire(new t.l(`data`,Object.assign(Object.assign({},i),{sourceDataType:`content`})))}catch(e){if(this._pendingLoads--,this._removed)return void this.fire(new t.l(`dataabort`,{dataType:`source`}));this.fire(new t.k(e))}}))}loaded(){return this._pendingLoads===0}loadTile(e){return t._(this,void 0,void 0,(function*(){let t=e.actor?`RT`:`LT`;e.actor=this.actor;let n={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId,subdivisionGranularity:this.map.style.projection.subdivisionGranularity};e.abortController=new AbortController;let r=yield this.actor.sendAsync({type:t,data:n},e.abortController);delete e.abortController,e.unloadVectorData(),e.aborted||e.loadVectorData(r,this.map.painter,t===`RT`)}))}abortTile(e){return t._(this,void 0,void 0,(function*(){e.abortController&&(e.abortController.abort(),delete e.abortController),e.aborted=!0}))}unloadTile(e){return t._(this,void 0,void 0,(function*(){e.unloadVectorData(),yield this.actor.sendAsync({type:`RMT`,data:{uid:e.uid,type:this.t
12ype,source:this.id}})}))}onRemove(){this._removed=!0,this.actor.sendAsync({type:`RS`,data:{type:this.type,source:this.id}})}serialize(){return t.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}class pe extends t.E{constructor(e,t,n,r){super(),this.flippedWindingOrder=!1,this.id=e,this.dispatcher=n,this.coordinates=t.coordinates,this.type=`image`,this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(r),this.options=t}load(e){return t._(this,void 0,void 0,(function*(){this._loaded=!1,this.fire(new t.l(`dataloading`,{dataType:`source`})),this.url=this.options.url,this._request=new AbortController;try{let t=yield m.getImage(this.map._requestManager.transformRequest(this.url,`Image`),this._request);this._request=null,this._loaded=!0,t&&t.data&&(this.image=t.data,e&&(this.coordinates=e),this._finishLoading())}catch(e){this._request=null,this._loaded=!0,this.fire(new t.k(e))}}))}loaded(){return this._loaded}updateImage(e){return e.url?(this._request&&=(this._request.abort(),null),this.options.url=e.url,this.load(e.coordinates).finally((()=>{this.texture=null})),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.l(`data`,{dataType:`source`,sourceDataType:`metadata`})))}onAdd(e){this.map=e,this.load()}onRemove(){this._request&&=(this._request.abort(),null)}setCoordinates(e){this.coordinates=e;let n=e.map(t.$.fromLngLat);var r;return this.tileID=function(e){let n=1/0,r=1/0,i=-1/0,a=-1/0;for(let t of e)n=Math.min(n,t.x),r=Math.min(r,t.y),i=Math.max(i,t.x),a=Math.max(a,t.y);let o=Math.max(i-n,a-r),s=Math.max(0,Math.floor(-Math.log(o)/Math.LN2)),c=2**s;return new t.a1(s,Math.floor((n+i)/2*c),Math.floor((r+a)/2*c))}(n),this.terrainTileRanges=this._getOverlappingTileRanges(n),this.minzoom=this.maxzoom=this.tileID.z,this.tileCoords=n.map((e=>this.tileID.getTilePoint(e)._round())),this.flippedWindingOrder=((r=this.tileCoords)[1].x-r[0].x)*(r[2].y-r[0].y)-(r[1].y-r[0].y)*(r[2].x-r[0].x)<0,this.fire(new t.l(`data`,{dataType:`source`,sourceDataType:`content`})),this}prepare(){if(Object.keys(this.tiles).length===0||!this.image)return;let e=this.map.painter.context,n=e.gl;this.texture||(this.texture=new v(e,this.image,n.RGBA),this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE));let r=!1;for(let e in this.tiles){let t=this.tiles[e];t.state!==`loaded`&&(t.state=`loaded`,t.texture=this.texture,r=!0)}r&&this.fire(new t.l(`data`,{dataType:`source`,sourceDataType:`idle`,sourceId:this.id}))}loadTile(e){return t._(this,void 0,void 0,(function*(){this.tileID&&this.tileID.equals(e.tileID.canonical)?(this.tiles[String(e.tileID.wrap)]=e,e.buckets={}):e.state=`errored`}))}serialize(){return{type:`image`,url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}_getOverlappingTileRanges(e){let n=1/0,r=1/0,i=-1/0,a=-1/0;for(let t of e)n=Math.min(n,t.x),r=Math.min(r,t.y),i=Math.max(i,t.x),a=Math.max(a,t.y);let o={};for(let e=0;e<=t.a0;e++){let t=2**e;o[e]={minTileX:Math.floor(n*t),minTileY:Math.floor(r*t),maxTileX:Math.floor(i*t),maxTileY:Math.floor(a*t)}}return o}}class me extends pe{constructor(e,t,n,r){super(e,t,n,r),this.roundZoom=!0,this.type=`video`,this.options=t}load(){return t._(this,void 0,void 0,(function*(){this._loaded=!1;let e=this.options;this.urls=[];for(let t of e.urls)this.urls.push(this.map._requestManager.transformRequest(t,`Source`).url);try{let e=yield t.a2(this.urls);if(this._loaded=!0,!e)return;this.video=e,this.video.loop=!0,this.video.addEventListener(`playing`,(()=>{this.map.triggerRepaint()})),this.map&&this.video.play(),this._finishLoading()}catch(e){this.fire(new t.k(e))}}))}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(e){if(this.video){let n=this.video.seekable;e<n.start(0)||e>n.end(0)?this.fire(new t.k(new t.a3(`sources.${this.id}`,null,`Playback for this video can be set only between the ${n.start(0)} and ${n.end(0)}-second mark.`))):this.video.currentTime=e}}getVideo(){return this.video}onAdd(e){this.map||(this.map=e,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;let e=this.map.painter.context,n=e.gl;this.texture?this.video.paused||(this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE),n.texSubImage2D(n.TEXTURE_2D,0,0,0,n.RGBA,n.UNSIGNED_BYTE,this.video)):(this.texture=new v(e,this.video,n.RGBA),this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE));let r=!1;for(let e in this.tiles){let t=this.tiles[e];t.state!==`loaded`&&(t.state=`loaded`,t.texture=this.texture,r=!0)}r&&this.fire(new t.l(`data`,{dataType:`source`,sourceDataType:`idle`,sourceId:this.id}))}serialize(){return{type:`video`,urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}}class he extends pe{constructor(e,n,r,i){super(e,n,r,i),n.coordinates?Array.isArray(n.coordinates)&&n.coordinates.length===4&&!n.coordinates.some((e=>!Array.isArray(e)||e.length!==2||e.some((e=>typeof e!=`number`))))||this.fire(new t.k(new t.a3(`sources.${e}`,null,`"coordinates" property must be an array of 4 longitude/latitude array pairs`))):this.fire(new t.k(new t.a3(`sources.${e}`,null,`missing required property "coordinates"`))),n.animate&&typeof n.animate!=`boolean`&&this.fire(new t.k(new t.a3(`sources.${e}`,null,`optional "animate" property must be a boolean value`))),n.canvas?typeof n.canvas==`string`||n.canvas instanceof HTMLCanvasElement||this.fire(new t.k(new t.a3(`sources.${e}`,null,`"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance`))):this.fire(new t.k(new t.a3(`sources.${e}`,null,`missing required property "canvas"`))),this.options=n,this.animate=n.animate===void 0||n.animate}load(){return t._(this,void 0,void 0,(function*(){this._loaded=!0,this.canvas||=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.k(Error(`Canvas dimensions cannot be less than or equal to zero.`))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&=(this.prepare(),!1)},this._finishLoading())}))}getCanvas(){return this.canvas}onAdd(e){this.map=e,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;let n=this.map.painter.context,r=n.gl;this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new v(n,this.canvas,r.RGBA,{premultiply:!0});let i=!1;for(let e in this.tiles){let t=this.tiles[e];t.state!==`loaded`&&(t.state=`loaded`,t.texture=this.texture,i=!0)}i&&this.fire(new t.l(`data`,{dataType:`source`,sourceDataType:`idle`,sourceId:this.id}))}serialize(){return{type:`canvas`,coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let e of[this.canvas.width,this.canvas.height])if(isNaN(e)||e<=0)return!0;return!1}}let ge={},_e=e=>{switch(e){case`geojson`:return I;case`image`:return pe;case`raster`:return de;case`raster-dem`:return fe;case`vector`:return F;case`video`:return me;case`canvas`:return he}return ge[e]},ve=`RTLPluginLoaded`;class ye extends t.E{constructor(){super(...arguments),this.status=`unavailable`,this.url=null,this.dispatcher=ae()}_syncState(e){return this.status=e,this.dispatcher.broadcast(`SRPS`,{pluginStatus:e,pluginURL:this.url}).catch((e=>{throw this.status=`error`,e}))}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status=`unavailable`,this.url=null}setRTLTextPlugin(e){return t._(this,arguments,void 0,(function*(e,t=!1){if(this.url)throw Error(`setRTLTextPlugin cannot be called multiple times.`);if(this.url=o.resolveURL(e),!this.url)throw Error(`requested url ${e}
12 is invalid`);if(this.status===`unavailable`){if(!t)return this._requestImport();this.status=`deferred`,this._syncState(this.status)}else if(this.status===`requested`)return this._requestImport()}))}_requestImport(){return t._(this,void 0,void 0,(function*(){yield this._syncState(`loading`),this.status=`loaded`,this.fire(new t.l(ve))}))}lazyLoad(){this.status===`unavailable`?this.status=`requested`:this.status===`deferred`&&this._requestImport()}}let be=null;function xe(){return be||=new ye,be}class Se{constructor(e,n){this.timeAdded=0,this.fadeEndTime=0,this.tileID=e,this.uid=t.a4(),this.uses=0,this.tileSize=n,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttCoords={},this.expiredRequestCount=0,this.state=`loading`}registerFadeDuration(e){let t=e+this.timeAdded;t<this.fadeEndTime||(this.fadeEndTime=t)}wasRequested(){return this.state===`errored`||this.state===`loaded`||this.state===`reloading`}clearTextures(e){this.demTexture&&e.saveTileTexture(this.demTexture),this.demTexture=null}loadVectorData(e,n,r){if(this.hasData()&&this.unloadVectorData(),this.state=`loaded`,e){e.featureIndex&&(this.latestFeatureIndex=e.featureIndex,e.rawTileData?(this.latestRawTileData=e.rawTileData,this.latestFeatureIndex.rawTileData=e.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=e.collisionBoxArray,this.buckets=function(e,t){let n={};if(!t)return n;for(let r of e){let e=r.layerIds.map((e=>t.getLayer(e))).filter(Boolean);if(e.length!==0){r.layers=e,r.stateDependentLayerIds&&(r.stateDependentLayers=r.stateDependentLayerIds.map((t=>e.filter((e=>e.id===t))[0])));for(let t of e)n[t.id]=r}}return n}(e.buckets,n?.style),this.hasSymbolBuckets=!1;for(let e in this.buckets){let n=this.buckets[e];if(n instanceof t.a6){if(this.hasSymbolBuckets=!0,!r)break;n.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let e in this.buckets){let n=this.buckets[e];if(n instanceof t.a6&&n.hasRTLText){this.hasRTLText=!0,xe().lazyLoad();break}}this.queryPadding=0;for(let e in this.buckets){let t=this.buckets[e];this.queryPadding=Math.max(this.queryPadding,n.style.getLayer(e).queryRadius(t))}e.imageAtlas&&(this.imageAtlas=e.imageAtlas),e.glyphAtlasImage&&(this.glyphAtlasImage=e.glyphAtlasImage)}else this.collisionBoxArray=new t.a5}unloadVectorData(){for(let e in this.buckets)this.buckets[e].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&=null,this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state=`unloaded`}getBucket(e){return this.buckets[e.id]}upload(e){for(let t in this.buckets){let n=this.buckets[t];n.uploadPending()&&n.upload(e)}let t=e.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new v(e,this.imageAtlas.image,t.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&=(this.glyphAtlasTexture=new v(e,this.glyphAtlasImage,t.ALPHA),null)}prepare(e){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(e,this.imageAtlasTexture)}queryRenderedFeatures(e,t,n,r,i,a,o,s,c,l,u){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:r,cameraQueryGeometry:i,scale:a,tileSize:this.tileSize,pixelPosMatrix:l,transform:s,params:o,queryPadding:this.queryPadding*c,getElevation:u},e,t,n):{}}querySourceFeatures(e,n){let r=this.latestFeatureIndex;if(!r||!r.rawTileData)return;let i=r.loadVTLayers(),a=n&&n.sourceLayer?n.sourceLayer:``,o=i._geojsonTileLayer||i[a];if(!o)return;let s=t.a7(n&&n.filter),{z:c,x:l,y:u}=this.tileID.canonical,d={z:c,x:l,y:u};for(let n=0;n<o.length;n++){let i=o.feature(n);if(s.needGeometry){let e=t.a8(i,!0);if(!s.filter(new t.C(this.tileID.overscaledZ),e,this.tileID.canonical))continue}else if(!s.filter(new t.C(this.tileID.overscaledZ),i))continue;let f=r.getId(i,a),p=new t.a9(i,c,l,u,f);p.tile=d,e.push(p)}}hasData(){return this.state===`loaded`||this.state===`reloading`||this.state===`expired`}patternsLoaded(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length}setExpiryData(e){let n=this.expirationTime;
12if(e.cacheControl){let n=t.aa(e.cacheControl);n[`max-age`]&&(this.expirationTime=Date.now()+1e3*n[`max-age`])}else e.expires&&(this.expirationTime=new Date(e.expires).getTime());if(this.expirationTime){let e=Date.now(),t=!1;if(this.expirationTime>e)t=!1;else if(n)if(this.expirationTime<n)t=!0;else{let r=this.expirationTime-n;r?this.expirationTime=e+Math.max(r,3e4):t=!0}else t=!0;t?(this.expiredRequestCount++,this.state=`expired`):this.expiredRequestCount=0}}getExpiryTimeout(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-new Date().getTime(),2**31-1)}setFeatureState(e,t){if(!this.latestFeatureIndex||!this.latestFeatureIndex.rawTileData||Object.keys(e).length===0)return;let n=this.latestFeatureIndex.loadVTLayers();for(let r in this.buckets){if(!t.style.hasLayer(r))continue;let i=this.buckets[r],a=i.layers[0].sourceLayer||`_geojsonTileLayer`,o=n[a],s=e[a];if(!o||!s||Object.keys(s).length===0)continue;i.update(s,o,this.imageAtlas&&this.imageAtlas.patternPositions||{});let c=t&&t.style&&t.style.getLayer(r);c&&(this.queryPadding=Math.max(this.queryPadding,c.queryRadius(i)))}}holdingForFade(){return this.symbolFadeHoldUntil!==void 0}symbolFadeFinished(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<o.now()}clearFadeHold(){this.symbolFadeHoldUntil=void 0}setHoldDuration(e){this.symbolFadeHoldUntil=o.now()+e}setDependencies(e,t){let n={};for(let e of t)n[e]=!0;this.dependencies[e]=n}hasDependency(e,t){for(let n of e){let e=this.dependencies[n];if(e){for(let n of t)if(e[n])return!0}}return!1}}class Ce{constructor(e,t){this.max=e,this.onRemove=t,this.reset()}reset(){for(let e in this.data)for(let t of this.data[e])t.timeout&&clearTimeout(t.timeout),this.onRemove(t.value);return this.data={},this.order=[],this}add(e,t,n){let r=e.wrapped().key;this.data[r]===void 0&&(this.data[r]=[]);let i={value:t,timeout:void 0};if(n!==void 0&&(i.timeout=setTimeout((()=>{this.remove(e,i)}),n)),this.data[r].push(i),this.order.push(r),this.order.length>this.max){let e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}has(e){return e.wrapped().key in this.data}getAndRemove(e){return this.has(e)?this._getAndRemoveByKey(e.wrapped().key):null}_getAndRemoveByKey(e){let t=this.data[e].shift();return t.timeout&&clearTimeout(t.timeout),this.data[e].length===0&&delete this.data[e],this.order.splice(this.order.indexOf(e),1),t.value}getByKey(e){let t=this.data[e];return t?t[0].value:null}get(e){return this.has(e)?this.data[e.wrapped().key][0].value:null}remove(e,t){if(!this.has(e))return this;let n=e.wrapped().key,r=t===void 0?0:this.data[n].indexOf(t),i=this.data[n][r];return this.data[n].splice(r,1),i.timeout&&clearTimeout(i.timeout),this.data[n].length===0&&delete this.data[n],this.onRemove(i.value),this.order.splice(this.order.indexOf(n),1),this}setMaxSize(e){for(this.max=e;this.order.length>this.max;){let e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}filter(e){let t=[];for(let n in this.data)for(let r of this.data[n])e(r.value)||t.push(r);for(let e of t)this.remove(e.value.tileID,e)}}class we{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(e,n,r){let i=String(n);if(this.stateChanges[e]=this.stateChanges[e]||{},this.stateChanges[e][i]=this.stateChanges[e][i]||{},t.e(this.stateChanges[e][i],r),this.deletedStates[e]===null){this.deletedStates[e]={};for(let t in this.state[e])t!==i&&(this.deletedStates[e][t]=null)}else if(this.deletedStates[e]&&this.deletedStates[e][i]===null){this.deletedStates[e][i]={};for(let t in this.state[e][i])r[t]||(this.deletedStates[e][i][t]=null)}else for(let t in r)this.deletedStates[e]&&this.deletedStates[e][i]&&this.deletedStates[e][i][t]===null&&delete this.deletedStates[e][i][t]}removeFeatureState(e,t,n){if(this.deletedStates[e]===null)return;let r=String(t);if(this.deletedStates[e]=this.deletedStates[e]||{},n&&t!==void 0)this.deletedStates[e][r]!==null&&(this.deletedStates[e][r]=this.deletedStates[e][r]||{},this.deletedStates[e][r][n]=null);else if(t!==void 0)if(this.stateChanges[e]&&this.stateChanges[e][r])for(n in this.deletedStates[e][r]={},this.stateChanges[e][r])this.deletedStates[e][r][n]=null;else this.deletedStates[e][r]=null;else this.deletedStates[e]=null}getState(e,n){let r=String(n),i=t.e({},(this.state[e]||{})[r],(this.stateChanges[e]||{})[r]);if(this.deletedStates[e]===null)return{};if(this.deletedStates[e]){let t=this.deletedStates[e][n];if(t===null)return{};for(let e in t)delete i[e]}return i}initializeTileState(e,t){e.setFeatureState(this.state,t)}coalesceChanges(e,n){let r={};for(let e in this.stateChanges){this.state[e]=this.state[e]||{};let n={};for(let r in this.stateChanges[e])this.state[e][r]||(this.state[e][r]={}),t.e(this.state[e][r],this.stateChanges[e][r]),n[r]=this.state[e][r];r[e]=n}for(let e in this.deletedStates){this.state[e]=this.state[e]||{};let n={};if(this.deletedStates[e]===null)for(let t in this.state[e])n[t]={},this.state[e][t]={};else for(let t in this.deletedStates[e]){if(this.deletedStates[e][t]===null)this.state[e][t]={};else for(let n of Object.keys(this.deletedStates[e][t]))delete this.state[e][t][n];n[t]=this.state[e][t]}r[e]=r[e]||{},t.e(r[e],n)}if(this.stateChanges={},this.deletedStates={},Object.keys(r).length!==0)for(let t in e)e[t].setFeatureState(r,n)}}let Te=89.25;function Ee(e,n){let r=t.ae(n.lat,-85.051129,t.af);return new t.P(t.U(n.lng)*e,t.S(r)*e)}function De(e,n){return new t.$(n.x/e,n.y/e).toLngLat()}function Oe(e){return e.cameraToCenterDistance*Math.min(.85*Math.tan(t.ab(90-e.pitch)),Math.tan(t.ab(Te-e.pitch)))}function ke(e,n){let r=e.canonical,i=n/t.ac(r.z),a=r.x+2**r.z*e.wrap,o=t.ad(new Float64Array(16));return t.L(o,o,[a*i,r.y*i,0]),t.M(o,o,[i/t.Z,i/t.Z,1]),o}function Ae(e,n,r,i,a){let o=t.$.fromLngLat(e,n),s=a*t.ag(1,e.lat),c=s*Math.cos(t.ab(r)),l=Math.sqrt(s*s-c*c),u=l*Math.sin(t.ab(-i)),d=l*Math.cos(t.ab(-i));return new t.$(o.x+u,o.y+d,o.z+c)}function je(e,t,n){let r=t.intersectsFrustum(e);if(!n)return r;let i=t.intersectsPlane(n);return r===0||i===0?0:r===2&&i===2?2:1}function Me(e,t,n){let r=0,i=(n-t)/10;for(let a=0;a<10;a++)r+=i*Math.cos(t+(a+.5)/10*(n-t))**+e;return r}function L(e,n){return function(r,i,a,o,s){let c=2*((e-1)/t.ah(Math.cos(t.ab(Te-s))/Math.cos(t.ab(Te)))-1),l=Math.acos(a/o),u=2*Me(c-1,0,t.ab(s/2)),d=Math.min(t.ab(Te),l+t.ab(s/2)),f=Me(c-1,Math.min(d,l-t.ab(s/2)),d),p=Math.atan(i/a),m=Math.hypot(i,a),h=r;return h+=t.ah(o/m/Math.max(.5,Math.cos(t.ab(s/2)))),h+=c*t.ah(Math.cos(p))/2,h-=t.ah(Math.max(1,f/u/n))/2,h}}let Ne=L(9.314,3);function Pe(e,n){let r=(n.roundZoom?Math.round:Math.floor)(e.zoom+t.ah(e.tileSize/n.tileSize));return Math.max(0,r)}function Fe(e,n){let r=e.getCameraFrustum(),i=e.getClippingPlane(),a=e.screenPointToMercatorCoordinate(e.getCameraPoint()),o=t.$.fromLngLat(e.center,e.elevation);a.z=o.z+Math.cos(e.pitchInRadians)*e.cameraToCenterDistance/e.worldSize;let s=e.getCoveringTilesDetailsProvider(),c=s.allowVariableZoom(e,n),l=Pe(e,n),u=n.minzoom||0,d=n.maxzoom===void 0?e.maxZoom:n.maxzoom,f=Math.min(Math.max(0,l),d),p=2**f,m=[p*a.x,p*a.y,0],h=[p*o.x,p*o.y,0],g=Math.hypot(o.x-a.x,o.y-a.y),_=Math.abs(o.z-a.z),v=Math.hypot(g,_),y=e=>({zoom:0,x:0,y:0,wrap:e,fullyVisible:!1}),b=[],x=[];if(e.renderWorldCopies&&s.allowWorldCopies())for(let e=1;e<=3;e++)b.push(y(-e)),b.push(y(e));for(b.push(y(0));b.length>0;){let p=b.pop(),g=p.x,y=p.y,S=p.fullyVisible,C={x:g,y,z:p.zoom},w=s.getTileAABB(C,p.wrap,e.elevation,n);if(!S){let e=je(r,w,i);if(e===0)continue;S=e===2}let T=s.distanceToTile2d(a.x,a.y,C,w),E=l;c&&(E=(n.calculateTileZoom||Ne)(e.zoom+t.ah(e.tileSize/n.tileSize),T,_,v,e.fov)),E=(n.roundZoom?Math.round:Math.floor)(E),E=Math.max(0,E);let D=Math.min(E,d);if(p.wrap=s.getWrap(o,C,p.wrap),p.zoom>=D){if(p.zoom<u)continue;let e=f-p.zoom,r=m[0]-.5-(g<<e),i=m[1]-.5-(y<<e),a=n.reparseOverscaled?Math.max(p.zoom,E):p.zoom;x.push({tileID:new t.Y(p.zoom===d?a:p.zoom,p.wrap,p.zoom,g,y),distanceSq:t.ai([h[0]-.5-g,h[1]-.5-y]),tileDistanceToCamera:Math.sqrt(r*r+i*i)})}else for(let e=0;e<4;e++)b.push({zoom:p.zoom+1,x:(g<<1)+e%2,y:(y<<1)+(e>>1),wrap:p.wrap,fullyVisible:S})}return x.sort(((e,t)=>e.distanceSq-t.distanceSq)).map((e=>e.tileID))}class Ie extends t.E{constructor(e,t,n){super(),this.id=e,this.dispatcher=n,this.on(`data`,(e=>this._dataHandler(e))),this.on(`dataloading`,(()=>{this._sourceErrored=!1})),this.on(`error`,(()=>{this._sourceErrored=this._source.loaded()})),this._source=((e,t,n,r)=>{let i=new(_e(t.type))(e,t,n,r);if(i.id!==e)throw Error(`Expected Source id to be ${e} instead of ${i.id}`);return i})(e,t,n,this),this._tiles={},this._cache=new Ce(0,(e=>this._unloadTile(e))),this._timers={},this._cacheTimers={}
12,this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new we,this._didEmitContent=!1,this._updated=!1}onAdd(e){this.map=e,this._maxTileCacheSize=e?e._maxTileCacheSize:null,this._maxTileCacheZoomLevels=e?e._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(e)}onRemove(e){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(e)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(this.used===void 0&&this.usedForTerrain===void 0||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(let e in this._tiles){let t=this._tiles[e];if(t.state!==`loaded`&&t.state!==`errored`)return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;let e=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,e&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(e,n,r){return t._(this,void 0,void 0,(function*(){try{yield this._source.loadTile(e),this._tileLoaded(e,n,r)}catch(n){e.state=`errored`,n.status===404?this.update(this.transform,this.terrain):this._source.fire(new t.k(n,{tile:e}))}}))}_unloadTile(e){this._source.unloadTile&&this._source.unloadTile(e)}_abortTile(e){this._source.abortTile&&this._source.abortTile(e),this._source.fire(new t.l(`dataabort`,{tile:e,coord:e.tileID,dataType:`source`}))}serialize(){return this._source.serialize()}prepare(e){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(let t in this._tiles){let n=this._tiles[t];n.upload(e),n.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map((e=>e.tileID)).sort(Le).map((e=>e.key))}getRenderableIds(e){let n=[];for(let t in this._tiles)this._isIdRenderable(t,e)&&n.push(this._tiles[t]);return e?n.sort(((e,n)=>{let r=e.tileID,i=n.tileID,a=new t.P(r.canonical.x,r.canonical.y)._rotate(-this.transform.bearingInRadians),o=new t.P(i.canonical.x,i.canonical.y)._rotate(-this.transform.bearingInRadians);return r.overscaledZ-i.overscaledZ||o.y-a.y||o.x-a.x})).map((e=>e.tileID.key)):n.map((e=>e.tileID)).sort(Le).map((e=>e.key))}hasRenderableParent(e){let t=this.findLoadedParent(e,0);return!!t&&this._isIdRenderable(t.tileID.key)}_isIdRenderable(e,t){return this._tiles[e]&&this._tiles[e].hasData()&&!this._coveredTiles[e]&&(t||!this._tiles[e].holdingForFade())}reload(e){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(let t in this._tiles)(e||this._tiles[t].state!==`errored`)&&this._reloadTile(t,`reloading`)}}_reloadTile(e,n){return t._(this,void 0,void 0,(function*(){let t=this._tiles[e];t&&(t.state!==`loading`&&(t.state=n),yield this._loadTile(t,e,n))}))}_tileLoaded(e,n,r){e.timeAdded=o.now(),r===`expired`&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(n,e),this.getSource().type===`raster-dem`&&e.dem&&this._backfillDEM(e),this._state.initializeTileState(e,this.map?this.map.painter:null),e.aborted||this._source.fire(new t.l(`data`,{dataType:`source`,tile:e,coord:e.tileID}))}_backfillDEM(e){let t=this.getRenderableIds();for(let r=0;r<t.length;r++){let i=t[r];if(e.neighboringTiles&&e.neighboringTiles[i]){let t=this.getTileByID(i);n(e,t),n(t,e)}}function n(e,t){e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0;let n=t.tileID.canonical.x-e.tileID.canonical.x,r=t.tileID.canonical.y-e.tileID.canonical.y,i=2**e.tileID.canonical.z,a=t.tileID.key;n===0&&r===0||Math.abs(r)>1||(Math.abs(n)>1&&(Math.abs(n+i)===1?n+=i:Math.abs(n-i)===1&&(n-=i)),t.dem&&e.dem&&(e.dem.backfillBorder(t.dem,n,r),e.neighboringTiles&&e.neighboringTiles[a]&&(e.neighboringTiles[a].backfilled=!0)))}}getTile(e){return this.getTileByID(e.key)}getTileByID(e){return this._tiles[e]}_retainLoadedChildren(e,t,n,r){for(let i in this._tiles){let a=this._tiles[i];if(r[i]||!a.hasData()||a.tileID.overscaledZ<=t||a.tileID.overscaledZ>n)continue;let o=a.tileID;for(;a&&a.tileID.overscaledZ>t+1;){let e=a.tileID.scaledTo(a.tileID.overscaledZ-1);a=this._tiles[e.key],a&&a.hasData()&&(o=e)}let s=o;for(;s.overscaledZ>t;)if(s=s.scaledTo(s.overscaledZ-1),e[s.key]||e[s.canonical.key]){r[o.key]=o;break}}}findLoadedParent(e,t){if(e.key in this._loadedParentTiles){let n=this._loadedParentTiles[e.key];return n&&n.tileID.overscaledZ>=t?n:null}for(let n=e.overscaledZ-1;n>=t;n--){let t=e.scaledTo(n),r=this._getLoadedTile(t);if(r)return r}}findLoadedSibling(e){return this._getLoadedTile(e)}_getLoadedTile(e){let t=this._tiles[e.key];return t&&t.hasData()?t:this._cache.getByKey(e.wrapped().key)}updateCacheSize(e){let n=Math.ceil(e.width/this._source.tileSize)+1,r=Math.ceil(e.height/this._source.tileSize)+1,i=Math.floor(n*r*(this._maxTileC
12acheZoomLevels===null?t.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),a=typeof this._maxTileCacheSize==`number`?Math.min(this._maxTileCacheSize,i):i;this._cache.setMaxSize(a)}handleWrapJump(e){let t=Math.round((e-(this._prevLng===void 0?e:this._prevLng))/360);if(this._prevLng=e,t){let e={};for(let n in this._tiles){let r=this._tiles[n];r.tileID=r.tileID.unwrapTo(r.tileID.wrap+t),e[r.tileID.key]=r}this._tiles=e;for(let e in this._timers)clearTimeout(this._timers[e]),delete this._timers[e];for(let e in this._tiles)this._setTileReloadTimer(e,this._tiles[e])}}_updateCoveredAndRetainedTiles(e,t,n,r,i,a){let s={},c={},l=Object.keys(e),u=o.now();for(let n of l){let r=e[n],i=this._tiles[n];if(!i||i.fadeEndTime!==0&&i.fadeEndTime<=u)continue;let a=this.findLoadedParent(r,t),o=this.findLoadedSibling(r),l=a||o||null;l&&(this._addTile(l.tileID),s[l.tileID.key]=l.tileID),c[n]=r}this._retainLoadedChildren(c,r,n,e);for(let t in s)e[t]||(this._coveredTiles[t]=!0,e[t]=s[t]);if(a){let t={},n={};for(let e of i)this._tiles[e.key].hasData()?t[e.key]=e:n[e.key]=e;for(let r in n){let i=n[r].children(this._source.maxzoom);this._tiles[i[0].key]&&this._tiles[i[1].key]&&this._tiles[i[2].key]&&this._tiles[i[3].key]&&(t[i[0].key]=e[i[0].key]=i[0],t[i[1].key]=e[i[1].key]=i[1],t[i[2].key]=e[i[2].key]=i[2],t[i[3].key]=e[i[3].key]=i[3],delete n[r])}for(let r in n){let i=n[r],a=this.findLoadedParent(i,this._source.minzoom),o=this.findLoadedSibling(i),s=a||o||null;if(s){t[s.tileID.key]=e[s.tileID.key]=s.tileID;for(let e in t)t[e].isChildOf(s.tileID)&&delete t[e]}}for(let e in this._tiles)t[e]||(this._coveredTiles[e]=!0)}}update(e,n){if(!this._sourceLoaded||this._paused)return;let r;this.transform=e,this.terrain=n,this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?r=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((e=>new t.Y(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y))):(r=Fe(e,{tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:n,calculateTileZoom:this._source.calculateTileZoom}),this._source.hasTile&&(r=r.filter((e=>this._source.hasTile(e))))):r=[];let i=Pe(e,this._source),a=Math.max(i-Ie.maxOverzooming,this._source.minzoom),o=Math.max(i+Ie.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){let e={};for(let t of r)if(t.canonical.z>this._source.minzoom){let n=t.scaledTo(t.canonical.z-1);e[n.key]=n;let r=t.scaledTo(Math.max(this._source.minzoom,Math.min(t.canonical.z,5)));e[r.key]=r}r=r.concat(Object.values(e))}let s=r.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,s&&this.fire(new t.l(`data`,{sourceDataType:`idle`,dataType:`source`,sourceId:this.id}));let c=this._updateRetainedTiles(r,i);Re(this._source.type)&&this._updateCoveredAndRetainedTiles(c,a,o,i,r,n);for(let e in c)this._tiles[e].clearFadeHold();let l=t.aj(this._tiles,c);for(let e of l){let t=this._tiles[e];t.hasSymbolBuckets&&!t.holdingForFade()?t.setHoldDuration(this.map._fadeDuration):t.hasSymbolBuckets&&!t.symbolFadeFinished()||this._removeTile(e)}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache()}releaseSymbolFadeTiles(){for(let e in this._tiles)this._tiles[e].holdingForFade()&&this._removeTile(e)}_updateRetainedTiles(e,t){let n={},r={},i=Math.max(t-Ie.maxOverzooming,this._source.minzoom),a=Math.max(t+Ie.maxUnderzooming,this._source.minzoom),o={};for(let r of e){let e=this._addTile(r);n[r.key]=r,e.hasData()||t<this._source.maxzoom&&(o[r.key]=r)}this._retainLoadedChildren(o,t,a,n);for(let a of e){let e=this._tiles[a.key];if(e.hasData())continue;if(t+1>this._source.maxzoom){let e=a.children(this._source.maxzoom)[0],t=this.getTile(e);if(t&&t.hasData()){n[e.key]=e;continue}}else{let e=a.children(this._source.maxzoom);if(n[e[0].key]&&n[e[1].key]&&n[e[2].key]&&n[e[3].key])continue}let o=e.wasRequested();for(let t=a.overscaledZ-1;t>=i;--t){let i=a.scaledTo(t);if(r[i.key])break;if(r[i.key]=!0,e=this.getTile(i),!e&&o&&(e=this._addTile(i)),e){let t=e.hasData();if((t||!this.map?.cancelPendingTileRequestsWhileZooming||o)&&(n[i.key]=i),o=e.wasRequested(),t)break}}}return n}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(let e in this._tiles){let t=[],n,r=this._tiles[e].tileID;for(;r.overscaledZ>0;){if(r.key in this._loadedParentTiles){n=this._loadedParentTiles[r.key];break}t.push(r.key);let e=r.scaledTo(r.overscaledZ-1);if(n=this._getLoadedTile(e),n)break;r=e}for(let e of t)this._loadedParentTiles[e]=n}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(let e in this._tiles){let t=this._tiles[e].tileID,n=this._getLoadedTile(t);this._loadedSiblingTiles[t.key]=n}}_addTile(e){let n=this._tiles[e.key];if(n)return n;n=this._cache.getAndRemove(e),n&&(this._setTileReloadTimer(e.key,n),n.tileID=e,this._state.initializeTileState(n,this.map?this.map.painter:null),this._cacheTimers[e.key]&&(clearTimeout(this._cacheTimers[e.key]),delete this._cacheTimers[e.key],this._setTileReloadTimer(e.key,n)));let r=n;return n||(n=new Se(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(n,e.key,n.state)),n.uses++,this._tiles[e.key]=n,r||this._source.fire(new t.l(`dataloading`,{tile:n,coord:n.tileID,dataType:`source`})),n}_setTileReloadTimer(e,t){e in this._timers&&(clearTimeout(this._timers[e]),delete this._timers[e]);let n=t.getExpiryTimeout();n&&(this._timers[e]=setTimeout((()=>{this._reloadTile(e,`expired`),delete this._timers[e]}),n))}refreshTiles(e){for(let t in this._tiles)this._isIdRenderable(t)&&e.some((e=>e.equals(this._tiles[t].tileID.canonical)))&&this._reloadTile(t,`expired`)}_removeTile(e){let t=this._tiles[e];t&&(t.uses--,delete this._tiles[e],this._timers[e]&&(clearTimeout(this._timers[e]),delete this._timers[e]),t.uses>0||(t.hasData()&&t.state!==`reloading`?this._cache.add(t.tileID,t,t.getExpiryTimeout()):(t.aborted=!0,this._abortTile(t),this._unloadTile(t))))}_dataHandler(e){let t=e.sourceDataType;e.dataType===`source`&&t===`metadata`&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&e.dataType===`source`&&t===`content`&&(this.reload(e.sourceDataChanged),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(let e in this._tiles)this._removeTile(e);this._cache.reset()}tilesIn(e,n,r){let i=[],a=this.transform;if(!a)return i;let o=r?a.getCameraQueryGeometry(e):e,s=e.map((e=>a.screenPointToMercatorCoordinate(e,this.terrain))),c=o.map((e=>a.screenPointToMercatorCoordinate(e,this.terrain))),l=this.getIds(),u=1/0,d=1/0,f=-1/0,p=-1/0;for(let e of c)u=Math.min(u,e.x),d=Math.min(d,e.y),f=Math.max(f,e.x),p=Math.max(p,e.y);for(let e=0;e<l.length;e++){let r=this._tiles[l[e]];if(r.holdingForFade())continue;let o=a.getCoveringTilesDetailsProvider().allowWorldCopies()?r.tileID:r.tileID.unwrapTo(0),m=2**(a.zoom-r.tileID.overscaledZ
12),h=n*r.queryPadding*t.Z/r.tileSize/m,g=[o.getTilePoint(new t.$(u,d)),o.getTilePoint(new t.$(f,p))];if(g[0].x-h<t.Z&&g[0].y-h<t.Z&&g[1].x+h>=0&&g[1].y+h>=0){let e=s.map((e=>o.getTilePoint(e))),t=c.map((e=>o.getTilePoint(e)));i.push({tile:r,tileID:o,queryGeometry:e,cameraQueryGeometry:t,scale:m})}}return i}getVisibleCoordinates(e){let t=this.getRenderableIds(e).map((e=>this._tiles[e].tileID));return this.transform&&this.transform.populateCache(t),t}hasTransition(){if(this._source.hasTransition())return!0;if(Re(this._source.type)){let e=o.now();for(let t in this._tiles)if(this._tiles[t].fadeEndTime>=e)return!0}return!1}setFeatureState(e,t,n){this._state.updateState(e||=`_geojsonTileLayer`,t,n)}removeFeatureState(e,t,n){this._state.removeFeatureState(e||=`_geojsonTileLayer`,t,n)}getFeatureState(e,t){return this._state.getState(e||=`_geojsonTileLayer`,t)}setDependencies(e,t,n){let r=this._tiles[e];r&&r.setDependencies(t,n)}reloadTilesForDependencies(e,t){for(let n in this._tiles)this._tiles[n].hasDependency(e,t)&&this._reloadTile(n,`reloading`);this._cache.filter((n=>!n.hasDependency(e,t)))}}function Le(e,t){let n=Math.abs(2*e.wrap)-+(e.wrap<0),r=Math.abs(2*t.wrap)-+(t.wrap<0);return e.overscaledZ-t.overscaledZ||r-n||t.canonical.y-e.canonical.y||t.canonical.x-e.canonical.x}function Re(e){return e===`raster`||e===`image`||e===`video`}Ie.maxOverzooming=10,Ie.maxUnderzooming=3;class ze{constructor(e,t){this.reset(e,t)}reset(e,t){this.points=e||[],this._distances=[0];for(let e=1;e<this.points.length;e++)this._distances[e]=this._distances[e-1]+this.points[e].dist(this.points[e-1]);this.length=this._distances[this._distances.length-1],this.padding=Math.min(t||0,.5*this.length),this.paddedLength=this.length-2*this.padding}lerp(e){if(this.points.length===1)return this.points[0];e=t.ae(e,0,1);let n=1,r=this._distances[n],i=e*this.paddedLength+this.padding;for(;r<i&&n<this._distances.length;)r=this._distances[++n];let a=n-1,o=this._distances[a],s=r-o,c=s>0?(i-o)/s:0;return this.points[a].mult(1-c).add(this.points[n].mult(c))}}function Be(e,t){let n=!0;return e===`always`||e!==`never`&&t!==`never`||(n=!1),n}class Ve{constructor(e,t,n){let r=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(e/n),this.yCellCount=Math.ceil(t/n);for(let e=0;e<this.xCellCount*this.yCellCount;e++)r.push([]),i.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=e,this.height=t,this.xScale=this.xCellCount/e,this.yScale=this.yCellCount/t,this.boxUid=0,this.circleUid=0}keysLength(){return this.boxKeys.length+this.circleKeys.length}insert(e,t,n,r,i){this._forEachCell(t,n,r,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(e),this.bboxes.push(t),this.bboxes.push(n),this.bboxes.push(r),this.bboxes.push(i)}insertCircle(e,t,n,r){this._forEachCell(t-r,n-r,t+r,n+r,this._insertCircleCell,this.circleUid++),this.circleKeys.push(e),this.circles.push(t),this.circles.push(n),this.circles.push(r)}_insertBoxCell(e,t,n,r,i,a){this.boxCells[i].push(a)}_insertCircleCell(e,t,n,r,i,a){this.circleCells[i].push(a)}_query(e,t,n,r,i,a,o){if(n<0||e>this.width||r<0||t>this.height)return[];let s=[];if(e<=0&&t<=0&&this.width<=n&&this.height<=r){if(i)return[{key:null,x1:e,y1:t,x2:n,y2:r}];for(let e=0;e<this.boxKeys.length;e++)s.push({key:this.boxKeys[e],x1:this.bboxes[4*e],y1:this.bboxes[4*e+1],x2:this.bboxes[4*e+2],y2:this.bboxes[4*e+3]});for(let e=0;e<this.circleKeys.length;e++){let t=this.circles[3*e],n=this.circles[3*e+1],r=this.circles[3*e+2];s.push({key:this.circleKeys[e],x1:t-r,y1:n-r,x2:t+r,y2:n+r})}}else this._forEachCell(e,t,n,r,this._queryCell,s,{hitTest:i,overlapMode:a,seenUids:{box:{},circle:{}}},o);return s}query(e,t,n,r){return this._query(e,t,n,r,!1,null)}hitTest(e,t,n,r,i,a){return this._query(e,t,n,r,!0,i,a).length>0}hitTestCircle(e,t,n,r,i){let a=e-n,o=e+n,s=t-n,c=t+n;if(o<0||a>this.width||c<0||s>this.height)return!1;let l=[];return this._forEachCell(a,s,o,c,this._queryCellCircle,l,{hitTest:!0,overlapMode:r,circle:{x:e,y:t,radius:n},seenUids:{box:{},circle:{}}},i),l.length>0}_queryCell(e,t,n,r,i,a,o,s){let{seenUids:c,hitTest:l,overlapMode:u}=o,d=this.boxCells[i];if(d!==null){let i=this.bboxes;for(let o of d)if(!c.box[o]){c.box[o]=!0;let d=4*o,f=this.boxKeys[o];if(e<=i[d+2]&&t<=i[d+3]&&n>=i[d+0]&&r>=i[d+1]&&(!s||s(f))&&(!l||!Be(u,f.overlapMode))&&(a.push({key:f,x1:i[d],y1:i[d+1],x2:i[d+2],y2:i[d+3]}),l))return!0}}let f=this.circleCells[i];if(f!==null){let i=this.circles;for(let o of f)if(!c.circle[o]){c.circle[o]=!0;let d=3*o,f=this.circleKeys[o];if(this._circleAndRectCollide(i[d],i[d+1],i[d+2],e,t,n,r)&&(!s||s(f))&&(!l||!Be(u,f.overlapMode))){let e=i[d],t=i[d+1],n=i[d+2];if(a.push({key:f,x1:e-n,y1:t-n,x2:e+n,y2:t+n}),l)return!0}}}return!1}_queryCellCircle(e,t,n,r,i,a,o,s){let{circle:c,seenUids:l,overlapMode:u}=o,d=this.boxCells[i];if(d!==null){let e=this.bboxes;for(let t of d)if(!l.box[t]){l.box[t]=!0;let n=4*t,r=this.boxKeys[t];if(this._circleAndRectCollide(c.x,c.y,c.radius,e[n+0],e[n+1],e[n+2],e[n+3])&&(!s||s(r))&&!Be(u,r.overlapMode))return a.push(!0),!0}}let f=this.circleCells[i];if(f!==null){let e=this.circles;for(let t of f)if(!l.circle[t]){l.circle[t]=!0;let n=3*t,r=this.circleKeys[t];
12if(this._circlesCollide(e[n],e[n+1],e[n+2],c.x,c.y,c.radius)&&(!s||s(r))&&!Be(u,r.overlapMode))return a.push(!0),!0}}}_forEachCell(e,t,n,r,i,a,o,s){let c=this._convertToXCellCoord(e),l=this._convertToYCellCoord(t),u=this._convertToXCellCoord(n),d=this._convertToYCellCoord(r);for(let f=c;f<=u;f++)for(let c=l;c<=d;c++)if(i.call(this,e,t,n,r,this.xCellCount*c+f,a,o,s))return}_convertToXCellCoord(e){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(e*this.xScale)))}_convertToYCellCoord(e){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(e*this.yScale)))}_circlesCollide(e,t,n,r,i,a){let o=r-e,s=i-t,c=n+a;return c*c>o*o+s*s}_circleAndRectCollide(e,t,n,r,i,a,o){let s=(a-r)/2,c=Math.abs(e-(r+s));if(c>s+n)return!1;let l=(o-i)/2,u=Math.abs(t-(i+l));if(u>l+n)return!1;if(c<=s||u<=l)return!0;let d=c-s,f=u-l;return d*d+f*f<=n*n}}function He(e,n,i){let a=t.K();if(!e){let{vecSouth:e,vecEast:t}=R(n),i=r();i[0]=t[0],i[1]=t[1],i[2]=e[0],i[3]=e[1],o=i,(f=(c=(s=i)[0])*(d=s[3])-(u=s[2])*(l=s[1]))&&(o[0]=d*(f=1/f),o[1]=-l*f,o[2]=-u*f,o[3]=c*f),a[0]=i[0],a[1]=i[1],a[4]=i[2],a[5]=i[3]}var o,s,c,l,u,d,f;return t.M(a,a,[1/i,1/i,1]),a}function Ue(e,n,r,i){if(e){let e=t.K();if(!n){let{vecSouth:t,vecEast:n}=R(r);e[0]=n[0],e[1]=n[1],e[4]=t[0],e[5]=t[1]}return t.M(e,e,[i,i,1]),e}return r.pixelsToClipSpaceMatrix}function R(e){let n=Math.cos(e.rollInRadians),r=Math.sin(e.rollInRadians),i=Math.cos(e.pitchInRadians),a=Math.cos(e.bearingInRadians),o=Math.sin(e.bearingInRadians),s=t.ao();s[0]=-a*i*r-o*n,s[1]=-o*i*r+a*n;let c=t.ap(s);c<1e-9?t.aq(s):t.ar(s,s,1/c);let l=t.ao();l[0]=a*i*n-o*r,l[1]=o*i*n+a*r;let u=t.ap(l);return u<1e-9?t.aq(l):t.ar(l,l,1/u),{vecEast:l,vecSouth:s}}function We(e,n,r,i){let a;i?(a=[e,n,i(e,n),1],t.at(a,a,r)):(a=[e,n,0,1],rt(a,a,r));let o=a[3];return{point:new t.P(a[0]/o,a[1]/o),signedDistanceFromCamera:o,isOccluded:!1}}function Ge(e,t){return .5+e/t*.5}function Ke(e,t){return e.x>=-t[0]&&e.x<=t[0]&&e.y>=-t[1]&&e.y<=t[1]}function qe(e,n,r,i,a,o,s,c,l,u,d,f,p){let m=r?e.textSizeData:e.iconSizeData,h=t.ak(m,n.transform.zoom),g=[256/n.width*2+1,256/n.height*2+1],_=r?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;_.clear();let v=e.lineVertexArray,y=r?e.text.placedSymbolArray:e.icon.placedSymbolArray,b=n.transform.width/n.transform.height,x=!1;for(let r=0;r<y.length;r++){let S=y.get(r);if(S.hidden||S.writingMode===t.al.vertical&&!x){nt(S.numGlyphs,_);continue}x=!1;let C=new t.P(S.anchorX,S.anchorY),w={getElevation:p,pitchedLabelPlaneMatrix:i,lineVertexArray:v,pitchWithMap:o,projectionCache:{projections:{},offsets:{},cachedAnchorPoint:void 0,anyProjectionOccluded:!1},transform:n.transform,tileAnchorPoint:C,unwrappedTileID:l,width:u,height:d,translation:f},T=Ze(S.anchorX,S.anchorY,w);if(!Ke(T.point,g)){nt(S.numGlyphs,_);continue}let E=Ge(n.transform.cameraToCenterDistance,T.signedDistanceFromCamera),D=t.am(m,h,S),O=o?D*n.transform.getPitchedTextCorrection(S.anchorX,S.anchorY,l)/E:D*E,k=V({projectionContext:w,pitchedLabelPlaneMatrixInverse:a,symbol:S,fontSize:O,flip:!1,keepUpright:s,glyphOffsetArray:e.glyphOffsetArray,dynamicLayoutVertexArray:_,aspectRatio:b,rotateToLine:c});x=k.useVertical,(k.notEnoughRoom||x||k.needsFlipping&&V({projectionContext:w,pitchedLabelPlaneMatrixInverse:a,symbol:S,fontSize:O,flip:!0,keepUpright:s,glyphOffsetArray:e.glyphOffsetArray,dynamicLayoutVertexArray:_,aspectRatio:b,rotateToLine:c}).notEnoughRoom)&&nt(S.numGlyphs,_)}r?e.text.dynamicLayoutVertexBuffer.updateData(_):e.icon.dynamicLayoutVertexBuffer.updateData(_)}function z(e,t,n,r,i,a,o,s){let c=a.glyphStartIndex+a.numGlyphs,l=a.lineStartIndex,u=a.lineStartIndex+a.lineLength,d=t.getoffsetX(a.glyphStartIndex),f=t.getoffsetX(c-1),p=et(e*d,n,r,i,a.segment,l,u,s,o);if(!p)return null;let m=et(e*f,n,r,i,a.segment,l,u,s,o);return m?s.projectionCache.anyProjectionOccluded?null:{first:p,last:m}:null}function B(e,n,r,i){return e===t.al.horizontal&&Math.abs(r.y-n.y)>Math.abs(r.x-n.x)*i?{useVertical:!0}:(e===t.al.vertical?n.y<r.y:n.x>r.x)?{needsFlipping:!0}:null}function V(e){let{projectionContext:n,pitchedLabelPlaneMatrixInverse:r,symbol:i,fontSize:a,flip:o,keepUpright:s,glyphOffsetArray:c,dynamicLayoutVertexArray:l,aspectRatio:u,rotateToLine:d}=e,f=a/24,p=i.lineOffsetX*f,m=i.lineOffsetY*f,h;if(i.numGlyphs>1){let e=i.glyphStartIndex+i.numGlyphs,t=i.lineStartIndex,a=i.lineStartIndex+i.lineLength,l=z(f,c,p,m,o,i,d,n);if(!l)return{notEnoughRoom:!0};let g=H(l.first.point.x,l.first.point.y,n,r),_=H(l.last.point.x,l.last.point.y,n,r);if(s&&!o){let e=B(i.writingMode,g,_,u);if(e)return e}h=[l.first];for(let r=i.glyphStartIndex+1;r<e-1;r++)h.push(et(f*c.getoffsetX(r),p,m,o,i.segment,t,a,n,d));h.push(l.last)}else{if(s&&!o){let e=Xe(n.tileAnchorPoint.x,n.tileAnchorPoint.y,n).point,a=i.lineStartIndex+i.segment+1,o=new t.P(n.lineVertexArray.getx(a),n.lineVertexArray.gety(a)),s=Xe(o.x,o.y,n),c=s.signedDistanceFromCamera>0?s.point:Je(n.tileAnchorPoint,o,e,1,n),l=H(e.x,e.y,n,r),d=H(c.x,c.y,n,r),f=B(i.writingMode,l,d,u);
12if(f)return f}let e=et(f*c.getoffsetX(i.glyphStartIndex),p,m,o,i.segment,i.lineStartIndex,i.lineStartIndex+i.lineLength,n,d);if(!e||n.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};h=[e]}for(let e of h)t.as(l,e.point,e.angle);return{}}function Je(e,t,n,r,i){let a=e.add(e.sub(t)._unit()),o=Xe(a.x,a.y,i).point,s=n.sub(o);return n.add(s._mult(r/s.mag()))}function Ye(e,n,r){let i=n.projectionCache;if(i.projections[e])return i.projections[e];let a=new t.P(n.lineVertexArray.getx(e),n.lineVertexArray.gety(e)),o=Xe(a.x,a.y,n);if(o.signedDistanceFromCamera>0)return i.projections[e]=o.point,i.anyProjectionOccluded=i.anyProjectionOccluded||o.isOccluded,o.point;let s=e-r.direction;return Je(r.distanceFromAnchor===0?n.tileAnchorPoint:new t.P(n.lineVertexArray.getx(s),n.lineVertexArray.gety(s)),a,r.previousVertex,r.absOffsetX-r.distanceFromAnchor+1,n)}function Xe(e,t,n){let r=e+n.translation[0],i=t+n.translation[1],a;return n.pitchWithMap?(a=We(r,i,n.pitchedLabelPlaneMatrix,n.getElevation),a.isOccluded=!1):(a=n.transform.projectTileCoordinates(r,i,n.unwrappedTileID,n.getElevation),a.point.x=(.5*a.point.x+.5)*n.width,a.point.y=(.5*-a.point.y+.5)*n.height),a}function H(e,n,r,i){if(r.pitchWithMap){let a=[e,n,0,1];return t.at(a,a,i),r.transform.projectTileCoordinates(a[0]/a[3],a[1]/a[3],r.unwrappedTileID,r.getElevation).point}return{x:e/r.width*2-1,y:n/r.height*2-1}}function Ze(e,t,n){return n.transform.projectTileCoordinates(e,t,n.unwrappedTileID,n.getElevation)}function Qe(e,t,n){return e._unit()._perp()._mult(t*n)}function $e(e,n,r,i,a,o,s,c,l){if(c.projectionCache.offsets[e])return c.projectionCache.offsets[e];let u=r.add(n);if(e+l.direction<i||e+l.direction>=a)return c.projectionCache.offsets[e]=u,u;let d=Ye(e+l.direction,c,l),f=Qe(d.sub(r),s,l.direction),p=r.add(f),m=d.add(f);return c.projectionCache.offsets[e]=t.au(o,u,p,m)||u,c.projectionCache.offsets[e]}function et(e,t,n,r,i,a,o,s,c){let l=r?e-t:e+t,u=l>0?1:-1,d=0;r&&(u*=-1,d=Math.PI),u<0&&(d+=Math.PI);let f,p=u>0?a+i:a+i+1;s.projectionCache.cachedAnchorPoint?f=s.projectionCache.cachedAnchorPoint:(f=Xe(s.tileAnchorPoint.x,s.tileAnchorPoint.y,s).point,s.projectionCache.cachedAnchorPoint=f);let m,h,g=f,_=f,v=0,y=0,b=Math.abs(l),x=[],S;for(;v+y<=b;){if(p+=u,p<a||p>=o)return null;v+=y,_=g,h=m;let e={absOffsetX:b,direction:u,distanceFromAnchor:v,previousVertex:_};if(g=Ye(p,s,e),n===0)x.push(_),S=g.sub(_);else{let t,r=g.sub(_);t=r.mag()===0?Qe(Ye(p+u,s,e).sub(g),n,u):Qe(r,n,u),h||=_.add(t),m=$e(p,t,g,a,o,h,n,s,e),x.push(h),S=m.sub(h)}y=S.mag()}let C=S._mult((b-v)/y)._add(h||_),w=d+Math.atan2(g.y-_.y,g.x-_.x);return x.push(C),{point:C,angle:c?w:0,path:x}}let tt=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function nt(e,t){for(let n=0;n<e;n++){let e=t.length;t.resize(e+4),t.float32.set(tt,3*e)}}function rt(e,t,n){let r=t[0],i=t[1];return e[0]=n[0]*r+n[4]*i+n[12],e[1]=n[1]*r+n[5]*i+n[13],e[3]=n[3]*r+n[7]*i+n[15],e}class it{constructor(e,t=new Ve(e.width+200,e.height+200,25),n=new Ve(e.width+200,e.height+200,25)){this.transform=e,this.grid=t,this.ignoredGrid=n,this.pitchFactor=Math.cos(e.pitch*Math.PI/180)*e.cameraToCenterDistance,this.screenRightBoundary=e.width+100,this.screenBottomBoundary=e.height+100,this.gridRightBoundary=e.width+200,this.gridBottomBoundary=e.height+200,this.perspectiveRatioCutoff=.6}placeCollisionBox(e,t,n,r,i,a,o,s,c,l,u,d){let f=this.projectAndGetPerspectiveRatio(e.anchorPointX+s[0],e.anchorPointY+s[1],i,l,d),p=n*f.perspectiveRatio,m;if(a||o)m=this._projectCollisionBox(e,p,r,i,a,o,s,f,l,u,d);else{let t=f.x+(u?u.x*p:0),n=f.y+(u?u.y*p:0);m={allPointsOccluded:!1,box:[t+e.x1*p,n+e.y1*p,t+e.x2*p,n+e.y2*p]}}let[h,g,_,v]=m.box,y=a?m.allPointsOccluded:f.isOccluded,b=y;return b||=f.perspectiveRatio<this.perspectiveRatioCutoff,b||=!this.isInsideGrid(h,g,_,v),b||t!==`always`&&this.grid.hitTest(h,g,_,v,t,c)?{box:[h,g,_,v],placeable:!1,offscreen:!1,occluded:y}:{box:[h,g,_,v],placeable:!0,offscreen:this.isOffscreen(h,g,_,v),occluded:y}}placeCollisionCircles(e,n,r,i,a,o,s,c,l,u,d,f,p,m){let h=[],g=new t.P(n.anchorX,n.anchorY),_=this.getPerspectiveRatio(g.x,g.y,o,m),v=(l?a*this.transform.getPitchedTextCorrection(n.anchorX,n.anchorY,o)/_:a*_)/t.ay,y={getElevation:m,pitchedLabelPlaneMatr
12ix:s,lineVertexArray:r,pitchWithMap:l,projectionCache:{projections:{},offsets:{},cachedAnchorPoint:void 0,anyProjectionOccluded:!1},transform:this.transform,tileAnchorPoint:g,unwrappedTileID:o,width:this.transform.width,height:this.transform.height,translation:p},b=z(v,i,n.lineOffsetX*v,n.lineOffsetY*v,!1,n,!1,y),x=!1,S=!1,C=!0;if(b){let n=.5*d*_+f,r=new t.P(-100,-100),i=new t.P(this.screenRightBoundary,this.screenBottomBoundary),a=new ze,o=b.first,s=b.last,p=[];for(let e=o.path.length-1;e>=1;e--)p.push(o.path[e]);for(let e=1;e<s.path.length;e++)p.push(s.path[e]);let m=2.5*n;if(l){let e=this.projectPathToScreenSpace(p,y);p=e.some((e=>e.signedDistanceFromCamera<=0))?[]:e.map((e=>e.point))}let g=[];if(p.length>0){let e=p[0].clone(),n=p[0].clone();for(let t=1;t<p.length;t++)e.x=Math.min(e.x,p[t].x),e.y=Math.min(e.y,p[t].y),n.x=Math.max(n.x,p[t].x),n.y=Math.max(n.y,p[t].y);g=e.x>=r.x&&n.x<=i.x&&e.y>=r.y&&n.y<=i.y?[p]:n.x<r.x||e.x>i.x||n.y<r.y||e.y>i.y?[]:t.av([p],r.x,r.y,i.x,i.y)}for(let t of g){a.reset(t,.25*n);let r=0;r=a.length<=.5*n?1:Math.ceil(a.paddedLength/m)+1;for(let t=0;t<r;t++){let i=t/Math.max(r-1,1),o=a.lerp(i),s=o.x+100,l=o.y+100;h.push(s,l,n,0);let d=s-n,f=l-n,p=s+n,m=l+n;if(C&&=this.isOffscreen(d,f,p,m),S||=this.isInsideGrid(d,f,p,m),e!==`always`&&this.grid.hitTestCircle(s,l,n,e,u)&&(x=!0,!c))return{circles:[],offscreen:!1,collisionDetected:x}}}}return{circles:!c&&x||!S||_<this.perspectiveRatioCutoff?[]:h,offscreen:C,collisionDetected:x}}projectPathToScreenSpace(e,n){return function(e){let t=0,n=0,r=0,i=0;for(let a=0;a<e.length;a++)e[a].isOccluded?(r=a+1,i=0):(i++,i>n&&(n=i,t=r));return e.slice(t,t+n)}(function(e,n){let r=t.K();return t.an(r,n.pitchedLabelPlaneMatrix),e.map((e=>{let t=We(e.x,e.y,r,n.getElevation),i=n.transform.projectTileCoordinates(t.point.x,t.point.y,n.unwrappedTileID,n.getElevation);return i.point.x=(.5*i.point.x+.5)*n.width,i.point.y=(.5*-i.point.y+.5)*n.height,i}))}(e,n))}queryRenderedSymbols(e){if(e.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};let n=[],r=1/0,i=1/0,a=-1/0,o=-1/0;for(let s of e){let e=new t.P(s.x+100,s.y+100);r=Math.min(r,e.x),i=Math.min(i,e.y),a=Math.max(a,e.x),o=Math.max(o,e.y),n.push(e)}let s=this.grid.query(r,i,a,o).concat(this.ignoredGrid.query(r,i,a,o)),c={},l={};for(let e of s){let r=e.key;if(c[r.bucketInstanceId]===void 0&&(c[r.bucketInstanceId]={}),c[r.bucketInstanceId][r.featureIndex])continue;let i=[new t.P(e.x1,e.y1),new t.P(e.x2,e.y1),new t.P(e.x2,e.y2),new t.P(e.x1,e.y2)];t.aw(n,i)&&(c[r.bucketInstanceId][r.featureIndex]=!0,l[r.bucketInstanceId]===void 0&&(l[r.bucketInstanceId]=[]),l[r.bucketInstanceId].push(r.featureIndex))}return l}insertCollisionBox(e,t,n,r,i,a){(n?this.ignoredGrid:this.grid).insert({bucketInstanceId:r,featureIndex:i,collisionGroupID:a,overlapMode:t},e[0],e[1],e[2],e[3])}insertCollisionCircles(e,t,n,r,i,a){let o=n?this.ignoredGrid:this.grid,s={bucketInstanceId:r,featureIndex:i,collisionGroupID:a,overlapMode:t};for(let t=0;t<e.length;t+=4)o.insertCircle(s,e[t],e[t+1],e[t+2])}projectAndGetPerspectiveRatio(e,n,r,i,a){if(a){let r;i?(r=[e,n,i(e,n),1],t.at(r,r,a)):(r=[e,n,0,1],rt(r,r,a));let o=r[3];return{x:(r[0]/o+1)/2*this.transform.width+100,y:(-r[1]/o+1)/2*this.transform.height+100,perspectiveRatio:.5+this.transform.cameraToCenterDistance/o*.5,isOccluded:!1,signedDistanceFromCamera:o}}{let t=this.transform.projectTileCoordinates(e,n,r,i);return{x:(t.point.x+1)/2*this.transform.width+100,y:(1-t.point.y)/2*this.transform.height+100,perspectiveRatio:.5+this.transform.cameraToCenterDistance/t.signedDistanceFromCamera*.5,isOccluded:t.isOccluded,signedDistanceFromCamera:t.signedDistanceFromCamera}}}getPerspectiveRatio(e,t,n,r){let i=this.transform.projectTileCoordinates(e,t,n,r);return .5+this.transform.cameraToCenterDistance/i.signedDistanceFromCamera*.5}isOffscreen(e,t,n,r){return n<100||e>=this.screenRightBoundary||r<100||t>this.screenBottomBoundary}isInsideGrid(e,t,n,r){return n>=0&&e<this.gridRightBoundary&&r>=0&&t<this.gridBottomBoundary}getViewportMatrix(){let e=t.ad([]);return t.L(e,e,[-100,-100,0]),e}_projectCollisionBox(e,n,r,i,a,o,s,c,l,u,d){let f=1,p=0,m=0,h=1,g=e.anchorPointX+s[0],_=e.anchorPointY+s[1];if(o&&!a){let e=this.projectAndGetPerspectiveRatio(g+1,_,i,l,d),t=e.x-c.x,n=Math.atan((e.y-c.y)/t)+(t<0?Math.PI:0),r=M
12ath.sin(n),a=Math.cos(n);f=a,p=r,m=-r,h=a}else if(!o&&a){let e=R(this.transform);f=e.vecEast[0],p=e.vecEast[1],m=e.vecSouth[0],h=e.vecSouth[1]}let v=c.x,y=c.y,b=n;a&&(v=g,y=_,b=2**-(this.transform.zoom-r.overscaledZ),b*=this.transform.getPitchedTextCorrection(g,_,i),u||(b*=t.ae(.5+c.signedDistanceFromCamera/this.transform.cameraToCenterDistance*.5,0,4))),u&&(v+=f*u.x*b+m*u.y*b,y+=p*u.x*b+h*u.y*b);let x=e.x1*b,S=e.x2*b,C=(x+S)/2,w=e.y1*b,T=e.y2*b,E=(w+T)/2,D=[{offsetX:x,offsetY:w},{offsetX:C,offsetY:w},{offsetX:S,offsetY:w},{offsetX:S,offsetY:E},{offsetX:S,offsetY:T},{offsetX:C,offsetY:T},{offsetX:x,offsetY:T},{offsetX:x,offsetY:E}],O=[];for(let{offsetX:e,offsetY:n}of D)O.push(new t.P(v+f*e+m*n,y+p*e+h*n));let k=!1;if(a){let e=O.map((e=>this.projectAndGetPerspectiveRatio(e.x,e.y,i,l,d)));k=e.some((e=>!e.isOccluded)),O=e.map((e=>new t.P(e.x,e.y)))}else k=!0;return{box:t.ax(O),allPointsOccluded:!k}}}class at{constructor(e,t,n,r){this.opacity=e?Math.max(0,Math.min(1,e.opacity+(e.placed?t:-t))):r&&n?1:0,this.placed=n}isHidden(){return this.opacity===0&&!this.placed}}class ot{constructor(e,t,n,r,i){this.text=new at(e?e.text:null,t,n,i),this.icon=new at(e?e.icon:null,t,r,i)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class st{constructor(e,t,n){this.text=e,this.icon=t,this.skipFade=n}}class ct{constructor(e,t,n,r,i){this.bucketInstanceId=e,this.featureIndex=t,this.sourceLayerIndex=n,this.bucketIndex=r,this.tileID=i}}class lt{constructor(e){this.crossSourceCollisions=e,this.maxGroupID=0,this.collisionGroups={}}get(e){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[e]){let t=++this.maxGroupID;this.collisionGroups[e]={ID:t,predicate:e=>e.collisionGroupID===t}}return this.collisionGroups[e]}}function ut(e,n,r,i,a){let{horizontalAlign:o,verticalAlign:s}=t.aE(e);return new t.P(-(o-.5)*n+i[0]*a,-(s-.5)*r+i[1]*a)}class dt{constructor(e,t,n,r,i){this.transform=e.clone(),this.terrain=t,this.collisionIndex=new it(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=n,this.retainedQueryData={},this.collisionGroups=new lt(r),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=i,i&&(i.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(e){let t=this.terrain;return t?(n,r)=>t.getElevation(e,n,r):null}getBucketParts(e,n,r,i){let a=r.getBucket(n),o=r.latestFeatureIndex;if(!a||!o||n.id!==a.layerIds[0])return;let s=r.collisionBoxArray,c=a.layers[0].layout,l=a.layers[0].paint,u=2**(this.transform.zoom-r.tileID.overscaledZ),d=r.tileSize/t.Z,f=r.tileID.toUnwrapped(),p=c.get(`text-rotation-alignment`)===`map`,m=t.az(r,1,this.transform.zoom),h=t.aA(this.collisionIndex.transform,r,l.get(`text-translate`),l.get(`text-translate-anchor`)),g=t.aA(this.collisionIndex.transform,r,l.get(`icon-translate`),l.get(`icon-translate-anchor`)),_=He(p,this.transform,m);this.retainedQueryData[a.bucketInstanceId]=new ct(a.bucketInstanceId,o,a.sourceLayerIndex,a.index,r.tileID);let v={bucket:a,layout:c,translationText:h,translationIcon:g,unwrappedTileID:f,pitchedLabelPlaneMatrix:_,scale:u,textPixelRatio:d,holdingForFade:r.holdingForFade(),collisionBoxArray:s,partiallyEvaluatedTextSize:t.ak(a.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(a.sourceID)};if(i)for(let t of a.sortKeyRanges){let{sortKey:n,symbolInstanceStart:r,symbolInstanceEnd:i}=t;e.push({sortKey:n,symbolInstanceStart:r,symbolInstanceEnd:i,parameters:v})}else e.push({symbolInstanceStart:0,symbolInstanceEnd:a.symbolInstances.length,parameters:v})}attemptAnchorPlacement(e,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b){let x=t.aB[e.textAnchor],S=[e.textOffset0,e.textOffset1],C=ut(x,r,i,S,a),w=this.collisionIndex.placeCollisionBox(n,f,c,l,u,s,o,g,d.predicate,y,C,b);if((!v||this.collisionIndex.placeCollisionBox(v,f,c,l,u,s,o,_,d.predicate,y,C,b).placeable)&&w.placeable){let e;if(this.prevPlacement&&this.prevPlacement.variableOffsets[p.crossTileID]&&this.prevPlacement.placements[p.crossTileID]&&this.prevPlacement.placements[p.
12crossTileID].text&&(e=this.prevPlacement.variableOffsets[p.crossTileID].anchor),p.crossTileID===0)throw Error(`symbolInstance.crossTileID can't be 0`);return this.variableOffsets[p.crossTileID]={textOffset:S,width:r,height:i,anchor:x,textBoxScale:a,prevAnchor:e},this.markUsedJustification(m,x,p,h),m.allowVerticalPlacement&&(this.markUsedOrientation(m,h,p),this.placedOrientations[p.crossTileID]=h),{shift:C,placedGlyphBoxes:w}}}placeLayerBucketPart(e,n,r){let{bucket:i,layout:a,translationText:o,translationIcon:s,unwrappedTileID:c,pitchedLabelPlaneMatrix:l,textPixelRatio:u,holdingForFade:d,collisionBoxArray:f,partiallyEvaluatedTextSize:p,collisionGroup:m}=e.parameters,h=a.get(`text-optional`),g=a.get(`icon-optional`),_=t.aC(a,`text-overlap`,`text-allow-overlap`),v=_===`always`,y=t.aC(a,`icon-overlap`,`icon-allow-overlap`),b=y===`always`,x=a.get(`text-rotation-alignment`)===`map`,S=a.get(`text-pitch-alignment`)===`map`,C=a.get(`icon-text-fit`)!==`none`,w=a.get(`symbol-z-order`)===`viewport-y`,T=v&&(b||!i.hasIconData()||g),E=b&&(v||!i.hasTextData()||h);!i.collisionArrays&&f&&i.deserializeCollisionBoxes(f);let D=this.retainedQueryData[i.bucketInstanceId].tileID,O=this._getTerrainElevationFunc(D),k=this.transform.getFastPathSimpleProjectionMatrix(D),A=(e,f,b)=>{if(n[e.crossTileID])return;if(d)return void(this.placements[e.crossTileID]=new st(!1,!1,!1));let w=!1,A=!1,ee=!0,te=null,j={box:null,placeable:!1,offscreen:null,occluded:!1},ne={placeable:!1},re=null,M=null,ie=null,ae=0,oe=0,se=0;f.textFeatureIndex?ae=f.textFeatureIndex:e.useRuntimeCollisionCircles&&(ae=e.featureIndex),f.verticalTextFeatureIndex&&(oe=f.verticalTextFeatureIndex);let ce=f.textBox;if(ce){let n=n=>{let r=t.al.horizontal;if(i.allowVerticalPlacement&&!n&&this.prevPlacement){let t=this.prevPlacement.placedOrientations[e.crossTileID];t&&(this.placedOrientations[e.crossTileID]=t,r=t,this.markUsedOrientation(i,r,e))}return r},a=(n,r)=>{if(i.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&f.verticalTextBox){for(let e of i.writingModes)if(e===t.al.vertical?(j=r
12(),ne=j):j=n(),j&&j.placeable)break}else j=n()},l=e.textAnchorOffsetStartIndex,d=e.textAnchorOffsetEndIndex;if(d===l){let r=(t,n)=>{let r=this.collisionIndex.placeCollisionBox(t,_,u,D,c,S,x,o,m.predicate,O,void 0,k);return r&&r.placeable&&(this.markUsedOrientation(i,n,e),this.placedOrientations[e.crossTileID]=n),r};a((()=>r(ce,t.al.horizontal)),(()=>{let n=f.verticalTextBox;return i.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&n?r(n,t.al.vertical):{box:null,offscreen:null}})),n(j&&j.placeable)}else{let p=t.aB[this.prevPlacement?.variableOffsets[e.crossTileID]?.anchor],h=(t,n,a)=>{let f=t.x2-t.x1,h=t.y2-t.y1,g=e.textBoxScale,v=C&&y===`never`?n:null,b=null,T=_===`never`?1:2,E=`never`;p&&T++;for(let n=0;n<T;n++){for(let n=l;n<d;n++){let r=i.textAnchorOffsets.get(n);if(p&&r.textAnchor!==p)continue;let l=this.attemptAnchorPlacement(r,t,f,h,g,x,S,u,D,c,m,E,e,i,a,o,s,v,O);if(l&&(b=l.placedGlyphBoxes,b&&b.placeable))return w=!0,te=l.shift,b}p?p=null:E=_}return r&&!b&&(b={box:this.collisionIndex.placeCollisionBox(ce,`always`,u,D,c,S,x,o,m.predicate,O,void 0,k).box,offscreen:!1,placeable:!1,occluded:!1}),b};a((()=>h(ce,f.iconBox,t.al.horizontal)),(()=>{let n=f.verticalTextBox;return i.allowVerticalPlacement&&(!j||!j.placeable)&&e.numVerticalGlyphVertices>0&&n?h(n,f.verticalIconBox,t.al.vertical):{box:null,occluded:!0,offscreen:null}})),j&&(w=j.placeable,ee=j.offscreen);let g=n(j&&j.placeable);if(!w&&this.prevPlacement){let t=this.prevPlacement.variableOffsets[e.crossTileID];t&&(this.variableOffsets[e.crossTileID]=t,this.markUsedJustification(i,t.anchor,e,g))}}}if(re=j,w=re&&re.placeable,ee=re&&re.offscreen,e.useRuntimeCollisionCircles){let n=i.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),s=t.am(i.textSizeData,p,n),u=a.get(`text-padding`);M=this.collisionIndex.placeCollisionCircles(_,n,i.lineVertexArray,i.glyphOffsetArray,s,c,l,r,S,m.predicate,e.collisionCircleDiameter,u,o,O),M.circles.length&&M.collisionDetected&&!r&&t.w(`Collisions detected, but collision boxes are not shown`),w=v||M.circles.length>0&&!M.collisionDetected,ee&&=M.offscreen}if(f.iconFeatureIndex&&(se=f.iconFeatureIndex),f.iconBox){let e=e=>this.collisionIndex.placeCollisionBox(e,y,u,D,c,S,x,s,m.predicate,O,C&&te?te:void 0,k);ne&&ne.placeable&&f.verticalIconBox?(ie=e(f.verticalIconBox),A=ie.placeable):(ie=e(f.iconBox),A=ie.placeable),ee&&=ie.offscreen}let le=h||e.numHorizontalGlyphVertices===0&&e.numVerticalGlyphVertices===0,N=g||e.numIconVertices===0;le||N?N?le||(A&&=w):w=A&&w:A=w=A&&w;let P=A&&ie.placeable;if(w&&re.placeable&&this.collisionIndex.insertCollisionBox(re.box,_,a.get(`text-ignore-placement`),i.bucketInstanceId,ne&&ne.placeable&&oe?oe:ae,m.ID),P&&this.collisionIndex.insertCollisionBox(ie.box,y,a.get(`icon-ignore-placement`),i.bucketInstanceId,se,m.ID),M&&w&&this.collisionIndex.insertCollisionCircles(M.circles,_,a.get(`text-ignore-placement`),i.bucketInstanceId,ae,m.ID),r&&this.storeCollisionData(i.bucketInstanceId,b,f,re,ie,M),e.crossTileID===0)throw Error(`symbolInstance.crossTileID can't be 0`);if(i.bucketInstanceId===0)throw Error(`bucket.bucketInstanceId can't be 0`);this.placements[e.crossTileID]=new st((w||T)&&!re?.occluded,(A||E)&&!ie?.occluded,ee||i.justReloaded),n[e.crossTileID]=!0};if(w){if(e.symbolInstanceStart!==0)throw Error(`bucket.bucketInstanceId should be 0`);let t=i.getSortedSymbolIndexes(-this.transform.bearingInRadians);for(let e=t.length-1;e>=0;--e){let n=t[e];A(i.symbolInstances.get(n),i.collisionArrays[n],n)}}else for(let t=e.symbolInstanceStart;t<e.symbolInstanceEnd;t++)A(i.symbolInstances.get(t),i.collisionArrays[t],t);i.justReloaded=!1}storeCollisionData(e,t,n,r,i,a){if(n.textBox||n.iconBox){let a,o;this.collisionBoxArrays.has(e)?a=this.collisionBoxArrays.get(e):(a=new Map,this.collisionBoxArrays.set(e,a)),a.has(t)?o=a.get(t):(o={text:null,icon:null},a.set(t,o)),n.textBox&&(o.text=r.box),n.iconBox&&(o.icon=i.box)}if(a){let t=this.collisionCircleArrays[e];t===void 0&&(t=this.collisionCircleArrays[e]=[]);for(let e=0;e<a.circles.length;e+=4)t.push(a.circles[e+0]-100),t.push(a.circles[e+1]-100),t.push(a.circles[e+2]),t.push(+!!a.collisionDetected)}}markUsedJustification(e,n,r,i){let a;a=i===t.al.vertical?r.verticalPlacedTextSymbolIndex:{left:r.leftJustifiedTextSymbolIndex,center:r.centerJustifiedTextSymbolIndex,right:r.rightJustifiedTextSymbolIndex}[t.aD(n)];let o=[r.leftJustifiedTextSymbolIndex,r.centerJustifiedTextSymbolIndex,r.rightJustifiedTextSymbolIndex,r.verticalPlacedTextSymbolIndex];for(let t of o)t>=0&&(e.text.placedSymbolArray.get(t).crossTileID=a>=0&&t!==a?0:r.crossTileID)}markUsedOrientation(e,n,r){let i=n===t.al.horizontal||n===t.al.horizontalOnly?n:0,a=n===t.al.vertical?n:0,o=[r.leftJustifiedTextSymbolIndex,r.centerJustifiedTextSymbolIndex,r.rightJustifiedTextSymbolIndex];for(let t of o)e.text.placedSymbolArray.get(t).placedOrientation=i;r.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(r.verticalPlacedTextSymbolIndex).placedOrientation=a)}commit(e){this.commitTime=e,this.zoomAtLastRecencyCheck=this.transform.zoom;let t=this.prevPlacement,n=!1;this.prevZoomAdjustment=t?t.zoomAdjustment(this.transform.zoom):0;let r=t?t.symbolFadeChange(e):1,i=t?t.opacities:{},a=t?t.variableOffsets:{},o=t?t.placedOrientations:{};for(let e in this.placements){let t=this.placements[e],a=i[e];a?(this.opacities[e]=new ot(a,r,t.text,t.icon),n=n||t.text!==a.text.placed||t.icon!==a.icon.placed):(this.opacities[e]=new ot(null,r,t.text,t.icon,t.skipFade),n=n||t.text||t.icon)}for(let e in i){let t=i[e];if(!this.opacities[e]){let i=new ot(t,r,!1,!1);i.isHidden()||(this.opacities[e]=i,n=n||t.text.placed||t.icon.placed)}}for(let e in a)this.variableOffsets[e]||!this.opacities[e]||this.opacities[e].isHidden()||(this.variableOffsets[e]=a[e]);for(let e in o)this.placedOrientations[e]||!this.opacities[e]||this.opacities[e].isHidden()||(this.placedOrientations[e]=o[e]);if(t&&t.lastPlacementChangeTime===void 0)throw Error(`Last placement time for previous placement is not defined`);n?this.lastPlacementChangeTime=e:typeof this.lastPlacementChangeTime!=`number`&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:e)}updateLayerOpacities(e,t){let n={};for(let r of t){let t=r.getBucket(e);t&&r.latestFeatureIndex&&e.id===t.layerIds[0]&&this.updateBucketOpacities(t,r.tileID,n,r.collisionBoxArray)}}updateBucketOpacities(e,n,r,i){e.hasTextData()&&(e.text.opacityVertexArray.clear(),e.text.hasVisibleVertices=!1),e.hasIconData()&&(e.icon.opacityVertexArray.clear(),e.icon.hasVisibleVertices=!1),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();
12let a=e.layers[0],o=a.layout,s=new ot(null,0,!1,!1,!0),c=o.get(`text-allow-overlap`),l=o.get(`icon-allow-overlap`),u=a._unevaluatedLayout.hasValue(`text-variable-anchor`)||a._unevaluatedLayout.hasValue(`text-variable-anchor-offset`),d=o.get(`text-rotation-alignment`)===`map`,f=o.get(`text-pitch-alignment`)===`map`,p=o.get(`icon-text-fit`)!==`none`,m=new ot(null,0,c&&(l||!e.hasIconData()||o.get(`icon-optional`)),l&&(c||!e.hasTextData()||o.get(`text-optional`)),!0);!e.collisionArrays&&i&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(i);let h=(e,t,n)=>{for(let r=0;r<t/4;r++)e.opacityVertexArray.emplaceBack(n);e.hasVisibleVertices=e.hasVisibleVertices||n!==vt},g=this.collisionBoxArrays.get(e.bucketInstanceId);for(let n=0;n<e.symbolInstances.length;n++){let i=e.symbolInstances.get(n),{numHorizontalGlyphVertices:a,numVerticalGlyphVertices:o,crossTileID:c}=i,l=this.opacities[c];r[c]?l=s:l||(l=m,this.opacities[c]=l),r[c]=!0;let _=i.numIconVertices>0,v=this.placedOrientations[i.crossTileID],y=v===t.al.vertical,b=v===t.al.horizontal||v===t.al.horizontalOnly;if(a>0||o>0){let t=_t(l.text);h(e.text,a,y?vt:t),h(e.text,o,b?vt:t);let n=l.text.isHidden();[i.rightJustifiedTextSymbolIndex,i.centerJustifiedTextSymbolIndex,i.leftJustifiedTextSymbolIndex].forEach((t=>{t>=0&&(e.text.placedSymbolArray.get(t).hidden=n||y?1:0)})),i.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(i.verticalPlacedTextSymbolIndex).hidden=n||b?1:0);let r=this.variableOffsets[i.crossTileID];r&&this.markUsedJustification(e,r.anchor,i,v);let s=this.placedOrientations[i.crossTileID];s&&(this.markUsedJustification(e,`left`,i,s),this.markUsedOrientation(e,s,i))}if(_){let t=_t(l.icon),n=!(p&&i.verticalPlacedIconSymbolIndex&&y);i.placedIconSymbolIndex>=0&&(h(e.icon,i.numIconVertices,n?t:vt),e.icon.placedSymbolArray.get(i.placedIconSymbolIndex).hidden=l.icon.isHidden()),i.verticalPlacedIconSymbolIndex>=0&&(h(e.icon,i.numVerticalIconVertices,n?vt:t),e.icon.placedSymbolArray.get(i.verticalPlacedIconSymbolIndex).hidden=l.icon.isHidden())}let x=g&&g.has(n)?g.get(n):{text:null,icon:null};if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){let r=e.collisionArrays[n];if(r){let n=new t.P(0,0);if(r.textBox||r.verticalTextBox){let t=!0;if(u){let e=this.variableOffsets[c];e?(n=ut(e.anchor,e.width,e.height,e.textOffset,e.textBoxScale),d&&n._rotate(f?-this.transform.bearingInRadians:this.transform.bearingInRadians)):t=!1}if(r.textBox||r.verticalTextBox){let i;r.textBox&&(i=y),r.verticalTextBox&&(i=b),ft(e.textCollisionBox.collisionVertexArray,l.text.placed,!t||i,x.text,n.x,n.y)}}if(r.iconBox||r.verticalIconBox){let t=!!(!b&&r.verticalIconBox),i;r.iconBox&&(i=t),r.verticalIconBox&&(i=!t),ft(e.iconCollisionBox.collisionVertexArray,l.icon.placed,i,x.icon,p?n.x:0,p?n.y:0)}}}}if(e.sortFeatures(-this.transform.bearingInRadians),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.text.opacityVertexArray.length!==e.text.layoutVertexArray.length/4)throw Error(`bucket.text.opacityVertexArray.length (= ${e.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${e.text.layoutVertexArray.length}) / 4`);if(e.icon.opacityVertexArray.length!==e.icon.layoutVertexArray.length/4)throw Error(`bucket.icon.opacityVertexArray.length (= ${e.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${e.icon.layoutVertexArray.length}) / 4`);e.bucketInstanceId in this.collisionCircleArrays&&(e.collisionCircleArray=this.collisionCircleArrays[e.bucketInstanceId],delete this.collisionCircleArrays[e.bucketInstanceId])}symbolFadeChange(e){return this.fadeDuration===0?1:(e-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(e){return Math.max(0,(this.transform.zoom-e)/1.5)}hasTransitions(e){return this.stale||e-this.lastPlacementChangeTime<this.fadeDuration}stillRecent(e,t){let n=this.zoomAtLastRecencyCheck===t?1-this.zoomAdjustment(t):1;return this.zoomAtLastRecencyCheck=t,this.commitTime+this.fadeDuration*n>e}setStale(){this.stale=!0}}function ft(e,t,n,r,i,a){r&&r.length!==0||(r=[0,0,0,0]);let o=r[0]-100,s=r[1]-100,c=r[2]-100,l=r[3]-100;e.emplaceBack(+!!t,+!!n,i||0,a||0,o,s),e.emplaceBack(+!!t,+!!n,i||0,a||0,c,s),e.emplaceBack(+!!t,+!!n,i||0,a||0,c,l),e.emplaceBack(+!!t,+!!n,i||0,a||0,o,l)}let pt=2**25,mt=2**24,ht=2**17,gt=2**16;function _t(e){if(e.opacity===0&&!e.placed)return 0;if(e.opacity===1&&e.placed)return 4294967295;let t=+!!e.placed,n=Math.floor(127*e.opacity);return n*pt+t*mt+n*ht+t*gt+n*512+t*256+n*2+t}let vt=0;class yt{constructor(e){this._sortAcrossTiles=e.layout.get(`symbol-z-order`)!==`viewport-y`&&!e.layout.get(`symbol-sort-key`).isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(e,t,n,r,i){let a=this._bucketParts;for(;this._currentTileIndex<e.length;)if(t.getBucketParts(a,r,e[this._currentTileIndex],this._sortAcrossTiles),this._currentTileIndex++,i())return!0;for(this._sortAcrossTiles&&(this._sortAcrossTiles=!1,a.sort(((e,t)=>
12e.sortKey-t.sortKey)));this._currentPartIndex<a.length;)if(t.placeLayerBucketPart(a[this._currentPartIndex],this._seenCrossTileIDs,n),this._currentPartIndex++,i())return!0;return!1}}class bt{constructor(e,t,n,r,i,a,o,s){this.placement=new dt(e,t,a,o,s),this._currentPlacementIndex=n.length-1,this._forceFullPlacement=r,this._showCollisionBoxes=i,this._done=!1}isDone(){return this._done}continuePlacement(e,t,n){let r=o.now(),i=()=>!this._forceFullPlacement&&o.now()-r>2;for(;this._currentPlacementIndex>=0;){let r=t[e[this._currentPlacementIndex]],a=this.placement.collisionIndex.transform.zoom;if(r.type===`symbol`&&(!r.minzoom||r.minzoom<=a)&&(!r.maxzoom||r.maxzoom>a)){if(this._inProgressLayer||=new yt(r),this._inProgressLayer.continuePlacement(n[r.source],this.placement,this._showCollisionBoxes,r,i))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(e){return this.placement.commit(e),this.placement}}let xt=512/t.Z/2;class St{constructor(e,n,r){this.tileID=e,this.bucketInstanceId=r,this._symbolsByKey={};let i=new Map;for(let e=0;e<n.length;e++){let t=n.get(e),r=t.key,a=i.get(r);a?a.push(t):i.set(r,[t])}for(let[e,n]of i){let r={positions:n.map((e=>({x:Math.floor(e.anchorX*xt),y:Math.floor(e.anchorY*xt)}))),crossTileIDs:n.map((e=>e.crossTileID))};if(r.positions.length>128){let e=new t.aF(r.positions.length,16,Uint16Array);for(let{x:t,y:n}of r.positions)e.add(t,n);e.finish(),delete r.positions,r.index=e}this._symbolsByKey[e]=r}}getScaledCoordinates(e,n){let{x:r,y:i,z:a}=this.tileID.canonical,{x:o,y:s,z:c}=n.canonical,l=xt/2**(c-a),u=(s*t.Z+e.anchorY)*l,d=i*t.Z*xt;return{x:Math.floor((o*t.Z+e.anchorX)*l-r*t.Z*xt),y:Math.floor(u-d)}}findMatches(e,t,n){let r=this.tileID.canonical.z<t.canonical.z?1:2**(this.tileID.canonical.z-t.canonical.z);for(let i=0;i<e.length;i++){let a=e.get(i);if(a.crossTileID)continue;let o=this._symbolsByKey[a.key];if(!o)continue;let s=this.getScaledCoordinates(a,t);if(o.index){let e=o.index.range(s.x-r,s.y-r,s.x+r,s.y+r).sort();for(let t of e){let e=o.crossTileIDs[t];if(!n[e]){n[e]=!0,a.crossTileID=e;break}}}else if(o.positions)for(let e=0;e<o.positions.length;e++){let t=o.positions[e],i=o.crossTileIDs[e];if(Math.abs(t.x-s.x)<=r&&Math.abs(t.y-s.y)<=r&&!n[i]){n[i]=!0,a.crossTileID=i;break}}}}getCrossTileIDsLists(){return Object.values(this._symbolsByKey).map((({crossTileIDs:e})=>e))}}class Ct{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class wt{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(e){let t=Math.round((e-this.lng)/360);if(t!==0)for(let e in this.indexes){let n=this.indexes[e],r={};for(let e in n){let i=n[e];i.tileID=i.tileID.unwrapTo(i.tileID.wrap+t),r[i.tileID.key]=i}this.indexes[e]=r}this.lng=e}addBucket(e,t,n){if(this.indexes[e.overscaledZ]&&this.indexes[e.overscaledZ][e.key]){if(this.indexes[e.overscaledZ][e.key].bucketInstanceId===t.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(e.overscaledZ,this.indexes[e.overscaledZ][e.key])}for(let e=0;e<t.symbolInstances.length;e++)t.symbolInstances.get(e).crossTileID=0;this.usedCrossTileIDs[e.overscaledZ]||(this.usedCrossTileIDs[e.overscaledZ]={});let r=this.usedCrossTileIDs[e.overscaledZ];for(let n in this.indexes){let i=this.indexes[n];if(Number(n)>e.overscaledZ)for(let n in i){let a=i[n];a.tileID.isChildOf(e)&&a.findMatches(t.symbolInstances,e,r)}else{let a=i[e.scaledTo(Number(n)).key];a&&a.findMatches(t.symbolInstances,e,r)}}for(let e=0;e<t.symbolInstances.length;e++){let i=t.symbolInstances.get(e);i.crossTileID||(i.crossTileID=n.generate(),r[i.crossTileID]=!0)}return this.indexes[e.overscaledZ]===void 0&&(this.indexes[e.overscaledZ]={}),this.indexes[e.overscaledZ][e.key]=new St(e,t.symbolInstances,t.bucketInstanceId),!0}removeBucketCrossTileIDs(e,t){for(let n of t.getCrossTileIDsLists())for(let t of n)delete this.usedCrossTileIDs[e][t]}removeStaleBuckets(e){let t=!1;for(let n in this.indexes){let r=this.indexes[n];for(let i in r)e[r[i].bucketInstanceId]||(this.removeBucketCrossTileIDs(n,r[i]),delete r[i],t=!0)}return t}}class Tt{constructor(){this.layerIndexes={},this.crossTileIDs=new Ct,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}}addLayer(e,t,n){let r=this.layerIndexes[e.id];r===void 0&&(r=this.layerIndexes[e.id]=new wt);let i=!1,a={};r.handleWrapJump(n);for(let n of t){let t=n.getBucket(e);t&&e.id===t.layerIds[0]&&(t.bucketInstanceId||=++this.maxBucketInstanceId,r.addBucket(n.tileID,t,this.crossTileIDs)&&(i=!0),a[t.bucketInstanceId]=!0)}return r.removeStaleBuckets(a)&&(i=!0),i}pruneUnusedLayers(e){let t={};e.forEach((e=>{t[e]=!0}));for(let e in this.layerIndexes)t[e]||delete this.layerIndexes[e]}}var Et=`void main() {fragColor=vec4(1.0);}`;let Dt={prelude:U(`#ifdef GL_ES 13precision mediump float; 14#else 15#if !defined(lowp) 16#define lowp 17#endif 18#if !defined(mediump) 19#define mediump 20#endif 21#if !defined(highp) 22#define highp 23#endif 24#endif 25out highp vec4 fragColor;`,`#ifdef GL_ES 26precision highp float; 27#else 28#if !defined(lowp) 29#define lowp 30#endif 31#if !defined(mediump) 32#define mediump 33#endif 34#if !defined(highp) 35#define highp 36#endif 37#endif 38vec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0 39);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);
39return (tile_units_to_pixels*pos+offset)/pattern_size;}mat3 rotationMatrixFromAxisAngle(vec3 u,float angle) {float c=cos(angle);float s=sin(angle);float c2=1.0-c;return mat3(u.x*u.x*c2+ c,u.x*u.y*c2-u.z*s,u.x*u.z*c2+u.y*s,u.y*u.x*c2+u.z*s,u.y*u.y*c2+ c,u.y*u.z*c2-u.x*s,u.z*u.x*c2-u.y*s,u.z*u.y*c2+u.x*s,u.z*u.z*c2+ c 40);} 41#ifdef TERRAIN3D 42uniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth; 43#endif 44const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) { 45#ifdef TERRAIN3D 46highp float d=unpack(texture(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0)); 47#else 48return 1.0; 49#endif 50}float calculate_visibility(vec4 pos) { 51#ifdef TERRAIN3D 52vec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0; 53#else 54return 1.0; 55#endif 56}float ele(vec2 pos) { 57#ifdef TERRAIN3D 58vec4 rgb=(texture(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a; 59#else 60return 0.0; 61#endif 62}float get_elevation(vec2 pos) { 63#ifdef TERRAIN3D 64#ifdef GLOBE 65if ((pos.y <-32767.5) || (pos.y > 32766.5)) {return 0.0;} 66#endif 67vec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return elevation*u_terrain_exaggeration; 68#else 69return 0.0; 70#endif 71}const float PI=3.141592653589793;uniform mat4 u_projection_matrix;`),projectionMercator:U(``,`float projectLineThickness(float tileY) {return 1.0;}float projectCircleRadius(float tileY) {return 1.0;}vec4 projectTile(vec2 p) {vec4 result=u_projection_matrix*vec4(p,0.0,1.0);return result;}vec4 projectTile(vec2 p,vec2 rawPos) {vec4 result=u_projection_matrix*vec4(p,0.0,1.0);if (rawPos.y <-32767.5 || rawPos.y > 32766.5) {result.z=-10000000.0;}return result;}vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_projection_matrix*vec4(posInTile,elevation,1.0);}vec4 projectTileFor3D(vec2 posInTile,float elevation) {return projectTileWithElevation(posInTile,elevation);}`),projectionGlobe:U(``,`#define GLOBE_RADIUS 6371008.8 72uniform highp vec4 u_projection_tile_mercator_coords;uniform highp vec4 u_projection_clipping_plane;uniform highp float u_projection_transition;uniform mat4 u_projection_fallback_matrix;vec3 globeRotateVector(vec3 vec,vec2 angles) {vec3 axisRight=vec3(vec.z,0.0,-vec.x);vec3 axisUp=cross(axisRight,vec);axisRight=normalize(axisRight);axisUp=normalize(axisUp);vec2 t=tan(angles);return normalize(vec+axisRight*t.x+axisUp*t.y);}mat3 globeGetRotationMatrix(vec3 spherePos) {vec3 axisRight=vec3(spherePos.z,0.0,-spherePos.x);vec3 axisDown=cross(axisRight,spherePos);axisRight=normalize(axisRight);axisDown=normalize(axisDown);return mat3(axisRight,axisDown,spherePos 73);}float circumferenceRatioAtTileY(float tileY) {float mercator_pos_y=u_projection_tile_mercator_coords.y+u_projection_tile_mercator_coords.w*tileY;float spherical_y=2.0*atan(exp(PI-(mercator_pos_y*PI*2.0)))-PI*0.5;return cos(spherical_y);}float projectLineThickness(float tileY) {float thickness=1.0/circumferenceRatioAtTileY(tileY); 74if (u_projection_transition < 0.999) {return mix(1.0,thickness,u_projection_transition);} else {return thickness;}}vec3 projectToSphere(vec2 translatedPos,vec2 rawPos) {vec2 mercator_pos=u_projection_tile_mercator_coords.xy+u_projection_tile_mercator_coords.zw*translatedPos;vec2 spherical;spherical.x=mercator_pos.x*PI*2.0+PI;spherical.y=2.0*atan(exp(PI-(mercator_pos.y*PI*2.0)))-PI*0.5;float len=cos(spherical.y);vec3 pos=vec3(sin(spherical.x)*len,sin(spherical.y),cos(spherical.x)*len 75);if (rawPos.y <-32767.5) {pos=vec3(0.0,1.0,0.0);}if (rawPos.y > 32766.5) {pos=vec3(0.0,-1.0,0.0);}return pos;}vec3 projectToSphere(vec2 posInTile) {return projectToSphere(posInTile,vec2(0.0,0.0));}float globeComputeClippingZ(vec3 spherePos) {return (1.0-(dot(spherePos,u_projection_clipping_plane.xyz)+u_projection_clipping_plane.w));}vec4 interpolateProjection(vec2 posInTile,vec3 spherePos,float elevation) {vec3 elevatedPos=spherePos*(1.0+elevation/GLOBE_RADIUS);vec4 globePosition=u_projection_matrix*vec4(elevatedPos,1.0);globePosition.z=globeComputeClippingZ(elevatedPos)*globePosition.w;if (u_projection_transition > 0.999) {return globePosition;}vec4 flatPosition=u_projection_fallback_matrix*vec4(posInTile,elevation,1.0);const float z_globeness_threshold=0.2;vec4 result=globePosition;result.z=mix(0.0,globePosition.z,clamp((u_projection_transition-z_globeness_threshold)/(1.0-z_globeness_threshold),0.0,1.0));result.xyw=mix(flatPosition.xyw,globePosition.xyw,u_projection_transition);if ((posInTile.y <-32767.5) || (posInTile.y > 32766.5)) {result=globePosition;const float poles_hidden_anim_percentage=0.02;result.z=mix(globePosition.z,100.0,pow(max((1.0-u_projection_transition)/poles_hidden_anim_percentage,0.0),8.0));}return result;}vec4 interpolateProjectionFor3D(vec2 posInTile,vec3 spherePos,float elevation) {vec3 elevatedPos=spherePos*(1.0+elevation/GLOBE_RADIUS);vec4 globePosition=u_projection_matrix*vec4(elevatedPos,1.0);if (u_projection_transition > 0.999) {return globePosition;}vec4 fallbackPosition=u_projection_fallback_matrix*vec4(posInTile,elevation,1.0);return mix(fallbackPosition,globePosition,u_projection_transition);}vec4 projectTile(vec2 posInTile) {return interpolateProjection(posInTile,projectToSphere(posInTile),0.0);}vec4 projectTile(vec2 posInTile,vec2 rawPos) {return interpolateProjection(posInTile,projectToSphere(posInTile,rawPos),0.0);}vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return interpolateProjection(posInTile,projectToSphere(posInTile),elevation);}vec4 projectTileFor3D(vec2 posInTile,float elevation) {vec3 spherePos=projectToSphere(posInTile,posInTile);return interpolateProjectionFor3D(posInTile,spherePos,elevation);}`),background:U(`uniform vec4 u_color;uniform float u_opacity;void main() {fragColor=u_color*u_opacity; 76#ifdef OVERDRAW_INSPECTOR 77fragColor=vec4(1.0); 78#endif 79}`,`in vec2 a_pos;void main() {gl_Position=projectTile(a_pos);}`),backgroundPattern:U(`uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;
79uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;in vec2 v_pos_a;in vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture(u_image,pos2);fragColor=mix(color1,color2,u_mix)*u_opacity; 80#ifdef OVERDRAW_INSPECTOR 81fragColor=vec4(1.0); 82#endif 83}`,`uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;in vec2 a_pos;out vec2 v_pos_a;out vec2 v_pos_b;void main() {gl_Position=projectTile(a_pos);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}`),circle:U(`in vec3 v_data;in float v_visibility; 84#pragma mapbox: define highp vec4 color 85#pragma mapbox: define mediump float radius 86#pragma mapbox: define lowp float blur 87#pragma mapbox: define lowp float opacity 88#pragma mapbox: define highp vec4 stroke_color 89#pragma mapbox: define mediump float stroke_width 90#pragma mapbox: define lowp float stroke_opacity 91void main() { 92#pragma mapbox: initialize highp vec4 color 93#pragma mapbox: initialize mediump float radius 94#pragma mapbox: initialize lowp float blur 95#pragma mapbox: initialize lowp float opacity 96#pragma mapbox: initialize highp vec4 stroke_color 97#pragma mapbox: initialize mediump float stroke_width 98#pragma mapbox: initialize lowp float stroke_opacity 99vec2 extrude=v_data.xy;float extrude_length=length(extrude);float antialiased_blur=v_data.z;float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));fragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);const float epsilon=0.5/255.0;if (fragColor.r < epsilon && fragColor.g < epsilon && fragColor.b < epsilon && fragColor.a < epsilon) {discard;} 100#ifdef OVERDRAW_INSPECTOR 101fragColor=vec4(1.0); 102#endif 103}`,`uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform highp float u_globe_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;uniform vec2 u_translate;in vec2 a_pos;out vec3 v_data;out float v_visibility; 104#pragma mapbox: define highp vec4 color 105#pragma mapbox: define mediump float radius 106#pragma mapbox: define lowp float blur 107#pragma mapbox: define lowp float opacity 108#pragma mapbox: define highp vec4 stroke_color 109#pragma mapbox: define mediump float stroke_width 110#pragma mapbox: define lowp float stroke_opacity 111void main(void) { 112#pragma mapbox: initialize highp vec4 color 113#pragma mapbox: initialize mediump float radius 114#pragma mapbox: initialize lowp float blur 115#pragma mapbox: initialize lowp float opacity 116#pragma mapbox: initialize highp vec4 stroke_color 117#pragma mapbox: initialize mediump float stroke_width 118#pragma mapbox: initialize lowp float stroke_opacity 119vec2 pos_raw=a_pos+32768.0;vec2 extrude=vec2(mod(pos_raw,8.0)/7.0*2.0-1.0);vec2 circle_center=floor(pos_raw/8.0)+u_translate;float ele=get_elevation(circle_center);v_visibility=calculate_visibility(projectTileWithElevation(circle_center,ele));if (u_pitch_with_map) { 120#ifdef GLOBE 121vec3 center_vector=projectToSphere(circle_center); 122#endif 123float angle_scale=u_globe_extrude_scale;vec2 corner_position=circle_center;if (u_scale_with_map) {angle_scale*=(radius+stroke_width);corner_position+=extrude*u_extrude_scale*(radius+stroke_width);} else { 124#ifdef GLOBE 125vec4 projected_center=interpolateProjection(circle_center,center_vector,ele); 126#else 127vec4 projected_center=projectTileWithElevation(circle_center,ele); 128#endif 129corner_position+=extrude*u_extrude_scale*(radius+stroke_width)*(projected_center.w/u_camera_to_center_distance);angle_scale*=(radius+stroke_width)*(projected_center.w/u_camera_to_center_distance);} 130#ifdef GLOBE 131vec2 angles=extrude*angle_scale;vec3 corner_vector=globeRotateVector(center_vector,angles);gl_Position=interpolateProjection(corner_position,corner_vector,ele); 132#else 133gl_Position=projectTileWithElevation(corner_position,ele); 134#endif 135} else {gl_Position=projectTileWithElevation(circle_center,ele);if (gl_Position.z/gl_Position.w > 1.0) {gl_Position.xy=vec2(10000.0);}if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}float antialiasblur=-max(1.0/u_device_pixel_ratio/(radius+stroke_width),blur);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`),clippingMask:U(Et,`in vec2 a_pos;void main() {gl_Position=projectTile(a_pos);}`),heatmap:U(`uniform highp float u_intensity;in vec2 v_extrude; 136#pragma mapbox: define highp float weight 137#define GAUSS_COEF 0.3989422804014327 138void main() { 139#pragma mapbox: initialize highp float weight 140float d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);fragColor=vec4(val,1.0,1.0,1.0); 141#ifdef OVERDRAW_INSPECTOR 142fragColor=vec4(1.0); 143#endif 144}`,`uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;uniform highp float u_globe_extrude_scale;in vec2 a_pos;out vec2 v_extrude; 145#pragma mapbox: define highp float weight 146#pragma mapbox: define mediump float radius 147const highp float ZERO=1.0/255.0/16.0; 148#define GAUSS_COEF 0.3989422804014327 149void main(void) { 150#pragma mapbox: initialize highp float weight 151#pragma mapbox: initialize mediump float radius 152vec2 pos_raw=a_pos+32768.0;vec2 unscaled_extrude=vec2(mod(pos_raw,8.0)/7.0*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec2 circle_center=floor(pos_raw/8.0); 153#ifdef GLOBE 154vec2 angles=v_extrude*radius*u_globe_extrude_scale;vec3 center_vector=projectToSphere(circle_center);vec3 corner_vector=globeRotateVector(center_vector,angles);gl_Position=interpolateProjection(circle_center+extrude,corner_vector,0.0); 155#else 156gl_Position=projectTileFor3D(circle_center+extrude,get_elevation(circle_center)); 157#endif 158}`),heatmapTexture:U(`uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;in vec2 v_pos;void main() {float t=texture(u_image,v_pos).r;vec4 color=texture(u_color_ramp,vec2(t,0.5));fragColor=color*u_opacity; 159#ifdef OVERDRAW_INSPECTOR 160fragColor=vec4(0.0); 161#endif 162}`,`uniform mat4 u_matrix;uniform vec2 u_world;in vec2 a_pos;out vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}`),collisionBox:U(`in float v_placed;in float v_notUsed;void main() {float alpha=0.5;fragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {fragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {fragColor*=.1;}}`,`in vec2 a_anchor_pos;in vec2 a_placed;in vec2 a_box_real;uniform vec2 u_pixel_extrude_scale;out float v_placed;out float v_notUsed;void main() {gl_Position=projectTileWithElevation(a_anchor_pos,get_elevation(a_anchor_pos));gl_Position.xy=((a_box_real+0.5)*u_pixel_extrude_scale*2.0-1.0)*vec2(1.0,-1.0)*gl_Position.w;if (gl_Position.z/gl_Position.w < 1.1) {gl_Position.z=0.5;}v_placed=a_placed.x;v_notUsed=a_placed.y;}`),collisionCircle:U(`in float v_radius;in vec2 v_extrude;in float v_collision;void main() {float alpha=0.5;float stroke_radius=0.9;float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);fragColor=color*alpha*opacity_t;}`,`in vec2 a_pos;in float a_radius;in vec2 a_flags;uniform vec2 u_viewport_size;out float v_radius;out vec2 v_extrude;out float v_collision;void main() {float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_collision=collision;gl_Position=vec4((a_pos/u_viewport_size*2.0-1.0)*vec2(1.0,-1.0),0.0,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}`),debug:U(`uniform highp vec4 u_color;uniform sampler2D u_overlay;in vec2 v_uv;void main() {vec4 overlay_color=texture(u_overlay,v_uv);fragColor=mix(u_color,overlay_color,overlay_color.a);}`,`in vec2 a_pos;out vec2 v_uv;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=projectTileWithElevation(a_pos*u_overlay_scale,get_elevation(a_pos));}`),depth:U(Et,`in vec2 a_pos;void main() { 163#ifdef GLOBE 164gl_Position=projectTileFor3D(a_pos,0.0); 165#else 166gl_Position=u_projection_matrix*vec4(a_pos,0.0,1.0); 167#endif 168}`),fill:U(`#pragma mapbox: define highp vec4 color 169#pragma mapbox: define lowp float opacity 170void main() { 171#pragma mapbox: initialize highp vec4 color 172#pragma mapbox: initialize lowp float opacity 173fragColor=color*opacity; 174#ifdef OVERDRAW_INSPECTOR 175fragColor=vec4(1.0); 176#endif 177}`,`uniform vec2 u_fill_translate;in vec2 a_pos; 178#pragma mapbox: define highp vec4 color 179#pragma mapbox: define lowp float opacity 180void main() { 181#pragma mapbox: initialize highp vec4 color 182#pragma mapbox: initialize lowp float opacity 183gl_Position=projectTile(a_pos+u_fill_translate,a_pos);}`),fillOutline:U(`in vec2 v_pos; 184#ifdef GLOBE 185in float v_depth; 186#endif 187#pragma mapbox: define highp vec4 outline_color 188#pragma mapbox: define lowp float opacity 189void main() { 190#pragma mapbox: initialize highp vec4 outline_color 191#pragma mapbox: initialize lowp float opacity 192float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);fragColor=outline_color*(alpha*opacity); 193#ifdef GLOBE 194if (v_depth > 1.0) {discard;} 195#endif 196#ifdef OVERDRAW_INSPECTOR 197fragColor=vec4(1.0); 198#endif 199}`,`uniform vec2 u_world;uniform vec2 u_fill_translate;in vec2 a_pos;out vec2 v_pos; 200#ifdef GLOBE 201out float v_depth; 202#endif 203#pragma mapbox: define highp vec4 outline_color 204#pragma mapbox: define lowp float opacity 205void main() { 206#pragma mapbox: initialize highp vec4 outline_color 207#pragma mapbox: initialize lowp float opacity 208gl_Position=projectTile(a_pos+u_fill_translate,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world; 209#ifdef GLOBE 210v_depth=gl_Position.z/gl_Position.w; 211#endif 212}`),fillOutlinePattern:U(`uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;in vec2 v_pos_a;in vec2 v_pos_b;in vec2 v_pos; 213#ifdef GLOBE 214in float v_depth; 215#endif 216#pragma mapbox: define lowp float opacity 217#pragma mapbox: define lowp vec4 pattern_from 218#pragma mapbox: define lowp vec4 pattern_to 219void main() { 220#pragma mapbox: initialize lowp float opacity 221#pragma mapbox: initialize mediump vec4 pattern_from 222#pragma mapbox: initialize mediump vec4 pattern_to 223vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);fragColor=mix(color1,color2,u_fade)*alpha*opacity; 224#ifdef GLOBE 225if (v_depth > 1.0) {discard;} 226#endif 227#ifdef OVERDRAW_INSPECTOR 228fragColor=vec4(1.0); 229#endif 230}`,`uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;uniform vec2 u_fill_translate;in vec2 a_pos;out vec2 v_pos_a;out vec2 v_pos_b;out vec2 v_pos; 231#ifdef GLOBE 232out float v_depth; 233#endif 234#pragma mapbox: define lowp float opacity 235#pragma mapbox: define lowp vec4 pattern_from 236#pragma mapbox: define lowp vec4 pattern_to 237#pragma mapbox: define lowp float pixel_ratio_from 238#pragma mapbox: define lowp float pixel_ratio_to 239void main() { 240#pragma mapbox: initialize lowp float opacity 241#pragma mapbox: initialize mediump vec4 pattern_from 242#pragma mapbox: initialize mediump vec4 pattern_to 243#pragma mapbox: initialize lowp float pixel_ratio_from 244#pragma mapbox: initialize lowp float pixel_ratio_to 245vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=projectTile(a_pos+u_fill_translate,a_pos);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world; 246#ifdef GLOBE 247v_depth=gl_Position.z/gl_Position.w; 248#endif 249}`),fillPattern:U(`#ifdef GL_ES 250precision highp float; 251#endif 252uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;in vec2 v_pos_a;in vec2 v_pos_b; 253#pragma mapbox: define lowp float opacity 254#pragma mapbox: define lowp vec4 pattern_from 255#pragma mapbox: define lowp vec4 pattern_to 256void main() { 257#pragma mapbox: initialize lowp float opacity 258#pragma mapbox: initialize mediump vec4 pattern_from 259#pragma mapbox: initialize mediump vec4 pattern_to 260vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture(u_image,pos2);fragColor=mix(color1,color2,u_fade)*opacity; 261#ifdef OVERDRAW_INSPECTOR 262fragColor=vec4(1.0); 263#endif 264}`,`uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;uniform vec2 u_fill_translate;in vec2 a_pos;out vec2 v_pos_a;out vec2 v_pos_b; 265#pragma mapbox: define lowp float opacity 266#pragma mapbox: define lowp vec4 pattern_from 267#pragma mapbox: define lowp vec4 pattern_to 268#pragma mapbox: define lowp float pixel_ratio_from 269#pragma mapbox: define lowp float pixel_ratio_to 270void main() { 271#pragma mapbox: initialize lowp float opacity 272#pragma mapbox: initialize mediump vec4 pattern_from 273#pragma mapbox: initialize mediump vec4 pattern_to 274#pragma mapbox: initialize lowp float pixel_ratio_from 275#pragma mapbox: initialize lowp float pixel_ratio_to 276vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=projectTile(a_pos+u_fill_translate,a_pos);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}`),fillExtrusion:U(`in vec4 v_color;void main() {fragColor=v_color; 277#ifdef OVERDRAW_INSPECTOR 278fragColor=vec4(1.0); 279#endif 280}`,`uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp vec3 u_lightpos_globe;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec2 u_fill_translate;in vec2 a_pos;in vec4 a_normal_ed; 281#ifdef TERRAIN3D 282in vec2 a_centroid; 283#endif 284out vec4 v_color; 285#pragma mapbox: define highp float base 286#pragma mapbox: define highp float height 287#pragma mapbox: define highp vec4 color 288void main() { 289#pragma mapbox: initialize highp float base 290#pragma mapbox: initialize highp float height 291#pragma mapbox: initialize highp vec4 color 292vec3 normal=a_normal_ed.xyz; 293#ifdef TERRAIN3D 294float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10
294.0); 295#else 296float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0; 297#endif 298base=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);float elevation=t > 0.0 ? height : base;vec2 posInTile=a_pos+u_fill_translate; 299#ifdef GLOBE 300vec3 spherePos=projectToSphere(posInTile,a_pos);gl_Position=interpolateProjectionFor3D(posInTile,spherePos,elevation); 301#else 302gl_Position=u_projection_matrix*vec4(posInTile,elevation,1.0); 303#endif 304float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;vec3 normalForLighting=normal/16384.0;float directional=clamp(dot(normalForLighting,u_lightpos),0.0,1.0); 305#ifdef GLOBE 306mat3 rotMatrix=globeGetRotationMatrix(spherePos);normalForLighting=rotMatrix*normalForLighting;directional=mix(directional,clamp(dot(normalForLighting,u_lightpos_globe),0.0,1.0),u_projection_transition); 307#endif 308directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}`),fillExtrusionPattern:U(`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;in vec2 v_pos_a;in vec2 v_pos_b;in vec4 v_lighting; 309#pragma mapbox: define lowp float base 310#pragma mapbox: define lowp float height 311#pragma mapbox: define lowp vec4 pattern_from 312#pragma mapbox: define lowp vec4 pattern_to 313#pragma mapbox: define lowp float pixel_ratio_from 314#pragma mapbox: define lowp float pixel_ratio_to 315void main() { 316#pragma mapbox: initialize lowp float base 317#pragma mapbox: initialize lowp float height 318#pragma mapbox: initialize mediump vec4 pattern_from 319#pragma mapbox: initialize mediump vec4 pattern_to 320#pragma mapbox: initialize lowp float pixel_ratio_from 321#pragma mapbox: initialize lowp float pixel_ratio_to 322vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);fragColor=mixedColor*v_lighting; 323#ifdef OVERDRAW_INSPECTOR 324fragColor=vec4(1.0); 325#endif 326}`,`uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec2 u_fill_translate;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp vec3 u_lightpos_globe;uniform lowp float u_lightintensity;in vec2 a_pos;in vec4 a_normal_ed; 327#ifdef TERRAIN3D 328in vec2 a_centroid; 329#endif 330#ifdef GLOBE 331out vec3 v_sphere_pos; 332#endif 333out vec2 v_pos_a;out vec2 v_pos_b;out vec4 v_lighting; 334#pragma mapbox: define lowp float base 335#pragma mapbox: define lowp float height 336#pragma mapbox: define lowp vec4 pattern_from 337#pragma mapbox: define lowp vec4 pattern_to 338#pragma mapbox: define lowp float pixel_ratio_from 339#pragma mapbox: define lowp float pixel_ratio_to 340void main() { 341#pragma mapbox: initialize lowp float base 342#pragma mapbox: initialize lowp float height 343#pragma mapbox: initialize mediump vec4 pattern_from 344#pragma mapbox: initialize mediump vec4 pattern_to 345#pragma mapbox: initialize lowp float pixel_ratio_from 346#pragma mapbox: initialize lowp float pixel_ratio_to 347vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to; 348#ifdef TERRAIN3D 349float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0); 350#else 351float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0; 352#endif 353base=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);float elevation=t > 0.0 ? height : base;vec2 posInTile=a_pos+u_fill_translate; 354#ifdef GLOBE 355vec3 spherePos=projectToSphere(posInTile,a_pos);vec3 elevatedPos=spherePos*(1.0+elevation/GLOBE_RADIUS);v_sphere_pos=elevatedPos;gl_Position=interpolateProjectionFor3D(posInTile,spherePos,elevation); 356#else 357gl_Position=u_projection_matrix*vec4(posInTile,elevation,1.0); 358#endif 359vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0 360? a_pos 361: vec2(edgedistance,elevation*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}`),hillshadePrepare:U(`#ifdef GL_ES 362precision highp float; 363#endif 364uniform sampler2D u_image;in vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack);}void main() {vec2 epsilon=1.0/u_dimension;float tileSize=u_dimension.x-2.0;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))*tileSize/p
364ow(2.0,exaggeration+(28.2562-u_zoom));fragColor=clamp(vec4(deriv.x/8.0+0.5,deriv.y/8.0+0.5,1.0,1.0),0.0,1.0); 365#ifdef OVERDRAW_INSPECTOR 366fragColor=vec4(1.0); 367#endif 368}`,`uniform mat4 u_matrix;uniform vec2 u_dimension;in vec2 a_pos;in vec2 a_texture_pos;out vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}`),hillshade:U(`uniform sampler2D u_image;in vec2 v_pos;uniform vec2 u_latrange;uniform float u_exaggeration;uniform vec4 u_accent;uniform int u_method;uniform float u_altitudes[NUM_ILLUMINATION_SOURCES];uniform float u_azimuths[NUM_ILLUMINATION_SOURCES];uniform vec4 u_shadows[NUM_ILLUMINATION_SOURCES];uniform vec4 u_highlights[NUM_ILLUMINATION_SOURCES]; 369#define PI 3.141592653589793 370#define STANDARD 0 371#define COMBINED 1 372#define IGOR 2 373#define MULTIDIRECTIONAL 3 374#define BASIC 4 375float get_aspect(vec2 deriv){return deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);}void igor_hillshade(vec2 deriv){deriv=deriv*u_exaggeration*2.0;float aspect=get_aspect(deriv);float azimuth=u_azimuths[0]+PI;float slope_stength=atan(length(deriv))*2.0/PI;float aspect_strength=1.0-abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);float shadow_strength=slope_stength*aspect_strength;float highlight_strength=slope_stength*(1.0-aspect_strength);fragColor=u_shadows[0]*shadow_strength+u_highlights[0]*highlight_strength;}void standard_hillshade(vec2 deriv){float azimuth=u_azimuths[0]+PI;float slope=atan(0.625*length(deriv));float aspect=get_aspect(deriv);float intensity=u_exaggeration;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadows[0],u_highlights[0],shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);fragColor=accent_color*(1.0-shade_color.a)+shade_color;}void basic_hillshade(vec2 deriv){deriv=deriv*u_exaggeration*2.0;float azimuth=u_azimuths[0]+PI;float cos_az=cos(azimuth);float sin_az=sin(azimuth);float cos_alt=cos(u_altitudes[0]);float sin_alt=sin(u_altitudes[0]);float cang=(sin_alt-(deriv.y*cos_az*cos_alt-deriv.x*sin_az*cos_alt))/sqrt(1.0+dot(deriv,deriv));float shade=clamp(cang,0.0,1.0);if(shade > 0.5){fragColor=u_highlights[0]*(2.0*shade-1.0);}else 376{fragColor=u_shadows[0]*(1.0-2.0*shade);}}void multidirectional_hillshade(vec2 deriv){deriv=deriv*u_exaggeration*2.0;fragColor=vec4(0,0,0,0);for(int i=0; i < NUM_ILLUMINATION_SOURCES; i++){float cos_alt=cos(u_altitudes[i]);float sin_alt=sin(u_altitudes[i]);float cos_az=-cos(u_azimuths[i]);float sin_az=-sin(u_azimuths[i]);float cang=(sin_alt-(deriv.y*cos_az*cos_alt-deriv.x*sin_az*cos_alt))/sqrt(1.0+dot(deriv,deriv));float shade=clamp(cang,0.0,1.0);if(shade > 0.5){fragColor+=u_highlights[i]*(2.0*shade-1.0)/float(NUM_ILLUMINATION_SOURCES);}else 377{fragColor+=u_shadows[i]*(1.0-2.0*shade)/float(NUM_ILLUMINATION_SOURCES);}}}void combined_hillshade(vec2 deriv){deriv=deriv*u_exaggeration*2.0;float azimuth=u_azimuths[0]+PI;float cos_az=cos(azimuth);float sin_az=sin(azimuth);float cos_alt=cos(u_altitudes[0]);float sin_alt=sin(u_altitudes[0]);float cang=acos((sin_alt-(deriv.y*cos_az*cos_alt-deriv.x*sin_az*cos_alt))/sqrt(1.0+dot(deriv,deriv)));cang=clamp(cang,0.0,PI/2.0);float shade=cang*atan(length(deriv))*4.0/PI/PI;float highlight=(PI/2.0-cang)*atan(length(deriv))*4.0/PI/PI;fragColor=u_shadows[0]*shade+u_highlights[0]*highlight;}void main() {vec4 pixel=texture(u_image,v_pos);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));vec2 deriv=((pixel.rg*8.0)-4.0)/scaleFactor;switch(u_method){case BASIC: 378basic_hillshade(deriv);break;case COMBINED: 379combined_hillshade(deriv);break;case IGOR: 380igor_hillshade(deriv);break;case MULTIDIRECTIONAL: 381multidirectional_hillshade(deriv);break;case STANDARD: 382default: 383standard_hillshade(deriv);break;} 384#ifdef OVERDRAW_INSPECTOR 385fragColor=vec4(1.0); 386#endif 387}`,`uniform mat4 u_matrix;in vec2 a_pos;out vec2 v_pos;void main() {gl_Position=projectTile(a_pos,a_pos);v_pos=a_pos/8192.0;if (a_pos.y <-32767.5) {v_pos.y=0.0;}if (a_pos.y > 32766.5) {v_pos.y=1.0;}}`),line:U(`uniform lowp float u_device_pixel_ratio;in vec2 v_width2;in vec2 v_normal;in float v_gamma_scale; 388#ifdef GLOBE 389in float v_depth; 390#endif 391#pragma mapbox: define highp vec4 color 392#pragma mapbox: define lowp float blur 393#pragma mapbox: define lowp float opacity 394void main() { 395#pragma mapbox: initialize highp vec4 color 396#pragma mapbox: initialize lowp float blur 397#pragma mapbox: initialize lowp float opacity 398float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);fragColor=color*(alpha*opacity); 399#ifdef GLOBE 400if (v_depth > 1.0) {discard;} 401#endif 402#ifdef OVERDRAW_INSPECTOR 403fragColor=vec4(1.0); 404#endif 405}`,` 406#define scale 0.015873016 407in vec2 a_pos_normal;in vec4 a_data;uniform vec2 u_translation;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;out vec2 v_normal;out vec2 v_width2;out float v_gamma_scale;out highp float v_linesofar; 408#ifdef GLOBE 409out float v_depth; 410#endif 411#pragma mapbox: define highp vec4 color 412#pragma mapbox: define lowp float blur 413#pragma mapbox: define lowp float opacity 414#pragma mapbox: define mediump float gapwidth 415#pragma mapbox: define lowp float offset 416#pragma mapbox: define mediump float width 417void main() { 418#pragma mapbox: initialize highp vec4 color 419#pragma mapbox: initialize lowp float blur 420#pragma mapbox: initialize lowp float opacity 421#pragma mapbox: initialize mediump float gapwidth 422#pragma mapbox: initialize lowp float offset 423#pragma mapbox: initialize mediump float width 424float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);
424float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude; 425#ifdef GLOBE 426v_depth=gl_Position.z/gl_Position.w; 427#endif 428#ifdef TERRAIN3D 429v_gamma_scale=1.0; 430#else 431float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; 432#endif 433v_width2=vec2(outset,inset);}`),lineGradient:U(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;in vec2 v_width2;in vec2 v_normal;in float v_gamma_scale;in highp vec2 v_uv; 434#ifdef GLOBE 435in float v_depth; 436#endif 437#pragma mapbox: define lowp float blur 438#pragma mapbox: define lowp float opacity 439void main() { 440#pragma mapbox: initialize lowp float blur 441#pragma mapbox: initialize lowp float opacity 442float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture(u_image,v_uv);fragColor=color*(alpha*opacity); 443#ifdef GLOBE 444if (v_depth > 1.0) {discard;} 445#endif 446#ifdef OVERDRAW_INSPECTOR 447fragColor=vec4(1.0); 448#endif 449}`,` 450#define scale 0.015873016 451in vec2 a_pos_normal;in vec4 a_data;in float a_uv_x;in float a_split_index;uniform vec2 u_translation;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;out vec2 v_normal;out vec2 v_width2;out float v_gamma_scale;out highp vec2 v_uv; 452#ifdef GLOBE 453out float v_depth; 454#endif 455#pragma mapbox: define lowp float blur 456#pragma mapbox: define lowp float opacity 457#pragma mapbox: define mediump float gapwidth 458#pragma mapbox: define lowp float offset 459#pragma mapbox: define mediump float width 460void main() { 461#pragma mapbox: initialize lowp float blur 462#pragma mapbox: initialize lowp float opacity 463#pragma mapbox: initialize mediump float gapwidth 464#pragma mapbox: initialize lowp float offset 465#pragma mapbox: initialize mediump float width 466float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude; 467#ifdef GLOBE 468v_depth=gl_Position.z/gl_Position.w; 469#endif 470#ifdef TERRAIN3D 471v_gamma_scale=1.0; 472#else 473float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; 474#endif 475v_width2=vec2(outset,inset);}`),linePattern:U(`#ifdef GL_ES 476precision highp float; 477#endif 478uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;in vec2 v_normal;in vec2 v_width2;in float v_linesofar;in float v_gamma_scale;in float v_width; 479#ifdef GLOBE 480in float v_depth; 481#endif 482#pragma mapbox: define lowp vec4 pattern_from 483#pragma mapbox: define lowp vec4 pattern_to 484#pragma mapbox: define lowp float pixel_ratio_from 485#pragma mapbox: define lowp float pixel_ratio_to 486#pragma mapbox: define lowp float blur 487#pragma mapbox: define lowp float opacity 488void main() { 489#pragma mapbox: initialize mediump vec4 pattern_from 490#pragma mapbox: initialize mediump vec4 pattern_to 491#pragma mapbox: initialize lowp float pixel_ratio_from 492#pragma mapbox: initialize lowp float pixel_ratio_to 493#pragma mapbox: initialize lowp float blur 494#pragma mapbox: initialize lowp float opacity 495vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture(u_image,pos_a),texture(u_image,pos_b),u_fade);fragColor=color*alpha*opacity; 496#ifdef GLOBE 497if (v_depth > 1.0) {discard;} 498#endif 499#ifdef OVERDRAW_INSPECTOR 500fragColor=vec4(1.0); 501#endif 502}`,` 503#define scale 0.015873016 504#define LINE_DISTANCE_SCALE 2.0 505in vec2 a_pos_normal;in vec4 a_data;uniform vec2 u_translation;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;out vec2 v_normal;out vec2 v_width2;out float v_linesofar;out float v_gamma_scale;out float v_width; 506#ifdef GLOBE 507out float v_depth; 508#endif 509#pragma mapbox: define lowp float blur 510#pragma mapbox: define lowp float opacity 511#pragma mapbox: define lowp float offset 512#pragma mapbox: define mediump float gapwidth 513#pragma mapbox: define mediump float width 514#pragma mapbox: define lowp float floorwidth 515#pragma mapbox: define lowp vec4 pattern_from 516#pragma mapbox: define lowp vec4 pattern_to 517#pragma mapbox: define lowp float pixel_ratio_from 518#pragma mapbox: define lowp float pixel_ratio_to 519void main() { 520#pragma mapbox: initialize lowp float blur 521#pragma mapbox: initialize lowp float opacity 522#pragma mapbox: initialize lowp float offset 523#pragma mapbox: initialize mediump float gapwidth 524#pragma mapbox: initialize mediump float width 525#pragma mapbox: initialize lowp float floorwidth 526#pragma mapbox: initialize mediump vec4 pattern_from 527#pragma mapbox: initialize mediump vec4 pattern_to 528#pragma mapbox: initialize lowp float pixel_ratio_from 529#pragma mapbox: initialize lowp float pixel_ratio_to 530float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);
530float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude; 531#ifdef GLOBE 532v_depth=gl_Position.z/gl_Position.w; 533#endif 534#ifdef TERRAIN3D 535v_gamma_scale=1.0; 536#else 537float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; 538#endif 539v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:U(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;in vec2 v_normal;in vec2 v_width2;in vec2 v_tex_a;in vec2 v_tex_b;in float v_gamma_scale; 540#ifdef GLOBE 541in float v_depth; 542#endif 543#pragma mapbox: define highp vec4 color 544#pragma mapbox: define lowp float blur 545#pragma mapbox: define lowp float opacity 546#pragma mapbox: define mediump float width 547#pragma mapbox: define lowp float floorwidth 548void main() { 549#pragma mapbox: initialize highp vec4 color 550#pragma mapbox: initialize lowp float blur 551#pragma mapbox: initialize lowp float opacity 552#pragma mapbox: initialize mediump float width 553#pragma mapbox: initialize lowp float floorwidth 554float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture(u_image,v_tex_a).a;float sdfdist_b=texture(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);fragColor=color*(alpha*opacity); 555#ifdef GLOBE 556if (v_depth > 1.0) {discard;} 557#endif 558#ifdef OVERDRAW_INSPECTOR 559fragColor=vec4(1.0); 560#endif 561}`,` 562#define scale 0.015873016 563#define LINE_DISTANCE_SCALE 2.0 564in vec2 a_pos_normal;in vec4 a_data;uniform vec2 u_translation;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;out vec2 v_normal;out vec2 v_width2;out vec2 v_tex_a;out vec2 v_tex_b;out float v_gamma_scale; 565#ifdef GLOBE 566out float v_depth; 567#endif 568#pragma mapbox: define highp vec4 color 569#pragma mapbox: define lowp float blur 570#pragma mapbox: define lowp float opacity 571#pragma mapbox: define mediump float gapwidth 572#pragma mapbox: define lowp float offset 573#pragma mapbox: define mediump float width 574#pragma mapbox: define lowp float floorwidth 575void main() { 576#pragma mapbox: initialize highp vec4 color 577#pragma mapbox: initialize lowp float blur 578#pragma mapbox: initialize lowp float opacity 579#pragma mapbox: initialize mediump float gapwidth 580#pragma mapbox: initialize lowp float offset 581#pragma mapbox: initialize mediump float width 582#pragma mapbox: initialize lowp float floorwidth 583float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude; 584#ifdef GLOBE 585v_depth=gl_Position.z/gl_Position.w; 586#endif 587#ifdef TERRAIN3D 588v_gamma_scale=1.0; 589#else 590float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; 591#endif 592v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}`),raster:U(`uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;in vec2 v_pos0;in vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture(u_image0,v_pos0);vec4 color1=texture(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);fragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a); 593#ifdef OVERDRAW_INSPECTOR 594fragColor=vec4(1.0); 595#endif 596}`,`uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;uniform vec4 u_coords_top;uniform vec4 u_coords_bottom;in vec2 a_pos;out vec2 v_pos0;out vec2 v_pos1;void main() {vec2 fractionalPos=a_pos/8192.0;vec2 position=mix(mix(u_coords_top.xy,u_coords_top.zw,fractionalPos.x),mix(u_coords_bottom.xy,u_coords_bottom.zw,fractionalPos.x),fractionalPos.y);gl_Position=projectTile(position,position);v_pos0=((fractionalPos-0.5)/u_buffer_scale)+0.5; 597#ifdef GLOBE 598if (a_pos.y <-32767.5) {v_pos0.y=0.0;}if (a_pos.y > 32766.5) {v_pos0.y=1.0;} 599#endif 600v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}`),symbolIcon:U(`uniform sampler2D u_texture;in vec2 v_tex;in float v_fade_opacity; 601#pragma mapbox: define lowp float opacity 602void main() { 603#pragma mapbox: initialize lowp float opacity 604lowp float alpha=opacity*v_fade_opacity;fragColor=texture(u_texture,v_tex)*alpha; 605#ifdef OVERDRAW_INSPECTOR 606fragColor=vec4(1.0); 607#endif 608}`,`in vec4 a_pos_offset;in vec4 a_data;in vec4 a_pixeloffset;in vec3 a_projected_pos;in float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;out vec2 v_tex;out float v_fade_opacity; 609#pragma mapbox: define lowp float opacity 610void main() { 611#pragma mapbox: initialize lowp float opacity 612vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? 613camera_to_anchor_distance/u_camera_to_center_distance : 614u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0; 615#ifdef GLOBE 616if(u_pitch_with_map) {float anchor_pos_tile_y=(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w,z,1.0)).y;projectionScaling=mix(projectionScaling,1.0/circumferenceRatioAtTileY(anchor_pos_tile_y)*u_pitched_scale,u_projection_transition);} 617#endif 618vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}gl_Position=finalPos;v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}`),symbolSDF:U(`#define SDF_PX 8.0 619uniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;in vec2 v_data0;in vec3 v_data1; 620#pragma mapbox: define highp vec4 fill_color 621#pragma mapbox: define highp vec4 halo_color 622#pragma mapbox: define lowp float opacity 623#pragma mapbox: define lowp float halo_width 624#pragma mapbox: define lowp float halo_blur 625void main() { 626#pragma mapbox: initialize highp vec4 fill_color 627#pragma mapbox: initialize highp vec4 halo_color 628#pragma mapbox: initialize lowp float opacity 629#pragma mapbox: initialize lowp float halo_width 630#pragma mapbox: initialize lowp float halo_blur 631float EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float inner_edge=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);inner_edge=inner_edge+gamma*gamma_scale;}lowp float dist=texture(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(inner_edge-gamma_scaled,inner_edge+gamma_scaled,dist);if (u_is_halo) {lowp float halo_edge=(6.0-halo_width/fontScale)/SDF_PX;alpha=min(smoothstep(halo_edge-gamma_scaled,halo_edge+gamma_scaled,dist),1.0-alpha);}fragColor=color*(alpha*opacity*fade_opacity); 632#ifdef OVERDRAW_INSPECTOR 633fragColor=vec4(1.0); 634#endif 635}`,`in vec4 a_pos_offset;in vec4 a_data;in vec4 a_pixeloffset;in vec3 a_projected_pos;in float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_translation;uniform float u_pitched_scale;out vec2 v_data0;out vec3 v_data1; 636#pragma mapbox: define highp vec4 fill_color 637#pragma mapbox: define highp vec4 halo_color 638#pragma mapbox: define lowp float opacity 639#pragma mapbox: define lowp float halo_width 640#pragma mapbox: define lowp float halo_blur 641void main() { 642#pragma mapbox: initialize highp vec4 fill_color 643#pragma mapbox: initialize highp vec4 halo_color 644#pragma mapbox: initialize lowp float opacity 645#pragma mapbox: initialize lowp float halo_width 646#pragma mapbox: initialize lowp float halo_blur 647vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? 648camera_to_anchor_distance/u_camera_to_center_distance : 649u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0; 650#ifdef GLOBE 651if(u_pitch_with_map) {float anchor_pos_tile_y=(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w,z,1.0)).y;projectionScaling=mix(projectionScaling,1.0/circumferenceRatioAtTileY(anchor_pos_tile_y)*u_pitched_scale,u_projection_transition);} 652#endif 653vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}`),symbolTextAndIcon:U(`#define SDF_PX 8.0 654#define SDF 1.0 655#define ICON 0.0 656uniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;in vec4 v_data0;in vec4 v_data1; 657#pragma mapbox: define highp vec4 fill_color 658#pragma mapbox: define highp vec4 halo_color 659#pragma mapbox: define lowp float opacity 660#pragma mapbox: define lowp float halo_width 661#pragma mapbox: define lowp float halo_blur 662void main() { 663#pragma mapbox: initialize highp vec4 fill_color 664#pragma mapbox: initialize highp vec4 halo_color 665#pragma mapbox: initialize lowp float opacity 666#pragma mapbox: initialize lowp float halo_width 667#pragma mapbox: initialize lowp float halo_blur 668float fade_opa
668city=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;fragColor=texture(u_texture_icon,tex_icon)*alpha; 669#ifdef OVERDRAW_INSPECTOR 670fragColor=vec4(1.0); 671#endif 672return;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);fragColor=color*(alpha*opacity*fade_opacity); 673#ifdef OVERDRAW_INSPECTOR 674fragColor=vec4(1.0); 675#endif 676}`,`in vec4 a_pos_offset;in vec4 a_data;in vec3 a_projected_pos;in float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;out vec4 v_data0;out vec4 v_data1; 677#pragma mapbox: define highp vec4 fill_color 678#pragma mapbox: define highp vec4 halo_color 679#pragma mapbox: define lowp float opacity 680#pragma mapbox: define lowp float halo_width 681#pragma mapbox: define lowp float halo_blur 682void main() { 683#pragma mapbox: initialize highp vec4 fill_color 684#pragma mapbox: initialize highp vec4 halo_color 685#pragma mapbox: initialize lowp float opacity 686#pragma mapbox: initialize lowp float halo_width 687#pragma mapbox: initialize lowp float halo_blur 688vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? 689camera_to_anchor_distance/u_camera_to_center_distance : 690u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0; 691#ifdef GLOBE 692if(u_pitch_with_map && !u_is_along_line) {float anchor_pos_tile_y=(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w,z,1.0)).y;projectionScaling=mix(projectionScaling,1.0/circumferenceRatioAtTileY(anchor_pos_tile_y)*u_pitched_scale,u_projection_transition);} 693#endif 694vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}`),terrain:U(`uniform sampler2D u_texture;uniform vec4 u_fog_color;uniform vec4 u_horizon_color;uniform float u_fog_ground_blend;uniform float u_fog_ground_blend_opacity;uniform float u_horizon_fog_blend;uniform bool u_is_globe_mode;in vec2 v_texture_pos;in float v_fog_depth;const float gamma=2.2;vec4 gammaToLinear(vec4 color) {return pow(color,vec4(gamma));}vec4 linearToGamma(vec4 color) {return pow(color,vec4(1.0/gamma));}void main() {vec4 surface_color=texture(u_texture,vec2(v_texture_pos.x,1.0-v_texture_pos.y));if (!u_is_globe_mode && v_fog_depth > u_fog_ground_blend) {vec4 surface_color_linear=gammaToLinear(surface_color);float blend_color=smoothstep(0.0,1.0,max((v_fog_depth-u_horizon_fog_blend)/(1.0-u_horizon_fog_blend),0.0));vec4 fog_horizon_color_linear=mix(gammaToLinear(u_fog_color),gammaToLinear(u_horizon_color),blend_color);
694float factor_fog=max(v_fog_depth-u_fog_ground_blend,0.0)/(1.0-u_fog_ground_blend);fragColor=linearToGamma(mix(surface_color_linear,fog_horizon_color_linear,pow(factor_fog,2.0)*u_fog_ground_blend_opacity));} else {fragColor=surface_color;}}`,`in vec3 a_pos3d;uniform mat4 u_fog_matrix;uniform float u_ele_delta;out vec2 v_texture_pos;out float v_fog_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=projectTileFor3D(a_pos3d.xy,get_elevation(a_pos3d.xy)-ele_delta);vec4 pos=u_fog_matrix*vec4(a_pos3d.xy,ele,1.0);v_fog_depth=pos.z/pos.w*0.5+0.5;}`),terrainDepth:U(`in float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {fragColor=pack(v_depth);}`,`in vec3 a_pos3d;uniform float u_ele_delta;out float v_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;gl_Position=projectTileFor3D(a_pos3d.xy,ele-ele_delta);v_depth=gl_Position.z/gl_Position.w;}`),terrainCoords:U(`precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;in vec2 v_texture_pos;void main() {vec4 rgba=texture(u_texture,v_texture_pos);fragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}`,`in vec3 a_pos3d;uniform float u_ele_delta;out vec2 v_texture_pos;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=projectTileFor3D(a_pos3d.xy,ele-ele_delta);}`),projectionErrorMeasurement:U(`in vec4 v_output_error_encoded;void main() {fragColor=v_output_error_encoded;}`,`in vec2 a_pos;uniform highp float u_input;uniform highp float u_output_expected;out vec4 v_output_error_encoded;void main() {float real_output=2.0*atan(exp(PI-(u_input*PI*2.0)))-PI*0.5;float error=real_output-u_output_expected;float abs_error=abs(error)*128.0;v_output_error_encoded.x=min(floor(abs_error*256.0),255.0)/255.0;abs_error-=v_output_error_encoded.x;v_output_error_encoded.y=min(floor(abs_error*65536.0),255.0)/255.0;abs_error-=v_output_error_encoded.x/255.0;v_output_error_encoded.z=min(floor(abs_error*16777216.0),255.0)/255.0;v_output_error_encoded.w=error >=0.0 ? 1.0 : 0.0;gl_Position=vec4(a_pos,0.0,1.0);}`),atmosphere:U(`in vec3 view_direction;uniform vec3 u_sun_pos;uniform vec3 u_globe_position;uniform float u_globe_radius;uniform float u_atmosphere_blend;/**Shader use from https:*Made some change to adapt to MapLibre Globe geometry*/const float PI=3.141592653589793;const int iSteps=5;const int jSteps=3;/*radius of the planet*/const float EARTH_RADIUS=6371e3;/*radius of the atmosphere*/const float ATMOS_RADIUS=6471e3;vec2 rsi(vec3 r0,vec3 rd,float sr) {float a=dot(rd,rd);float b=2.0*dot(rd,r0);float c=dot(r0,r0)-(sr*sr);float d=(b*b)-4.0*a*c;if (d < 0.0) return vec2(1e5,-1e5);return vec2((-b-sqrt(d))/(2.0*a),(-b+sqrt(d))/(2.0*a));}vec4 atmosphere(vec3 r,vec3 r0,vec3 pSun,float iSun,float rPlanet,float rAtmos,vec3 kRlh,float kMie,float shRlh,float shMie,float g) {pSun=normalize(pSun);r=normalize(r);vec2 p=rsi(r0,r,rAtmos);if (p.x > p.y) {return vec4(0.0,0.0,0.0,1.0);}if (p.x < 0.0) {p.x=0.0;}vec3 pos=r0+r*p.x;vec2 p2=rsi(r0,r,rPlanet);if (p2.x <=p2.y && p2.x > 0.0) {p.y=min(p.y,p2.x);}float iStepSize=(p.y-p.x)/float(iSteps);float iTime=p.x+iStepSize*0.5;vec3 totalRlh=vec3(0,0,0);vec3 totalMie=vec3(0,0,0);float iOdRlh=0.0;float iOdMie=0.0;float mu=dot(r,pSun);float mumu=mu*mu;float gg=g*g;float pRlh=3.0/(16.0*PI)*(1.0+mumu);float pMie=3.0/(8.0*PI)*((1.0-gg)*(mumu+1.0))/(pow(1.0+gg-2.0*mu*g,1.5)*(2.0+gg));for (int i=0; i < iSteps; i++) {vec3 iPos=r0+r*iTime;float iHeight=length(iPos)-rPlanet;float odStepRlh=exp(-iHeight/shRlh)*iStepSize;float odStepMie=exp(-iHeight/shMie)*iStepSize;iOdRlh+=odStepRlh;iOdMie+=odStepMie;float jStepSize=rsi(iPos,pSun,rAtmos).y/float(jSteps);float jTime=jStepSize*0.5;float jOdRlh=0.0;float jOdMie=0.0;for (int j=0; j < jSteps; j++) {vec3 jPos=iPos+pSun*jTime;float jHeight=length(jPos)-rPlanet;jOdRlh+=exp(-jHeight/shRlh)*jStepSize;jOdMie+=exp(-jHeight/shMie)*jStepSize;jTime+=jStepSize;}vec3 attn=exp(-(kMie*(iOdMie+jOdMie)+kRlh*(iOdRlh+jOdRlh)));totalRlh+=odStepRlh*attn;totalMie+=odStepMie*attn;iTime+=iStepSize;}float opacity=exp(-(length(kRlh)*length(totalRlh)+kMie*length(totalMie)));vec3 color=iSun*(pRlh*kRlh*totalRlh+pMie*kMie*totalMie);return vec4(color,opacity);}void main() {vec3 scale_camera_pos=-u_globe_position*EARTH_RADIUS/u_globe_radius;vec4 color=atmosphere(normalize(view_direction),scale_camera_pos,u_sun_pos,22.0,EARTH_RADIUS,ATMOS_RADIUS,vec3(5.5e-6,13.0e-6,22.4e-6),21e-6,8e3,1.2e3,0.758 695);color.rgb=1.0-exp(-1.0*color.rgb);color=pow(color,vec4(1.0/2.2));fragColor=vec4(color.rgb,1.0-color.a)*u_atmosphere_blend;}`,`in vec2 a_pos;uniform mat4 u_inv_proj_matrix;out vec3 view_direction;void main() {view_direction=(u_inv_proj_matrix*vec4(a_pos,0.0,1.0)).xyz;gl_Position=vec4(a_pos,0.0,1.0);}`),sky:U(`uniform vec4 u_sky_color;uniform vec4 u_horizon_color;uniform vec2 u_horizon;uniform vec2 u_horizon_normal;uniform float u_sky_horizon_blend;uniform float u_sky_blend;void main() {float x=gl_FragCoord.x;float y=gl_FragCoord.y;float blend=(y-u_horizon.y)*u_horizon_normal.y+(x-u_horizon.x)*u_horizon_normal.x;if (blend > 0.0) {if (blend < u_sky_horizon_blend) {fragColor=mix(u_sky_color,u_horizon_color,pow(1.0-blend/u_sky_horizon_blend,2.0));} else {fragColor=u_sky_color;}}fragColor=mix(fragColor,vec4(vec3(0.0),0.0),u_sky_blend);}`,`in vec2 a_pos;void main() {gl_Position=vec4(a_pos,1.0,1.0);}`)};
695function U(e,t){let n=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,r=t.match(/in ([\w]+) ([\w]+)/g),i=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),a=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),o=a?a.concat(i):i,s={};return{fragmentSource:e=e.replace(n,((e,t,n,r,i)=>(s[i]=!0,t===`define`?`\n#ifndef HAS_UNIFORM_u_${i}\nin ${n} ${r} ${i};\n#else\nuniform ${n} ${r} u_${i};\n#endif\n`:`\n#ifdef HAS_UNIFORM_u_${i}\n ${n} ${r} ${i} = u_${i};\n#endif\n`))),vertexSource:t=t.replace(n,((e,t,n,r,i)=>{let a=r===`float`?`vec2`:`vec4`,o=i.match(/color/)?`color`:a;return s[i]?t===`define`?`\n#ifndef HAS_UNIFORM_u_${i}\nuniform lowp float u_${i}_t;\nin ${n} ${a} a_${i};\nout ${n} ${r} ${i};\n#else\nuniform ${n} ${r} u_${i};\n#endif\n`:o===`vec4`?`\n#ifndef HAS_UNIFORM_u_${i}\n ${i} = a_${i};\n#else\n ${n} ${r} ${i} = u_${i};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${i}\n ${i} = unpack_mix_${o}(a_${i}, u_${i}_t);\n#else\n ${n} ${r} ${i} = u_${i};\n#endif\n`:t===`define`?`\n#ifndef HAS_UNIFORM_u_${i}\nuniform lowp float u_${i}_t;\nin ${n} ${a} a_${i};\n#else\nuniform ${n} ${r} u_${i};\n#endif\n`:o===`vec4`?`\n#ifndef HAS_UNIFORM_u_${i}\n ${n} ${r} ${i} = a_${i};\n#else\n ${n} ${r} ${i} = u_${i};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${i}\n ${n} ${r} ${i} = unpack_mix_${o}(a_${i}, u_${i}_t);\n#else\n ${n} ${r} ${i} = u_${i};\n#endif\n`})),staticAttributes:r,staticUniforms:o}}class Ot{constructor(e,t,n){this.vertexBuffer=e,this.indexBuffer=t,this.segments=n}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}var kt=t.aG([{name:`a_pos`,type:`Int16`,components:2}]);let At=`#define PROJECTION_MERCATOR`,jt=`mercator`;class Mt{constructor(){this._cachedMesh=null}get name(){return`mercator`}get useSubdivision(){return!1}get shaderVariantName(){return jt}get shaderDefine(){return At}get shaderPreludeCode(){return Dt.projectionMercator}get vertexShaderPreludeCode(){return Dt.projectionMercator.vertexSource}get subdivisionGranularity(){return t.aH.noSubdivision}get useGlobeControls(){return!1}get transitionState(){return 0}get latitudeErrorCorrectionRadians(){return 0}destroy(){}updateGPUdependent(e){}getMeshFromTileID(e,n,r,i,a){if(this._cachedMesh)return this._cachedMesh;let o=new t.aI;o.emplaceBack(0,0),o.emplaceBack(t.Z,0),o.emplaceBack(0,t.Z),o.emplaceBack(t.Z,t.Z);let s=e.createVertexBuffer(o,kt.members),c=t.aJ.simpleSegment(0,0,4,2),l=new t.aK;l.emplaceBack(1,0,2),l.emplaceBack(1,2,3);let u=e.createIndexBuffer(l);return this._cachedMesh=new Ot(s,u,c),this._cachedMesh}recalculate(){}hasTransition(){return!1}setErrorQueryLatitudeDegrees(e){}}class W{constructor(e=0,t=0,n=0,r=0){if(isNaN(e)||e<0||isNaN(t)||t<0||isNaN(n)||n<0||isNaN(r)||r<0)throw Error(`Invalid value for edge-insets, top, bottom, left and right must all be numbers`);this.top=e,this.bottom=t,this.left=n,this.right=r}interpolate(e,n,r){return n.top!=null&&e.top!=null&&(this.top=t.B.number(e.top,n.top,r)),n.bottom!=null&&e.bottom!=null&&(this.bottom=t.B.number(e.bottom,n.bottom,r)),n.left!=null&&e.left!=null&&(this.left=t.B.number(e.left,n.left,r)),n.right!=null&&e.right!=null&&(this.right=t.B.number(e.right,n.right,r)),this}getCenter(e,n){let r=t.ae((this.left+e-this.right)/2,0,e),i=t.ae((this.top+n-this.bottom)/2,0,n);return new t.P(r,i)}equals(e){return this.top===e.top&&this.bottom===e.bottom&&this.left===e.left&&this.right===e.right}clone(){return new W(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}function Nt(e,t){if(!e.renderWorldCopies||e.lngRange)return;let n=t.lng-e.center.lng;t.lng+=n>180?-360:n<-180?360:0}function Pt(e){return Math.max(0,Math.floor(e))}class Ft{constructor(e,n,r,i,a,o){this._callbacks=e,this._tileSize=512,this._renderWorldCopies=o===void 0||!!o,this._minZoom=n||0,this._maxZoom=r||22,this._minPitch=i??0,this._maxPitch=a??60,this.setMaxBounds(),this._width=0,this._height=0,this._center=new t.Q(0,0),this._elevation=0,this._zoom=0,this._tileZoom=Pt(this._zoom),this._scale=t.ac(this._zoom),this._bearingInRadians=0,this._fovInRadians=.6435011087932844,this._pitchInRadians=0,this._rollInRadians=0,this._unmodified=!0,this._edgeInsets=new W,this._minElevationForCurrentTile=0,this._autoCalculateNearFarZ=!0}apply(e,n,r){this._latRange=e.latRange,this._lngRange=e.lngRange,this._width=e.width,this._height=e.height,this._center=e.center,this._elevation=e.elevation,this._minElevationForCurrentTile=e.minElevationForCurrentTile,this._zoom=e.zoom,this._tileZoom=Pt(this._zoom),this._scale=t.ac(this._zoom),this._bearingInRadians=e.bearingInRadians,this._fovInRadians=e.fovInRadians,this._pitchInRadians=e.pitchInRadians,this._rollInRadians=e.rollInRadians,this._unmodified=e.unmodified,this._edgeInsets=new W(e.padding.top,e.padding.bottom,e.padding.left,e.padding.right),this._minZoom=e.minZoom,this._maxZoom=e.maxZoom,this._minPitch=e.minPitch,this._maxPitch=e.maxPitch,this._renderWorldCopies=e.renderWorldCopies,this._cameraToCenterDistance=e.cameraToCenterDistance,this._nearZ=e.nearZ,this._farZ=e.farZ,this._autoCalculateNearFarZ=!r&&e.autoCalculateNearFarZ,n&&this._constrain(),this._calcMatrices()}
695get pixelsToClipSpaceMatrix(){return this._pixelsToClipSpaceMatrix}get clipSpaceToPixelsMatrix(){return this._clipSpaceToPixelsMatrix}get minElevationForCurrentTile(){return this._minElevationForCurrentTile}setMinElevationForCurrentTile(e){this._minElevationForCurrentTile=e}get tileSize(){return this._tileSize}get tileZoom(){return this._tileZoom}get scale(){return this._scale}get width(){return this._width}get height(){return this._height}get bearingInRadians(){return this._bearingInRadians}get lngRange(){return this._lngRange}get latRange(){return this._latRange}get pixelsToGLUnits(){return this._pixelsToGLUnits}get minZoom(){return this._minZoom}setMinZoom(e){this._minZoom!==e&&(this._minZoom=e,this.setZoom(this.getConstrained(this._center,this.zoom).zoom))}get maxZoom(){return this._maxZoom}setMaxZoom(e){this._maxZoom!==e&&(this._maxZoom=e,this.setZoom(this.getConstrained(this._center,this.zoom).zoom))}get minPitch(){return this._minPitch}setMinPitch(e){this._minPitch!==e&&(this._minPitch=e,this.setPitch(Math.max(this.pitch,e)))}get maxPitch(){return this._maxPitch}setMaxPitch(e){this._maxPitch!==e&&(this._maxPitch=e,this.setPitch(Math.min(this.pitch,e)))}get renderWorldCopies(){return this._renderWorldCopies}setRenderWorldCopies(e){e===void 0?e=!0:e===null&&(e=!1),this._renderWorldCopies=e}get worldSize(){return this._tileSize*this._scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new t.P(this._width,this._height)}get bearing(){return this._bearingInRadians/Math.PI*180}setBearing(e){let n=t.aL(e,-180,180)*Math.PI/180;var i,a,o,s,c,l,u,d,f;this._bearingInRadians!==n&&(this._unmodified=!1,this._bearingInRadians=n,this._calcMatrices(),this._rotationMatrix=r(),i=this._rotationMatrix,o=-this._bearingInRadians,s=(a=this._rotationMatrix)[0],c=a[1],l=a[2],u=a[3],d=Math.sin(o),f=Math.cos(o),i[0]=s*f+l*d,i[1]=c*f+u*d,i[2]=s*-d+l*f,i[3]=c*-d+u*f)}get rotationMatrix(){return this._rotationMatrix}get pitchInRadians(){return this._pitchInRadians}get pitch(){return this._pitchInRadians/Math.PI*180}setPitch(e){let n=t.ae(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitchInRadians!==n&&(this._unmodified=!1,this._pitchInRadians=n,this._calcMatrices())}get rollInRadians(){return this._rollInRadians}get roll(){return this._rollInRadians/Math.PI*180}setRoll(e){let t=e/180*Math.PI;this._rollInRadians!==t&&(this._unmodified=!1,this._rollInRadians=t,this._calcMatrices())}get fovInRadians(){return this._fovInRadians}get fov(){return t.aM(this._fovInRadians)}setFov(e){e=t.ae(e,.1,150),this.fov!==e&&(this._unmodified=!1,this._fovInRadians=t.ab(e),this._calcMatrices())}get zoom(){return this._zoom}setZoom(e){let n=this.getConstrained(this._center,e).zoom;this._zoom!==n&&(this._unmodified=!1,this._zoom=n,this._tileZoom=Math.max(0,Math.floor(n)),this._scale=t.ac(n),this._constrain(),this._calcMatrices())}get center(){return this._center}setCenter(e){e.lat===this._center.lat&&e.lng===this._center.lng||(this._unmodified=!1,this._center=e,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}setElevation(e){e!==this._elevation&&(this._elevation=e,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}setPadding(e){this._edgeInsets.equals(e)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,e,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this._width,this._height)}get pixelsPerMeter(){return this._pixelPerMeter}get unmodified(){return this._unmodified}get cameraToCenterDistance(){return this._cameraToCenterDistance}get nearZ(){return this._nearZ}get farZ(){return this._farZ}get autoCalculateNearFarZ(){return this._autoCalculateNearFarZ}overrideNearFarZ(e,t){this._autoCalculateNearFarZ=!1,this._nearZ=e,this._farZ=t,this._calcMatrices()}clearNearFarZOverride(){this._autoCalculateNearFarZ=!0,this._calcMatrices()}isPaddingEqual(e){return this._edgeInsets.equals(e)}interpolatePadding(e,t,n){this._unmodified=!1,this._edgeInsets.interpolate(e,t,n),this._constrain(),this._calcMatrices()}resize(e,t,n=!0){this._width=e,this._height=t,n&&this._constrain(),this._calcMatrices()}getMaxBounds(){return this._latRange&&this._latRange.length===2&&this._lngRange&&this._lngRange.length===2?new P([this._lngRange[0],this._latRange[0]],[this._lngRange[1],this._latRange[1]]):null}setMaxBounds(e){e?(this._lngRange=[e.getWest(),e.getEast()],this._latRange=[e.getSouth(),e.getNorth()],this._constrain()):(this._lngRange=null,this._latRange=[-85.051129,t.af])}getConstrained(e,t){return this._callbacks.getConstrained(e,t)}getCameraQueryGeometry(e,n){if(n.length===1)return[n[0],e];{let r=e.x,i=e.y,a=e.x,o=e.y;for(let e of n)r=Math.min(r,e.x),i=Math.min(i,e.y),a=Math.max(a,e.x),o=Math.max(o,e.y);return[new t.P(r,i),new t.P(a,i),new t.P(a,o),new t.P(r,o),new t.P(r,i)]}}_constrain(){if(!this.center||!this._width||!this._height||this._constraining)return;this._constraining=!0;let e=this._unmodified,{center:t,zoom:n}=this.getConstrained(this.center,this.zoom);this.setCenter(t),this.setZoom(n),this._unmodified=e,this._constraining=!1}
695_calcMatrices(){if(this._width&&this._height){this._pixelsToGLUnits=[2/this._width,-2/this._height];let e=t.ad(new Float64Array(16));t.M(e,e,[this._width/2,-this._height/2,1]),t.L(e,e,[1,-1,0]),this._clipSpaceToPixelsMatrix=e,e=t.ad(new Float64Array(16)),t.M(e,e,[1,-1,1]),t.L(e,e,[-1,-1,0]),t.M(e,e,[2/this._width,2/this._height,1]),this._pixelsToClipSpaceMatrix=e,this._cameraToCenterDistance=.5/Math.tan(this.fovInRadians/2)*this._height}this._callbacks.calcMatrices()}calculateCenterFromCameraLngLatAlt(e,n,r,i){let a=r===void 0?this.bearing:r,o=i=i===void 0?this.pitch:i,s=t.$.fromLngLat(e,n),c=-Math.cos(t.ab(o)),l=Math.sin(t.ab(o)),u=l*Math.sin(t.ab(a)),d=-l*Math.cos(t.ab(a)),f=this.elevation,p=n-f,m;c*p>=0||Math.abs(c)<.1?(m=1e4,f=n+m*c):m=-p/c;let h,g,_=t.aN(1,s.y),v=0;do{if(v+=1,v>10)break;g=m/_,h=new t.$(s.x+u*g,s.y+d*g),_=1/h.meterInMercatorCoordinateUnits()}while(Math.abs(m-g*_)>1e-12);return{center:h.toLngLat(),elevation:f,zoom:t.ah(this.height/2/Math.tan(this.fovInRadians/2)/g/this.tileSize)}}recalculateZoomAndCenter(e){if(this.elevation-e==0)return;let n=t.ag(1,this.center.lat)*this.worldSize,r=this.cameraToCenterDistance/n,i=t.$.fromLngLat(this.center,this.elevation),a=Ae(this.center,this.elevation,this.pitch,this.bearing,r);this._elevation=e;let o=this.calculateCenterFromCameraLngLatAlt(a.toLngLat(),t.aN(a.z,i.y),this.bearing,this.pitch);this._elevation=o.elevation,this._center=o.center,this.setZoom(o.zoom)}getCameraPoint(){let e=Math.tan(this.pitchInRadians)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.P(e*Math.sin(this.rollInRadians),e*Math.cos(this.rollInRadians)))}getCameraAltitude(){return Math.cos(this.pitchInRadians)*this._cameraToCenterDistance/this._pixelPerMeter+this.elevation}getCameraLngLat(){let e=t.ag(1,this.center.lat)*this.worldSize;return Ae(this.center,this.elevation,this.pitch,this.bearing,this.cameraToCenterDistance/e).toLngLat()}getMercatorTileCoordinates(e){if(!e)return[0,0,1,1];let n=e.canonical.z>=0?1<<e.canonical.z:2**e.canonical.z;return[e.canonical.x/n,e.canonical.y/n,1/n/t.Z,1/n/t.Z]}}class It{constructor(e,n){this.min=e,this.max=n,this.center=t.aO([],t.aP([],this.min,this.max),.5)}quadrant(e){let n=[e%2==0,e<2],r=t.aQ(this.min),i=t.aQ(this.max);for(let e=0;e<n.length;e++)r[e]=n[e]?this.min[e]:this.center[e],i[e]=n[e]?this.center[e]:this.max[e];return i[2]=this.max[2],new It(r,i)}distanceX(e){return Math.max(Math.min(this.max[0],e[0]),this.min[0])-e[0]}distanceY(e){return Math.max(Math.min(this.max[1],e[1]),this.min[1])-e[1]}intersectsFrustum(e){let t=!0;for(let n=0;n<e.planes.length;n++){let r=this.intersectsPlane(e.planes[n]);if(r===0)return 0;r===1&&(t=!1)}return t?2:e.aabb.min[0]>this.max[0]||e.aabb.min[1]>this.max[1]||e.aabb.min[2]>this.max[2]||e.aabb.max[0]<this.min[0]||e.aabb.max[1]<this.min[1]||e.aabb.max[2]<this.min[2]?0:1}intersectsPlane(e){let t=e[3],n=e[3];for(let r=0;r<3;r++)e[r]>0?(t+=e[r]*this.min[r],n+=e[r]*this.max[r]):(n+=e[r]*this.min[r],t+=e[r]*this.max[r]);return t>=0?2:n<0?0:1}}class Lt{distanceToTile2d(e,t,n,r){let i=r.distanceX([e,t]),a=r.distanceY([e,t]);return Math.hypot(i,a)}getWrap(e,t,n){return n}getTileAABB(e,n,r,i){let a=r,o=r;if(i.terrain){let s=new t.Y(e.z,n,e.z,e.x,e.y),c=i.terrain.getMinMaxElevation(s);a=c.minElevation??r,o=c.maxElevation??r}let s=1<<e.z;return new It([n+e.x/s,e.y/s,a],[n+(e.x+1)/s,(e.y+1)/s,o])}allowVariableZoom(e,n){let r=e.fov*(Math.abs(Math.cos(e.rollInRadians))*e.height+Math.abs(Math.sin(e.rollInRadians))*e.width)/e.height,i=t.ae(78.5-r/2,0,60);return!!n.terrain||e.pitch>i}allowWorldCopies(){return!0}recalculateCache(){}}class Rt{constructor(e,t,n){this.points=e,this.planes=t,this.aabb=n}static fromInvProjectionMatrix(e,n=1,r=0){let i=2**r,a=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((r=>{let a=1/(r=t.at([],r,e))[3]/n*i;return t.aR(r,r,[a,a,1/r[3],a])})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((e=>{let n=t.aS([],a[e[0]],a[e[1]]),r=t.aS([],a[e[2]],a[e[1]]),i=t.aT([],t.aU([],n,r)),o=-t.aV(i,a[e[1]]);return i.concat(o)})),s=[1/0,1/0,1/0],c=[-1/0,-1/0,-1/0];for(let e of a)for(let t=0;t<3;t++)s[t]=Math.min(s[t],e[t]),c[t]=Math.max(c[t],e[t]);return new Rt(a,o,new It(s,c))}}
695class zt{get pixelsToClipSpaceMatrix(){return this._helper.pixelsToClipSpaceMatrix}get clipSpaceToPixelsMatrix(){return this._helper.clipSpaceToPixelsMatrix}get pixelsToGLUnits(){return this._helper.pixelsToGLUnits}get centerOffset(){return this._helper.centerOffset}get size(){return this._helper.size}get rotationMatrix(){return this._helper.rotationMatrix}get centerPoint(){return this._helper.centerPoint}get pixelsPerMeter(){return this._helper.pixelsPerMeter}setMinZoom(e){this._helper.setMinZoom(e)}setMaxZoom(e){this._helper.setMaxZoom(e)}setMinPitch(e){this._helper.setMinPitch(e)}setMaxPitch(e){this._helper.setMaxPitch(e)}setRenderWorldCopies(e){this._helper.setRenderWorldCopies(e)}setBearing(e){this._helper.setBearing(e)}setPitch(e){this._helper.setPitch(e)}setRoll(e){this._helper.setRoll(e)}setFov(e){this._helper.setFov(e)}setZoom(e){this._helper.setZoom(e)}setCenter(e){this._helper.setCenter(e)}setElevation(e){this._helper.setElevation(e)}setMinElevationForCurrentTile(e){this._helper.setMinElevationForCurrentTile(e)}setPadding(e){this._helper.setPadding(e)}interpolatePadding(e,t,n){return this._helper.interpolatePadding(e,t,n)}isPaddingEqual(e){return this._helper.isPaddingEqual(e)}resize(e,t,n=!0){this._helper.resize(e,t,n)}getMaxBounds(){return this._helper.getMaxBounds()}setMaxBounds(e){this._helper.setMaxBounds(e)}overrideNearFarZ(e,t){this._helper.overrideNearFarZ(e,t)}clearNearFarZOverride(){this._helper.clearNearFarZOverride()}getCameraQueryGeometry(e){return this._helper.getCameraQueryGeometry(this.getCameraPoint(),e)}get tileSize(){return this._helper.tileSize}get tileZoom(){return this._helper.tileZoom}get scale(){return this._helper.scale}get worldSize(){return this._helper.worldSize}get width(){return this._helper.width}get height(){return this._helper.height}get lngRange(){return this._helper.lngRange}get latRange(){return this._helper.latRange}get minZoom(){return this._helper.minZoom}get maxZoom(){return this._helper.maxZoom}get zoom(){return this._helper.zoom}get center(){return this._helper.center}get minPitch(){return this._helper.minPitch}get maxPitch(){return this._helper.maxPitch}get pitch(){return this._helper.pitch}get pitchInRadians(){return this._helper.pitchInRadians}get roll(){return this._helper.roll}get rollInRadians(){return this._helper.rollInRadians}get bearing(){return this._helper.bearing}get bearingInRadians(){return this._helper.bearingInRadians}get fov(){return this._helper.fov}get fovInRadians(){return this._helper.fovInRadians}get elevation(){return this._helper.elevation}get minElevationForCurrentTile(){return this._helper.minElevationForCurrentTile}get padding(){return this._helper.padding}get unmodified(){return this._helper.unmodified}get renderWorldCopies(){return this._helper.renderWorldCopies}get cameraToCenterDistance(){return this._helper.cameraToCenterDistance}get nearZ(){return this._helper.nearZ}get farZ(){return this._helper.farZ}get autoCalculateNearFarZ(){return this._helper.autoCalculateNearFarZ}setTransitionState(e,t){}constructor(e,t,n,r,i){this._posMatrixCache=new Map,this._alignedPosMatrixCache=new Map,this._fogMatrixCacheF32=new Map,this._helper=new Ft({calcMatrices:()=>{this._calcMatrices()},getConstrained:(e,t)=>this.getConstrained(e,t)},e,t,n,r,i),this._coveringTilesDetailsProvider=new Lt}clone(){let e=new zt;return e.apply(this),e}apply(e,t,n){this._helper.apply(e,t,n)}get cameraPosition(){return this._cameraPosition}get projectionMatrix(){return this._projectionMatrix}get modelViewProjectionMatrix(){return this._viewProjMatrix}get inverseProjectionMatrix(){return this._invProjMatrix}get mercatorMatrix(){return this._mercatorMatrix}getVisibleUnwrappedCoordinates(e){let n=[new t.aW(0,e)];if(this._helper._renderWorldCopies){let r=this.screenPointToMercatorCoordinate(new t.P(0,0)),i=this.screenPointToMercatorCoordinate(new t.P(this._helper._width,0)),a=this.screenPointToMercatorCoordinate(new t.P(this._helper._width,this._helper._height)),o=this.screenPointToMercatorCoordinate(new t.P(0,this._helper._height)),s=Math.floor(Math.min(r.x,i.x,a.x,o.x)),c=Math.floor(Math.max(r.x,i.x,a.x,o.x));for(let r=s-1;r<=c+1;r++)r!==0&&n.push(new t.aW(r,e))}return n}getCameraFrustum(){return Rt.fromInvProjectionMatrix(this._invViewProjMatrix,this.worldSize)}getClippingPlane(){return null}getCoveringTilesDetailsProvider(){return this._coveringTilesDetailsProvider}recalculateZoomAndCenter(e){let t=this.screenPointToLocation(this.centerPoint,e),n=e?e.getElevationForLngLatZoom(t,this._helper._tileZoom):0;this._helper.recalculateZoomAndCenter(n)}setLocationAtPoint(e,n){let r=t.ag(this.elevation,this.center.lat),i=this.screenPointToMercatorCoordinateAtZ(n,r),a=this.screenPointToMercatorCoordinateAtZ(this.centerPoint,r),o=t.$.fromLngLat(e),s=new t.$(o.x-(i.x-a.x),o.y-(i.y-a.y));this.setCenter(s?.toLngLat()),this._helper._renderWorldCopies&&this.setCenter(this.center.wrap())}locationToScreenPoint(e,n){return n?this.coordinatePoint(t.$.fromLngLat(e),n.getElevationForLngLatZoom(e,this._helper._tileZoom),this._pixelMatrix3D):this.coordinatePoint(t.$.fromLngLat(e))}screenPointToLocation(e,t){return this.screenPointToMercatorCoordinate(e,t)?.toLngLat()}screenPointToMercatorCoordinate(e,t){if(t){let n=t.pointCoordinate(e);if(n!=null)return n}return this.screenPointToMercatorCoordinateAtZ(e)}screenPointToMercatorCoordinateAtZ(e,n){let r=n||0,i=[e.x,e.y,0,1],a=[e.x,e.y,1,1];t.at(i,i,this._pixelMatrixInverse),t.at(a,a,this._pixelMatrixInverse);
695let o=i[3],s=a[3],c=i[1]/o,l=a[1]/s,u=i[2]/o,d=a[2]/s,f=u===d?0:(r-u)/(d-u);return new t.$(t.B.number(i[0]/o,a[0]/s,f)/this.worldSize,t.B.number(c,l,f)/this.worldSize,r)}coordinatePoint(e,n=0,r=this._pixelMatrix){let i=[e.x*this.worldSize,e.y*this.worldSize,n,1];return t.at(i,i,r),new t.P(i[0]/i[3],i[1]/i[3])}getBounds(){let e=Math.max(0,this._helper._height/2-Oe(this));return new P().extend(this.screenPointToLocation(new t.P(0,e))).extend(this.screenPointToLocation(new t.P(this._helper._width,e))).extend(this.screenPointToLocation(new t.P(this._helper._width,this._helper._height))).extend(this.screenPointToLocation(new t.P(0,this._helper._height)))}isPointOnMapSurface(e,t){return t?t.pointCoordinate(e)!=null:e.y>this.height/2-Oe(this)}calculatePosMatrix(e,n=!1,r){let i=e.key??t.aX(e.wrap,e.canonical.z,e.canonical.z,e.canonical.x,e.canonical.y),a=n?this._alignedPosMatrixCache:this._posMatrixCache;if(a.has(i)){let e=a.get(i);return r?e.f32:e.f64}let o=ke(e,this.worldSize);t.N(o,n?this._alignedProjMatrix:this._viewProjMatrix,o);let s={f64:o,f32:new Float32Array(o)};return a.set(i,s),r?s.f32:s.f64}calculateFogMatrix(e){let n=e.key,r=this._fogMatrixCacheF32;if(r.has(n))return r.get(n);let i=ke(e,this.worldSize);return t.N(i,this._fogMatrix,i),r.set(n,new Float32Array(i)),r.get(n)}getConstrained(e,n){n=t.ae(+n,this.minZoom,this.maxZoom);let r={center:new t.Q(e.lng,e.lat),zoom:n},i=this._helper._lngRange;this._helper._renderWorldCopies||i!==null||(i=[-179.9999999999,179.9999999999]);let a=this.tileSize*t.ac(r.zoom),o=0,s=a,c=0,l=a,u=0,d=0,{x:f,y:p}=this.size;if(this._helper._latRange){let e=this._helper._latRange;
695o=t.S(e[1])*a,s=t.S(e[0])*a,s-o<p&&(u=p/(s-o))}i&&(c=t.aL(t.U(i[0])*a,0,a),l=t.aL(t.U(i[1])*a,0,a),l<c&&(l+=a),l-c<f&&(d=f/(l-c)));let{x:m,y:h}=Ee(a,e),g,_,v=Math.max(d||0,u||0);if(v)return r.center=De(a,new t.P(d?(l+c)/2:m,u?(s+o)/2:h)).wrap(),r.zoom+=t.ah(v),r;if(this._helper._latRange){let e=p/2;h-e<o&&(_=o+e),h+e>s&&(_=s-e)}if(i){let e=(c+l)/2,n=m;this._helper._renderWorldCopies&&(n=t.aL(m,e-a/2,e+a/2));let r=f/2;n-r<c&&(g=c+r),n+r>l&&(g=l-r)}return(g!==void 0||_!==void 0)&&(r.center=De(a,new t.P(g??m,_??h)).wrap()),r}calculateCenterFromCameraLngLatAlt(e,t,n,r){return this._helper.calculateCenterFromCameraLngLatAlt(e,t,n,r)}_calculateNearFarZIfNeeded(e,n,r){if(!this._helper.autoCalculateNearFarZ)return;let i=Math.min(this.elevation,this.minElevationForCurrentTile,this.getCameraAltitude()-100),a=e-i*this._helper._pixelPerMeter/Math.cos(n),o=i<0?a:e,s=Math.PI/2+this.pitchInRadians,c=t.ab(this.fov)*(Math.abs(Math.cos(t.ab(this.roll)))*this.height+Math.abs(Math.sin(t.ab(this.roll)))*this.width)/this.height*(.5+r.y/this.height),l=Math.sin(c)*o/Math.sin(t.ae(Math.PI-s-c,.01,Math.PI-.01)),u=Oe(this),d=Math.atan(u/this._helper.cameraToCenterDistance),f=t.ab(.75),p=d>f?2*d*(.5+r.y/(2*u)):f,m=Math.sin(p)*o/Math.sin(t.ae(Math.PI-s-p,.01,Math.PI-.01)),h=Math.min(l,m);this._helper._farZ=1.01*(Math.cos(Math.PI/2-n)*h+o),this._helper._nearZ=this._helper._height/50}_calcMatrices(){if(!this._helper._height)return;let e=this.centerOffset,n=Ee(this.worldSize,this.center),r=n.x,i=n.y;this._helper._pixelPerMeter=t.ag(1,this.center.lat)*this.worldSize;let a=t.ab(Math.min(this.pitch,Te)),o=Math.max(this._helper.cameraToCenterDistance/2,this._helper.cameraToCenterDistance+this._helper._elevation*this._helper._pixelPerMeter/Math.cos(a)),s;this._calculateNearFarZIfNeeded(o,a,e),s=new Float64Array(16),t.aY(s,this.fovInRadians,this._helper._width/this._helper._height,this._helper._nearZ,this._helper._farZ),this._invProjMatrix=new Float64Array(16),t.an(this._invProjMatrix,s),s[8]=2*-e.x/this._helper._width,s[9]=2*e.y/this._helper._height,this._projectionMatrix=t.aZ(s),t.M(s,s,[1,-1,1]),t.L(s,s,[0,0,-this._helper.cameraToCenterDistance]),t.a_(s,s,-this.rollInRadians),t.a$(s,s,this.pitchInRadians),t.a_(s,s,-this.bearingInRadians),t.L(s,s,[-r,-i,0]),this._mercatorMatrix=t.M([],s,[this.worldSize,this.worldSize,this.worldSize]),t.M(s,s,[1,1,this._helper._pixelPerMeter]),this._pixelMatrix=t.N(new Float64Array(16),this.clipSpaceToPixelsMatrix,s),t.L(s,s,[0,0,-this.elevation]),this._viewProjMatrix=s,this._invViewProjMatrix=t.an([],s);let c=[0,0,-1,1];t.at(c,c,this._invViewProjMatrix),this._cameraPosition=[c[0]/c[3],c[1]/c[3],c[2]/c[3]],this._fogMatrix=new Float64Array(16),t.aY(this._fogMatrix,this.fovInRadians,this.width/this.height,o,this._helper._farZ),this._fogMatrix[8]=2*-e.x/this.width,this._fogMatrix[9]=2*e.y/this.height,t.M(this._fogMatrix,this._fogMatrix,[1,-1,1]),t.L(this._fogMatrix,this._fogMatrix,[0,0,-this.cameraToCenterDistance]),t.a_(this._fogMatrix,this._fogMatrix,-this.rollInRadians),t.a$(this._fogMatrix,this._fogMatrix,this.pitchInRadians),t.a_(this._fogMatrix,this._fogMatrix,-this.bearingInRadians),t.L(this._fogMatrix,this._fogMatrix,[-r,-i,0]),t.M(this._fogMatrix,this._fogMatrix,[1,1,this._helper._pixelPerMeter]),t.L(this._fogMatrix,this._fogMatrix,[0,0,-this.elevation]),this._pixelMatrix3D=t.N(new Float64Array(16),this.clipSpaceToPixelsMatrix,s);let l=this._helper._width%2/2,u=this._helper._height%2/2,d=Math.cos(this.bearingInRadians),f=Math.sin(-this.bearingInRadians),p=r-Math.round(r)+d*l+f*u,m=i-Math.round(i)+d*u+f*l,h=new Float64Array(s);if(t.L(h,h,[p>.5?p-1:p,m>.5?m-1:m,0]),this._alignedProjMatrix=h,s=t.an(new Float64Array(16),this._pixelMatrix),!s)throw Error(`failed to invert matrix`);this._pixelMatrixInverse=s,this._clearMatrixCaches()}_clearMatrixCaches(){this._posMatrixCache.clear(),this._alignedPosMatrixCache.clear(),this._fogMatrixCacheF32.clear()}maxPitchScaleFactor(){if(!this._pixelMatrixInverse)return 1;let e=this.screenPointToMercatorCoordinate(new t.P(0,0)),n=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.at(n,n,this._pixelMatrix)[3]/this._helper.cameraToCenterDistance}getCameraPoint(){return this._helper.getCameraPoint()}getCameraAltitude(){return this._helper.getCameraAltitude()}getCameraLngLat(){let e=t.ag(1,this.center.lat)*this.worldSize;return Ae(this.center,this.elevation,this.pitch,this.bearing,this._helper.cameraToCenterDistance/e).toLngLat()}lngLatToCameraDepth(e,n){let r=t.$.fromLngLat(e),i=[r.x*this.worldSize,r.y*this.worldSize,n,1];return t.at(i,i,this._viewProjMatrix),i[2]/i[3]}getProjectionData(e){let{overscaledTileID:n,aligned:r,applyTerrainMatrix:i}=e,a=this._helper.getMercatorTileCoordinates(n),o=n?this.calculatePosMatrix(n,r,!0):null,s;return s=n&&n.terrainRttPosMatrix32f&&i?n.terrainRttPosMatrix32f:o||t.b0(),{mainMatrix:s,tileMercatorCoords:a,clippingPlane:[0,0,0,0],projectionTransition:0,fallbackMatrix:s}}isLocationOccluded(e){return!1}getPixelScale(){return 1}getCircleRadiusCorrection(){return 1}getPitchedTextCorrection(e,t,n){return 1}transformLightDirection(e){return t.aQ(e)}getRayDirectionFromPixel(e){throw Error(`Not implemented.`)}projectTileCoordinates(e,n,r,i){let a=this.calculatePosMatrix(r),o;i?(o=[e,n,i(e,n),1],t.at(o,o,a)):(o=[e,n,0,1],rt(o,o,a));let s=o[3];return{point:new t.P(o[0]/s,o[1]/s),signedDistanceFromCamera:s,isOccluded:!1}}populateCache(e){for(let t of e)this.calculatePosMatrix(t)}getMatrixForModel(e,n){let r=t.$.fromLngLat(e,n),i=r.meterInMercatorCoordinateUnits(),a=t.b1();return t.L(a,a,[r.x,r.y,r.z]),t.a_(a,a,Math.PI),t.a$(a,a,Math.PI/2),t.M(a,a,[-i,i,i]),a}getProjectionDataForCustomLayer(e=!0){let n=new t.Y(0,0,0,0,0),r=this.getProjectionData({overscaledTileID:n,applyGlobeMatrix:e}),i=ke(n,this.worldSize);t.N(i,this._viewProjMatrix,i),r.tileMercatorCoords=[0,0,1,1];let a=[t.Z,t.Z,this.worldSize/this._helper.pixelsPerMeter],o=t.b2();return t.M(o,i,a),r.fallbackMatrix=o,r.mainMatrix=o,r}getFastPathSimpleProjectionMatrix(e){return this.calculatePosMatrix(e)}}function Bt(){t.w(`Map cannot fit within canvas with the given bounds, padding, and/or offset.`)}function Vt(e){if(e.useSlerp)if(e.k<1){let n=t.b3(e.startEulerAngles.roll,e.startEulerAngles.pitch,e.startEulerAngles.bearing),r=t.b3(e.endEulerAngles.roll,e.endEulerAngles.pitch,e.endEulerAngles.bearing),i=new Float64Array(4);t.b4(i,n,r,e.k);let a=t.b5(i);e.tr.setRoll(a.roll),e.tr.setPitch(a.pitch),e.tr.setBearing(a.bearing)}else e.tr.setRoll(e.endEulerAngles.roll),e.tr.setPitch(e.endEulerAngles.pitch),e.tr.setBearing(e.endEulerAngles.bearing);else e.tr.setRoll(t.B.number(e.startEulerAngles.roll,e.endEulerAngles.roll,e.k)),e.tr.setPitch(t.B.number(e.startEulerAngles.pitch,e.endEulerAngles.pitch,e.k)),e.tr.setBearing(t.B.number(e.startEulerAngles.bearing,e.endEulerAngles.bearing,e.k))}function Ht(e,n,r,i,a){let o=a.padding,s=Ee(a.worldSize,r.getNorthWest()),c=Ee(a.worldSize,r.getNorthEast()),l=Ee(a.worldSize,r.getSouthEast()),u=Ee(a.worldSize,r.getSouthWest
695()),d=t.ab(-i),f=s.rotate(d),p=c.rotate(d),m=l.rotate(d),h=u.rotate(d),g=new t.P(Math.max(f.x,p.x,h.x,m.x),Math.max(f.y,p.y,h.y,m.y)),_=new t.P(Math.min(f.x,p.x,h.x,m.x),Math.min(f.y,p.y,h.y,m.y)),v=g.sub(_),y=(a.width-(o.left+o.right+n.left+n.right))/v.x,b=(a.height-(o.top+o.bottom+n.top+n.bottom))/v.y;if(b<0||y<0)return void Bt();let x=Math.min(t.ah(a.scale*Math.min(y,b)),e.maxZoom),S=t.P.convert(e.offset),C=new t.P((n.left-n.right)/2,(n.top-n.bottom)/2).rotate(t.ab(i)),w=S.add(C).mult(a.scale/t.ac(x));return{center:De(a.worldSize,s.add(l).div(2).sub(w)),zoom:x,bearing:i}}class Ut{get useGlobeControls(){return!1}handlePanInertia(e,t){return{easingOffset:e,easingCenter:t.center}}handleMapControlsRollPitchBearingZoom(e,t){e.bearingDelta&&t.setBearing(t.bearing+e.bearingDelta),e.pitchDelta&&t.setPitch(t.pitch+e.pitchDelta),e.rollDelta&&t.setRoll(t.roll+e.rollDelta),e.zoomDelta&&t.setZoom(t.zoom+e.zoomDelta)}handleMapControlsPan(e,t,n){e.around.distSqr(t.centerPoint)<.01||t.setLocationAtPoint(n,e.around)}cameraForBoxAndBearing(e,t,n,r,i){return Ht(e,t,n,r,i)}handleJumpToCenterZoom(e,n){e.zoom!==(n.zoom===void 0?e.zoom:+n.zoom)&&e.setZoom(+n.zoom),n.center!==void 0&&e.setCenter(t.Q.convert(n.center))}handleEaseTo(e,n){let r=e.zoom,i=e.padding,a={roll:e.roll,pitch:e.pitch,bearing:e.bearing},o={roll:n.roll===void 0?e.roll:n.roll,pitch:n.pitch===void 0?e.pitch:n.pitch,bearing:n.bearing===void 0?e.bearing:n.bearing},s=n.zoom!==void 0,c=!e.isPaddingEqual(n.padding),l=!1,u=s?+n.zoom:e.zoom,d=e.centerPoint.add(n.offsetAsPoint),f=e.screenPointToLocation(d),{center:p,zoom:m}=e.getConstrained(t.Q.convert(n.center||f),u??r);Nt(e,p);let h=Ee(e.worldSize,f),g=Ee(e.worldSize,p).sub(h),_=t.ac(m-r);return l=m!==r,{easeFunc:s=>{if(l&&e.setZoom(t.B.number(r,m,s)),t.b6(a,o)||Vt({startEulerAngles:a,endEulerAngles:o,tr:e,k:s,useSlerp:a.roll!=o.roll}),c&&(e.interpolatePadding(i,n.padding,s),d=e.centerPoint.add(n.offsetAsPoint)),n.around)e.setLocationAtPoint(n.around,n.aroundPoint);else{let n=t.ac(e.zoom-r),i=(m>r?Math.min(2,_):Math.max(.5,_))**(1-s),a=De(e.worldSize,h.add(g.mult(s*i)).mult(n));e.setLocationAtPoint(e.renderWorldCopies?a.wrap():a,d)}},isZooming:l,elevationCenter:p}}handleFlyTo(e,n){let r=n.zoom!==void 0,i=e.zoom,a=e.getConstrained(t.Q.convert(n.center||n.locationAtOffset),r?+n.zoom:i),o=a.center,s=a.zoom;Nt(e,o);let c=Ee(e.worldSize,n.locationAtOffset),l=Ee(e.worldSize,o).sub(c),u=l.mag(),d=t.ac(s-i),f;if(n.minZoom!==void 0){let r=Math.min(+n.minZoom,i,s),a=e.getConstrained(o,r).zoom;f=t.ac(a-i)}return{easeFunc:(n,r,a,u)=>{e.setZoom(n===1?s:i+t.ah(r));let d=n===1?o:De(e.worldSize,c.add(l.mult(a)).mult(r));e.setLocationAtPoint(e.renderWorldCopies?d.wrap():d,u)},scaleOfZoom:d,targetCenter:o,scaleOfMinZoom:f,pixelPathLength:u}}}class G{constructor(e,t,n){this.blendFunction=e,this.blendColor=t,this.mask=n}}G.Replace=[1,0],G.disabled=new G(G.Replace,t.b7.transparent,[!1,!1,!1,!1]),G.unblended=new G(G.Replace,t.b7.transparent,[!0,!0,!0,!0]),G.alphaBlended=new G([1,771],t.b7.transparent,[!0,!0,!0,!0]);let Wt=2305;class K{constructor(e,t,n){this.enable=e,this.mode=t,this.frontFace=n}}K.disabled=new K(!1,1029,Wt),K.backCCW=new K(!0,1029,Wt),K.frontCCW=new K(!0,1028,Wt);class q{constructor(e,t,n){this.func=e,this.mask=t,this.range=n}}q.ReadOnly=!1,q.ReadWrite=!0,q.disabled=new q(519,q.ReadOnly,[0,1]);let Gt=7680;class J{constructor(e,t,n,r,i,a){this.test=e,this.ref=t,this.mask=n,this.fail=r,this.depthFail=i,this.pass=a}}J.disabled=new J({func:519,mask:0},0,0,Gt,Gt,Gt);let Kt=new WeakMap;function qt(e){if(Kt.has(e))return Kt.get(e);{let t=e.getParameter(e.VERSION)?.startsWith(`WebGL 2.0`);return Kt.set(e,t),t}}class Jt{get awaitingQuery(){return!!this._readbackQueue}constructor(e){this._readbackWaitFrames=4,this._measureWaitFrames=6,this._texWidth=1,this._texHeight=1,this._measuredError=0,this._updateCount=0,this._lastReadbackFrame=-1e3,this._readbackQueue=null,this._cachedRenderContext=e;let n=e.context,r=n.gl;this._texFormat=r.RGBA,this._texType=r.UNSIGNED_BYTE;let i=new t.aI;i.emplaceBack(-1,-1),i.emplaceBack(2,-1),i.emplaceBack(-1,2);let a=new t.aK;a.emplaceBack(0,1,2),this._fullscreenTriangle=new Ot(n.createVertexBuffer(i,kt.members),n.createIndexBuffer(a),t.aJ.simpleSegment(0,0,i.length,a.length)),this._resultBuffer=new Uint8Array(4),n.activeTexture.set(r.TEXTURE1);let o=r.createTexture();r.bindTexture(r.TEXTURE_2D,o),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.NEAREST),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.NEAREST),r.texImage2D(r.TEXTURE_2D,0,this._texFormat,this._texWidth,this._texHeight,0,this._texFormat,this._texType,null),this._fbo=n.createFramebuffer(this._texWidth,this._texHeight,!1,!1),this._fbo.colorAttachment.set(o),qt(r)&&(this._pbo=r.createBuffer(),r.bindBuffer(r.PIXEL_PACK_BUFFER,this._pbo),r.bufferData(r.PIXEL_PACK_BUFFER,4,r.STREAM_READ),r.bindBuffer(r.PIXEL_PACK_BUFFER,null))}destroy(){let e=this._cachedRenderContext.context.gl;this._fullscreenTriangle.destroy(),this._fbo.destroy(),e.deleteBuffer(this._pbo),this._fullscreenTriangle=null,this._fbo=null,this._pbo=null,this._resultBuffer=null}updateErrorLoop(e,t){let n=this._updateCount;return this._readbackQueue?n>=this._readbackQueue.frameNumberIssued+this._readbackWaitFrames&&this._tryReadback():n>=this._lastReadbackFrame+this._measureWaitFrames&&this._renderErrorTexture(e,t),this._updateCount++,this._measuredError}_bindFramebuffer(){let e=this._cachedRenderContext.context,t=e.gl;e.activeTexture.set(t.TEXTURE1),t.bindTexture(t.TEXTURE_2D,this._fbo.colorAttachment.get()),e.bindFramebuffer.set(this._fbo.framebuffer)}_renderErrorTexture(e,n){let r=this._cachedRenderContext.context,i=r.gl;if(this._bindFramebuffer(),r.viewport.set([0,0,this._texWidth,this._texHeight]),r.clear({color:t.b7.transparent}),this._cachedRenderContext.useProgram(`projectionErrorMeasurement`).draw(r,i.TRIANGLES,q.disabled,J.disabled,G.unblended,K.disabled,((e,t)=>
695({u_input:e,u_output_expected:t}))(e,n),null,null,`$clipping`,this._fullscreenTriangle.vertexBuffer,this._fullscreenTriangle.indexBuffer,this._fullscreenTriangle.segments),this._pbo&&qt(i)){i.bindBuffer(i.PIXEL_PACK_BUFFER,this._pbo),i.readBuffer(i.COLOR_ATTACHMENT0),i.readPixels(0,0,this._texWidth,this._texHeight,this._texFormat,this._texType,0),i.bindBuffer(i.PIXEL_PACK_BUFFER,null);let e=i.fenceSync(i.SYNC_GPU_COMMANDS_COMPLETE,0);i.flush(),this._readbackQueue={frameNumberIssued:this._updateCount,sync:e}}else this._readbackQueue={frameNumberIssued:this._updateCount,sync:null}}_tryReadback(){let e=this._cachedRenderContext.context.gl;if(this._pbo&&this._readbackQueue&&qt(e)){let n=e.clientWaitSync(this._readbackQueue.sync,0,0);if(n===e.WAIT_FAILED)return t.w(`WebGL2 clientWaitSync failed.`),this._readbackQueue=null,void(this._lastReadbackFrame=this._updateCount);if(n===e.TIMEOUT_EXPIRED)return;e.bindBuffer(e.PIXEL_PACK_BUFFER,this._pbo),e.getBufferSubData(e.PIXEL_PACK_BUFFER,0,this._resultBuffer,0,4),e.bindBuffer(e.PIXEL_PACK_BUFFER,null)}else this._bindFramebuffer(),e.readPixels(0,0,this._texWidth,this._texHeight,this._texFormat,this._texType,this._resultBuffer);this._readbackQueue=null,this._measuredError=Jt._parseRGBA8float(this._resultBuffer),this._lastReadbackFrame=this._updateCount}static _parseRGBA8float(e){let t=0;return t+=e[0]/256,t+=e[1]/65536,t+=e[2]/16777216,e[3]<127&&(t=-t),t/128}}let Yt=t.Z/128;function Xt(e,n){let r=e.granularity===void 0?1:Math.max(e.granularity,1),i=r+(e.generateBorders?2:0),a=r+(e.extendToNorthPole||e.generateBorders?1:0)+(e.extendToSouthPole||e.generateBorders?1:0),o=i+1,s=a+1,c=e.generateBorders?-1:0,l=e.generateBorders||e.extendToNorthPole?-1:0,u=r+ +!!e.generateBorders,d=r+(e.generateBorders||e.extendToSouthPole?1:0),f=o*s,p=i*a*6,m=o*s>65536;if(m&&n===`16bit`)throw Error(`Granularity is too large and meshes would not fit inside 16 bit vertex indices.`);let h=m||n===`32bit`,g=new Int16Array(2*f),_=0;for(let n=l;n<=d;n++)for(let i=c;i<=u;i++){let a=i/r*t.Z;i===-1&&(a=-64),i===r+1&&(a=t.Z+Yt);let o=n/r*t.Z;n===-1&&(o=e.extendToNorthPole?t.b9:-64),n===r+1&&(o=e.extendToSouthPole?t.ba:t.Z+Yt),g[_++]=a,g[_++]=o}let v=h?new Uint32Array(p):new Uint16Array(p),y=0;for(let e=0;e<a;e++)for(let t=0;t<i;t++){let n=t+1+e*o,r=t+(e+1)*o,i=t+1+(e+1)*o;v[y++]=t+e*o,v[y++]=r,v[y++]=n,v[y++]=n,v[y++]=r,v[y++]=i}return{vertices:g.buffer.slice(0),indices:v.buffer.slice(0),uses32bitIndices:h}}let Zt=new t.aH({fill:new t.bb(128,2),line:new t.bb(512,0),tile:new t.bb(128,32),stencil:new t.bb(128,1),circle:3});class Qt{constructor(){this._tileMeshCache={},this._errorCorrectionUsable=0,this._errorMeasurementLastValue=0,this._errorCorrectionPreviousValue=0,this._errorMeasurementLastChangeTime=-1e3}get name(){return`vertical-perspective`}get transitionState(){return 1}get useSubdivision(){return!0}get shaderVariantName(){return`globe`}get shaderDefine(){return`#define GLOBE`}get shaderPreludeCode(){return Dt.projectionGlobe}get vertexShaderPreludeCode(){return Dt.projectionMercator.vertexSource}get subdivisionGranularity(){return Zt}get useGlobeControls(){return!0}get latitudeErrorCorrectionRadians(){return this._errorCorrectionUsable}destroy(){this._errorMeasurement&&this._errorMeasurement.destroy()}updateGPUdependent(e){this._errorMeasurement||=new Jt(e);let n=t.S(this._errorQueryLatitudeDegrees),r=2*Math.atan(Math.exp(Math.PI-n*Math.PI*2))-.5*Math.PI,i=this._errorMeasurement.updateErrorLoop(n,r),a=o.now();i!==this._errorMeasurementLastValue&&(this._errorCorrectionPreviousValue=this._errorCorrectionUsable,this._errorMeasurementLastValue=i,this._errorMeasurementLastChangeTime=a);let s=Math.min(Math.max((a-this._errorMeasurementLastChangeTime)/1e3/.5,0),1);this._errorCorrectionUsable=t.bc(this._errorCorrectionPreviousValue,-this._errorMeasurementLastValue,t.bd(s))}_getMeshKey(e){return`${e.granularity.toString(36)}_${e.generateBorders?`b`:``}${e.extendToNorthPole?`n`:``}${e.extendToSouthPole?`s`:``}`}getMeshFromTileID(e,t,n,r,i){let a=(i===`stencil`?Zt.stencil:Zt.tile).getGranularityForZoomLevel(t.z);return this._getMesh(e,{granularity:a,generateBorders:n,extendToNorthPole:t.y===0&&r,extendToSouthPole:t.y===(1<<t.z)-1&&r})}_getMesh(e,n){let r=this._getMeshKey(n);if(r in this._tileMeshCache)return this._tileMeshCache[r];let i=function(e,n){let r=Xt(n,`16bit`),i=t.aI.deserialize({arrayBuffer:r.vertices,length:r.vertices.byteLength/2/2}),a=t.aK.deserialize({arrayBuffer:r.indices,length:r.indices.byteLength/2/3});return new Ot(e.createVertexBuffer(i,kt.members),e.createIndexBuffer(a),t.aJ.simpleSegment(0,0,i.length,a.length))}
695(e,n);return this._tileMeshCache[r]=i,i}recalculate(e){}hasTransition(){let e=o.now(),t=!1;return t||=(e-this._errorMeasurementLastChangeTime)/1e3<.7,t||=this._errorMeasurement&&this._errorMeasurement.awaitingQuery,t}setErrorQueryLatitudeDegrees(e){this._errorQueryLatitudeDegrees=e}}let $t=new t.r({type:new t.D(t.v.projection.type)});class en extends t.E{constructor(e){super(),this._transitionable=new t.T($t),this.setProjection(e),this._transitioning=this._transitionable.untransitioned(),this.recalculate(new t.C(0)),this._mercatorProjection=new Mt,this._verticalPerspectiveProjection=new Qt}get transitionState(){let e=this.properties.get(`type`);if(typeof e==`string`&&e===`mercator`)return 0;if(typeof e==`string`&&e===`vertical-perspective`)return 1;if(e instanceof t.be){if(e.from===`vertical-perspective`&&e.to===`mercator`)return 1-e.transition;if(e.from===`mercator`&&e.to===`vertical-perspective`)return e.transition}return 1}get useGlobeRendering(){return this.transitionState>0}get latitudeErrorCorrectionRadians(){return this._verticalPerspectiveProjection.latitudeErrorCorrectionRadians}get currentProjection(){return this.useGlobeRendering?this._verticalPerspectiveProjection:this._mercatorProjection}get name(){return`globe`}get useSubdivision(){return this.currentProjection.useSubdivision}get shaderVariantName(){return this.currentProjection.shaderVariantName}get shaderDefine(){return this.currentProjection.shaderDefine}get shaderPreludeCode(){return this.currentProjection.shaderPreludeCode}get vertexShaderPreludeCode(){return this.currentProjection.vertexShaderPreludeCode}get subdivisionGranularity(){return this.currentProjection.subdivisionGranularity}get useGlobeControls(){return this.transitionState>0}destroy(){this._mercatorProjection.destroy(),this._verticalPerspectiveProjection.destroy()}updateGPUdependent(e){this._mercatorProjection.updateGPUdependent(e),this._verticalPerspectiveProjection.updateGPUdependent(e)}getMeshFromTileID(e,t,n,r,i){return this.currentProjection.getMeshFromTileID(e,t,n,r,i)}setProjection(e){this._transitionable.setValue(`type`,e?.type||`mercator`)}updateTransitions(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()||this.currentProjection.hasTransition()}recalculate(e){this.properties=this._transitioning.possiblyEvaluate(e)}setErrorQueryLatitudeDegrees(e){this._verticalPerspectiveProjection.setErrorQueryLatitudeDegrees(e),this._mercatorProjection.setErrorQueryLatitudeDegrees(e)}}function tn(e){let t=an(e.worldSize,e.center.lat);return 2*Math.PI*t}function nn(e,n,r,i,a){let o=1/(1<<a),s=n/t.Z*o+i*o,c=t.bg((e/t.Z*o+r*o)*Math.PI*2+Math.PI,2*Math.PI),l=2*Math.atan(Math.exp(Math.PI-s*Math.PI*2))-.5*Math.PI,u=Math.cos(l),d=new Float64Array(3);return d[0]=Math.sin(c)*u,d[1]=Math.sin(l),d[2]=Math.cos(c)*u,d}function rn(e){return function(e,t){let n=Math.cos(t),r=new Float64Array(3);return r[0]=Math.sin(e)*n,r[1]=Math.sin(t),r[2]=Math.cos(e)*n,r}(e.lng*Math.PI/180,e.lat*Math.PI/180)}function an(e,t){return e/(2*Math.PI)/Math.cos(t*Math.PI/180)}function on(e){let n=Math.asin(e[1])/Math.PI*180,r=Math.sqrt(e[0]*e[0]+e[2]*e[2]);if(r>1e-6){let i=e[0]/r,a=Math.acos(e[2]/r),o=(i>0?a:-a)/Math.PI*180;return new t.Q(t.aL(o,-180,180),n)}return new t.Q(0,n)}function sn(e){return Math.cos(e*Math.PI/180)}function cn(e,n){let r=sn(e),i=sn(n);return t.ah(i/r)}function ln(e,n){let r=e.rotate(n.bearingInRadians),i=n.zoom+cn(n.center.lat,0),a=t.bc(1/sn(n.center.lat),1/sn(Math.min(Math.abs(n.center.lat),60)),t.bf(i,7,3,0,1)),o=360/tn({worldSize:n.worldSize,center:{lat:n.center.lat}});return new t.Q(n.center.lng-r.x*o*a,t.ae(n.center.lat+r.y*o,-85.051129,t.af))}function un(e){let t=.5*e,n=Math.sin(t),r=Math.cos(t);return Math.log(n+r)-Math.log(r-n)}function dn(e,n,r,i){let a=e.lat+r*i;if(Math.abs(r)>1){let o=(Math.sign(e.lat+r)===Math.sign(e.lat)?Math.abs(e.lat):-Math.abs(e.lat))*Math.PI/180,s=Math.abs(e.lat+r)*Math.PI/180,c=un(o+i*(s-o)),l=un(o),u=un(s);return new t.Q(e.lng+n*((c-l)/(u-l)),a)}return new t.Q(e.lng+n*i,a)}class fn{constructor(e){this._cachePrevious=new Map,this._cache=new Map,this._hadAnyChanges=!1,this._aabbFactory=e}recalculateCache(){if(!this._hadAnyChanges)return;let e=this._cachePrevious;this._cachePrevious=this._cache,this._cache=e,this._cache.clear(),this._hadAnyChanges=!1}getTileAABB(e,t,n,r){let i=`${e.z}_${e.x}_${e.y}`,a=this._cache.get(i);if(a)return a;let o=this._cachePrevious.get(i);if(o)return this._cache.set(i,o),o;let s=this._aabbFactory(e,t,n,r);return this._cache.set(i,s),this._hadAnyChanges=!0,s}}function pn(e,t,n){let r=e-t;return r<0?-r:Math.max(0,r-n)}function mn(e,t,n,r,i){let a=e-n,o;return o=a<0?Math.min(-a,1+a-i):a>1?Math.min(Math.max(a-i,0),1-a):0,Math.max(o,pn(t,r,i))}class hn{constructor(){this._aabbCache=new fn(this._computeTileAABB)}recalculateCache(){this._aabbCache.recalculateCache()}distanceToTile2d(e,t,n,r){let i=1<<n.z,a=1/i,o=n.x/i,s=n.y/i,c=2;return c=Math.min(c,mn(e,t,o,s,a)),c=Math.min(c,mn(e,t,o+.5,-s-a,a)),c=Math.min(c,mn(e,t,o+.5,2-s-a,a)),c}getWrap(e,t,n){let r=1<<t.z,i=1/r,a=t.x/r,o=pn(e.x,a,i),s=pn(e.x,a-1,i),c=pn(e.x,a+1,i),l=Math.min(o,s,c);return l===c?1:l===s?-1:0}allowVariableZoom(e,t){return Pe(e,t)>4}allowWorldCopies(){return!1}getTileAABB(e,t,n,r){return this._aabbCache.getTileAABB(e,t,n,r)}_computeTileAABB(e,n,r,i){if(e.z<=0)return new It([-1,-1,-1],[1,1,1]);if(e.z===1)return new It([e.x===0?-1:0,e.y===0?0:-1,-1],[e.x===0?0:1,+(e.y===0),1]);{let n=[nn(0,0,e.x,e.y,e.z),nn(t.Z,0,e.x,e.y,e.z),nn(t.Z,t.Z,e.x,e.y,e.z),nn(0,t.Z,e.x,e.y,e.z)],r=[1,1,1],i=[-1,-1,-1];for(let e of n)for(let t=0;t<3;t++)r[t]=Math.min(r[t],e[t]),i[t]=Math.max(i[t],e[t]);if(e.y===0||e.y===(1<<e.z)-1){let t=[0,e.y===0?1:-1,0];for(let e=0;e<3;e++)r[e]=Math.min(r[e],t[e]),i[e]=Math.max(i[e],t[e])}return new It(r,i)}}}
695class gn{get pixelsToClipSpaceMatrix(){return this._helper.pixelsToClipSpaceMatrix}get clipSpaceToPixelsMatrix(){return this._helper.clipSpaceToPixelsMatrix}get pixelsToGLUnits(){return this._helper.pixelsToGLUnits}get centerOffset(){return this._helper.centerOffset}get size(){return this._helper.size}get rotationMatrix(){return this._helper.rotationMatrix}get centerPoint(){return this._helper.centerPoint}get pixelsPerMeter(){return this._helper.pixelsPerMeter}setMinZoom(e){this._helper.setMinZoom(e)}setMaxZoom(e){this._helper.setMaxZoom(e)}setMinPitch(e){this._helper.setMinPitch(e)}setMaxPitch(e){this._helper.setMaxPitch(e)}setRenderWorldCopies(e){this._helper.setRenderWorldCopies(e)}setBearing(e){this._helper.setBearing(e)}setPitch(e){this._helper.setPitch(e)}setRoll(e){this._helper.setRoll(e)}setFov(e){this._helper.setFov(e)}setZoom(e){this._helper.setZoom(e)}setCenter(e){this._helper.setCenter(e)}setElevation(e){this._helper.setElevation(e)}setMinElevationForCurrentTile(e){this._helper.setMinElevationForCurrentTile(e)}setPadding(e){this._helper.setPadding(e)}interpolatePadding(e,t,n){return this._helper.interpolatePadding(e,t,n)}isPaddingEqual(e){return this._helper.isPaddingEqual(e)}resize(e,t){this._helper.resize(e,t)}getMaxBounds(){return this._helper.getMaxBounds()}setMaxBounds(e){this._helper.setMaxBounds(e)}overrideNearFarZ(e,t){this._helper.overrideNearFarZ(e,t)}clearNearFarZOverride(){this._helper.clearNearFarZOverride()}getCameraQueryGeometry(e){return this._helper.getCameraQueryGeometry(this.getCameraPoint(),e)}get tileSize(){return this._helper.tileSize}get tileZoom(){return this._helper.tileZoom}get scale(){return this._helper.scale}get worldSize(){return this._helper.worldSize}get width(){return this._helper.width}get height(){return this._helper.height}get lngRange(){return this._helper.lngRange}get latRange(){return this._helper.latRange}get minZoom(){return this._helper.minZoom}get maxZoom(){return this._helper.maxZoom}get zoom(){return this._helper.zoom}get center(){return this._helper.center}get minPitch(){return this._helper.minPitch}get maxPitch(){return this._helper.maxPitch}get pitch(){return this._helper.pitch}get pitchInRadians(){return this._helper.pitchInRadians}get roll(){return this._helper.roll}get rollInRadians(){return this._helper.rollInRadians}get bearing(){return this._helper.bearing}get bearingInRadians(){return this._helper.bearingInRadians}get fov(){return this._helper.fov}get fovInRadians(){return this._helper.fovInRadians}get elevation(){return this._helper.elevation}get minElevationForCurrentTile(){return this._helper.minElevationForCurrentTile}get padding(){return this._helper.padding}get unmodified(){return this._helper.unmodified}get renderWorldCopies(){return this._helper.renderWorldCopies}get nearZ(){return this._helper.nearZ}get farZ(){return this._helper.farZ}get autoCalculateNearFarZ(){return this._helper.autoCalculateNearFarZ}setTransitionState(e){}constructor(){this._cachedClippingPlane=t.bk(),this._projectionMatrix=t.b1(),this._globeViewProjMatrix32f=t.b0(),this._globeViewProjMatrixNoCorrection=t.b1(),this._globeViewProjMatrixNoCorrectionInverted=t.b1(),this._globeProjMatrixInverted=t.b1(),this._cameraPosition=t.bh(),this._globeLatitudeErrorCorrectionRadians=0,this._helper=new Ft({calcMatrices:()=>{this._calcMatrices()},getConstrained:(e,t)=>this.getConstrained(e,t)}),this._coveringTilesDetailsProvider=new hn}clone(){let e=new gn;return e.apply(this),e}apply(e,t){this._globeLatitudeErrorCorrectionRadians=t||0,this._helper.apply(e)}get projectionMatrix(){return this._projectionMatrix}get modelViewProjectionMatrix(){return this._globeViewProjMatrixNoCorrection}get inverseProjectionMatrix(){return this._globeProjMatrixInverted}get cameraPosition(){let e=t.bh();return e[0]=this._cameraPosition[0],e[1]=this._cameraPosition[1],e[2]=this._cameraPosition[2],e}get cameraToCenterDistance(){return this._helper.cameraToCenterDistance}getProjectionData(e){let{overscaledTileID:t,applyGlobeMatrix:n}=e,r=this._helper.getMercatorTileCoordinates(t);return{mainMatrix:this._globeViewProjMatrix32f,tileMercatorCoords:r,clippingPlane:this._cachedClippingPlane,projectionTransition:+!!n,fallbackMatrix:this._globeViewProjMatrix32f}}_computeClippingPlane(e){let n=this.pitchInRadians,r=this.cameraToCenterDistance/e,i=Math.sin(n)*r,a=Math.cos(n)*r+1,o=1/Math.sqrt(i*i+a*a)*1,s=-i,c=a,l=Math.sqrt(s*s+c*c);s/=l,c/=l;let u=[0,s,c];t.bl(u,u,[0,0,0],-this.bearingInRadians),t.bm(u,u,[0,0,0],-1*this.center.lat*Math.PI/180),t.bn(u,u,[0,0,0],this.center.lng*Math.PI/180);let d=1/t.bo(u);return t.aO(u,u,d),[...u,-o*d]}isLocationOccluded(e){return!this.isSurfacePointVisible(rn(e))}transformLightDirection(e){let n=this._helper._center.lng*Math.PI/180,r=this._helper._center.lat*Math.PI/180,i=Math.cos(r),a=[Math.sin(n)*i,Math.sin(r),Math.cos(n)*i],o=[a[2],0,-a[0]],s=[0,0,0];t.aU(s,o,a),t.aT(o,o),t.aT(s,s);let c=[0,0,0];return t.aT(c,[o[0]*e[0]+s[0]*e[1]+a[0]*e[2],o[1]*e[0]+s[1]*e[1]+a[1]*e[2],o[2]*e[0]+s[2]*e[1]+a[2]*e[2]]),c}getPixelScale(){return 1/Math.cos(this._helper._center.lat*Math.PI/180)}getCircleRadiusCorrection(){return Math.cos(this._helper._center.lat*Math.PI/180)}getPitchedTextCorrection(e,n,r){let i=function(e,n,r){let i=1/(1<<r.z);return new t.$(e/t.Z*i+r.x*i,n/t.Z*i+r.y*i)}(e,n,r.canonical),a=(o=i.y,[t.bg(i.x*Math.PI*2+Math.PI,2*Math.PI),2*Math.atan(Math.exp(Math.PI-o*Math.PI*2))-.5*Math.PI]);var o;return this.getCircleRadiusCorrection()/Math.cos(a[1])}projectTileCoordinates(e,n,r,i){let a=r.canonical,o=nn(e,n,a.x,a.y,a.z),s=1+(i?i(e,n):0)/t.bu,c=[o[0]*s,o[1]*s,o[2]*s,1];t.at(c,c,this._globeViewProjMatrixNoCorrection);let l=this._cachedClippingPlane,u=l[0]*o[0]+l[1]*o[1]+l[2]*o[2]+l[3]<0;return{point:new t.P(c[0]/c[3],c[1]/c[3]),signedDistanceFromCamera:c[3],isOccluded:u}}
695_calcMatrices(){if(!this._helper._width||!this._helper._height)return;let e=an(this.worldSize,this.center.lat),n=t.b2(),r=t.b2();this._helper.autoCalculateNearFarZ&&(this._helper._nearZ=.5,this._helper._farZ=this.cameraToCenterDistance+2*e),t.aY(n,this.fovInRadians,this.width/this.height,this._helper._nearZ,this._helper._farZ);let i=this.centerOffset;n[8]=2*-i.x/this._helper._width,n[9]=2*i.y/this._helper._height,this._projectionMatrix=t.aZ(n),this._globeProjMatrixInverted=t.b2(),t.an(this._globeProjMatrixInverted,n),t.L(n,n,[0,0,-this.cameraToCenterDistance]),t.a_(n,n,this.rollInRadians),t.a$(n,n,-this.pitchInRadians),t.a_(n,n,this.bearingInRadians),t.L(n,n,[0,0,-e]);let a=t.bh();a[0]=e,a[1]=e,a[2]=e,t.a$(r,n,this.center.lat*Math.PI/180),t.bp(r,r,-this.center.lng*Math.PI/180),t.M(r,r,a),this._globeViewProjMatrixNoCorrection=r,t.a$(n,n,this.center.lat*Math.PI/180-this._globeLatitudeErrorCorrectionRadians),t.bp(n,n,-this.center.lng*Math.PI/180),t.M(n,n,a),this._globeViewProjMatrix32f=new Float32Array(n),this._globeViewProjMatrixNoCorrectionInverted=t.b2(),t.an(this._globeViewProjMatrixNoCorrectionInverted,r);let o=t.bh();this._cameraPosition=t.bh(),this._cameraPosition[2]=this.cameraToCenterDistance/e,t.bl(this._cameraPosition,this._cameraPosition,o,-this.rollInRadians),t.bm(this._cameraPosition,this._cameraPosition,o,this.pitchInRadians),t.bl(this._cameraPosition,this._cameraPosition,o,-this.bearingInRadians),t.aP(this._cameraPosition,this._cameraPosition,[0,0,1]),t.bm(this._cameraPosition,this._cameraPosition,o,-this.center.lat*Math.PI/180),t.bn(this._cameraPosition,this._cameraPosition,o,this.center.lng*Math.PI/180),this._cachedClippingPlane=this._computeClippingPlane(e);let s=t.aZ(this._globeViewProjMatrixNoCorrectionInverted);t.M(s,s,[1,1,-1]),this._cachedFrustum=Rt.fromInvProjectionMatrix(s)}calculateFogMatrix(e){t.w(`calculateFogMatrix is not supported on globe projection.`);let n=t.b2();return t.ad(n),n}getVisibleUnwrappedCoordinates(e){return[new t.aW(0,e)]}getCameraFrustum(){return this._cachedFrustum}getClippingPlane(){return this._cachedClippingPlane}getCoveringTilesDetailsProvider(){return this._coveringTilesDetailsProvider}recalculateZoomAndCenter(e){e&&t.w(`terrain is not fully supported on vertical perspective projection.`),this._helper.recalculateZoomAndCenter(0)}maxPitchScaleFactor(){return 1}getCameraPoint(){return this._helper.getCameraPoint()}getCameraAltitude(){return this._helper.getCameraAltitude()}getCameraLngLat(){return this._helper.getCameraLngLat()}lngLatToCameraDepth(e,n){if(!this._globeViewProjMatrixNoCorrection)return 1;let r=rn(e);t.aO(r,r,1+n/t.bu);let i=t.bk();return t.at(i,[r[0],r[1],r[2],1],this._globeViewProjMatrixNoCorrection),i[2]/i[3]}populateCache(e){}getBounds(){let e=.5*this.width,n=.5*this.height,r=[new t.P(0,0),new t.P(e,0),new t.P(this.width,0),new t.P(this.width,n),new t.P(this.width,this.height),new t.P(e,this.height),new t.P(0,this.height),new t.P(0,n)],i=[];for(let e of r)i.push(this.unprojectScreenPoint(e));let a=0,o=0,s=0,c=0,l=this.center;for(let e of i){let n=t.bq(l.lng,e.lng),r=t.bq(l.lat,e.lat);n<o&&(o=n),n>a&&(a=n),r<c&&(c=r),r>s&&(s=r)}let u=[l.lng+o,l.lat+c,l.lng+a,l.lat+s];return this.isSurfacePointOnScreen([0,1,0])&&(u[3]=90,u[0]=-180,u[2]=180),this.isSurfacePointOnScreen([0,-1,0])&&(u[1]=-90,u[0]=-180,u[2]=180),new P(u)}getConstrained(e,n){let r=t.ae(e.lat,-85.051129,t.af),i=t.ae(+n,this.minZoom+cn(0,r),this.maxZoom);return{center:new t.Q(e.lng,r),zoom:i}}calculateCenterFromCameraLngLatAlt(e,t,n,r){return this._helper.calculateCenterFromCameraLngLatAlt(e,t,n,r)}setLocationAtPoint(e,n){let r=rn(this.unprojectScreenPoint(n)),i=rn(e),a=t.bh();t.br(a);let o=t.bh();t.bn(o,r,a,-this.center.lng*Math.PI/180),t.bm(o,o,a,this.center.lat*Math.PI/180);let s=i[0]*i[0]+i[2]*i[2],c=o[0]*o[0];if(s<c)return;let l=Math.sqrt(s-c),u=-l,d=t.bs(i[0],i[2],o[0],l),f=t.bs(i[0],i[2],o[0],u),p=t.bh();t.bn(p,i,a,-d);let m=t.bs(p[1],p[2],o[1],o[2]),h=t.bh();t.bn(h,i,a,-f);let g=t.bs(h[1],h[2],o[1],o[2]),_=.5*Math.PI,v=m>=-_&&m<=_,y=g>=-_&&g<=_,b,x;if(v&&y){let e=this.center.lng*Math.PI/180,n=this.center.lat*Math.PI/180;
695t.bv(d,e)+t.bv(m,n)<t.bv(f,e)+t.bv(g,n)?(b=d,x=m):(b=f,x=g)}else if(v)b=d,x=m;else{if(!y)return;b=f,x=g}let S=b/Math.PI*180,C=x/Math.PI*180,w=this.center.lat;this.setCenter(new t.Q(S,t.ae(C,-90,90))),this.setZoom(this.zoom+cn(w,this.center.lat))}locationToScreenPoint(e,n){let r=rn(e);if(n){let i=n.getElevationForLngLatZoom(e,this._helper._tileZoom);t.aO(r,r,1+i/t.bu)}return this._projectSurfacePointToScreen(r)}_projectSurfacePointToScreen(e){let n=t.bk();return t.at(n,[...e,1],this._globeViewProjMatrixNoCorrection),n[0]/=n[3],n[1]/=n[3],new t.P((.5*n[0]+.5)*this.width,(.5*-n[1]+.5)*this.height)}screenPointToMercatorCoordinate(e,n){if(n){let t=n.pointCoordinate(e);if(t)return t}return t.$.fromLngLat(this.unprojectScreenPoint(e))}screenPointToLocation(e,t){return this.screenPointToMercatorCoordinate(e,t)?.toLngLat()}isPointOnMapSurface(e,t){let n=this._cameraPosition,r=this.getRayDirectionFromPixel(e);return!!this.rayPlanetIntersection(n,r)}getRayDirectionFromPixel(e){let n=t.bk();n[0]=e.x/this.width*2-1,n[1]=-1*(e.y/this.height*2-1),n[2]=1,n[3]=1,t.at(n,n,this._globeViewProjMatrixNoCorrectionInverted),n[0]/=n[3],n[1]/=n[3],n[2]/=n[3];let r=t.bh();r[0]=n[0]-this._cameraPosition[0],r[1]=n[1]-this._cameraPosition[1],r[2]=n[2]-this._cameraPosition[2];let i=t.bh();return t.aT(i,r),i}isSurfacePointVisible(e){let t=this._cachedClippingPlane;return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]>=0}isSurfacePointOnScreen(e){if(!this.isSurfacePointVisible(e))return!1;let n=t.bk();return t.at(n,[...e,1],this._globeViewProjMatrixNoCorrection),n[0]/=n[3],n[1]/=n[3],n[2]/=n[3],n[0]>-1&&n[0]<1&&n[1]>-1&&n[1]<1&&n[2]>-1&&n[2]<1}rayPlanetIntersection(e,n){let r=t.aV(e,n),i=t.bh(),a=t.bh();t.aO(a,n,r),t.aS(i,e,a);let o=1-t.aV(i,i);if(o<0)return null;let s=t.aV(e,e)-1,c=-r+(r<0?1:-1)*Math.sqrt(o),l=s/c,u=c;return{tMin:Math.min(l,u),tMax:Math.max(l,u)}}unprojectScreenPoint(e){let n=this._cameraPosition,r=this.getRayDirectionFromPixel(e),i=this.rayPlanetIntersection(n,r);if(i){let e=t.bh();t.aP(e,n,[r[0]*i.tMin,r[1]*i.tMin,r[2]*i.tMin]);let a=t.bh();return t.aT(a,e),on(a)}let a=this._cachedClippingPlane,o=a[0]*r[0]+a[1]*r[1]+a[2]*r[2],s=-t.bt(a,n)/o,c=t.bh();if(s>0)t.aP(c,n,[r[0]*s,r[1]*s,r[2]*s]);else{let e=t.bh();t.aP(e,n,[2*r[0],2*r[1],2*r[2]]);let i=t.bt(this._cachedClippingPlane,e);t.aS(c,e,[this._cachedClippingPlane[0]*i,this._cachedClippingPlane[1]*i,this._cachedClippingPlane[2]*i])}let l=function(e){let n=t.bh();return n[0]=e[0]*-e[3],n[1]=e[1]*-e[3],n[2]=e[2]*-e[3],{center:n,radius:Math.sqrt(1-e[3]*e[3])}}(a);return on(function(e,n,r){let i=t.bh();t.aS(i,r,e);let a=t.bh();return t.bi(a,e,i,n/t.bj(i)),a}(l.center,l.radius,c))}getMatrixForModel(e,n){let r=t.Q.convert(e),i=1/t.bu,a=t.b1();return t.bp(a,a,r.lng/180*Math.PI),t.a$(a,a,-r.lat/180*Math.PI),t.L(a,a,[0,0,1+n/t.bu]),t.a$(a,a,.5*Math.PI),t.M(a,a,[i,i,i]),a}getProjectionDataForCustomLayer(e=!0){let n=this.getProjectionData({overscaledTileID:new t.Y(0,0,0,0,0),applyGlobeMatrix:e});return n.tileMercatorCoords=[0,0,1,1],n}getFastPathSimpleProjectionMatrix(e){}}class _n{get pixelsToClipSpaceMatrix(){return this._helper.pixelsToClipSpaceMatrix}get clipSpaceToPixelsMatrix(){return this._helper.clipSpaceToPixelsMatrix}get pixelsToGLUnits(){return this._helper.pixelsToGLUnits}get centerOffset(){return this._helper.centerOffset}get size(){return this._helper.size}get rotationMatrix(){return this._helper.rotationMatrix}get centerPoint(){return this._helper.centerPoint}get pixelsPerMeter(){return this._helper.pixelsPerMeter}setMinZoom(e){this._helper.setMinZoom(e)}setMaxZoom(e){this._helper.setMaxZoom(e)}setMinPitch(e){this._helper.setMinPitch(e)}setMaxPitch(e){this._helper.setMaxPitch(e)}setRenderWorldCopies(e){this._helper.setRenderWorldCopies(e)}setBearing(e){this._helper.setBearing(e)}setPitch(e){this._helper.setPitch(e)}setRoll(e){this._helper.setRoll(e)}setFov(e){this._helper.setFov(e)}setZoom(e){this._helper.setZoom(e)}setCenter(e){this._helper.setCenter(e)}setElevation(e){this._helper.setElevation(e)}setMinElevationForCurrentTile(e){this._helper.setMinElevationForCurrentTile(e)}setPadding(e){this._helper.setPadding(e)}interpolatePadding(e,t,n){return this._helper.interpolatePadding(e,t,n)}isPaddingEqual(e){return this._helper.isPaddingEqual(e)}resize(e,t,n=!0){this._helper.resize(e,t,n)}getMaxBounds(){return this._helper.getMaxBounds()}setMaxBounds(e){this._helper.setMaxBounds(e)}
695overrideNearFarZ(e,t){this._helper.overrideNearFarZ(e,t)}clearNearFarZOverride(){this._helper.clearNearFarZOverride()}getCameraQueryGeometry(e){return this._helper.getCameraQueryGeometry(this.getCameraPoint(),e)}get tileSize(){return this._helper.tileSize}get tileZoom(){return this._helper.tileZoom}get scale(){return this._helper.scale}get worldSize(){return this._helper.worldSize}get width(){return this._helper.width}get height(){return this._helper.height}get lngRange(){return this._helper.lngRange}get latRange(){return this._helper.latRange}get minZoom(){return this._helper.minZoom}get maxZoom(){return this._helper.maxZoom}get zoom(){return this._helper.zoom}get center(){return this._helper.center}get minPitch(){return this._helper.minPitch}get maxPitch(){return this._helper.maxPitch}get pitch(){return this._helper.pitch}get pitchInRadians(){return this._helper.pitchInRadians}get roll(){return this._helper.roll}get rollInRadians(){return this._helper.rollInRadians}get bearing(){return this._helper.bearing}get bearingInRadians(){return this._helper.bearingInRadians}get fov(){return this._helper.fov}get fovInRadians(){return this._helper.fovInRadians}get elevation(){return this._helper.elevation}get minElevationForCurrentTile(){return this._helper.minElevationForCurrentTile}get padding(){return this._helper.padding}get unmodified(){return this._helper.unmodified}get renderWorldCopies(){return this._helper.renderWorldCopies}get cameraToCenterDistance(){return this._helper.cameraToCenterDistance}get nearZ(){return this._helper.nearZ}get farZ(){return this._helper.farZ}get autoCalculateNearFarZ(){return this._helper.autoCalculateNearFarZ}get isGlobeRendering(){return this._globeness>0}setTransitionState(e,t){this._globeness=e,this._globeLatitudeErrorCorrectionRadians=t,this._calcMatrices(),this._verticalPerspectiveTransform.getCoveringTilesDetailsProvider().recalculateCache(),this._mercatorTransform.getCoveringTilesDetailsProvider().recalculateCache()}get currentTransform(){return this.isGlobeRendering?this._verticalPerspectiveTransform:this._mercatorTransform}constructor(){this._globeLatitudeErrorCorrectionRadians=0,this._globeness=1,this._helper=new Ft({calcMatrices:()=>{this._calcMatrices()},getConstrained:(e,t)=>this.getConstrained(e,t)}),this._globeness=1,this._mercatorTransform=new zt,this._verticalPerspectiveTransform=new gn}clone(){let e=new _n;return e._globeness=this._globeness,e._globeLatitudeErrorCorrectionRadians=this._globeLatitudeErrorCorrectionRadians,e.apply(this),e}apply(e){this._helper.apply(e),this._mercatorTransform.apply(this),this._verticalPerspectiveTransform.apply(this,this._globeLatitudeErrorCorrectionRadians)}get projectionMatrix(){return this.currentTransform.projectionMatrix}get modelViewProjectionMatrix(){return this.currentTransform.modelViewProjectionMatrix}get inverseProjectionMatrix(){return this.currentTransform.inverseProjectionMatrix}get cameraPosition(){return this.currentTransform.cameraPosition}getProjectionData(e){let t=this._mercatorTransform.getProjectionData(e),n=this._verticalPerspectiveTransform.getProjectionData(e);return{mainMatrix:this.isGlobeRendering?n.mainMatrix:t.mainMatrix,clippingPlane:n.clippingPlane,tileMercatorCoords:n.tileMercatorCoords,projectionTransition:e.applyGlobeMatrix?this._globeness:0,fallbackMatrix:t.fallbackMatrix}}isLocationOccluded(e){return this.currentTransform.isLocationOccluded(e)}transformLightDirection(e){return this.currentTransform.transformLightDirection(e)}getPixelScale(){return t.bc(this._mercatorTransform.getPixelScale(),this._verticalPerspectiveTransform.getPixelScale(),this._globeness)}getCircleRadiusCorrection(){return t.bc(this._mercatorTransform.getCircleRadiusCorrection(),this._verticalPerspectiveTransform.getCircleRadiusCorrection(),this._globeness)}getPitchedTextCorrection(e,n,r){let i=this._mercatorTransform.getPitchedTextCorrection(e,n,r),a=this._verticalPerspectiveTransform.getPitchedTextCorrection(e,n,r);return t.bc(i,a,this._globeness)}projectTileCoordinates(e,t,n,r){return this.currentTransform.projectTileCoordinates(e,t,n,r)}_calcMatrices(){this._helper._width&&this._helper._height&&(this._verticalPerspectiveTransform.apply(this,this._globeLatitudeErrorCorrectionRadians),this._helper._nearZ=this._verticalPerspectiveTransform.nearZ,this._helper._farZ=this._verticalPerspectiveTransform.farZ,this._mercatorTransform.apply(this,!0,this.isGlobeRendering),this._helper._nearZ=this._mercatorTransform.nearZ,this._helper._farZ=this._mercatorTransform.farZ)}calculateFogMatrix(e){return this.currentTransform.calculateFogMatrix(e)}getVisibleUnwrappedCoordinates(e){return this.currentTransform.getVisibleUnwrappedCoordinates(e)}getCameraFrustum(){return this.currentTransform.getCameraFrustum()}getClippingPlane(){return this.currentTransform.getClippingPlane()}getCoveringTilesDetailsProvider(){return this.currentTransform.getCoveringTilesDetailsProvider()}recalculateZoomAndCenter(e){this._mercatorTransform.recalculateZoomAndCenter(e),this._verticalPerspectiveTransform.recalculateZoomAndCenter(e)}maxPitchScaleFactor(){return this._mercatorTransform.maxPitchScaleFactor()}getCameraPoint(){return this._helper.getCameraPoint()}getCameraAltitude(){return this._helper.getCameraAltitude()}getCameraLngLat(){return this._helper.getCameraLngLat()}lngLatToCameraDepth(e,t){return this.currentTransform.lngLatToCameraDepth(e,t)}populateCache(e){this._mercatorTransform.populateCache(e),this._verticalPerspectiveTransform.populateCache(e)}getBounds(){return this.currentTransform.getBounds()}getConstrained(e,t){return this.currentTransform.getConstrained(e,t)}calculateCenterFromCameraLngLatAlt(e,t,n,r){return this._helper.calculateCenterFromCameraLngLatAlt(e,t,n,r)}setLocationAtPoint(e,t){if(!this.isGlobeRendering)return this._mercatorTransform.setLocationAtPoint(e,t),void this.apply(this._mercatorTransform);this._verticalPerspectiveTransform.setLocationAtPoint(e,t),this.apply(this._verticalPerspectiveTransform)}locationToScreenPoint(e,t){return this.currentTransform.locationToScreenPoint(e,t)}screenPointToMercatorCoordinate(e,t){return this.currentTransform.screenPointToMercatorCoordinate(e,t)}screenPointToLocation(e,t){return this.currentTransform.screenPointToLocation(e,t)}
695isPointOnMapSurface(e,t){return this.currentTransform.isPointOnMapSurface(e,t)}getRayDirectionFromPixel(e){return this._verticalPerspectiveTransform.getRayDirectionFromPixel(e)}getMatrixForModel(e,t){return this.currentTransform.getMatrixForModel(e,t)}getProjectionDataForCustomLayer(e=!0){let t=this._mercatorTransform.getProjectionDataForCustomLayer(e);if(!this.isGlobeRendering)return t;let n=this._verticalPerspectiveTransform.getProjectionDataForCustomLayer(e);return n.fallbackMatrix=t.mainMatrix,n}getFastPathSimpleProjectionMatrix(e){return this.currentTransform.getFastPathSimpleProjectionMatrix(e)}}class vn{get useGlobeControls(){return!0}handlePanInertia(e,n){let r=ln(e,n);return Math.abs(r.lng-n.center.lng)>180&&(r.lng=n.center.lng+179.5*Math.sign(r.lng-n.center.lng)),{easingCenter:r,easingOffset:new t.P(0,0)}}handleMapControlsRollPitchBearingZoom(e,n){let r=e.around,i=n.screenPointToLocation(r);e.bearingDelta&&n.setBearing(n.bearing+e.bearingDelta),e.pitchDelta&&n.setPitch(n.pitch+e.pitchDelta),e.rollDelta&&n.setRoll(n.roll+e.rollDelta);let a=n.zoom;e.zoomDelta&&n.setZoom(n.zoom+e.zoomDelta);let o=n.zoom-a;if(o===0)return;let s=t.bq(n.center.lng,i.lng),c=s/(Math.abs(s/180)+1),l=t.bq(n.center.lat,i.lat),u=n.getRayDirectionFromPixel(r),d=n.cameraPosition,f=-1*t.aV(d,u),p=t.bh();t.aP(p,d,[u[0]*f,u[1]*f,u[2]*f]);let m=t.bo(p)-1,h=Math.exp(.5*-Math.max(m-.3,0)),g=an(n.worldSize,n.center.lat)/Math.min(n.width,n.height),_=t.bf(g,.9,.5,1,.25),v=(1-t.ac(-o))*Math.min(h,_),y=n.center.lat,b=n.zoom,x=new t.Q(n.center.lng+c*v,t.ae(n.center.lat+l*v,-85.051129,t.af));n.setLocationAtPoint(i,r);let S=n.center,C=t.bf(Math.abs(s),45,85,0,1),w=t.bf(g,.75,.35,0,1),T=Math.max(C,w)**.25,E=t.bq(S.lng,x.lng),D=t.bq(S.lat,x.lat);n.setCenter(new t.Q(S.lng+E*T,S.lat+D*T).wrap()),n.setZoom(b+cn(y,n.center.lat))}handleMapControlsPan(e,t,n){if(!e.panDelta)return;let r=t.center.lat,i=t.zoom;t.setCenter(ln(e.panDelta,t).wrap()),t.setZoom(i+cn(r,t.center.lat))}cameraForBoxAndBearing(e,n,r,i,a){let o=Ht(e,n,r,i,a),s=n.left/a.width*2-1,c=(a.width-n.right)/a.width*2-1,l=n.top/a.height*-2+1,u=(a.height-n.bottom)/a.height*-2+1,d=t.bq(r.getWest(),r.getEast())<0,f=d?r.getEast():r.getWest(),p=d?r.getWest():r.getEast(),m=Math.max(r.getNorth(),r.getSouth()),h=Math.min(r.getNorth(),r.getSouth()),g=f+.5*t.bq(f,p),_=m+.5*t.bq(m,h),v=a.clone();v.setCenter(o.center),v.setBearing(o.bearing),v.setPitch(0),v.setRoll(0),v.setZoom(o.zoom);let y=v.modelViewProjectionMatrix,b=[rn(r.getNorthWest()),rn(r.getNorthEast()),rn(r.getSouthWest
695()),rn(r.getSouthEast()),rn(new t.Q(p,_)),rn(new t.Q(f,_)),rn(new t.Q(g,m)),rn(new t.Q(g,h))],x=rn(o.center),S=1/0;for(let e of b)s<0&&(S=vn.getLesserNonNegativeNonNull(S,vn.solveVectorScale(e,x,y,`x`,s))),c>0&&(S=vn.getLesserNonNegativeNonNull(S,vn.solveVectorScale(e,x,y,`x`,c))),l>0&&(S=vn.getLesserNonNegativeNonNull(S,vn.solveVectorScale(e,x,y,`y`,l))),u<0&&(S=vn.getLesserNonNegativeNonNull(S,vn.solveVectorScale(e,x,y,`y`,u)));if(Number.isFinite(S)&&S!==0)return o.zoom=v.zoom+t.ah(S),o;Bt()}handleJumpToCenterZoom(e,n){let r=e.center.lat,i=e.getConstrained(n.center?t.Q.convert(n.center):e.center,e.zoom).center;e.setCenter(i.wrap());let a=n.zoom===void 0?e.zoom+cn(r,i.lat):+n.zoom;e.zoom!==a&&e.setZoom(a)}handleEaseTo(e,n){let r=e.zoom,i=e.center,a=e.padding,o={roll:e.roll,pitch:e.pitch,bearing:e.bearing},s={roll:n.roll===void 0?e.roll:n.roll,pitch:n.pitch===void 0?e.pitch:n.pitch,bearing:n.bearing===void 0?e.bearing:n.bearing},c=n.zoom!==void 0,l=!e.isPaddingEqual(n.padding),u=!1,d=n.center?t.Q.convert(n.center):i,f=e.getConstrained(d,r).center;Nt(e,f);let p=e.clone();p.setCenter(f),p.setZoom(c?+n.zoom:r+cn(i.lat,d.lat)),p.setBearing(n.bearing);let m=new t.P(t.ae(e.centerPoint.x+n.offsetAsPoint.x,0,e.width),t.ae(e.centerPoint.y+n.offsetAsPoint.y,0,e.height));p.setLocationAtPoint(f,m);let h=(n.offset&&n.offsetAsPoint.mag())>0?p.center:f,g=c?+n.zoom:r+cn(i.lat,h.lat),_=r+cn(i.lat,0),v=g+cn(h.lat,0),y=t.bq(i.lng,h.lng),b=t.bq(i.lat,h.lat),x=t.ac(v-_);return u=g!==r,{easeFunc:r=>{if(t.b6(o,s)||Vt({startEulerAngles:o,endEulerAngles:s,tr:e,k:r,useSlerp:o.roll!=s.roll}),l&&e.interpolatePadding(a,n.padding,r),n.around)t.w(`Easing around a point is not supported under globe projection.`),e.setLocationAtPoint(n.around,n.aroundPoint);else{let t=dn(i,y,b,r*(v>_?Math.min(2,x):Math.max(.5,x))**(1-r));e.setCenter(t.wrap())}if(u){let n=t.B.number(_,v,r)+cn(0,e.center.lat);e.setZoom(n)}},isZooming:u,elevationCenter:h}}handleFlyTo(e,n){let r=n.zoom!==void 0,i=e.center,a=e.zoom,o=e.padding,s=!e.isPaddingEqual(n.padding),c=e.getConstrained(t.Q.convert(n.center||n.locationAtOffset),a).center,l=r?+n.zoom:e.zoom+cn(e.center.lat,c.lat),u=e.clone();u.setCenter(c),u.setZoom(l),u.setBearing(n.bearing);let d=new t.P(t.ae(e.centerPoint.x+n.offsetAsPoint.x,0,e.width),t.ae(e.centerPoint.y+n.offsetAsPoint.y,0,e.height));u.setLocationAtPoint(c,d);let f=u.center;Nt(e,f);let p=function(e,n,r){let i=rn(n),a=rn(r),o=t.aV(i,a),s=Math.acos(o),c=tn(e);return s/(2*Math.PI)*c}(e,i,f),m=a+cn(i.lat,0),h=l+cn(f.lat,0),g=t.ac(h-m),_;if(typeof n.minZoom==`number`){let r=+n.minZoom+cn(f.lat,0),i=Math.min(r,m,h)+cn(0,f.lat),a=e.getConstrained(f,i).zoom+cn(f.lat,0);_=t.ac(a-m)}let v=t.bq(i.lng,f.lng),y=t.bq(i.lat,f.lat);return{easeFunc:(r,a,c,u)=>{let d=dn(i,v,y,c);s&&e.interpolatePadding(o,n.padding,r);let p=r===1?f:d;e.setCenter(p.wrap());let h=m+t.ah(a);e.setZoom(r===1?l:h+cn(0,p.lat))},scaleOfZoom:g,targetCenter:f,scaleOfMinZoom:_,pixelPathLength:p}}static solveVectorScale(e,t,n,r,i){let a=r===`x`?[n[0],n[4],n[8],n[12]]:[n[1],n[5],n[9],n[13]],o=[n[3],n[7],n[11],n[15]],s=e[0]*a[0]+e[1]*a[1]+e[2]*a[2],c=e[0]*o[0]+e[1]*o[1]+e[2]*o[2],l=t[0]*a[0]+t[1]*a[1]+t[2]*a[2],u=t[0]*o[0]+t[1]*o[1]+t[2]*o[2];return l+i*c===s+i*u||o[3]*(s-l)+a[3]*(u-c)+s*u==l*c?null:(l+a[3]-i*u-i*o[3])/(l-s-i*u+i*c)}static getLesserNonNegativeNonNull(e,t){return t!==null&&t>=0&&t<e?t:e}}class yn{constructor(e){this._globe=e,this._mercatorCameraHelper=new Ut,this._verticalPerspectiveCameraHelper=new vn}get useGlobeControls(){return this._globe.useGlobeRendering}get currentHelper(){return this.useGlobeControls?this._verticalPerspectiveCameraHelper:this._mercatorCameraHelper}handlePanInertia(e,t){return this.currentHelper.handlePanInertia(e,t)}handleMapControlsRollPitchBearingZoom(e,t){return this.currentHelper.handleMapControlsRollPitchBearingZoom(e,t)}handleMapControlsPan(e,t,n){this.currentHelper.handleMapControlsPan(e,t,n)}cameraForBoxAndBearing(e,t,n,r,i){return this.currentHelper.cameraForBoxAndBearing(e,t,n,r,i)}handleJumpToCenterZoom(e,t){this.currentHelper.handleJumpToCenterZoom(e,t)}handleEaseTo(e,t){return this.currentHelper.handleEaseTo(e,t)}handleFlyTo(e,t){return this.currentHelper.handleFlyTo(e,t)}}let bn=(e,n)=>t.x(e,n&&n.filter((e=>e.identifier!==`source.canvas`))),xn=t.bw();class Sn extends t.E{constructor(e,n={}){super(),this._rtlPluginLoaded=()=>{for(let e in this.sourceCaches){let t=this.sourceCaches[e].getSource().type;t!==`vector`&&t!==`geojson`||this.sourceCaches[e].reload()}},this.map=e,this.dispatcher=new ie(M(),e._getMapId()),this.dispatcher.registerMessageHandler(`GG`,((e,t)=>
695this.getGlyphs(e,t))),this.dispatcher.registerMessageHandler(`GI`,((e,t)=>this.getImages(e,t))),this.imageManager=new b,this.imageManager.setEventedParent(this),this.glyphManager=new w(e._requestManager,n.localIdeographFontFamily),this.lineAtlas=new A(256,512),this.crossTileSymbolIndex=new Tt,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new t.bx,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(`SR`,t.by()),xe().on(ve,this._rtlPluginLoaded),this.on(`data`,(e=>{if(e.dataType!==`source`||e.sourceDataType!==`metadata`)return;let t=this.sourceCaches[e.sourceId];if(!t)return;let n=t.getSource();if(n&&n.vectorLayerIds)for(let e in this._layers){let t=this._layers[e];t.source===n.id&&this._validateLayer(t)}}))}loadURL(e,n={},r){this.fire(new t.l(`dataloading`,{dataType:`style`})),n.validate=typeof n.validate!=`boolean`||n.validate;let i=this.map._requestManager.transformRequest(e,`Style`);this._loadStyleRequest=new AbortController;let a=this._loadStyleRequest;t.j(i,this._loadStyleRequest).then((e=>{this._loadStyleRequest=null,this._load(e.data,n,r)})).catch((e=>{this._loadStyleRequest=null,e&&!a.signal.aborted&&this.fire(new t.k(e))}))}loadJSON(e,n={},r){this.fire(new t.l(`dataloading`,{dataType:`style`})),this._frameRequest=new AbortController,o.frameAsync(this._frameRequest).then((()=>{this._frameRequest=null,n.validate=!1!==n.validate,this._load(e,n,r)})).catch((()=>{}))}loadEmpty(){this.fire(new t.l(`dataloading`,{dataType:`style`})),this._load(xn,{validate:!1})}_load(e,n,r){let i=n.transformStyle?n.transformStyle(r,e):e;if(!n.validate||!bn(this,t.y(i))){this._loaded=!0,this.stylesheet=i;for(let e in i.sources)this.addSource(e,i.sources[e],{validate:!1});i.sprite?this._loadSprite(i.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(i.glyphs),this._createLayers(),this.light=new D(this.stylesheet.light),this._setProjectionInternal(this.stylesheet.projection?.type||`mercator`),this.sky=new k(this.stylesheet.sky),this.map.setTerrain(this.stylesheet.terrain??null),this.fire(new t.l(`data`,{dataType:`style`})),this.fire(new t.l(`style.load`))}}_createLayers(){let e=t.bz(this.stylesheet.layers);this.dispatcher.broadcast(`SL`,e),this._order=e.map((e=>e.id)),this._layers={},this._serializedLayers=null;for(let n of e){let e=t.bA(n);e.setEventedParent(this,{layer:{id:n.id}}),this._layers[n.id]=e}}_loadSprite(e,n=!1,r=void 0){let i;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,function(e,n,r,i){return t._(this,void 0,void 0,(function*(){let a=g(e),s=r>1?`@2x`:``,c={},l={};for(let{id:e,url:r}of a){let a=n.transformRequest(_(r,s,`.json`),`SpriteJSON`);c[e]=t.j(a,i);let o=n.transformRequest(_(r,s,`.png`),`SpriteImage`);l[e]=m.getImage(o,i)}return yield Promise.all([...Object.values(c),...Object.values(l)]),function(e,n){return t._(this,void 0,void 0,(function*(){let t={};for(let r in e){t[r]={};let i=o.getImageCanvasContext((yield n[r]).data),a=(yield e[r]).data;for(let e in a){let{width:n,height:o,x:s,y:c,sdf:l,pixelRatio:u,stretchX:d,stretchY:f,content:p,textFitWidth:m,textFitHeight:h}=a[e];t[r][e]={data:null,pixelRatio:u,sdf:l,stretchX:d,stretchY:f,content:p,textFitWidth:m,textFitHeight:h,spriteData:{width:n,height:o,x:s,y:c,context:i}}}}return t}))}(c,l)}))}(e,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then((e=>{if(this._spriteRequest=null,e)for(let t in e){this._spritesImagesIds[t]=[];let r=this._spritesImagesIds[t]?this._spritesImagesIds[t].filter((t=>!(t in e))):[];for(let e of r)this.imageManager.removeImage(e),this._changedImages[e]=!0;for(let r in e[t]){let i=t==="default"?r:`${t}:${r}`;this._spritesImagesIds[t].push(i),i in this.imageManager.images?this.imageManager.updateImage(i,e[t][r],!1):this.imageManager.addImage(i,e[t][r]),n&&(this._changedImages[i]=!0)}}})).catch((e=>{this._spriteRequest=null,i=e,this.fire(new t.k(i))})).finally((()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),n&&(this._changed=!0),this.dispatcher.broadcast(`SI`,this._availableImages),this.fire(new t.l(`data`,{dataType:`style`})),r&&r(i)}))}_unloadSprite(){for(let e of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(e),this._changedImages[e]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(`SI`,this._availableImages),this.fire(new t.l(`data`,{dataType:`style`}))}_validateLayer(e){let n=this.sourceCaches[e.source];if(!n)return;let r=e.sourceLayer;if(!r)return;let i=n.getSource();(i.type===`geojson`||i.vectorLayerIds&&i.vectorLayerIds.indexOf(r)===-1)&&this.fire(new t.k(Error(`Source layer "${r}" does not exist on source "${i.id}" as specified by style layer "${e.id}".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let e in this.sourceCaches)if(!this.sourceCaches[e].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(e,n=!1){let r=this._serializedAllLayers();if(!e||e.length===0)return Object.values(n?t.bB(r):r);let i=[];for(let a of e)if(r[a]){let e=n?t.bB(r[a]):r[a];i.push(e)}return i}_serializedAllLayers(){let e=this._serializedLayers;if(e)return e;e=this._serializedLayers={};let t=Object.keys(this._layers);for(let n of t){let t=this._layers[n];t.type!==`custom`&&(e[n]=t.serialize())}return e}hasTransitions(){if(this.light?.hasTransition()||this.sky?.hasTransition()||this.projection?.hasTransition())return!0;for(let e in this.sourceCaches)if(this.sourceCaches[e].hasTransition())return!0;for(let e in this._layers)if(this._layers[e].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw Error(`Style is not done loading.`)}update(e){if(!this._loaded)return;let n=this._changed;if(n){let t=Object.keys(this._updatedLayers),n=Object.keys(this._removedLayers);(t.length||n.length)&&this._updateWorkerLayers(t,n);for(let e in this._updatedSources){let t=this._updatedSources[e];if(t===`reload`)this._reloadSource(e);else{if(t!==`clear`)throw Error(`Invalid action ${t}`);this._clearSource(e)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let t in this._updatedPaintProps)this._layers[t].updateTransitions(e);this.light.updateTransitions(e),this.sky.updateTransitions(e),this._resetUpdates()}let r={};for(let e in this.sourceCaches){let t=this.sourceCaches[e];r[e]=t.used,t.used=!1}for(let t of this._order){let n=this._layers[t];n.recalculate(e,this._availableImages),!n.isHidden(e.zoom)&&n.source&&(this.sourceCaches[n.source].used=!0)}for(let e in r){let n=this.sourceCaches[e];!!r[e]!=!!n.used&&n.fire(new t.l(`data`,{sourceDataType:`visibility`,dataType:`source`,sourceId:e}))}this.light.recalculate(e),this.sky.recalculate(e),this.projection.recalculate(e),this.z=e.zoom,n&&this.fire(new t.l(`data`,{dataType:`style`}))}_updateTilesForChangedImages(){let e=Object.keys(this._changedImages);if(e.length){for(let t in this.sourceCaches)this.sourceCaches[t].reloadTilesForDependencies([`icons`,`patterns`],e);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies([`glyphs`],[``]);this._glyphsDidChange=!1}}_updateWorkerLayers(e,t){this.dispatcher.broadcast(`UL`,{layers:this._serializeByIds(e,!1),removedIds:t})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(e,n={}){var r;this._checkLoaded();let i=this.serialize();if(e=n.transformStyle?n.transformStyle(i,e):e,((r=n.validate)==null||r)&&bn(this,t.y(e)))return!1;
695(e=t.bB(e)).layers=t.bz(e.layers);let a=t.bC(i,e),o=this._getOperationsToPerform(a);if(o.unimplemented.length>0)throw Error(`Unimplemented: ${o.unimplemented.join(`, `)}.`);if(o.operations.length===0)return!1;for(let e of o.operations)e();return this.stylesheet=e,this._serializedLayers=null,!0}_getOperationsToPerform(e){let t=[],n=[];for(let r of e)switch(r.command){case`setCenter`:case`setZoom`:case`setBearing`:case`setPitch`:case`setRoll`:continue;case`addLayer`:t.push((()=>this.addLayer.apply(this,r.args)));break;case`removeLayer`:t.push((()=>this.removeLayer.apply(this,r.args)));break;case`setPaintProperty`:t.push((()=>this.setPaintProperty.apply(this,r.args)));break;case`setLayoutProperty`:t.push((()=>this.setLayoutProperty.apply(this,r.args)));break;case`setFilter`:t.push((()=>this.setFilter.apply(this,r.args)));break;case`addSource`:t.push((()=>this.addSource.apply(this,r.args)));break;case`removeSource`:t.push((()=>this.removeSource.apply(this,r.args)));break;case`setLayerZoomRange`:t.push((()=>this.setLayerZoomRange.apply(this,r.args)));break;case`setLight`:t.push((()=>this.setLight.apply(this,r.args)));break;case`setGeoJSONSourceData`:t.push((()=>this.setGeoJSONSourceData.apply(this,r.args)));break;case`setGlyphs`:t.push((()=>this.setGlyphs.apply(this,r.args)));break;case`setSprite`:t.push((()=>this.setSprite.apply(this,r.args)));break;case`setTerrain`:t.push((()=>this.map.setTerrain.apply(this,r.args)));break;case`setSky`:t.push((()=>this.setSky.apply(this,r.args)));break;case`setProjection`:this.setProjection.apply(this,r.args);break;case`setTransition`:t.push((()=>{}));break;default:n.push(r.command)}return{operations:t,unimplemented:n}}addImage(e,n){if(this.getImage(e))return this.fire(new t.k(Error(`An image named "${e}" already exists.`)));this.imageManager.addImage(e,n),this._afterImageUpdated(e)}updateImage(e,t){this.imageManager.updateImage(e,t)}getImage(e){return this.imageManager.getImage(e)}removeImage(e){if(!this.getImage(e))return this.fire(new t.k(Error(`An image named "${e}" does not exist.`)));this.imageManager.removeImage(e),this._afterImageUpdated(e)}_afterImageUpdated(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.dispatcher.broadcast(`SI`,this._availableImages),this.fire(new t.l(`data`,{dataType:`style`}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(e,n,r={}){if(this._checkLoaded(),this.sourceCaches[e]!==void 0)throw Error(`Source "${e}" already exists.`);if(!n.type)throw Error(`The type property must be defined, but only the following properties were given: ${Object.keys(n).join(`, `)}.`);if([`vector`,`raster`,`geojson`,`video`,`image`].indexOf(n.type)>=0&&this._validate(t.y.source,`sources.${e}`,n,null,r))return;this.map&&this.map._collectResourceTiming&&(n.collectResourceTiming=!0);let i=this.sourceCaches[e]=new Ie(e,n,this.dispatcher);i.style=this,i.setEventedParent(this,(()=>({isSourceLoaded:i.loaded(),source:i.serialize(),sourceId:e}))),i.onAdd(this.map),this._changed=!0}removeSource(e){if(this._checkLoaded(),this.sourceCaches[e]===void 0)throw Error(`There is no source with this ID`);for(let n in this._layers)if(this._layers[n].source===e)return this.fire(new t.k(Error(`Source "${e}" cannot be removed while layer "${n}" is using it.`)));let n=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],n.fire(new t.l(`data`,{sourceDataType:`metadata`,dataType:`source`,sourceId:e})),n.setEventedParent(null),n.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(e,t){if(this._checkLoaded(),this.sourceCaches[e]===void 0)throw Error(`There is no source with this ID=${e}`);let n=this.sourceCaches[e].getSource();if(n.type!==`geojson`)throw Error(`geojsonSource.type is ${n.type}, which is !== 'geojson`);n.setData(t),this._changed=!0}getSource(e){return this.sourceCaches[e]&&this.sourceCaches[e].getSource()}addLayer(e,n,r={}){this._checkLoaded();let i=e.id;if(this.getLayer(i))return void this.fire(new t.k(Error(`Layer "${i}" already exists on this map.`)));let a;if(e.type===`custom`){if(bn(this,t.bD(e)))return;a=t.bA(e)}else{if(`source`in e&&typeof e.source==`object`&&(this.addSource(i,e.source),e=t.bB(e),e=t.e(e,{source:i}
695)),this._validate(t.y.layer,`layers.${i}`,e,{arrayIndex:-1},r))return;a=t.bA(e),this._validateLayer(a),a.setEventedParent(this,{layer:{id:i}})}let o=n?this._order.indexOf(n):this._order.length;if(n&&o===-1)this.fire(new t.k(Error(`Cannot add layer "${i}" before non-existing layer "${n}".`)));else{if(this._order.splice(o,0,i),this._layerOrderChanged=!0,this._layers[i]=a,this._removedLayers[i]&&a.source&&a.type!==`custom`){let e=this._removedLayers[i];delete this._removedLayers[i],e.type===a.type?(this._updatedSources[a.source]=`reload`,this.sourceCaches[a.source].pause()):this._updatedSources[a.source]=`clear`}this._updateLayer(a),a.onAdd&&a.onAdd(this.map)}}moveLayer(e,n){if(this._checkLoaded(),this._changed=!0,!this._layers[e])return void this.fire(new t.k(Error(`The layer '${e}' does not exist in the map's style and cannot be moved.`)));if(e===n)return;let r=this._order.indexOf(e);this._order.splice(r,1);let i=n?this._order.indexOf(n):this._order.length;n&&i===-1?this.fire(new t.k(Error(`Cannot move layer "${e}" before non-existing layer "${n}".`))):(this._order.splice(i,0,e),this._layerOrderChanged=!0)}removeLayer(e){this._checkLoaded();let n=this._layers[e];if(!n)return void this.fire(new t.k(Error(`Cannot remove non-existing layer "${e}".`)));n.setEventedParent(null);let r=this._order.indexOf(e);this._order.splice(r,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=n,delete this._layers[e],this._serializedLayers&&delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],n.onRemove&&n.onRemove(this.map)}getLayer(e){return this._layers[e]}getLayersOrder(){return[...this._order]}hasLayer(e){return e in this._layers}setLayerZoomRange(e,n,r){this._checkLoaded();let i=this.getLayer(e);i?i.minzoom===n&&i.maxzoom===r||(n!=null&&(i.minzoom=n),r!=null&&(i.maxzoom=r),this._updateLayer(i)):this.fire(new t.k(Error(`Cannot set the zoom range of non-existing layer "${e}".`)))}setFilter(e,n,r={}){this._checkLoaded();let i=this.getLayer(e);if(i){if(!t.bE(i.filter,n))return n==null?(i.filter=void 0,void this._updateLayer(i)):void(this._validate(t.y.filter,`layers.${i.id}.filter`,n,null,r)||(i.filter=t.bB(n),this._updateLayer(i)))}else this.fire(new t.k(Error(`Cannot filter non-existing layer "${e}".`)))}getFilter(e){return t.bB(this.getLayer(e).filter)}setLayoutProperty(e,n,r,i={}){this._checkLoaded();let a=this.getLayer(e);a?t.bE(a.getLayoutProperty(n),r)||(a.setLayoutProperty(n,r,i),this._updateLayer(a)):this.fire(new t.k(Error(`Cannot style non-existing layer "${e}".`)))}getLayoutProperty(e,n){let r=this.getLayer(e);if(r)return r.getLayoutProperty(n);this.fire(new t.k(Error(`Cannot get style of non-existing layer "${e}".`)))}setPaintProperty(e,n,r,i={}){this._checkLoaded();let a=this.getLayer(e);a?t.bE(a.getPaintProperty(n),r)||(a.setPaintProperty(n,r,i)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[e]=!0,this._serializedLayers=null):this.fire(new t.k(Error(`Cannot style non-existing layer "${e}".`)))}getPaintProperty(e,t){return this.getLayer(e).getPaintProperty(t)}setFeatureState(e,n){this._checkLoaded();let r=e.source,i=e.sourceLayer,a=this.sourceCaches[r];if(a===void 0)return void this.fire(new t.k(Error(`The source '${r}' does not exist in the map's style.`)));let o=a.getSource().type;o===`geojson`&&i?this.fire(new t.k(Error(`GeoJSON sources cannot have a sourceLayer parameter.`))):o!==`vector`||i?(e.id===void 0&&this.fire(new t.k(Error(`The feature id parameter must be provided.`))),a.setFeatureState(i,e.id,n)):this.fire(new t.k(Error(`The sourceLayer parameter must be provided for vector source types.`)))}removeFeatureState(e,n){this._checkLoaded();let r=e.source,i=this.sourceCaches[r];if(i===void 0)return void this.fire(new t.k(Error(`The source '${r}' does not exist in the map's style.`)));let a=i.getSource().type,o=a===`vector`?e.sourceLayer:void 0;a!==`vector`||o?n&&typeof e.id!=`string`&&typeof e.id!=`number`?this.fire(new t.k(Error(`A feature id is required to remove its specific state property.`))):i.removeFeatureState(o,e.id,n):this.fire(new t.k(Error(`The sourceLayer parameter must be provided for vector source types.`)))}getFeatureState(e){this._checkLoaded();let n=e.source,r=e.sourceLayer,i=this.sourceCaches[n];if(i!==void 0)return i.getSource().type!==`vector`||r?(e.id===void 0&&this.fire(new t.k(Error(`The feature id parameter must be provided.`))),i.getFeatureState(r,e.id)):void this.fire(new t.k(Error(`The sourceLayer parameter must be provided for vector source types.`)));this.fire(new t.k(Error(`The source '${n}' does not exist in the map's style.`)))}getTransition(){return t.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;let e=t.bF(this.sourceCaches,(e=>e.serialize())),n=this._serializeByIds(this._order,!0),r=this.map.getTerrain()||void 0,i=this.stylesheet;return t.bG({version:i.version,name:i.name,metadata:i.metadata,light:i.light,sky:i.sky,center:i.center,zoom:i.zoom,bearing:i.bearing,pitch:i.pitch,sprite:i.sprite,glyphs:i.glyphs,transition:i.transition,projection:i.projection,sources:e,layers:n,terrain:r},(e=>e!==void 0))}_updateLayer(e){this._updatedLayers[e.id]=!0,e.source&&!this._updatedSources[e.source]&&this.sourceCaches[e.source].getSource().type!==`raster`&&(this._updatedSources[e.source]=`reload`,this.sourceCaches[e.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(e){let t=e=>this._layers[e].type===`fill-extrusion`,n={},r=[];for(let i=this._order.length-1;i>=0;i--){let a=this._order[i];if(t(a)){n[a]=i;for(let t of e){let e=t[a];if(e)for(let t of e)r.push(t)}}}r.sort(((e,t)=>t.intersectionZ-e.intersectionZ));let i=[];for(let a=this._order.length-1;a>=0;a--){let o=this._order[a];if(t(o))for(let e=r.length-1;e>=0;e--){let t=r[e].feature;if(n[t.layer.id]<a)break;i.push(t),r.pop()}else for(let t of e){let e=t[o];if(e)for(let t of e)i.push(t.feature)}}return i}
695queryRenderedFeatures(e,n,r){n&&n.filter&&this._validate(t.y.filter,`queryRenderedFeatures.filter`,n.filter,null,n);let i={};if(n&&n.layers){if(!(Array.isArray(n.layers)||n.layers instanceof Set))return this.fire(new t.k(Error(`parameters.layers must be an Array or a Set of strings`))),[];for(let e of n.layers){let n=this._layers[e];if(!n)return this.fire(new t.k(Error(`The layer '${e}' does not exist in the map's style and cannot be queried for features.`))),[];i[n.source]=!0}}let a=[];n.availableImages=this._availableImages;let o=this._serializedAllLayers(),s=n.layers instanceof Set?n.layers:Array.isArray(n.layers)?new Set(n.layers):null,c=Object.assign(Object.assign({},n),{layers:s});for(let t in this.sourceCaches)n.layers&&!i[t]||a.push(se(this.sourceCaches[t],this._layers,o,e,c,r,this.map.terrain?(e,t,n)=>this.map.terrain.getElevation(e,t,n):void 0));return this.placement&&a.push(function(e,t,n,r,i,a,o){let s={},c=a.queryRenderedSymbols(r),l=[];for(let e of Object.keys(c).map(Number))l.push(o[e]);l.sort(ce);for(let n of l){let r=n.featureIndex.lookupSymbolFeatures(c[n.bucketInstanceId],t,n.bucketIndex,n.sourceLayerIndex,i.filter,i.layers,i.availableImages,e);for(let e in r){let t=s[e]=s[e]||[],i=r[e];i.sort(((e,t)=>{let r=n.featureSortOrder;if(r){let n=r.indexOf(e.featureIndex);return r.indexOf(t.featureIndex)-n}return t.featureIndex-e.featureIndex}));for(let e of i)t.push(e)}}return function(e,t,n){for(let r in e)for(let i of e[r])le(i,n[t[r].source]);return e}(s,e,n)}(this._layers,o,this.sourceCaches,e,c,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(a)}querySourceFeatures(e,n){n&&n.filter&&this._validate(t.y.filter,`querySourceFeatures.filter`,n.filter,null,n);let r=this.sourceCaches[e];return r?function(e,t){let n=e.getRenderableIds().map((t=>e.getTileByID(t))),r=[],i={};for(let e=0;e<n.length;e++){let a=n[e],o=a.tileID.canonical.key;i[o]||(i[o]=!0,a.querySourceFeatures(r,t))}return r}(r,n):[]}getLight(){return this.light.getLight()}setLight(e,n={}){this._checkLoaded();let r=this.light.getLight(),i=!1;for(let n in e)if(!t.bE(e[n],r[n])){i=!0;break}if(!i)return;let a={now:o.now(),transition:t.e({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(e,n),this.light.updateTransitions(a)}getProjection(){return this.stylesheet?.projection}setProjection(e){if(this._checkLoaded(),this.projection){if(this.projection.name===e.type)return;this.projection.destroy(),delete this.projection}this.stylesheet.projection=e,this._setProjectionInternal(e.type)}getSky(){return this.stylesheet?.sky}setSky(e,n={}){this._checkLoaded();let r=this.getSky(),i=!1;if(!e&&!r)return;if(e&&!r)i=!0;else if(!e&&r)i=!0;else for(let n in e)if(!t.bE(e[n],r[n])){i=!0;break}if(!i)return;let a={now:o.now(),transition:t.e({duration:300,delay:0},this.stylesheet.transition)};this.stylesheet.sky=e,this.sky.setSky(e,n),this.sky.updateTransitions(a)}_setProjectionInternal(e){let n=function(e){if(Array.isArray(e)){let t=new en({type:e});return{projection:t,transform:new _n,cameraHelper:new yn(t)}}switch(e){case`mercator`:return{projection:new Mt,transform:new zt,cameraHelper:new Ut};case`globe`:{let e=new en({type:[`interpolate`,[`linear`],[`zoom`],11,`vertical-perspective`,12,`mercator`]});return{projection:e,transform:new _n,cameraHelper:new yn(e)}}case`vertical-perspective`:return{projection:new Qt,transform:new gn,cameraHelper:new vn};default:return t.w(`Unknown projection name: ${e}. Falling back to mercator projection.`),{projection:new Mt,transform:new zt,cameraHelper:new Ut}}}(e);this.projection=n.projection,this.map.migrateProjection(n.transform,n.cameraHelper);for(let e in this.sourceCaches)this.sourceCaches[e].reload()}_validate(e,n,r,i,a={}){return(!a||!1!==a.validate)&&bn(this,e.call(t.y,t.e({key:n,style:this.serialize(),value:r,styleSpec:t.v},i)))}_remove(e=!0){this._frameRequest&&=(this._frameRequest.abort(),null),this._loadStyleRequest&&=(this._loadStyleRequest.abort(),null),this._spriteRequest&&=(this._spriteRequest.abort(),null),xe().off(ve,this._rtlPluginLoaded);for(let e in this._layers)this._layers[e].setEventedParent(null);for(let e in this.sourceCaches){let t=this.sourceCaches[e];t.setEventedParent(null),t.onRemove(this.map)}this.imageManager.setEventedParent(null),this.setEventedParent(null),e&&this.dispatcher.broadcast(`RM`,void 0),this.dispatcher.remove(e)}_clearSource(e){this.sourceCaches[e].clearTiles()}_reloadSource(e){this.sourceCaches[e].resume(),this.sourceCaches[e].reload()}_updateSources(e){for(let t in this.sourceCaches)this.sourceCaches[t].update(e,this.map.terrain)}_generateCollisionBoxes(){for(let e in this.sourceCaches)this._reloadSource(e)}_updatePlacement(e,t,n,r,i=!1){let a=!1,s=!1,c={};for(let t of this._order){let n=this._layers[t];
695if(n.type!==`symbol`)continue;if(!c[n.source]){let e=this.sourceCaches[n.source];c[n.source]=e.getRenderableIds(!0).map((t=>e.getTileByID(t))).sort(((e,t)=>t.tileID.overscaledZ-e.tileID.overscaledZ||(e.tileID.isLessThan(t.tileID)?-1:1)))}let r=this.crossTileSymbolIndex.addLayer(n,c[n.source],e.center.lng);a||=r}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((i=i||this._layerOrderChanged||n===0)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(o.now(),e.zoom))&&(this.pauseablePlacement=new bt(e,this.map.terrain,this._order,i,t,n,r,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,c),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(o.now()),s=!0),a&&this.pauseablePlacement.placement.setStale()),s||a)for(let e of this._order){let t=this._layers[e];t.type===`symbol`&&this.placement.updateLayerOpacities(t,c[t.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(o.now())}_releaseSymbolFadeTiles(){for(let e in this.sourceCaches)this.sourceCaches[e].releaseSymbolFadeTiles()}getImages(e,n){return t._(this,void 0,void 0,(function*(){let e=yield this.imageManager.getImages(n.icons);this._updateTilesForChangedImages();let t=this.sourceCaches[n.source];return t&&t.setDependencies(n.tileID.key,n.type,n.icons),e}))}getGlyphs(e,n){return t._(this,void 0,void 0,(function*(){let e=yield this.glyphManager.getGlyphs(n.stacks),t=this.sourceCaches[n.source];return t&&t.setDependencies(n.tileID.key,n.type,[``]),e}))}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(e,n={}){this._checkLoaded(),e&&this._validate(t.y.glyphs,`glyphs`,e,null,n)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=e,this.glyphManager.entries={},this.glyphManager.setURL(e))}addSprite(e,n,r={},i){this._checkLoaded();let a=[{id:e,url:n}],o=[...g(this.stylesheet.sprite),...a];this._validate(t.y.sprite,`sprite`,o,null,r)||(this.stylesheet.sprite=o,this._loadSprite(a,!0,i))}removeSprite(e){this._checkLoaded();let n=g(this.stylesheet.sprite);if(n.find((t=>t.id===e))){if(this._spritesImagesIds[e])for(let t of this._spritesImagesIds[e])this.imageManager.removeImage(t),this._changedImages[t]=!0;n.splice(n.findIndex((t=>t.id===e)),1),this.stylesheet.sprite=n.length>0?n:void 0,delete this._spritesImagesIds[e],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(`SI`,this._availableImages),this.fire(new t.l(`data`,{dataType:`style`}))}else this.fire(new t.k(Error(`Sprite "${e}" doesn't exists on this map.`)))}getSprite(){return g(this.stylesheet.sprite)}setSprite(e,n={},r){this._checkLoaded(),e&&this._validate(t.y.sprite,`sprite`,e,null,n)||(this.stylesheet.sprite=e,e?this._loadSprite(e,!0,r):(this._unloadSprite(),r&&r(null)))}}var Cn=t.aG([{name:`a_pos`,type:`Int16`,components:2},{name:`a_texture_pos`,type:`Int16`,components:2}]);class wn{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(e,t,n,r,i,a,o,s,c){this.context=e;let l=this.boundPaintVertexBuffers.length!==r.length;for(let e=0;!l&&e<r.length;e++)this.boundPaintVertexBuffers[e]!==r[e]&&(l=!0);!this.vao||this.boundProgram!==t||this.boundLayoutVertexBuffer!==n||l||this.boundIndexBuffer!==i||this.boundVertexOffset!==a||this.boundDynamicVertexBuffer!==o||this.boundDynamicVertexBuffer2!==s||this.boundDynamicVertexBuffer3!==c?this.freshBind(t,n,r,i,a,o,s,c):(e.bindVertexArray.set(this.vao),o&&o.bind(),i&&i.dynamicDraw&&i.bind(),s&&s.bind(),c&&c.bind())}freshBind(e,t,n,r,i,a,o,s){let c=e.numAttributes,l=this.context,u=l.gl;this.vao&&this.destroy(),this.vao=l.createVertexArray(),l.bindVertexArray.set(this.vao),this.boundProgram=e,this.boundLayoutVertexBuffer=t,this.boundPaintVertexBuffers=n,this.boundIndexBuffer=r,this.boundVertexOffset=i,this.boundDynamicVertexBuffer=a,this.boundDynamicVertexBuffer2=o,this.boundDynamicVertexBuffer3=s,t.enableAttributes(u,e);for(let t of n)t.enableAttributes(u,e);a&&a.enableAttributes(u,e),o&&o.enableAttributes(u,e),s&&s.enableAttributes(u,e),t.bind(),t.setVertexAttribPointers(u,e,i);for(let t of n)t.bind(),t.setVertexAttribPointers(u,e,i);a&&(a.bind(),a.setVertexAttribPointers(u,e,i)),r&&r.bind(),o&&(o.bind(),o.setVertexAttribPointers(u,e,i)),s&&(s.bind(),s.setVertexAttribPointers(u,e,i)),l.currentNumAttributes=c}destroy(){this.vao&&=(this.context.deleteVertexArray(this.vao),null)}}let Tn=(e,n,r,i,a)=>({u_texture:0,u_ele_delta:e,u_fog_matrix:n,u_fog_color:r?r.properties.get(`fog-color`):t.b7.white,u_fog_ground_blend:r?r.properties.get(`fog-ground-blend`):1,u_fog_ground_blend_opacity:a?0:r?r.calculateFogBlendOpacity(i):0,u_horizon_color:r?r.properties.get(`horizon-color`):t.b7.white,u_horizon_fog_blend:r?r.properties.get(`horizon-fog-blend`):1,u_is_globe_mode:+!!a}),En={mainMatrix:`u_projection_matrix`,tileMercatorCoords:`u_projection_tile_mercator_coords`,clippingPlane:`u_projection_clipping_plane`,projectionTransition:`u_projection_transition`,fallbackMatrix:`u_projection_fallback_matrix`};function Dn(e){let t=[];for(let n=0;n<e.length;n++){if(e[n]===null)continue;let r=e[n].split(` `);t.push(r.pop())}return t}class On{constructor(e,n,r,i,a,o,s,c,l=[]){let u=e.gl;this.program=u.createProgram();let d=Dn(n.staticAttributes),f=r?r.getBinderAttributes():[],p=d.concat(f),m=Dt.prelude.staticUniforms?Dn(Dt.prelude.staticUniforms):[],h=s.staticUniforms?Dn(s.staticUniforms):[],g=n.staticUniforms?Dn(n.staticUniforms):[],_=r?r.getBinderUniforms():[],v=m.concat(h).concat(g).concat(_),y=[];for(let e of v)y.indexOf(e)<0&&y.push(e);let b=r?r.defines():[];qt(u)&&b.unshift(`#version 300 es`),a&&b.push(`#define OVERDRAW_INSPECTOR;`),o&&b.push(`#define TERRAIN3D;
695`),c&&b.push(c),l&&b.push(...l);let x=b.concat(Dt.prelude.fragmentSource,s.fragmentSource,n.fragmentSource).join(` 696`),S=b.concat(Dt.prelude.vertexSource,s.vertexSource,n.vertexSource).join(` 697`);qt(u)||(x=function(e){return e.replace(/\bin\s/g,`varying `).replace(`out highp vec4 fragColor;`,``).replace(/fragColor/g,`gl_FragColor`).replace(/texture\(/g,`texture2D(`)}(x),S=function(e){return e.replace(/\bin\s/g,`attribute `).replace(/\bout\s/g,`varying `).replace(/texture\(/g,`texture2D(`)}(S));let C=u.createShader(u.FRAGMENT_SHADER);if(u.isContextLost())return void(this.failedToCreate=!0);if(u.shaderSource(C,x),u.compileShader(C),!u.getShaderParameter(C,u.COMPILE_STATUS))throw Error(`Could not compile fragment shader: ${u.getShaderInfoLog(C)}`);u.attachShader(this.program,C);let w=u.createShader(u.VERTEX_SHADER);if(u.isContextLost())return void(this.failedToCreate=!0);if(u.shaderSource(w,S),u.compileShader(w),!u.getShaderParameter(w,u.COMPILE_STATUS))throw Error(`Could not compile vertex shader: ${u.getShaderInfoLog(w)}`);u.attachShader(this.program,w),this.attributes={};let T={};this.numAttributes=p.length;for(let e=0;e<this.numAttributes;e++)p[e]&&(u.bindAttribLocation(this.program,e,p[e]),this.attributes[p[e]]=e);if(u.linkProgram(this.program),!u.getProgramParameter(this.program,u.LINK_STATUS))throw Error(`Program failed to link: ${u.getProgramInfoLog(this.program)}`);u.deleteShader(w),u.deleteShader(C);for(let e=0;e<y.length;e++){let t=y[e];if(t&&!T[t]){let e=u.getUniformLocation(this.program,t);e&&(T[t]=e)}}this.fixedUniforms=i(e,T),this.terrainUniforms=((e,n)=>({u_depth:new t.bH(e,n.u_depth),u_terrain:new t.bH(e,n.u_terrain),u_terrain_dim:new t.b8(e,n.u_terrain_dim),u_terrain_matrix:new t.bJ(e,n.u_terrain_matrix),u_terrain_unpack:new t.bK(e,n.u_terrain_unpack),u_terrain_exaggeration:new t.b8(e,n.u_terrain_exaggeration)}))(e,T),this.projectionUniforms=((e,n)=>({u_projection_matrix:new t.bJ(e,n.u_projection_matrix),u_projection_tile_mercator_coords:new t.bK(e,n.u_projection_tile_mercator_coords),u_projection_clipping_plane:new t.bK(e,n.u_projection_clipping_plane),u_projection_transition:new t.b8(e,n.u_projection_transition),u_projection_fallback_matrix:new t.bJ(e,n.u_projection_fallback_matrix)}))(e,T),this.binderUniforms=r?r.getUniforms(e,T):[]}draw(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v){let y=e.gl;if(this.failedToCreate)return;if(e.program.set(this.program),e.setDepthMode(n),e.setStencilMode(r),e.setColorMode(i),e.setCullFace(a),s){e.activeTexture.set(y.TEXTURE2),y.bindTexture(y.TEXTURE_2D,s.depthTexture),e.activeTexture.set(y.TEXTURE3),y.bindTexture(y.TEXTURE_2D,s.texture);for(let e in this.terrainUniforms)this.terrainUniforms[e].set(s[e])}if(c)for(let e in c)this.projectionUniforms[En[e]].set(c[e]);if(o)for(let e in this.fixedUniforms)this.fixedUniforms[e].set(o[e]);h&&h.setUniforms(e,this.binderUniforms,p,{zoom:m});let b=0;switch(t){case y.LINES:b=2;break;case y.TRIANGLES:b=3;break;case y.LINE_STRIP:b=1}for(let n of f.get()){let r=n.vaos||={};(r[l]||(r[l]=new wn)).bind(e,this,u,h?h.getPaintVertexBuffers():[],d,n.vertexOffset,g,_,v),y.drawElements(t,n.primitiveLength*b,y.UNSIGNED_SHORT,n.primitiveOffset*b*2)}}}function kn(e,n,r){let i=1/t.az(r,1,n.transform.tileZoom),a=2**r.tileID.overscaledZ,o=r.tileSize*2**n.transform.tileZoom/a,s=o*(r.tileID.canonical.x+r.tileID.wrap*a),c=o*r.tileID.canonical.y;return{u_image:0,u_texsize:r.imageAtlasTexture.size,u_scale:[i,e.fromScale,e.toScale],u_fade:e.t,u_pixel_coord_upper:[s>>16,c>>16],u_pixel_coord_lower:[65535&s,65535&c]}}let An=(e,n,r,i)=>{let a=e.style.light,o=a.properties.get(`position`),s=[o.x,o.y,o.z],c=t.bN();a.properties.get(`anchor`)===`viewport`&&t.bO(c,e.transform.bearingInRadians),t.bP(s,s,c);let l=e.transform.transformLightDirection(s),u=a.properties.get(`color`);return{u_lightpos:s,u_lightpos_globe:l,u_lightintensity:a.properties.get(`intensity`),u_lightcolor:[u.r,u.g,u.b],u_vertical_gradient:+n,u_opacity:r,u_fill_translate:i}},jn=(e,n,r,i,a,o,s)=>t.e(An(e,n,r,i),kn(o,e,s),{u_height_factor:-(2**a.overscaledZ)/s.tileSize/8}),Mn=(e,n,r,i)=>t.e(kn(n,e,r),{u_fill_translate:i}),Nn=(e,t)=>({u_world:e,u_fill_translate:t}),Pn=(e,n,r,i,a)=>t.e(Mn(e,n,r,a),{u_world:i}),Fn=(e,n,r,i,a)=>{let o=e.transform,s,c,l=0;if(r.paint.get(`circle-pitch-alignment`)===`map`){let e=t.az(n,1,o.zoom);
697s=!0,c=[e,e],l=e/(t.Z*2**n.tileID.overscaledZ)*2*Math.PI*a}else s=!1,c=o.pixelsToGLUnits;return{u_camera_to_center_distance:o.cameraToCenterDistance,u_scale_with_map:+(r.paint.get(`circle-pitch-scale`)===`map`),u_pitch_with_map:+s,u_device_pixel_ratio:e.pixelRatio,u_extrude_scale:c,u_globe_extrude_scale:l,u_translate:i}},In=e=>({u_pixel_extrude_scale:[1/e.width,1/e.height]}),Ln=e=>({u_viewport_size:[e.width,e.height]}),Rn=(e,t=1)=>({u_color:e,u_overlay:0,u_overlay_scale:t}),zn=(e,n,r,i)=>{let a=t.az(e,1,n)/(t.Z*2**e.tileID.overscaledZ)*2*Math.PI*i;return{u_extrude_scale:t.az(e,1,n),u_intensity:r,u_globe_extrude_scale:a}},Bn=(e,n,r,i)=>{let a=t.K();t.bQ(a,0,e.width,e.height,0,0,1);let o=e.context.gl;return{u_matrix:a,u_world:[o.drawingBufferWidth,o.drawingBufferHeight],u_image:r,u_color_ramp:i,u_opacity:n.paint.get(`heatmap-opacity`)}},Vn=(e,t,n)=>{let r=n.paint.get(`hillshade-accent-color`),i;switch(n.paint.get(`hillshade-method`)){case`basic`:i=4;break;case`combined`:i=1;break;case`igor`:i=2;break;case`multidirectional`:i=3;break;default:i=0}let a=n.getIlluminationProperties();for(let t=0;t<a.directionRadians.length;t++)n.paint.get(`hillshade-illumination-anchor`)===`viewport`&&(a.directionRadians[t]+=e.transform.bearingInRadians);return{u_image:0,u_latrange:Un(0,t.tileID),u_exaggeration:n.paint.get(`hillshade-exaggeration`),u_altitudes:a.altitudeRadians,u_azimuths:a.directionRadians,u_accent:r,u_method:i,u_highlights:a.highlightColor,u_shadows:a.shadowColor}},Hn=(e,n)=>{let r=n.stride,i=t.K();return t.bQ(i,0,t.Z,-8192,0,0,1),t.L(i,i,[0,-8192,0]),{u_matrix:i,u_image:1,u_dimension:[r,r],u_zoom:e.overscaledZ,u_unpack:n.getUnpackVector()}};function Un(e,n){let r=2**n.canonical.z,i=n.canonical.y;return[new t.$(0,i/r).toLngLat().lat,new t.$(0,(i+1)/r).toLngLat().lat]}let Wn=(e,n,r,i)=>{let a=e.transform;return{u_translation:Yn(e,n,r),u_ratio:i/t.az(n,1,a.zoom),u_device_pixel_ratio:e.pixelRatio,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Gn=(e,n,r,i,a)=>t.e(Wn(e,n,r,i),{u_image:0,u_image_height:a}),Kn=(e,n,r,i,a)=>{let o=e.transform,s=Jn(n,o);return{u_translation:Yn(e,n,r),u_texsize:n.imageAtlasTexture.size,u_ratio:i/t.az(n,1,o.zoom),u_device_pixel_ratio:e.pixelRatio,u_image:0,u_scale:[s,a.fromScale,a.toScale],u_fade:a.t,u_units_to_pixels:[1/o.pixelsToGLUnits[0],1/o.pixelsToGLUnits[1]]}},qn=(e,n,r,i,a,o)=>{let s=e.lineAtlas,c=Jn(n,e.transform),l=r.layout.get(`line-cap`)===`round`,u=s.getDash(a.from,l),d=s.getDash(a.to,l),f=u.width*o.fromScale,p=d.width*o.toScale;return t.e(Wn(e,n,r,i),{u_patternscale_a:[c/f,-u.height/2],u_patternscale_b:[c/p,-d.height/2],u_sdfgamma:s.width/(256*Math.min(f,p)*e.pixelRatio)/2,u_image:0,u_tex_y_a:u.y,u_tex_y_b:d.y,u_mix:o.t})};function Jn(e,n){return 1/t.az(e,1,n.tileZoom)}function Yn(e,n,r){return t.aA(e.transform,n,r.paint.get(`line-translate`),r.paint.get(`line-translate-anchor`))}let Xn=(e,t,n,r,i)=>{return{u_tl_parent:e,u_scale_parent:t,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.opacity*r.paint.get(`raster-opacity`),u_image0:0,u_image1:1,u_brightness_low:r.paint.get(`raster-brightness-min`),u_brightness_high:r.paint.get(`raster-brightness-max`),u_saturation_factor:(o=r.paint.get(`raster-saturation`),o>0?1-1/(1.001-o):-o),u_contrast_factor:(a=r.paint.get(`raster-contrast`),a>0?1/(1-a):1+a),u_spin_weights:Zn(r.paint.get(`raster-hue-rotate`)),u_coords_top:[i[0].x,i[0].y,i[1].x,i[1].y],u_coords_bottom:[i[3].x,i[3].y,i[2].x,i[2].y]};var a,o};function Zn(e){e*=Math.PI/180;let t=Math.sin(e),n=Math.cos(e);return[(2*n+1)/3,(-Math.sqrt(3)*t-n+1)/3,(Math.sqrt(3)*t-n+1)/3]}let Qn=(e,t,n,r,i,a,o,s,c,l,u,d,f)=>{let p=o.transform;return{u_is_size_zoom_constant:+(e===`constant`||e===`source`),u_is_size_feature_constant:+(e===`constant`||e===`camera`),u_size_t:t?t.uSizeT:0,u_size:t?t.uSize:0,u_camera_to_center_distance:p.cameraToCenterDistance,u_pitch:p.pitch/360*2*Math.PI,u_rotate_symbol:+n,u_aspect_ratio:p.width/p.height,u_fade_change:o.options.fadeDuration?o.symbolFadeChange:1,u_label_plane_matrix:s,u_coord_matrix:c,u_is_text:+u,u_pitch_with_map:+r,u_is_along_line:i,u_is_variable_anchor:a,u_texsize:d,u_texture:0,u_translation:l,u_pitched_scale:f}},$n=(e,n,r,i,a,o,s,c,l,u,d,f,p,m)=>{let h=s.transform;return t.e(Qn(e,n,r,i,a,o,s,c,l,u,d,f,m),{u_gamma_scale:i?Math.cos(h.pitch*Math.PI/180)*h.cameraToCenterDistance:1,u_device_pixel_ratio:s.pixelRatio,u_is_halo:1})},er=(e,n,r,i,a,o,s,c,l,u,d,f,p)=>t.e($n(e,n,r,i,a,o,s,c,l,u,!0,d,0,p),{u_texsize_icon:f,u_texture_icon:1}),tr=(e,t)=>({u_opacity:e,u_color:t}),nr=(e,n,r,i,a)=>t.e(function(e,n,r,i){let a=r.imageManager.getPattern(e.from.toString()),o=r.imageManager.getPattern(e.to.toString()),{width:s,height:c}=r.imageManager.getPixelSize(),l=2**i.tileID.overscaledZ,u=i.tileSize*2**r.transform.tileZoom/l,d=u*(i.tileID.canonical.x+i.tileID.wrap*l),f=u*i.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:a.tl,u_pattern_br_a:a.br,u_pattern_tl_b:o.tl,u_pattern_br_b:o.br,u_texsize:[s,c],u_mix:n.t,u_pattern_size_a:a.displaySize,u_pattern_size_b:
vendor: 5,901 bytes, line 697
697o.displaySize,u_scale_a:n.fromScale,u_scale_b:n.toScale,u_tile_units_to_pixels:1/t.az(i,1,r.transform.tileZoom),u_pixel_coord_upper:[d>>16,f>>16],u_pixel_coord_lower:[65535&d,65535&f]}}(r,a,n,i),{u_opacity:e}),rr=(e,t)=>{},ir={fillExtrusion:(e,n)=>({u_lightpos:new t.bL(e,n.u_lightpos),u_lightpos_globe:new t.bL(e,n.u_lightpos_globe),u_lightintensity:new t.b8(e,n.u_lightintensity),u_lightcolor:new t.bL(e,n.u_lightcolor),u_vertical_gradient:new t.b8(e,n.u_vertical_gradient),u_opacity:new t.b8(e,n.u_opacity),u_fill_translate:new t.bM(e,n.u_fill_translate)}),fillExtrusionPattern:(e,n)=>({u_lightpos:new t.bL(e,n.u_lightpos),u_lightpos_globe:new t.bL(e,n.u_lightpos_globe),u_lightintensity:new t.b8(e,n.u_lightintensity),u_lightcolor:new t.bL(e,n.u_lightcolor),u_vertical_gradient:new t.b8(e,n.u_vertical_gradient),u_height_factor:new t.b8(e,n.u_height_factor),u_opacity:new t.b8(e,n.u_opacity),u_fill_translate:new t.bM(e,n.u_fill_translate),u_image:new t.bH(e,n.u_image),u_texsize:new t.bM(e,n.u_texsize),u_pixel_coord_upper:new t.bM(e,n.u_pixel_coord_upper),u_pixel_coord_lower:new t.bM(e,n.u_pixel_coord_lower),u_scale:new t.bL(e,n.u_scale),u_fade:new t.b8(e,n.u_fade)}),fill:(e,n)=>({u_fill_translate:new t.bM(e,n.u_fill_translate)}),fillPattern:(e,n)=>({u_image:new t.bH(e,n.u_image),u_texsize:new t.bM(e,n.u_texsize),u_pixel_coord_upper:new t.bM(e,n.u_pixel_coord_upper),u_pixel_coord_lower:new t.bM(e,n.u_pixel_coord_lower),u_scale:new t.bL(e,n.u_scale),u_fade:new t.b8(e,n.u_fade),u_fill_translate:new t.bM(e,n.u_fill_translate)}),fillOutline:(e,n)=>({u_world:new t.bM(e,n.u_world),u_fill_translate:new t.bM(e,n.u_fill_translate)}),fillOutlinePattern:(e,n)=>({u_world:new t.bM(e,n.u_world),u_image:new t.bH(e,n.u_image),u_texsize:new t.bM(e,n.u_texsize),u_pixel_coord_upper:new t.bM(e,n.u_pixel_coord_upper),u_pixel_coord_lower:new t.bM(e,n.u_pixel_coord_lower),u_scale:new t.bL(e,n.u_scale),u_fade:new t.b8(e,n.u_fade),u_fill_translate:new t.bM(e,n.u_fill_translate)}),circle:(e,n)=>({u_camera_to_center_distance:new t.b8(e,n.u_camera_to_center_distance),u_scale_with_map:new t.bH(e,n.u_scale_with_map),u_pitch_with_map:new t.bH(e,n.u_pitch_with_map),u_extrude_scale:new t.bM(e,n.u_extrude_scale),u_device_pixel_ratio:new t.b8(e,n.u_device_pixel_ratio),u_globe_extrude_scale:new t.b8(e,n.u_globe_extrude_scale),u_translate:new t.bM(e,n.u_translate)}),collisionBox:(e,n)=>({u_pixel_extrude_scale:new t.bM(e,n.u_pixel_extrude_scale)}),collisionCircle:(e,n)=>({u_viewport_size:new t.bM(e,n.u_viewport_size)}),debug:(e,n)=>({u_color:new t.bI(e,n.u_color),u_overlay:new t.bH(e,n.u_overlay),u_overlay_scale:new t.b8(e,n.u_overlay_scale)}),depth:rr,clippingMask:rr,heatmap:(e,n)=>({u_extrude_scale:new t.b8(e,n.u_extrude_scale),u_intensity:new t.b8(e,n.u_intensity),u_globe_extrude_scale:new t.b8(e,n.u_globe_extrude_scale)}),heatmapTexture:(e,n)=>({u_matrix:new t.bJ(e,n.u_matrix),u_world:new t.bM(e,n.u_world),u_image:new t.bH(e,n.u_image),u_color_ramp:new t.bH(e,n.u_color_ramp),u_opacity:new t.b8(e,n.u_opacity)}),hillshade:(e,n)=>({u_image:new t.bH(e,n.u_image),u_latrange:new t.bM(e,n.u_latrange),u_exaggeration:new t.b8(e,n.u_exaggeration),u_altitudes:new t.bS(e,n.u_altitudes),u_azimuths:new t.bS(e,n.u_azimuths),u_accent:new t.bI(e,n.u_accent),u_method:new t.bH(e,n.u_method),u_shadows:new t.bR(e,n.u_shadows),u_highlights:new t.bR(e,n.u_highlights)}),hillshadePrepare:(e,n)=>({u_matrix:new t.bJ(e,n.u_matrix),u_image:new t.bH(e,n.u_image),u_dimension:new t.bM(e,n.u_dimension),u_zoom:new t.b8(e,n.u_zoom),u_unpack:new t.bK(e,n.u_unpack)}),line:(e,n)=>({u_translation:new t.bM(e,n.u_translation),u_ratio:new t.b8(e,n.u_ratio),u_device_pixel_ratio:new t.b8(e,n.u_device_pixel_ratio),u_units_to_pixels:new t.bM(e,n.u_units_to_pixels)}),lineGradient:(e,n)=>({u_translation:new t.bM(e,n.u_translation),u_ratio:new t.b8(e,n.u_ratio),u_device_pixel_ratio:new t.b8(e,n.u_device_pixel_ratio),u_units_to_pixels:new t.bM(e,n.u_units_to_pixels),u_image:new t.bH(e,n.u_image),u_image_height:new t.b8(e,n.u_image_height)}),linePattern:(e,n)=>({u_translation:new t.bM(e,n.u_translation),u_texsize:new t.bM(e,n.u_texsize),u_ratio:new t.b8(e,n.u_ratio),u_device_pixel_ratio:new t.b8(e,n.u_device_pixel_ratio),u_image:new t.bH(e,n.u_image),u_units_to_pixels:new t.bM(e,n.u_units_to_pixels),u_scale:new t.bL(e,n.u_scale),u_fade:new t.b8(e,n.u_fade)}),lineSDF:(e,n)=>({u_translation:new t.bM(e,n.u_translation),u_ratio:new t.b8(e,n.u_ratio),u_device_pixel_ratio:new t.b8(e,n.u_device_pixel_ratio),u_units_to_pixels:new t.bM(e,n.u_units_to_pixels),u_patternscale_a:new t.bM(e,n.u_patternscale_a),u_patternscale_b:new t.bM(e,n.u_patternscale_b),u_sdfgamma:new t.b8(e,n.u_sdfgamma),u_image:new t.bH(e,n.u_image),u_tex_y_a:new t.b8(e,n.u_tex_y_a),u_tex_y_b:new t.b8(e,n.u_tex_y_b),u_mix:new t.b8(e,n.u_mix)}),raster:(e,n)=>({u_tl_parent:new t.bM(e,n.u_tl_parent),u_scale_parent:new t.b8(e,n.u_scale_parent),u_buffer_scale:new t.b8(e,n.u_buffer_scale),u_fade_t:new t.b8(e,n.u_fade_t),u_opacity:new t.b8(e,n.u_opacity),u_image0:new t.bH(e,n.u_image0),u_image1:new t.bH(e,n.u_image1),u_brightness_low:new t.b8(e,n.u_brightness_low),u_brightness_high:new t.b8(e,n.u_brightness_high),u_saturation_factor:new t.b8(e,n.u_saturation_factor),u_contrast_factor:new t.b8(e,n.u_contrast_factor),u_spin_weights:new t.bL(e,n.u_spin_weights),u_coords_top:new t.bK(e,n.u_coords_top),u_coords_bottom:new t.bK(e,n.u_coords_bottom)}),symbolIcon:(e,n)=>({u_is_size_zoom_constant:new t.bH(e,n.u_is_size_zoom_constant),u_is_size_feature_constant:new t.bH(e,n.u_is_size_feature_constant),u_size_t:new t.b8(e,n.u_size_t),u_size:new t.b8(e,n.u_size),u_camera_to_center_distance:new t.b8(e,n.u_camera_to_center_distance),u_pitch:new t.b8(e,n.u_pitch),u_rotate_symbol:new t.bH(e,n.u_rotate_symbol),u_aspect_ratio:new t.b8(e,n.u_aspect_ratio),u_fade_change:new t.b8(e,n.u_fade_change),u_label_plane_matrix:new t.bJ(e,n.u_label_plane_matrix
697),u_coord_matrix:new t.bJ(e,n.u_coord_matrix),u_is_text:new t.bH(e,n.u_is_text),u_pitch_with_map:new t.bH(e,n.u_pitch_with_map),u_is_along_line:new t.bH(e,n.u_is_along_line),u_is_variable_anchor:new t.bH(e,n.u_is_variable_anchor),u_texsize:new t.bM(e,n.u_texsize),u_texture:new t.bH(e,n.u_texture),u_translation:new t.bM(e,n.u_translation),u_pitched_scale:new t.b8(e,n.u_pitched_scale)}),symbolSDF:(e,n)=>({u_is_size_zoom_constant:new t.bH(e,n.u_is_size_zoom_constant),u_is_size_feature_constant:new t.bH(e,n.u_is_size_feature_constant),u_size_t:new t.b8(e,n.u_size_t),u_size:new t.b8(e,n.u_size),u_camera_to_center_distance:new t.b8(e,n.u_camera_to_center_distance),u_pitch:new t.b8(e,n.u_pitch),u_rotate_symbol:new t.bH(e,n.u_rotate_symbol),u_aspect_ratio:new t.b8(e,n.u_aspect_ratio),u_fade_change:new t.b8(e,n.u_fade_change),u_label_plane_matrix:new t.bJ(e,n.u_label_plane_matrix),u_coord_matrix:new t.bJ(e,n.u_coord_matrix),u_is_text:new t.bH(e,n.u_is_text),u_pitch_with_map:new t.bH(e,n.u_pitch_with_map),u_is_along_line:new t.bH(e,n.u_is_along_line),u_is_variable_anchor:new t.bH(e,n.u_is_variable_anchor),u_texsize:new t.bM(e,n.u_texsize),u_texture:new t.bH(e,n.u_texture),u_gamma_scale:new t.b8(e,n.u_gamma_scale),u_device_pixel_ratio:new t.b8(e,n.u_device_pixel_ratio),u_is_halo:new t.bH(e,n.u_is_halo),u_translation:new t.bM(e,n.u_translation),u_pitched_scale:new t.b8(e,n.u_pitched_scale)}),symbolTextAndIcon:(e,n)=>({u_is_size_zoom_constant:new t.bH(e,n.u_is_size_zoom_constant),u_is_size_feature_constant:new t.bH(e,n.u_is_size_feature_constant),u_size_t:new t.b8(e,n.u_size_t),u_size:new t.b8(e,n.u_size),u_camera_to_center_distance:new t.b8(e,n.u_camera_to_center_distance),u_pitch:new t.b8(e,n.u_pitch),u_rotate_symbol:new t.bH(e,n.u_rotate_symbol),u_aspect_ratio:new t.b8(e,n.u_aspect_ratio),u_fade_change:new t.b8(e,n.u_fade_change),u_label_plane_matrix:new t.bJ(e,n.u_label_plane_matrix),u_coord_matrix:new t.bJ(e,n.u_coord_matrix),u_is_text:new t.bH(e,n.u_is_text),u_pitch_with_map:new t.bH(e,n.u_pitch_with_map),u_is_along_line:new t.bH(e,n.u_is_along_line),u_is_variable_anchor:new t.bH(e,n.u_is_variable_anchor),u_texsize:new t.bM(e,n.u_texsize),u_texsize_icon:new t.bM(e,n.u_texsize_icon),u_texture:new t.bH(e,n.u_texture),u_texture_icon:new t.bH(e,n.u_texture_icon),u_gamma_scale:new t.b8(e,n.u_gamma_scale),u_device_pixel_ratio:new t.b8(e,n.u_device_pixel_ratio),u_is_halo:new t.bH(e,n.u_is_halo),u_translation:new t.bM(e,n.u_translation),u_pitched_scale:new t.b8(e,n.u_pitched_scale)}),background:(e,n)=>({u_opacity:new t.b8(e,n.u_opacity),u_color:new t.bI(e,n.u_color)}),backgroundPattern:(e,n)=>({u_opacity:new t.b8(e,n.u_opacity),u_image:new t.bH(e,n.u_image),u_pattern_tl_a:new t.bM(e,n.u_pattern_tl_a),u_pattern_br_a:new t.bM(e,n.u_pattern_br_a),u_pattern_tl_b:new t.bM(e,n.u_pattern_tl_b),u_pattern_br_b:new t.bM(e,n.u_pattern_br_b),u_texsize:new t.bM(e,n.u_texsize),u_mix:new t.b8(e,n.u_mix),u_pattern_size_a:new t.bM(e,n.u_pattern_size_a),u_pattern_size_b:new t.bM(e,n.u_pattern_size_b),u_scale_a:new t.b8(e,n.u_scale_a),u_scale_b:new t.b8(e,n.u_scale_b),u_pixel_coord_upper:new t.bM(e,n.u_pixel_coord_upper),u_pixel_coord_lower:new t.bM(e,n.u_pixel_coord_lower),u_tile_units_to_pixels:new t.b8(e,n.u_tile_units_to_pixels)}),terrain:(e,n)=>({u_texture:new t.bH(e,n.u_texture),u_ele_delta:new t.b8(e,n.u_ele_delta),u_fog_matrix:new t.bJ(e,n.u_fog_matrix),u_fog_color:new t.bI(e,n.u_fog_color),u_fog_ground_blend:new t.b8(e,n.u_fog_ground_blend),u_fog_ground_blend_opacity:new t.b8(e,n.u_fog_ground_blend_opacity),u_horizon_color:new t.bI(e,n.u_horizon_color),u_horizon_fog_blend:new t.b8(e,n.u_horizon_fog_blend),u_is_globe_mode:new t.b8(e,n.u_is_globe_mode)}),terrainDepth:(e,n)=>({u_ele_delta:new t.b8(e,n.u_ele_delta)}),terrainCoords:(e,n)=>({u_texture:new t.bH(e,n.u_texture),u_terrain_coords_id:new t.b8(e,n.u_terrain_coords_id),u_ele_delta:new t.b8(e,n.u_ele_delta)}),projectionErrorMeasurement:(e,n)=>({u_input:new t.b8(e,n.u_input),u_output_expected:new t.b8(e,n.u_output_expected)}),atmosphere:(e,n)=>({u_sun_pos:new t.bL(e,n.u_sun_pos),u_atmosphere_blend:new t.b8(e,n.u_atmosphere_blend),u_globe_position:new t.bL(e,n.u_globe_position),u_globe_radius:new t.b8(e,n.u_globe_radius),u_inv_proj_matrix:new t.bJ(e,n.u_inv_proj_matrix)}),sky:(e,n)=>({u_sky_color:new t.bI(e,n.u_sky_color),u_horizon_color:new t.bI(e,n.u_horizon_color),u_horizon:new t.bM(e,n.u_horizon),u_horizon_normal:new t.bM(e,n.u_horizon_normal),u_sky_horizon_blend:new t.b8(e,n.u_sky_horizon_blend),u_sky_blend:new t.b8(e,n.u_sky_blend)})};class ar{constructor(e,t,n){this.context=e;let r=e.gl;this.buffer=r.createBuffer(),this.dynamicDraw=!!n,this.context.unbindVAO(),e.bindElementBuffer.set(this.buffer),r.bufferData(r.ELEMENT_ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?r.DYNAMIC_DRAW:r.STATIC_DRAW),this.dynamicDraw||delete t.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(e){let t=this.context.gl;if(!this.dynamicDraw)throw Error(`Attempted to update data while not in dynamic mode.`);this.context.unbindVAO(),this.bind(),t.bufferSubData(t.ELEMENT_ARRAY_BUFFER,0,e.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let or={Int8:`BYTE`,Uint8:`UNSIGNED_BYTE`,Int16:`SHORT`,Uint16:`UNSIGNED_SHORT`,Int32:`INT`,Uint32:`UNSIGNED_INT`,Float32:`FLOAT`};class sr{constructor(e,t,n,r){this.length=t.length,this.attributes=n,this.itemSize=t.bytesPerElement,this.dynamicDraw=r,this.context=e;let i=e.gl;this.buffer=i.createBuffer(),e.bindVertexBuffer.set(this.buffer),i.bufferData(i.ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?i.DYNAMIC_DRAW:i.STATIC_DRAW),this.dynamicDraw||delete t.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(e){if(e.length!==this.length)throw Error(`Length of new data is ${e.length}, which doesn't match current length of ${this.length}`);let t=this.context.gl;this.bind(),t.bufferSubData(t.ARRAY_BUFFER,0,e.arrayBuffer)}
697enableAttributes(e,t){for(let n=0;n<this.attributes.length;n++){let r=t.attributes[this.attributes[n].name];r!==void 0&&e.enableVertexAttribArray(r)}}setVertexAttribPointers(e,t,n){for(let r=0;r<this.attributes.length;r++){let i=this.attributes[r],a=t.attributes[i.name];a!==void 0&&e.vertexAttribPointer(a,i.components,e[or[i.type]],!1,this.itemSize,i.offset+this.itemSize*(n||0))}}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}class cr{constructor(e){this.gl=e.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1}get(){return this.current}set(e){}getDefault(){return this.default}setDefault(){this.set(this.default)}}class lr extends cr{getDefault(){return t.b7.transparent}set(e){let t=this.current;(e.r!==t.r||e.g!==t.g||e.b!==t.b||e.a!==t.a||this.dirty)&&(this.gl.clearColor(e.r,e.g,e.b,e.a),this.current=e,this.dirty=!1)}}class ur extends cr{getDefault(){return 1}set(e){(e!==this.current||this.dirty)&&(this.gl.clearDepth(e),this.current=e,this.dirty=!1)}}class dr extends cr{getDefault(){return 0}set(e){(e!==this.current||this.dirty)&&(this.gl.clearStencil(e),this.current=e,this.dirty=!1)}}class fr extends cr{getDefault(){return[!0,!0,!0,!0]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3]||this.dirty)&&(this.gl.colorMask(e[0],e[1],e[2],e[3]),this.current=e,this.dirty=!1)}}class pr extends cr{getDefault(){return!0}set(e){(e!==this.current||this.dirty)&&(this.gl.depthMask(e),this.current=e,this.dirty=!1)}}class mr extends cr{getDefault(){return 255}set(e){(e!==this.current||this.dirty)&&(this.gl.stencilMask(e),this.current=e,this.dirty=!1)}}class hr extends cr{getDefault(){return{func:this.gl.ALWAYS,ref:0,mask:255}}set(e){let t=this.current;(e.func!==t.func||e.ref!==t.ref||e.mask!==t.mask||this.dirty)&&(this.gl.stencilFunc(e.func,e.ref,e.mask),this.current=e,this.dirty=!1)}}class gr extends cr{getDefault(){let e=this.gl;return[e.KEEP,e.KEEP,e.KEEP]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||this.dirty)&&(this.gl.stencilOp(e[0],e[1],e[2]),this.current=e,this.dirty=!1)}}class _r extends cr{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;e?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.current=e,this.dirty=!1}}class vr extends cr{getDefault(){return[0,1]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||this.dirty)&&(this.gl.depthRange(e[0],e[1]),this.current=e,this.dirty=!1)}}class yr extends cr{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;e?t.enable(t.DEPTH_TEST):t.disable(t.DEPTH_TEST),this.current=e,this.dirty=!1}}class br extends cr{getDefault(){return this.gl.LESS}set(e){(e!==this.current||this.dirty)&&(this.gl.depthFunc(e),this.current=e,this.dirty=!1)}}class xr extends cr{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;e?t.enable(t.BLEND):t.disable(t.BLEND),this.current=e,this.dirty=!1}}class Sr extends cr{getDefault(){let e=this.gl;return[e.ONE,e.ZERO]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||this.dirty)&&(this.gl.blendFunc(e[0],e[1]),this.current=e,this.dirty=!1)}}class Cr extends cr{getDefault(){return t.b7.transparent}set(e){let t=this.current;(e.r!==t.r||e.g!==t.g||e.b!==t.b||e.a!==t.a||this.dirty)&&(this.gl.blendColor(e.r,e.g,e.b,e.a),this.current=e,this.dirty=!1)}}class wr extends cr{getDefault(){return this.gl.FUNC_ADD}set(e){(e!==this.current||this.dirty)&&(this.gl.blendEquation(e),this.current=e,this.dirty=!1)}}class Tr extends cr{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;e?t.enable(t.CULL_FACE):t.disable(t.CULL_FACE),this.current=e,this.dirty=!1}}class Er extends cr{getDefault(){return this.gl.BACK}set(e){(e!==this.current||this.dirty)&&(this.gl.cullFace(e),this.current=e,this.dirty=!1)}}class Dr extends cr{getDefault(){return this.gl.CCW}set(e){(e!==this.current||this.dirty)&&(this.gl.frontFace(e),this.current=e,this.dirty=!1)}}class Or extends cr{getDefault(){return null}set(e){(e!==this.current||this.dirty)&&(this.gl.useProgram(e),this.current=e,this.dirty=!1)}}class kr extends cr{getDefault(){return this.gl.TEXTURE0}set(e){(e!==this.current||this.dirty)&&(this.gl.activeTexture(e),this.current=e,this.dirty=!1)}}class Ar extends cr{getDefault(){let e=this.gl;return[0,0,e.drawingBufferWidth,e.drawingBufferHeight]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3]||this.dirty)&&(this.gl.viewport(e[0],e[1],e[2],e[3]),this.current=e,this.dirty=!1)}}class jr extends cr{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,e),this.current=e,this.dirty=!1}}class Mr extends cr{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.bindRenderbuffer(t.RENDERBUFFER,e),this.current=e,this.dirty=!1}}class Nr extends cr{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.bindTexture(t.TEXTURE_2D,e),this.current=e,this.dirty=!1}}class Pr extends cr{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.bindBuffer(t.ARRAY_BUFFER,e),this.current=e,this.dirty=!1}}class Fr extends cr{getDefault(){return null}set(e){let t=this.gl;t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,e),this.current=e,this.dirty=!1}}class Ir extends cr{getDefault(){return null}set(e){var t;if(e===this.current&&!this.dirty)return;let n=this.gl;qt(n)?n.bindVertexArray(e):(t=n.getExtension(`OES_vertex_array_object`))==null||t.bindVertexArrayOES(e),this.current=e,this.dirty=!1}}class Lr extends cr{getDefault(){return 4}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.pixelStorei(t.UNPACK_ALIGNMENT,e),this.current=e,this.dirty=!1}}class Rr extends cr{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,e),this.current=e,this.dirty=!1}}class zr extends cr{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,e),this.current=e,this.dirty=!1}}class Br extends cr{constructor(e,t){super(e),this.context=e,this.parent=t}getDefault(){return null}}class Vr extends Br{setDirty(){this.dirty=!0}set(e){if(e===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let t=this.gl;t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,e,0),this.current=e,this.dirty=!1}}class Hr extends Br{set(e){if(e===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let t=this.gl;t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_ATTACHMENT,t.RENDERBUFFER,e),this.current=e,this.dirty=!1}}class Ur extends Br{set(e){if(e===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let t=this.gl;t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.RENDERBUFFER,e),this.current=e,this.dirty=!1}}let Wr=`Framebuffer is not complete`;class Gr{constructor(e,t,n,r,i){this.context=e,this.width=t,this.height=n;let a=e.gl,o=this.framebuffer=a.createFramebuffer();
697if(this.colorAttachment=new Vr(e,o),r)this.depthAttachment=i?new Ur(e,o):new Hr(e,o);else if(i)throw Error(`Stencil cannot be set without depth`);if(a.checkFramebufferStatus(a.FRAMEBUFFER)!==a.FRAMEBUFFER_COMPLETE)throw Error(Wr)}destroy(){let e=this.context.gl,t=this.colorAttachment.get();if(t&&e.deleteTexture(t),this.depthAttachment){let t=this.depthAttachment.get();t&&e.deleteRenderbuffer(t)}e.deleteFramebuffer(this.framebuffer)}}class Y{constructor(e){if(this.gl=e,this.clearColor=new lr(this),this.clearDepth=new ur(this),this.clearStencil=new dr(this),this.colorMask=new fr(this),this.depthMask=new pr(this),this.stencilMask=new mr(this),this.stencilFunc=new hr(this),this.stencilOp=new gr(this),this.stencilTest=new _r(this),this.depthRange=new vr(this),this.depthTest=new yr(this),this.depthFunc=new br(this),this.blend=new xr(this),this.blendFunc=new Sr(this),this.blendColor=new Cr(this),this.blendEquation=new wr(this),this.cullFace=new Tr(this),this.cullFaceSide=new Er(this),this.frontFace=new Dr(this),this.program=new Or(this),this.activeTexture=new kr(this),this.viewport=new Ar(this),this.bindFramebuffer=new jr(this),this.bindRenderbuffer=new Mr(this),this.bindTexture=new Nr(this),this.bindVertexBuffer=new Pr(this),this.bindElementBuffer=new Fr(this),this.bindVertexArray=new Ir(this),this.pixelStoreUnpack=new Lr(this),this.pixelStoreUnpackPremultiplyAlpha=new Rr(this),this.pixelStoreUnpackFlipY=new zr(this),this.extTextureFilterAnisotropic=e.getExtension(`EXT_texture_filter_anisotropic`)||e.getExtension(`MOZ_EXT_texture_filter_anisotropic`)||e.getExtension(`WEBKIT_EXT_texture_filter_anisotropic`),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=e.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.maxTextureSize=e.getParameter(e.MAX_TEXTURE_SIZE),qt(e)){this.HALF_FLOAT=e.HALF_FLOAT;let t=e.getExtension(`EXT_color_buffer_half_float`);this.RGBA16F=e.RGBA16F??t?.RGBA16F_EXT,this.RGB16F=e.RGB16F??t?.RGB16F_EXT,e.getExtension(`EXT_color_buffer_float`)}else{e.getExtension(`EXT_color_buffer_half_float`),e.getExtension(`OES_texture_half_float_linear`);let t=e.getExtension(`OES_texture_half_float`);this.HALF_FLOAT=t?.HALF_FLOAT_OES}}setDefault(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()}setDirty(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.bindVertexArray.dirty=!0,this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0}createIndexBuffer(e,t){return new ar(this,e,t)}createVertexBuffer(e,t,n){return new sr(this,e,t,n)}createRenderbuffer(e,t,n){let r=this.gl,i=r.createRenderbuffer();return this.bindRenderbuffer.set(i),r.renderbufferStorage(r.RENDERBUFFER,e,t,n),this.bindRenderbuffer.set(null),i}createFramebuffer(e,t,n,r){return new Gr(this,e,t,n,r)}clear({color:e,depth:t,stencil:n}){let r=this.gl,i=0;e&&(i|=r.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),t!==void 0&&(i|=r.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(t),this.depthMask.set(!0)),n!==void 0&&(i|=r.STENCIL_BUFFER_BIT,this.clearStencil.set(n),this.stencilMask.set(255)),r.clear(i)}setCullFace(e){!1===e.enable?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(e.mode),this.frontFace.set(e.frontFace))}setDepthMode(e){e.func!==this.gl.ALWAYS||e.mask?(this.depthTest.set(!0),this.depthFunc.set(e.func),this.depthMask.set(e.mask),this.depthRange.set(e.range)):this.depthTest.set(!1)}setStencilMode(e){e.test.func!==this.gl.ALWAYS||e.mask?(this.stencilTest.set(!0),this.stencilMask.set(e.mask),this.stencilOp.set([e.fail,e.depthFail,e.pass]),this.stencilFunc.set({func:e.test.func,ref:e.ref,mask:e.test.mask})):this.stencilTest.set(!1)}setColorMode(e){t.bE(e.blendFunction,G.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(e.blendFunction),this.blendColor.set(e.blendColor)),this.colorMask.set(e.mask)}createVertexArray(){return qt(this.gl)?this.gl.createVertexArray():this.gl.getExtension(`OES_vertex_array_object`)?.createVertexArrayOES()}deleteVertexArray(e){return qt(this.gl)?this.gl.deleteVertexArray(e):this.gl.getExtension(`OES_vertex_array_object`)?.deleteVertexArrayOES(e)}unbindVAO(){this.bindVertexArray.set(null)}}let Kr;function qr(e,n,r,i,a){let o=e.context,s=e.transform,c=o.gl,l=e.useProgram(`collisionBox`),u=[],d=0,f=0;for(let t=0;t<i.length;t++){let p=i[t],m=n.getTile(p).getBucket(r);
697if(!m)continue;let h=a?m.textCollisionBox:m.iconCollisionBox,g=m.collisionCircleArray;g.length>0&&(u.push({circleArray:g,circleOffset:f,coord:p}),d+=g.length/4,f=d),h&&l.draw(o,c.LINES,q.disabled,J.disabled,e.colorModeForRenderPass(),K.disabled,In(e.transform),e.style.map.terrain&&e.style.map.terrain.getTerrainData(p),s.getProjectionData({overscaledTileID:p,applyGlobeMatrix:!0,applyTerrainMatrix:!0}),r.id,h.layoutVertexBuffer,h.indexBuffer,h.segments,null,e.transform.zoom,null,null,h.collisionVertexBuffer)}if(!a||!u.length)return;let p=e.useProgram(`collisionCircle`),m=new t.bT;m.resize(4*d),m._trim();let h=0;for(let e of u)for(let t=0;t<e.circleArray.length/4;t++){let n=4*t,r=e.circleArray[n+0],i=e.circleArray[n+1],a=e.circleArray[n+2],o=e.circleArray[n+3];m.emplace(h++,r,i,a,o,0),m.emplace(h++,r,i,a,o,1),m.emplace(h++,r,i,a,o,2),m.emplace(h++,r,i,a,o,3)}(!Kr||Kr.length<2*d)&&(Kr=function(e){let n=2*e,r=new t.bV;r.resize(n),r._trim();for(let e=0;e<n;e++){let t=6*e;r.uint16[t+0]=4*e+0,r.uint16[t+1]=4*e+1,r.uint16[t+2]=4*e+2,r.uint16[t+3]=4*e+2,r.uint16[t+4]=4*e+3,r.uint16[t+5]=4*e+0}return r}(d));let g=o.createIndexBuffer(Kr,!0),_=o.createVertexBuffer(m,t.bU.members,!0);for(let n of u){let i=Ln(e.transform);p.draw(o,c.TRIANGLES,q.disabled,J.disabled,e.colorModeForRenderPass(),K.disabled,i,e.style.map.terrain&&e.style.map.terrain.getTerrainData(n.coord),null,r.id,_,g,t.aJ.simpleSegment(0,2*n.circleOffset,n.circleArray.length,n.circleArray.length/2),null,e.transform.zoom,null,null,null)}_.destroy(),g.destroy()}let Jr=t.ad(new Float32Array(16));function Yr(e,n,r,i,a,o){let{horizontalAlign:s,verticalAlign:c}=t.aE(e);return new t.P((-(s-.5)*n/a+i[0])*o,(-(c-.5)*r/a+i[1])*o)}function Xr(e,n,r,i,a,o){let s=n.tileAnchorPoint.add(new t.P(n.translation[0],n.translation[1]));if(n.pitchWithMap){let e=i.mult(o);r||(e=e.rotate(-a));let t=s.add(e);return We(t.x,t.y,n.pitchedLabelPlaneMatrix,n.getElevation).point}if(r){let t=Xe(n.tileAnchorPoint.x+1,n.tileAnchorPoint.y,n).point.sub(e),r=Math.atan(t.y/t.x)+(t.x<0?Math.PI:0);return e.add(i.rotate(r))}return e.add(i)}function Zr(e,n,r,i,a,o,s,c,l,u,d,f){let p=e.text.placedSymbolArray,m=e.text.dynamicLayoutVertexArray,h=e.icon.dynamicLayoutVertexArray,g={};m.clear();for(let h=0;h<p.length;h++){let _=p.get(h),v=_.hidden||!_.crossTileID||e.allowVerticalPlacement&&!_.placedOrientation?null:i[_.crossTileID];if(v){let i=new t.P(_.anchorX,_.anchorY),p={getElevation:f,width:a.width,height:a.height,pitchedLabelPlaneMatrix:o,pitchWithMap:r,transform:a,tileAnchorPoint:i,translation:u,unwrappedTileID:d},h=r?Ze(i.x,i.y,p):Xe(i.x,i.y,p),y=Ge(a.cameraToCenterDistance,h.signedDistanceFromCamera),b=t.am(e.textSizeData,c,_)*y/t.ay;r&&(b*=e.tilePixelRatio/s);let{width:x,height:S,anchor:C,textOffset:w,textBoxScale:T}=v,E=Yr(C,x,S,w,T,b),D=a.getPitchedTextCorrection(i.x+u[0],i.y+u[1],d),O=Xr(h.point,p,n,E,-a.bearingInRadians,D),k=e.allowVerticalPlacement&&_.placedOrientation===t.al.vertical?Math.PI/2:0;for(let e=0;e<_.numGlyphs;e++)t.as(m,O,k);l&&_.associatedIconIndex>=0&&(g[_.associatedIconIndex]={shiftedAnchor:O,angle:k})}else nt(_.numGlyphs,m)}if(l){h.clear();let n=e.icon.placedSymbolArray;for(let e=0;e<n.length;e++){let r=n.get(e);if(r.hidden)nt(r.numGlyphs,h);else{let n=g[e];if(n)for(let e=0;e<r.numGlyphs;e++)t.as(h,n.shiftedAnchor,n.angle);else nt(r.numGlyphs,h)}}e.icon.dynamicLayoutVertexBuffer.updateData(h)}e.text.dynamicLayoutVertexBuffer.updateData(m)}function Qr(e,t,n){return n.iconsInText&&t?`symbolTextAndIcon`:e?`symbolSDF`:`symbolIcon`}function $r(e,n,r,i,a,o,s,c,l,u,d,f,p){let m=e.context,h=m.gl,g=e.transform,_=c===`map`,v=l===`map`,y=c!==`viewport`&&r.layout.get(`symbol-placement`)!==`point`,b=_&&!v&&!y,x=!r.layout.get(`symbol-sort-key`).isConstant(),S=!1,C=e.getDepthModeForSublayer(0,q.ReadOnly),w=r._unevaluatedLayout.hasValue(`text-variable-anchor`)||r._unevaluatedLayout.hasValue(`text-variable-anchor-offset`),T=[],E=g.getCircleRadiusCorrection();for(let c of i){let i=n.getTile(c),l=i.getBucket(r);if(!l)continue;let d=a?l.text:l.icon;if(!d||!d.segments.get().length||!d.hasVisibleVertices)continue;let f=d.programConfigurations.get(r.id),m=a||l.sdfIcons,C=a?l.textSizeData:l.iconSizeData,D=v||g.pitch!==0,O=e.useProgram(Qr(m,a,l),f),k=t.ak(C,g.zoom),A=e.style.map.terrain&&e.style.map.terrain.getTerrainData(c),ee,te,j,ne,re=[0,0],M=null;if(a)te=i.glyphAtlasTexture,j=h.LINEAR,ee=i.glyphAtlasTexture.size,l.iconsInText&&(re=i.imageAtlasTexture.size,M=i.imageAtlasTexture,ne=D||e.options.rotating||e.options.zooming||C.kind===`composite`||C.kind===`camera`?h.LINEAR:h.NEAREST);else{let t=r.layout.get(`icon-size`).constantOr(0)!==1||l.iconsNeedLinear;te=i.imageAtlasTexture,j=m||e.options.rotating||e.options.zooming||t||D?h.LINEAR:h.NEAREST,ee=i.imageAtlasTexture.size}let ie=t.az(i,1,e.transform.zoom),ae=He(_,e.transform,ie),oe=t.K();t.an(oe,ae);let se=Ue(v,_,e.transform,ie),ce=t.aA(g,i,o,s),le=g.getProjectionData({overscaledTileID:c,applyGlobeMatrix:!p,applyTerrainMatrix:!0}),N=w&&l.hasTextData(),P=r.layout.get(`icon-text-fit`)!==`none`&&N&&l.hasIconData();if(y){let t=e.style.map.terrain?(t,n)=>e.style.map.terrain.getElevation(c,t,n):null;qe(l,e,a,ae,oe,v,u,r.layout.get(`text-rotation-alignment`)===`map`,c.toUnwrapped(),g.width,g.height,ce,t)}let ue=a&&w||P,F=y||ue?Jr:v?ae:e.transform.clipSpaceToPixelsMatrix,de=m&&r.paint.get(a?`text-halo-width`:`icon-halo-width`).constantOr(1)!==0,fe;fe=m?l.iconsInText?er(C.kind,k,b,v,y,ue,e,F,se,ce,ee,re,E):$n(C.kind,k,b,v,y,ue,e,F,se,ce,a,ee,0,E):Qn(C.kind,k,b,v,y,ue,e,F,se,ce,a,ee,E);let I={program:O,buffers:d,uniformValues:fe,projectionData:le,atlasTexture:te,atlasTextureIcon:M,atlasInterpolation:j,atlasInterpolationIcon:ne,isSDF:m,hasHalo:de};if(x&&l.canOverlap){S=!0;let e=d.segments.get();for(let n of e)T.push({segments:new t.aJ([n]),sortKey:n.sortKey,state:I,terrainData:A})}else T.push({segments:d.segments,sortKey:0,state:I,terrainData:A})}S&&T.sort(((e,t)=>
697e.sortKey-t.sortKey));for(let t of T){let n=t.state;if(m.activeTexture.set(h.TEXTURE0),n.atlasTexture.bind(n.atlasInterpolation,h.CLAMP_TO_EDGE),n.atlasTextureIcon&&(m.activeTexture.set(h.TEXTURE1),n.atlasTextureIcon&&n.atlasTextureIcon.bind(n.atlasInterpolationIcon,h.CLAMP_TO_EDGE)),n.isSDF){let i=n.uniformValues;n.hasHalo&&(i.u_is_halo=1,ei(n.buffers,t.segments,r,e,n.program,C,d,f,i,n.projectionData,t.terrainData)),i.u_is_halo=0}ei(n.buffers,t.segments,r,e,n.program,C,d,f,n.uniformValues,n.projectionData,t.terrainData)}}function ei(e,t,n,r,i,a,o,s,c,l,u){let d=r.context;i.draw(d,d.gl.TRIANGLES,a,o,s,K.backCCW,c,u,l,n.id,e.layoutVertexBuffer,e.indexBuffer,t,n.paint,r.transform.zoom,e.programConfigurations.get(n.id),e.dynamicLayoutVertexBuffer,e.opacityVertexBuffer)}function ti(e,n,r,i,a){let o=e.context,s=o.gl,c=J.disabled,l=new G([s.ONE,s.ONE],t.b7.transparent,[!0,!0,!0,!0]),u=n.getBucket(r);if(!u)return;let d=i.key,f=r.heatmapFbos.get(d);f||(f=ri(o,n.tileSize,n.tileSize),r.heatmapFbos.set(d,f)),o.bindFramebuffer.set(f.framebuffer),o.viewport.set([0,0,n.tileSize,n.tileSize]),o.clear({color:t.b7.transparent});let p=u.programConfigurations.get(r.id),m=e.useProgram(`heatmap`,p,!a),h=e.transform.getProjectionData({overscaledTileID:n.tileID,applyGlobeMatrix:!0,applyTerrainMatrix:!0}),g=e.style.map.terrain.getTerrainData(i);m.draw(o,s.TRIANGLES,q.disabled,c,l,K.disabled,zn(n,e.transform.zoom,r.paint.get(`heatmap-intensity`),1),g,h,r.id,u.layoutVertexBuffer,u.indexBuffer,u.segments,r.paint,e.transform.zoom,p)}function ni(e,t,n,r,i){let a=e.context,o=a.gl,s=e.transform;a.setColorMode(e.colorModeForRenderPass());let c=ii(a,t),l=n.key,u=t.heatmapFbos.get(l);if(!u)return;a.activeTexture.set(o.TEXTURE0),o.bindTexture(o.TEXTURE_2D,u.colorAttachment.get()),a.activeTexture.set(o.TEXTURE1),c.bind(o.LINEAR,o.CLAMP_TO_EDGE);let d=s.getProjectionData({overscaledTileID:n,applyTerrainMatrix:i,applyGlobeMatrix:!r});e.useProgram(`heatmapTexture`).draw(a,o.TRIANGLES,q.disabled,J.disabled,e.colorModeForRenderPass(),K.disabled,Bn(e,t,0,1),null,d,t.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments,t.paint,s.zoom),u.destroy(),t.heatmapFbos.delete(l)}function ri(e,t,n){let r=e.gl,i=r.createTexture();r.bindTexture(r.TEXTURE_2D,i),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR);let a=e.HALF_FLOAT??r.UNSIGNED_BYTE,o=e.RGBA16F??r.RGBA;r.texImage2D(r.TEXTURE_2D,0,o,t,n,0,r.RGBA,a,null);let s=e.createFramebuffer(t,n,!1,!1);return s.colorAttachment.set(i),s}function ii(e,t){return t.colorRampTexture||=new v(e,t.colorRamp,e.gl.RGBA),t.colorRampTexture}function ai(e,t,n,r,i){if(!n||!r||!r.imageAtlas)return;let a=r.imageAtlas.patternPositions,o=a[n.to.toString()],s=a[n.from.toString()];if(!o&&s&&(o=s),!s&&o&&(s=o),!o||!s){let e=i.getPaintProperty(t);o=a[e],s=a[e]}o&&s&&e.setConstantPatternPositions(o,s)}function oi(e,n,r,i,a,o,s,c){let l=e.context.gl,u=`fill-pattern`,d=r.paint.get(u),f=d&&d.constantOr(1),p=r.getCrossfadeParameters(),m,h,g,_,v,y=e.transform,b=r.paint.get(`fill-translate`),x=r.paint.get(`fill-translate-anchor`);s?(h=f&&!r.getPaintProperty(`fill-outline-color`)?`fillOutlinePattern`:`fillOutline`,m=l.LINES):(h=f?`fillPattern`:`fill`,m=l.TRIANGLES);let S=d.constantOr(null);for(let d of i){let i=n.getTile(d);if(f&&!i.patternsLoaded())continue;let C=i.getBucket(r);if(!C)continue;let w=C.programConfigurations.get(r.id),T=e.useProgram(h,w),E=e.style.map.terrain&&e.style.map.terrain.getTerrainData(d);f&&(e.context.activeTexture.set(l.TEXTURE0),i.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),w.updatePaintBuffers(p)),ai(w,u,S,i,r);let D=y.getProjectionData({overscaledTileID:d,applyGlobeMatrix:!c,applyTerrainMatrix:!0}),O=t.aA(y,i,b,x);if(s){_=C.indexBuffer2,v=C.segments2;let t=[l.drawingBufferWidth,l.drawingBufferHeight];g=h===`fillOutlinePattern`&&f?Pn(e,p,i,t,O):Nn(t,O)}else _=C.indexBuffer,v=C.segments,g=f?Mn(e,p,i,O):{u_fill_translate:O};let k=e.stencilModeForClipping(d);T.draw(e.context,m,a,k,o,K.backCCW,g,E,D,r.id,C.layoutVertexBuffer,_,v,r.paint,e.transform.zoom,w)}}function si(e,n,r,i,a,o,s,c){let l=e.context,u=l.gl,d=`fill-extrusion-pattern`,f=r.paint.get(d),p=f.constantOr(1),m=r.getCrossfadeParameters(),h=r.paint.get(`fill-extrusion-opacity`),g=f.constantOr(null),_=e.transform;
697for(let f of i){let i=n.getTile(f),v=i.getBucket(r);if(!v)continue;let y=e.style.map.terrain&&e.style.map.terrain.getTerrainData(f),b=v.programConfigurations.get(r.id),x=e.useProgram(p?`fillExtrusionPattern`:`fillExtrusion`,b);p&&(e.context.activeTexture.set(u.TEXTURE0),i.imageAtlasTexture.bind(u.LINEAR,u.CLAMP_TO_EDGE),b.updatePaintBuffers(m));let S=_.getProjectionData({overscaledTileID:f,applyGlobeMatrix:!c,applyTerrainMatrix:!0});ai(b,d,g,i,r);let C=t.aA(_,i,r.paint.get(`fill-extrusion-translate`),r.paint.get(`fill-extrusion-translate-anchor`)),w=r.paint.get(`fill-extrusion-vertical-gradient`),T=p?jn(e,w,h,C,f,m,i):An(e,w,h,C);x.draw(l,l.gl.TRIANGLES,a,o,s,K.backCCW,T,y,S,r.id,v.layoutVertexBuffer,v.indexBuffer,v.segments,r.paint,e.transform.zoom,b,e.style.map.terrain&&v.centroidVertexBuffer)}}function ci(e,t,n,r,i,a,o,s,c){let l=e.style.projection,u=e.context,d=e.transform,f=u.gl,p=[`#define NUM_ILLUMINATION_SOURCES ${n.paint.get(`hillshade-highlight-color`).values.length}`],m=e.useProgram(`hillshade`,null,!1,p),h=!e.options.moving;for(let p of r){let r=t.getTile(p),g=r.fbo;if(!g)continue;let _=l.getMeshFromTileID(u,p.canonical,s,!0,`raster`),v=e.style.map.terrain?.getTerrainData(p);u.activeTexture.set(f.TEXTURE0),f.bindTexture(f.TEXTURE_2D,g.colorAttachment.get());let y=d.getProjectionData({overscaledTileID:p,aligned:h,applyGlobeMatrix:!c,applyTerrainMatrix:!0});m.draw(u,f.TRIANGLES,a,i[p.overscaledZ],o,K.backCCW,Vn(e,r,n),v,y,n.id,_.vertexBuffer,_.indexBuffer,_.segments)}}let li=[new t.P(0,0),new t.P(t.Z,0),new t.P(t.Z,t.Z),new t.P(0,t.Z)];function ui(e,t,n,r,i,a,o,s,c=!1,l=!1){let u=r[r.length-1].overscaledZ,d=e.context,f=d.gl,p=e.useProgram(`raster`),m=e.transform,h=e.style.projection,g=e.colorModeForRenderPass(),_=!e.options.moving;for(let v of r){let r=e.getDepthModeForSublayer(v.overscaledZ-u,n.paint.get(`raster-opacity`)===1?q.ReadWrite:q.ReadOnly,f.LESS),y=t.getTile(v);y.registerFadeDuration(n.paint.get(`raster-fade-duration`));let b=t.findLoadedParent(v,0),x=t.findLoadedSibling(v),S=di(y,b||x||null,t,n,e.transform,e.style.map.terrain),C,w,T=n.paint.get(`raster-resampling`)===`nearest`?f.NEAREST:f.LINEAR;d.activeTexture.set(f.TEXTURE0),y.texture.bind(T,f.CLAMP_TO_EDGE,f.LINEAR_MIPMAP_NEAREST),d.activeTexture.set(f.TEXTURE1),b?(b.texture.bind(T,f.CLAMP_TO_EDGE,f.LINEAR_MIPMAP_NEAREST),C=2**(b.tileID.overscaledZ-y.tileID.overscaledZ),w=[y.tileID.canonical.x*C%1,y.tileID.canonical.y*C%1]):y.texture.bind(T,f.CLAMP_TO_EDGE,f.LINEAR_MIPMAP_NEAREST),y.texture.useMipmap&&d.extTextureFilterAnisotropic&&e.transform.pitch>20&&f.texParameterf(f.TEXTURE_2D,d.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,d.extTextureFilterAnisotropicMax);let E=e.style.map.terrain&&e.style.map.terrain.getTerrainData(v),D=m.getProjectionData({overscaledTileID:v,aligned:_,applyGlobeMatrix:!l,applyTerrainMatrix:!0}),O=Xn(w||[0,0],C||1,S,n,s),k=h.getMeshFromTileID(d,v.canonical,a,o,`raster`);p.draw(d,f.TRIANGLES,r,i?i[v.overscaledZ]:J.disabled,g,c?K.frontCCW:K.backCCW,O,E,D,n.id,k.vertexBuffer,k.indexBuffer,k.segments)}}function di(e,n,r,i,a,s){let c=i.paint.get(`raster-fade-duration`);if(!s&&c>0){let i=o.now(),s=(i-e.timeAdded)/c,l=n?(i-n.timeAdded)/c:-1,u=r.getSource(),d=Pe(a,{tileSize:u.tileSize,roundZoom:u.roundZoom}),f=!n||Math.abs(n.tileID.overscaledZ-d)>Math.abs(e.tileID.overscaledZ-d),p=f&&e.refreshedUponExpiration?1:t.ae(f?s:1-l,0,1);return e.refreshedUponExpiration&&s>=1&&(e.refreshedUponExpiration=!1),n?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}let fi=new t.b7(1,0,0,1),pi=new t.b7(0,1,0,1),mi=new t.b7(0,0,1,1),hi=new t.b7(1,0,1,1),gi=new t.b7(0,1,1,1);function _i(e,t,n,r){yi(e,0,t+n/2,e.transform.width,n,r)}function vi(e,t,n,r){yi(e,t-n/2,0,n,e.transform.height,r)}function yi(e,t,n,r,i,a){let o=e.context,s=o.gl;s.enable(s.SCISSOR_TEST),s.scissor(t*e.pixelRatio,n*e.pixelRatio,r*e.pixelRatio,i*e.pixelRatio),o.clear({color:a}),s.disable(s.SCISSOR_TEST)}function bi(e,n,r){let i=e.context,a=i.gl,o=e.useProgram(`debug`),s=q.disabled,c=J.disabled,l=e.colorModeForRenderPass(),u=`$debug`,d=e.style.map.terrain&&e.style.map.terrain.getTerrainData(r);i.activeTexture.set(a.TEXTURE0);let f=n.getTileByID(r.key).latestRawTileData,p=Math.floor((f&&f.byteLength||0)/1024),m=n.getTile(r).tileSize,h=512/Math.min(m,512)*(r.overscaledZ/e.transform.zoom)*.5,g=r.canonical.toString();r.overscaledZ!==r.canonical.z&&(g+=` => ${r.overscaledZ}`),function(e,t){e.initDebugOverlayCanvas();let n=e.debugOverlayCanvas,r=e.context.gl,i=e.debugOverlayCanvas.getContext(`2d`);i.clearRect(0,0,n.width,n.height),i.shadowColor=`white`,i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle=`white`,i.textBaseline=`top`,i.font=`bold 36px Open Sans, sans-serif`,i.fillText(t,5,5),i.strokeText(t,5,5),e.debugOverlayTexture.update(n),e.debugOverlayTexture.bind(r.LINEAR,r.CLAMP_TO_EDGE)}(e,`${g} ${p}kB`);let _=e.transform.getProjectionData({overscaledTileID:r,applyGlobeMatrix:!0,applyTerrainMatrix:!0});o.draw(i,a.TRIANGLES,s,c,G.alphaBlended,K.disabled,Rn(t.b7.transparent,h),null,_,u,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments),o.draw(i,a.LINE_STRIP,s,c,l,K.disabled,Rn(t.b7.red),d,_,u,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments)}function xi(e,t,n,r){let{isRenderingGlobe:i}=r,a=e.context,o=a.gl,s=e.transform,c=e.colorModeForRenderPass(),l=e.getDepthModeFor3D(),u=e.useProgram(`terrain`);a.bindFramebuffer.set(null),a.viewport.set([0,0,e.width,e.height]);for(let r of n){let n=t.getTerrainMesh(r.tileID),d=e.renderToTexture.getTexture(r),f=t.getTerrainData(r.tileID);a.activeTexture.set(o.TEXTURE0),o.bindTexture(o.TEXTURE_2D,d.texture);
697let p=Tn(t.getMeshFrameDelta(s.zoom),s.calculateFogMatrix(r.tileID.toUnwrapped()),e.style.sky,s.pitch,i),m=s.getProjectionData({overscaledTileID:r.tileID,applyTerrainMatrix:!1,applyGlobeMatrix:!0});u.draw(a,o.TRIANGLES,l,J.disabled,c,K.backCCW,p,f,m,`terrain`,n.vertexBuffer,n.indexBuffer,n.segments)}}function Si(e,n){if(!n.mesh){let r=new t.aI;r.emplaceBack(-1,-1),r.emplaceBack(1,-1),r.emplaceBack(1,1),r.emplaceBack(-1,1);let i=new t.aK;i.emplaceBack(0,1,2),i.emplaceBack(0,2,3),n.mesh=new Ot(e.createVertexBuffer(r,kt.members),e.createIndexBuffer(i),t.aJ.simpleSegment(0,0,r.length,i.length))}return n.mesh}class Ci{constructor(e,n){this.context=new Y(e),this.transform=n,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:t.ad(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=Ie.maxUnderzooming+Ie.maxOverzooming+1,this.depthEpsilon=1/2**16,this.crossTileSymbolIndex=new Tt}resize(e,t,n){if(this.width=Math.floor(e*n),this.height=Math.floor(t*n),this.pixelRatio=n,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let e of this.style._order)this.style._layers[e].resize()}setup(){let e=this.context,n=new t.aI;n.emplaceBack(0,0),n.emplaceBack(t.Z,0),n.emplaceBack(0,t.Z),n.emplaceBack(t.Z,t.Z),this.tileExtentBuffer=e.createVertexBuffer(n,kt.members),this.tileExtentSegments=t.aJ.simpleSegment(0,0,4,2);let r=new t.aI;r.emplaceBack(0,0),r.emplaceBack(t.Z,0),r.emplaceBack(0,t.Z),r.emplaceBack(t.Z,t.Z),this.debugBuffer=e.createVertexBuffer(r,kt.members),this.debugSegments=t.aJ.simpleSegment(0,0,4,5);let i=new t.b_;i.emplaceBack(0,0,0,0),i.emplaceBack(t.Z,0,t.Z,0),i.emplaceBack(0,t.Z,0,t.Z),i.emplaceBack(t.Z,t.Z,t.Z,t.Z),this.rasterBoundsBuffer=e.createVertexBuffer(i,Cn.members),this.rasterBoundsSegments=t.aJ.simpleSegment(0,0,4,2);let a=new t.aI;a.emplaceBack(0,0),a.emplaceBack(t.Z,0),a.emplaceBack(0,t.Z),a.emplaceBack(t.Z,t.Z),this.rasterBoundsBufferPosOnly=e.createVertexBuffer(a,kt.members),this.rasterBoundsSegmentsPosOnly=t.aJ.simpleSegment(0,0,4,5);let o=new t.aI;o.emplaceBack(0,0),o.emplaceBack(1,0),o.emplaceBack(0,1),o.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(o,kt.members),this.viewportSegments=t.aJ.simpleSegment(0,0,4,2);let s=new t.b$;s.emplaceBack(0),s.emplaceBack(1),s.emplaceBack(3),s.emplaceBack(2),s.emplaceBack(0),this.tileBorderIndexBuffer=e.createIndexBuffer(s);let c=new t.aK;c.emplaceBack(1,0,2),c.emplaceBack(1,2,3),this.quadTriangleIndexBuffer=e.createIndexBuffer(c);let l=this.context.gl;this.stencilClearMode=new J({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO),this.tileExtentMesh=new Ot(this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}clearStencil(){let e=this.context,n=e.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let r=t.K();t.bQ(r,0,this.width,this.height,0,0,1),t.M(r,r,[n.drawingBufferWidth,n.drawingBufferHeight,0]);let i={mainMatrix:r,tileMercatorCoords:[0,0,1,1],clippingPlane:[0,0,0,0],projectionTransition:0,fallbackMatrix:r};this.useProgram(`clippingMask`,null,!0).draw(e,n.TRIANGLES,q.disabled,this.stencilClearMode,G.disabled,K.disabled,null,null,i,`$clipping`,this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(e,t,n){if(this.currentStencilSource===e.source||!e.isTileClipped()||!t||!t.length)return;this.currentStencilSource=e.source,this.nextStencilID+t.length>256&&this.clearStencil();let r=this.context;r.setColorMode(G.disabled),r.setDepthMode(q.disabled);let i={};for(let e of t)i[e.key]=this.nextStencilID++;this._renderTileMasks(i,t,n,!0),this._renderTileMasks(i,t,n,!1),this._tileClippingMaskIDs=i}_renderTileMasks(e,t,n,r){let i=this.context,a=i.gl,o=this.style.projection,s=this.transform,c=this.useProgram(`clippingMask`);for(let l of t){let t=e[l.key],u=this.style.map.terrain&&this.style.map.terrain.getTerrainData(l),d=o.getMeshFromTileID(this.context,l.canonical,r,!0,`stencil`),f=s.getProjectionData({overscaledTileID:l,applyGlobeMatrix:!n,applyTerrainMatrix:!0});c.draw(i,a.TRIANGLES,q.disabled,new J({func:a.ALWAYS,mask:0},t,255,a.KEEP,a.KEEP,a.REPLACE),G.disabled,n?K.disabled:K.backCCW,null,u,f,`$clipping`,d.vertexBuffer,d.indexBuffer,d.segments)}}_renderTilesDepthBuffer(){let e=this.context,t=e.gl,n=this.style.projection,r=this.transform,i=this.useProgram(`depth`),a=this.getDepthModeFor3D(),o=Fe(r,{tileSize:r.tileSize});for(let s of o){let o=this.style.map.terrain&&this.style.map.terrain.getTerrainData(s),c=n.getMeshFromTileID(this.context,s.canonical,!0,!0,`raster`),l=r.getProjectionData({overscaledTileID:s,applyGlobeMatrix:!0,applyTerrainMatrix:!0});i.draw(e,t.TRIANGLES,a,J.disabled,G.disabled,K.backCCW,null,o,l,`$clipping`,c.vertexBuffer,c.indexBuffer,c.segments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let e=this.nextStencilID++,t=this.context.gl;
697return new J({func:t.NOTEQUAL,mask:255},e,255,t.KEEP,t.KEEP,t.REPLACE)}stencilModeForClipping(e){let t=this.context.gl;return new J({func:t.EQUAL,mask:255},this._tileClippingMaskIDs[e.key],0,t.KEEP,t.KEEP,t.REPLACE)}getStencilConfigForOverlapAndUpdateStencilID(e){let t=this.context.gl,n=e.sort(((e,t)=>t.overscaledZ-e.overscaledZ)),r=n[n.length-1].overscaledZ,i=n[0].overscaledZ-r+1;if(i>1){this.currentStencilSource=void 0,this.nextStencilID+i>256&&this.clearStencil();let e={};for(let n=0;n<i;n++)e[n+r]=new J({func:t.GEQUAL,mask:255},n+this.nextStencilID,255,t.KEEP,t.KEEP,t.REPLACE);return this.nextStencilID+=i,[e,n]}return[{[r]:J.disabled},n]}stencilConfigForOverlapTwoPass(e){let t=this.context.gl,n=e.sort(((e,t)=>t.overscaledZ-e.overscaledZ)),r=n[n.length-1].overscaledZ,i=n[0].overscaledZ-r+1;if(this.clearStencil(),i>1){let e={},a={};for(let n=0;n<i;n++)e[n+r]=new J({func:t.GREATER,mask:255},i+1+n,255,t.KEEP,t.KEEP,t.REPLACE),a[n+r]=new J({func:t.GREATER,mask:255},1+n,255,t.KEEP,t.KEEP,t.REPLACE);return this.nextStencilID=2*i+1,[e,a,n]}return this.nextStencilID=3,[{[r]:new J({func:t.GREATER,mask:255},2,255,t.KEEP,t.KEEP,t.REPLACE)},{[r]:new J({func:t.GREATER,mask:255},1,255,t.KEEP,t.KEEP,t.REPLACE)},n]}colorModeForRenderPass(){let e=this.context.gl;if(this._showOverdrawInspector){let n=1/8;return new G([e.CONSTANT_COLOR,e.ONE],new t.b7(n,n,n,0),[!0,!0,!0,!0])}return this.renderPass===`opaque`?G.unblended:G.alphaBlended}getDepthModeForSublayer(e,t,n){if(!this.opaquePassEnabledForLayer())return q.disabled;let r=1-((1+this.currentLayer)*this.numSublayers+e)*this.depthEpsilon;return new q(n||this.context.gl.LEQUAL,t,[r,r])}getDepthModeFor3D(){return new q(this.context.gl.LEQUAL,q.ReadWrite,this.depthRangeFor3D)}opaquePassEnabledForLayer(){return this.currentLayer<this.opaquePassCutoff}render(e,n){var r;this.style=e,this.options=n,this.lineAtlas=e.lineAtlas,this.imageManager=e.imageManager,this.glyphManager=e.glyphManager,this.symbolFadeChange=e.placement.symbolFadeChange(o.now()),this.imageManager.beginFrame();let i=this.style._order,a=this.style.sourceCaches,s={},c={},l={},u={isRenderingToTexture:!1,isRenderingGlobe:e.projection?.transitionState>0};for(let e in a){let t=a[e];t.used&&t.prepare(this.context),s[e]=t.getVisibleCoordinates(!1),c[e]=s[e].slice().reverse(),l[e]=t.getVisibleCoordinates(!0).reverse()}this.opaquePassCutoff=1/0;for(let e=0;e<i.length;e++)if(this.style._layers[i[e]].is3D()){this.opaquePassCutoff=e;break}this.maybeDrawDepthAndCoords(!1),this.renderToTexture&&(this.renderToTexture.prepareForRender(this.style,this.transform.zoom),this.opaquePassCutoff=0),this.renderPass=`offscreen`;for(let e of i){let t=this.style._layers[e];if(!t.hasOffscreenPass()||t.isHidden(this.transform.zoom))continue;let n=c[t.source];(t.type===`custom`||n.length)&&this.renderLayer(this,a[t.source],t,n,u)}if((r=this.style.projection)==null||r.updateGPUdependent({context:this.context,useProgram:e=>this.useProgram(e)}),this.context.viewport.set([0,0,this.width,this.height]),this.context.bindFramebuffer.set(null),this.context.clear({color:n.showOverdrawInspector?t.b7.black:t.b7.transparent,depth:1}),this.clearStencil(),this.style.sky&&function(e,t){let n=e.context,r=n.gl,i=((e,t,n)=>{let r=Math.cos(t.rollInRadians),i=Math.sin(t.rollInRadians),a=Oe(t),o=t.getProjectionData({overscaledTileID:null,applyGlobeMatrix:!0,applyTerrainMatrix:!0}).projectionTransition;return{u_sky_color:e.properties.get(`sky-color`),u_horizon_color:e.properties.get(`horizon-color`),u_horizon:[(t.width/2-a*i)*n,(t.height/2+a*r)*n],u_horizon_normal:[-i,r],u_sky_horizon_blend:e.properties.get(`sky-horizon-blend`)*t.height/2*n,u_sky_blend:o}})(t,e.style.map.transform,e.pixelRatio),a=new q(r.LEQUAL,q.ReadWrite,[0,1]),o=J.disabled,s=e.colorModeForRenderPass(),c=e.useProgram(`sky`),l=Si(n,t);c.draw(n,r.TRIANGLES,a,o,s,K.disabled,i,null,void 0,`sky`,l.vertexBuffer,l.indexBuffer,l.segments)}(this,this.style.sky),this._showOverdrawInspector=n.showOverdrawInspector,this.depthRangeFor3D=[0,1-(e._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass=`opaque`,this.currentLayer=i.length-1;this.currentLayer>=0;this.currentLayer--){let e=this.style._layers[i[this.currentLayer]],t=
697a[e.source],n=s[e.source];this._renderTileClippingMasks(e,n,!1),this.renderLayer(this,t,e,n,u)}this.renderPass=`translucent`;let d=!1;for(this.currentLayer=0;this.currentLayer<i.length;this.currentLayer++){let e=this.style._layers[i[this.currentLayer]],t=a[e.source];if(this.renderToTexture&&this.renderToTexture.renderLayer(e,u))continue;this.opaquePassEnabledForLayer()||d||(d=!0,u.isRenderingGlobe&&!this.style.map.terrain&&this._renderTilesDepthBuffer());let n=(e.type===`symbol`?l:c)[e.source];this._renderTileClippingMasks(e,s[e.source],!!this.renderToTexture),this.renderLayer(this,t,e,n,u)}if(u.isRenderingGlobe&&function(e,n,r){let i=e.context,a=i.gl,o=e.useProgram(`atmosphere`),s=new q(a.LEQUAL,q.ReadOnly,[0,1]),c=e.transform,l=function(e,n){let r=e.properties.get(`position`),i=[-r.x,-r.y,-r.z],a=t.ad(new Float64Array(16));return e.properties.get(`anchor`)===`map`&&(t.a_(a,a,n.rollInRadians),t.a$(a,a,-n.pitchInRadians),t.a_(a,a,n.bearingInRadians),t.a$(a,a,n.center.lat*Math.PI/180),t.bp(a,a,-n.center.lng*Math.PI/180)),t.bZ(i,i,a),i}(r,e.transform),u=c.getProjectionData({overscaledTileID:null,applyGlobeMatrix:!0,applyTerrainMatrix:!0}),d=n.properties.get(`atmosphere-blend`)*u.projectionTransition;if(d===0)return;let f=an(c.worldSize,c.center.lat),p=c.inverseProjectionMatrix,m=new Float64Array(4);m[3]=1,t.at(m,m,c.modelViewProjectionMatrix),m[0]/=m[3],m[1]/=m[3],m[2]/=m[3],m[3]=1,t.at(m,m,p),m[0]/=m[3],m[1]/=m[3],m[2]/=m[3],m[3]=1;let h=((e,t,n,r,i)=>({u_sun_pos:e,u_atmosphere_blend:t,u_globe_position:n,u_globe_radius:r,u_inv_proj_matrix:i}))(l,d,[m[0],m[1],m[2]],f,p),g=Si(i,n);o.draw(i,a.TRIANGLES,s,J.disabled,G.alphaBlended,K.disabled,h,null,null,`atmosphere`,g.vertexBuffer,g.indexBuffer,g.segments)}(this,this.style.sky,this.style.light),this.options.showTileBoundaries){let e=function(e,t){let n=null,r=Object.values(e._layers).flatMap((n=>n.source&&!n.isHidden(t)?[e.sourceCaches[n.source]]:[])),i=r.filter((e=>e.getSource().type===`vector`)),a=r.filter((e=>e.getSource().type!==`vector`)),o=e=>{(!n||n.getSource().maxzoom<e.getSource().maxzoom)&&(n=e)};return i.forEach((e=>o(e))),n||a.forEach((e=>o(e))),n}(this.style,this.transform.zoom);e&&function(e,t,n){for(let r=0;r<n.length;r++)bi(e,t,n[r])}(this,e,e.getVisibleCoordinates())}this.options.showPadding&&function(e){let t=e.transform.padding;_i(e,e.transform.height-(t.top||0),3,fi),_i(e,t.bottom||0,3,pi),vi(e,t.left||0,3,mi),vi(e,e.transform.width-(t.right||0),3,hi);let n=e.transform.centerPoint;(function(e,t,n,r){yi(e,t-1,n-10,2,20,r),yi(e,t-10,n-1,20,2,r)})(e,n.x,e.transform.height-n.y,gi)}(this),this.context.setDefault()}maybeDrawDepthAndCoords(e){if(!this.style||!this.style.map||!this.style.map.terrain)return;let n=this.terrainFacilitator.matrix,r=this.transform.modelViewProjectionMatrix,i=this.terrainFacilitator.dirty;i||=e?!t.c0(n,r):!t.c1(n,r),i||=this.style.map.terrain.sourceCache.anyTilesAfterTime(this.terrainFacilitator.renderTime),i&&(t.c2(n,r),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(e,n){let r=e.context,i=r.gl,a=e.transform,o=G.unblended,s=new q(i.LEQUAL,q.ReadWrite,[0,1]),c=n.sourceCache.getRenderableTiles(),l=e.useProgram(`terrainDepth`);r.bindFramebuffer.set(n.getFramebuffer(`depth`).framebuffer),r.viewport.set([0,0,e.width/devicePixelRatio,e.height/devicePixelRatio]),r.clear({color:t.b7.transparent,depth:1});for(let e of c){let t=n.getTerrainMesh(e.tileID),c=n.getTerrainData(e.tileID),u=a.getProjectionData({overscaledTileID:e.tileID,applyTerrainMatrix:!1,applyGlobeMatrix:!0}),d={u_ele_delta:n.getMeshFrameDelta(a.zoom)};l.draw(r,i.TRIANGLES,s,J.disabled,o,K.backCCW,d,c,u,`terrain`,t.vertexBuffer,t.indexBuffer,t.segments)}r.bindFramebuffer.set(null),r.viewport.set([0,0,e.width,e.height])}(this,this.style.map.terrain),function(e,n){let r=e.context,i=r.gl,a=e.transform,o=G.unblended,s=new q(i.LEQUAL,q.ReadWrite,[0,1]),c=n.getCoordsTexture(),l=n.sourceCache.getRenderableTiles(),u=e.useProgram(`terrainCoords`);r.bindFramebuffer.set(n.getFramebuffer(`coords`).framebuffer),r.viewport.set([0,0,e.width/devicePixelRatio,e.height/devicePixelRatio]),r.clear({color:t.b7.transparent,depth:1}),n.coordsIndex=[];for(let e of l){let t=n.getTerrainMesh(e.tileID),l=n.getTerrainData(e.tileID);r.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,c.texture);let d={u_terrain_coords_id:(255-n.coordsIndex.length)/255,u_texture:0,u_ele_delta:n.getMeshFrameDelta(a.zoom)},f=a.getProjectionData({overscaledTileID:e.tileID,applyTerrainMatrix:!1,applyGlobeMatrix:!0});u.draw(r,i.TRIANGLES,s,J.disabled,o,K.backCCW,d,l,f,`terrain`,t.vertexBuffer,t.indexBuffer,t.segments),n.coordsIndex.push(e.tileID.key)}r.bindFramebuffer.set(null),r.viewport.set([0,0,e.width,e.height])}(this,this.style.map.terrain))}renderLayer(e,n,r,i,a){r.isHidden(this.transform.zoom)||(r.type===`background`||r.type===`custom`||(i||[]).length)&&(this.id=r.id,t.c3(r)?function(e,n,r,i,a,o){if(e.renderPass!==`translucent`)return;let{isRenderingToTexture:s}=o,c=J.disabled,l=e.colorModeForRenderPass();(r._unevaluatedLayout.hasValue(`text-variable-anchor`)||r._unevaluatedLayout.hasValue(`text-variable-anchor-offset`))&&function(e,n,r,i,a,o,s,c,l){let u=n.transform,d=n.style.map.terrain,f=a===`map`,p=o===`map`;for(let a of e){let e=i.getTile(a),o=e.getBucket(r);
697if(!o||!o.text||!o.text.segments.get().length)continue;let m=t.ak(o.textSizeData,u.zoom),h=t.az(e,1,n.transform.zoom),g=He(f,n.transform,h),_=r.layout.get(`icon-text-fit`)!==`none`&&o.hasIconData();if(m){let n=2**(u.zoom-e.tileID.overscaledZ),r=d?(e,t)=>d.getElevation(a,e,t):null;Zr(o,f,p,l,u,g,n,m,_,t.aA(u,e,s,c),a.toUnwrapped(),r)}}}(i,e,r,n,r.layout.get(`text-rotation-alignment`),r.layout.get(`text-pitch-alignment`),r.paint.get(`text-translate`),r.paint.get(`text-translate-anchor`),a),r.paint.get(`icon-opacity`).constantOr(1)!==0&&$r(e,n,r,i,!1,r.paint.get(`icon-translate`),r.paint.get(`icon-translate-anchor`),r.layout.get(`icon-rotation-alignment`),r.layout.get(`icon-pitch-alignment`),r.layout.get(`icon-keep-upright`),c,l,s),r.paint.get(`text-opacity`).constantOr(1)!==0&&$r(e,n,r,i,!0,r.paint.get(`text-translate`),r.paint.get(`text-translate-anchor`),r.layout.get(`text-rotation-alignment`),r.layout.get(`text-pitch-alignment`),r.layout.get(`text-keep-upright`),c,l,s),n.map.showCollisionBoxes&&(qr(e,n,r,i,!0),qr(e,n,r,i,!1))}(e,n,r,i,this.style.placement.variableOffsets,a):t.c4(r)?function(e,n,r,i,a){if(e.renderPass!==`translucent`)return;let{isRenderingToTexture:o}=a,s=r.paint.get(`circle-opacity`),c=r.paint.get(`circle-stroke-width`),l=r.paint.get(`circle-stroke-opacity`),u=!r.layout.get(`circle-sort-key`).isConstant();if(s.constantOr(1)===0&&(c.constantOr(1)===0||l.constantOr(1)===0))return;let d=e.context,f=d.gl,p=e.transform,m=e.getDepthModeForSublayer(0,q.ReadOnly),h=J.disabled,g=e.colorModeForRenderPass(),_=[],v=p.getCircleRadiusCorrection();for(let a=0;a<i.length;a++){let s=i[a],c=n.getTile(s),l=c.getBucket(r);if(!l)continue;let d=r.paint.get(`circle-translate`),f=r.paint.get(`circle-translate-anchor`),m=t.aA(p,c,d,f),h=l.programConfigurations.get(r.id),g=e.useProgram(`circle`,h),y=l.layoutVertexBuffer,b=l.indexBuffer,x=e.style.map.terrain&&e.style.map.terrain.getTerrainData(s),S={programConfiguration:h,program:g,layoutVertexBuffer:y,indexBuffer:b,uniformValues:Fn(e,c,r,m,v),terrainData:x,projectionData:p.getProjectionData({overscaledTileID:s,applyGlobeMatrix:!o,applyTerrainMatrix:!0})};if(u){let e=l.segments.get();for(let n of e)_.push({segments:new t.aJ([n]),sortKey:n.sortKey,state:S})}else _.push({segments:l.segments,sortKey:0,state:S})}u&&_.sort(((e,t)=>
697e.sortKey-t.sortKey));for(let t of _){let{programConfiguration:n,program:i,layoutVertexBuffer:a,indexBuffer:o,uniformValues:s,terrainData:c,projectionData:l}=t.state;i.draw(d,f.TRIANGLES,m,h,g,K.backCCW,s,c,l,r.id,a,o,t.segments,r.paint,e.transform.zoom,n)}}(e,n,r,i,a):t.c5(r)?function(e,n,r,i,a){if(r.paint.get(`heatmap-opacity`)===0)return;let o=e.context,{isRenderingToTexture:s,isRenderingGlobe:c}=a;if(e.style.map.terrain){for(let t of i){let i=n.getTile(t);n.hasRenderableParent(t)||(e.renderPass===`offscreen`?ti(e,i,r,t,c):e.renderPass===`translucent`&&ni(e,r,t,s,c))}o.viewport.set([0,0,e.width,e.height])}else e.renderPass===`offscreen`?function(e,n,r,i){let a=e.context,o=a.gl,s=e.transform,c=J.disabled,l=new G([o.ONE,o.ONE],t.b7.transparent,[!0,!0,!0,!0]);(function(e,n,r){let i=e.gl;e.activeTexture.set(i.TEXTURE1),e.viewport.set([0,0,n.width/4,n.height/4]);let a=r.heatmapFbos.get(t.bW);a?(i.bindTexture(i.TEXTURE_2D,a.colorAttachment.get()),e.bindFramebuffer.set(a.framebuffer)):(a=ri(e,n.width/4,n.height/4),r.heatmapFbos.set(t.bW,a))})(a,e,r),a.clear({color:t.b7.transparent});for(let t=0;t<i.length;t++){let u=i[t];if(n.hasRenderableParent(u))continue;let d=n.getTile(u),f=d.getBucket(r);if(!f)continue;let p=f.programConfigurations.get(r.id),m=e.useProgram(`heatmap`,p),h=s.getProjectionData({overscaledTileID:u,applyGlobeMatrix:!0,applyTerrainMatrix:!1}),g=s.getCircleRadiusCorrection();m.draw(a,o.TRIANGLES,q.disabled,c,l,K.backCCW,zn(d,s.zoom,r.paint.get(`heatmap-intensity`),g),null,h,r.id,f.layoutVertexBuffer,f.indexBuffer,f.segments,r.paint,s.zoom,p)}a.viewport.set([0,0,e.width,e.height])}(e,n,r,i):e.renderPass===`translucent`&&function(e,n){let r=e.context,i=r.gl;r.setColorMode(e.colorModeForRenderPass());let a=n.heatmapFbos.get(t.bW);a&&(r.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,a.colorAttachment.get()),r.activeTexture.set(i.TEXTURE1),ii(r,n).bind(i.LINEAR,i.CLAMP_TO_EDGE),e.useProgram(`heatmapTexture`).draw(r,i.TRIANGLES,q.disabled,J.disabled,e.colorModeForRenderPass(),K.disabled,Bn(e,n,0,1),null,null,n.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,n.paint,e.transform.zoom))}(e,r)}(e,n,r,i,a):t.c6(r)?function(e,n,r,i,a){if(e.renderPass!==`translucent`)return;let{isRenderingToTexture:o}=a,s=r.paint.get(`line-opacity`),c=r.paint.get(`line-width`);if(s.constantOr(1)===0||c.constantOr(1)===0)return;let l=e.getDepthModeForSublayer(0,q.ReadOnly),u=e.colorModeForRenderPass(),d=r.paint.get(`line-dasharray`),f=r.paint.get(`line-pattern`),p=f.constantOr(1),m=r.paint.get(`line-gradient`),h=r.getCrossfadeParameters(),g=p?`linePattern`:d?`lineSDF`:m?`lineGradient`:`line`,_=e.context,y=_.gl,b=e.transform,x=!0;for(let a of i){let i=n.getTile(a);if(p&&!i.patternsLoaded())continue;let s=i.getBucket(r);if(!s)continue;let c=s.programConfigurations.get(r.id),S=e.context.program.get(),C=e.useProgram(g,c),w=x||C.program!==S,T=e.style.map.terrain&&e.style.map.terrain.getTerrainData(a),E=f.constantOr(null);if(E&&i.imageAtlas){let e=i.imageAtlas,t=e.patternPositions[E.to.toString()],n=e.patternPositions[E.from.toString()];t&&n&&c.setConstantPatternPositions(t,n)}let D=b.getProjectionData({overscaledTileID:a,applyGlobeMatrix:!o,applyTerrainMatrix:!0}),O=b.getPixelScale(),k=p?Kn(e,i,r,O,h):d?qn(e,i,r,O,d,h):m?Gn(e,i,r,O,s.lineClipsArray.length):Wn(e,i,r,O);if(p)_.activeTexture.set(y.TEXTURE0),i.imageAtlasTexture.bind(y.LINEAR,y.CLAMP_TO_EDGE),c.updatePaintBuffers(h);else if(d&&(w||e.lineAtlas.dirty))_.activeTexture.set(y.TEXTURE0),e.lineAtlas.bind(_);else if(m){let i=s.gradients[r.id],o=i.texture;if(r.gradientVersion!==i.version){let c=256;if(r.stepInterpolant){let r=n.getSource().maxzoom,i=a.canonical.z===r?Math.ceil(1<<e.transform.maxZoom-a.canonical.z):1;c=t.ae(t.bX(s.maxLineLength/t.Z*1024*i),256,_.maxTextureSize)}i.gradient=t.bY({expression:r.gradientExpression(),evaluationKey:`lineProgress`,resolution:c,image:i.gradient||void 0,clips:s.lineClipsArray}),i.texture?i.texture.update(i.gradient):i.texture=new v(_,i.gradient,y.RGBA),i.version=r.gradientVersion,o=i.texture}_.activeTexture.set(y.TEXTURE0),o.bind(r.stepInterpolant?y.NEAREST:y.LINEAR,y.CLAMP_TO_EDGE)}let A=e.stencilModeForClipping(a);C.draw(_,y.TRIANGLES,l,A,u,K.disabled,k,T,D,r.id,s.layoutVertexBuffer,s.indexBuffer,s.segments,r.paint,e.transform.zoom,c,s.layoutVertexBuffer2),x=!1}}(e,n,r,i,a):t.c7(r)?function(e,n,r,i,a){let o=r.paint.get(`fill-color`),s=r.paint.get(`fill-opacity`);if(s.constantOr(1)===0)return;let{isRenderingToTexture:c}=a,l=e.colorModeForRenderPass(),u=r.paint.get(`fill-pattern`),d=e.opaquePassEnabledForLayer()&&!u.constantOr(1)&&o.constantOr(t.b7.transparent).a===1&&s.c
697onstantOr(0)===1?`opaque`:`translucent`;e.renderPass===d&&oi(e,n,r,i,e.getDepthModeForSublayer(1,e.renderPass===`opaque`?q.ReadWrite:q.ReadOnly),l,!1,c),e.renderPass===`translucent`&&r.paint.get(`fill-antialias`)&&oi(e,n,r,i,e.getDepthModeForSublayer(r.getPaintProperty(`fill-outline-color`)?2:0,q.ReadOnly),l,!0,c)}(e,n,r,i,a):t.c8(r)?function(e,t,n,r,i){let a=n.paint.get(`fill-extrusion-opacity`);if(a===0)return;let{isRenderingToTexture:o}=i;if(e.renderPass===`translucent`){let i=new q(e.context.gl.LEQUAL,q.ReadWrite,e.depthRangeFor3D);if(a!==1||n.paint.get(`fill-extrusion-pattern`).constantOr(1))si(e,t,n,r,i,J.disabled,G.disabled,o),si(e,t,n,r,i,e.stencilModeFor3D(),e.colorModeForRenderPass(),o);else{let a=e.colorModeForRenderPass();si(e,t,n,r,i,J.disabled,a,o)}}}(e,n,r,i,a):t.c9(r)?function(e,t,n,r,i){if(e.renderPass!==`offscreen`&&e.renderPass!==`translucent`)return;let{isRenderingToTexture:a}=i,o=e.context,s=e.style.projection.useSubdivision,c=e.getDepthModeForSublayer(0,q.ReadOnly),l=e.colorModeForRenderPass();if(e.renderPass===`offscreen`)(function(e,t,n,r,i,a,o){let s=e.context,c=s.gl;for(let l of n){let n=t.getTile(l),u=n.dem;if(!u||!u.data||!n.needsHillshadePrepare)continue;let d=u.dim,f=u.stride,p=u.getPixels();if(s.activeTexture.set(c.TEXTURE1),s.pixelStoreUnpackPremultiplyAlpha.set(!1),n.demTexture=n.demTexture||e.getTileTexture(f),n.demTexture){let e=n.demTexture;e.update(p,{premultiply:!1}),e.bind(c.NEAREST,c.CLAMP_TO_EDGE)}else n.demTexture=new v(s,p,c.RGBA,{premultiply:!1}),n.demTexture.bind(c.NEAREST,c.CLAMP_TO_EDGE);s.activeTexture.set(c.TEXTURE0);let m=n.fbo;if(!m){let e=new v(s,{width:d,height:d,data:null},c.RGBA);e.bind(c.LINEAR,c.CLAMP_TO_EDGE),m=n.fbo=s.createFramebuffer(d,d,!0,!1),m.colorAttachment.set(e.texture)}s.bindFramebuffer.set(m.framebuffer),s.viewport.set([0,0,d,d]),e.useProgram(`hillshadePrepare`).draw(s,c.TRIANGLES,i,a,o,K.disabled,Hn(n.tileID,u),null,null,r.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments),n.needsHillshadePrepare=!1}})(e,t,r,n,c,J.disabled,l),o.viewport.set([0,0,e.width,e.height]);else if(e.renderPass===`translucent`)if(s){let[i,o,s]=e.stencilConfigForOverlapTwoPass(r);ci(e,t,n,s,i,c,l,!1,a),ci(e,t,n,s,o,c,l,!0,a)}else{let[i,o]=e.getStencilConfigForOverlapAndUpdateStencilID(r);ci(e,t,n,o,i,c,l,!1,a)}}(e,n,r,i,a):t.ca(r)?function(e,t,n,r,i){if(e.renderPass!==`translucent`||n.paint.get(`raster-opacity`)===0||!r.length)return;let{isRenderingToTexture:a}=i,o=t.getSource(),s=e.style.projection.useSubdivision;if(o instanceof pe)ui(e,t,n,r,null,!1,!1,o.tileCoords,o.flippedWindingOrder,a);else if(s){let[i,o,s]=e.stencilConfigForOverlapTwoPass(r);ui(e,t,n,s,i,!1,!0,li,!1,a),ui(e,t,n,s,o,!0,!0,li,!1,a)}else{let[i,o]=e.getStencilConfigForOverlapAndUpdateStencilID(r);ui(e,t,n,o,i,!1,!0,li,!1,a)}}(e,n,r,i,a):t.cb(r)?function(e,t,n,r,i){let a=n.paint.get(`background-color`),o=n.paint.get(`background-opacity`);if(o===0)return;let{isRenderingToTexture:s}=i,c=e.context,l=c.gl,u=e.style.projection,d=e.transform,f=d.tileSize,p=n.paint.get(`background-pattern`);if(e.isPatternMissing(p))return;let m=!p&&a.a===1&&o===1&&e.opaquePassEnabledForLayer()?`opaque`:`translucent`;if(e.renderPass!==m)return;let h=J.disabled,g=e.getDepthModeForSublayer(0,m===`opaque`?q.ReadWrite:q.ReadOnly),_=e.colorModeForRenderPass(),v=e.useProgram(p?`backgroundPattern`:`background`),y=r||Fe(d,{tileSize:f,terrain:e.style.map.terrain});p&&(c.activeTexture.set(l.TEXTURE0),e.imageManager.bind(e.context));let b=n.getCrossfadeParameters();for(let t of y){let r=d.getProjectionData({overscaledTileID:t,applyGlobeMatrix:!s,applyTerrainMatrix:!0}),i=p?nr(o,e,p,{tileID:t,tileSize:f},b):tr(o,a),m=e.style.map.terrain&&e.style.map.terrain.getTerrainData(t),y=u.getMeshFromTileID(c,t.canonical,!1,!0,`raster`);v.draw(c,l.TRIANGLES,g,h,_,K.backCCW,i,m,r,n.id,y.vertexBuffer,y.indexBuffer,y.segments)}}(e,0,r,i,a):t.cc(r)&&function(e,t,n,r){let{isRenderingGlobe:i}=r,a=e.context,o=n.implementation,s=e.style.projection,c=e.transform,l=c.getProjectionDataForCustomLayer(i),u={farZ:c.farZ,nearZ:c.nearZ,fov:c.fov*Math.PI/180,modelViewProjectionMatrix:c.modelViewProjectionMatrix,projectionMatrix:c.projectionMatrix,shaderData:{variantName:s.shaderVariantName,vertexShaderPrelude:`const float PI = 3.141592653589793;\nuniform mat4 u_projection_matrix;\n${s.shaderPreludeCode.vertexSource}`,define:s.shaderDefine},defaultProjectionData:l},d=o.renderingMode?o.renderingMode:`2d`;if(e.renderPass===`offscreen`){let t=o.prerender;t&&(e.setCustomLayerDefaults(),a.setColorMode(e.colorModeForRenderPass()),t.call(o,a.gl,u),a.setDirty(),e.setBaseState())}else if(e.renderPass===`translucent`){e.setCustomLayerDefaults(),a.setColorMode(e.colorModeForRenderPass()),a.setStencilMode(J.disabled);let t=d===`3d`?e.getDepthModeFor3D():e.getDepthModeForSublayer(0,q.ReadOnly);a.setDepthMode(t),o.render(a.gl,u),a.setDirty(),e.setBaseState(),a.bindFramebuffer.set(null)}}(e,0,r,a))}saveTileTexture(e){let t=this._tileTextures[e.size[0]];
697t?t.push(e):this._tileTextures[e.size[0]]=[e]}getTileTexture(e){let t=this._tileTextures[e];return t&&t.length>0?t.pop():null}isPatternMissing(e){if(!e)return!1;if(!e.from||!e.to)return!0;let t=this.imageManager.getPattern(e.from.toString()),n=this.imageManager.getPattern(e.to.toString());return!t||!n}useProgram(e,t,n=!1,r=[]){this.cache=this.cache||{};let i=!!this.style.map.terrain,a=this.style.projection,o=n?Dt.projectionMercator:a.shaderPreludeCode,s=n?At:a.shaderDefine,c=e+(t?t.cacheKey:``)+`/${n?jt:a.shaderVariantName}`+(this._showOverdrawInspector?`/overdraw`:``)+(i?`/terrain`:``)+(r?`/${r.join(`/`)}`:``);return this.cache[c]||(this.cache[c]=new On(this.context,Dt[e],t,ir[e],this._showOverdrawInspector,i,o,s,r)),this.cache[c]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){let e=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(e.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas??(this.debugOverlayCanvas=document.createElement(`canvas`),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new v(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){let{drawingBufferWidth:e,drawingBufferHeight:t}=this.context.gl;return this.width!==e||this.height!==t}}function wi(e,t){let n,r=!1,i=null,a=null,o=()=>{i=null,r&&=(e.apply(a,n),i=setTimeout(o,t),!1)};return(...e)=>(r=!0,a=this,n=e,i||o(),i)}class Ti{constructor(e){this._getCurrentHash=()=>{let e=window.location.hash.replace(`#`,``);if(this._hashName){let t;return e.split(`&`).map((e=>e.split(`=`))).forEach((e=>{e[0]===this._hashName&&(t=e)})),(t&&t[1]||``).split(`/`)}return e.split(`/`)},this._onHashChange=()=>{let e=this._getCurrentHash();if(!this._isValidHash(e))return!1;let t=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(e[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+e[2],+e[1]],zoom:+e[0],bearing:t,pitch:+(e[4]||0)}),!0},this._updateHashUnthrottled=()=>{let e=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,e)},this._removeHash=()=>{let e=this._getCurrentHash();if(e.length===0)return;let t=e.join(`/`),n=t;n.split(`&`).length>0&&(n=n.split(`&`)[0]),this._hashName&&(n=`${this._hashName}=${t}`);let r=window.location.hash.replace(n,``);r.startsWith(`#&`)?r=r.slice(0,1)+r.slice(2):r===`#`&&(r=``);let i=window.location.href.replace(/(#.+)?$/,r);i=i.replace(`&&`,`&`),window.history.replaceState(window.history.state,null,i)},this._updateHash=wi(this._updateHashUnthrottled,300),this._hashName=e&&encodeURIComponent(e)}addTo(e){return this._map=e,addEventListener(`hashchange`,this._onHashChange,!1),this._map.on(`moveend`,this._updateHash),this}remove(){return removeEventListener(`hashchange`,this._onHashChange,!1),this._map.off(`moveend`,this._updateHash),clearTimeout(this._updateHash()),this._removeHash(),delete this._map,this}getHashString(e){let t=this._map.getCenter(),n=Math.round(100*this._map.getZoom())/100,r=10**Math.ceil((n*Math.LN2+Math.log(512/360/.5))/Math.LN10),i=Math.round(t.lng*r)/r,a=Math.round(t.lat*r)/r,o=this._map.getBearing(),s=this._map.getPitch(),c=``;if(c+=e?`/${i}/${a}/${n}`:`${n}/${a}/${i}
697`,(o||s)&&(c+=`/`+Math.round(10*o)/10),s&&(c+=`/${Math.round(s)}`),this._hashName){let e=this._hashName,t=!1,n=window.location.hash.slice(1).split(`&`).map((n=>{let r=n.split(`=`)[0];return r===e?(t=!0,`${r}=${c}`):n})).filter((e=>e));return t||n.push(`${e}=${c}`),`#${n.join(`&`)}`}return`#${c}`}_isValidHash(e){if(e.length<3||e.some(isNaN))return!1;try{new t.Q(+e[2],+e[1])}catch{return!1}let n=+e[0],r=+(e[3]||0),i=+(e[4]||0);return n>=this._map.getMinZoom()&&n<=this._map.getMaxZoom()&&r>=-180&&r<=180&&i>=this._map.getMinPitch()&&i<=this._map.getMaxPitch()}}let Ei={linearity:.3,easing:t.cd(0,0,.3,1)},Di=t.e({deceleration:2500,maxSpeed:1400},Ei),Oi=t.e({deceleration:20,maxSpeed:1400},Ei),ki=t.e({deceleration:1e3,maxSpeed:360},Ei),Ai=t.e({deceleration:1e3,maxSpeed:90},Ei),ji=t.e({deceleration:1e3,maxSpeed:360},Ei);class Mi{constructor(e){this._map=e,this.clear()}clear(){this._inertiaBuffer=[]}record(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:o.now(),settings:e})}_drainInertiaBuffer(){let e=this._inertiaBuffer,t=o.now();for(;e.length>0&&t-e[0].time>160;)e.shift()}_onMoveEnd(e){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let n={zoom:0,bearing:0,pitch:0,roll:0,pan:new t.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:e}of this._inertiaBuffer)n.zoom+=e.zoomDelta||0,n.bearing+=e.bearingDelta||0,n.pitch+=e.pitchDelta||0,n.roll+=e.rollDelta||0,e.panDelta&&n.pan._add(e.panDelta),e.around&&(n.around=e.around),e.pinchAround&&(n.pinchAround=e.pinchAround);let r=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,i={};if(n.pan.mag()){let a=Pi(n.pan.mag(),r,t.e({},Di,e||{})),o=n.pan.mult(a.amount/n.pan.mag()),s=this._map.cameraHelper.handlePanInertia(o,this._map.transform);i.center=s.easingCenter,i.offset=s.easingOffset,Ni(i,a)}if(n.zoom){let e=Pi(n.zoom,r,Oi);i.zoom=this._map.transform.zoom+e.amount,Ni(i,e)}if(n.bearing){let e=Pi(n.bearing,r,ki);
697i.bearing=this._map.transform.bearing+t.ae(e.amount,-179,179),Ni(i,e)}if(n.pitch){let e=Pi(n.pitch,r,Ai);i.pitch=this._map.transform.pitch+e.amount,Ni(i,e)}if(n.roll){let e=Pi(n.roll,r,ji);i.roll=this._map.transform.roll+t.ae(e.amount,-179,179),Ni(i,e)}if(i.zoom||i.bearing){let e=n.pinchAround===void 0?n.around:n.pinchAround;i.around=e?this._map.unproject(e):this._map.getCenter()}return this.clear(),t.e(i,{noMoveStart:!0})}}function Ni(e,t){(!e.duration||e.duration<t.duration)&&(e.duration=t.duration,e.easing=t.easing)}function Pi(e,n,r){let{maxSpeed:i,linearity:a,deceleration:o}=r,s=t.ae(e*a/(n/1e3),-i,i),c=Math.abs(s)/(o*a);return{easing:r.easing,duration:1e3*c,amount:c/2*s}}class Fi extends t.l{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,n,r,i={}){r=r instanceof MouseEvent?r:new MouseEvent(e,r);let a=s.mousePos(n.getCanvas(),r),o=n.unproject(a);super(e,t.e({point:a,lngLat:o,originalEvent:r},i)),this._defaultPrevented=!1,this.target=n}}class Ii extends t.l{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,n,r){let i=e===`touchend`?r.changedTouches:r.touches,a=s.touchPos(n.getCanvasContainer(),i),o=a.map((e=>n.unproject(e))),c=a.reduce(((e,t,n,r)=>e.add(t.div(r.length))),new t.P(0,0));super(e,{points:a,point:c,lngLats:o,lngLat:n.unproject(c),originalEvent:r}),this._defaultPrevented=!1}}class Li extends t.l{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,t,n){super(e,{originalEvent:n}),this._defaultPrevented=!1}}class Ri{constructor(e,t){this._map=e,this._clickTolerance=t.clickTolerance}reset(){delete this._mousedownPos}wheel(e){return this._firePreventable(new Li(e.type,this._map,e))}mousedown(e,t){return this._mousedownPos=t,this._firePreventable(new Fi(e.type,this._map,e))}mouseup(e){this._map.fire(new Fi(e.type,this._map,e))}click(e,t){this._mousedownPos&&this._mousedownPos.dist(t)>=this._clickTolerance||this._map.fire(new Fi(e.type,this._map,e))}dblclick(e){return this._firePreventable(new Fi(e.type,this._map,e))}mouseover(e){this._map.fire(new Fi(e.type,this._map,e))}mouseout(e){this._map.fire(new Fi(e.type,this._map,e))}touchstart(e){return this._firePreventable(new Ii(e.type,this._map,e))}touchmove(e){this._map.fire(new Ii(e.type,this._map,e))}touchend(e){this._map.fire(new Ii(e.type,this._map,e))}touchcancel(e){this._map.fire(new Ii(e.type,this._map,e))}_firePreventable(e){if(this._map.fire(e),e.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class zi{constructor(e){this._map=e}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(e){this._map.fire(new Fi(e.type,this._map,e))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Fi(`contextmenu`,this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(e){this._delayContextMenu?this._contextMenuEvent=e:this._ignoreContextMenu||this._map.fire(new Fi(e.type,this._map,e)),this._map.listens(`contextmenu`)&&e.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Bi{constructor(e){this._map=e}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(e){return this.transform.screenPointToLocation(t.P.convert(e),this._map.terrain)}}class Vi{constructor(e,t){this._map=e,this._tr=new Bi(e),this._el=e.getCanvasContainer(),this._container=e.getContainer(),this._clickTolerance=t.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(e,t){this.isEnabled()&&e.shiftKey&&e.button===0&&(s.disableDrag(),this._startPos=this._lastPos=t,this._active=!0)}mousemoveWindow(e,t){if(!this._active)return;let n=t;if(this._lastPos.equals(n)||!this._box&&n.dist(this._startPos)<this._clickTolerance)return;let r=this._startPos;this._lastPos=n,this._box||(this._box=s.create(`div`,`maplibregl-boxzoom`,this._container),this._container.classList.add(`maplibregl-crosshair`),this._fireEvent(`boxzoomstart`,e));let i=Math.min(r.x,n.x),a=Math.max(r.x,n.x),o=Math.min(r.y,n.y),c=Math.max(r.y,n.y);s.setTransform(this._box,`translate(${i}px,${o}px)`),this._box.style.width=a-i+`px`,this._box.style.height=c-o+`px`}mouseupWindow(e,n){if(!this._active||e.button!==0)return;let r=this._startPos,i=n;if(this.reset(),s.suppressClick(),r.x!==i.x||r.y!==i.y)return this._map.fire(new t.l(`boxzoomend`,{originalEvent:e})),{cameraAnimation:e=>e.fitScreenCoordinates(r,i,this._tr.bearing,{linear:!0})};this._fireEvent(`boxzoomcancel`,e)}keydown(e){this._active&&e.keyCode===27&&(this.reset(),this._fireEvent(`boxzoomcancel`,e))}reset(){this._active=!1,this._container.classList.remove(`maplibregl-crosshair`),this._box&&=(s.remove(this._box),null),s.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(e,n){return this._map.fire(new t.l(e,{originalEvent:n}))}}function Hi(e,t){if(e.length!==t.length)throw Error(`The number of touches and points are not equal - touches ${e.length}, points ${t.length}`);let n={};for(let r=0;r<e.length;r++)n[e[r].identifier]=t[r];return n}class Ui{constructor(e){this.reset(),this.numTouches=e.numTouches}reset(){delete this.centroid,delete this.startTime,delete this.touches,this.aborted=!1}touchstart(e,n,r){(this.centroid||r.length>this.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=e.timeStamp),r.length===this.numTouches&&(this.centroid=function(e){let n=new t.P(0,0);for(let t of e)n._add(t);return n.div(e.length)}(n),this.touches=Hi(r,n)))}touchmove(e,t,n){if(this.aborted||!this.centroid)return;let r=Hi(n,t);for(let e in this.touches){let t=r[e];(!t||t.dist(this.touches[e])>30)&&(this.aborted=!0)}}touchend(e,t,n){if((!this.centroid||e.timeStamp-this.startTime>500)&&(this.aborted=!0),n.length===0){let e=!this.aborted&&this.centroid;if(this.reset(),e)return e}}}class Wi{constructor(e){this.singleTap=new Ui(e),this.numTaps=e.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(e,t,n){this.singleTap.touchstart(e,t,n)}touchmove(e,t,n){this.singleTap.touchmove(e,t,n)}touchend(e,t,n){let r=this.singleTap.touchend(e,t,n);if(r){let t=e.timeStamp-this.lastTime<500,n=!this.lastTap||this.lastTap.dist(r)<30;if(t&&n||this.reset(),this.count++,this.lastTime=e.timeStamp,this.lastTap=r,this.count===this.numTaps)return this.reset(),r}}}class Gi{constructor(e){this._tr=new Bi(e),this._zoomIn=new Wi({numTouches:1,numTaps:2}),this._zoomOut=new Wi({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(e,t,n){this._zoomIn.touchstart(e,t,n),this._zoomOut.touchstart(e,t,n)}touchmove(e,t,n){this._zoomIn.touchmove(e,t,n),this._zoomOut.touchmove(e,t,n)}touchend(e,t,n){let r=this._zoomIn.touchend(e,t,n),i=this._zoomOut.touchend(e,t,n),a=this._tr;return r?(this._active=!0,e.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:t=>t.easeTo({duration:300,zoom:a.zoom+1,around:a.unproject(r)},{originalEvent:e})}):i?(this._active=!0,e.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:t=>t.easeTo({duration:300,zoom:a.zoom-1,around:a.unproject(i)},{originalEvent:e})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Ki{constructor(e){this._enabled=!!e.enable,this._moveStateManager=e.moveStateManager,this._clickTolerance=e.clickTolerance||1,this._moveFunction=e.move,this._activateOnStart=!!e.activateOnStart,e.assignEvents(this),this.reset()}reset(e){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(e)}_move(...e){let t=this._moveFunction(...e);if(t.bearingDelta||t.pitchDelta||t.rollDelta||t.around||t.panDelta)return this._active=!0,t}dragStart(e,t){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(e)&&(this._moveStateManager.startMove(e),this._lastPoint=Array.isArray(t)?t[0]:t,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(e,t){if(!this.isEnabled())return;let n=this._lastPoint;if(!n)return;if(e.preventDefault(),!this._moveStateManager.isValidMoveEvent(e))return void this.reset(e);let r=Array.isArray(t)?t[0]:t;return!this._moved&&r.dist(n)<this._clickTolerance?void 0:(this._moved=!0,this._lastPoint=r,this._move(n,r))}dragEnd(e){this.isEnabled()&&this._lastPoint&&this._moveStateManager.isValidEndEvent(e)&&(this._moved&&s.suppressClick(),this.reset(e))}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}getClickTolerance(){return this._clickTolerance}}let qi={0:1,2:2};class Ji{constructor(e){this._correctEvent=e.checkCorrectEvent}startMove(e){let t=s.mouseButton(e);this._eventButton=t}endMove(e){delete this._eventButton}isValidStartEvent(e){return this._correctEvent(e)}isValidMoveEvent(e){return!function(e,t){let n=qi[t];return e.buttons===void 0||(e.buttons&n)!==n}(e,this._eventButton)}isValidEndEvent(e){return s.mouseButton(e)===this._eventButton}}class Yi{constructor(){this._firstTouch=void 0}_isOneFingerTouch(e){return e.targetTouches.length===1}_isSameTouchEvent(e){return e.targetTouches[0].identifier===this._firstTouch}startMove(e){this._firstTouch=e.targetTouches[0].identifier}endMove(e){delete this._firstTouch}isValidStartEvent(e){return this._isOneFingerTouch(e)}isValidMoveEvent(e){return this._isOneFingerTouch(e)&&this._isSameTouchEvent(e)}isValidEndEvent(e){return this._isOneFingerTouch(e)&&this._isSameTouchEvent(e)}}class Xi{constructor(e=new Ji({checkCorrectEvent:()=>!0}),t=new Yi){this.mouseMoveStateManager=e,this.oneFingerTouchMoveStateManager=t}_executeRelevantHandler(e,t,n){return e instanceof MouseEvent?t(e):typeof TouchEvent<`u`&&e instanceof TouchEvent?n(e):void 0}startMove(e){this._executeRelevantHandler(e,(e=>this.mouseMoveStateManager.startMove(e)),(e=>this.oneFingerTouchMoveStateManager.startMove(e)))}endMove(e){this._executeRelevantHandler(e,(e=>this.mouseMoveStateManager.endMove(e)),(e=>this.oneFingerTouchMoveStateManager.endMove(e)))}isValidStartEvent(e){return this._executeRelevantHandler(e,(e=>this.mouseMoveStateManager.isValidStartEvent(e)),(e=>this.oneFingerTouchMoveStateManager.isValidStartEvent(e)))}isValidMoveEvent(e){return this._executeRelevantHandler(e,(e=>this.mouseMoveStateManager.isValidMoveEvent(e)),(e=>this.oneFingerTouchMoveStateManager.isValidMoveEvent(e)))}isValidEndEvent(e){return this._executeRelevantHandler(e,(e=>this.mouseMoveStateManager.isValidEndEvent(e)),(e=>this.oneFingerTouchMoveStateManager.isValidEndEvent(e)))}}let Zi=e=>{e.mousedown=e.dragStart,e.mousemoveWindow=e.dragMove,e.mouseup=e.dragEnd,e.contextmenu=e=>{e.preventDefault()}};class Qi{constructor(e,t){this._clickTolerance=e.clickTolerance||1,this._map=t,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new t.P(0,0)}_shouldBePrevented(e){return e<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(e,t,n){return this._calculateTransform(e,t,n)}touchmove(e,t,n){if(this._active){if(!this._shouldBePrevented(n.length))return e.preventDefault(),this._calculateTransform(e,t,n);this._map.cooperativeGestures.notifyGestureBlocked(`touch_pan`,e)}}touchend(e,t,n){this._calculateTransform(e,t,n),this._active&&this._shouldBePrevented(n.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(e,n,r){r.length>0&&(this._active=!0);let i=Hi(r,n),a=new t.P(0,0),o=new t.P(0,0),s=0;for(let e in i){let t=i[e],n=this._touches[e];n&&(a._add(t),o._add(t.sub(n)),s++,i[e]=t)}if(this._touches=i,this._shouldBePrevented(s)||!o.mag())return;let c=o.div(s);return this._sum._add(c),this._sum.mag()<this._clickTolerance?void 0:{around:a.div(s),panDelta:c}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class $i{constructor(){this.reset()}reset(){this._active=!1,delete this._firstTwoTouches}touchstart(e,t,n){this._firstTwoTouches||n.length<2||(this._firstTwoTouches=[n[0].identifier,n[1].identifier],this._start([t[0],t[1]]))}touchmove(e,t,n){if(!this._firstTwoTouches)return;e.preventDefault();let[r,i]=this._firstTwoTouches,a=ea(n,t,r),o=ea(n,t,i);if(!a||!o)return;let s=this._aroundCenter?null:a.add(o).div(2);return this._move([a,o],s,e)}touchend(e,t,n){if(!this._firstTwoTouches)return;let[r,i]=this._firstTwoTouches,a=ea(n,t,r),o=ea(n,t,i);a&&o||(this._active&&s.suppressClick(),this.reset())}touchcancel(){this.reset()}enable(e){this._enabled=!0,this._aroundCenter=!!e&&e.around===`center`}disable(){this._enabled=!1,this.reset()}isEnabled(){return!!this._enabled}isActive(){return!!this._active}}function ea(e,t,n){for(let r=0;r<e.length;r++)if(e[r].identifier===n)return t[r]}function ta(e,t){return Math.log(e/t)/Math.LN2}class na extends $i{reset(){super.reset(),delete this._distance,delete this._startDistance}_start(e){this._startDistance=this._distance=e[0].dist(e[1])}_move(e,t){let n=this._distance;if(this._distance=e[0].dist(e[1]),this._active||!(Math.abs(ta(this._distance,this._startDistance))<.1))return this._active=!0,{zoomDelta:ta(this._distance,n),pinchAround:t}}}function ra(e,t){return 180*e.angleWith(t)/Math.PI}class ia extends $i{reset(){super.reset(),delete this._minDiameter,delete this._startVector,delete this._vector}_start(e){this._startVector=this._vector=e[0].sub(e[1]),this._minDiameter=e[0].dist(e[1])}_move(e,t,n){let r=this._vector;if(this._vector=e[0].sub(e[1]),this._active||!this._isBelowThreshold(this._vector))return this._active=!0,{bearingDelta:ra(this._vector,r),pinchAround:t}}_isBelowThreshold(e){this._minDiameter=Math.min(this._minDiameter,e.mag());let t=25/(Math.PI*this._minDiameter)*360,n=ra(e,this._startVector);return Math.abs(n)<t}}function X(e){return Math.abs(e.y)>Math.abs(e.x)}class aa extends $i{constructor(e){super(),this._currentTouchCount=0,this._map=e}
697reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(e,t,n){super.touchstart(e,t,n),this._currentTouchCount=n.length}_start(e){this._lastPoints=e,X(e[0].sub(e[1]))&&(this._valid=!1)}_move(e,t,n){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;let r=e[0].sub(this._lastPoints[0]),i=e[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(r,i,n.timeStamp),this._valid?(this._lastPoints=e,this._active=!0,{pitchDelta:(r.y+i.y)/2*-.5}):void 0}gestureBeginsVertically(e,t,n){if(this._valid!==void 0)return this._valid;let r=e.mag()>=2,i=t.mag()>=2;if(!r&&!i)return;if(!r||!i)return this._firstMove===void 0&&(this._firstMove=n),n-this._firstMove<100&&void 0;let a=e.y>0==t.y>0;return X(e)&&X(t)&&a}}let oa={panStep:100,bearingStep:15,pitchStep:10};class sa{constructor(e){this._tr=new Bi(e);let t=oa;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(e){if(e.altKey||e.ctrlKey||e.metaKey)return;let t=0,n=0,r=0,i=0,a=0;switch(e.keyCode){case 61:case 107:case 171:case 187:t=1;break;case 189:case 109:case 173:t=-1;break;case 37:e.shiftKey?n=-1:(e.preventDefault(),i=-1);break;case 39:e.shiftKey?n=1:(e.preventDefault(),i=1);break;case 38:e.shiftKey?r=1:(e.preventDefault(),a=-1);break;case 40:e.shiftKey?r=-1:(e.preventDefault(),a=1);break;default:return}return this._rotationDisabled&&(n=0,r=0),{cameraAnimation:o=>{let s=this._tr;o.easeTo({duration:300,easeId:`keyboardHandler`,easing:ca,zoom:t?Math.round(s.zoom)+t*(e.shiftKey?2:1):s.zoom,bearing:s.bearing+n*this._bearingStep,pitch:s.pitch+r*this._pitchStep,offset:[-i*this._panStep,-a*this._panStep],center:s.center},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function ca(e){return e*(2-e)}let la=4.000244140625;class ua{constructor(e,t){this._onTimeout=e=>{this._type=`wheel`,this._delta-=this._lastValue,this._active||this._start(e)},this._map=e,this._tr=new Bi(e),this._triggerRenderFrame=t,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(e){this._defaultZoomRate=e}setWheelZoomRate(e){this._wheelZoomRate=e}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(e){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!e&&e.around===`center`)}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(e){return!!this._map.cooperativeGestures.isEnabled()&&!(e.ctrlKey||this._map.cooperativeGestures.isBypassed(e))}wheel(e){if(!this.isEnabled())return;if(this._shouldBePrevented(e))return void this._map.cooperativeGestures.notifyGestureBlocked(`wheel_zoom`,e);let t=e.deltaMode===WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=o.now(),r=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,t!==0&&t%la==0?this._type=`wheel`:t!==0&&Math.abs(t)<4?this._type=`trackpad`:r>400?(this._type=null,this._lastValue=t,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(r*t)<200?`trackpad`:`wheel`,this._timeout&&(clearTimeout(this._timeout),this._timeout=null,t+=this._lastValue)),e.shiftKey&&t&&(t/=4),this._type&&(this._lastWheelEvent=e,this._delta-=t,this._active||this._start(e)),e.preventDefault()}_start(e){if(!this._delta)return;this._frameId&&=null,this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);let n=s.mousePos(this._map.getCanvas(),e),r=this._tr;this._aroundPoint=this._aroundCenter?r.transform.locationToScreenPoint(t.Q.convert(r.center)):n,this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;let e=this._tr.transform;if(typeof this._lastExpectedZoom==`number`){let t=e.zoom-this._lastExpectedZoom;typeof this._startZoom==`number`&&(this._startZoom+=t),typeof this._targetZoom==`number`&&(this._targetZoom+=t)}if(this._delta!==0){let n=this._type===`wheel`&&Math.abs(this._delta)>la?this._wheelZoomRate:this._defaultZoomRate,r=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&r!==0&&(r=1/r);let i=typeof this._targetZoom==`number`?t.ac(this._targetZoom):e.scale;this._targetZoom=e.getConstrained(e.getCameraLngLat(),t.ah(i*r)).zoom,this._type===`wheel`&&(this._startZoom=e.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let n=typeof this._targetZoom==`number`?this._targetZoom:e.zoom,r=this._startZoom,i=this._easing,a,s=!1;if(this._type===`wheel`&&r&&i){let e=o.now()-this._lastWheelEventTime,c=Math.min((e+5)/200,1),l=i(c);a=t.B.number(r,n,l),c<1?this._frameId||=!0:s=!0}else a=n,s=!0;return this._active=!0,s&&(this._active=!1,this._finishTimeout=setTimeout((()=>
697{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._lastExpectedZoom,delete this._finishTimeout}),200)),this._lastExpectedZoom=a,{noInertia:!0,needsRenderFrame:!s,zoomDelta:a-e.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(e){let n=t.cf;if(this._prevEase){let e=this._prevEase,r=(o.now()-e.start)/e.duration,i=e.easing(r+.01)-e.easing(r),a=.27/Math.sqrt(i*i+1e-4)*.01,s=Math.sqrt(.0729-a*a);n=t.cd(a,s,.25,1)}return this._prevEase={start:o.now(),duration:e,easing:n},n}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,delete this._lastExpectedZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class Z{constructor(e,t){this._clickZoom=e,this._tapZoom=t}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class da{constructor(e){this._tr=new Bi(e),this.reset()}reset(){this._active=!1}dblclick(e,t){return e.preventDefault(),{cameraAnimation:n=>{n.easeTo({duration:300,zoom:this._tr.zoom+(e.shiftKey?-1:1),around:this._tr.unproject(t)},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class fa{constructor(){this._tap=new Wi({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(e,t,n){if(!this._swipePoint)if(this._tapTime){let r=t[0],i=e.timeStamp-this._tapTime<500,a=this._tapPoint.dist(r)<30;i&&a?n.length>0&&(this._swipePoint=r,this._swipeTouch=n[0].identifier):this.reset()}else this._tap.touchstart(e,t,n)}touchmove(e,t,n){if(this._tapTime){if(this._swipePoint){if(n[0].identifier!==this._swipeTouch)return;let r=t[0],i=r.y-this._swipePoint.y;return this._swipePoint=r,e.preventDefault(),this._active=!0,{zoomDelta:i/128}}}else this._tap.touchmove(e,t,n)}touchend(e,t,n){if(this._tapTime)this._swipePoint&&n.length===0&&this.reset();else{let r=this._tap.touchend(e,t,n);r&&(this._tapTime=e.timeStamp,this._tapPoint=r)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class pa{constructor(e,t,n){this._el=e,this._mousePan=t,this._touchPan=n}enable(e){this._inertiaOptions=e||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(`maplibregl-touch-drag-pan`)}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(`maplibregl-touch-drag-pan`)}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class ma{constructor(e,t,n,r){this._pitchWithRotate=e.pitchWithRotate,this._rollEnabled=e.rollEnabled,this._mouseRotate=t,this._mousePitch=n,this._mouseRoll=r}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable(),this._rollEnabled&&this._mouseRoll.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable(),this._mouseRoll.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())&&(!this._rollEnabled||this._mouseRoll.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()||this._mouseRoll.isActive()}}class ha{constructor(e,t,n,r){this._el=e,this._touchZoom=t,this._touchRotate=n,this._tapDragZoom=r,this._rotationDisabled=!1,this._enabled=!0}enable(e){this._touchZoom.enable(e),this._rotationDisabled||this._touchRotate.enable(e),this._tapDragZoom.enable(),this._el.classList.add(`maplibregl-touch-zoom-rotate`)}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(`maplibregl-touch-zoom-rotate`)}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}class ga{constructor(e,t){this._bypassKey=navigator.userAgent.indexOf(`Mac`)===-1?`ctrlKey`:`metaKey`,this._map=e,this._options=t,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;let e=this._map.getCanvasContainer();e.classList.add(`maplibregl-cooperative-gestures`),this._container=s.create(`div`,`maplibregl-cooperative-gesture-screen`,e);let t=this._map._getUIString(`CooperativeGesturesHandler.WindowsHelpText`);this._bypassKey===`metaKey`&&(t=this._map._getUIString(`CooperativeGesturesHandler.MacHelpText`));let n=this._map._getUIString(`CooperativeGesturesHandler.MobileHelpText`),r=document.createElement(`div`);r.className=`maplibregl-desktop-message`,r.textContent=t,this._container.appendChild(r);let i=document.createElement(`div`);i.className=`maplibregl-mobile-message`,i.textContent=n,this._container.appendChild(i),this._container.setAttribute(`aria-hidden`,`true`)}_destroyUI(){this._container&&(s.remove(this._container),this._map.getCanvasContainer().classList.remove(`maplibregl-cooperative-gestures`)),delete this._container}enable(){this._setupUI(),this._enabled=!0}disable(){this._enabled=!1,this._destroyUI()}isEnabled(){return this._enabled}isBypassed(e){return e[this._bypassKey]}notifyGestureBlocked(e,n){this._enabled&&(this._map.fire(new t.l(`cooperativegestureprevented`,{gestureType:e,originalEvent:n})),this._container.classList.add(`maplibregl-show`),setTimeout((()=>{this._container.classList.remove(`maplibregl-show`)}),100))}}let _a=e=>e.zoom||e.drag||e.roll||e.pitch||e.rotate;class va extends t.l{}function ya(e){return e.panDelta&&e.panDelta.mag()||e.zoomDelta||e.bearingDelta||e.pitchDelta||e.rollDelta}class ba{constructor(e,n){this.handleWindowEvent=e=>{this.handleEvent(e,`${e.type}Window`)},this.handleEvent=(e,n)=>{if(e.type===`blur`)return void this.stop(!0);this._updatingCamera=!0;let r=e.type===`renderFrame`?void 0:e,i={needsRenderFrame:!1},a={},o={};for(let{handlerName:c,handler:l,allowed:u}of this._handlers){if(!l.isEnabled())continue;let d;if(this._blockedByActive(o,u,c))l.reset();else if(l[n||e.type]){if(t.cg(e,n||e.type)){let t=s.mousePos(this._map.getCanvas(),e);d=l[n||e.type](e,t)}else if(t.ch(e,n||e.type)){let t=this._getMapTouches(e.touches),r=s.touchPos(this._map.getCanvas(),t);d=l[n||e.type](e,r,t)}else t.ci(n||e.type)||(d=l[n||e.type](e));this.mergeHandlerResult(i,a,d,c,r),d&&d.needsRenderFrame&&this._triggerRe
vendor: 1,797 bytes, line 697
697nderFrame()}(d||l.isActive())&&(o[c]=l)}let c={};for(let e in this._previousActiveHandlers)o[e]||(c[e]=r);this._previousActiveHandlers=o,(Object.keys(c).length||ya(i))&&(this._changes.push([i,a,c]),this._triggerRenderFrame()),(Object.keys(o).length||ya(i))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:l}=i;l&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],l(this._map))},this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Mi(e),this._bearingSnap=n.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(n);let r=this._el;this._listeners=[[r,`touchstart`,{passive:!0}],[r,`touchmove`,{passive:!1}],[r,`touchend`,void 0],[r,`touchcancel`,void 0],[r,`mousedown`,void 0],[r,`mousemove`,void 0],[r,`mouseup`,void 0],[document,`mousemove`,{capture:!0}],[document,`mouseup`,void 0],[r,`mouseover`,void 0],[r,`mouseout`,void 0],[r,`dblclick`,void 0],[r,`click`,void 0],[r,`keydown`,{capture:!1}],[r,`keyup`,void 0],[r,`wheel`,{passive:!1}],[r,`contextmenu`,void 0],[window,`blur`,void 0]];for(let[e,t,n]of this._listeners)s.addEventListener(e,t,e===document?this.handleWindowEvent:this.handleEvent,n)}destroy(){for(let[e,t,n]of this._listeners)s.removeEventListener(e,t,e===document?this.handleWindowEvent:this.handleEvent,n)}_addDefaultHandlers(e){let n=this._map,r=n.getCanvasContainer();this._add(`mapEvent`,new Ri(n,e));let i=n.boxZoom=new Vi(n,e);this._add(`boxZoom`,i),e.interactive&&e.boxZoom&&i.enable();let a=n.cooperativeGestures=new ga(n,e.cooperativeGestures);this._add(`cooperativeGestures`,a),e.cooperativeGestures&&a.enable();let o=new Gi(n),c=new da(n);n.doubleClickZoom=new Z(c,o),this._add(`tapZoom`,o),this._add(`clickZoom`,c),e.
697interactive&&e.doubleClickZoom&&n.doubleClickZoom.enable();let l=new fa;this._add(`tapDragZoom`,l);let u=n.touchPitch=new aa(n);this._add(`touchPitch`,u),e.interactive&&e.touchPitch&&n.touchPitch.enable(e.touchPitch);let d=()=>n.project(n.getCenter()),f=function({enable:e,clickTolerance:n,aroundCenter:r=!0,minPixelCenterThreshold:i=100,rotateDegreesPerPixelMoved:a=.8},o){return new Ki({clickTolerance:n,move:(e,n)=>{let s=o();if(r&&Math.abs(s.y-e.y)>i)return{bearingDelta:t.ce(new t.P(e.x,n.y),n,s)};let c=(n.x-e.x)*a;return r&&n.y<s.y&&(c=-c),{bearingDelta:c}},moveStateManager:new Ji({checkCorrectEvent:e=>s.mouseButton(e)===0&&e.ctrlKey||s.mouseButton(e)===2&&!e.ctrlKey}),enable:e,assignEvents:Zi})}(e,d),p=function({enable:e,clickTolerance:t,pitchDegreesPerPixelMoved:n=-.5}){return new Ki({clickTolerance:t,move:(e,t)=>({pitchDelta:(t.y-e.y)*n}),moveStateManager:new Ji({checkCorrectEvent:e=>s.mouseButton(e)===0&&e.ctrlKey||s.mouseButton(e)===2}),enable:e,assignEvents:Zi})}(e),m=function({enable:e,clickTolerance:t,rollDegreesPerPixelMoved:n=.3},r){return new Ki({clickTolerance:t,move:(e,t)=>{let i=r(),a=(t.x-e.x)*n;return t.y<i.y&&(a=-a),{rollDelta:a}},moveStateManager:new Ji({checkCorrectEvent:e=>s.mouseButton(e)===2&&e.ctrlKey}),enable:e,assignEvents:Zi})}(e,d);n.dragRotate=new ma(e,f,p,m),this._add(`mouseRotate`,f,[`mousePitch`]),this._add(`mousePitch`,p,[`mouseRotate`,`mouseRoll`]),this._add(`mouseRoll`,m,[`mousePitch`]),e.interactive&&e.dragRotate&&n.dragRotate.enable();let h=function({enable:e,clickTolerance:t}){return new Ki({clickTolerance:t,move:(e,t)=>({around:t,panDelta:t.sub(e)}),activateOnStart:!0,moveStateManager:new Ji({checkCorrectEvent:e=>s.mouseButton(e)===0&&!e.ctrlKey}),enable:e,assignEvents:Zi})}(e),g=new Qi(e,n);n.dragPan=new pa(r,h,g),this._add(`mousePan`,h),this._add(`touchPan`,g,[`touchZoom`,`touchRotate`]),e.interactive&&e.dragPan&&n.dragPan.enable(e.dragPan);let _=new ia,v=new na;n.touchZoomRotate=new ha(r,v,_,l),this._add(`touchRotate`,_,[`touchPan`,`touchZoom`]),this._add(`touchZoom`,v,[`touchPan`,`touchRotate`]),e.interactive&&e.touchZoomRotate&&n.touchZoomRotate.enable(e.touchZoomRotate);let y=n.scrollZoom=new ua(n,(()=>this._triggerRenderFrame()));this._add(`scrollZoom`,y,[`mousePan`]),e.interactive&&e.scrollZoom&&n.scrollZoom.enable(e.scrollZoom);let b=n.keyboard=new sa(n);this._add(`keyboard`,b),e.interactive&&e.keyboard&&n.keyboard.enable(),this._add(`blockableMapEvent`,new zi(n))}_add(e,t,n){this._handlers.push({handlerName:e,handler:t,allowed:n}),this._handlersById[e]=t}stop(e){if(!this._updatingCamera){for(let{handler:e}of this._handlers)e.reset();this._inertia.clear(),this._fireEvents({},{},e),this._changes=[]}}isActive(){for(let{handler:e}of this._handlers)if(e.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!_a(this._eventsInProgress)||this.isZooming()}_blockedByActive(e,t,n){for(let r in e)if(r!==n&&(!t||t.indexOf(r)<0))return!0;return!1}_getMapTouches(e){let t=[];for(let n of e)this._el.contains(n.target)&&t.push(n);return t}mergeHandlerResult(e,n,r,i,a){if(!r)return;t.e(e,r);let o={handlerName:i,originalEvent:r.originalEvent||a};r.zoomDelta!==void 0&&(n.zoom=o),r.panDelta!==void 0&&(n.drag=o),r.rollDelta!==void 0&&(n.roll=o),r.pitchDelta!==void 0&&(n.pitch=o),r.bearingDelta!==void 0&&(n.rotate=o)}_applyChanges(){let e={},n={},r={};for(let[i,a,o]of this._changes)i.panDelta&&(e.panDelta=(e.panDelta||new t.P(0,0))._add(i.panDelta)),i.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+i.zoomDelta),i.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+i.bearingDelta),i.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+i.pitchDelta),i.rollDelta&&(e.rollDelta=(e.rollDelta||0)+i.rollDelta),i.around!==void 0&&(e.around=i.around),i.pinchAround!==void 0&&(e.pinchAround=i.pinchAround),i.noInertia&&(e.noInertia=i.noInertia),t.e(n,a),t.e(r,o);this._updateMapTransform(e,n,r),this._changes=[]}_updateMapTransform(e,t,n){let r=this._map,i=r._getTransformForUpdate(),a=r.terrain;if(!(ya(e)||a&&this._terrainMovement))return this._fireEvents(t,n,!0);r._stop(!0);let{panDelta:o,zoomDelta:s,bearingDelta:c,pitchDelta:l,rollDelta:u,around:d,pinchAround:f}=e;
697f!==void 0&&(d=f),d||=r.transform.centerPoint,a&&!i.isPointOnMapSurface(d)&&(d=i.centerPoint);let p={panDelta:o,zoomDelta:s,rollDelta:u,pitchDelta:l,bearingDelta:c,around:d};this._map.cameraHelper.useGlobeControls&&!i.isPointOnMapSurface(d)&&(d=i.centerPoint);let m=d.distSqr(i.centerPoint)<.01?i.center:i.screenPointToLocation(o?d.sub(o):d);a?(this._map.cameraHelper.handleMapControlsRollPitchBearingZoom(p,i),this._terrainMovement||!t.drag&&!t.zoom?t.drag&&this._terrainMovement?i.setCenter(i.screenPointToLocation(i.centerPoint.sub(o))):this._map.cameraHelper.handleMapControlsPan(p,i,m):(this._terrainMovement=!0,this._map._elevationFreeze=!0,this._map.cameraHelper.handleMapControlsPan(p,i,m))):(this._map.cameraHelper.handleMapControlsRollPitchBearingZoom(p,i),this._map.cameraHelper.handleMapControlsPan(p,i,m)),r._applyUpdatedTransform(i),this._map._update(),e.noInertia||this._inertia.record(e),this._fireEvents(t,n,!0)}_fireEvents(e,n,r){let i=_a(this._eventsInProgress),a=_a(e),s={};for(let t in e){let{originalEvent:n}=e[t];this._eventsInProgress[t]||(s[`${t}start`]=n),this._eventsInProgress[t]=e[t]}!i&&a&&this._fireEvent(`movestart`,a.originalEvent);for(let e in s)this._fireEvent(e,s[e]);a&&this._fireEvent(`move`,a.originalEvent);for(let t in e){let{originalEvent:n}=e[t];this._fireEvent(t,n)}let c={},l;for(let e in this._eventsInProgress){let{handlerName:t,originalEvent:r}=this._eventsInProgress[e];this._handlersById[t].isActive()||(delete this._eventsInProgress[e],l=n[t]||r,c[`${e}end`]=l)}for(let e in c)this._fireEvent(e,c[e]);
697let u=_a(this._eventsInProgress),d=(i||a)&&!u;if(d&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;let e=this._map._getTransformForUpdate();this._map.getCenterClampedToGround()&&e.recalculateZoomAndCenter(this._map.terrain),this._map._applyUpdatedTransform(e)}if(r&&d){this._updatingCamera=!0;let e=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),n=e=>e!==0&&-this._bearingSnap<e&&e<this._bearingSnap;!e||!e.essential&&o.prefersReducedMotion?(this._map.fire(new t.l(`moveend`,{originalEvent:l})),n(this._map.getBearing())&&this._map.resetNorth()):(n(e.bearing||this._map.getBearing())&&(e.bearing=0),e.freezeElevation=!0,this._map.easeTo(e,{originalEvent:l})),this._updatingCamera=!1}}_fireEvent(e,n){this._map.fire(new t.l(e,n?{originalEvent:n}:{}))}_requestFrame(){return this._map.triggerRepaint(),this._map._renderTaskQueue.add((e=>{delete this._frameId,this.handleEvent(new va(`renderFrame`,{timeStamp:e})),this._applyChanges()}))}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class xa extends t.E{constructor(e,t,n){super(),this._renderFrameCallback=()=>{let e=Math.min((o.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=e,this._bearingSnap=n.bearingSnap,this.cameraHelper=t,this.on(`moveend`,(()=>{delete this._requestedCameraState}))}migrateProjection(e,t){e.apply(this.transform),this.transform=e,this.cameraHelper=t}getCenter(){return new t.Q(this.transform.center.lng,this.transform.center.lat)}setCenter(e,t){return this.jumpTo({center:e},t)}getCenterElevation(){return this.transform.elevation}setCenterElevation(e,t){return this.jumpTo({elevation:e},t),this}getCenterClampedToGround(){return this._centerClampedToGround}setCenterClampedToGround(e){this._centerClampedToGround=e}panBy(e,n,r){return e=t.P.convert(e).mult(-1),this.panTo(this.transform.center,t.e({offset:e},n),r)}panTo(e,n,r){return this.easeTo(t.e({center:e},n),r)}getZoom(){return this.transform.zoom}setZoom(e,t){return this.jumpTo({zoom:e},t),this}zoomTo(e,n,r){return this.easeTo(t.e({zoom:e},n),r)}zoomIn(e,t){return this.zoomTo(this.getZoom()+1,e,t),this}zoomOut(e,t){return this.zoomTo(this.getZoom()-1,e,t),this}getVerticalFieldOfView(){return this.transform.fov}setVerticalFieldOfView(e,n){return e!=this.transform.fov&&(this.transform.setFov(e),this.fire(new t.l(`movestart`,n)).fire(new t.l(`move`,n)).fire(new t.l(`moveend`,n))),this}getBearing(){return this.transform.bearing}setBearing(e,t){return this.jumpTo({bearing:e},t),this}getPadding(){return this.transform.padding}setPadding(e,t){return this.jumpTo({padding:e},t),this}rotateTo(e,n,r){return this.easeTo(t.e({bearing:e},n),r)}resetNorth(e,n){return this.rotateTo(0,t.e({duration:1e3},e),n),this}resetNorthPitch(e,n){return this.easeTo(t.e({bearing:0,pitch:0,roll:0,duration:1e3},e),n),this}snapToNorth(e,t){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(e,t):this}getPitch(){return this.transform.pitch}setPitch(e,t){return this.jumpTo({pitch:e},t),this}getRoll(){return this.transform.roll}setRoll(e,t){return this.jumpTo({roll:e},t),this}cameraForBounds(e,t){e=P.convert(e).adjustAntiMeridian();let n=t&&t.bearing||0;return this._cameraForBoxAndBearing(e.getNorthWest(),e.getSouthEast(),n,t)}_cameraForBoxAndBearing(e,n,r,i){let a={top:0,bottom:0,right:0,left:0};if(typeof(i=t.e({padding:a,offset:[0,0],maxZoom:this.transform.maxZoom},i)).padding==`number`){let e=i.padding;i.padding={top:e,bottom:e,right:e,left:e}}let o=t.e(a,i.padding);i.padding=o;let s=this.transform,c=new P(e,n);return this.cameraHelper.cameraForBoxAndBearing(i,o,c,r,s)}fitBounds(e,t,n){return this._fitInternal(this.cameraForBounds(e,t),t,n)}fitScreenCoordinates(e,n,r,i,a){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.screenPointToLocation(t.P.convert(e)),this.transform.screenPointToLocation(t.P.convert(n)),r,i),i,a)}_fitInternal(e,n,r){return e?(delete(n=t.e(e,n)).padding,n.linear?this.easeTo(n,r):this.flyTo(n,r)):this}jumpTo(e,n){this.stop();let r=this._getTransformForUpdate(),i=!1,a=!1,o=!1,s=r.zoom;this.cameraHelper.handleJumpToCenterZoom(r,e);let c=r.zoom!==s;return`elevation`in e&&r.elevation!==+e.elevation&&r.setElevation(+e.elevation),`bearing`in e&&r.bearing!==+e.bearing&&(i=!0,r.setBearing(+e.bearing)),`pitch`in e&&r.pitch!==+e.pitch&&(a=!0,r.setPitch(+e.pitch)),`roll`in e&&r.roll!==+e.roll&&(o=!0,r.setRoll(+e.roll)),e.padding==null||r.isPaddingEqual(e.padding)||r.setPadding(e.padding),this._applyUpdatedTransform(r),this.fire(new t.l(`movestart`,n)).fire(new t.l(`move`,n)),c&&this.fire(new t.l(`zoomstart`,n)).fire(new t.l(`zoom`,n)).fire(new t.l(`zoomend`,n)),i&&this.fire(new t.l(`rotatestart`,n)).fire(new t.l(`rotate`,n)).fire(new t.l(`rotateend`,n)),a&&this.fire(new t.l(`pitchstart`,n)).fire(new t.l(`pitch`,n)).fire(new t.l(`pitchend`,n)),o&&this.fire(new t.l(`rollstart`,n)).fire(new t.l(`roll`,n)).fire(new t.l(`rollend`,n)),this.fire(new t.l(`moveend`,n))}calculateCameraOptionsFromTo(e,n,r,i=0){let a=t.$.fromLngLat(e,n),o=t.$.fromLngLat(r,i),s=o.x-a.x,c=o.y-a.y,l=o.z-a.z,u=Math.hypot(s,c,l);
697if(u===0)throw Error(`Can't calculate camera options with same From and To`);let d=Math.hypot(s,c),f=t.ah(this.transform.cameraToCenterDistance/u/this.transform.tileSize),p=180*Math.atan2(s,-c)/Math.PI,m=180*Math.acos(d/u)/Math.PI;return m=l<0?90-m:90+m,{center:o.toLngLat(),elevation:i,zoom:f,pitch:m,bearing:p}}calculateCameraOptionsFromCameraLngLatAltRotation(e,t,n,r,i){let a=this.transform.calculateCenterFromCameraLngLatAlt(e,t,n,r);return{center:a.center,elevation:a.elevation,zoom:a.zoom,bearing:n,pitch:r,roll:i}}easeTo(e,n){this._stop(!1,e.easeId),(!1===(e=t.e({offset:[0,0],duration:500,easing:t.cf},e)).animate||!e.essential&&o.prefersReducedMotion)&&(e.duration=0);let r=this._getTransformForUpdate(),i=this.getBearing(),a=r.pitch,s=r.roll,c=`bearing`in e?this._normalizeBearing(e.bearing,i):i,l=`pitch`in e?+e.pitch:a,u=`roll`in e?this._normalizeBearing(e.roll,s):s,d=`padding`in e?e.padding:r.padding,f=t.P.convert(e.offset),p,m;e.around&&(p=t.Q.convert(e.around),m=r.locationToScreenPoint(p));let h={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching,rolling:this._rolling},g=this.cameraHelper.handleEaseTo(r,{bearing:c,pitch:l,roll:u,padding:d,around:p,aroundPoint:m,offsetAsPoint:f,offset:e.offset,zoom:e.zoom,center:e.center});return this._rotating=this._rotating||i!==c,this._pitching=this._pitching||l!==a,this._rolling=this._rolling||u!==s,this._padding=!r.isPaddingEqual(d),this._zooming=this._zooming||g.isZooming,this._easeId=e.easeId,this._prepareEase(n,e.noMoveStart,h),this.terrain&&this._prepareElevation(g.elevationCenter),this._ease((t=>{g.easeFunc(t),this.terrain&&!e.freezeElevation&&this._updateElevation(t),this._applyUpdatedTransform(r),this._fireMoveEvents(n)}),(t=>{this.terrain&&e.freezeElevation&&this._finalizeElevation(),this._afterEase(n,t)}),e),this}_prepareEase(e,n,r={}){this._moving=!0,n||r.moving||this.fire(new t.l(`movestart`,e)),this._zooming&&!r.zooming&&this.fire(new t.l(`zoomstart`,e)),this._rotating&&!r.rotating&&this.fire(new t.l(`rotatestart`,e)),this._pitching&&!r.pitching&&this.fire(new t.l(`pitchstart`,e)),this._rolling&&!r.rolling&&this.fire(new t.l(`rollstart`,e))}_prepareElevation(e){this._elevationCenter=e,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(e,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(e){this.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom));let n=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(e<1&&n!==this._elevationTarget){let t=this._elevationTarget-this._elevationStart;this._elevationStart+=e*(t-(n-(t*e+this._elevationStart))/(1-e)),this._elevationTarget=n}this.transform.setElevation(t.B.number(this._elevationStart,this._elevationTarget,e))}_finalizeElevation(){this._elevationFreeze=!1,this.getCenterClampedToGround()&&this.transform.recalculateZoomAndCenter(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate||this.terrain?(this._requestedCameraState||=this.transform.clone(),this._requestedCameraState):this.transform}_elevateCameraIfInsideTerrain(e){if(!this.terrain&&e.elevation>=0&&e.pitch<=90)return{};let t=e.getCameraLngLat(),n=e.getCameraAltitude(),r=this.terrain?this.terrain.getElevationForLngLatZoom(t,e.zoom):0;if(n<r){let n=this.calculateCameraOptionsFromTo(t,r,e.center,e.elevation);return{pitch:n.pitch,zoom:n.zoom}}return{}}_applyUpdatedTransform(e){let t=[];if(t.push((e=>this._elevateCameraIfInsideTerrain(e))),this.transformCameraUpdate&&t.push((e=>this.transformCameraUpdate(e))),!t.length)return;let n=e.clone();for(let e of t){let t=n.clone(),{center:r,zoom:i,roll:a,pitch:o,bearing:s,elevation:c}=e(t);r&&t.setCenter(r),c!==void 0&&t.setElevation(c),i!==void 0&&t.setZoom(i),a!==void 0&&t.setRoll(a),o!==void 0&&t.setPitch(o),s!==void 0&&t.setBearing(s),n.apply(t)}this.transform.apply(n)}_fireMoveEvents(e){this.fire(new t.l(`move`,e)),this._zooming&&this.fire(new t.l(`zoom`,e)),this._rotating&&this.fire(new t.l(`rotate`,e)),this._pitching&&this.fire(new t.l(`pitch`,e)),this._rolling&&this.fire(new t.l(`roll`,e))}_afterEase(e,n){if(this._easeId&&n&&this._easeId===n)return;delete this._easeId;let r=this._zooming,i=this._rotating,a=this._pitching,o=this._rolling;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._rolling=!1,this._padding=!1,r&&this.fire(new t.l(`zoomend`,e)),i&&this.fire(new t.l(`rotateend`,e)),a&&this.fire(new t.l(`pitchend`,e)),o&&this.fire(new t.l(`rollend`,e)),this.fire(new t.l(`moveend`,e))}flyTo(e,n){if(!e.essential&&o.prefersReducedMotion){let r=t.O(e,[`center`,`zoom`,`bearing`,`pitch`,`roll`,`elevation`]);return this.jumpTo(r,n)}
697this.stop(),e=t.e({offset:[0,0],speed:1.2,curve:1.42,easing:t.cf},e);let r=this._getTransformForUpdate(),i=r.bearing,a=r.pitch,s=r.roll,c=r.padding,l=`bearing`in e?this._normalizeBearing(e.bearing,i):i,u=`pitch`in e?+e.pitch:a,d=`roll`in e?this._normalizeBearing(e.roll,s):s,f=`padding`in e?e.padding:r.padding,p=t.P.convert(e.offset),m=r.centerPoint.add(p),h=r.screenPointToLocation(m),g=this.cameraHelper.handleFlyTo(r,{bearing:l,pitch:u,roll:d,padding:f,locationAtOffset:h,offsetAsPoint:p,center:e.center,minZoom:e.minZoom,zoom:e.zoom}),_=e.curve,v=Math.max(r.width,r.height),y=v/g.scaleOfZoom,b=g.pixelPathLength;typeof g.scaleOfMinZoom==`number`&&(_=Math.sqrt(v/g.scaleOfMinZoom/b*2));let x=_*_;function S(e){let t=(y*y-v*v+(e?-1:1)*x*x*b*b)/(2*(e?y:v)*x*b);return Math.log(Math.sqrt(t*t+1)-t)}function C(e){return(Math.exp(e)-Math.exp(-e))/2}function w(e){return(Math.exp(e)+Math.exp(-e))/2}let T=S(!1),E=function(e){return w(T)/w(T+_*e)},D=function(e){return v*((w(T)*(C(t=T+_*e)/w(t))-C(T))/x)/b;var t},O=(S(!0)-T)/_;if(Math.abs(b)<2e-6||!isFinite(O)){if(Math.abs(v-y)<1e-6)return this.easeTo(e,n);let t=y<v?-1:1;O=Math.abs(Math.log(y/v))/_,D=()=>0,E=e=>Math.exp(t*_*e)}return e.duration=`duration`in e?+e.duration:1e3*O/(`screenSpeed`in e?+e.screenSpeed/_:+e.speed),e.maxDuration&&e.duration>e.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=i!==l,this._pitching=u!==a,this._rolling=d!==s,this._padding=!r.isPaddingEqual(f),this._prepareEase(n,!1),this.terrain&&this._prepareElevation(g.targetCenter),this._ease((o=>{let h=o*O,_=1/E(h),v=D(h);this._rotating&&r.setBearing(t.B.number(i,l,o)),this._pitching&&r.setPitch(t.B.number(a,u,o)),this._rolling&&r.setRoll(t.B.number(s,d,o)),this._padding&&(r.interpolatePadding(c,f,o),m=r.centerPoint.add(p)),g.easeFunc(o,_,v,m),this.terrain&&!e.freezeElevation&&this._updateElevation(o),this._applyUpdatedTransform(r),this._fireMoveEvents(n)}),(()=>{this.terrain&&e.freezeElevation&&this._finalizeElevation(),this._afterEase(n)}),e),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(e,t){var n;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let e=this._onEaseEnd;delete this._onEaseEnd,e.call(this,t)}return e||(n=this.handlers)==null||n.stop(!1),this}_ease(e,t,n){!1===n.animate||n.duration===0?(e(1),t()):(this._easeStart=o.now(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=t,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(e,n){e=t.aL(e,-180,180);let r=Math.abs(e-n);return Math.abs(e-360-n)<r&&(e-=360),Math.abs(e+360-n)<r&&(e+=360),e}queryTerrainElevation(e){return this.terrain?this.terrain.getElevationForLngLatZoom(t.Q.convert(e),this.transform.tileZoom):null}}let Sa={compact:!0,customAttribution:`<a href="https://maplibre.org/" target="_blank">MapLibre</a>`};class Ca{constructor(e=Sa){this._toggleAttribution=()=>{this._container.classList.contains(`maplibregl-compact`)&&(this._container.classList.contains(`maplibregl-compact-show`)?(this._container.setAttribute(`open`,``),this._container.classList.remove(`maplibregl-compact-show`)):(this._container.classList.add(`maplibregl-compact-show`),this._container.removeAttribute(`open`)))},this._updateData=e=>{!e||e.sourceDataType!==`metadata`&&e.sourceDataType!==`visibility`&&e.dataType!==`style`&&e.type!==`terrain`||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1===this._compact?this._container.setAttribute(`open`,``):this._container.classList.contains(`maplibregl-compact`)||this._container.classList.contains(`maplibregl-attrib-empty`)||(this._container.setAttribute(`open`,``),this._container.classList.add(`maplibregl-compact`,`maplibregl-compact-show`)):(this._container.setAttribute(`open`,``),this._container.classList.contains(`maplibregl-compact`)&&this._container.classList.remove(`maplibregl-compact`,`maplibregl-compact-show`))},this._updateCompactMinimize=()=>{this._container.classList.contains(`maplibregl-compact`)&&this._container.classList.contains(`maplibregl-compact-show`)&&this._container.classList.remove(`maplibregl-compact-show`)},this.options=e}getDefaultPosition(){return`bottom-right`}onAdd(e){return this._map=e,this._compact=this.options.compact,this._container=s.create(`details`,`maplibregl-ctrl maplibregl-ctrl-attrib`),this._compactButton=s.create(`summary`,`maplibregl-ctrl-attrib-button`,this._container),this._compactButton.addEventListener(`click`,this._toggleAttribution),this._setElementTitle(this._compactButton,`ToggleAttribution`),this._innerContainer=s.create(`div`,`maplibregl-ctrl-attrib-inner`,this._container),this._updateAttributions(),this._updateCompact(),this._map.on(`styledata`,this._updateData),this._map.on(`sourcedata`,this._updateData),this._map.on(`terrain`,this._updateData),this._map.on(`resize`,this._updateCompact),this._map.on(`drag`,this._updateCompactMinimize),this._container}onRemove(){s.remove(this._container),this._map.off(`styledata`,this._updateData),this._map.off(`sourcedata`,this._updateData),this._map.off(`terrain`,this._updateData),this._map.off(`resize`,this._updateCompact),this._map.off(`drag`,this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(e,t){let n=this._map._getUIString(`AttributionControl.${t}`);e.title=n,e.setAttribute(`aria-label`,n)}_updateAttributions(){if(!this._map.style)return;let e=[];
697if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?e=e.concat(this.options.customAttribution.map((e=>typeof e==`string`?e:``))):typeof this.options.customAttribution==`string`&&e.push(this.options.customAttribution)),this._map.style.stylesheet){let e=this._map.style.stylesheet;this.styleOwner=e.owner,this.styleId=e.id}let t=this._map.style.sourceCaches;for(let n in t){let r=t[n];if(r.used||r.usedForTerrain){let t=r.getSource();t.attribution&&e.indexOf(t.attribution)<0&&e.push(t.attribution)}}e=e.filter((e=>String(e).trim())),e.sort(((e,t)=>e.length-t.length)),e=e.filter(((t,n)=>{for(let r=n+1;r<e.length;r++)if(e[r].indexOf(t)>=0)return!1;return!0}));let n=e.join(` | `);n!==this._attribHTML&&(this._attribHTML=n,e.length?(this._innerContainer.innerHTML=s.sanitize(n),this._container.classList.remove(`maplibregl-attrib-empty`)):this._container.classList.add(`maplibregl-attrib-empty`),this._updateCompact(),this._editLink=null)}}class wa{constructor(e={}){this._updateCompact=()=>{let e=this._container.children;if(e.length){let t=e[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1!==this._compact&&t.classList.add(`maplibregl-compact`):t.classList.remove(`maplibregl-compact`)}},this.options=e}getDefaultPosition(){return`bottom-left`}onAdd(e){this._map=e,this._compact=this.options&&this.options.compact,this._container=s.create(`div`,`maplibregl-ctrl`);let t=s.create(`a`,`maplibregl-ctrl-logo`);return t.target=`_blank`,t.rel=`noopener nofollow`,t.href=`https://maplibre.org/`,t.setAttribute(`aria-label`,this._map._getUIString(`LogoControl.Title`)),t.setAttribute(`rel`,`noopener nofollow`),this._container.appendChild(t),this._container.style.display=`block`,this._map.on(`resize`,this._updateCompact),this._updateCompact(),this._container}onRemove(){s.remove(this._container),this._map.off(`resize`,this._updateCompact),this._map=void 0,this._compact=void 0}}class Ta{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(e){let t=++this._id;return this._queue.push({callback:e,id:t,cancelled:!1}),t}remove(e){let t=this._currentlyRunning,n=t?this._queue.concat(t):this._queue;for(let t of n)if(t.id===e)return void(t.cancelled=!0)}run(e=0){if(this._currentlyRunning)throw Error(`Attempting to run(), but is already running.`);let t=this._currentlyRunning=this._queue;this._queue=[];for(let n of t)if(!n.cancelled&&(n.callback(e),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var Ea=t.aG([{name:`a_pos3d`,type:`Int16`,components:3}]);class Da extends t.E{constructor(e){super(),this._lastTilesetChange=o.now(),this.sourceCache=e,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.deltaZoom=1,this.tileSize=e._source.tileSize*2**this.deltaZoom,e.usedForTerrain=!0,e.tileSize=this.tileSize}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(e,n){this.sourceCache.update(e,n),this._renderableTilesKeys=[];let r={};for(let i of Fe(e,{tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:n,calculateTileZoom:this.sourceCache._source.calculateTileZoom}))r[i.key]=!0,this._renderableTilesKeys.push(i.key),this._tiles[i.key]||(i.terrainRttPosMatrix32f=new Float64Array(16),t.bQ(i.terrainRttPosMatrix32f,0,t.Z,t.Z,0,0,1),this._tiles[i.key]=new Se(i,this.tileSize),this._lastTilesetChange=o.now());for(let e in this._tiles)r[e]||delete this._tiles[e]}freeRtt(e){for(let t in this._tiles){let n=this._tiles[t];(!e||n.tileID.equals(e)||n.tileID.isChildOf(e)||e.isChildOf(n.tileID))&&(n.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map((e=>this.getTileByID(e)))}getTileByID(e){return this._tiles[e]}getTerrainCoords(e,t){return t?this._getTerrainCoordsForTileRanges(e,t):this._getTerrainCoordsForRegularTile(e)}_getTerrainCoordsForRegularTile(e){let n={};for(let r of this._renderableTilesKeys){let i=this._tiles[r].tileID,a=e.clone(),o=t.b2();if(i.canonical.equals(e.canonical))t.bQ(o,0,t.Z,t.Z,0,0,1);else if(i.canonical.isChildOf(e.canonical)){let n=i.canonical.z-e.canonical.z,r=i.canonical.x-(i.canonical.x>>n<<n),a=i.canonical.y-(i.canonical.y>>n<<n),s=t.Z>>n;t.bQ(o,0,s,s,0,0,1),t.L(o,o,[-r*s,-a*s,0])}else{if(!e.canonical.isChildOf(i.canonical))continue;{let n=e.canonical.z-i.canonical.z,r=e.canonical.x-(e.canonical.x>>n<<n),a=e.canonical.y-(e.canonical.y>>n<<n),s=t.Z>>n;t.bQ(o,0,t.Z,t.Z,0,0,1),t.L(o,o,[r*s,a*s,0]),t.M(o,o,[1/2**n,1/2**n,0])}}a.terrainRttPosMatrix32f=new Float32Array(o),n[r]=a}return n}_getTerrainCoordsForTileRanges(e,n){let r={};for(let i of this._renderableTilesKeys){let a=this._tiles[i].tileID;if(!this._isWithinTileRanges(a,n))continue;let o=e.clone(),s=t.b2();if(a.canonical.z===e.canonical.z){let n=e.canonical.x-a.canonical.x,r=e.canonical.y-a.canonical.y;t.bQ(s,0,t.Z,t.Z,0,0,1),t.L(s,s,[n*t.Z,r*t.Z,0])}else if(a.canonical.z>e.canonical.z){let n=a.canonical.z-e.canonical.z,r=a.canonical.x-(a.canonical.x>>n<<n),i=a.canonical.y-(a.canonical.y>>n<<n),o=e.canonical.x-(a.canonical.x>>n),c=e.canonical.y-(a.canonical.y>>n),l=t.Z>>n;t.bQ(s,0,l,l,0,0,1),t.L(s,s,[-r*l+o*t.Z,-i*l+c*t.Z,0])}else{let n=e.canonical.z-a.canonical.z,r=e.canonical.x-(e.canonical.x>>n<<n),i=e.canonical.y-(e.canonical.y>>n<<n),o=(e.canonical.x>>n)-a.canonical.x,c=(e.canonical.y>>n)-a.canonical.y,l=t.Z<<n;t.bQ(s,0,l,l,0,0,1),t.L(s,s,[r*t.Z+o*l,i*t.Z+c*l,0])}o.terrainRttPosMatrix32f=new Float32Array(s),r[i]=o}return r}getSourceTile(e,t){let n=this.sourceCache._source,r=e.overscaledZ-this.deltaZoom;if(r>n.maxzoom&&(r=n.maxzoom),r<n.minzoom)return null;this._sourceTileCache[e.key]||(this._sourceTileCache[e.key]=e.scaledTo(r).key);let i=this.sourceCache.getTileByID(this._sourceTileCache[e.key]);if((!i||!i.dem)&&t)for(;r>=n.minzoom&&(!i||!i.dem);)i=this.sourceCache.getTileByID(e.scaledTo(r--).key);return i}anyTilesAfterTime(e=Date.now()){return this._lastTilesetChange>=e}_isWithinTileRanges(e,t){return t[e.canonical.z]&&e.canonical.x>=t[e.canonical.z].minTileX&&e.canonical.x<=t[e.canonical.z].maxTileX&&e.canonical.y>=t[e.canonical.z].minTileY&&e.canonical.y<=t[e.canonical.z].maxTileY}}class Oa{constructor(e,t,n){this._meshCache={},this.painter=e,this.sourceCache=new Da(t),this.options=n,this.exaggeration=typeof n.exaggeration==`number`?n.exaggeration:1,this.qual
697ityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(e,n,r,i=t.Z){if(!(n>=0&&n<i&&r>=0&&r<i))return 0;let a=this.getTerrainData(e),o=a.tile?.dem;if(!o)return 0;let s=t.cj([],[n/i*t.Z,r/i*t.Z],a.u_terrain_matrix),c=[s[0]*o.dim,s[1]*o.dim],l=Math.floor(c[0]),u=Math.floor(c[1]),d=c[0]-l,f=c[1]-u;return o.get(l,u)*(1-d)*(1-f)+o.get(l+1,u)*d*(1-f)+o.get(l,u+1)*(1-d)*f+o.get(l+1,u+1)*d*f}getElevationForLngLatZoom(e,n){if(!t.ck(n,e.wrap()))return 0;let{tileID:r,mercatorX:i,mercatorY:a}=this._getOverscaledTileIDFromLngLatZoom(e,n);return this.getElevation(r,i%t.Z,a%t.Z,t.Z)}getElevation(e,n,r,i=t.Z){return this.getDEMElevation(e,n,r,i)*this.exaggeration}getTerrainData(e){if(!this._emptyDemTexture){let e=this.painter.context,n=new t.R({width:1,height:1},new Uint8Array(4));this._emptyDepthTexture=new v(e,n,e.gl.RGBA,{premultiply:!1}),this._emptyDemUnpack=[0,0,0,0],this._emptyDemTexture=new v(e,new t.R({width:1,height:1}),e.gl.RGBA,{premultiply:!1}),this._emptyDemTexture.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),this._emptyDemMatrix=t.ad([])}let n=this.sourceCache.getSourceTile(e,!0);if(n&&n.dem&&(!n.demTexture||n.needsTerrainPrepare)){let e=this.painter.context;n.demTexture=this.painter.getTileTexture(n.dem.stride),n.demTexture?n.demTexture.update(n.dem.getPixels(),{premultiply:!1}):n.demTexture=new v(e,n.dem.getPixels(),e.gl.RGBA,{premultiply:!1}),n.demTexture.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),n.needsTerrainPrepare=!1}let r=n&&n+n.tileID.key+e.key;if(r&&!this._demMatrixCache[r]){let r=this.sourceCache.sourceCache._source.maxzoom,i=e.canonical.z-n.tileID.canonical.z;e.overscaledZ>e.canonical.z&&(e.canonical.z>=r?i=e.canonical.z-r:t.w(`cannot calculate elevation if elevation maxzoom > source.maxzoom`));let a=e.canonical.x-(e.canonical.x>>i<<i),o=e.canonical.y-(e.canonical.y>>i<<i),s=t.cl(new Float64Array(16),[1/(t.Z<<i),1/(t.Z<<i),0]);t.L(s,s,[a*t.Z,o*t.Z,0]),this._demMatrixCache[e.key]={matrix:s,coord:e}}return{u_depth:2,u_terrain:3,u_terrain_dim:n&&n.dem&&n.dem.dim||1,u_terrain_matrix:r?this._demMatrixCache[e.key].matrix:this._emptyDemMatrix,u_terrain_unpack:n&&n.dem&&n.dem.getUnpackVector()||this._emptyDemUnpack,u_terrain_exaggeration:this.exaggeration,texture:(n&&n.demTexture||this._emptyDemTexture).texture,depthTexture:(this._fboDepthTexture||this._emptyDepthTexture).texture,tile:n}}getFramebuffer(e){let t=this.painter,n=t.width/devicePixelRatio,r=t.height/devicePixelRatio;return!this._fbo||this._fbo.width===n&&this._fbo.height===r||(this._fbo.destroy(),this._fboCoordsTexture.destroy(),this._fboDepthTexture.destroy(),delete this._fbo,delete this._fboDepthTexture,delete this._fboCoordsTexture),this._fboCoordsTexture||(this._fboCoordsTexture=new v(t.context,{width:n,height:r,data:null},t.context.gl.RGBA,{premultiply:!1}),this._fboCoordsTexture.bind(t.context.gl.NEAREST,t.context.gl.CLAMP_TO_EDGE)),this._fboDepthTexture||(this._fboDepthTexture=new v(t.context,{width:n,height:r,data:null},t.context.gl.RGBA,{premultiply:!1}),this._fboDepthTexture.bind(t.context.gl.NEAREST,t.context.gl.CLAMP_TO_EDGE)),this._fbo||(this._fbo=t.context.createFramebuffer(n,r,!0,!1),this._fbo.depthAttachment.set(t.context.createRenderbuffer(t.context.gl.DEPTH_COMPONENT16,n,r))),this._fbo.colorAttachment.set(e===`coords`?this._fboCoordsTexture.texture:this._fboDepthTexture.texture),this._fbo}getCoordsTexture(){let e=this.painter.context;if(this._coordsTexture)return this._coordsTexture;let n=new Uint8Array(this._coordsTextureSize*this._coordsTextureSize*4);for(let e=0,t=0;e<this._coordsTextureSize;e++)for(let r=0;r<this._coordsTextureSize;r++,t+=4)n[t+0]=255&r,n[t+1]=255&e,n[t+2]=r>>8<<4|e>>8,n[t+3]=0;let r=new v(e,new t.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(n.buffer)),e.gl.RGBA,{premultiply:!1});return r.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),this._coordsTexture=r,r}pointCoordinate(e){this.painter.maybeDrawDepthAndCoords(!0);let n=new Uint8Array(4),r=this.painter.context,i=r.gl,a=Math.round(e.x*this.painter.pixelRatio/devicePixelRatio),o=Math.round(e.y*this.painter.pixelRatio/devicePixelRatio),s=Math.round(this.painter.height/devicePixelRatio);r.bindFramebuffer.set(this.getFramebuffer(`coords`).framebuffer),i.readPixels(a,s-o-1,1,1,i.RGBA,i.UNSIGNED_BYTE,n),r.bindFramebuffer.set(null);let c=n[0]+(n[2]>>4<<8),l=n[1]+((15&n[2])<<8),u=this.coordsIndex[255-n[3]],d=u&&this.sourceCache.getTileByID(u);if(!d)return null;let f=this._coordsTextureSize,p=(1<<d.tileID.canonical.z)*f;return new t.$((d.tileID.canonical.x*f+c)/p+d.tileID.wrap,(d.tileID.canonical.y*f+l)/p,this.getElevation(d.tileID,c,l,f))}depthAtPoint(e){let t=new Uint8Array(4),n=this.painter.context,r=n.gl;return n.bindFramebuffer.set(this.getFramebuffer(`depth`).framebuffer),r.readPixels(e.x,this.painter.height/devicePixelRatio-e.y-1,1,1,r.RGBA,r.UNSIGNED_BYTE,t),n.bindFramebuffer.set(null),(t[0]/16777216+t[1]/65536+t[2]/256+t[3])/256}getTerrainMesh(e){let n=this.painter.style.projection?.transitionState>0,r=n&&e.canonical.y===0,i=n&&e.canonical.y===(1<<e.canonical.z)-1,a=`m_${r?`n`:``}_${i?`s`:``}`;if(this._meshCache[a])return this._meshCache[a];let o=this.painter.context,s=new t.cm,c=new t.aK,l=this.meshSize,u=t.Z/l,d=l*l;for(let e=0;e<=l;e++)for(let t=0;t<=l;t++)s.emplaceBack(t*u,e*u,0);for(let e=0;e<d;e+=l+1)for(let t=0;t<l;t++)c.emplaceBack(t+e,l+t+e+1,l+t+e+2),c.emplaceBack(t+e,l+t+e+2,t+e+1);let f=s.length,p=f+(l+1),m=(l+1)*l,h=r?t.b9:0,g=+!r,_=i?t.ba:t.Z,v=+!i;for(let e=0;e<=l;e++)s.emplaceBack(e*u,h,g);for(let e=0;e<=l;e++)s.emplaceBack(e*u,_,v);for(let e=0;e<l;e++)c.emplaceBack(m+e,p+e,p+e+1),c.emplaceBack(m+e,p+e+1,m+e+1),c.emplaceBack(0+e,f+e+1,f+e),c.emplaceBack(0+e,0+e+1,f+e+1);let y=s.length,b=y+2*(l+1);for(let e of[0,1])for(let n=0;n<=l;n++)for(let r of[0,1])s.emplaceBack(e*t.Z,n*u,r);for(let e=0;e<2*l;e+=2)c.emplaceBack(y+e,y+e+1,y+e+3),c.emplaceBack(y+e,y+e+3,y+e+2),c.emplaceBack(b+e,b+e+3,b+e+1),c.emplaceBack(b+e,b+e+2,b+e+3);let x=new Ot(o.createVertexBuffer(s,Ea.members),o.createIndexBuffer(c),t.aJ.simpleSegment(0,0,s.length,c.length));return this._meshCache[a]=x,x}getMeshFrameDelta(e){return 2*Math.PI*t.bu/2**Math.max(e,0)/5}getMinTileElevationForLngLatZoom(e,t){let{tileID:n}=this._getOverscaledTileIDFromLngLatZoom(e,t);return this.getMinMaxElevation(n).minElevation??0}getMinMaxElevation(e){let t=this.getTerrainData(e).tile,n={minElevation:null,maxElevation:null};return t&&t.dem&&(n.minElevation=t.dem.min*this.exaggeration,n.maxElevation=t.dem.max*this.exaggeration),n}_getOverscaledTileIDFromLngLatZoom(e,n){let r=t.$.fromLngLat(e.wrap()),i=(1<<n)*t.Z,a=r.x*i,o=r.y*i,s=Math.floor(a/t.Z),c=Math.floor(o/t.Z);return{tileID:new t.Y(n,0,n,s,c),mercatorX:a,mercatorY:o}}}class ka{constructor(e,t,n){this._context=e,this._size=t,this._tileSize=n,this._objects=[],this._recentlyUsed=[],this._stamp=0}destruct(){for(let e of this._objects)e.texture.destroy(),e.fbo.destroy()}_createObject(e){let t=this._context.createFramebuffer(this._tileSize,this._tileSize,!0,!0),n=new v(this._context,{width:this._tileSize,height:this._tileSize,data:null},this._context.gl.RGBA);return n.bind(this._context.gl.LINEAR,this._context.gl.CLAMP_TO_EDGE),this._context.extTextureFilterAnisotropic&&this._context.gl.texParameterf(this._context.gl.TEXTURE_2D,this._context.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,this._context.extTextureFilterAnisotropicMax),t.depthAttachment.set(this._context.createRenderbuffer(this._context.gl.DEPTH_STENCIL,this._tileSize,this._tileSize)),t.colorAttachment.set(n.texture),{id:e,fbo:t,texture:n,stamp:-1,inUse:!1}}getObjectForId(e){return this._objects[e]}useObject(e){e.inUse=!0,this._recentlyUsed=this._recentlyUsed.filter((t=>e.id!==t)),this._recentlyUsed.push(e.id)}stampObject(e){e.stamp=++this._stamp}getOrCreateFreeObject(){for(let e of this._recentlyUsed)if(!this._objects[e].inUse)return this._objects[e];if(this._objects.length>=this._size)throw Error(`No free RenderPool available, call freeAllObjects() required!`);let e=this._createObject(this._objects.length);return this._objects.push(e),e}freeObject(e){e.inUse=!1}freeAllObjects(){for(let e of this._objects)this.freeObject(e)}isFull(){return!(this._objects.length<this._size)&&!1===this._objects.some((e=>!e.inUse))}}let Aa={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};
697class ja{constructor(e,t){this.painter=e,this.terrain=t,this.pool=new ka(e.context,30,t.sourceCache.tileSize*t.qualityFactor)}destruct(){this.pool.destruct()}getTexture(e){return this.pool.getObjectForId(e.rtt[this._stacks.length-1].id).texture}prepareForRender(e,t){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=e._order.filter((n=>!e._layers[n].isHidden(t))),this._coordsAscending={};for(let t in e.sourceCaches){this._coordsAscending[t]={};let n=e.sourceCaches[t].getVisibleCoordinates(),r=e.sourceCaches[t].getSource(),i=r instanceof pe?r.terrainTileRanges:null;for(let e of n){let n=this.terrain.sourceCache.getTerrainCoords(e,i);for(let e in n)this._coordsAscending[t][e]||(this._coordsAscending[t][e]=[]),this._coordsAscending[t][e].push(n[e])}}this._coordsAscendingStr={};for(let t of e._order){let n=e._layers[t],r=n.source;if(Aa[n.type]&&!this._coordsAscendingStr[r]){this._coordsAscendingStr[r]={};for(let e in this._coordsAscending[r])this._coordsAscendingStr[r][e]=this._coordsAscending[r][e].map((e=>e.key)).sort().join()}}for(let e of this._renderableTiles)for(let t in this._coordsAscendingStr){let n=this._coordsAscendingStr[t][e.tileID.key];n&&n!==e.rttCoords[t]&&(e.rtt=[])}}renderLayer(e,n){if(e.isHidden(this.painter.transform.zoom))return!1;let r=Object.assign(Object.assign({},n),{isRenderingToTexture:!0}),i=e.type,a=this.painter,o=this._renderableLayerIds[this._renderableLayerIds.length-1]===e.id;if(Aa[i]&&(this._prevType&&Aa[this._prevType]||this._stacks.push([]),this._prevType=i,this._stacks[this._stacks.length-1].push(e.id),!o))return!0;if(Aa[this._prevType]||Aa[i]&&o){this._prevType=i;let e=this._stacks.length-1,n=this._stacks[e]||[];for(let i of this._renderableTiles){if(this.pool.isFull()&&(xi(this.painter,this.terrain,this._rttTiles,r),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(i),i.rtt[e]){let t=this.pool.getObjectForId(i.rtt[e].id);if(t.stamp===i.rtt[e].stamp){this.pool.useObject(t);continue}}let o=this.pool.getOrCreateFreeObject();this.pool.useObject(o),this.pool.stampObject(o),i.rtt[e]={id:o.id,stamp:o.stamp},a.context.bindFramebuffer.set(o.fbo.framebuffer),a.context.clear({color:t.b7.transparent,stencil:0}),a.currentStencilSource=void 0;for(let e=0;e<n.length;e++){let t=a.style._layers[n[e]],s=t.source?this._coordsAscending[t.source][i.tileID.key]:[i.tileID];a.context.viewport.set([0,0,o.fbo.width,o.fbo.height]),a._renderTileClippingMasks(t,s,!0),a.renderLayer(a,a.style.sourceCaches[t.source],t,s,r),t.source&&(i.rttCoords[t.source]=this._coordsAscendingStr[t.source][i.tileID.key])}}return xi(this.painter,this.terrain,this._rttTiles,r),this._rttTiles=[],this.pool.freeAllObjects(),Aa[i]}return!1}}let Ma={"AttributionControl.ToggleAttribution":`Toggle attribution`,"AttributionControl.MapFeedback":`Map feedback`,"FullscreenControl.Enter":`Enter fullscreen`,"FullscreenControl.Exit":`Exit fullscreen`,"GeolocateControl.FindMyLocation":`Find my location`,"GeolocateControl.LocationNotAvailable":`Location not available`,"LogoControl.Title":`MapLibre logo`,"Map.Title":`Map`,"Marker.Title":`Map marker`,"NavigationControl.ResetBearing":`Reset bearing to north`,"NavigationControl.ZoomIn":`Zoom in`,"NavigationControl.ZoomOut":`Zoom out`,"Popup.Close":`Close popup`,"ScaleControl.Feet":`ft`,"ScaleControl.Meters":`m`,"ScaleControl.Kilometers":`km`,"ScaleControl.Miles":`mi`,"ScaleControl.NauticalMiles":`nm`,"GlobeControl.Enable":`Enable globe`,"GlobeControl.Disable":`Disable globe`,"TerrainControl.Enable":`Enable terrain`,"TerrainControl.Disable":`Disable terrain`,"CooperativeGesturesHandler.WindowsHelpText":`Use Ctrl + scroll to zoom the map`,"CooperativeGesturesHandler.MacHelpText":`Use â + scroll to zoom the map`,"CooperativeGesturesHandler.MobileHelpText":`Use two fingers to move the map`},Q=n,$={hash:!1,interactive:!0,bearingSnap:7,attributionControl:Sa,maplibreLogo:!1,refreshExpiredTiles:!0,canvasContextAttributes:{antialias:!1,preserveDrawingBuffer:!1,powerPreference:`high-performance`,failIfMajorPerformanceCaveat:!1,desynchronized:!1,contextType:void 0},scrollZoom:!0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:60,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,cooperativeGestures:!1,trackResize:!0,center:[0,0],elevation:0,zoom:0,bearing:0,pitch:0,roll:0,renderWorldCopies:!0,maxTileC
697acheSize:null,maxTileCacheZoomLevels:t.a.MAX_TILE_CACHE_ZOOM_LEVELS,transformRequest:null,transformCameraUpdate:null,fadeDuration:300,crossSourceCollisions:!0,clickTolerance:3,localIdeographFontFamily:`sans-serif`,pitchWithRotate:!0,rollEnabled:!1,validateStyle:!0,maxCanvasSize:[4096,4096],cancelPendingTileRequestsWhileZooming:!0,centerClampedToGround:!0},Na={showCompass:!0,showZoom:!0,visualizePitch:!1,visualizeRoll:!0};class Pa{constructor(e,n,r=!1){this.mousedown=e=>{this.startMove(e,s.mousePos(this.element,e)),s.addEventListener(window,`mousemove`,this.mousemove),s.addEventListener(window,`mouseup`,this.mouseup)},this.mousemove=e=>{this.move(e,s.mousePos(this.element,e))},this.mouseup=e=>{this._rotatePitchHanlder.dragEnd(e),this.offTemp()},this.touchstart=e=>{e.targetTouches.length===1?(this._startPos=this._lastPos=s.touchPos(this.element,e.targetTouches)[0],this.startMove(e,this._startPos),s.addEventListener(window,`touchmove`,this.touchmove,{passive:!1}),s.addEventListener(window,`touchend`,this.touchend)):this.reset()},this.touchmove=e=>{e.targetTouches.length===1?(this._lastPos=s.touchPos(this.element,e.targetTouches)[0],this.move(e,this._lastPos)):this.reset()},this.touchend=e=>{e.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click(),delete this._startPos,delete this._lastPos,this.offTemp()},this.reset=()=>{this._rotatePitchHanlder.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10,this.element=n;let i=new Xi;this._rotatePitchHanlder=new Ki({clickTolerance:3,move:(e,i)=>{let a=n.getBoundingClientRect(),o=new t.P((a.bottom-a.top)/2,(a.right-a.left)/2);return{bearingDelta:t.ce(new t.P(e.x,i.y),i,o),pitchDelta:r?-.5*(i.y-e.y):void 0}},moveStateManager:i,enable:!0,assignEvents:()=>{}}),this.map=e,s.addEventListener(n,`mousedown`,this.mousedown),s.addEventListener(n,`touchstart`,this.touchstart,{passive:!1}),s.addEventListener(n,`touchcancel`,this.reset)}startMove(e,t){this._rotatePitchHanlder.dragStart(e,t),s.disableDrag()}move(e,t){let n=this.map,{bearingDelta:r,pitchDelta:i}=this._rotatePitchHanlder.dragMove(e,t)||{};r&&n.setBearing(n.getBearing()+r),i&&n.setPitch(n.getPitch()+i)}off(){let e=this.element;s.removeEventListener(e,`mousedown`,this.mousedown),s.removeEventListener(e,`touchstart`,this.touchstart,{passive:!1}),s.removeEventListener(window,`touchmove`,this.touchmove,{passive:!1}),s.removeEventListener(window,`touchend`,this.touchend),s.removeEventListener(e,`touchcancel`,this.reset),this.offTemp()}offTemp(){s.enableDrag(),s.removeEventListener(window,`mousemove`,this.mousemove),s.removeEventListener(window,`mouseup`,this.mouseup),s.removeEventListener(window,`touchmove`,this.touchmove,{passive:!1}),s.removeEventListener(window,`touchend`,this.touchend)}}let Fa;function Ia(e,n,r,i=!1){if(i||!r.getCoveringTilesDetailsProvider().allowWorldCopies())return e?.wrap();let a=new t.Q(e.lng,e.lat);if(e=new t.Q(e.lng,e.lat),n){let i=new t.Q(e.lng-360,e.lat),a=new t.Q(e.lng+360,e.lat),o=r.locationToScreenPoint(e).distSqr(n);r.locationToScreenPoint(i).distSqr(n)<o?e=i:r.locationToScreenPoint(a).distSqr(n)<o&&(e=a)}for(;Math.abs(e.lng-r.center.lng)>180;){let t=r.locationToScreenPoint(e);if(t.x>=0&&t.y>=0&&t.x<=r.width&&t.y<=r.height)break;e.lng>r.center.lng?e.lng-=360:e.lng+=360}return e.lng!==a.lng&&r.isPointOnMapSurface(r.locationToScreenPoint(e))?e:a}let La={center:`translate(-50%,-50%)`,top:`translate(-50%,0)`,"top-left":`translate(0,0)`,"top-right":`translate(-100%,0)`,bottom:`translate(-50%,-100%)`,"bottom-left":`translate(0,-100%)`,"bottom-right":`translate(-100%,-100%)`,left:`translate(0,-50%)`,right:`translate(-100%,-50%)`};function Ra(e,t,n){let r=e.classList;for(let e in La)r.remove(`maplibregl-${n}-anchor-${e}`);r.add(`maplibregl-${n}-anchor-${t}`)}class za extends t.E{constructor(e){if(super(),this._onKeyPress=e=>{let t=e.code,n=e.charCode||e.keyCode;t!==`Space`&&t!==`Enter`&&n!==32&&n!==13||this.togglePopup()},this._onMapClick=e=>{let t=e.originalEvent.target,n=this._element;this._popup&&(t===n||n.contains(t))&&this.togglePopup()},this._update=e=>{if(!this._map)return;let t=this._map.loaded()&&!this._map.isMoving();(e?.type===`terrain`||e?.type===`render`&&!t)&&this._map.once(`render`,this._update),this._lngLat=Ia(this._lngLat,this._flatPos,this._map.transform),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map.transform.locationToScreenPoint(this._lngLat)._add(this._offset));let n=``;this._rotationAlignment===`viewport`||this._rotationAlignment===`auto`?n=`rotateZ(${this._rotation}deg)`:this._rotationAlignment===`map`&&(n=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let r=``;this._pitchAlignment===`viewport`||this._pitchAlignment===`auto`?r=`rotateX(0deg)`:this._pitchAlignment===`map`&&(r=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||e&&e.type!==`moveend`||(this._pos=this._pos.round()),s.setTransform(this._element,`${La[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${r} ${n}`),o.frameAsync(new AbortController).then((()=>{this._updateOpacity(e&&e.type===`moveend`)})).catch((()=>{}))},this._onMove=e=>{if(!this._isDragging){let t=this._clickTolerance||this._map._clickTolerance;this._isDragging=e.point.dist(this._pointerdownPos)>=t}this._isDragging&&(this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=`none`,this._state===`pending`&&(this._state=`active`,this.fire(new t.l(`dragstart`))),this.fire(new t.l(`drag`)))},this._onUp=()=>{this._element.style.pointerEvents=`auto`,this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off(`mousemove`,this._onMove),this._map.off(`touchmove`,this._onMove),this._state===`active`&&this.fire(new t.l(`dragend`)),this._state=`inactive`},this._addDragHandler=e=>{this._element.contains(e.originalEvent.target)&&(e.preventDefault(),this._positionDelta=e.point.sub(this._pos).add(this._offset),this._pointerdownPos=e.point,this._state=`pending`,this._map.on(`mousemove`,this._onMove),this._map.on(`touchmove`,this._onMove),this._map.once(`mouseup`,this._onUp),this._map.once(`touchend`,this._onUp))},this._anchor=e&&e.anchor||`center`,this._color=e&&e.color||`#3FB1CE`,this._scale=e&&e.scale||1,this._draggable=e&&e.draggable||!1,this._clickTolerance=e&&e.clickTolerance||0,this._subpixelPositioning=e&&e.subpixelPositioning||!1,this._isDragging=!1,this._state=`inactive`,this._rotation=e&&e.rotation||0,this._rotationAlignment=e&&e.rotationAlignment||`auto`,this._pitchAlignment=e&&e.pitchAlignment&&e.pitchAlignment!==`auto`?e.pitchAlignment:this._rotationAlignment,this.setOpacity(e?.opacity,e?.opacityWhenCovered),e&&e.element)this._element=e.element,this._offset=t.P.convert(e&&e.offset||[0,0]);else{this._defaultMarker=!0,this._element=s.create(`div`);let n=s.createNS(`http://www.w3.org/2000/svg`,`svg`);n.setAttributeNS(null,`display`,`block`),n.setAttributeNS(null,`height`,`41px`),n.setAttributeNS(null,`width`,`27px`),n.setAttributeNS(null,`viewBox`,`0 0 27 41`);let r=s.createNS(`http://www.w3.org/2000/svg`,`g`);r.setAttributeNS(null,`stroke`,`none`),r.setAttributeNS(null,`stroke-width`,`1`),r.setAttributeNS(null,`fill`,`none`),r.setAttributeNS(null,`fill-rule`,`evenodd`);let i=s.createNS(`http://www.w3.org/2000/svg`,`g`);i.setAttributeNS(null,`fill-rule`,`nonzero`);let a=s.createNS(`http://www.w3.org/2000/svg`,`g`);a.setAttributeNS(null,`transform`,`translate(3.0, 29.0)`),a.setAttributeNS(null,`fill`,`#000000`);for(let e of[{rx:`10.5`,ry:`5.25002273`},{rx:`10.5`,ry:`5.25002273`},{rx:`9.5`,ry:`4.77275007`},{rx:`8.5`,ry:`4.29549936`},{rx:`7.5`,ry:`3.81822308`},{rx:`6.5`,ry:`3.34094679`},{rx:`5.5`,ry:`2.86367051`},{rx:`4.5`,ry:`2.38636864`}]){let t=s.createNS(`http://www.w3.org/2000/svg`,`ellipse`);t.setAttributeNS(null,`opacity`,`0.04`),t.setAttributeNS(null,`cx`,`10.5`),t.setAttributeNS(null,`cy`,`5.80029008`),t.setAttributeNS(null,`rx`,e.rx),t.setAttributeNS(null,`ry`,e.ry),a.appendChild(t)}let o=s.createNS(`http://www.w3.org/2000/svg`,`g`);o.setAttributeNS(null,`fill`,this._color);
697let c=s.createNS(`http://www.w3.org/2000/svg`,`path`);c.setAttributeNS(null,`d`,`M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z`),o.appendChild(c);let l=s.createNS(`http://www.w3.org/2000/svg`,`g`);l.setAttributeNS(null,`opacity`,`0.25`),l.setAttributeNS(null,`fill`,`#000000`);let u=s.createNS(`http://www.w3.org/2000/svg`,`path`);u.setAttributeNS(null,`d`,`M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z`),l.appendChild(u);let d=s.createNS(`http://www.w3.org/2000/svg`,`g`);d.setAttributeNS(null,`transform`,`translate(6.0, 7.0)`),d.setAttributeNS(null,`fill`,`#FFFFFF`);let f=s.createNS(`http://www.w3.org/2000/svg`,`g`);f.setAttributeNS(null,`transform`,`translate(8.0, 8.0)`);let p=s.createNS(`http://www.w3.org/2000/svg`,`circle`);p.setAttributeNS(null,`fill`,`#000000`),p.setAttributeNS(null,`opacity`,`0.25`),p.setAttributeNS(null,`cx`,`5.5`),p.setAttributeNS(null,`cy`,`5.5`),p.setAttributeNS(null,`r`,`5.4999962`);let m=s.createNS(`http://www.w3.org/2000/svg`,`circle`);m.setAttributeNS(null,`fill`,`#FFFFFF`),m.setAttributeNS(null,`cx`,`5.5`),m.setAttributeNS(null,`cy`,`5.5`),m.setAttributeNS(null,`r`,`5.4999962`),f.appendChild(p),f.appendChild(m),i.appendChild(a),i.appendChild(o),i.appendChild(l),i.appendChild(d),i.appendChild(f),n.appendChild(i),n.setAttributeNS(null,`height`,41*this._scale+`px`),n.setAttributeNS(null,`width`,27*this._scale+`px`),this._element.appendChild(n),this._offset=t.P.convert(e&&e.offset||[0,-14])}if(this._element.classList.add(`maplibregl-marker`),this._element.addEventListener(`dragstart`,(e=>{e.preventDefault()})),this._element.addEventListener(`mousedown`,(e=>{e.preventDefault()})),Ra(this._element,this._anchor,`marker`),e&&e.className)for(let t of e.className.split(` `))this._element.classList.add(t);this._popup=null}addTo(e){return this.remove(),this._map=e,this._element.hasAttribute(`aria-label`)||this._element.setAttribute(`aria-label`,e._getUIString(`Marker.Title`)),e.getCanvasContainer().appendChild(this._element),e.on(`move`,this._update),e.on(`moveend`,this._update),e.on(`terrain`,this._update),e.on(`projectiontransition`,this._update),this.setDraggable(this._draggable),this._update(),this._map.on(`click`,this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off(`click`,this._onMapClick),this._map.off(`move`,this._update),this._map.off(`moveend`,this._update),this._map.off(`terrain`,this._update),this._map.off(`projectiontransition`,this._update),this._map.off(`mousedown`,this._addDragHandler),this._map.off(`touchstart`,this._addDragHandler),this._map.off(`mouseup`,this._onUp),this._map.off(`touchend`,this._onUp),this._map.off(`mousemove`,this._onMove),this._map.off(`touchmove`,this._onMove),delete this._map),s.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.Q.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(e){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(`keypress`,this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(`tabindex`)),e){if(!(`offset`in e.options)){let t=38.1,n=13.5,r=13.5/Math.SQRT2;e.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[
6970,-38.1],"bottom-left":[r,-1*(t-n+r)],"bottom-right":[-r,-1*(t-n+r)],left:[n,-1*(t-n)],right:[-13.5,-1*(t-n)]}:this._offset}this._popup=e,this._originalTabIndex=this._element.getAttribute(`tabindex`),this._originalTabIndex||this._element.setAttribute(`tabindex`,`0`),this._element.addEventListener(`keypress`,this._onKeyPress)}return this}setSubpixelPositioning(e){return this._subpixelPositioning=e,this}getPopup(){return this._popup}togglePopup(){let e=this._popup;return this._element.style.opacity===this._opacityWhenCovered||e&&(e.isOpen()?e.remove():(e.setLngLat(this._lngLat),e.addTo(this._map))),this}_updateOpacity(e=!1){var n;let r=this._map?.terrain,i=this._map.transform.isLocationOccluded(this._lngLat);if(!r||i){let e=i?this._opacityWhenCovered:this._opacity;this._element.style.opacity!==e&&(this._element.style.opacity=e);return}if(e)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout((()=>{this._opacityTimeout=null}),100)}let a=this._map,o=a.terrain.depthAtPoint(this._pos),s=a.terrain.getElevationForLngLatZoom(this._lngLat,a.transform.tileZoom);if(a.transform.lngLatToCameraDepth(this._lngLat,s)-o<.006)return void(this._element.style.opacity=this._opacity);let c=-this._offset.y/a.transform.pixelsPerMeter,l=Math.sin(a.getPitch()*Math.PI/180)*c,u=a.terrain.depthAtPoint(new t.P(this._pos.x,this._pos.y-this._offset.y)),d=a.transform.lngLatToCameraDepth(this._lngLat,s+l)-u>.006;(n=this._popup)!=null&&n.isOpen()&&d&&this._popup.remove(),this._element.style.opacity=d?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(e){return this._offset=t.P.convert(e),this._update(),this}addClassName(e){this._element.classList.add(e)}removeClassName(e){this._element.classList.remove(e)}toggleClassName(e){return this._element.classList.toggle(e)}setDraggable(e){return this._draggable=!!e,this._map&&(e?(this._map.on(`mousedown`,this._addDragHandler),this._map.on(`touchstart`,this._addDragHandler)):(this._map.off(`mousedown`,this._addDragHandler),this._map.off(`touchstart`,this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(e){return this._rotation=e||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(e){return this._rotationAlignment=e||`auto`,this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(e){return this._pitchAlignment=e&&e!==`auto`?e:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(e,t){return(this._opacity===void 0||e===void 0&&t===void 0)&&(this._opacity=`1`,this._opacityWhenCovered=`0.2`),e!==void 0&&(this._opacity=e),t!==void 0&&(this._opacityWhenCovered=t),this._map&&this._updateOpacity(!0),this}}let Ba={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},Va=0,Ha=!1,Ua={maxWidth:100,unit:`metric`};function Wa(e,t,n){let r=n&&n.maxWidth||100,i=e._container.clientHeight/2,a=e._container.clientWidth/2,o=e.unproject([a-r/2,i]),s=e.unproject([a+r/2,i]),c=Math.round(e.project(s).x-e.project(o).x),l=Math.min(r,c,e._container.clientWidth),u=o.distanceTo(s);if(n&&n.unit===`imperial`){let n=3.2808*u;n>5280?Ga(t,l,n/5280,e._getUIString(`ScaleControl.Miles`)):Ga(t,l,n,e._getUIString(`ScaleControl.Feet`))}else n&&n.unit===`nautical`?Ga(t,l,u/1852,e._getUIString(`ScaleControl.NauticalMiles`)):u>=1e3?Ga(t,l,u/1e3,e._getUIString(`ScaleControl.Kilometers`)):Ga(t,l,u,e._getUIString(`ScaleControl.Meters`))}function Ga(e,t,n,r){let i=function(e){let t=10**(`${Math.floor(e)}`.length-1),n=e/t;return n=n>=10?10:n>=5?5:n>=3?3:n>=2?2:n>=1?1:function(e){let t=10**Math.ceil(-Math.log(e)/Math.LN10);return Math.round(e*t)/t}(n),t*n}(n);e.style.width=i/n*t+`px`,e.innerHTML=`${i} ${r}`}let Ka={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:``,maxWidth:`240px`,subpixelPositioning:!1,locationOccludedOpacity:void 0},qa=[`a[href]`,`[tabindex]:not([tabindex='-1'])`,`[contenteditable]:not([contenteditable='false'])`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`].join(`, `);function Ja(e){if(e){if(typeof e==`number`){let n=Math.round(Math.abs(e)/Math.SQRT2);return{center:new t.P(0,0),top:new t.P(0,e),"top-left":new t.P(n,n),"top-right":new t.P(-n,n),bottom:new t.P(0,-e),"bottom-left":new t.P(n,-n),"bottom-right":new t.P(-n,-n),left:new t.P(e,0),right:new t.P(-e,0)}}if(e instanceof t.P||Array.isArray(e)){let n=t.P.convert(e);return{center:n,top:n,"top-left":n,"top-right":n,bottom:n,"bottom-left":n,"bottom-right":n,left:n,right:n}}return{center:t.P.convert(e.center||[0,0]),top:t.P.convert(e.top||[0,0]),"top-left":t.P.convert(e[`top-left`]||[0,0]),"top-right":t.P.convert(e[`top-right`]||[0,0]),bottom:t.P.convert(e.bottom||[0,0]),"bottom-left":t.P.convert(e[`bottom-left`]||[0,0]),"bottom-right":t.P.convert(e[`bottom-right`]||[0,0]),left:t.P.convert(e.left||[0,0]),right:t.P.convert(e.right||[0,0])}}return Ja(new t.P(0,0))}let Ya=n;
697e.AJAXError=t.cq,e.Event=t.l,e.Evented=t.E,e.LngLat=t.Q,e.MercatorCoordinate=t.$,e.Point=t.P,e.addProtocol=t.cr,e.config=t.a,e.removeProtocol=t.cs,e.AttributionControl=Ca,e.BoxZoomHandler=Vi,e.CanvasSource=he,e.CooperativeGesturesHandler=ga,e.DoubleClickZoomHandler=Z,e.DragPanHandler=pa,e.DragRotateHandler=ma,e.EdgeInsets=W,e.FullscreenControl=class extends t.E{constructor(e={}){super(),this._onFullscreenChange=()=>{let e=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;e?.shadowRoot?.fullscreenElement;)e=e.shadowRoot.fullscreenElement;e===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,e&&e.container&&(e.container instanceof HTMLElement?this._container=e.container:t.w(`Full screen control 'container' must be a DOM element.`)),`onfullscreenchange`in document?this._fullscreenchange=`fullscreenchange`:`onmozfullscreenchange`in document?this._fullscreenchange=`mozfullscreenchange`:`onwebkitfullscreenchange`in document?this._fullscreenchange=`webkitfullscreenchange`:`onmsfullscreenchange`in document&&(this._fullscreenchange=`MSFullscreenChange`)}onAdd(e){return this._map=e,this._container||=this._map.getContainer(),this._controlContainer=s.create(`div`,`maplibregl-ctrl maplibregl-ctrl-group`),this._setupUI(),this._controlContainer}onRemove(){s.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let e=this._fullscreenButton=s.create(`button`,`maplibregl-ctrl-fullscreen`,this._controlContainer);s.create(`span`,`maplibregl-ctrl-icon`,e).setAttribute(`aria-hidden`,`true`),e.type=`button`,this._updateTitle(),this._fullscreenButton.addEventListener(`click`,this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let e=this._getTitle();this._fullscreenButton.setAttribute(`aria-label`,e),this._fullscreenButton.title=e}_getTitle(){return this._map._getUIString(this._isFullscreen()?`FullscreenControl.Exit`:`FullscreenControl.Enter`)}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(`maplibregl-ctrl-shrink`),this._fullscreenButton.classList.toggle(`maplibregl-ctrl-fullscreen`),this._updateTitle(),this._fullscreen?(this.fire(new t.l(`fullscreenstart`)),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new t.l(`fullscreenend`)),this._prevCooperativeGesturesEnabled&&this._map.cooperativeGestures.enable())}_exitFullscreen(){window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle(`maplibregl-pseudo-fullscreen`),this._handleFullscreenChange(),this._map.resize()}},e.GeoJSONSource=I,e.GeolocateControl=class extends t.E{constructor(e){super(),this._onSuccess=e=>{if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.l(`outofmaxbounds`,e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case`WAITING_ACTIVE`:case`ACTIVE_LOCK`:case`ACTIVE_ERROR`:this._watchState=`ACTIVE_LOCK`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-waiting`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active-error`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-active`);break;case`BACKGROUND`:case`BACKGROUND_ERROR`:this._watchState=`BACKGROUND`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-waiting`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-background-error`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-background`);break;default:throw Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&this._watchState!==`OFF`&&this._updateMarker(e),this.options.trackUserLocation&&this._watchState!==`ACTIVE_LOCK`||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove(`maplibregl-user-location-dot-stale`),this.fire(new t.l(`geolocate`,e)),this._finish()}},this._updateCamera=e=>{let n=new t.Q(e.coords.longitude,e.coords.latitude),r=e.coords.accuracy,i=this._map.getBearing(),a=t.e({bearing:i},this.options.fitBoundsOptions),o=P.fromLngLat(n,r);this._map.fitBounds(o,a,{geolocateSource:!0})},this._updateMarker=e=>{if(e){let n=new t.Q(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(n).addTo(this._map),this._userLocationDotMarker.setLngLat(n).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=e=>{if(this._map){if(e.code===1){this._watchState=`OFF`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-waiting`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active-error`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-background`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-background-error`),this._geolocateButton.disabled=!0;let e=this._map._getUIString(`GeolocateControl.LocationNotAvailable`);this._geolocateButton.title=e,this._geolocateButton.setAttribute(`aria-label`,e),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(e.code===3&&Ha)return;this.options.trackUserLocation&&this._setErrorState()}this._watchState!==`OFF`&&this.options.showUserLocation&&this._dotElement.classList.add(`maplibregl-user-location-dot-stale`),this.fire(new t.l(`error`,e)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=()=>{this._map&&(this._container.addEventListener(`contextmenu`,(e=>e.preventDefault())),this._geolocateButton=s.create(`button`,`maplibregl-ctrl-geolocate`,this._container),s.create(`span`,`maplibregl-ctrl-icon`,this._geolocateButton).setAttribute(`aria-hidden`,`true`),this._geolocateButton.type=`button`,this._geolocateButton.disabled=!0)},this._finishSetupUI=e=>{if(this._map){if(!1===e){t.w(`Geolocation support is not available so the GeolocateControl will be disabled.`);let e=this._map._getUIString(`GeolocateControl.LocationNotAvailable`);this._geolocateButton.disabled=!0,this._geolocateButton.title=e,this._geolocateButton.setAttribute(`aria-label`,e)}else{let e=this._map._getUIString(`GeolocateControl.FindMyLocation`);this._geolocateButton.disabled=!1,this._geolocateButton.title=e,this._geolocateButton.setAttribute(`aria-label`,e)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(`aria-pressed`,`false`),this._watchState=`OFF`),this.options.showUserLocation&&(this._dotElement=s.create(`div`,`maplibregl-user-location-dot`),this._userLocationDotMarker=new za({element:this._dotElement}),this._circleElement=s.create(`div`,`maplibregl-user-location-accuracy-circle`),this._accuracyCircleMarker=new za({element:this._circleElement,pitchAlignment:`map`}),this.options.trackUserLocation&&(this._watchState=`OFF`),this._map.on(`zoom`,this._onZoom)),this._geolocateButton.addEventListener(`click`,(()=>this.trigger())),this._setup=!0,this.options.trackUserLocation&&this._map.on(`movestart`,(e=>{e.geolocateSource||this._watchState!==`ACTIVE_LOCK`||e.originalEvent&&e.originalEvent.type===`resize`||(this._watchState=`BACKGROUND`,this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-background`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active`),this.fire(new t.l(`trackuserlocationend`)),this.fire(new t.l(`userlocationlostfocus`)))}))}},this.options=t.e({},Ba,e)}onAdd(e){return this._map=e,this._container=s.create(`div`,`maplibregl-ctrl maplibregl-ctrl-group`),this._setupUI(),function(){return t._(this,arguments,void 0,(function*(e=!1){if(Fa!==void 0&&!e)return Fa;if(window.navigator.permissions===void 0)return Fa=!!window.navigator.geolocation,Fa;try{Fa=(yield window.navigator.permissions.query({name:`geolocation`})).state!==`denied`}catch{Fa=!!window.navigator.geolocation}return Fa}))}().then((e=>this._finishSetupUI(e))),this._container}onRemove(){this._geolocationWatchID!==void 0&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),s.remove(this._container),this._map.off(`zoom`,this._onZoom),this._map=void 0,Va=0,Ha=!1}_isOutOfMapMaxBounds(e){let t=this._map.getMaxBounds(),n=e.coords;return t&&(n.longitude<t.getWest()||n.longitude>t.getEast()||n.latitude<t.getSouth()||n.latitude>t.getNorth())}_setErrorState(){switch(this._watchState){case`WAITING_ACTIVE`:this._watchState=`ACTIVE_E
697RROR`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-active-error`);break;case`ACTIVE_LOCK`:this._watchState=`ACTIVE_ERROR`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-active-error`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-waiting`);break;case`BACKGROUND`:this._watchState=`BACKGROUND_ERROR`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-background`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-background-error`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-waiting`);break;case`ACTIVE_ERROR`:break;default:throw Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){let e=this._map.getBounds(),t=e.getSouthEast(),n=e.getNorthEast(),r=t.distanceTo(n),i=Math.ceil(this._accuracy/(r/this._map._container.clientHeight)*2);this._circleElement.style.width=`${i}px`,this._circleElement.style.height=`${i}px`}trigger(){if(!this._setup)return t.w(`Geolocate control triggered before added to a map`),!1;if(this.options.trackUserLocation){switch(this._watchState){case`OFF`:this._watchState=`WAITING_ACTIVE`,this.fire(new t.l(`trackuserlocationstart`));break;case`WAITING_ACTIVE`:case`ACTIVE_LOCK`:case`ACTIVE_ERROR`:case`BACKGROUND_ERROR`:Va--,Ha=!1,this._watchState=`OFF`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-waiting`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active-error`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-background`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-background-error`),this.fire(new t.l(`trackuserlocationend`));break;case`BACKGROUND`:this._watchState=`ACTIVE_LOCK`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-background`),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.l(`trackuserlocationstart`)),this.fire(new t.l(`userlocationfocus`));break;default:throw Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case`WAITING_ACTIVE`:this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-waiting`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-active`);break;case`ACTIVE_LOCK`:this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-active`);break;case`OFF`:break;default:throw Error(`Unexpected watchState ${this._watchState}`)}if(this._watchState===`OFF`&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){let e;this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-waiting`),this._geolocateButton.setAttribute(`aria-pressed`,`true`),Va++,Va>1?(e={maximumAge:6e5,timeout:0},Ha=!0):(e=this.options.positionOptions,Ha=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-waiting`),this._geolocateButton.setAttribute(`aria-pressed`,`false`),this.options.showUserLocation&&this._updateMarker(null)}},e.GlobeControl=class{constructor(){this._toggleProjection=()=>{let e=this._map.getProjection()?.type;this._map.setProjection(e!==`mercator`&&e?{type:`mercator`}:{type:`globe`}),this._updateGlobeIcon()},this._updateGlobeIcon=()=>{this._globeButton.classList.remove(`maplibregl-ctrl-globe`),this._globeButton.classList.remove(`maplibregl-ctrl-globe-enabled`),this._map.getProjection()?.type===`globe`?(this._globeButton.classList.add(`maplibregl-ctrl-globe-enabled`),this._globeButton.title=this._map._getUIString(`GlobeControl.Disable`)):(this._globeButton.classList.add(`maplibregl-ctrl-globe`),this._globeButton.title=this._map._getUIString(`GlobeControl.Enable`))}}onAdd(e){return this._map=e,this._container=s.create(`div`,`maplibregl-ctrl maplibregl-ctrl-group`),this._globeButton=s.create(`button`,`maplibregl-ctrl-globe`,this._container),s.create(`span`,`maplibregl-ctrl-icon`,this._globeButton).setAttribute(`aria-hidden`,`true`),this._globeButton.type=`button`,this._globeButton.addEventListener(`click`,this._toggleProjection),this._updateGlobeIcon(),this._map.on(`styledata`,this._updateGlobeIcon),this._container}onRemove(){s.remove(this._container),this._map.off(`styledata`,this._updateGlobeIcon),this._globeButton.removeEventListener(`click`,this._toggleProjection),this._map=void 0}},e.Hash=Ti,e.ImageSource=pe,e.KeyboardHandler=sa,e.LngLatBounds=P,e.LogoControl
697=wa,e.Map=class extends xa{constructor(e){t.cn.mark(t.co.create);let n=Object.assign(Object.assign(Object.assign({},$),e),{canvasContextAttributes:Object.assign(Object.assign({},$.canvasContextAttributes),e.canvasContextAttributes)});if(n.minZoom!=null&&n.maxZoom!=null&&n.minZoom>n.maxZoom)throw Error(`maxZoom must be greater than or equal to minZoom`);if(n.minPitch!=null&&n.maxPitch!=null&&n.minPitch>n.maxPitch)throw Error(`maxPitch must be greater than or equal to minPitch`);if(n.minPitch!=null&&n.minPitch<0)throw Error(`minPitch must be greater than or equal to 0`);if(n.maxPitch!=null&&n.maxPitch>180)throw Error(`maxPitch must be less than or equal to 180`);let r=new zt,i=new Ut;if(n.minZoom!==void 0&&r.setMinZoom(n.minZoom),n.maxZoom!==void 0&&r.setMaxZoom(n.maxZoom),n.minPitch!==void 0&&r.setMinPitch(n.minPitch),n.maxPitch!==void 0&&r.setMaxPitch(n.maxPitch),n.renderWorldCopies!==void 0&&r.setRenderWorldCopies(n.renderWorldCopies),super(r,i,{bearingSnap:n.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new Ta,this._controls=[],this._mapId=t.a4(),this._contextLost=e=>{e.preventDefault(),this._frameRequest&&=(this._frameRequest.abort(),null),this.fire(new t.l(`webglcontextlost`,{originalEvent:e}))},this._contextRestored=e=>{this._setupPainter(),this.resize(),this._update(),this.fire(new t.l(`webglcontextrestored`,{originalEvent:e}))},this._onMapScroll=e=>{if(e.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=n.interactive,this._maxTileCacheSize=n.maxTileCacheSize,this._maxTileCacheZoomLevels=n.maxTileCacheZoomLevels,this._canvasContextAttributes=Object.assign({},n.canvasContextAttributes),this._trackResize=!0===n.trackResize,this._bearingSnap=n.bearingSnap,this._centerClampedToGround=n.centerClampedToGround,this._refreshExpiredTiles=!0===n.refreshExpiredTiles,this._fadeDuration=n.fadeDuration,this._crossSourceCollisions=!0===n.crossSourceCollisions,this._collectResourceTiming=!0===n.collectResourceTiming,this._locale=Object.assign(Object.assign({},Ma),n.locale),this._clickTolerance=n.clickTolerance,this._overridePixelRatio=n.pixelRatio,this._maxCanvasSize=n.maxCanvasSize,this.transformCameraUpdate=n.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=!0===n.cancelPendingTileRequestsWhileZooming,this._imageQueueHandle=m.addThrottleControl((()=>this.isMoving())),this._requestManager=new h(n.transformRequest),typeof n.container==`string`){if(this._container=document.getElementById(n.container),!this._container)throw Error(`Container '${n.container}' not found.`)}else{if(!(n.container instanceof HTMLElement))throw Error(`Invalid type: 'container' must be a String or HTMLElement.`);this._container=n.container}if(n.maxBounds&&this.setMaxBounds(n.maxBounds),this._setupContainer(),this._setupPainter(),this.on(`move`,(()=>this._update(!1))),this.on(`moveend`,(()=>this._update(!1))),this.on(`zoom`,(()=>this._update(!0))),this.on(`terrain`,(()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)})),this.once(`idle`,(()=>{this._idleTriggered=!0})),typeof window<`u`){addEventListener(`online`,this._onWindowOnline,!1);let e=!1,t=wi((e=>{this._trackResize&&!this._removed&&(this.resize(e),this.redraw())}),50);this._resizeObserver=new ResizeObserver((n=>{e?t(n):e=!0})),this._resizeObserver.observe(this._container)}this.handlers=new ba(this,n),this._hash=n.hash&&new Ti(typeof n.hash==`string`&&n.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:n.center,elevation:n.elevation,zoom:n.zoom,bearing:n.bearing,pitch:n.pitch,roll:n.roll}),n.bounds&&(this.resize(),this.fitBounds(n.bounds,t.e({},n.fitBoundsOptions,{duration:0}))));let a=typeof n.style==`string`||n.style?.projection?.type!==`globe`;this.resize(null,a),this._localIdeographFontFamily=n.localIdeographFontFamily,this._validateStyle=n.validateStyle,n.style&&this.setStyle(n.style,{localIdeographFontFamily:n.localIdeographFontFamily}),n.attributionControl&&this.addControl(new Ca(typeof n.attributionControl
697==`boolean`?void 0:n.attributionControl)),n.maplibreLogo&&this.addControl(new wa,n.logoPosition),this.on(`style.load`,(()=>{if(a||this._resizeTransform(),this.transform.unmodified){let e=t.O(this.style.stylesheet,[`center`,`zoom`,`bearing`,`pitch`,`roll`]);this.jumpTo(e)}})),this.on(`data`,(e=>{this._update(e.dataType===`style`),this.fire(new t.l(`${e.dataType}data`,e))})),this.on(`dataloading`,(e=>{this.fire(new t.l(`${e.dataType}dataloading`,e))})),this.on(`dataabort`,(e=>{this.fire(new t.l(`sourcedataabort`,e))}))}_getMapId(){return this._mapId}addControl(e,n){if(n===void 0&&(n=e.getDefaultPosition?e.getDefaultPosition():`top-right`),!e||!e.onAdd)return this.fire(new t.k(Error(`Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.`)));let r=e.onAdd(this);this._controls.push(e);let i=this._controlPositions[n];return n.indexOf(`bottom`)===-1?i.appendChild(r):i.insertBefore(r,i.firstChild),this}removeControl(e){if(!e||!e.onRemove)return this.fire(new t.k(Error(`Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.`)));let n=this._controls.indexOf(e);return n>-1&&this._controls.splice(n,1),e.onRemove(this),this}hasControl(e){return this._controls.indexOf(e)>-1}calculateCameraOptionsFromTo(e,t,n,r){return r==null&&this.terrain&&(r=this.terrain.getElevationForLngLatZoom(n,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(e,t,n,r)}resize(e,n=!0){let[r,i]=this._containerDimensions(),a=this._getClampedPixelRatio(r,i);if(this._resizeCanvas(r,i,a),this.painter.resize(r,i,a),this.painter.overLimit()){let e=this.painter.context.gl;this._maxCanvasSize=[e.drawingBufferWidth,e.drawingBufferHeight];let t=this._getClampedPixelRatio(r,i);this._resizeCanvas(r,i,t),this.painter.resize(r,i,t)}this._resizeTransform(n);let o=!this._moving;return o&&(this.stop(),this.fire(new t.l(`movestart`,e)).fire(new t.l(`move`,e))),this.fire(new t.l(`resize`,e)),o&&this.fire(new t.l(`moveend`,e)),this}_resizeTransform(e=!0){var t;let[n,r]=this._containerDimensions();this.transform.resize(n,r,e),(t=this._requestedCameraState)==null||t.resize(n,r,e)}_getClampedPixelRatio(e,t){let{0:n,1:r}=this._maxCanvasSize,i=this.getPixelRatio(),a=e*i,o=t*i;return Math.min(a>n?n/a:1,o>r?r/o:1)*i}getPixelRatio(){return this._overridePixelRatio??devicePixelRatio}setPixelRatio(e){this._overridePixelRatio=e,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(e){return this.transform.setMaxBounds(P.convert(e)),this._update()}setMinZoom(e){if((e??=-2)>=-2&&e<=this.transform.maxZoom)return this.transform.setMinZoom(e),this._update(),this.getZoom()<e&&this.setZoom(e),this;throw Error(`minZoom must be between -2 and the current maxZoom, inclusive`)}getMinZoom(){return this.transform.minZoom}setMaxZoom(e){if((e??=22)>=this.transform.minZoom)return this.transform.setMaxZoom(e),this._update(),this.getZoom()>e&&this.setZoom(e),this;throw Error(`maxZoom must be greater than the current minZoom`)}getMaxZoom(){return this.transform.maxZoom}setMinPitch(e){if((e??=0)<0)throw Error(`minPitch must be greater than or equal to 0`);if(e>=0&&e<=this.transform.maxPitch)return this.transform.setMinPitch(e),this._update(),this.getPitch()<e&&this.setPitch(e),this;throw Error(`minPitch must be between 0 and the current maxPitch, inclusive`)}getMinPitch(){return this.transform.minPitch}setMaxPitch(e){if((e??=60)>180)throw Error(`maxPitch must be less than or equal to 180`);if(e>=this.transform.minPitch)return this.transform.setMaxPitch(e),this._update(),this.getPitch()>e&&this.setPitch(e),this;throw Error(`maxPitch must be greater than the current minPitch`)}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(e){return this.transform.setRenderWorldCopies(e),this._update()}project(e){return this.transform.locationToScreenPoint(t.Q.convert(e),this.style&&this.terrain)}unproject(e){return this.transform.screenPointToLocation(t.P.convert(e),this.terrain)}isMoving(){return this._moving||this.handlers?.isMoving()}isZooming(){return this._zooming||this.handlers?.isZooming()}isRotating(){return this._rotating||this.handlers?.isRotating()}_createDelegatedListener(e,t,n){if(e===`mouseenter`||e===`mouseover`){let r=!1;return{layers:t,listener:n,delegates:{mousemove:i=>{let a=t.filter((e=>this.getLayer(e))),o=a.length===0?[]:this.queryRenderedFeatures(i.point,{layers:a});o.length?r||(r=!0,n.call(this,new Fi(e,this,i.originalEvent,{features:o}))):r=!1},mouseout:()=>{r=!1}}}}if(e===`mouseleave`||e===`mouseout`){let r=!1;return{layers:t,listener:n,delegates:{mousemove:i=>{let a=t.filter((e=>this.getLayer(e)));(a.length===0?[]:this.queryRenderedFeatures(i.point,{layers:a})).length?r=!0:r&&(r=!1,n.call(this,new Fi(e,this,i.originalEvent)))},mouseout:t=>{r&&(r=!1,n.call(this,new Fi(e,this,t.originalEvent)))}}}}{let r=e=>{let r=t.filter((e=>this.getLayer(e))),i=r.length===0?[]:this.queryRenderedFeatures(e.point,{layers:r});i.length&&(e.features=i,n.call(this,e),delete e.features)};return{layers:t,listener:n,delegates:{[e]:r}}}}_saveDelegatedListener(e,t){this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[e]=this._delegatedListeners[e]||[],this._delegatedListeners[e].push(t)}_removeDelegatedListener(e,t,n){if(!this._delegatedListeners||!this._delegatedListeners[e])return;let r=this._delegatedListeners[e];for(let e=0;e<r.length;e++){let i=r[e];if(i.listener===n&&i.layers.length===t.length&&i.layers.every((e=>t.includes(e)))){for(let e in i.delegates)this.off(e,i.delegates[e]);r.splice(e,1);return}}}on(e,t,n){if(n===void 0)return super.on(e,t);let r=typeof t==`string`?[t]:t,i=this._createDelegatedListener(e,r,n);this._saveDelegatedListener(e,i);for(let e in i.delegates)this.on(e,i.delegates[e]);return{unsubscribe:()=>{this._removeDelegatedListener(e,r,n)}}}once(e,t,n){if(n===void 0)return super.once(e,t);let r=typeof t==`string`?[t]:t,i=this._createDelegatedListener(e,r,n);for(let t in i.delegates){let a=i.delegates[t];i.delegates[t]=(...t)=>{this._removeDelegatedListener(e,r,n),a(...t)}}this._saveDelegatedListener(e,i);for(let e in i.delegates)this.once(e,i.delegates[e]);return this}off(e,t,n){return n===void 0?super.off(e,t):(this._removeDelegatedListener(e,typeof t==`string`?[t]:t,n),this)}queryRenderedFeatures(e,n){if(!this.style)return[];let r,i=e instanceof t.P||Array.isArray(e),a=i?e:[[0,0],[this.transform.width,this.transform.height]];if(n=n||(i?{}:e)||{},a instanceof t.P||typeof a[0]==`number`)r=[t.P.convert(a)];else{let e=t.P.convert(a[0]),n=t.P.convert(a[1]);r=[e,new t.P(n.x,e.y),n,new t.P(e.x,n.y),e]}return this.style.queryRenderedFeatures(r,n,this.transform)}querySourceFeatures(e,t){return this.style.querySourceFeatures(e,t)}setStyle(e,n){return!1!==(n=t.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._val
697idateStyle},n)).diff&&n.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&e?(this._diffStyle(e,n),this):(this._localIdeographFontFamily=n.localIdeographFontFamily,this._updateStyle(e,n))}setTransformRequest(e){return this._requestManager.setTransformRequest(e),this}_getUIString(e){let t=this._locale[e];if(t==null)throw Error(`Missing UI string '${e}'`);return t}_updateStyle(e,t){var n;if(t.transformStyle&&this.style&&!this.style._loaded)return void this.style.once(`style.load`,(()=>this._updateStyle(e,t)));let r=this.style&&t.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!e)),e?(this.style=new Sn(this,t||{}),this.style.setEventedParent(this,{style:this.style}),typeof e==`string`?this.style.loadURL(e,t,r):this.style.loadJSON(e,t,r),this):((n=this.style?.projection)==null||n.destroy(),delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new Sn(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(e,n){if(typeof e==`string`){let r=this._requestManager.transformRequest(e,`Style`);t.j(r,new AbortController).then((e=>{this._updateDiff(e.data,n)})).catch((e=>{e&&this.fire(new t.k(e))}))}else typeof e==`object`&&this._updateDiff(e,n)}_updateDiff(e,n){try{this.style.setState(e,n)&&this._update(!0)}catch(r){t.w(`Unable to perform style diff: ${r.message||r.error||r}. Rebuilding the style from scratch.`),this._updateStyle(e,n)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():t.w(`There is no style added to the map.`)}addSource(e,t){return this._lazyInitEmptyStyle(),this.style.addSource(e,t),this._update(!0)}isSourceLoaded(e){let n=this.style&&this.style.sourceCaches[e];if(n!==void 0)return n.loaded();this.fire(new t.k(Error(`There is no source with ID '${e}'`)))}setTerrain(e){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off(`data`,this._terrainDataCallback),e){let n=this.style.sourceCaches[e.source];if(!n)throw Error(`cannot load terrain, because there exists no source with ID: ${e.source}`);this.terrain===null&&n.reload();for(let n in this.style._layers){let r=this.style._layers[n];r.type===`hillshade`&&r.source===e.source&&t.w(`You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.`)}this.terrain=new Oa(this.painter,n,e),this.painter.renderToTexture=new ja(this.painter,this.terrain),this.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.transform.setElevation(this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this._terrainDataCallback=t=>{t.dataType===`style`?this.terrain.sourceCache.freeRtt():t.dataType===`source`&&t.tile&&(t.sourceId!==e.source||this._elevationFreeze||(this.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this._centerClampedToGround&&this.transform.setElevation(this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))),t.source?.type===`image`?this.terrain.sourceCache.freeRtt():this.terrain.sourceCache.freeRtt(t.tile.tileID))},this.style.on(`data`,this._terrainDataCallback)}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform.setMinElevationForCurrentTile(0),this._centerClampedToGround&&this.transform.setElevation(0);return this.fire(new t.l(`terrain`,{terrain:e})),this}getTerrain(){return this.terrain?.options??null}areTilesLoaded(){let e=this.style&&this.style.sourceCaches;for(let t in e){let n=e[t]._tiles;for(let e in n){let t=n[e];if(t.state!==`loaded`&&t.state!==`errored`)return!1}}return!0}removeSource(e){return this.style.removeSource(e),this._update(!0)}getSource(e){return this.style.getSource(e)}setSourceTileLodParams(e,t,n){if(n){let r=this.getSource(n);if(!r)throw Error(`There is no source with ID "${n}", cannot set LOD parameters`);r.calculateTileZoom=L(Math.max(1,e),Math.max(1,t))}else for(let n in this.style.sourceCaches)this.style.sourceCaches[n].getSource().calculateTileZoom=L(Math.max(1,e),Math.max(1,t));return this._update(!0),this}refreshTiles(e,n){let r=this.style.sourceCaches[e];if(!r)throw Error(`There is no source cache with ID "${e}", cannot refresh tile`);n===void 0?r.reload():r.refreshTiles(n.map((e=>new t.a1(e.z,e.x,e.y))))}addImage(e,n,r={}){let{pixelRatio:i=1,sdf:a=!1,stretchX:s,stretchY:c,content:l,textFitWidth:u,textFitHeight:d}=r;if(this._lazyInitEmptyStyle(),!(n instanceof HTMLImageElement||t.b(n))){if(n.width===void 0||n.height===void 0)return this.fire(new t.k(Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));{let{width:r,height:o,data:f}=n,p=n;return this.style.addImage(e,{data:new t.R({width:r,height:o},new Uint8Array(f)),pixelRatio:i,stretchX:s,stretchY:c,content:l,textFitWidth:u,textFitHeight:d,sdf:a,version:0,userImage:p}),p.onAdd&&p.onAdd(this,e),this}}{let{width:r,height:f,data:p}=o.getImageData(n);this.style.addImage(e,{data:new t.R({width:r,height:f},p),pixelRatio:i,stretchX:s,stretchY:c,content:l,textFitWidth:u,textFitHeight:d,sdf:a,version:0})}}updateImage(e,n){let r=this.style.getImage(e);if(!r)return this.fire(new t.k(Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));let{width:i,height:a,data:s}=n instanceof HTMLImageElement||t.b(n)?o.getImageData(n):n;
697if(i===void 0||a===void 0)return this.fire(new t.k(Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));if(i!==r.data.width||a!==r.data.height)return this.fire(new t.k(Error(`The width and height of the updated image must be that same as the previous version of the image`)));let c=!(n instanceof HTMLImageElement||t.b(n));return r.data.replace(s,c),this.style.updateImage(e,r),this}getImage(e){return this.style.getImage(e)}hasImage(e){return e?!!this.style.getImage(e):(this.fire(new t.k(Error(`Missing required image id`))),!1)}removeImage(e){this.style.removeImage(e)}loadImage(e){return m.getImage(this._requestManager.transformRequest(e,`Image`),new AbortController)}listImages(){return this.style.listImages()}addLayer(e,t){return this._lazyInitEmptyStyle(),this.style.addLayer(e,t),this._update(!0)}moveLayer(e,t){return this.style.moveLayer(e,t),this._update(!0)}removeLayer(e){return this.style.removeLayer(e),this._update(!0)}getLayer(e){return this.style.getLayer(e)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(e,t,n){return this.style.setLayerZoomRange(e,t,n),this._update(!0)}setFilter(e,t,n={}){return this.style.setFilter(e,t,n),this._update(!0)}getFilter(e){return this.style.getFilter(e)}setPaintProperty(e,t,n,r={}){return this.style.setPaintProperty(e,t,n,r),this._update(!0)}getPaintProperty(e,t){return this.style.getPaintProperty(e,t)}setLayoutProperty(e,t,n,r={}){return this.style.setLayoutProperty(e,t,n,r),this._update(!0)}getLayoutProperty(e,t){return this.style.getLayoutProperty(e,t)}setGlyphs(e,t={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(e,t),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(e,t,n={}){return this._lazyInitEmptyStyle(),this.style.addSprite(e,t,n,(e=>{e||this._update(!0)})),this}removeSprite(e){return this._lazyInitEmptyStyle(),this.style.removeSprite(e),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(e,t={}){return this._lazyInitEmptyStyle(),this.style.setSprite(e,t,(e=>{e||this._update(!0)})),this}setLight(e,t={}){return this._lazyInitEmptyStyle(),this.style.setLight(e,t),this._update(!0)}getLight(){return this.style.getLight()}setSky(e,t={}){return this._lazyInitEmptyStyle(),this.style.setSky(e,t),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(e,t){return this.style.setFeatureState(e,t),this._update()}removeFeatureState(e,t){return this.style.removeFeatureState(e,t),this._update()}getFeatureState(e){return this.style.getFeatureState(e)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let e=0,t=0;return this._container&&(e=this._container.clientWidth||400,t=this._container.clientHeight||300),[e,t]}_setupContainer(){let e=this._container;e.classList.add(`maplibregl-map`);let t=this._canvasContainer=s.create(`div`,`maplibregl-canvas-container`,e);this._interactive&&t.classList.add(`maplibregl-interactive`),this._canvas=s.create(`canvas`,`maplibregl-canvas`,t),this._canvas.addEventListener(`webglcontextlost`,this._contextLost,!1),this._canvas.addEventListener(`webglcontextrestored`,this._contextRestored,!1),this._canvas.setAttribute(`tabindex`,this._interactive?`0`:`-1`),this._canvas.setAttribute(`aria-label`,this._getUIString(`Map.Title`)),this._canvas.setAttribute(`role`,`region`);let n=this._containerDimensions(),r=this._getClampedPixelRatio(n[0],n[1]);this._resizeCanvas(n[0],n[1],r);let i=this._controlContainer=s.create(`div`,`maplibregl-control-container`,e),a=this._controlPositions={};[`top-left`,`top-right`,`bottom-left`,`bottom-right`].forEach((e=>{a[e]=s.create(`div`,`maplibregl-ctrl-${e} `,i)})),this._container.addEventListener(`scroll`,this._onMapScroll,!1)}_resizeCanvas(e,t,n){this._canvas.width=Math.floor(n*e),this._canvas.height=Math.floor(n*t),this._canvas.style.width=`${e}px`,this._canvas.style.height=`${t}px`}_setupPainter(){let e=Object.assign(Object.assign({},this._canvasContextAttributes),{alpha:!0,depth:!0,stencil:!0,premultipliedAlpha:!0}),t=null;this._canvas.addEventListener(`webglcontextcreationerror`,(n=>{t={requestedAttributes:e},n&&(t.statusMessage=n.statusMessage,t.type=n.type)}),{once:!0});let n=null;if(n=this._canvasContextAttributes.contextType?this._canvas.getContext(this._canvasContextAttributes.contextType,e):this._canvas.getContext(`webgl2`,e)||this._canvas.getContext(`webgl`,e),!n){let e=`Failed to initialize WebGL`;throw t?(t.message=e,Error(JSON.stringify(t))):Error(e)}this.painter=new Ci(n,this.transform),c.testSupport(n)}migrateProjection(e,n){super.migrateProjection(e,n),this.painter.transform=e,this.fire(new t.l(`projectiontransition`,{newProjection:this.style.projection.name}))}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(e){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||e,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(e){return this._update(),this._renderTaskQueue.add(e)}_cancelRenderFrame(e){this._renderTaskQueue.remove(e)}_render(e){var n;let r=this._idleTriggered?this._fadeDuration:0,i=this.style.projection?.transitionState>0;
697if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(e),this._removed)return;let a=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let e=this.transform.zoom,n=o.now();this.style.zoomHistory.update(e,n);let i=new t.C(e,{now:n,fadeDuration:r,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),s=i.crossFadingFactor();s===1&&s===this._crossFadingFactor||(a=!0,this._crossFadingFactor=s),this.style.update(i)}let s=this.style.projection?.transitionState>0!==i;(n=this.style.projection)==null||n.setErrorQueryLatitudeDegrees(this.transform.center.lat),this.transform.setTransitionState(this.style.projection?.transitionState,this.style.projection?.latitudeErrorCorrectionRadians),this.style&&(this._sourcesDirty||s)&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),!this._elevationFreeze&&this._centerClampedToGround&&this.transform.setElevation(this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform.setMinElevationForCurrentTile(0),this._centerClampedToGround&&this.transform.setElevation(0)),this._placementDirty=this.style&&this.style._updatePlacement(this.transform,this.showCollisionBoxes,r,this._crossSourceCollisions,s),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:r,showPadding:this.showPadding}),this.fire(new t.l(`render`)),this.loaded()&&!this._loaded&&(this._loaded=!0,t.cn.mark(t.co.load),this.fire(new t.l(`load`))),this.style&&(this.style.hasTransitions()||a)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let c=this._sourcesDirty||this._styleDirty||this._placementDirty;return c||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new t.l(`idle`)),!this._loaded||this._fullyLoaded||c||(this._fullyLoaded=!0,t.cn.mark(t.co.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&=(this._frameRequest.abort(),null),this._render(0)),this}remove(){var e;this._hash&&this._hash.remove();for(let e of this._controls)e.onRemove(this);this._controls=[],this._frameRequest&&=(this._frameRequest.abort(),null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),typeof window<`u`&&removeEventListener(`online`,this._onWindowOnline,!1),m.removeThrottleControl(this._imageQueueHandle),(e=this._resizeObserver)==null||e.disconnect();let n=this.painter.context.gl.getExtension(`WEBGL_lose_context`);n!=null&&n.loseContext&&n.loseContext(),this._canvas.removeEventListener(`webglcontextrestored`,this._contextRestored,!1),this._canvas.removeEventListener(`webglcontextlost`,this._contextLost,!1),s.remove(this._canvasContainer),s.remove(this._controlContainer),this._container.removeEventListener(`scroll`,this._onMapScroll,!1),this._container.classList.remove(`maplibregl-map`),t.cn.clearMetrics(),this._removed=!0,this.fire(new t.l(`remove`))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,o.frame(this._frameRequest,(e=>{t.cn.frame(e),this._frameRequest=null;try{this._render(e)}catch(e){if(!t.cp(e)&&!function(e){return e.message===Wr}(e))throw e}}),(()=>{})))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(e){this._showTileBoundaries!==e&&(this._showTileBoundaries=e,this._update())}get showPadding(){return!!this._showPadding}set showPadding(e){this._showPadding!==e&&(this._showPadding=e,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(e){this._showCollisionBoxes!==e&&(this._showCollisionBoxes=e,e?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(e){this._showOverdrawInspector!==e&&(this._showOverdrawInspector=e,this._update())}get repaint(){return!!this._repaint}set repaint(e){this._repaint!==e&&(this._repaint=e,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(e){this._vertices=e,this._update()}get version(){return Q}getCameraTargetElevation(){return this.transform.elevation}getProjection(){return this.style.getProjection()}setProjection(e){return this._lazyInitEmptyStyle(),this.style.setProjection(e),this._update(!0)}},e.MapMouseEvent=Fi,e.MapTouchEvent=Ii,e.MapWheelEvent=Li,e.Marker=za,e.NavigationControl
697=class{constructor(e){this._updateZoomButtons=()=>{let e=this._map.getZoom(),t=e===this._map.getMaxZoom(),n=e===this._map.getMinZoom();this._zoomInButton.disabled=t,this._zoomOutButton.disabled=n,this._zoomInButton.setAttribute(`aria-disabled`,t.toString()),this._zoomOutButton.setAttribute(`aria-disabled`,n.toString())},this._rotateCompassArrow=()=>{this._compassIcon.style.transform=this.options.visualizePitch&&this.options.visualizeRoll?`scale(${1/Math.cos(this._map.transform.pitchInRadians)**.5}) rotateZ(${-this._map.transform.roll}deg) rotateX(${this._map.transform.pitch}deg) rotateZ(${-this._map.transform.bearing}deg)`:this.options.visualizePitch?`scale(${1/Math.cos(this._map.transform.pitchInRadians)**.5}) rotateX(${this._map.transform.pitch}deg) rotateZ(${-this._map.transform.bearing}deg)`:this.options.visualizeRoll?`rotate(${-this._map.transform.bearing-this._map.transform.roll}deg)`:`rotate(${-this._map.transform.bearing}deg)`},this._setButtonTitle=(e,t)=>{let n=this._map._getUIString(`NavigationControl.${t}`);e.title=n,e.setAttribute(`aria-label`,n)},this.options=t.e({},Na,e),this._container=s.create(`div`,`maplibregl-ctrl maplibregl-ctrl-group`),this._container.addEventListener(`contextmenu`,(e=>e.preventDefault())),this.options.showZoom&&(this._zoomInButton=this._createButton(`maplibregl-ctrl-zoom-in`,(e=>this._map.zoomIn({},{originalEvent:e}))),s.create(`span`,`maplibregl-ctrl-icon`,this._zoomInButton).setAttribute(`aria-hidden`,`true`),this._zoomOutButton=this._createButton(`maplibregl-ctrl-zoom-out`,(e=>this._map.zoomOut({},{originalEvent:e}))),s.create(`span`,`maplibregl-ctrl-icon`,this._zoomOutButton).setAttribute(`aria-hidden`,`true`)),this.options.showCompass&&(this._compass=this._createButton(`maplibregl-ctrl-compass`,(e=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:e}):this._map.resetNorth({},{originalEvent:e})})),this._compassIcon=s.create(`span`,`maplibregl-ctrl-icon`,this._compass),this._compassIcon.setAttribute(`aria-hidden`,`true`))}onAdd(e){return this._map=e,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,`ZoomIn`),this._setButtonTitle(this._zoomOutButton,`ZoomOut`),this._map.on(`zoom`,this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,`ResetBearing`),this.options.visualizePitch&&this._map.on(`pitch`,this._rotateCompassArrow),this.options.visualizeRoll&&this._map.on(`roll`,this._rotateCompassArrow),this._map.on(`rotate`,this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Pa(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){s.remove(this._container),this.options.showZoom&&this._map.off(`zoom`,this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off(`pitch`,this._rotateCompassArrow),this.options.visualizeRoll&&this._map.off(`roll`,this._rotateCompassArrow),this._map.off(`rotate`,this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(e,t){let n=s.create(`button`,e,this._container);return n.type=`button`,n.addEventListener(`click`,t),n}},e.Popup=class extends t.E{constructor(e){super(),this._updateOpacity=()=>{this.options.locationOccludedOpacity!==void 0&&(this._container.style.opacity=this._map.transform.isLocationOccluded(this.getLngLat())?`${this.options.locationOccludedOpacity}`:void 0)},this.remove=()=>(this._content&&s.remove(this._content),this._container&&(s.remove(this._container),delete this._container),this._map&&(this._map.off(`move`,this._update),this._map.off(`move`,this._onClose),this._map.off(`click`,this._onClose),this._map.off(`remove`,this.remove),this._map.off(`mousemove`,this._onMouseMove),this._map.off(`mouseup`,this._onMouseUp),this._map.off(`drag`,this._onDrag),this._map._canvasContainer.classList.remove(`maplibregl-track-pointer`),delete this._map,this.fire(new t.l(`close`))),this),this._onMouseUp=e=>{this._update(e.point)},this._onMouseMove=e=>{this._update(e.point)},this._onDrag=e=>{this._update(e.point)},this._update=e=>{if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=s.create(`div`,`maplibregl-popup`,this._map.getContainer()),this._tip=s.create(`div`,`maplibregl-popup-tip`,this._container),this._container.appendChild(this._content),this.options.className)for(let e of this.options.className.split(` `))this._container.classList.add(e);this._closeButton&&this._closeButton.setAttribute(`aria-label`,this._map._getUIString(`Popup.Close`)),this._trackPointer&&this._container.classList.add(`maplibregl-popup-track-pointer`)}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._lngLat=Ia(this._lngLat,this._flatPos,this._map.transform,this._trackPointer),this._trackPointer&&!e)return;let t=this._flatPos=this._pos=this._trackPointer&&e?e:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&e?e:this._map.transform.locationToScreenPoint(this._lngLat));let n=this.options.anchor,r=Ja(this.options.offset);if(!n){let e=this._container.offsetWidth,i=this._container.offsetHeight,a;a=t.y+r.bottom.y<i?[`top`]:t.y>this._map.transform.height-i?[`bottom`]:[],t.x<e/2?a.push(`left`):t.x>this._map.transform.width-e/2&&a.push(`right`),n=a.length===0?`bottom`:a.join(`-`)}let i=t.add(r[n]);this.options.subpixelPositioning||(i=i.round()),s.setTransform(this._container,`${La[n]} translate(${i.x}px,${i.y}px)`),Ra(this._container,n,`popup`),this._updateOpacity()},this._onClose=()=>{this.remove()},this.options=t.e(Object.create(Ka),e)}addTo(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on(`click`,this._onClose),this.options.closeOnMove&&this._map.on(`move`,this._onClose),this._map.on(`remove`,this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on(`mousemove`,this._onMouseMove),this._map.on(`mouseup`,this._onMouseUp),this._container&&this._container.classList.add(`maplibregl-popup-track-pointer`),this._map._canvasContainer.classList.add(`maplibregl-track-pointer`)):this._map.on(`move`,this._update),this.fire(new t.l(`open`)),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.Q.convert(e),this._pos=null,this._flatPos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(`move`,this._update),this._map.off(`mousemove`,this._onMouseMove),this._container&&this._container.classList.remove(`maplibregl-popup-track-pointer`),this._map._canvasContainer.classList.remove(`maplibregl-track-pointer`)),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._flatPos=null,this._update(),this._map&&(this._map.off(`move`,this._update),this._map.on(`mousemove`,this._onMouseMove),this._map.on(`drag`,this._onDrag),this._container&&this._container.classList.add(`maplibregl-popup-track-pointer`),this._map._canvasContainer.classList.add(`maplibregl-track-pointer`)),this}getElement(){return this._container}setText(e){return this.setDOMContent(document.createTextNode(e))}setHTML(e){let t=document.createDocumentFragment(),n=document.createElement(`body`),r;for(n.innerHTML=e;r=n.firstChild,r;)t.appendChild(r);return this.setDOMContent(t)}getMaxWidth(){return this._container?.style.maxWidth}setMaxWidth(e){return this.options.maxWidth=e,this._update(),this}setDOMContent(e){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=s.create(`div`,`maplibregl-popup-content`,this._container);return this._content.appendChild(e),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(e){return this._container&&this._container.classList.add(e),this}removeClassName(e){return this._container&&this._container.classList.remove(e),this}setOffset(e){return this.options.offset=e,this._update(),this}toggleClassName(e){if(this._container)return this._container.classList.toggle(e)}setSubpixelPositioning(e){this.options.subpixelPositioning=e}_createCloseButton(){this.options.closeButton&&(this._closeButton=s.create(`button`,`maplibregl-popup-close-button`,this._content),this._closeButton.type=`button`,this._closeButton.innerHTML=`×`,this._closeButton.addEventListener(`click`,this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;let e=this._container.querySelector(qa);e&&e.focus()}},e.RasterDEMTileSource=fe,e.RasterTileSource=de,e.ScaleControl=class{constructor(e){this._onMove=()=>{Wa(this._map,this._container,this.options)},this.setUnit=e=>{this.options.unit=e,Wa(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},Ua),e)}getDefaultPosition(){return`bottom-left`}onAdd(e){return this._map=e,this._container=s.create(`div`,`maplibregl-ctrl maplibregl-ctrl-scale`,e.getContainer()),this._map.on(`move`,this._onMove),this._onMove(),this._container}onRemove(){s.remove(this._container),this._map.off(`move`,this._onMove),this._map=void 0}}
697,e.ScrollZoomHandler=ua,e.Style=Sn,e.TerrainControl=class{constructor(e){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove(`maplibregl-ctrl-terrain`),this._terrainButton.classList.remove(`maplibregl-ctrl-terrain-enabled`),this._map.terrain?(this._terrainButton.classList.add(`maplibregl-ctrl-terrain-enabled`),this._terrainButton.title=this._map._getUIString(`TerrainControl.Disable`)):(this._terrainButton.classList.add(`maplibregl-ctrl-terrain`),this._terrainButton.title=this._map._getUIString(`TerrainControl.Enable`))},this.options=e}onAdd(e){return this._map=e,this._container=s.create(`div`,`maplibregl-ctrl maplibregl-ctrl-group`),this._terrainButton=s.create(`button`,`maplibregl-ctrl-terrain`,this._container),s.create(`span`,`maplibregl-ctrl-icon`,this._terrainButton).setAttribute(`aria-hidden`,`true`),this._terrainButton.type=`button`,this._terrainButton.addEventListener(`click`,this._toggleTerrain),this._updateTerrainIcon(),this._map.on(`terrain`,this._updateTerrainIcon),this._container}onRemove(){s.remove(this._container),this._map.off(`terrain`,this._updateTerrainIcon),this._map=void 0}},e.TwoFingersTouchPitchHandler=aa,e.TwoFingersTouchRotateHandler=ia,e.TwoFingersTouchZoomHandler=na,e.TwoFingersTouchZoomRotateHandler=ha,e.VectorTileSource=F,e.VideoSource=me,e.addSourceType=(e,n)=>t._(void 0,void 0,void 0,(function*(){if(_e(e))throw Error(`A source type called "${e}" already exists.`);((e,t)=>{ge[e]=t})(e,n)})),e.clearPrewarmedResources=function(){let e=ne;e&&(e.isPreloaded()&&e.numActive()===1?(e.release(ee),ne=null):console.warn(`Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()`))},e.createTileMesh=Xt,e.getMaxParallelImageRequests=function(){return t.a.MAX_PARALLEL_IMAGE_REQUESTS},e.getRTLTextPluginStatus=function(){return xe().getRTLTextPluginStatus()},e.getVersion=function(){return Ya},e.getWorkerCount=function(){return te.workerCount},e.getWorkerUrl=function(){return t.a.WORKER_URL},e.importScriptInWorkers=function(e){return ae().broadcast(`IS`,e)},e.prewarm=function(){M().acquire(ee)},e.setMaxParallelImageRequests=function(e){t.a.MAX_PARALLEL_IMAGE_REQUESTS=e},e.setRTLTextPlugin=function(e,t){return xe().setRTLTextPlugin(e,t)},e.setWorkerCount=function(e){te.workerCount=e},e.setWorkerUrl=function(e){t.a.WORKER_URL=e}})),e}))})),wo=Symbol(`MapLibre map context`),To=Symbol(`MapLibre marker context`),Eo=class{#e=ie(null);get _map(){return u(this.#e)}set _map(e){se(this.#e,e)}_listener=void 0;_pending=[];userLayers=new De;userSources=new De;baseTerrain;userTerrain;baseSky;userSky;baseLight;userLight;baseProjection;userProjection;get map(){return this._map}set map(e){this._listener&&=(this._map?.off(`styledata`,this._listener),void 0),this._map=e,this._map&&(this._listener=this._onstyledata.bind(this),this._map.on(`styledata`,this._listener))}addLayer(e,t){if(!this.map)throw Error(`Map is not initialized`);this.userLayers.add(e.id),this.waitForStyleLoaded(n=>{n.addLayer(e,t)})}removeLayer(e){if(!this.map)throw Error(`Map is not initialized`);this.userLayers.delete(e),this.waitForStyleLoaded(t=>{t.getLayer(e)&&t.removeLayer(e)})}addSource(e,t){this.userSources.add(e),this.waitForStyleLoaded(n=>{n.addSource(e,t)})}removeSource(e){this.userSources.delete(e),this.waitForStyleLoaded(t=>{t.getSource(e)&&t.removeSource(e)})}waitForStyleLoaded(e,{signal:t}={}){if(!t?.aborted&&this.map){if(this.map.style._loaded){e(this.map);return}
697this._pending.push(e),t?.addEventListener(`abort`,()=>{this._pending=this._pending.filter(t=>t!==e)})}}_onstyledata(e){let t=e.target;if(t?.style._loaded){for(let e of this._pending)e(t);this._pending=[]}}_mergeUserLayers(e,t){let n=new Set(e.filter(e=>this.userLayers.has(e.id)).map(e=>e.id));if(n.size===0)return t;let r=t.filter(e=>!n.has(e.id)),i=new Set(r.map(e=>e.id)),a=new Map,o=[],s=new Map,c;for(let t=e.length-1;t>=0;t--){let r=e[t];n.has(r.id)?c&&s.set(r.id,c):i.has(r.id)&&(c=r.id)}for(let t of e){if(!n.has(t.id))continue;let e=s.get(t.id);if(e){let n=a.get(e)??[];n.push(t),a.set(e,n)}else o.push(t)}let l=[];for(let e of r){let t=a.get(e.id);t&&l.push(...t),l.push(e)}return l.push(...o),l}setStyle(e){let{userSources:t}=this;if(!e){this.map?.setStyle(null);return}this.map?.setStyle(re(e),{transformStyle:(e,n)=>{if(this.baseLight=n.light,this.baseProjection=n.projection,this.baseSky=n.sky,this.baseTerrain=n.terrain,!e)return n;let r=n.sources;for(let[n,i]of Object.entries(e.sources))t.has(n)&&(r[n]=i);let i=this._mergeUserLayers(e.layers??[],n.layers??[]);return{...n,light:this.userLight||this.baseLight,projection:this.userProjection||this.baseProjection,sky:this.userSky||this.baseSky,terrain:this.userTerrain||this.baseTerrain,sources:r,layers:i}}})}};function Do(){let e=new Eo;return ce(wo,e),e}function Oo(){let e=oe(wo);if(!e)throw Error(`Map context not found`);return e}var ko=class{#e=ie(null);get marker(){return u(this.#e)}set marker(e){se(this.#e,e)}};function Ao(){let e=new ko;return ce(To,e),e}function jo(e,t,n){n&&e?.on(t,n);let r=n;return()=>{r&&e?.off(t,r)}}function Mo(e,t){return Array.isArray(e)?[t.lng,t.lat]:`lon`in e?{lon:t.lng,lat:t.lat}:{lng:t.lng,lat:t.lat}}var No=b(Co()),Po=D(`<div><!></div>`);function Fo(t,i){A(i,!0);let o=`boxzoomcancel.boxzoomend.boxzoomstart.click.contextmenu.cooperativegestureprevented.data.dataabort.dataloading.dblclick.drag.dragend.dragstart.error.idle.load.mousedown.mousemove.mouseout.mouseover.mouseup.move.moveend.movestart.pitch.pitchend.pitchstart.projectiontransition.remove.render.resize.rotate.rotateend.rotatestart.rollstart.roll.rollend.sourcedata.sourcedataabort.sourcedataloading.styledata.styledataloading.styleimagemissing.terrain.tiledataloading.touchcancel.touchend.touchmove.touchstart.webglcontextlost.webglcontextrestored.wheel.zoom.zoomend.zoomstart`.split(`.`),s=new Set(o);function c(e){return e.startsWith(`on`)&&s.has(e.slice(2))}let l=v(i,`map`,15,void 0),f=v(i,`class`,3,``),h=v(i,`inlineStyle`,3,``),y=v(i,`autoloadGlobalCss`,3,!0),b=v(i,`padding`,15,void 0),x=v(i,`bearing`,15,void 0),C=v(i,`center`,15,void 0),E=v(i,`elevation`,15,void 0),D=v(i,`interactive`,3,void 0),M=v(i,`pitch`,15,void 0),ae=v(i,`roll`,15,void 0),oe=v(i,`style`,19,()=>({version:8,sources:{},layers:[]})),ce=v(i,`zoom`,15,void 0),le=v(i,`globalState`,19,()=>({})),N=j(i,`$$slots.$$events.$$legacy.map.class.inlineStyle.children.autoloadGlobalCss.padding.fov.cursor.showTileBoundaries.showPadding.showCollisionBoxes.showOverdrawInspector.repaint.vertices.bearing.bearingSnap.center.centerClampedToGround.elevation.interactive.maxBounds.maxPitch.maxZoom.minPitch.minZoom.pitch.pixelRatio.renderWorldCopies.roll.style.transformRequest.zoom.zoomSnap.anisotropicFilterPitch.transformConstrain.boxZoom.cancelPendingTileRequestsWhileZooming.cooperativeGestures.doubleClickZoom.dragPan.dragRotate.keyboard.scrollZoom.touchPitch.touchZoomRotate.transformCameraUpdate.globalState`.split(`.`)),P=p(()=>f());a(()=>{if(y()&&globalThis.window&&!document.querySelector(`link[href$="/maplibre-gl.css"]`)){let e=document.createElement(`link`);e.rel=`stylesheet`,e.href=`https://unpkg.com/maplibre-gl@${No.getVersion()}/dist/maplibre-gl.css`,document.head.appendChild(e)}});let ue=ie(void 0),F=Do();a(()=>{if(l()||!u(ue))return;let e={container:u(ue),...Object.fromEntries(Object.entries({bearing:x(),bearingSnap:i.bearingSnap,center:C(),centerClampedToGround:i.centerClampedToGround,elevation:E(),interactive:D(),maxBounds:i.maxBounds,maxPitch:i.maxPitch,maxZoom:i.maxZoom,minPitch:i.minPitch,minZoom:i.minZoom,pitch:M(),pixelRatio:i.pixelRatio,renderWorldCopies:i.renderWorldCopies,roll:ae(),style:oe(),transformRequest:i.transformRequest,zoom:ce(),zoomSnap:i.zoomSnap,anisotropicFilterPitch:i.anisotropicFilterPitch,transformConstrain:i.transformConstrain,boxZoom:i.boxZoom,cancelPendingTileRequestsWhileZooming:i.cancelPendingTileRequestsWhileZooming,cooperativeGestures:i.cooperativeGestures,doubleClickZoom:i.doubleClickZoom,dragPan:i.dragPan,dragRotate:i.dragRotate,keyboard:i.keyboard,scrollZoom:i.scrollZoom,touchPitch:i.touchPitch,touchZoomRotate:i.touchZoomRotate,transformCameraUpdate:i.transformCameraUpdate,...N}).filter(([e,t])=>t!==void 0&&!c(e)))};l(new No.Map(e)),F.map=l()??null,b()!==void 0&&l().setPadding(b()),i.cursor&&(l().getCanvas().style.cursor=i.cursor),l().on(`move`,()=>{if(!l())return;let e=l().transform;if(C()){let t=No.LngLat.convert(C());(t.lat!==e.center.lat||t.lng!==e.center.lng)&&C(Mo(C(),e.center))}else C(e.center);e.zoom!==ce()&&ce(e.zoom),e.bearing!==x()&&x(e.bearing),e.pitch!==M()&&M(e.pitch),e.roll!==ae()&&ae(e.roll),e.elevation!==E()&&E(e.elevation),b()&&!e.isPaddingEqual(b())&&b(l().getPadding())})});let de=new Map;a(()=>
697{if(!F.map)return;let e=Object.entries(re(le())),t=new Set(e.map(([e])=>e)),n=new AbortController;return F.waitForStyleLoaded(n=>{for(let e of de.keys())t.has(e)||n.setGlobalStateProperty(e,null);for(let[t,r]of e)(!de.has(t)||de.get(t)!==r)&&n.setGlobalStateProperty(t,r);de=new Map(e)},{signal:n.signal}),()=>n.abort()});function fe(e){a(()=>jo(l(),e,N[`on${e}`]))}o.forEach(fe);let I=!0,pe=P.split(/\s+/).filter(Boolean);a(()=>{let e=(f()??``).split(/\s+/).filter(Boolean);if(!u(ue)||I){pe=e;return}let t=new Set(e);for(let e of pe)t.has(e)||u(ue).classList.remove(e);let n=new Set(pe);for(let t of e)n.has(t)||u(ue).classList.add(t);pe=e}),a(()=>{i.fov!==void 0&&l()?.setVerticalFieldOfView(i.fov)}),a(()=>{i.cursor,l()&&!I&&(l().getCanvas().style.cursor=i.cursor??``)}),a(()=>{l()&&i.showTileBoundaries!==void 0&&!I&&l(l().showTileBoundaries=i.showTileBoundaries,!0)}),a(()=>{l()&&i.showPadding!==void 0&&!I&&l(l().showPadding=i.showPadding,!0)}),a(()=>{l()&&i.showCollisionBoxes!==void 0&&!I&&l(l().showCollisionBoxes=i.showCollisionBoxes,!0)}),a(()=>{l()&&i.showOverdrawInspector!==void 0&&!I&&l(l().showOverdrawInspector=i.showOverdrawInspector,!0)}),a(()=>{l()&&i.repaint!==void 0&&!I&&l(l().repaint=i.repaint,!0)}),a(()=>{l()&&i.vertices!==void 0&&!I&&l(l().vertices=i.vertices,!0)}),a(()=>{if(C(),ce(),x(),M(),ae(),E(),b(),!I&&l()){let e=l()._getTransformForUpdate(),t={},n=!1;function r(e,t){return Math.abs(e-t)>1e-14}if(C()){let i=No.LngLat.convert(C());(r(e.center.lat,i.lat)||r(e.center.lng,i.lng))&&(t.center=C(),n=!0)}if(ce()!==void 0&&r(e.zoom,ce())&&(t.zoom=ce(),n=!0),x()!==void 0&&r(e.bearing,x())&&(t.bearing=x(),n=!0),M()!==void 0&&e.pitch!==M()&&(t.pitch=M(),n=!0),ae()!==void 0&&e.roll!==ae()&&(t.roll=ae(),n=!0),E()!==void 0&&e.elevation!==E()&&(t.elevation=E(),n=!0),b()&&!e.isPaddingEqual(b())&&(t.padding=b(),n=!0),n){let e=l(),n=e.stop;e.stop=()=>e._stop(!0),e.jumpTo(t,{reactivity:!0}),e.stop=n}}}),a(()=>{i.bearingSnap,l()&&i.bearingSnap!==void 0&&!I&&l(l()._bearingSnap=i.bearingSnap,!0)}),a(()=>{i.zoomSnap,l()&&i.zoomSnap!==void 0&&!I&&l().getZoomSnap()!==i.zoomSnap&&l().setZoomSnap(i.zoomSnap)}),a(()=>{i.centerClampedToGround,I||l()?.setCenterClampedToGround(i.centerClampedToGround??!1)}),a(()=>{i.maxBounds,I||l()?.setMaxBounds(i.maxBounds)}),a(()=>{i.maxPitch,I||l()?.setMaxPitch(i.maxPitch)}),a(()=>{i.maxZoom,I||l()?.setMaxZoom(i.maxZoom)}),a(()=>{i.minPitch,I||l()?.setMinPitch(i.minPitch)}),a(()=>{i.minZoom,I||l()?.setMinZoom(i.minZoom)}),a(()=>{i.pixelRatio,!I&&i.pixelRatio!==void 0&&l()?.setPixelRatio(i.pixelRatio)}),a(()=>{i.renderWorldCopies,I||l()?.setRenderWorldCopies(i.renderWorldCopies??null)}),a(()=>{oe(),I||F.setStyle(oe())}),a(()=>{i.transformRequest,I||l()?.setTransformRequest(i.transformRequest)}),a(()=>{i.transformConstrain,l()&&!I&&l().setTransformConstrain(i.transformConstrain??null)}),a(()=>{i.anisotropicFilterPitch,l()&&!I&&l().setAnisotropicFilterPitch(i.anisotropicFilterPitch??null)}),a(()=>{i.boxZoom!==void 0&&!I&&(i.boxZoom?l()?.boxZoom.enable():l()?.boxZoom.disable())}),a(()=>{l()&&i.cancelPendingTileRequestsWhileZooming!==void 0&&!I&&l(l().cancelPendingTileRequestsWhileZooming=i.cancelPendingTileRequestsWhileZooming,!0)}),a(()=>{i.cooperativeGestures!==void 0&&!I&&(i.cooperativeGestures?l()?.cooperativeGestures.enable():l()?.cooperativeGestures.disable())}),a(()=>{i.doubleClickZoom!==void 0&&!I&&(i.doubleClickZoom?l()?.doubleClickZoom.enable():l()?.doubleClickZoom.disable())}),a(()=>{i.dragPan!==void 0&&!I&&(i.dragPan?l()?.dragPan.enable(i.dragPan):l()?.dragPan.disable())}),a(()=>{i.dragRotate!==void 0&&!I&&(i.dragRotate?l()?.dragRotate.enable():l()?.dragRotate.disable())}),a(()=>{i.keyboard!==void 0&&!I&&(i.keyboard?l()?.keyboard.enable():l()?.keyboard.disable())}),a(()=>{i.scrollZoom!==void 0&&!I&&(i.scrollZoom?l()?.scrollZoom.enable(i.scrollZoom):l()?.scrollZoom.disable())}),a(()=>{i.touchPitch!==void 0&&!I&&(i.touchPitch?l()?.touchPitch.enable(i.touchPitch):l()?.touchPitch.disable())}),a(()=>{i.touchZoomRotate!==void 0&&!I&&(i.touchZoomRotate?l()?.touchZoomRotate.enable(i.touchZoomRotate):l()?.touchZoomRotate.disable())}),a(()=>{i.transformCameraUpdate,l()&&!I&&l(l().transformCameraUpdate=i.transformCameraUpdate??null,!0)}),a(()=>{I=!1}),te(()=>{F.map=null,l()?.remove(),l(void 0)});var me=Po(),he=m(me),ge=t=>{var n=e();d(g(n),()=>i.children??_,l),O(t,n)};n(he,e=>{l()&&e(ge)}),T(me),k(me,e=>se(ue,e),()=>u(ue)),r(()=>{ne(me,1,ee(P)),w(me,h())}),O(t,me),S()}function Io(e,t){A(t,!0);let n=j(t,[`$$slots`,`$$events`,`$$legacy`]),r=Oo();if(!r.map)throw Error(`Map instance is not initialized.`);a(()=>{r.userSky=re(n),r.waitForStyleLoaded(e=>{e.setSky(r.userSky)})}),te(()=>{r.userSky=void 0,r.waitForStyleLoaded(e=>{e.setSky(r.baseSky)})}),S()}function Lo(e,t){A(t,!0);let n=j(t,[`$$slots`,`$$events`,`$$legacy`]),r=Oo();if(!r.map)throw Error(`Map instance is not initialized.`);a(()=>{r.userProjection=re(n),r.userProjection.type||(r.userProjection.type=`mercator`),r.waitForStyleLoaded(e=>{e.setProjection(r.userProjection)})}),te(()=>{r.userProjection=void 0,r.waitForStyleLoaded(e=>{e.setProjection(r.baseProjection??{type:`mercator`})})}),S()}var Ro=D(`<div><!></div>`),zo=D(`<!> <!>`,1);function Bo(e,t){A(t,!0);let r=ie(null),i=v(t,`lnglat`,15),o=v(t,`class`,3,void 0),s=j(t,[`$$slots`,`$$events`,`$$legacy`,`lnglat`,`class`,`draggable`,`rotation`,`rotationAlignment`,`pitchAlignment`,`opacity`,`color`,`opacityWhenCovered`,`offset`,`subpixelPositioning`,`content`,`children`,`ondrag`,`ondragstart`,`ondragend`,`onclick`]),c=Oo();if(!c.map)throw Error(`Map instance is not initialized.`);let f=ie(null),h=Ao(),y=p(()=>t.content||t.element?[0,0]:[0,-14]);a(()=>
697{if(u(f))return;if(!c.map)throw Error(`MapLibre is not initialized`);let e={draggable:t.draggable,offset:t.offset,opacity:t.opacity,className:o(),opacityWhenCovered:t.opacityWhenCovered,rotation:t.rotation,color:t.color,rotationAlignment:t.rotationAlignment,pitchAlignment:t.pitchAlignment,subpixelPositioning:t.subpixelPositioning,...s};if(t.content){if(!u(r))throw Error(`Marker container is not initialized`);e.element=u(r)}se(f,new No.Marker(e)),h.marker=u(f),u(f).setLngLat(re(i())).addTo(c.map),u(f).on(`drag`,e=>{u(f)&&i(Mo(i(),u(f).getLngLat())),t.ondrag?.(e)})});let b=!0;a(()=>jo(u(f),`dragstart`,t.ondragstart)),a(()=>jo(u(f),`dragend`,t.ondragend)),a(()=>jo(u(f),`click`,t.onclick)),a(()=>{t.draggable,b||u(f)?.setDraggable(t.draggable)}),a(()=>{i()&&!b&&u(f)?.setLngLat(i())}),a(()=>{t.rotation,b||u(f)?.setRotation(t.rotation)}),a(()=>{t.offset,b||u(f)?.setOffset(t.offset??y)}),a(()=>{t.opacity,t.opacityWhenCovered,b||u(f)?.setOpacity(t.opacity,t.opacityWhenCovered)}),a(()=>{t.rotationAlignment,b||u(f)?.setRotationAlignment(t.rotationAlignment)}),a(()=>{t.pitchAlignment,b||u(f)?.setPitchAlignment(t.pitchAlignment)}),a(()=>{t.subpixelPositioning,b||u(f)?.setSubpixelPositioning(t.subpixelPositioning??!1)});let x=[];a(()=>{let e=(o()??``).split(/\s+/).filter(Boolean);if(!u(f)||b){x=e;return}let t=new Set(e);for(let e of x)t.has(e)||u(f).removeClassName(e);let n=new Set(x);for(let t of e)n.has(t)||u(f).addClassName(t);x=e}),a(()=>{b=!1}),te(()=>{u(f)?.remove()});var C=zo(),w=g(C),E=e=>{var n=Ro();d(m(n),()=>t.content),T(n),k(n,e=>se(r,e),()=>u(r)),O(e,n)};n(w,e=>{t.content&&e(E)}),d(l(w,2),()=>t.children??_),O(e,C),S()}var Vo={sources:{avif:``+new URL(`../assets/mierune-pin.DHNd92Lh.avif`,import.meta.url).href+` 90w, `+new URL(`../assets/mierune-pin.DFLJzZDm.avif`,import.meta.url).href+` 180w`,webp:``+new URL(`../assets/mierune-pin.C0qfBg84.webp`,import.meta.url).href+` 90w, `+new URL(`../assets/mierune-pin.COI_7KNs.webp`,import.meta.url).href+` 180w`,png:``+new URL(`../assets/mierune-pin.SIQrfXCH.png`,import.meta.url).href+` 90w, `+new URL(`../assets/mierune-pin.BrYPcUeC.png`,import.meta.url).href+` 180w`},img:{src:``+new URL(`../assets/mierune-pin.BrYPcUeC.png`,import.meta.url).href,w:180,h:396}},Ho=D(`<img alt="Mierune Pin" class="w-24"/>`),Uo=D(`<source/>`),Wo=D(`<picture><!> <img alt="Mierune Pin" class="w-24"/></picture>`),Go=D(`<!> <!> <!>`,1),Ko=D(`<div class="container my-12 sm:my-24"><div class="relative w-full overflow-hidden rounded-lg bg-mierune-blue"><!></div></div>`);function qo(t,i){A(i,!1);let a={"sky-color":`#4B99EC`,"sky-horizon-blend":.4,"horizon-color":`#EBFDFF`,"horizon-fog-blend":.8,"fog-color":`#EBFDFF`,"fog-ground-blend":.4};x();var o=Ko(),s=m(o);Fo(m(s),{class:`aspect-square w-full sm:aspect-video`,style:`https://d1xk691xmd0fei.cloudfront.net/latest/mierune_streets_style/style.json`,center:[141.3448,43.059],zoom:15.4,pitch:60,bearing:80,localIdeographFontFamily:!1,attributionControl:{compact:!0},children:(t,i)=>{var o=Go(),s=g(o);Lo(s,{type:`globe`});var c=l(s,2);Io(c,ae(()=>a)),Bo(l(c,2),{lnglat:[141.34562,43.05906],anchor:`center`,content:t=>{var i=e(),a=g(i),o=t=>{var i=e(),a=g(i),o=e=>{var t=Ho();r(()=>C(t,`src`,Vo)),O(e,t)};n(a,e=>{e(o,-1)}),O(t,i)},s=e=>{var t=Wo(),n=m(t);N(n,1,()=>Object.entries(Vo.sources),f,(e,t)=>{var n=y(()=>le(u(t),2));let i=()=>u(n)[0],a=()=>u(n)[1];var o=Uo();r(()=>{C(o,`srcset`,a()),C(o,`type`,`image/`+i())}),O(e,o)});var i=l(n,2);T(t),r(()=>{C(i,`src`,Vo.img.src),C(i,`width`,Vo.img.w),C(i,`height`,Vo.img.h)}),O(e,t)};n(a,e=>{typeof Vo==`string`?e(o):e(s,-1)}),O(t,i)},$$slots:{content:!0}}),O(t,o)},$$slots:{default:!0}}),T(s),T(o),O(t,o),S()}var Jo=o(`<svg viewBox="0 0 98 96" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.3
69762 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z"></path></svg>`);function Yo(e,t){let n=v(t,`width`,3,`100px`);var i=Jo();r(()=>C(i,`width`,n())),O(e,i)}var Xo=o(`<svg class="translate-x-1" viewBox="0 0 96 81" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_1_2)"><path d="M89.52 69.9085C86.4867 69.9085 84.028 72.3658 84.028 75.3978C84.028 78.4312 86.4867 80.8898 89.52 80.8898C92.552 80.8898 95.0107 78.4312 95.0107 75.3978C95.0107 72.3658 92.552 69.9085 89.52 69.9085ZM89.52 70.5338C92.2027 70.5338 94.3853 72.7165 94.3853 75.3978C94.3853 78.0818 92.2027 80.2645 89.52 80.2645C86.836 80.2645 84.6533 78.0818 84.6533 75.3978C84.6533 72.7165 86.836 70.5338 89.52 70.5338Z"></path><path d="M89.3787 75.1872H88.404V73.2125H89.6373C90.276 73.2125 91.0013 73.3165 91.0013 74.1512C91.0013 75.1112 90.2667 75.1872 89.3733 75.1872M90.3493 75.7739C91.1707 75.7805 91.8427 75.1219 91.852 74.3005C91.852 74.2672 91.8507 74.2325 91.8493 74.1992C91.8493 73.0832 91.176 72.5512 89.7947 72.5512H87.5627V78.3925H88.4013V75.8459H89.4333L89.4573 75.8779L91.0573 78.3925H91.956L90.2333 75.7885L90.3493 75.7739"></path><path d="M74.3854 0.00585315H5.928C2.692 -0.0301469 0.04 2.56051 0 5.79651V74.5379C0.0373333 77.7752 2.692 80.3699 5.928 80.3339H74.3854C77.6294 80.3765 80.292 77.7805 80.3374 74.5379V5.79119C80.2907 2.55119 77.628 -0.0421521 74.3854 0.000514609M23.8254 68.4512H11.9093V30.1152H23.8254V68.4512ZM17.8733 24.8765C14.0587 24.8765 10.9653 21.7832 10.9653 17.9699C10.964 14.1552 14.056 11.0605 17.8707 11.0592C21.6867 11.0592 24.78 14.1525 24.78 17.9672C24.7814 21.7819 21.6893 24.8752 17.8733 24.8765ZM68.4507 68.4512H56.548V49.8099C56.548 45.3645 56.468 39.6419 50.3574 39.6419C44.1574 39.6419 43.208 44.4859 43.208 49.4872V68.4499H31.304V30.1152H42.732V35.3539H42.892C45.2227 31.3712 49.5547 28.9912 54.1667 29.1632C66.232 29.1632 68.456 37.0979 68.456 47.4219L68.4507 68.4512Z"></path></g><defs><clipPath id="clip0_1_2"><rect width="95.0106" height="80.8899"></rect></clipPath></defs></svg>`);function Zo(e,t){let n=v(t,`width`,3,`100px`);var i=Xo();r(()=>C(i,`width`,n())),O(e,i)}var Qo=o(`<svg viewBox="0 0 56.583 55.974" xmlns="http://www.w3.org/2000/svg"><path d="M58.065 87.847c10.899 0 25.824-.553 36.54-.275 14.377.368 19.78 6.63 19.962 22.1.183 8.748 0 33.796 0 33.796H99.012c0-21.915.093-25.532 0-32.438-.182-6.077-1.918-8.974-6.588-9.527-4.945-.553-18.804-.093-18.804-.093v42.058H58.065Z" transform="translate(-58.065 -87.494)"></path></svg>`);function $o(e,t){let n=v(t,`width`,3,`100px`);var i=Qo();r(()=>C(i,`width`,n())),O(e,i)}var es=o(`<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg"><path d="M222.77,227.36C206.59,244.62,184.6,250.29,158,253c-53.89,5.44-100.57-18.62-106.22-78.75a117.62,117.62,0,0,1,14.75-69.77L59.84,78.2c-1.07-4.56,3.13-8.9,7.58-7.82L90.49,76A90.6,90.6,0,0,1,139.1,55.5a89.09,89.09,0,0,1,44.64,7l21.68-13.12a6.41,6.41,0,0,1,9.64,5.21l1.25,30.93h0c16.68,17.6,28,41.64,30.6,68.95,1.45,15.42-.15,27.22-4.24,38.47-1.91,5.27-2.49,9.72,1,14.13,3.34,4.26,8.64,12.53,14.56,11.15,8.88-2.08,18.39-1.53,24.27,2.14A150.16,150.16,0,1,0,258.12,254a35.42,35.42,0,0,1-14.33-5.68C234.86,242.33,226.93,236.7,222.77,227.36Z"></path><path d="M208.92,117.38l14-1.71-.2-2.53-14.37,1.76c-.62-1.81-1.31-3.59-2.08-5.32l15.83-5-.5-3.17-16.84,5.83c-11.29-23.68-35.71-38.06-63.36-35.26A65,65,0,0,0,85.24,120l-16.47-2.49-.18,3.24,16.22,1.75
697a49.84,49.84,0,0,0-1.08,4.91l-14.14,1.13.12,2.53L83.5,130a51.14,51.14,0,0,0-.41,5.7l-12.6,5.15.62,3.13,12-5.62c0,1.68.1,2.57.25,4.26,3.34,35.46,33,42.48,68.35,38.9s63.15-16.4,59.81-51.86c-.16-1.7-.4-2.59-.69-4.24l13,2.82.3-2.86-13.63-2.59A48.79,48.79,0,0,0,208.92,117.38Z"></path></svg>`);function ts(e,t){let n=v(t,`width`,3,`100px`);var i=es();r(()=>C(i,`width`,n())),O(e,i)}var ns=o(`<svg viewBox="0 0 88.3 88.3" xmlns="http://www.w3.org/2000/svg"><g><path class="st0" d="M3.9,83.3h17c0.9,0,1.7-0.5,2.2-1.2L69.9,5.2c0.6-1-0.1-2.2-1.3-2.2H52.5c-0.8,0-1.5,0.4-1.9,1.1L3.1,81.9 698 C2.8,82.5,3.2,83.3,3.9,83.3z"></path><path class="st0" d="M62.5,82.1l22.1-35.5c0.7-1.1-0.1-2.5-1.4-2.5h-16c-0.6,0-1.2,0.3-1.5,0.8L43,81.2c-0.6,0.9,0.1,2.1,1.2,2.1 699 h16.3C61.3,83.3,62.1,82.9,62.5,82.1z"></path></g></svg>`);function rs(e,t){let n=v(t,`width`,3,`100px`);var i=ns();r(()=>C(i,`width`,n())),O(e,i)}var is=o(`<svg viewBox="0 0 1200 1227" xmlns="http://www.w3.org/2000/svg"><path d="M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z"></path></svg>`);function as(e,t){let n=v(t,`width`,3,`100px`);var i=is();r(()=>C(i,`width`,n())),O(e,i)}var os=o(`<svg viewBox="0 0 28.57 20" xmlns="http://www.w3.org/2000/svg"><g><path d="M27.9727 3.12324C27.6435 1.89323 26.6768 0.926623 25.4468 0.597366C23.2197 2.24288e-07 14.285 0 14.285 0C14.285 0 5.35042 2.24288e-07 3.12323 0.597366C1.89323 0.926623 0.926623 1.89323 0.597366 3.12324C2.24288e-07 5.35042
6990 10 0 10C0 10 2.24288e-07 14.6496 0.597366 16.8768C0.926623 18.1068 1.89323 19.0734 3.12323 19.4026C5.35042 20 14.285 20 14.285 20C14.285 20 23.2197 20 25.4468 19.4026C26.6768 19.0734 27.6435 18.1068 27.9727 16.8768C28.5701 14.6496 28.5701 10 28.5701 10C28.5701 10 28.5677 5.35042 27.9727 3.12324Z"></path><path d="M11.4253 14.2854L18.8477 10.0004L11.4253 5.71533V14.2854Z"></path></g></svg>`);function ss(e,t){let n=v(t,`width`,3,`100px`);var i=os();r(()=>C(i,`width`,n())),O(e,i)}var cs=o(`<svg viewBox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><path d="M120.12 208.29c-3.88-2.9-7.77-4.35-11.65-4.35H91.03v104.47h17.45c3.88 0 7.77-1.45 11.65-4.35 3.88-2.9 5.82-7.25 5.82-13.06v-69.65c-.01-5.8-1.96-10.16-5.83-13.06zM404.1 32H43.9C19.7 32 .06 51.59 0 75.8v360.4C.06 460.41 19.7 480 43.9 480h360.2c24.21 0 43.84-19.59 43.9-43.8V75.8c-.06-24.21-19.7-43.8-43.9-43.8zM154.2 291.19c0 18.81-11.61 47.31-48.36 47.25h-46.4V172.98h47.38c35.44 0 47.36 28.46 47.37 47.28l.01 70.93zm100.68-88.66H201.6v38.42h32.57v29.57H201.6v38.41h53.29v29.57h-62.18c-11.16.29-20.44-8.53-20.72-19.69V193.7c-.27-11.15 8.56-20.41 19.71-20.69h63.19l-.01 29.52zm103.64 115.29c-13.2 30.75-36.85 24.63-47.44 0l-38.53-144.8h32.57l29.71 113.72 29.57-113.72h32.58l-38.46 144.8z"></path></svg>`);function ls(e,t){let n=v(t,`width`,3,`100px`);var i=cs();r(()=>C(i,`width`,n())),O(e,i)}var us=D(`<a target="_blank" rel="noopener noreferrer"><!></a>`),ds=D(`<div class="container my-12 sm:my-24"><h2 class="text-3xl sm:text-5xl"> </h2> <div class="mt-2 grid grid-cols-[repeat(auto-fit,minmax(4rem,1fr))] place-items-center gap-x-6 gap-y-6 border-t border-mierune-black px-4 pt-9 pb-3 sm:my-6 sm:grid-cols-[repeat(auto-fit,minmax(7rem,1fr))] sm:gap-y-12 sm:py-9"></div></div>`);function fs(e,t){A(t,!1);let n=[{name:`GitHub`,href:`https://github.com/MIERUNE/`,icon:Yo,width:`100%`,hoverClass:`[&_path]:group-hover:fill-black`},{name:`Qiita`,href:`https://qiita.com/organizations/MIERUNE`,icon:ts,width:`100%`,hoverClass:`[&_path]:group-hover:fill-[#56C501]`},{name:`Zenn`,href:`https://zenn.dev/p/mierune`,icon:rs,width:`100%`,hoverClass:`[&_path]:group-hover:fill-[#3EA8FF]`},{name:`DEV Community`,href:`https://dev.to/mierune`,icon:ls,width:`90%`,hoverClass:`[&_path]:group-hover:fill-black`},{name:`note`,href:`https://note.com/mierune`,icon:$o,width:`80%`,hoverClass:`[&_path]:group-hover:fill-black`},{name:`YouTube`,href:`https://www.youtube.com/c/MIERUNE`,icon:ss,width:`100%`,hoverClass:`[&_path:nth-child(1)]:group-hover:fill-[#FF0A00] [&_path:nth-child(2)]:group-hover:fill-white [&_path:nth-child(2)]:fill-mierune-grwhite`},{name:Oa(),href:`https://x.com/MIERUNE_inc`,icon:as,width:`80%`,hoverClass:`[&_path]:group-hover:fill-black`},{name:`LinkedIn`,href:`https://www.linkedin.com/company/mierune/`,icon:Zo,width:`100%`,hoverClass:`[&_path]:group-hover:fill-[#0A66C2]`}];x();var i=ds(),a=m(i),o=m(a,!0);T(a);var s=l(a,2);N(s,5,()=>n,e=>e.name,(e,t)=>{var n=us();P(m(n),()=>u(t).icon,(e,n)=>{n(e,{get width(){return u(t).width}})}),T(n),r(e=>{C(n,`href`,u(t).href),ne(n,1,e)},[()=>ee(de(`group flex size-20 place-items-center justify-center rounded-full bg-mierune-grwhite fill-mierune-dark p-4.5 transition-all hover:scale-120 sm:size-24 sm:p-5.5 [&_path]:transition-colors [&_path]:duration-200`,u(t).hoverClass))]),O(e,n)}),T(s),T(i),r(e=>c(o,e),[()=>Ta()]),O(e,i),S()}var ps=D(`<div class="absolute -z-10"><div class="aspect-1 rounded-full bg-page-about"></div></div>`);function ms(e,t){A(t,!0);let n;M(()=>{Ce(n)}),te(()=>{Te()});let i=new Se(0,{duration:300,easing:we});a(()=>{let e=30+(Math.min(Math.max(t.scrollY,100),900)-100)/800*7470;i.set(e);let r;r=e<=100?(e-30)/70*1:1,n&&t.scrollY>0&&t.scrollY<1e3?(ye(),_e(r)):xe()});var o=ps(),s=m(o);k(s,e=>n=e,()=>n),T(o),r(()=>{w(o,` 700 transform: translate(-${i.current/2}px, -${i.current/2}px); 701 `),w(s,` 702 width: ${i.current??``}px; 703 height: ${i.current??``}px; 704 `)}),O(e,o),S()}var hs=D(`<div class="text-2xl font-semibold tracking-wide sm:text-4xl">Geospatial for Greater Good.</div>`),gs=D(`<!> <div class="relative h-auto w-screen overflow-x-clip overflow-y-visible"><div class="absolute top-[8rem] right-0 bottom-0 left-12 mx-auto max-w-5xl sm:top-7 sm:left-22"><!></div></div> <section class="container my-24"><!> <div><!> <div class="-mr-2 palt text-[2.7rem] font-medium sm:text-[4rem]"> </div></div></section> <div class="py-0 sm:py-16"><!></div> <picture><source type="image/avif"/><source type="image/webp"/><source type="image/jpeg"/><img class="aspect-[2/0.9] w-full object-cover object-[50%_70%]" width="2560" height="1830"/></picture> <!> <!> <div class="grid grid-cols-1 items-center justify-center sm:grid-cols-2"><picture><source type="image/avif"/><source type="image/webp"/><source type="image/png"/><img class="aspect-[2/0.9] w-full object-cover object-[50%_60%]" width="1280" height="854"/></picture> <picture><source type="image/avif"/><source type="image/webp"/><source type="image/png"/><img class="aspect-[2/0.9] w-full object-cover object-[50%_60%]" width="1280" height="854"/></picture> <picture><source type="image/avif"/><source type="image/webp"/><source type="image/png"/><img class="aspect-[2/0.9] w-full object-cover object-[50%_70%]" width="1280" height="854"/></picture> <picture><source type="image/avif"/><source type="image/webp"/><source type="image/png"/><img class="aspect-[2/0.9] w-full object-cover object-[50%_70%]" width="1280" height="854"/></picture></div> <div class="relative mx-auto max-w-5xl"><!> <!> <!></div> <!> <!>`,1);function _s(e,t){A(t,!0);let a=Fe(),o=F(),s=ie(0),d=ie(!1);var f=gs();i(`scroll`,h,()=>{se(s,window.scrollY,!0),se(d,u(s)>200)});var p=g(f);fe(p,{title:`About`,get description(){return a}});var _=l(p,2),v=m(_);ms(m(v),{get scrollY(){return u(s)}}),T(v),T(_);var b=l(_,2),x=m(b);{let e=y(()=>Re());Ee(x,{title:`About`,get subtitle(){return u(e)}})}var w=l(x,2),E=m(w),D=e=>{O(e,hs())};n(E,e=>{o===`ja`&&e(D)});var k=l(E,2),ee=m(k,!0);T(k),T(w),T(b);var te=l(b,2);ja(m(te),{}),T(te);var j=l(te,2),re=m(j);C(re,`srcset`,``+new URL(`../assets/meeting.dEtw41uM.avif`,import.meta.url).href+` 1280w, `+new
704URL(`../assets/meeting.DeLHScMb.avif`,import.meta.url).href+` 2560w`);var M=l(re);C(M,`srcset`,``+new URL(`../assets/meeting.GJdY1G1a.webp`,import.meta.url).href+` 1280w, `+new URL(`../assets/meeting.BEbNnMa-.webp`,import.meta.url).href+` 2560w`);var ae=l(M);C(ae,`srcset`,``+new URL(`../assets/meeting.zuF9Wfns.jpeg`,import.meta.url).href+` 1280w, `+new URL(`../assets/meeting.CTIZmjO_.jpeg`,import.meta.url).href+` 2560w`);var oe=l(ae);C(oe,`src`,``+new URL(`../assets/meeting.CTIZmjO_.jpeg`,import.meta.url).href),T(j);var ce=l(j,2);Q(ce,{});var le=l(ce,2);_o(le,{});var N=l(le,2),P=m(N),ue=m(P);C(ue,`srcset`,``+new URL(`../assets/office_1.C8y15pub.avif`,import.meta.url).href+` 640w, `+new URL(`../assets/office_1.CifNIZvE.avif`,import.meta.url).href+` 1280w`);var de=l(ue);C(de,`srcset`,``+new URL(`../assets/office_1.CkFtfgb5.webp`,import.meta.url).href+` 640w, `+new URL(`../assets/office_1.CebIK1GX.webp`,import.meta.url).href+` 1280w`);var he=l(de);C(he,`srcset`,``+new URL(`../assets/office_1.DBZarjUF.png`,import.meta.url).href+` 640w, `+new URL(`../assets/office_1.C_gZtp6N.png`,import.meta.url).href+` 1280w`);var ge=l(he);C(ge,`src`,``+new URL(`../assets/office_1.C_gZtp6N.png`,import.meta.url).href),T(P);var _e=l(P,2),ve=m(_e);C(ve,`srcset`,``+new URL(`../assets/office_2.UcKCdhbU.avif`,import.meta.url).href+` 640w, `+new URL(`../assets/office_2.BJNssfBx.avif`,import.meta.url).href+` 1280w`);var ye=l(ve);C(ye,`srcset`,``+new URL(`../assets/office_2.Bh6cvd53.webp`,import.meta.url).href+` 640w, `+new URL(`../assets/office_2.Ca-dawX9.webp`,import.meta.url).href+` 1280w`);var be=l(ye);C(be,`srcset`,``+new URL(`../assets/office_2.Tb4IwV63.png`,import.meta.url).href+` 640w, `+new URL(`../assets/office_2.CJUjHjdk.png`,import.meta.url).href+` 1280w`);var xe=l(be);C(xe,`src`,``+new URL(`../assets/office_2.CJUjHjdk.png`,import.meta.url).href),T(_e);var Se=l(_e,2),Ce=m(Se);C(Ce,`srcset`,``+new URL(`../assets/office_3.DTQ466i_.avif`,import.meta.url).href+` 640w, `+new URL(`../assets/office_3.CyRdA09b.avif`,import.meta.url).href+` 1280w`);var we=l(Ce);C(we,`srcset`,``+new URL(`../assets/office_3.sHSthq7i.webp`,import.meta.url).href+` 640w, `+new URL(`../assets/office_3.EyfJE1at.webp`,import.meta.url).href+` 1280w`);var Te=l(we);C(Te,`srcset`,``+new URL(`../assets/office_3.CGeqHC6B.png`,import.meta.url).href+` 640w, `+new URL(`../assets/office_3.BWdNSSHM.png`,import.meta.url).href+` 1280w`);var De=l(Te);C(De,`src`,``+new URL(`../assets/office_3.BWdNSSHM.png`,import.meta.url).href),T(Se);var Oe=l(Se,2),ke=m(Oe);C(ke,`srcset`,``+new URL(`../assets/office_4.BAa8cv4v.avif`,import.meta.url).href+` 640w, `+new URL(`../assets/office_4.Cd0LJxGq.avif`,import.meta.url).href+` 1280w`);var Ae=l(ke);C(Ae,`srcset`,``+new URL(`../assets/office_4.B8rjq8_6.webp`,import.meta.url).href+` 640w, `+new URL(`../assets/office_4.DfOQ58BW.webp`,import.meta.url).href+` 1280w`);var je=l(Ae);C(je,`srcset`,``+new URL(`../assets/office_4.B53Fha2J.png`,import.meta.url).href+` 640w, `+new URL(`../assets/office_4.8bGCGDJC.png`,import.meta.url).href+` 1280w`);var Me=l(je);C(Me,`src`,``+new URL(`../assets/office_4.8bGCGDJC.png`,import.meta.url).href),T(Oe),T(N);var L=l(N,2),Ne=m(L);So(Ne,{});var Pe=l(Ne,2);qo(Pe,{}),fs(l(Pe,2),{}),T(L);var Ie=l(L,2);pe(Ie,{}),I(l(Ie,2),{}),r((e,t,n,r,i,a)=>{ne(w,1,`mt-48 mb-48 flex flex-col items-center justify-center gap-4 transition-colors duration-400 ${u(d)?`text-mierune-white`:`text-mierune-black`}`),c(ee,e),C(oe,`alt`,t),C(ge,`alt`,n),C(xe,`alt`,r),C(De,`alt`,i),C(Me,`alt`,a)},[()=>me(),()=>Ve(),()=>R(),()=>R(),()=>R(),()=>R()]),O(e,f),S()}export{_s as component};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.