@nulib/clover 4.0.0-beta.0 → 4.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Map/MapView.mjs +9 -8
- package/dist/components/Map/maplibre-worker.mjs +7 -0
- package/dist/components/Map/worker.mjs +22 -0
- package/dist/components/Panel/About.mjs +14 -9
- package/dist/components/Split/Split.mjs +9 -2
- package/dist/core/items.mjs +3 -1
- package/dist/core/load.mjs +10 -3
- package/dist/index.d.mts +23 -12
- package/dist/map/index.d.mts +15 -4
- package/dist/templates/index.d.mts +5 -2
- package/dist/templates.css +1 -1
- package/dist/ui/ReadMore.mjs +1 -1
- package/dist/web-components/About-DbrFSVBm.mjs +1 -0
- package/dist/web-components/{AnnotationMenu-BGIYRXW6.mjs → AnnotationMenu-EBjIQpQl.mjs} +1 -1
- package/dist/web-components/{AnnotationState-D2UIgIEC.mjs → AnnotationState-DQTaO6Gz.mjs} +1 -1
- package/dist/web-components/{Annotations-C_tBJHo3.mjs → Annotations-Cb9U7HJ_.mjs} +1 -1
- package/dist/web-components/{Annotations-BhwAv3ah.mjs → Annotations-Dl0SgHBS.mjs} +1 -1
- package/dist/web-components/{Body-DMEERFuB.mjs → Body-DxSz3iST.mjs} +1 -1
- package/dist/web-components/{BodyAlert-BP8voSLv.mjs → BodyAlert-C8EOXz24.mjs} +1 -1
- package/dist/web-components/{Button-Cl02BFDd.mjs → Button-uWgfvqsL.mjs} +1 -1
- package/dist/web-components/{Camera-Dw51CAfF.mjs → Camera-cdCqKMup.mjs} +1 -1
- package/dist/web-components/{Canvas2DBackend-RRN2bEkc.mjs → Canvas2DBackend-CnLEHRs4.mjs} +1 -1
- package/dist/web-components/{CanvasView-B8lMMSou.mjs → CanvasView-BI3YzNdK.mjs} +1 -1
- package/dist/web-components/{CaptionDetails-KLMDv-ec.mjs → CaptionDetails-B80ZhZ7v.mjs} +1 -1
- package/dist/web-components/{ChoiceMenu-CXrVOmJl.mjs → ChoiceMenu-DCp7-co7.mjs} +1 -1
- package/dist/web-components/{Collection-DL4Ui4hF.mjs → Collection-B1Le2_TU.mjs} +1 -1
- package/dist/web-components/{CollectionSelect-DL-bbpwJ.mjs → CollectionSelect-BL_jQog-.mjs} +1 -1
- package/dist/web-components/{Connected-BcjRA5si.mjs → Connected-BxqaRL9o.mjs} +1 -1
- package/dist/web-components/{Connected-B0S1HXQb.mjs → Connected-DCBI-j9H.mjs} +1 -1
- package/dist/web-components/{Connected-Q7iizBb8.mjs → Connected-DkhfVWxd.mjs} +1 -1
- package/dist/web-components/{Contents-ZC8TiGaW.mjs → Contents-zYEGHLfe.mjs} +1 -1
- package/dist/web-components/{ControlMenu-DIoU797-.mjs → ControlMenu-CAHiLAtl.mjs} +1 -1
- package/dist/web-components/{Cue-CJxnDMEy.mjs → Cue-BT2V9VAq.mjs} +1 -1
- package/dist/web-components/Document-BdCjGnJN.mjs +1 -0
- package/dist/web-components/DocumentPanel-X_Rta0Wu.mjs +1 -0
- package/dist/web-components/{DomLayers-BsR2AOy-.mjs → DomLayers-BD4QPbl6.mjs} +1 -1
- package/dist/web-components/{Download-DBksL1C0.mjs → Download-DqU-goFi.mjs} +1 -1
- package/dist/web-components/{EntryBodies-VwEkTVrw.mjs → EntryBodies-DXAQH0vR.mjs} +1 -1
- package/dist/web-components/{ErrorBoundary-Cy9PGoZv.mjs → ErrorBoundary-chQaO-Up.mjs} +1 -1
- package/dist/web-components/{FieldPill-DCJBz6Vj.mjs → FieldPill-CyEssPVm.mjs} +1 -1
- package/dist/web-components/{FrameAnimation-DRbmgGpF.mjs → FrameAnimation-Bb0pOoRl.mjs} +1 -1
- package/dist/web-components/{Gallery-BM7-VJkB.mjs → Gallery-BXU3TcT3.mjs} +1 -1
- package/dist/web-components/{HideToggle-BdYgG7us.mjs → HideToggle-BwMrOBMu.mjs} +1 -1
- package/dist/web-components/{Items-_1Jz3FMs.mjs → Items-DRj1UEpC.mjs} +1 -1
- package/dist/web-components/{Label-CAiJ49eA.mjs → Label-D6aVJB9s.mjs} +1 -1
- package/dist/web-components/LightboxBody-BzXQGMDn.mjs +1 -0
- package/dist/web-components/{Loaded-wQurAeJz.mjs → Loaded-D5xmFRSo.mjs} +1 -1
- package/dist/web-components/{LoadedCanvas-DWz5IK5m.mjs → LoadedCanvas-DOjtxLSe.mjs} +1 -1
- package/dist/web-components/LoadedMap-DouDS2lO.mjs +1 -0
- package/dist/web-components/{Loading-BmA--pzr.mjs → Loading-CBKfwsML.mjs} +1 -1
- package/dist/web-components/{Map-DzVGblIS.mjs → Map-Bcgp_R8H.mjs} +1 -1
- package/dist/web-components/MapView-CD5zkTs8.mjs +1 -0
- package/dist/web-components/{Markup-D91DbxLk.mjs → Markup-C1hMA8wk.mjs} +1 -1
- package/dist/web-components/{MediaBody-BYcVPo2X.mjs → MediaBody-B_Gii4we.mjs} +1 -1
- package/dist/web-components/{MediaBody-FEzH8VVw.mjs → MediaBody-BfrKIPte.mjs} +1 -1
- package/dist/web-components/{Navigator-CIJFA3q1.mjs → Navigator-BSJbEbuJ.mjs} +1 -1
- package/dist/web-components/{Pager-BGwCurxE.mjs → Pager-Di_2hHM3.mjs} +1 -1
- package/dist/web-components/{Panel-B-GXOkzF.mjs → Panel-DbsC8A9V.mjs} +1 -1
- package/dist/web-components/{PanelToggle-BYjV2t1j.mjs → PanelToggle-mUDw73zI.mjs} +1 -1
- package/dist/web-components/{PartOfManifest-ClbGepVM.mjs → PartOfManifest-7eOwURrF.mjs} +1 -1
- package/dist/web-components/{Pending-BspZajh5.mjs → Pending-BPOQ2z1L.mjs} +1 -1
- package/dist/web-components/{Primitives-CTh59wvs.mjs → Primitives-XQO3m1wG.mjs} +1 -1
- package/dist/web-components/{Provider-C6rIiDXH.mjs → Provider-B61118lU.mjs} +1 -1
- package/dist/web-components/{ReadMore-BJ2i-0uN.mjs → ReadMore-BJH-qqte.mjs} +1 -1
- package/dist/web-components/{Root-DkkYDtur.mjs → Root-Dj277K6p.mjs} +1 -1
- package/dist/web-components/Scene-BTWpLeec.mjs +1 -0
- package/dist/web-components/{SceneView-qcW_sT3j.mjs → SceneView-BYo7WmPt.mjs} +1 -1
- package/dist/web-components/{Search-UOneIUcP.mjs → Search-ZV8FFN4p.mjs} +1 -1
- package/dist/web-components/{Sections-we9U9fXq.mjs → Sections-ejwu1_Sm.mjs} +1 -1
- package/dist/web-components/{StandaloneItems-DU8oCFc_.mjs → StandaloneItems-BYaiyCca.mjs} +1 -1
- package/dist/web-components/{Status-Cs5ZvFvL.mjs → Status-YbQK2KzY.mjs} +1 -1
- package/dist/web-components/Timeline-ByyVSd7B.mjs +1 -0
- package/dist/web-components/{Tip-C8J3qsIK.mjs → Tip-IO11xX4x.mjs} +1 -1
- package/dist/web-components/{Transcript-CRL2zToL.mjs → Transcript-D0gUxUoA.mjs} +1 -1
- package/dist/web-components/{annotation-collection-ZPyvpLFc.mjs → annotation-collection-Csv7WIlm.mjs} +1 -1
- package/dist/web-components/{annotations-content-BZChKhJZ.mjs → annotations-content-BS_OFz5Z.mjs} +1 -1
- package/dist/web-components/{body-UntgrmoV.mjs → body-CKjwwFep.mjs} +1 -1
- package/dist/web-components/{canvas-d_U4v_mh.mjs → canvas-CIzpp-Uz.mjs} +1 -1
- package/dist/web-components/{cloverEngine-Dbv-26NP.mjs → cloverEngine-B4LinbSt.mjs} +1 -1
- package/dist/web-components/{content-state-reader-DjdKWjit.mjs → content-state-reader-D1BkpICh.mjs} +1 -1
- package/dist/web-components/{controls-qRYf2jO2.mjs → controls-Dj2BybWb.mjs} +1 -1
- package/dist/web-components/{engine-D8JLgzqq.mjs → engine-BSt8LTso.mjs} +1 -1
- package/dist/web-components/{engines-BwVb9R_A.mjs → engines-CC0OEsVE.mjs} +1 -1
- package/dist/web-components/{fromManifest-UrMJgktp.mjs → fromManifest-BhemHaoA.mjs} +1 -1
- package/dist/web-components/{glyphs-BoX0a88P.mjs → glyphs-drROkef9.mjs} +1 -1
- package/dist/web-components/{hooks-Dp8pjU8l.mjs → hooks-BXzQSllm.mjs} +1 -1
- package/dist/web-components/{imageService-C3yg9DxB.mjs → imageService-dsdmcegU.mjs} +1 -1
- package/dist/web-components/{index-DWxMuwDL.mjs → index-B7nZdqLg.mjs} +1 -1
- package/dist/web-components/index.mjs +1 -1
- package/dist/web-components/{items--Tu7ZM3L.mjs → items-CB2Uk7ts.mjs} +1 -1
- package/dist/web-components/items-jfQ5XzEj.mjs +1 -0
- package/dist/web-components/label-Vbg_cMOJ.mjs +1 -0
- package/dist/web-components/{layout-KL0V-iJu.mjs → layout-mMHI0lsj.mjs} +1 -1
- package/dist/web-components/{link-DRRTY4lY.mjs → link-ZRnv5NFR.mjs} +1 -1
- package/dist/web-components/logo-Boy6u4m2.mjs +1 -0
- package/dist/web-components/{models-BP2qp9nT.mjs → models-D1EE_CmH.mjs} +1 -1
- package/dist/web-components/{nodes-Bf-Fb7e5.mjs → nodes-B7JRwBgl.mjs} +1 -1
- package/dist/web-components/{overlayImage-DdPs2EGY.mjs → overlayImage-0OgQl1TL.mjs} +1 -1
- package/dist/web-components/{panel-CiqEFDzv.mjs → panel-CjXfre-g.mjs} +1 -1
- package/dist/web-components/part-cUiPs2-y.mjs +1 -0
- package/dist/web-components/{playerSurface-i2TJz-F4.mjs → playerSurface-CU5XxI1j.mjs} +1 -1
- package/dist/web-components/{provider-LUmAQSoP.mjs → provider-C1wKfdjb.mjs} +1 -1
- package/dist/web-components/{read-more-BaaO77el.mjs → read-more-DNHNtG-a.mjs} +1 -1
- package/dist/web-components/{rendererSurface-DAvatpMF.mjs → rendererSurface-DhIlOjGT.mjs} +2 -2
- package/dist/web-components/{renderers-Bg4QqawN.mjs → renderers-BMSWEFUR.mjs} +1 -1
- package/dist/web-components/{resource-DzIvB_4m.mjs → resource-DLHocQ1C.mjs} +1 -1
- package/dist/web-components/{search-DgcgsI3I.mjs → search-CLy2Wj01.mjs} +1 -1
- package/dist/web-components/{shared-J3w3gnXD.mjs → shared-YUjOSBKO.mjs} +1 -1
- package/dist/web-components/{show-link-DWRRXSBy.mjs → show-link-CyzYE1eS.mjs} +1 -1
- package/dist/web-components/{sizedImage-DfjlV2-i.mjs → sizedImage-uv_NlE0l.mjs} +1 -1
- package/dist/web-components/{split-m-_XivaW.mjs → split-CYuMjp89.mjs} +1 -1
- package/dist/web-components/{status-DDS7jLNd.mjs → status-Ms5L0ghK.mjs} +1 -1
- package/dist/web-components/{styles-Ypl9KrSK.mjs → styles-CyuM_fB1.mjs} +1 -1
- package/dist/web-components/three.mjs +1 -1
- package/dist/web-components/{thumbnail-BZvLSwWW.mjs → thumbnail-c2K_iQsD.mjs} +1 -1
- package/dist/web-components/{tip-BXByhOJ9.mjs → tip-dWhupWSr.mjs} +1 -1
- package/dist/web-components/{toggle-AS72kq6v.mjs → toggle-BQTjR1I3.mjs} +1 -1
- package/dist/web-components/{useContainerName-DCbE5JXi.mjs → useContainerName-BpJ3IWY0.mjs} +1 -1
- package/dist/web-components/{useNearViewport-CyoK3l8W.mjs → useNearViewport-CtLyYg9n.mjs} +1 -1
- package/dist/web-components/{useScrollTrack-dLFWnT8N.mjs → useScrollTrack-WbG28FPD.mjs} +1 -1
- package/dist/web-components/viewer/{AnnotationMenu-Dd4tnzNV.mjs → AnnotationMenu-ZKyBeyUU.mjs} +1 -1
- package/dist/web-components/viewer/{AnnotationState-DZaSy5lH.mjs → AnnotationState-DO33zokc.mjs} +1 -1
- package/dist/web-components/viewer/{Annotations-D1h-Yi5J.mjs → Annotations-BOjhr5ks.mjs} +1 -1
- package/dist/web-components/viewer/{Annotations-sj79EMen.mjs → Annotations-DkLueFLK.mjs} +1 -1
- package/dist/web-components/viewer/{Canvas2DBackend-CkvI0wUT.mjs → Canvas2DBackend-CAmzJD5P.mjs} +1 -1
- package/dist/web-components/viewer/{CaptionDetails-B_JdNjJ7.mjs → CaptionDetails-DOJlUtOn.mjs} +1 -1
- package/dist/web-components/viewer/{ChoiceMenu-xa51a1DV.mjs → ChoiceMenu-BDq6H34G.mjs} +1 -1
- package/dist/web-components/viewer/{Collection-CxuLCspj.mjs → Collection-By3puO0V.mjs} +1 -1
- package/dist/web-components/viewer/{Connected-BSUBc3Ci.mjs → Connected-DZNO2CPf.mjs} +1 -1
- package/dist/web-components/viewer/{Connected-CPIxNjF2.mjs → Connected-ESg5y49m.mjs} +1 -1
- package/dist/web-components/viewer/{Contents-DNh9mnsF.mjs → Contents-B_FqDwTW.mjs} +1 -1
- package/dist/web-components/viewer/{ControlMenu-DdgIvBdf.mjs → ControlMenu-DdQl-dTf.mjs} +1 -1
- package/dist/web-components/viewer/{Cue-90H9_dXz.mjs → Cue-BTRHfiWQ.mjs} +1 -1
- package/dist/web-components/viewer/Document-B9_PyD2w.mjs +1 -0
- package/dist/web-components/viewer/DocumentPanel-CtEJVPoE.mjs +1 -0
- package/dist/web-components/viewer/{DomLayers-Dybz_aJv.mjs → DomLayers-DRdQSEtN.mjs} +1 -1
- package/dist/web-components/viewer/{EntryBodies-DGXjFP3N.mjs → EntryBodies-CJuTRcTq.mjs} +1 -1
- package/dist/web-components/viewer/{FieldPill-Icmd98OY.mjs → FieldPill-06uwrNwE.mjs} +1 -1
- package/dist/web-components/viewer/{FrameAnimation-DJZN3Rd4.mjs → FrameAnimation-3dcDHf5q.mjs} +1 -1
- package/dist/web-components/viewer/{Gallery-CEp3-bh2.mjs → Gallery-BYasTqZc.mjs} +1 -1
- package/dist/web-components/viewer/{HideToggle-DB6HTmAO.mjs → HideToggle-BxkNMX-T.mjs} +1 -1
- package/dist/web-components/viewer/{LightboxBody-ClQ4yrTh.mjs → LightboxBody-CXMc1xOH.mjs} +1 -1
- package/dist/web-components/{MapView-BJaN7VBI.mjs → viewer/MapView-DCerrRRV.mjs} +1 -1
- package/dist/web-components/viewer/{MediaBody-BzMXMHIF.mjs → MediaBody-BdkJcyGy.mjs} +1 -1
- package/dist/web-components/viewer/{MediaBody-BBbSMT1i.mjs → MediaBody-waF4KvHp.mjs} +1 -1
- package/dist/web-components/viewer/{Navigator-Duc69Yes.mjs → Navigator-CKwDgG2x.mjs} +1 -1
- package/dist/web-components/viewer/{PartOfManifest-X9_q-2t6.mjs → PartOfManifest-DalHJFwC.mjs} +1 -1
- package/dist/web-components/viewer/{Search-S4N5QU4R.mjs → Search-Di_QQfDb.mjs} +1 -1
- package/dist/web-components/viewer/{StandaloneItems-BO4VyWRW.mjs → StandaloneItems-B9J6nnWn.mjs} +1 -1
- package/dist/web-components/viewer/{Transcript-BbDaS064.mjs → Transcript-aHOixfna.mjs} +1 -1
- package/dist/web-components/viewer/{annotation-collection-BjZ1DAHq.mjs → annotation-collection-I2UkdobR.mjs} +1 -1
- package/dist/web-components/viewer/{annotations-content-jn3n5Y2-.mjs → annotations-content-D-i4j9pD.mjs} +1 -1
- package/dist/web-components/viewer/{cloverEngine-CjuYjUhI.mjs → cloverEngine-CynoKdta.mjs} +1 -1
- package/dist/web-components/viewer/{content-state-reader-CPiShIjP.mjs → content-state-reader-D7GIMcKK.mjs} +1 -1
- package/dist/web-components/viewer/{host-yWi4R1bP.mjs → host-DlCltI_c.mjs} +1 -1
- package/dist/web-components/viewer/index.mjs +1 -1
- package/dist/web-components/viewer/{link-CwE-fg5G.mjs → link-BX-wzj1u.mjs} +1 -1
- package/dist/web-components/viewer/{overlayImage-BpOgqsZ0.mjs → overlayImage-CHqn1fG8.mjs} +1 -1
- package/dist/web-components/viewer/{renderers-L-IlGI1r.mjs → renderers-C_wdmw9v.mjs} +1 -1
- package/dist/web-components/viewer/{search-DWkwRPo_.mjs → search-BHLyNxZ6.mjs} +1 -1
- package/dist/web-components/viewer/{viewer--TreVlJ_.mjs → viewer-ipqAA-xQ.mjs} +5 -5
- package/dist/web-components/viewer/{vtt-1ZJwtElI.mjs → vtt-XiS_-5Ao.mjs} +1 -1
- package/dist/web-components/viewer-DEHIsIHd.mjs +1 -0
- package/dist/web-components/{vtt-GFssZH8Y.mjs → vtt-DYAOuQoK.mjs} +1 -1
- package/dist/web-components/worker-CjXN0dku.mjs +1 -0
- package/package.json +3 -2
- package/dist/web-components/About-uKa1wfDr.mjs +0 -1
- package/dist/web-components/Document-DHBRAFEK.mjs +0 -1
- package/dist/web-components/DocumentPanel-CqvE2pu9.mjs +0 -1
- package/dist/web-components/LightboxBody-DyhUZiDf.mjs +0 -1
- package/dist/web-components/LoadedMap-DIeW313M.mjs +0 -1
- package/dist/web-components/Scene-B_PU_TiX.mjs +0 -1
- package/dist/web-components/Timeline-WtYZ1bIJ.mjs +0 -1
- package/dist/web-components/items-W2vrwArM.mjs +0 -1
- package/dist/web-components/label-CYQ7tVl6.mjs +0 -1
- package/dist/web-components/logo-CnQUCB3Y.mjs +0 -1
- package/dist/web-components/part-CUBY90_b.mjs +0 -1
- package/dist/web-components/viewer/Document-CNCpzkiN.mjs +0 -1
- package/dist/web-components/viewer/DocumentPanel-BdG4TVLE.mjs +0 -1
- package/dist/web-components/viewer/MapView-BVSdybIC.mjs +0 -1
- package/dist/web-components/viewer-DyV864Qe.mjs +0 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
const source = 'var Xy=Object.create,Ru=Object.defineProperty,Wy=Object.getOwnPropertyDescriptor,Zy=Object.getOwnPropertyNames,Hy=Object.getPrototypeOf,Jy=Object.prototype.hasOwnProperty,xs=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),Ky=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(var n=Zy(t),a=0,s=n.length,o;a<s;a++)o=n[a],!Jy.call(e,o)&&o!==r&&Ru(e,o,{get:(l=>t[l]).bind(null,o),enumerable:!(i=Wy(t,o))||i.enumerable});return e},Qy=(e,t,r)=>(r=e==null?{}:Xy(Hy(e)),Ky(Ru(r,"default",{value:e,enumerable:!0}),e));function B(e,t){this.x=e,this.y=t}B.prototype={clone(){return new B(this.x,this.y)},add(e){return this.clone()._add(e)},sub(e){return this.clone()._sub(e)},multByPoint(e){return this.clone()._multByPoint(e)},divByPoint(e){return this.clone()._divByPoint(e)},mult(e){return this.clone()._mult(e)},div(e){return this.clone()._div(e)},rotate(e){return this.clone()._rotate(e)},rotateAround(e,t){return this.clone()._rotateAround(e,t)},matMult(e){return this.clone()._matMult(e)},unit(){return this.clone()._unit()},perp(){return this.clone()._perp()},round(){return this.clone()._round()},mag(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals(e){return this.x===e.x&&this.y===e.y},dist(e){return Math.sqrt(this.distSqr(e))},distSqr(e){let t=e.x-this.x,r=e.y-this.y;return t*t+r*r},angle(){return Math.atan2(this.y,this.x)},angleTo(e){return Math.atan2(this.y-e.y,this.x-e.x)},angleWith(e){return this.angleWithSep(e.x,e.y)},angleWithSep(e,t){return Math.atan2(this.x*t-this.y*e,this.x*e+this.y*t)},_matMult(e){let t=e[0]*this.x+e[1]*this.y,r=e[2]*this.x+e[3]*this.y;return this.x=t,this.y=r,this},_add(e){return this.x+=e.x,this.y+=e.y,this},_sub(e){return this.x-=e.x,this.y-=e.y,this},_mult(e){return this.x*=e,this.y*=e,this},_div(e){return this.x/=e,this.y/=e,this},_multByPoint(e){return this.x*=e.x,this.y*=e.y,this},_divByPoint(e){return this.x/=e.x,this.y/=e.y,this},_unit(){return this._div(this.mag()),this},_perp(){let e=this.y;return this.y=this.x,this.x=-e,this},_rotate(e){let t=Math.cos(e),r=Math.sin(e),i=t*this.x-r*this.y,n=r*this.x+t*this.y;return this.x=i,this.y=n,this},_rotateAround(e,t){let r=Math.cos(e),i=Math.sin(e),n=t.x+r*(this.x-t.x)-i*(this.y-t.y),a=t.y+i*(this.x-t.x)+r*(this.y-t.y);return this.x=n,this.y=a,this},_round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},constructor:B},B.convert=function(e){if(e instanceof B)return e;if(Array.isArray(e))return new B(+e[0],+e[1]);if(e.x!==void 0&&e.y!==void 0)return new B(+e.x,+e.y);throw Error("Expected [x, y] or {x, y} point format")};let vs;function e1(){return vs??(vs=typeof OffscreenCanvas<"u"&&!!new OffscreenCanvas(1,1).getContext("2d")&&typeof createImageBitmap=="function"),vs}let zn;function t1(){if(zn==null&&(zn=!1,e1())){let e=new OffscreenCanvas(5,5).getContext("2d",{willReadFrequently:!0});if(e){for(let r=0;r<25;r++){let i=r*4;e.fillStyle=`rgb(${i},${i+1},${i+2})`,e.fillRect(r%5,Math.floor(r/5),1,1)}let t=e.getImageData(0,0,5,5).data;for(let r=0;r<100;r++)if(r%4!=3&&t[r]!==r){zn=!0;break}}}return zn||!1}var lt=typeof Float32Array<"u"?Float32Array:Array;function r1(){var e=new lt(9);return lt!=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 $u(){var e=new lt(3);return lt!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function i1(e){var t=e[0],r=e[1],i=e[2];return Math.sqrt(t*t+r*r+i*i)}function Nu(e,t,r){var i=new lt(3);return i[0]=e,i[1]=t,i[2]=r,i}function n1(e,t){var r=t[0],i=t[1],n=t[2],a=r*r+i*i+n*n;return a>0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e}function a1(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function bs(e,t,r){var i=t[0],n=t[1],a=t[2],s=r[0],o=r[1],l=r[2];return e[0]=n*l-a*o,e[1]=a*s-i*l,e[2]=i*o-n*s,e}var s1=i1;(function(){var e=$u();return function(t,r,i,n,a,s){var o,l;for(r||(r=3),i||(i=0),l=n?Math.min(n*r+i,t.length):t.length,o=i;o<l;o+=r)e[0]=t[o],e[1]=t[o+1],e[2]=t[o+2],a(e,e,s),t[o]=e[0],t[o+1]=e[1],t[o+2]=e[2];return t}})();function o1(){var e=new lt(4);return lt!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function l1(e,t){var r=t[0],i=t[1],n=t[2],a=t[3],s=r*r+i*i+n*n+a*a;return s>0&&(s=1/Math.sqrt(s)),e[0]=r*s,e[1]=i*s,e[2]=n*s,e[3]=a*s,e}function u1(e,t,r){var i=t[0],n=t[1],a=t[2],s=t[3];return e[0]=r[0]*i+r[4]*n+r[8]*a+r[12]*s,e[1]=r[1]*i+r[5]*n+r[9]*a+r[13]*s,e[2]=r[2]*i+r[6]*n+r[10]*a+r[14]*s,e[3]=r[3]*i+r[7]*n+r[11]*a+r[15]*s,e}(function(){var e=o1();return function(t,r,i,n,a,s){var o,l;for(r||(r=4),i||(i=0),l=n?Math.min(n*r+i,t.length):t.length,o=i;o<l;o+=r)e[0]=t[o],e[1]=t[o+1],e[2]=t[o+2],e[3]=t[o+3],a(e,e,s),t[o]=e[0],t[o+1]=e[1],t[o+2]=e[2],t[o+3]=e[3];return t}})();function Uu(){var e=new lt(4);return lt!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function h1(e,t,r){r*=.5;var i=Math.sin(r);return e[0]=i*t[0],e[1]=i*t[1],e[2]=i*t[2],e[3]=Math.cos(r),e}function ws(e,t,r,i){var n=t[0],a=t[1],s=t[2],o=t[3],l=r[0],u=r[1],h=r[2],c=r[3],p,f=n*l+a*u+s*h+o*c,d,y,m;return f<0&&(f=-f,l=-l,u=-u,h=-h,c=-c),1-f>1e-6?(p=Math.acos(f),d=Math.sin(p),y=Math.sin((1-i)*p)/d,m=Math.sin(i*p)/d):(y=1-i,m=i),e[0]=y*n+m*l,e[1]=y*a+m*u,e[2]=y*s+m*h,e[3]=y*o+m*c,e}function c1(e,t){var r=t[0]+t[4]+t[8],i;if(r>0)i=Math.sqrt(r+1),e[3]=.5*i,i=.5/i,e[0]=(t[5]-t[7])*i,e[1]=(t[6]-t[2])*i,e[2]=(t[1]-t[3])*i;else{var n=0;t[4]>t[0]&&(n=1),t[8]>t[n*3+n]&&(n=2);var a=(n+1)%3,s=(n+2)%3;i=Math.sqrt(t[n*3+n]-t[a*3+a]-t[s*3+s]+1),e[n]=.5*i,i=.5/i,e[3]=(t[a*3+s]-t[s*3+a])*i,e[a]=(t[a*3+n]+t[n*3+a])*i,e[s]=(t[s*3+n]+t[n*3+s])*i}return e}var qu=l1;(function(){var e=$u(),t=Nu(1,0,0),r=Nu(0,1,0);return function(i,n,a){var s=a1(n,a);return s<-.999999?(bs(e,t,n),s1(e)<1e-6&&bs(e,r,n),n1(e,e),h1(i,e,Math.PI),i):s>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(bs(e,n,a),i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=1+s,qu(i,i))}})(),function(){var e=Uu(),t=Uu();return function(r,i,n,a,s,o){return ws(e,i,s,o),ws(t,n,a,o),ws(r,e,t,2*o*(1-o)),r}}(),function(){var e=r1();return function(t,r,i,n){return e[0]=i[0],e[3]=i[1],e[6]=i[2],e[1]=n[0],e[4]=n[1],e[7]=n[2],e[2]=-r[0],e[5]=-r[1],e[8]=-r[2],qu(t,c1(t,e))}}();function p1(){var e=new lt(2);return lt!=Float32Array&&(e[0]=0,e[1]=0),e}(function(){var e=p1();return function(t,r,i,n,a,s){var o,l;for(r||(r=2),i||(i=0),l=n?Math.min(n*r+i,t.length):t.length,o=i;o<l;o+=r)e[0]=t[o],e[1]=t[o+1],a(e,e,s),t[o]=e[0],t[o+1]=e[1];return t}})();const xe=8192,f1="__$json__:";function Ln(e){return e instanceof Error?e:Error(typeof e=="string"?e:String(e))}function d1(e){if(e<=0)return 0;if(e>=1)return 1;let t=e*e,r=t*e;return 4*(e<.5?r:3*(e-t)+r-.75)}function bi(e,t,r){return Math.min(r,Math.max(t,e))}function y1(e,t,r){let i=r-t,n=((e-t)%i+i)%i+t;return n===t?r:n}function Xe(e,...t){for(let r of t)for(let i in r)e[i]=r[i];return e}function m1(e){return Math.log(e)/Math.LN2%1==0}function Ds(e,t,r){let i={};for(let n in e)i[n]=t.call(this,e[n],n,e);return i}function g1(e,t,r){let i={};for(let n in e)t.call(this,e[n],n,e)&&(i[n]=e[n]);return i}function _s(e,t){if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!_s(e[r],t[r]))return!1;return!0}if(typeof e=="object"&&e&&t!==null){if(typeof t!="object"||Object.keys(e).length!==Object.keys(t).length)return!1;for(let r in e)if(!_s(e[r],t[r]))return!1;return!0}return e===t}function Ut(e){return Array.isArray(e)?e.map(Ut):typeof e=="object"&&e?Ds(e,Ut):e}const ju={};function Ce(e){ju[e]||(typeof console<"u"&&console.warn(e),ju[e]=!0)}function qt(e,t,r){return(r.y-e.y)*(t.x-e.x)>(t.y-e.y)*(r.x-e.x)}function kr(e){return typeof WorkerGlobalScope<"u"&&e!==void 0&&e instanceof WorkerGlobalScope}function As(e){return typeof ImageBitmap<"u"&&e instanceof ImageBitmap}function x1(e,t,r,i,n){let a=Math.max(-t,0)*4,s=(Math.max(0,r)-r)*i*4+a,o=i*4,l=Math.max(0,t),u=Math.max(0,r),h=Math.min(e.width,t+i),c=Math.min(e.height,r+n);return{rect:{x:l,y:u,width:h-l,height:c-u},layout:[{offset:s,stride:o}]}}async function v1(e,t,r,i,n){if(typeof VideoFrame>"u")throw Error("VideoFrame not supported");let a=new VideoFrame(e,{timestamp:0});try{let s=a?.format;if(!s||!(s.startsWith("BGR")||s.startsWith("RGB")))throw Error(`Unrecognized format ${s}`);let o=s.startsWith("BGR"),l=new Uint8ClampedArray(i*n*4);if(await a.copyTo(l,x1(e,t,r,i,n)),o)for(let u=0;u<l.length;u+=4){let h=l[u];l[u]=l[u+2],l[u+2]=h}return l}finally{a.close()}}let wi,Di;function b1(e,t,r,i,n){let a=e.width,s=e.height;(!wi||!Di)&&(wi=new OffscreenCanvas(a,s),Di=wi.getContext("2d",{willReadFrequently:!0})),wi.width=a,wi.height=s,Di.drawImage(e,0,0,a,s);let o=Di.getImageData(t,r,i,n);return Di.clearRect(0,0,a,s),o.data}async function w1(e,t,r,i,n){if(t1())try{return await v1(e,t,r,i,n)}catch{}return b1(e,t,r,i,n)}function Gu(e,t,r,i){return e.addEventListener(t,r,i),{unsubscribe:()=>{e.removeEventListener(t,r,i)}}}function Yu(e){return e*Math.PI/180}const Xu="AbortError";var Ss=class extends Error{constructor(e=Xu){super(e instanceof Error?e.message:e),this.name=Xu,e instanceof Error&&e.stack&&(this.stack=e.stack)}};function Wu(e){return e instanceof Error&&e.name==="AbortError"}function D1(e){if(e.aborted)throw new Ss(e.reason)}const Es={REGISTERED_PROTOCOLS:{}};function _1(e){return Es.REGISTERED_PROTOCOLS[e.substring(0,e.indexOf("://"))]}function A1(e,t){Es.REGISTERED_PROTOCOLS[e]=t}function S1(e){delete Es.REGISTERED_PROTOCOLS[e]}const Zu="global-dispatcher";var Vn=class extends Error{constructor(e,t,r,i){super(`AJAXError: ${t} (${e}): ${r}`),this.status=e,this.statusText=t,this.url=r,this.body=i}};function Hu(){if(kr(self))return self.worker?.referrer;if(window.location.protocol==="blob:")try{return window.parent.location.href}catch{}return window.location.href}const E1=e=>e.startsWith("file:")||Hu()?.startsWith("file:")&&!/^\\w+:/.test(e);async function T1(e,t){let r=new Request(e.url,{method:e.method||"GET",body:e.body,credentials:e.credentials,headers:e.headers,cache:e.cache,referrer:Hu(),referrerPolicy:e.referrerPolicy,signal:t.signal});e.type==="json"&&!r.headers.has("Accept")&&r.headers.set("Accept","application/json");let i;try{i=await fetch(r)}catch(s){throw Wu(s)?s:new Vn(0,Ln(s).message,e.url,new Blob)}if(!i.ok){let s=await i.blob();throw new Vn(i.status,i.statusText,e.url,s)}let n;n=e.type==="arrayBuffer"||e.type==="image"?i.arrayBuffer():e.type==="json"?i.json():i.text();let a=await n;return D1(t.signal),{data:a,cacheControl:i.headers.get("Cache-Control"),expires:i.headers.get("Expires"),etag:i.headers.get("ETag")}}function F1(e,t){return new Promise((r,i)=>{let n=new XMLHttpRequest;n.open(e.method||"GET",e.url,!0),(e.type==="arrayBuffer"||e.type==="image")&&(n.responseType="arraybuffer");for(let a in e.headers)n.setRequestHeader(a,e.headers[a]);e.type==="json"&&(n.responseType="text",e.headers?.Accept||n.setRequestHeader("Accept","application/json")),n.withCredentials=e.credentials==="include",n.onerror=()=>{i(Error(n.statusText))},n.onload=()=>{if(!t.signal.aborted)if((n.status>=200&&n.status<300||n.status===0)&&n.response!==null){let a=n.response;if(e.type==="json")try{a=JSON.parse(n.response)}catch(s){i(s);return}r({data:a,cacheControl:n.getResponseHeader("Cache-Control"),expires:n.getResponseHeader("Expires"),etag:n.getResponseHeader("ETag")})}else{let a=new Blob([n.response],{type:n.getResponseHeader("Content-Type")});i(new Vn(n.status,n.statusText,e.url,a))}},t.signal.addEventListener("abort",()=>{n.abort(),i(new Ss(t.signal.reason))}),n.send(e.body)})}const Ts=async function(e,t){if(e.url.includes("://")&&!/^https?:|^file:/.test(e.url)){let r=_1(e.url);if(r){let i=await r(e,t);return!i.data&&e.type==="arrayBuffer"?Xe(i,{data:new ArrayBuffer(0)}):i}if(kr(self)&&self.worker?.actor)return self.worker.actor.sendAsync({type:"GR",data:e,targetMapId:Zu},t)}if(!E1(e.url)){if(fetch&&Request&&AbortController&&Object.hasOwn(Request.prototype,"signal"))return T1(e,t);if(kr(self)&&self.worker?.actor)return self.worker.actor.sendAsync({type:"GR",data:e,mustQueue:!0,targetMapId:Zu},t)}return F1(e,t)},I1=(e,t)=>Ts(Xe(e,{type:"json"}),t),k1=(e,t)=>Ts(Xe(e,{type:"arrayBuffer"}),t);function Ju(e,t,r){r[e]?.includes(t)||(r[e]||(r[e]=[]),r[e].push(t))}function Fs(e,t,r){if(r?.[e]){let i=r[e].indexOf(t);i!==-1&&r[e].splice(i,1)}}var Ku=class{constructor(e,t={}){Xe(this,t),this.type=e}},On=class extends Ku{constructor(e,t={}){super("error",Xe({error:e},t))}},C1=class{on(e,t){return this._listeners||(this._listeners={}),Ju(e,t,this._listeners),{unsubscribe:()=>{this.off(e,t)}}}off(e,t){return Fs(e,t,this._listeners),Fs(e,t,this._oneTimeListeners),this}once(e,t){return t?(this._oneTimeListeners||(this._oneTimeListeners={}),Ju(e,t,this._oneTimeListeners),this):new Promise(r=>this.once(e,r))}fire(e,t){let r=typeof e=="string"?new Ku(e,t||{}):e,i=r.type;if(this.listens(i)){r.target=this;let n=this._listeners?.[i]?.slice()??[];for(let o of n)o.call(this,r);let a=this._oneTimeListeners?.[i]?.slice()??[];for(let o of a)Fs(i,o,this._oneTimeListeners),o.call(this,r);let s=this._eventedParent;s&&(Xe(r,typeof this._eventedParentData=="function"?this._eventedParentData():this._eventedParentData),s.fire(r))}else r instanceof On&&console.error(r.error);return this}listens(e){return!!(this._listeners?.[e]?.length||this._oneTimeListeners?.[e]?.length||this._eventedParent?.listens(e))}setEventedParent(e,t){return this._eventedParent=e,this._eventedParentData=t,this}},Qu={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number",length:2},centerAltitude:{type:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},roll:{type:"number",default:0,units:"degrees"},state:{type:"state",default:{}},light:{type:"light"},sky:{type:"sky"},projection:{type:"projection"},terrain:{type:"terrain"},sources:{required:!0,type:"sources"},sprite:{type:"sprite"},glyphs:{type:"string"},"font-faces":{type:"fontFaces"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},volatile:{type:"boolean",default:!1},encoding:{type:"enum",values:{mvt:{},mlt:{}},default:"mvt"},"*":{type:"*"}},source_raster:{type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster_dem:{type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{},custom:{}},default:"mapbox"},redFactor:{type:"number",default:1},blueFactor:{type:"number",default:1},greenFactor:{type:"number",default:1},baseShift:{type:"number",default:0},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{required:!0,type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},filter:{type:"filter"},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterMinPoints:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},"color-relief":{},background:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},layout:["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_color-relief","layout_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},layout_circle:{"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"},"fill-extrusion-rounded-corner-distance":{type:"number",default:0,minimum:0,units:"meters","property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},layout_symbol:{"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image",{"!":"icon-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"padding",default:[2],units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},"viewport-glyph":{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-variable-anchor-offset":{type:"variableAnchorOffsetCollection",requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field",{"!":"text-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-height-offset":{type:"number",default:0,units:"meters",requires:[{"symbol-placement":["point"]}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-height-anchor":{type:"enum",values:{ground:{},absolute:{}},default:"ground",requires:["symbol-height-offset"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},"layout_color-relief":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},filter:{type:"boolean",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"expression_name",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},sky:{"sky-color":{type:"color","property-type":"data-constant",default:"#88C6FC",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-ground-blend":{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-fog-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"sky-horizon-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"atmosphere-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number",minimum:0,default:1}},projection:{type:{type:"projectionDefinition",default:"mercator","property-type":"data-constant",transition:!1,expression:{interpolated:!0,parameters:["zoom"]}}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_color-relief","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-layer-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","global-state"]},"property-type":"data-constant"},"fill-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-layer-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","global-state"]},"property-type":"data-constant"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},resampling:{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"numberArray",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-altitude":{type:"numberArray",default:45,minimum:0,maximum:90,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"colorArray",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"colorArray",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-method":{type:"enum",values:{standard:{},basic:{},combined:{},igor:{},multidirectional:{}},default:"standard",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},resampling:{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},"paint_color-relief":{"color-relief-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"color-relief-color":{type:"color",transition:!1,expression:{interpolated:!0,parameters:["elevation"]},"property-type":"color-ramp"},resampling:{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}},interpolation:{type:"array",value:"interpolation_name",minimum:1},interpolation_name:{type:"enum",values:{linear:{syntax:{overloads:[{parameters:[],"output-type":"interpolation"}],parameters:[]}},exponential:{syntax:{overloads:[{parameters:["base"],"output-type":"interpolation"}],parameters:[{name:"base",type:"number literal"}]}},"cubic-bezier":{syntax:{overloads:[{parameters:["x1","y1","x2","y2"],"output-type":"interpolation"}],parameters:[{name:"x1",type:"number literal"},{name:"y1",type:"number literal"},{name:"x2",type:"number literal"},{name:"y2",type:"number literal"}]}}}}};const D=Qu,B1=["type","source","source-layer","minzoom","maxzoom","filter","layout"];var T=class{constructor(e,t,r,i,n="error"){this.message=(e?`${e}: `:"")+r,i&&(this.identifier=i),this.severity=n,t!=null&&t.__line__&&(this.line=t.__line__)}};const _i={kind:"null"},k={kind:"number"},X={kind:"string"},Q={kind:"boolean"},ut={kind:"color"},Rn={kind:"projectionDefinition"},rr={kind:"object"},H={kind:"value"},P1={kind:"error"},$n={kind:"collator"},Ai={kind:"formatted"},Nn={kind:"padding"},Si={kind:"colorArray"},Un={kind:"numberArray"},Ei={kind:"resolvedImage"},qn={kind:"variableAnchorOffsetCollection"};function Ne(e,t){return{kind:"array",itemType:e,N:t}}function de(e){if(e.kind==="array"){let t=de(e.itemType);return typeof e.N=="number"?`array<${t}, ${e.N}>`:e.itemType.kind==="value"?"array":`array<${t}>`}return e.kind}const M1=[_i,k,X,Q,ut,Rn,Ai,rr,Ne(H),Nn,Un,Si,Ei,qn];function Ti(e,t){if(t.kind==="error")return null;if(e.kind==="array"){if(t.kind==="array"&&(t.N===0&&t.itemType.kind==="value"||!Ti(e.itemType,t.itemType))&&(typeof e.N!="number"||e.N===t.N))return null}else{if(e.kind===t.kind)return null;if(e.kind==="value"){for(let r of M1)if(!Ti(r,t))return null}}return`Expected ${de(e)} but found ${de(t)} instead.`}function Is(e,t){return t.some(r=>r.kind===e.kind)}function ir(e,t){return t.some(r=>r==="null"?e===null:r==="array"?Array.isArray(e):r==="object"?e&&!Array.isArray(e)&&typeof e=="object":r===typeof e)}function jt(e,t){return e.kind==="array"&&t.kind==="array"?e.itemType.kind===t.itemType.kind&&typeof e.N=="number":e.kind===t.kind}const eh=.96422,th=.82521,rh=4/29,ks=6/29,ih=3*ks*ks,z1=Math.PI/180,L1=180/Math.PI;function nh(e){return e%=360,e<0&&(e+=360),e}function ah([e,t,r,i]){e=Cs(e),t=Cs(t),r=Cs(r);let n,a,s=Bs((.2225045*e+.7168786*t+.0606169*r)/1);e===t&&t===r?n=a=s:(n=Bs((.4360747*e+.3850649*t+.1430804*r)/eh),a=Bs((.0139322*e+.0971045*t+.7141733*r)/th));let o=116*s-16;return[o<0?0:o,500*(n-s),200*(s-a),i]}function Cs(e){return e<=.04045?e/12.92:((e+.055)/1.055)**2.4}function Bs(e){return e>.008856451679035631?e**(1/3):e/ih+rh}function sh([e,t,r,i]){let n=(e+16)/116,a=isNaN(t)?n:n+t/500,s=isNaN(r)?n:n-r/200;return n=1*Ms(n),a=eh*Ms(a),s=th*Ms(s),[Ps(3.1338561*a-1.6168667*n-.4906146*s),Ps(-.9787684*a+1.9161415*n+.033454*s),Ps(.0719453*a-.2289914*n+1.4052427*s),i]}function Ps(e){return e=e<=.00304?12.92*e:1.055*e**(1/2.4)-.055,e<0?0:e>1?1:e}function Ms(e){return e>ks?e*e*e:ih*(e-rh)}function V1(e){let[t,r,i,n]=ah(e),a=Math.sqrt(r*r+i*i);return[Math.round(a*1e4)?nh(Math.atan2(i,r)*L1):NaN,a,t,n]}function O1([e,t,r,i]){return e=isNaN(e)?0:e*z1,sh([r,Math.cos(e)*t,Math.sin(e)*t,i])}function R1([e,t,r,i]){e=nh(e),t/=100,r/=100;function n(a){let s=(a+e/30)%12,o=t*Math.min(r,1-r);return r-o*Math.max(-1,Math.min(s-3,9-s,1))}return[n(0),n(8),n(4),i]}const $1=Object.hasOwn||function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};function Fi(e,t){return $1(e,t)?e[t]:void 0}function N1(e){if(e=e.toLowerCase().trim(),e==="transparent")return[0,0,0,0];let t=Fi(U1,e);if(t){let[i,n,a]=t;return[i/255,n/255,a/255,1]}if(e.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(e)){let i=e.length<6?1:2,n=1;return[jn(e.slice(n,n+=i)),jn(e.slice(n,n+=i)),jn(e.slice(n,n+=i)),jn(e.slice(n,n+i)||"ff")]}if(e.startsWith("rgb")){let i=e.match(/^rgba?\\(\\s*([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(i){let[n,a,s,o,l,u,h,c,p,f,d,y]=i,m=[o||" ",h||" ",f].join("");if(m===" "||m===" /"||m===",,"||m===",,,"){let g=[s,u,p].join(""),x=g==="%%%"?100:g===""?255:0;if(x){let b=[Cr(+a/x,0,1),Cr(+l/x,0,1),Cr(+c/x,0,1),d?oh(+d,y):1];if(lh(b))return b}}return}}let r=e.match(/^hsla?\\(\\s*([\\de.+-]+)(?:deg)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(r){let[i,n,a,s,o,l,u,h,c]=r,p=[a||" ",o||" ",u].join("");if(p===" "||p===" /"||p===",,"||p===",,,"){let f=[+n,Cr(+s,0,100),Cr(+l,0,100),h?oh(+h,c):1];if(lh(f))return R1(f)}}}function jn(e){return parseInt(e.padEnd(2,e),16)/255}function oh(e,t){return Cr(t?e/100:e,0,1)}function Cr(e,t,r){return Math.min(Math.max(t,e),r)}function lh(e){return!e.some(Number.isNaN)}const U1={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};function Gt(e,t,r){return e+r*(t-e)}function Br(e,t,r){return e.map((i,n)=>Gt(i,t[n],r))}function q1(e){return e==="rgb"||e==="hcl"||e==="lab"}var qe,ye=(qe=class{constructor(e,t,r,i=1,n=!0){this.r=e,this.g=t,this.b=r,this.a=i,n||(this.r*=i,this.g*=i,this.b*=i,i||this.overwriteGetter("rgb",[e,t,r,i]))}static parse(e){if(e instanceof qe)return e;if(typeof e!="string")return;let t=N1(e);if(t)return new qe(...t,!1)}get rgb(){let{r:e,g:t,b:r,a:i}=this,n=i||1/0;return this.overwriteGetter("rgb",[e/n,t/n,r/n,i])}get hcl(){return this.overwriteGetter("hcl",V1(this.rgb))}get lab(){return this.overwriteGetter("lab",ah(this.rgb))}overwriteGetter(e,t){return Object.defineProperty(this,e,{value:t}),t}toString(){let[e,t,r,i]=this.rgb;return`rgba(${[e,t,r].map(n=>Math.round(n*255)).join(",")},${i})`}static interpolate(e,t,r,i="rgb"){switch(i){case"rgb":{let[n,a,s,o]=Br(e.rgb,t.rgb,r);return new qe(n,a,s,o,!1)}case"hcl":{let[n,a,s,o]=e.hcl,[l,u,h,c]=t.hcl,p,f;if(!isNaN(n)&&!isNaN(l)){let x=l-n;l>n&&x>180?x-=360:l<n&&n-l>180&&(x+=360),p=n+r*x}else isNaN(n)?isNaN(l)?p=NaN:(p=l,(s===1||s===0)&&(f=u)):(p=n,(h===1||h===0)&&(f=a));let[d,y,m,g]=O1([p,f??Gt(a,u,r),Gt(s,h,r),Gt(o,c,r)]);return new qe(d,y,m,g,!1)}case"lab":{let[n,a,s,o]=sh(Br(e.lab,t.lab,r));return new qe(n,a,s,o,!1)}}}},qe.black=new qe(0,0,0,1),qe.white=new qe(1,1,1,1),qe.transparent=new qe(0,0,0,0),qe.red=new qe(1,0,0,1),qe);const j1=["bottom","center","top"];var zs=class{constructor(e,t,r,i,n,a){this.text=e,this.image=t,this.scale=r,this.fontStack=i,this.textColor=n,this.verticalAlign=a}},kt=class Ua{constructor(t){this.sections=t}static fromString(t){return new Ua([new zs(t,null,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(t=>t.text.length!==0||t.image&&t.image.name.length!==0)}static factory(t){return t instanceof Ua?t:Ua.fromString(t)}toString(){return this.sections.length===0?"":this.sections.map(t=>t.text).join("")}},gt=class dn{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof dn)return t;if(typeof t=="number")return new dn([t,t,t,t]);if(Array.isArray(t)&&!(t.length<1||t.length>4)){for(let r of t)if(typeof r!="number")return;switch(t.length){case 1:t=[t[0],t[0],t[0],t[0]];break;case 2:t=[t[0],t[1],t[0],t[1]];break;case 3:t=[t[0],t[1],t[2],t[1]]}return new dn(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,r,i){return new dn(Br(t.values,r.values,i))}},xt=class yn{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof yn)return t;if(typeof t=="number")return new yn([t]);if(Array.isArray(t)){for(let r of t)if(typeof r!="number")return;return new yn(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,r,i){return new yn(Br(t.values,r.values,i))}},tt=class mn{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof mn)return t;if(typeof t=="string"){let i=ye.parse(t);return i?new mn([i]):void 0}if(!Array.isArray(t))return;let r=[];for(let i of t){if(typeof i!="string")return;let n=ye.parse(i);if(!n)return;r.push(n)}return new mn(r)}toString(){return JSON.stringify(this.values)}static interpolate(t,r,i,n="rgb"){let a=[];if(t.values.length!=r.values.length)throw Error(`colorArray: Arrays have mismatched length (${t.values.length} vs. ${r.values.length}), cannot interpolate.`);for(let s=0;s<t.values.length;s++)a.push(ye.interpolate(t.values[s],r.values[s],i,n));return new mn(a)}},he=class extends Error{constructor(e,t){super(e),this.name="RuntimeError",this.path=t}toJSON(){return this.message}};const G1=new Set(["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"]);var vt=class qa{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof qa)return t;if(!(!Array.isArray(t)||t.length<1||t.length%2!=0)){for(let r=0;r<t.length;r+=2){let i=t[r],n=t[r+1];if(typeof i!="string"||!G1.has(i)||!Array.isArray(n)||n.length!==2||typeof n[0]!="number"||typeof n[1]!="number")return}return new qa(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,r,i,n){let a=t.values,s=r.values;if(a.length!==s.length)throw new he(`Cannot interpolate values of different length. from: ${t.toString()}, to: ${r.toString()}`,n);let o=[];for(let l=0;l<a.length;l+=2){if(a[l]!==s[l])throw new he(`Cannot interpolate values containing mismatched anchors. from[${l}]: ${a[l]}, to[${l}]: ${s[l]}`,n);o.push(a[l]);let[u,h]=a[l+1],[c,p]=s[l+1];o.push([Gt(u,c,i),Gt(h,p,i)])}return new qa(o)}},bt=class py{constructor(t){this.name=t.name,this.available=t.available}toString(){return this.name}static fromString(t){return t?new py({name:t,available:!1}):null}},nr=class si{constructor(t,r,i){this.from=t,this.to=r,this.transition=i}toString(){return this.from===this.to&&this.transition===1?this.from:JSON.stringify([this.from,this.to,this.transition])}static interpolate(t,r,i){return new si(t,r,i)}static parse(t){if(t instanceof si)return t;if(Array.isArray(t)&&t.length===3&&typeof t[0]=="string"&&typeof t[1]=="string"&&typeof t[2]=="number")return new si(t[0],t[1],t[2]);if(typeof t=="object"&&typeof t.from=="string"&&typeof t.to=="string"&&typeof t.transition=="number")return new si(t.from,t.to,t.transition);if(typeof t=="string")return new si(t,t,1)}},Ls=class{constructor(e,t,r){this.sensitivity=e?t?"variant":"case":t?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(e,t){return this.collator.compare(e,t)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}};function uh(e,t,r,i){return typeof e=="number"&&e>=0&&e<=255&&typeof t=="number"&&t>=0&&t<=255&&typeof r=="number"&&r>=0&&r<=255?i===void 0||typeof i=="number"&&i>=0&&i<=1?null:`Invalid rgba value [${[e,t,r,i].join(", ")}]: \'a\' must be between 0 and 1.`:`Invalid rgba value [${(typeof i=="number"?[e,t,r,i]:[e,t,r]).join(", ")}]: \'r\', \'g\', and \'b\' must be between 0 and 255.`}function Pr(e){if(e===null||typeof e=="string"||typeof e=="boolean"||typeof e=="number"||e instanceof nr||e instanceof ye||e instanceof Ls||e instanceof kt||e instanceof gt||e instanceof xt||e instanceof tt||e instanceof vt||e instanceof bt)return!0;if(Array.isArray(e)){for(let t of e)if(!Pr(t))return!1;return!0}if(typeof e=="object"){for(let t in e)if(!Pr(e[t]))return!1;return!0}return!1}function we(e){if(e===null)return _i;if(typeof e=="string")return X;if(typeof e=="boolean")return Q;if(typeof e=="number")return k;if(e instanceof ye)return ut;if(e instanceof nr)return Rn;if(e instanceof Ls)return $n;if(e instanceof kt)return Ai;if(e instanceof gt)return Nn;if(e instanceof xt)return Un;if(e instanceof tt)return Si;if(e instanceof vt)return qn;if(e instanceof bt)return Ei;if(Array.isArray(e)){let t=e.length,r;for(let i of e){let n=we(i);if(!r)r=n;else{if(r===n)continue;r=H;break}}return Ne(r||H,t)}return rr}function Ii(e){let t=typeof e;return e===null?"":t==="string"||t==="number"||t==="boolean"?String(e):e instanceof ye||e instanceof nr||e instanceof kt||e instanceof gt||e instanceof xt||e instanceof tt||e instanceof vt||e instanceof bt?e.toString():JSON.stringify(e)}var Mr=class fy{constructor(t,r){this.type=t,this.value=r}static parse(t,r){if(t.length!==2)return r.error(`\'literal\' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!Pr(t[1]))return r.error(`invalid value of type "${typeof t[1]}"`);let i=t[1],n=we(i),a=r.expectedType;return n.kind==="array"&&n.N===0&&a&&a.kind==="array"&&(typeof a.N!="number"||a.N===0)&&(n=a),new fy(n,i)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}};const Y1=["Unknown","Point","LineString","Polygon"];var hh=class{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache=new Map,this.availableImages=null,this.canonical=null}id(){return this.feature&&"id"in this.feature?this.feature.id:null}geometryType(){return this.feature?typeof this.feature.type=="number"?Y1[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=ye.parse(e),this._parseColorCache.set(e,t)),t}};function Gn(e,t,r){let i=e.length-1,n=0,a=i,s=0,o,l;for(;n<=a;)if(s=Math.floor((n+a)/2),o=e[s],l=e[s+1],o<=t){if(s===i||t<l)return s;n=s+1}else if(o>t)a=s-1;else throw new he("Input is not a number.",r);return 0}var Vs=class dy{constructor(t,r,i,n){this.type=t,this.input=r,this.key=n,this.labels=[],this.outputs=[];for(let[a,s]of i)this.labels.push(a),this.outputs.push(s)}static parse(t,r){if(t.length-1<4)return r.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return r.error("Expected an even number of arguments.");let i=r.parse(t[1],1,k);if(!i)return null;let n=[],a=null;r.expectedType&&r.expectedType.kind!=="value"&&(a=r.expectedType);for(let s=1;s<t.length;s+=2){let o=s===1?-1/0:t[s],l=t[s+1],u=s,h=s+1;if(typeof o!="number")return r.error(\'Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.\',u);if(n.length&&n[n.length-1][0]>=o)return r.error(\'Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.\',u);let c=r.parse(l,h,a);if(!c)return null;a||(a=c.type),n.push([o,c])}return new dy(a,i,n,r.key)}evaluate(t){let r=this.labels,i=this.outputs;if(r.length===1)return i[0].evaluate(t);let n=this.input.evaluate(t);if(n<=r[0])return i[0].evaluate(t);let a=r.length;return n>=r[a-1]?i[a-1].evaluate(t):i[Gn(r,n,this.key)].evaluate(t)}eachChild(t){t(this.input);for(let r of this.outputs)t(r)}outputDefined(){return this.outputs.every(t=>t.outputDefined())}};function X1(e,t,r,i){let n=3*e,a=3*(r-e)-n,s=1-n-a,o=3*t,l=3*(i-t)-o,u=1-o-l;return function(h,c=1e-6){if(h<=0)return 0;if(h>=1)return 1;let p=h;for(let y=0;y<8;y++){let m=((s*p+a)*p+n)*p-h;if(Math.abs(m)<c)return((u*p+l)*p+o)*p;let g=(3*s*p+2*a)*p+n;if(Math.abs(g)<1e-6)break;p-=m/g}let f=0,d=1;p=h;for(let y=0;y<20;y++){let m=((s*p+a)*p+n)*p;if(Math.abs(m-h)<c)break;h>m?f=p:d=p,p=(f+d)*.5}return((u*p+l)*p+o)*p}}var wt=class nu{constructor(t,r,i,n,a,s){this.type=t,this.operator=r,this.interpolation=i,this.input=n,this.key=s,this.labels=[],this.outputs=[];for(let[o,l]of a)this.labels.push(o),this.outputs.push(l)}static interpolationFactor(t,r,i,n){let a=0;if(t.name==="exponential")a=Os(r,t.base,i,n);else if(t.name==="linear")a=Os(r,1,i,n);else if(t.name==="cubic-bezier"){let s=t.controlPoints;a=X1(s[0],s[1],s[2],s[3])(Os(r,1,i,n))}return a}static parse(t,r){let[i,n,a,...s]=t;if(!Array.isArray(n)||n.length===0)return r.error("Expected an interpolation type expression.",1);if(n[0]==="linear")n={name:"linear"};else if(n[0]==="exponential"){let u=n[1];if(typeof u!="number")return r.error("Exponential interpolation requires a numeric base.",1,1);n={name:"exponential",base:u}}else if(n[0]==="cubic-bezier"){let u=n.slice(1);if(u.length!==4||u.some(h=>typeof h!="number"||h<0||h>1))return r.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:u}}else return r.error(`Unknown interpolation type ${String(n[0])}`,1,0);if(t.length-1<4)return r.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return r.error("Expected an even number of arguments.");if(a=r.parse(a,2,k),!a)return null;let o=[],l=null;(i==="interpolate-hcl"||i==="interpolate-lab")&&r.expectedType!=Si?l=ut:r.expectedType&&r.expectedType.kind!=="value"&&(l=r.expectedType);for(let u=0;u<s.length;u+=2){let h=s[u],c=s[u+1],p=u+3,f=u+4;if(typeof h!="number")return r.error(\'Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.\',p);if(o.length&&o[o.length-1][0]>=h)return r.error(\'Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.\',p);let d=r.parse(c,f,l);if(!d)return null;l||(l=d.type),o.push([h,d])}return!jt(l,k)&&!jt(l,Rn)&&!jt(l,ut)&&!jt(l,Nn)&&!jt(l,Un)&&!jt(l,Si)&&!jt(l,qn)&&!jt(l,Ne(k))?r.error(`Type ${de(l)} is not interpolatable.`):new nu(l,i,n,a,o,r.key)}evaluate(t){let r=this.labels,i=this.outputs;if(r.length===1)return i[0].evaluate(t);let n=this.input.evaluate(t);if(n<=r[0])return i[0].evaluate(t);let a=r.length;if(n>=r[a-1])return i[a-1].evaluate(t);let s=Gn(r,n,this.key),o=r[s],l=r[s+1],u=nu.interpolationFactor(this.interpolation,n,o,l),h=i[s].evaluate(t),c=i[s+1].evaluate(t);switch(this.operator){case"interpolate":switch(this.type.kind){case"number":return Gt(h,c,u);case"color":return ye.interpolate(h,c,u);case"padding":return gt.interpolate(h,c,u);case"colorArray":return tt.interpolate(h,c,u);case"numberArray":return xt.interpolate(h,c,u);case"variableAnchorOffsetCollection":return vt.interpolate(h,c,u,this.key);case"array":return Br(h,c,u);case"projectionDefinition":return nr.interpolate(h,c,u)}case"interpolate-hcl":switch(this.type.kind){case"color":return ye.interpolate(h,c,u,"hcl");case"colorArray":return tt.interpolate(h,c,u,"hcl")}case"interpolate-lab":switch(this.type.kind){case"color":return ye.interpolate(h,c,u,"lab");case"colorArray":return tt.interpolate(h,c,u,"lab")}}}eachChild(t){t(this.input);for(let r of this.outputs)t(r)}outputDefined(){return this.outputs.every(t=>t.outputDefined())}};function Os(e,t,r,i){let n=i-r,a=e-r;return n===0?0:t===1?a/n:(t**+a-1)/(t**+n-1)}const ar={color:ye.interpolate,number:Gt,padding:gt.interpolate,numberArray:xt.interpolate,colorArray:tt.interpolate,variableAnchorOffsetCollection:vt.interpolate,array:Br};var ch=class yy{constructor(t){this.type=Ai,this.sections=t}static parse(t,r){if(t.length<2)return r.error("Expected at least one argument.");let i=t[1];if(!Array.isArray(i)&&typeof i=="object")return r.error("First argument must be an image or text section.");let n=[],a=!1;for(let s=1;s<=t.length-1;++s){let o=t[s];if(a&&typeof o=="object"&&!Array.isArray(o)){a=!1;let l=null;if(o["font-scale"]&&(l=r.parse(o["font-scale"],1,k),!l))return null;let u=null;if(o["text-font"]&&(u=r.parse(o["text-font"],1,Ne(X)),!u))return null;let h=null;if(o["text-color"]&&(h=r.parse(o["text-color"],1,ut),!h))return null;let c=null;if(o["vertical-align"]){if(typeof o["vertical-align"]=="string"&&!j1.includes(o["vertical-align"]))return r.error(`\'vertical-align\' must be one of: \'bottom\', \'center\', \'top\' but found \'${o["vertical-align"]}\' instead.`);if(c=r.parse(o["vertical-align"],1,X),!c)return null}let p=n[n.length-1];p.scale=l,p.font=u,p.textColor=h,p.verticalAlign=c}else{let l=r.parse(t[s],1,H);if(!l)return null;let u=l.type.kind;if(u!=="string"&&u!=="value"&&u!=="null"&&u!=="resolvedImage")return r.error("Formatted text type must be \'string\', \'value\', \'image\' or \'null\'.");a=!0,n.push({content:l,scale:null,font:null,textColor:null,verticalAlign:null})}}return new yy(n)}evaluate(t){return new kt(this.sections.map(r=>{let i=r.content.evaluate(t);return we(i)===Ei?new zs("",i,null,null,null,r.verticalAlign?r.verticalAlign.evaluate(t):null):new zs(Ii(i),null,r.scale?r.scale.evaluate(t):null,r.font?r.font.evaluate(t).join(","):null,r.textColor?r.textColor.evaluate(t):null,r.verticalAlign?r.verticalAlign.evaluate(t):null)}))}eachChild(t){for(let r of this.sections)t(r.content),r.scale&&t(r.scale),r.font&&t(r.font),r.textColor&&t(r.textColor),r.verticalAlign&&t(r.verticalAlign)}outputDefined(){return!1}};function ph(e,t,r=0,i=e.length-1,n=W1){for(;i>r;){if(i-r>600){let l=i-r+1,u=t-r+1,h=Math.log(l),c=.5*Math.exp(2*h/3),p=.5*Math.sqrt(h*c*(l-c)/l)*(u-l/2<0?-1:1);ph(e,t,Math.max(r,Math.floor(t-u*c/l+p)),Math.min(i,Math.floor(t+(l-u)*c/l+p)),n)}let a=e[t],s=r,o=i;for(ki(e,r,t),n(e[i],a)>0&&ki(e,r,i);s<o;){for(ki(e,s,o),s++,o--;n(e[s],a)<0;)s++;for(;n(e[o],a)>0;)o--}n(e[r],a)===0?ki(e,r,o):(o++,ki(e,o,i)),o<=t&&(r=o+1),t<=o&&(i=o-1)}}function ki(e,t,r){let i=e[t];e[t]=e[r],e[r]=i}function W1(e,t){return e<t?-1:+(e>t)}function Yn(e,t){if(e.length<=1)return[e];let r=[],i,n;for(let a of e){let s=H1(a);s!==0&&(a.area=Math.abs(s),n===void 0&&(n=s<0),n===s<0?(i&&r.push(i),i=[a]):i.push(a))}if(i&&r.push(i),t>1)for(let a=0;a<r.length;a++)r[a].length<=t||(ph(r[a],t,1,r[a].length-1,Z1),r[a]=r[a].slice(0,t));return r}function Z1(e,t){return t.area-e.area}function H1(e){let t=0;for(let r=0,i=e.length,n=i-1,a,s;r<i;n=r++)a=e[r],s=e[n],t+=(s.x-a.x)*(a.y+s.y);return t}const Xn={string:X,number:k,boolean:Q,object:rr};var Ct=class my{constructor(t,r,i){this.type=t,this.args=r,this.key=i}static parse(t,r){if(t.length<2)return r.error("Expected at least one argument.");let i=1,n,a=t[0];if(a==="array"){let o;if(t.length>2){let u=t[1];if(typeof u!="string"||!(u in Xn)||u==="object")return r.error(\'The item type argument of "array" must be one of string, number, boolean\',1);o=Xn[u],i++}else o=H;let l;if(t.length>3){if(t[2]!==null&&(typeof t[2]!="number"||t[2]<0||t[2]!==Math.floor(t[2])))return r.error(\'The length argument to "array" must be a positive integer literal\',2);l=t[2],i++}n=Ne(o,l)}else{if(!Xn[a])throw Error(`Types doesn\'t contain name = ${a}`);n=Xn[a]}let s=[];for(;i<t.length;i++){let o=r.parse(t[i],i,H);if(!o)return null;s.push(o)}return new my(n,s,r.key)}evaluate(t){for(let r=0;r<this.args.length;r++){let i=this.args[r].evaluate(t);if(!Ti(this.type,we(i)))return i;if(r===this.args.length-1)throw new he(`Expected value to be of type ${de(this.type)}, but found ${de(we(i))} instead.`,this.key)}throw Error()}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every(t=>t.outputDefined())}};const fh={"to-boolean":Q,"to-color":ut,"to-number":k,"to-string":X};var zr=class gy{constructor(t,r,i){this.type=t,this.args=r,this.key=i}static parse(t,r){if(t.length<2)return r.error("Expected at least one argument.");let i=t[0];if(!fh[i])throw Error(`Can\'t parse ${i} as it is not part of the known types`);if((i==="to-boolean"||i==="to-string")&&t.length!==2)return r.error("Expected one argument.");let n=fh[i],a=[];for(let s=1;s<t.length;s++){let o=r.parse(t[s],s,H);if(!o)return null;a.push(o)}return new gy(n,a,r.key)}evaluate(t){switch(this.type.kind){case"boolean":return!!this.args[0].evaluate(t);case"color":{let r,i;for(let n of this.args){if(r=n.evaluate(t),i=null,r instanceof ye)return r;if(typeof r=="string"){let a=t.parseColor(r);if(a)return a}else if(Array.isArray(r)&&(i=r.length<3||r.length>4?`Invalid rgba value ${JSON.stringify(r)}: expected an array containing either three or four numeric values.`:uh(r[0],r[1],r[2],r[3]),!i))return new ye(r[0]/255,r[1]/255,r[2]/255,r[3])}throw new he(i||`Could not parse color from value \'${typeof r=="string"?r:JSON.stringify(r)}\'`,this.key)}case"padding":{let r;for(let i of this.args){r=i.evaluate(t);let n=gt.parse(r);if(n)return n}throw new he(`Could not parse padding from value \'${typeof r=="string"?r:JSON.stringify(r)}\'`,this.key)}case"numberArray":{let r;for(let i of this.args){r=i.evaluate(t);let n=xt.parse(r);if(n)return n}throw new he(`Could not parse numberArray from value \'${typeof r=="string"?r:JSON.stringify(r)}\'`,this.key)}case"colorArray":{let r;for(let i of this.args){r=i.evaluate(t);let n=tt.parse(r);if(n)return n}throw new he(`Could not parse colorArray from value \'${typeof r=="string"?r:JSON.stringify(r)}\'`,this.key)}case"variableAnchorOffsetCollection":{let r;for(let i of this.args){r=i.evaluate(t);let n=vt.parse(r);if(n)return n}throw new he(`Could not parse variableAnchorOffsetCollection from value \'${typeof r=="string"?r:JSON.stringify(r)}\'`,this.key)}case"number":{let r=null;for(let i of this.args){if(r=i.evaluate(t),r===null)return 0;let n=Number(r);if(!isNaN(n))return n}throw new he(`Could not convert ${JSON.stringify(r)} to number.`,this.key)}case"formatted":return kt.fromString(Ii(this.args[0].evaluate(t)));case"resolvedImage":return bt.fromString(Ii(this.args[0].evaluate(t)));case"projectionDefinition":{let r=this.args[0].evaluate(t);if(nr.parse(r))return r;throw new he(`Could not parse projectionDefinition from value \'${typeof r=="string"?r:JSON.stringify(r)}\'`,this.key)}default:return Ii(this.args[0].evaluate(t))}}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every(t=>t.outputDefined())}},dh=class xy{constructor(t,r){this.type=r.type,this.bindings=[].concat(t),this.result=r}evaluate(t){return this.result.evaluate(t)}eachChild(t){for(let r of this.bindings)t(r[1]);t(this.result)}static parse(t,r){if(t.length<4)return r.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);let i=[];for(let a=1;a<t.length-1;a+=2){let s=t[a];if(typeof s!="string")return r.error(`Expected string, but found ${typeof s} instead.`,a);if(/[^a-zA-Z0-9_]/.test(s))return r.error("Variable names must contain only alphanumeric characters or \'_\'.",a);let o=r.parse(t[a+1],a+1);if(!o)return null;i.push([s,o])}let n=r.parse(t[t.length-1],t.length-1,r.expectedType,i);return n?new xy(i,n):null}outputDefined(){return this.result.outputDefined()}},yh=class vy{constructor(t,r){this.type=r.type,this.name=t,this.boundExpression=r}static parse(t,r){if(t.length!==2||typeof t[1]!="string")return r.error("\'var\' expression requires exactly one string literal argument.");let i=t[1];return r.scope.has(i)?new vy(i,r.scope.get(i)):r.error(`Unknown variable "${i}". Make sure "${i}" has been bound in an enclosing "let" expression before using it.`,1)}evaluate(t){return this.boundExpression.evaluate(t)}eachChild(){}outputDefined(){return!1}},J1=class by{constructor(t,r,i,n){this.type=t,this.index=r,this.input=i,this.key=n}static parse(t,r){if(t.length!==3)return r.error(`Expected 2 arguments, but found ${t.length-1} instead.`);let i=r.parse(t[1],1,k),n=r.parse(t[2],2,Ne(r.expectedType||H));if(!i||!n)return null;let a=n.type;return new by(a.itemType,i,n,r.key)}evaluate(t){let r=this.index.evaluate(t),i=this.input.evaluate(t);if(r<0)throw new he(`Array index out of bounds: ${r} < 0.`,this.key);if(r>=i.length)throw new he(`Array index out of bounds: ${r} > ${i.length-1}.`,this.key);if(r!==Math.floor(r))throw new he(`Array index must be an integer, but found ${r} instead.`,this.key);return i[r]}eachChild(t){t(this.index),t(this.input)}outputDefined(){return!1}},K1=class wy{constructor(t,r,i){this.needle=t,this.haystack=r,this.key=i,this.type=Q}static parse(t,r){if(t.length!==3)return r.error(`Expected 2 arguments, but found ${t.length-1} instead.`);let i=r.parse(t[1],1,H),n=r.parse(t[2],2,H);return!i||!n?null:Is(i.type,[Q,X,k,_i,H])?new wy(i,n,r.key):r.error(`Expected first argument to be of type boolean, string, number or null, but found ${de(i.type)} instead`)}evaluate(t){let r=this.needle.evaluate(t),i=this.haystack.evaluate(t);if(!i)return!1;if(!ir(r,["boolean","string","number","null"]))throw new he(`Expected first argument to be of type boolean, string, number or null, but found ${de(we(r))} instead.`,this.key);if(!ir(i,["string","array"]))throw new he(`Expected second argument to be of type array or string, but found ${de(we(i))} instead.`,this.key);return i.indexOf(r)>=0}eachChild(t){t(this.needle),t(this.haystack)}outputDefined(){return!0}},Q1=class au{constructor(t,r,i,n){this.needle=t,this.haystack=r,this.key=i,this.fromIndex=n,this.type=k}static parse(t,r){if(t.length<=2||t.length>=5)return r.error(`Expected 2 or 3 arguments, but found ${t.length-1} instead.`);let i=r.parse(t[1],1,H),n=r.parse(t[2],2,H);if(!i||!n)return null;if(!Is(i.type,[Q,X,k,_i,H]))return r.error(`Expected first argument to be of type boolean, string, number or null, but found ${de(i.type)} instead`);if(t.length===4){let a=r.parse(t[3],3,k);return a?new au(i,n,r.key,a):null}return new au(i,n,r.key)}evaluate(t){let r=this.needle.evaluate(t),i=this.haystack.evaluate(t);if(!ir(r,["boolean","string","number","null"]))throw new he(`Expected first argument to be of type boolean, string, number or null, but found ${de(we(r))} instead.`,this.key);let n;if(this.fromIndex&&(n=this.fromIndex.evaluate(t)),ir(i,["string"])){let a=i.indexOf(r,n);return a===-1?-1:[...i.slice(0,a)].length}if(ir(i,["array"]))return i.indexOf(r,n);throw new he(`Expected second argument to be of type array or string, but found ${de(we(i))} instead.`,this.key)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)}outputDefined(){return!1}},em=class Dy{constructor(t,r,i,n,a,s){this.inputType=t,this.type=r,this.input=i,this.cases=n,this.outputs=a,this.otherwise=s}static parse(t,r){if(t.length<5)return r.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return r.error("Expected an even number of arguments.");let i,n;r.expectedType&&r.expectedType.kind!=="value"&&(n=r.expectedType);let a={},s=[];for(let u=2;u<t.length-1;u+=2){let h=t[u],c=t[u+1];Array.isArray(h)||(h=[h]);let p=r.concat(u);if(h.length===0)return p.error("Expected at least one branch label.");for(let d of h){if(typeof d!="number"&&typeof d!="string")return p.error("Branch labels must be numbers or strings.");if(typeof d=="number"&&Math.abs(d)>2**53-1)return p.error(`Branch labels must be integers no larger than ${2**53-1}.`);if(typeof d=="number"&&Math.floor(d)!==d)return p.error("Numeric branch labels must be integer values.");if(!i)i=we(d);else if(p.checkSubtype(i,we(d)))return null;if(a[String(d)]!==void 0)return p.error("Branch labels must be unique.");a[String(d)]=s.length}let f=r.parse(c,u,n);if(!f)return null;n||(n=f.type),s.push(f)}let o=r.parse(t[1],1,H);if(!o)return null;let l=r.parse(t[t.length-1],t.length-1,n);return!l||o.type.kind!=="value"&&r.concat(1).checkSubtype(i,o.type)?null:new Dy(i,n,o,a,s,l)}evaluate(t){let r=this.input.evaluate(t);return(we(r)===this.inputType&&this.outputs[this.cases[r]]||this.otherwise).evaluate(t)}eachChild(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)}outputDefined(){return this.outputs.every(t=>t.outputDefined())&&this.otherwise.outputDefined()}},tm=class _y{constructor(t,r,i){this.type=t,this.branches=r,this.otherwise=i}static parse(t,r){if(t.length<4)return r.error(`Expected at least 3 arguments, but found only ${t.length-1}.`);if(t.length%2!=0)return r.error("Expected an odd number of arguments.");let i;r.expectedType&&r.expectedType.kind!=="value"&&(i=r.expectedType);let n=[];for(let s=1;s<t.length-1;s+=2){let o=r.parse(t[s],s,Q);if(!o)return null;let l=r.parse(t[s+1],s+1,i);if(!l)return null;n.push([o,l]),i||(i=l.type)}let a=r.parse(t[t.length-1],t.length-1,i);if(!a)return null;if(!i)throw Error("Can\'t infer output type");return new _y(i,n,a)}evaluate(t){for(let[r,i]of this.branches)if(r.evaluate(t))return i.evaluate(t);return this.otherwise.evaluate(t)}eachChild(t){for(let[r,i]of this.branches)t(r),t(i);t(this.otherwise)}outputDefined(){return this.branches.every(([t,r])=>r.outputDefined())&&this.otherwise.outputDefined()}},rm=class su{constructor(t,r,i,n,a){this.type=t,this.input=r,this.beginIndex=i,this.key=n,this.endIndex=a}static parse(t,r){if(t.length<=2||t.length>=5)return r.error(`Expected 2 or 3 arguments, but found ${t.length-1} instead.`);let i=r.parse(t[1],1,H),n=r.parse(t[2],2,k);if(!i||!n)return null;if(!Is(i.type,[Ne(H),X,H]))return r.error(`Expected first argument to be of type array or string, but found ${de(i.type)} instead`);if(t.length===4){let a=r.parse(t[3],3,k);return a?new su(i.type,i,n,r.key,a):null}return new su(i.type,i,n,r.key)}evaluate(t){let r=this.input.evaluate(t),i=this.beginIndex.evaluate(t),n;if(this.endIndex&&(n=this.endIndex.evaluate(t)),ir(r,["string"]))return[...r].slice(i,n).join("");if(ir(r,["array"]))return r.slice(i,n);throw new he(`Expected first argument to be of type array or string, but found ${de(we(r))} instead.`,this.key)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)}outputDefined(){return!1}},mh=class ou{constructor(t,r){this.type=t,this.args=r}static parse(t,r){if(t.length<2)return r.error("Expected at least one argument.");let i=null,n=r.expectedType;n&&n.kind!=="value"&&(i=n);let a=[];for(let s of t.slice(1)){let o=r.parse(s,1+a.length,i,void 0,{typeAnnotation:"omit"});if(!o)return null;i||(i=o.type),a.push(o)}if(!i)throw Error("No output type");return n&&a.some(s=>Ti(n,s.type))?new ou(H,a):new ou(i,a)}evaluate(t){let r=null,i=0,n;for(let a of this.args)if(i++,r=a.evaluate(t),r&&r instanceof bt&&!r.available&&(n||(n=r.name),r=null,i===this.args.length&&(r=n)),r!==null)break;return r}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every(t=>t.outputDefined())}};function gh(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 im(e,t,r){return t===r}function nm(e,t,r){return t!==r}function am(e,t,r){return t<r}function sm(e,t,r){return t>r}function om(e,t,r){return t<=r}function lm(e,t,r){return t>=r}function xh(e,t,r,i){return i.compare(t,r)===0}function um(e,t,r,i){return!xh(e,t,r,i)}function hm(e,t,r,i){return i.compare(t,r)<0}function cm(e,t,r,i){return i.compare(t,r)>0}function pm(e,t,r,i){return i.compare(t,r)<=0}function fm(e,t,r,i){return i.compare(t,r)>=0}function Lr(e,t,r){let i=e!=="=="&&e!=="!=";return class Ay{constructor(a,s,o,l){this.lhs=a,this.rhs=s,this.key=o,this.collator=l,this.type=Q,this.hasUntypedArgument=a.type.kind==="value"||s.type.kind==="value"}static parse(a,s){if(a.length!==3&&a.length!==4)return s.error("Expected two or three arguments.");let o=a[0],l=s.parse(a[1],1,H);if(!l)return null;if(!gh(o,l.type))return s.concat(1).error(`"${o}" comparisons are not supported for type \'${de(l.type)}\'.`);let u=s.parse(a[2],2,H);if(!u)return null;if(!gh(o,u.type))return s.concat(2).error(`"${o}" comparisons are not supported for type \'${de(u.type)}\'.`);if(l.type.kind!==u.type.kind&&l.type.kind!=="value"&&u.type.kind!=="value")return s.error(`Cannot compare types \'${de(l.type)}\' and \'${de(u.type)}\'.`);i&&(l.type.kind==="value"&&u.type.kind!=="value"?l=new Ct(u.type,[l],s.key):l.type.kind!=="value"&&u.type.kind==="value"&&(u=new Ct(l.type,[u],s.key)));let h=null;if(a.length===4){if(l.type.kind!=="string"&&u.type.kind!=="string"&&l.type.kind!=="value"&&u.type.kind!=="value")return s.error("Cannot use collator to compare non-string types.");if(h=s.parse(a[3],3,$n),!h)return null}return new Ay(l,u,s.key,h)}evaluate(a){let s=this.lhs.evaluate(a),o=this.rhs.evaluate(a);if(i&&this.hasUntypedArgument){let l=we(s),u=we(o);if(l.kind!==u.kind||l.kind!=="string"&&l.kind!=="number")throw new he(`Expected arguments for "${e}" to be (string, string) or (number, number), but found (${l.kind}, ${u.kind}) instead.`,this.key)}if(this.collator&&!i&&this.hasUntypedArgument){let l=we(s),u=we(o);if(l.kind!=="string"||u.kind!=="string")return t(a,s,o)}return this.collator?r(a,s,o,this.collator.evaluate(a)):t(a,s,o)}eachChild(a){a(this.lhs),a(this.rhs),this.collator&&a(this.collator)}outputDefined(){return!0}}}const dm=Lr("==",im,xh),ym=Lr("!=",nm,um),mm=Lr("<",am,hm),gm=Lr(">",sm,cm),xm=Lr("<=",om,pm),vm=Lr(">=",lm,fm);var vh=class Sy{constructor(t,r,i){this.type=$n,this.locale=i,this.caseSensitive=t,this.diacriticSensitive=r}static parse(t,r){if(t.length!==2)return r.error("Expected one argument.");let i=t[1];if(typeof i!="object"||Array.isArray(i))return r.error("Collator options argument must be an object.");let n=r.parse(i["case-sensitive"]!==void 0&&i["case-sensitive"],1,Q);if(!n)return null;let a=r.parse(i["diacritic-sensitive"]!==void 0&&i["diacritic-sensitive"],1,Q);if(!a)return null;let s=null;return i.locale&&(s=r.parse(i.locale,1,X),!s)?null:new Sy(n,a,s)}evaluate(t){return new Ls(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)}eachChild(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale)}outputDefined(){return!1}},bm=class Ey{constructor(t,r,i,n,a,s){this.type=X,this.number=t,this.locale=r,this.currency=i,this.unit=n,this.minFractionDigits=a,this.maxFractionDigits=s}static parse(t,r){if(t.length!==3)return r.error("Expected two arguments.");let i=r.parse(t[1],1,k);if(!i)return null;let n=t[2];if(typeof n!="object"||Array.isArray(n))return r.error("NumberFormat options argument must be an object.");let a=null;if(n.locale&&(a=r.parse(n.locale,1,X),!a))return null;let s=null;if(n.currency&&(s=r.parse(n.currency,1,X),!s))return null;let o=null;if(n.unit&&(o=r.parse(n.unit,1,X),!o))return null;if(s&&o)return r.error("NumberFormat options `currency` and `unit` are mutually exclusive");let l=null;if(n["min-fraction-digits"]&&(l=r.parse(n["min-fraction-digits"],1,k),!l))return null;let u=null;return n["max-fraction-digits"]&&(u=r.parse(n["max-fraction-digits"],1,k),!u)?null:new Ey(i,a,s,o,l,u)}evaluate(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":this.unit?"unit":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,unit:this.unit?this.unit.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))}eachChild(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.unit&&t(this.unit),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)}outputDefined(){return!1}},wm=class Ty{constructor(t){this.type=Ei,this.input=t}static parse(t,r){if(t.length!==2)return r.error("Expected two arguments.");let i=r.parse(t[1],1,X);return i?new Ty(i):r.error("No image name provided.")}evaluate(t){let r=this.input.evaluate(t),i=bt.fromString(r);return i&&t.availableImages&&(i.available=t.availableImages.indexOf(r)>-1),i}eachChild(t){t(this.input)}outputDefined(){return!1}},Dm=class Fy{constructor(t,r){this.input=t,this.key=r,this.type=k}static parse(t,r){if(t.length!==2)return r.error(`Expected 1 argument, but found ${t.length-1} instead.`);let i=r.parse(t[1],1);return i?i.type.kind!=="array"&&i.type.kind!=="string"&&i.type.kind!=="value"?r.error(`Expected argument of type string or array, but found ${de(i.type)} instead.`):new Fy(i,r.key):null}evaluate(t){let r=this.input.evaluate(t);if(typeof r=="string")return[...r].length;if(Array.isArray(r))return r.length;throw new he(`Expected value to be of type string or array, but found ${de(we(r))} instead.`,this.key)}eachChild(t){t(this.input)}outputDefined(){return!1}};const Dt=8192;function _m(e,t){let r=Am(e[0]),i=Em(e[1]),n=2**t.z;return[Math.round(r*n*Dt),Math.round(i*n*Dt)]}function Rs(e,t){let r=2**t.z,i=(e[0]/Dt+t.x)/r,n=(e[1]/Dt+t.y)/r;return[Sm(i),Tm(n)]}function Am(e){return(180+e)/360}function Sm(e){return e*360-180}function Em(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function Tm(e){return 360/Math.PI*Math.atan(Math.exp((180-e*360)*Math.PI/180))-90}function Ci(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 Bi(e,t){return!(e[0]<=t[0]||e[2]>=t[2]||e[1]<=t[1]||e[3]>=t[3])}function Fm(e,t,r){return t[1]>e[1]!=r[1]>e[1]&&e[0]<(r[0]-t[0])*(e[1]-t[1])/(r[1]-t[1])+t[0]}function Im(e,t,r){let i=e[0]-t[0],n=e[1]-t[1],a=e[0]-r[0],s=e[1]-r[1];return i*s-a*n===0&&i*a<=0&&n*s<=0}function Wn(e,t,r,i){let n=[t[0]-e[0],t[1]-e[1]];return Pm([i[0]-r[0],i[1]-r[1]],n)!==0&&!!(wh(e,t,r,i)&&wh(r,i,e,t))}function km(e,t,r){for(let i of r)for(let n=0;n<i.length-1;++n)if(Wn(e,t,i[n],i[n+1]))return!0;return!1}function Vr(e,t,r=!1){let i=!1;for(let n of t)for(let a=0;a<n.length-1;a++){if(Im(e,n[a],n[a+1]))return r;Fm(e,n[a],n[a+1])&&(i=!i)}return i}function Cm(e,t){for(let r of t)if(Vr(e,r))return!0;return!1}function bh(e,t){for(let r of e)if(!Vr(r,t))return!1;for(let r=0;r<e.length-1;++r)if(km(e[r],e[r+1],t))return!1;return!0}function Bm(e,t){for(let r of t)if(bh(e,r))return!0;return!1}function Pm(e,t){return e[0]*t[1]-e[1]*t[0]}function wh(e,t,r,i){let n=e[0]-r[0],a=e[1]-r[1],s=t[0]-r[0],o=t[1]-r[1],l=i[0]-r[0],u=i[1]-r[1],h=n*u-l*a,c=s*u-l*o;return h>0&&c<0||h<0&&c>0}function $s(e,t,r){let i=[];for(let n=0;n<e.length;n++){let a=[];for(let s=0;s<e[n].length;s++){let o=_m(e[n][s],r);Ci(t,o),a.push(o)}i.push(a)}return i}function Dh(e,t,r){let i=[];for(let n=0;n<e.length;n++){let a=$s(e[n],t,r);i.push(a)}return i}function _h(e,t,r,i){if(e[0]<r[0]||e[0]>r[2]){let n=i*.5,a=e[0]-r[0]>n?-i:r[0]-e[0]>n?i:0;a===0&&(a=e[0]-r[2]>n?-i:r[2]-e[0]>n?i:0),e[0]+=a}Ci(t,e)}function Mm(e){e[0]=e[1]=1/0,e[2]=e[3]=-1/0}function Ah(e,t,r,i){let n=2**i.z*Dt,a=[i.x*Dt,i.y*Dt],s=[];for(let o of e)for(let l of o){let u=[l.x+a[0],l.y+a[1]];_h(u,t,r,n),s.push(u)}return s}function Sh(e,t,r,i){let n=2**i.z*Dt,a=[i.x*Dt,i.y*Dt],s=[];for(let o of e){let l=[];for(let u of o){let h=[u.x+a[0],u.y+a[1]];Ci(t,h),l.push(h)}s.push(l)}if(t[2]-t[0]<=n/2){Mm(t);for(let o of s)for(let l of o)_h(l,t,r,n)}return s}function zm(e,t){let r=[1/0,1/0,-1/0,-1/0],i=[1/0,1/0,-1/0,-1/0],n=e.canonicalID();if(t.type==="Polygon"){let a=$s(t.coordinates,i,n),s=Ah(e.geometry(),r,i,n);if(!Bi(r,i))return!1;for(let o of s)if(!Vr(o,a))return!1}if(t.type==="MultiPolygon"){let a=Dh(t.coordinates,i,n),s=Ah(e.geometry(),r,i,n);if(!Bi(r,i))return!1;for(let o of s)if(!Cm(o,a))return!1}return!0}function Lm(e,t){let r=[1/0,1/0,-1/0,-1/0],i=[1/0,1/0,-1/0,-1/0],n=e.canonicalID();if(t.type==="Polygon"){let a=$s(t.coordinates,i,n),s=Sh(e.geometry(),r,i,n);if(!Bi(r,i))return!1;for(let o of s)if(!bh(o,a))return!1}if(t.type==="MultiPolygon"){let a=Dh(t.coordinates,i,n),s=Sh(e.geometry(),r,i,n);if(!Bi(r,i))return!1;for(let o of s)if(!Bm(o,a))return!1}return!0}var Ns=class ja{constructor(t,r){this.type=Q,this.geojson=t,this.geometries=r}static parse(t,r){if(t.length!==2)return r.error(`\'within\' expression requires exactly one argument, but found ${t.length-1} instead.`);if(Pr(t[1])){let i=t[1];if(i.type==="FeatureCollection"){let n=[];for(let a of i.features){let{type:s,coordinates:o}=a.geometry;s==="Polygon"&&n.push(o),s==="MultiPolygon"&&n.push(...o)}if(n.length)return new ja(i,{type:"MultiPolygon",coordinates:n})}else if(i.type==="Feature"){let n=i.geometry.type;if(n==="Polygon"||n==="MultiPolygon")return new ja(i,i.geometry)}else if(i.type==="Polygon"||i.type==="MultiPolygon")return new ja(i,i)}return r.error("\'within\' expression requires valid geojson object that contains polygon geometry type.")}evaluate(t){if(t.geometry()!=null&&t.canonicalID()!=null){if(t.geometryType()==="Point")return zm(t,this.geometries);if(t.geometryType()==="LineString")return Lm(t,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}},Eh=class{constructor(e=[],t=(r,i)=>r<i?-1:+(r>i)){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let r=(this.length>>1)-1;r>=0;r--)this._down(r)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(this.length===0)return;let e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){let{data:t,compare:r}=this,i=t[e];for(;e>0;){let n=e-1>>1,a=t[n];if(r(i,a)>=0)break;t[e]=a,e=n}t[e]=i}_down(e){let{data:t,compare:r}=this,i=this.length>>1,n=t[e];for(;e<i;){let a=(e<<1)+1,s=a+1;if(s<this.length&&r(t[s],t[a])<0&&(a=s),r(t[a],n)>=0)break;t[e]=t[a],e=a}t[e]=n}};const Th=Math.PI/180;var Us=class{constructor(e){let t=Th*6378.137*1e3,r=Math.cos(e*Th),i=1/(1-.0066943799901413165*(1-r*r)),n=Math.sqrt(i);this.kx=t*n*r,this.ky=t*n*i*.9933056200098587}distance(e,t){let r=this.wrap(e[0]-t[0])*this.kx,i=(e[1]-t[1])*this.ky;return Math.sqrt(r*r+i*i)}pointOnLine(e,t){let r=1/0,i,n,a,s;for(let o=0;o<e.length-1;o++){let l=e[o][0],u=e[o][1],h=this.wrap(e[o+1][0]-l)*this.kx,c=(e[o+1][1]-u)*this.ky,p=0;(h!==0||c!==0)&&(p=(this.wrap(t[0]-l)*this.kx*h+(t[1]-u)*this.ky*c)/(h*h+c*c),p>1?(l=e[o+1][0],u=e[o+1][1]):p>0&&(l+=h/this.kx*p,u+=c/this.ky*p)),h=this.wrap(t[0]-l)*this.kx,c=(t[1]-u)*this.ky;let f=h*h+c*c;f<r&&(r=f,i=l,n=u,a=o,s=p)}return{point:[i,n],index:a,t:Math.max(0,Math.min(1,s))}}wrap(e){for(;e<-180;)e+=360;for(;e>180;)e-=360;return e}};function Fh(e,t){return t[0]-e[0]}function Zn(e){return e[1]-e[0]+1}function Bt(e,t){return e[1]>=e[0]&&e[1]<t}function qs(e,t){if(e[0]>e[1])return[null,null];let r=Zn(e);if(t){if(r===2)return[e,null];let n=Math.floor(r/2);return[[e[0],e[0]+n],[e[0]+n,e[1]]]}if(r===1)return[e,null];let i=Math.floor(r/2)-1;return[[e[0],e[0]+i],[e[0]+i+1,e[1]]]}function js(e,t){if(!Bt(t,e.length))return[1/0,1/0,-1/0,-1/0];let r=[1/0,1/0,-1/0,-1/0];for(let i=t[0];i<=t[1];++i)Ci(r,e[i]);return r}function Gs(e){let t=[1/0,1/0,-1/0,-1/0];for(let r of e)for(let i of r)Ci(t,i);return t}function Ih(e){return e[0]!==-1/0&&e[1]!==-1/0&&e[2]!==1/0&&e[3]!==1/0}function Ys(e,t,r){if(!Ih(e)||!Ih(t))return NaN;let i=0,n=0;return e[2]<t[0]&&(i=t[0]-e[2]),e[0]>t[2]&&(i=e[0]-t[2]),e[1]>t[3]&&(n=e[1]-t[3]),e[3]<t[1]&&(n=t[1]-e[3]),r.distance([0,0],[i,n])}function sr(e,t,r){let i=r.pointOnLine(t,e);return r.distance(e,i.point)}function Xs(e,t,r,i,n){let a=Math.min(sr(e,[r,i],n),sr(t,[r,i],n)),s=Math.min(sr(r,[e,t],n),sr(i,[e,t],n));return Math.min(a,s)}function Vm(e,t,r,i,n){if(!(Bt(t,e.length)&&Bt(i,r.length)))return 1/0;let a=1/0;for(let s=t[0];s<t[1];++s){let o=e[s],l=e[s+1];for(let u=i[0];u<i[1];++u){let h=r[u],c=r[u+1];if(Wn(o,l,h,c))return 0;a=Math.min(a,Xs(o,l,h,c,n))}}return a}function Om(e,t,r,i,n){if(!(Bt(t,e.length)&&Bt(i,r.length)))return NaN;let a=1/0;for(let s=t[0];s<=t[1];++s)for(let o=i[0];o<=i[1];++o)if(a=Math.min(a,n.distance(e[s],r[o])),a===0)return a;return a}function Rm(e,t,r){if(Vr(e,t,!0))return 0;let i=1/0;for(let n of t){let a=n[0],s=n[n.length-1];if(a!==s&&(i=Math.min(i,sr(e,[s,a],r)),i===0))return i;let o=r.pointOnLine(n,e);if(i=Math.min(i,r.distance(e,o.point)),i===0)return i}return i}function $m(e,t,r,i){if(!Bt(t,e.length))return NaN;for(let a=t[0];a<=t[1];++a)if(Vr(e[a],r,!0))return 0;let n=1/0;for(let a=t[0];a<t[1];++a){let s=e[a],o=e[a+1];for(let l of r)for(let u=0,h=l.length,c=h-1;u<h;c=u++){let p=l[c],f=l[u];if(Wn(s,o,p,f))return 0;n=Math.min(n,Xs(s,o,p,f,i))}}return n}function kh(e,t){for(let r of e)for(let i of r)if(Vr(i,t,!0))return!0;return!1}function Nm(e,t,r,i=1/0){let n=Gs(e),a=Gs(t);if(i!==1/0&&Ys(n,a,r)>=i)return i;if(Bi(n,a)){if(kh(e,t))return 0}else if(kh(t,e))return 0;let s=1/0;for(let o of e)for(let l=0,u=o.length,h=u-1;l<u;h=l++){let c=o[h],p=o[l];for(let f of t)for(let d=0,y=f.length,m=y-1;d<y;m=d++){let g=f[m],x=f[d];if(Wn(c,p,g,x))return 0;s=Math.min(s,Xs(c,p,g,x,r))}}return s}function Ch(e,t,r,i,n,a){if(!a)return;let s=Ys(js(i,a),n,r);s<t&&e.push([s,a,[0,0]])}function Hn(e,t,r,i,n,a,s){if(!a||!s)return;let o=Ys(js(i,a),js(n,s),r);o<t&&e.push([o,a,s])}function Jn(e,t,r,i,n=1/0){let a=Math.min(i.distance(e[0],r[0][0]),n);if(a===0)return a;let s=new Eh([[0,[0,e.length-1],[0,0]]],Fh),o=Gs(r);for(;s.length>0;){let l=s.pop();if(l[0]>=a)continue;let u=l[1],h=t?50:100;if(Zn(u)<=h){if(!Bt(u,e.length))return NaN;if(t){let c=$m(e,u,r,i);if(isNaN(c)||c===0)return c;a=Math.min(a,c)}else for(let c=u[0];c<=u[1];++c){let p=Rm(e[c],r,i);if(a=Math.min(a,p),a===0)return 0}}else{let c=qs(u,t);Ch(s,a,i,e,o,c[0]),Ch(s,a,i,e,o,c[1])}}return a}function Kn(e,t,r,i,n,a=1/0){let s=Math.min(a,n.distance(e[0],r[0]));if(s===0)return s;let o=new Eh([[0,[0,e.length-1],[0,r.length-1]]],Fh);for(;o.length>0;){let l=o.pop();if(l[0]>=s)continue;let u=l[1],h=l[2],c=t?50:100,p=i?50:100;if(Zn(u)<=c&&Zn(h)<=p){if(!Bt(u,e.length)&&Bt(h,r.length))return NaN;let f;if(t&&i)f=Vm(e,u,r,h,n),s=Math.min(s,f);else if(t&&!i){let d=e.slice(u[0],u[1]+1);for(let y=h[0];y<=h[1];++y)if(f=sr(r[y],d,n),s=Math.min(s,f),s===0)return s}else if(!t&&i){let d=r.slice(h[0],h[1]+1);for(let y=u[0];y<=u[1];++y)if(f=sr(e[y],d,n),s=Math.min(s,f),s===0)return s}else f=Om(e,u,r,h,n),s=Math.min(s,f)}else{let f=qs(u,t),d=qs(h,i);Hn(o,s,n,e,r,f[0],d[0]),Hn(o,s,n,e,r,f[0],d[1]),Hn(o,s,n,e,r,f[1],d[0]),Hn(o,s,n,e,r,f[1],d[1])}}return s}function Um(e,t){let r=e.geometry(),i=r.flat().map(s=>Rs([s.x,s.y],e.canonical));if(r.length===0)return NaN;let n=new Us(i[0][1]),a=1/0;for(let s of t){switch(s.type){case"Point":a=Math.min(a,Kn(i,!1,[s.coordinates],!1,n,a));break;case"LineString":a=Math.min(a,Kn(i,!1,s.coordinates,!0,n,a));break;case"Polygon":a=Math.min(a,Jn(i,!1,s.coordinates,n,a))}if(a===0)return a}return a}function qm(e,t){let r=e.geometry(),i=r.flat().map(s=>Rs([s.x,s.y],e.canonical));if(r.length===0)return NaN;let n=new Us(i[0][1]),a=1/0;for(let s of t){switch(s.type){case"Point":a=Math.min(a,Kn(i,!0,[s.coordinates],!1,n,a));break;case"LineString":a=Math.min(a,Kn(i,!0,s.coordinates,!0,n,a));break;case"Polygon":a=Math.min(a,Jn(i,!0,s.coordinates,n,a))}if(a===0)return a}return a}function jm(e,t){let r=e.geometry();if(r.length===0||r[0].length===0)return NaN;let i=Yn(r,0).map(s=>s.map(o=>o.map(l=>Rs([l.x,l.y],e.canonical)))),n=new Us(i[0][0][0][1]),a=1/0;for(let s of t)for(let o of i){switch(s.type){case"Point":a=Math.min(a,Jn([s.coordinates],!1,o,n,a));break;case"LineString":a=Math.min(a,Jn(s.coordinates,!0,o,n,a));break;case"Polygon":a=Math.min(a,Nm(o,s.coordinates,n,a))}if(a===0)return a}return a}function Ws(e){return e.type==="MultiPolygon"?e.coordinates.map(t=>({type:"Polygon",coordinates:t})):e.type==="MultiLineString"?e.coordinates.map(t=>({type:"LineString",coordinates:t})):e.type==="MultiPoint"?e.coordinates.map(t=>({type:"Point",coordinates:t})):[e]}var Zs=class Ga{constructor(t,r){this.type=k,this.geojson=t,this.geometries=r}static parse(t,r){if(t.length!==2)return r.error(`\'distance\' expression requires exactly one argument, but found ${t.length-1} instead.`);if(Pr(t[1])){let i=t[1];if(i.type==="FeatureCollection")return new Ga(i,i.features.map(n=>Ws(n.geometry)).flat());if(i.type==="Feature")return new Ga(i,Ws(i.geometry));if("type"in i&&"coordinates"in i)return new Ga(i,Ws(i))}return r.error("\'distance\' expression requires valid geojson object that contains polygon geometry type.")}evaluate(t){if(t.geometry()!=null&&t.canonicalID()!=null){if(t.geometryType()==="Point")return Um(t,this.geometries);if(t.geometryType()==="LineString")return qm(t,this.geometries);if(t.geometryType()==="Polygon")return jm(t,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}},Gm=class Iy{constructor(t){let r=null;for(let i of t)if(!r)r=i.type;else{if(r===i.type)continue;r=H;break}this.type=Ne(r??H,t.length),this.arr=t}static parse(t,r){if(t.length!==2)return r.error(`\'semiliteral\' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!Pr(t[1]))return r.error(`invalid value of type "${typeof t[1]}"`);let i=t[1],n=we(i);if(n.kind==="array"){let a=i,s=r.concat(1),o=[];for(let l=0;l<a.length;l++){let u=s.parse(a[l],l,H);if(!u)return null;o.push(u)}return new Iy(o)}return new Mr(n,i)}evaluate(t){return this.arr.map(r=>r.evaluate(t))}eachChild(t){this.arr.forEach(t)}outputDefined(){return this.arr.every(t=>t.outputDefined())}},Hs=class ky{constructor(t){this.key=t,this.type=H}static parse(t,r){if(t.length!==2)return r.error(`Expected 1 argument, but found ${t.length-1} instead.`);let i=t[1];return i==null?r.error("Global state property must be defined."):typeof i=="string"?new ky(i):r.error(`Global state property must be string, but found ${typeof t[1]} instead.`)}evaluate(t){let r=t.globals?.globalState;return!r||Object.keys(r).length===0?null:Fi(r,this.key)??null}eachChild(){}outputDefined(){return!1}};const Or={"==":dm,"!=":ym,">":gm,"<":mm,">=":vm,"<=":xm,array:Ct,at:J1,boolean:Ct,case:tm,coalesce:mh,collator:vh,format:ch,image:wm,in:K1,"index-of":Q1,interpolate:wt,"interpolate-hcl":wt,"interpolate-lab":wt,length:Dm,let:dh,literal:Mr,match:em,number:Ct,"number-format":bm,object:Ct,semiliteral:Gm,slice:rm,step:Vs,string:Ct,"to-boolean":zr,"to-color":zr,"to-number":zr,"to-string":zr,var:yh,within:Ns,distance:Zs,"global-state":Hs};var _t=class extends Error{constructor(e,t){super(t),this.message=t,this.key=e}},Ym=class Cy{constructor(t,r=[]){this.parent=t,this.bindings={};for(let[i,n]of r)this.bindings[i]=n}concat(t){return new Cy(this,t)}get(t){if(this.bindings[t])return this.bindings[t];if(this.parent)return this.parent.get(t);throw Error(`${t} not found in scope.`)}has(t){return this.bindings[t]?!0:this.parent?this.parent.has(t):!1}},Bh=class By{constructor(t,r,i=[],n,a=new Ym,s=[]){this.registry=t,this.path=i,this.key=i.map(o=>`[${o}]`).join(""),this.scope=a,this.errors=s,this.expectedType=n,this._isConstant=r}parse(t,r,i,n,a={}){return r==null?this._parse(t,a):this.concat(r,i,n)._parse(t,a)}_parse(t,r){(t===null||typeof t=="string"||typeof t=="boolean"||typeof t=="number")&&(t=["literal",t]);let i=this.key;function n(a,s,o){return o==="assert"?new Ct(s,[a],i):o==="coerce"?new zr(s,[a],i):a}if(Array.isArray(t)){if(t.length===0)return this.error(\'Expected an array with at least one element. If you wanted a literal array, use ["literal", []].\');let a=t[0];if(typeof a!="string")return this.error(`Expression name must be a string, but found ${typeof a} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;let s=this.registry[a];if(s){let o=s.parse(t,this);if(!o)return null;if(this.expectedType){let l=this.expectedType,u=o.type;if((l.kind==="string"||l.kind==="number"||l.kind==="boolean"||l.kind==="object"||l.kind==="array")&&u.kind==="value")o=n(o,l,r.typeAnnotation||"assert");else if(l.kind==="projectionDefinition"&&["string","array","value"].includes(u.kind)||["color","formatted","resolvedImage"].includes(l.kind)&&["value","string"].includes(u.kind)||["padding","numberArray"].includes(l.kind)&&["value","number","array"].includes(u.kind)||l.kind==="colorArray"&&["value","string","array"].includes(u.kind)||l.kind==="variableAnchorOffsetCollection"&&["value","array"].includes(u.kind))o=n(o,l,r.typeAnnotation||"coerce");else if(this.checkSubtype(l,u))return null}if(!(o instanceof Mr)&&o.type.kind!=="resolvedImage"&&this._isConstant(o)){let l=new hh;try{o=new Mr(o.type,o.evaluate(l))}catch(u){return this.error(u.message),null}}return o}return this.error(`Unknown expression "${a}". If you wanted a literal array, use ["literal", [...]].`,0)}return t===void 0?this.error("\'undefined\' value invalid. Use null instead."):typeof t=="object"?this.error(\'Bare objects invalid. Use ["literal", {...}] instead.\'):this.error(`Expected an array, but found ${typeof t} instead.`)}concat(t,r,i){let n=typeof t=="number"?this.path.concat(t):this.path,a=i?this.scope.concat(i):this.scope;return new By(this.registry,this._isConstant,n,r||null,a,this.errors)}error(t,...r){let i=`${this.key}${r.map(n=>`[${n}]`).join("")}`;this.errors.push(new _t(i,t))}checkSubtype(t,r){let i=Ti(t,r);return i&&this.error(i),i}},or=class gn{constructor(t,r,i,n,a){this.name=t,this.type=r,this._evaluate=i,this.args=n,this.key=a}evaluate(t){return this._evaluate(t,this.args,this.key)}eachChild(t){this.args.forEach(t)}outputDefined(){return!1}static parse(t,r){let i=t[0],n=gn.definitions[i];if(!n)return r.error(`Unknown expression "${i}". If you wanted a literal array, use ["literal", [...]].`,0);let a=Array.isArray(n)?n[0]:n.type,s=Array.isArray(n)?[[n[1],n[2]]]:n.overloads,o=s.filter(([u])=>!Array.isArray(u)||u.length===t.length-1),l=null;for(let[u,h]of o){l=new Bh(r.registry,Qn,r.path,null,r.scope);let c=[],p=!1;for(let f=1;f<t.length;f++){let d=t[f],y=Array.isArray(u)?u[f-1]:u.type,m=l.parse(d,1+c.length,y);if(!m){p=!0;break}c.push(m)}if(!p){if(Array.isArray(u)&&u.length!==c.length){l.error(`Expected ${u.length} arguments, but found ${c.length} instead.`);continue}for(let f=0;f<c.length;f++){let d=Array.isArray(u)?u[f]:u.type,y=c[f];l.concat(f+1).checkSubtype(d,y.type)}if(l.errors.length===0)return new gn(i,a,h,c,r.key)}}if(o.length===1)r.errors.push(...l.errors);else{let u=(o.length?o:s).map(([c])=>Wm(c)).join(" | "),h=[];for(let c=1;c<t.length;c++){let p=r.parse(t[c],1+h.length);if(!p)return null;h.push(de(p.type))}r.error(`Expected arguments of type ${u}, but found (${h.join(", ")}) instead.`)}return null}static register(t,r){gn.definitions=r;for(let i in r)t[i]=gn}};function Ph(e,[t,r,i,n],a){t=t.evaluate(e),r=r.evaluate(e),i=i.evaluate(e);let s=n?n.evaluate(e):1,o=uh(t,r,i,s);if(o)throw new he(o,a);return new ye(t/255,r/255,i/255,s,!1)}function Mh(e,t){return e in t&&t[e]!==void 0}function Js(e,t){let r=t[e];return r===void 0?null:r}function Xm(e,t,r,i){for(;r<=i;){let n=r+i>>1;if(t[n]===e)return!0;t[n]>e?i=n-1:r=n+1}return!1}function lr(e){return{type:e}}or.register(Or,{error:[P1,[X],(e,[t],r)=>{throw new he(t.evaluate(e),r)}],typeof:[X,[H],(e,[t])=>de(we(t.evaluate(e)))],"to-rgba":[Ne(k,4),[ut],(e,[t])=>{let[r,i,n,a]=t.evaluate(e).rgb;return[r*255,i*255,n*255,a]}],rgb:[ut,[k,k,k],Ph],rgba:[ut,[k,k,k,k],Ph],has:{type:Q,overloads:[[[X],(e,[t])=>Mh(t.evaluate(e),e.properties())],[[X,rr],(e,[t,r])=>Mh(t.evaluate(e),r.evaluate(e))]]},get:{type:H,overloads:[[[X],(e,[t])=>Js(t.evaluate(e),e.properties())],[[X,rr],(e,[t,r])=>Js(t.evaluate(e),r.evaluate(e))]]},"feature-state":[H,[X],(e,[t])=>Js(t.evaluate(e),e.featureState||{})],properties:[rr,[],e=>e.properties()],"geometry-type":[X,[],e=>e.geometryType()],id:[H,[],e=>e.id()],zoom:[k,[],e=>e.globals.zoom],"heatmap-density":[k,[],e=>e.globals.heatmapDensity||0],elevation:[k,[],e=>e.globals.elevation||0],"line-progress":[k,[],e=>e.globals.lineProgress||0],accumulated:[H,[],e=>e.globals.accumulated===void 0?null:e.globals.accumulated],"+":[k,lr(k),(e,t)=>{let r=0;for(let i of t)r+=i.evaluate(e);return r}],"*":[k,lr(k),(e,t)=>{let r=1;for(let i of t)r*=i.evaluate(e);return r}],"-":{type:k,overloads:[[[k,k],(e,[t,r])=>t.evaluate(e)-r.evaluate(e)],[[k],(e,[t])=>-t.evaluate(e)]]},"/":[k,[k,k],(e,[t,r])=>t.evaluate(e)/r.evaluate(e)],"%":[k,[k,k],(e,[t,r])=>t.evaluate(e)%r.evaluate(e)],ln2:[k,[],()=>Math.LN2],pi:[k,[],()=>Math.PI],e:[k,[],()=>Math.E],"^":[k,[k,k],(e,[t,r])=>t.evaluate(e)**+r.evaluate(e)],sqrt:[k,[k],(e,[t])=>Math.sqrt(t.evaluate(e))],log10:[k,[k],(e,[t])=>Math.log(t.evaluate(e))/Math.LN10],ln:[k,[k],(e,[t])=>Math.log(t.evaluate(e))],log2:[k,[k],(e,[t])=>Math.log(t.evaluate(e))/Math.LN2],sin:[k,[k],(e,[t])=>Math.sin(t.evaluate(e))],cos:[k,[k],(e,[t])=>Math.cos(t.evaluate(e))],tan:[k,[k],(e,[t])=>Math.tan(t.evaluate(e))],asin:[k,[k],(e,[t])=>Math.asin(t.evaluate(e))],acos:[k,[k],(e,[t])=>Math.acos(t.evaluate(e))],atan:[k,[k],(e,[t])=>Math.atan(t.evaluate(e))],min:[k,lr(k),(e,t)=>Math.min(...t.map(r=>r.evaluate(e)))],max:[k,lr(k),(e,t)=>Math.max(...t.map(r=>r.evaluate(e)))],abs:[k,[k],(e,[t])=>Math.abs(t.evaluate(e))],round:[k,[k],(e,[t])=>{let r=t.evaluate(e);return r<0?-Math.round(-r):Math.round(r)}],floor:[k,[k],(e,[t])=>Math.floor(t.evaluate(e))],ceil:[k,[k],(e,[t])=>Math.ceil(t.evaluate(e))],"filter-==":[Q,[X,H],(e,[t,r])=>e.properties()[t.value]===r.value],"filter-id-==":[Q,[H],(e,[t])=>e.id()===t.value],"filter-type-==":[Q,[X],(e,[t])=>e.geometryType()===t.value],"filter-<":[Q,[X,H],(e,[t,r])=>{let i=e.properties()[t.value],n=r.value;return typeof i==typeof n&&i<n}],"filter-id-<":[Q,[H],(e,[t])=>{let r=e.id(),i=t.value;return typeof r==typeof i&&r<i}],"filter->":[Q,[X,H],(e,[t,r])=>{let i=e.properties()[t.value],n=r.value;return typeof i==typeof n&&i>n}],"filter-id->":[Q,[H],(e,[t])=>{let r=e.id(),i=t.value;return typeof r==typeof i&&r>i}],"filter-<=":[Q,[X,H],(e,[t,r])=>{let i=e.properties()[t.value],n=r.value;return typeof i==typeof n&&i<=n}],"filter-id-<=":[Q,[H],(e,[t])=>{let r=e.id(),i=t.value;return typeof r==typeof i&&r<=i}],"filter->=":[Q,[X,H],(e,[t,r])=>{let i=e.properties()[t.value],n=r.value;return typeof i==typeof n&&i>=n}],"filter-id->=":[Q,[H],(e,[t])=>{let r=e.id(),i=t.value;return typeof r==typeof i&&r>=i}],"filter-has":[Q,[H],(e,[t])=>{let r=t.value,i=e.properties();return r in i&&i[r]!==void 0}],"filter-has-id":[Q,[],e=>e.id()!==null&&e.id()!==void 0],"filter-type-in":[Q,[Ne(X)],(e,[t])=>t.value.indexOf(e.geometryType())>=0],"filter-id-in":[Q,[Ne(H)],(e,[t])=>t.value.indexOf(e.id())>=0],"filter-in-small":[Q,[X,Ne(H)],(e,[t,r])=>r.value.indexOf(e.properties()[t.value])>=0],"filter-in-large":[Q,[X,Ne(H)],(e,[t,r])=>Xm(e.properties()[t.value],r.value,0,r.value.length-1)],all:{type:Q,overloads:[[[Q,Q],(e,[t,r])=>t.evaluate(e)&&r.evaluate(e)],[lr(Q),(e,t)=>{for(let r of t)if(!r.evaluate(e))return!1;return!0}]]},any:{type:Q,overloads:[[[Q,Q],(e,[t,r])=>t.evaluate(e)||r.evaluate(e)],[lr(Q),(e,t)=>{for(let r of t)if(r.evaluate(e))return!0;return!1}]]},"!":[Q,[Q],(e,[t])=>!t.evaluate(e)],"is-supported-script":[Q,[X],(e,[t])=>{let r=e.globals&&e.globals.isSupportedScript;return!r||r(t.evaluate(e))}],upcase:[X,[X],(e,[t])=>t.evaluate(e).toUpperCase()],downcase:[X,[X],(e,[t])=>t.evaluate(e).toLowerCase()],concat:[X,lr(H),(e,t)=>t.map(r=>Ii(r.evaluate(e))).join("")],split:[Ne(X),[X,X],(e,[t,r])=>t.evaluate(e).split(r.evaluate(e))],join:[X,[Ne(X),X],(e,[t,r])=>t.evaluate(e).join(r.evaluate(e))],"resolved-locale":[X,[$n],(e,[t])=>t.evaluate(e).resolvedLocale()]});function Wm(e){return Array.isArray(e)?`(${e.map(de).join(", ")})`:`(${de(e.type)}...)`}function Qn(e){if(e instanceof yh)return Qn(e.boundExpression);if(e instanceof or&&e.name==="error"||e instanceof vh||e instanceof Ns||e instanceof Zs||e instanceof Hs)return!1;let t=e instanceof zr||e instanceof Ct,r=!0;return e.eachChild(i=>{r&&(r=t?Qn(i):i instanceof Mr)}),r?ea(e)&&ta(e,["zoom","heatmap-density","elevation","line-progress","accumulated","is-supported-script"]):!1}function ea(e){if(e instanceof or&&(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 Ns||e instanceof Zs)return!1;let t=!0;return e.eachChild(r=>{t&&!ea(r)&&(t=!1)}),t}function Pi(e){if(e instanceof or&&e.name==="feature-state")return!1;let t=!0;return e.eachChild(r=>{t&&!Pi(r)&&(t=!1)}),t}function ta(e,t){if(e instanceof or&&t.indexOf(e.name)>=0)return!1;let r=!0;return e.eachChild(i=>{r&&!ta(i,t)&&(r=!1)}),r}function Rr(e){return e["property-type"]==="data-driven"||e["property-type"]==="cross-faded-data-driven"}function zh(e){return!!e.expression&&e.expression.parameters.indexOf("zoom")>-1}function Ks(e){return!!e.expression&&e.expression.interpolated}const Qs=/^(.*)-transition$/;function Mi(e,...t){for(let r of t)for(let i in r)e[i]=r[i];return e}function K(e){return e instanceof Number?"number":e instanceof String?"string":e instanceof Boolean?"boolean":Array.isArray(e)?"array":e===null?"null":typeof e}function ra(e){return typeof e=="object"&&!!e&&!Array.isArray(e)&&we(e)===rr}function Zm(e){return e}function Hm(e){switch(e.type){case"color":return ye.parse;case"padding":return gt.parse;case"numberArray":return xt.parse;case"colorArray":return tt.parse;default:return null}}function Jm(e){switch(e){case"exponential":return Vh;case"interval":return Qm;case"categorical":return Km;case"identity":return e0;default:throw Error(`Unknown function type "${e}"`)}}function Lh(e,t){let r=e.stops&&typeof e.stops[0][0]=="object",i=r||e.property!==void 0,n=r||!i,a=e.type||(Ks(t)?"exponential":"interval"),s=Hm(t);if(s&&(e=Mi({},e),e.stops&&(e.stops=e.stops.map(h=>[h[0],s(h[1])])),e.default?e.default=s(e.default):e.default=s(t.default)),e.colorSpace&&!q1(e.colorSpace))throw Error(`Unknown color space: "${e.colorSpace}"`);let o=Jm(a),l,u;if(a==="categorical"){l=Object.create(null);for(let h of e.stops)l[h[0]]=h[1];u=typeof e.stops[0][0]}if(r){let h={},c=[];for(let d=0;d<e.stops.length;d++){let y=e.stops[d],m=y[0].zoom;h[m]===void 0&&(h[m]={zoom:m,type:e.type,property:e.property,default:e.default,stops:[]},c.push(m)),h[m].stops.push([y[0].value,y[1]])}let p=[];for(let d of c)p.push([h[d].zoom,Lh(h[d],t)]);let f={name:"linear"};return{kind:"composite",interpolationType:f,interpolationFactor:wt.interpolationFactor.bind(void 0,f),zoomStops:p.map(d=>d[0]),evaluate({zoom:d},y){return Vh({stops:p,base:e.base},t,d).evaluate(d,y)}}}if(n){let h=a==="exponential"?{name:"exponential",base:e.base===void 0?1:e.base}:null;return{kind:"camera",interpolationType:h,interpolationFactor:wt.interpolationFactor.bind(void 0,h),zoomStops:e.stops.map(c=>c[0]),evaluate:({zoom:c})=>o(e,t,c,l,u)}}return{kind:"source",evaluate(h,c){let p=c&&c.properties?c.properties[e.property]:void 0;return p===void 0?zi(e.default,t.default):o(e,t,p,l,u)}}}function zi(e,t,r){if(e!==void 0)return e;if(t!==void 0)return t;if(r!==void 0)return r}function Km(e,t,r,i,n){return zi(typeof r===n?i[r]:void 0,e.default,t.default)}function Qm(e,t,r){if(K(r)!=="number")return zi(e.default,t.default);let i=e.stops.length;if(i===1||r<=e.stops[0][0])return e.stops[0][1];if(r>=e.stops[i-1][0])return e.stops[i-1][1];let n=Gn(e.stops.map(a=>a[0]),r,"");return e.stops[n][1]}function Vh(e,t,r){let i=e.base===void 0?1:e.base;if(K(r)!=="number")return zi(e.default,t.default);let n=e.stops.length;if(n===1||r<=e.stops[0][0])return e.stops[0][1];if(r>=e.stops[n-1][0])return e.stops[n-1][1];let a=Gn(e.stops.map(h=>h[0]),r,""),s=t0(r,i,e.stops[a][0],e.stops[a+1][0]),o=e.stops[a][1],l=e.stops[a+1][1],u=ar[t.type]||Zm;return typeof o.evaluate=="function"?{evaluate(...h){let c=o.evaluate.apply(void 0,h),p=l.evaluate.apply(void 0,h);if(c!==void 0&&p!==void 0)return u(c,p,s,e.colorSpace)}}:u(o,l,s,e.colorSpace)}function e0(e,t,r){switch(t.type){case"color":r=ye.parse(r);break;case"formatted":r=kt.fromString(r.toString());break;case"resolvedImage":r=bt.fromString(r.toString());break;case"padding":r=gt.parse(r);break;case"colorArray":r=tt.parse(r);break;case"numberArray":r=xt.parse(r);break;default:K(r)!==t.type&&(t.type!=="enum"||!t.values[r])&&(r=void 0)}return zi(r,e.default,t.default)}function t0(e,t,r,i){let n=i-r,a=e-r;return n===0?0:t===1?a/n:(t**+a-1)/(t**+n-1)}function eo(e){return{result:"success",value:e}}function $r(e){return{result:"error",value:e}}var to=class{constructor(e,t,r,i){this.expression=e,this._warningHistory={},this._evaluator=new hh,this._defaultValue=r?Uh(r):null,this._enumValues=r&&r.type==="enum"?r.values:null,this._globalState=i,this._rootKey=t}evaluateWithoutErrorHandling(e,t,r,i,n,a){return this._globalState&&(e=Nr(e,this._globalState)),this._evaluator.globals=e,this._evaluator.feature=t,this._evaluator.featureState=r,this._evaluator.canonical=i,this._evaluator.availableImages=n||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)}evaluate(e,t,r,i,n,a){this._globalState&&(e=Nr(e,this._globalState)),this._evaluator.globals=e,this._evaluator.feature=t||null,this._evaluator.featureState=r||null,this._evaluator.canonical=i,this._evaluator.availableImages=n||null,this._evaluator.formattedSection=a||null;try{let s=this.expression.evaluate(this._evaluator);if(s==null||typeof s=="number"&&s!==s)return this._defaultValue;if(this._enumValues&&!(s in this._enumValues))throw new he(`Expected value to be one of ${Object.keys(this._enumValues).map(o=>JSON.stringify(o)).join(", ")}, but found ${JSON.stringify(s)} instead.`,"");return s}catch(s){let o=s instanceof he?s.path:"",l=`${o}|${s.message}`;return this._warningHistory[l]||(this._warningHistory[l]=!0,typeof console<"u"&&console.warn(Oh(this._rootKey,o,s.message,this._defaultValue))),this._defaultValue}}};function Oh(e,t,r,i){return`${e}${t}: ${r}${i==null?"":` Falling back to ${String(i)}.`}`}function Rh(e){if(!e)throw Error(\'rootKey must identify the location of the expression in the style JSON, e.g. "layers[3].paint.line-width".\')}function ia(e){return Array.isArray(e)&&e.length>0&&typeof e[0]=="string"&&e[0]in Or}function ur(e,t,r,i){Rh(t);let n=new Bh(Or,Qn,[],r?n0(r):void 0),a=n.parse(e,void 0,void 0,void 0,r&&r.type==="string"?{typeAnnotation:"coerce"}:void 0);return a?eo(new to(a,t,r,i)):$r(n.errors)}var Li=class{constructor(e,t,r){this.kind=e,this._styleExpression=t,this.isStateDependent=e!=="constant"&&!Pi(t.expression),this.globalStateRefs=Vi(t.expression),this._globalState=r}evaluateWithoutErrorHandling(e,t,r,i,n,a){return this._globalState&&(e=Nr(e,this._globalState)),this._styleExpression.evaluateWithoutErrorHandling(e,t,r,i,n,a)}evaluate(e,t,r,i,n,a){return this._globalState&&(e=Nr(e,this._globalState)),this._styleExpression.evaluate(e,t,r,i,n,a)}},na=class{constructor(e,t,r,i,n){this.kind=e,this.zoomStops=r,this._styleExpression=t,this.isStateDependent=e!=="camera"&&!Pi(t.expression),this.globalStateRefs=Vi(t.expression),this.interpolationType=i,this._globalState=n}evaluateWithoutErrorHandling(e,t,r,i,n,a){return this._globalState&&(e=Nr(e,this._globalState)),this._styleExpression.evaluateWithoutErrorHandling(e,t,r,i,n,a)}evaluate(e,t,r,i,n,a){return this._globalState&&(e=Nr(e,this._globalState)),this._styleExpression.evaluate(e,t,r,i,n,a)}interpolationFactor(e,t,r){return this.interpolationType?wt.interpolationFactor(this.interpolationType,e,t,r):0}};function r0(e){return e._styleExpression!==void 0}function $h(e,t,r,i){let n=ur(e,t,r,i);if(n.result==="error")return n;let a=n.value.expression,s=ea(a);if(!s&&!Rr(r))return $r([new _t("","data expressions not supported")]);let o=ta(a,["zoom"]);if(!o&&!zh(r))return $r([new _t("","zoom expressions not supported")]);let l=aa(a);if(!l&&!o)return $r([new _t("",\'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.\')]);if(l instanceof _t)return $r([l]);if(l instanceof wt&&!Ks(r))return $r([new _t("",\'"interpolate" expressions cannot be used with this property\')]);if(!l)return eo(s?new Li("constant",n.value,i):new Li("source",n.value,i));let u=l instanceof wt?l.interpolation:void 0;return eo(s?new na("camera",n.value,l.labels,u,i):new na("composite",n.value,l.labels,u,i))}var Nh=class Py{constructor(t,r,i){this.isStateDependent=!1,this.globalStateRefs=new Set,this._globalState=null,Rh(r),this._parameters=t,this._specification=i,this._rootKey=r,this._defaultValue=Uh(i),this._warningHistory={};let n=Lh(this._parameters,this._specification);this.kind=n.kind,this.interpolationFactor=n.interpolationFactor,this.zoomStops=n.zoomStops,this.interpolationType=n.interpolationType,this._innerEvaluate=n.evaluate}evaluate(t,r){try{return this._innerEvaluate(t,r)}catch(i){let n=i instanceof Error?i.message:String(i),a=`|${n}`;return this._warningHistory[a]||(this._warningHistory[a]=!0,typeof console<"u"&&console.warn(Oh(this._rootKey,"",n,this._defaultValue))),this._defaultValue}}static deserialize(t){return new Py(t._parameters,t._rootKey,t._specification)}static serialize(t){return{_parameters:t._parameters,_specification:t._specification,_rootKey:t._rootKey}}};function i0(e,t,r,i){if(ra(e))return new Nh(e,t,r);if(ia(e)){let n=$h(e,t,r,i);if(n.result==="error")throw Error(n.value.map(a=>`${a.key}: ${a.message}`).join(", "));return n.value}{let n=e;return r.type==="color"&&typeof e=="string"?n=ye.parse(e):r.type==="padding"&&(typeof e=="number"||Array.isArray(e))?n=gt.parse(e):r.type==="numberArray"&&(typeof e=="number"||Array.isArray(e))?n=xt.parse(e):r.type==="colorArray"&&(typeof e=="string"||Array.isArray(e))?n=tt.parse(e):r.type==="variableAnchorOffsetCollection"&&Array.isArray(e)?n=vt.parse(e):r.type==="projectionDefinition"&&typeof e=="string"&&(n=nr.parse(e)),{globalStateRefs:new Set,_globalState:null,kind:"constant",evaluate:()=>n}}}function aa(e){let t=null;if(e instanceof dh)t=aa(e.result);else if(e instanceof mh){for(let r of e.args)if(t=aa(r),t)break}else(e instanceof Vs||e instanceof wt)&&e.input instanceof or&&e.input.name==="zoom"&&(t=e);return t instanceof _t||e.eachChild(r=>{let i=aa(r);i instanceof _t?t=i:!t&&i?t=new _t("",\'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.\'):t&&i&&t!==i&&(t=new _t("",\'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.\'))}),t}function Vi(e,t=new Set){return e instanceof Hs&&t.add(e.key),e.eachChild(r=>{Vi(r,t)}),t}function n0(e){let t={color:ut,string:X,number:k,enum:X,boolean:Q,formatted:Ai,padding:Nn,numberArray:Un,colorArray:Si,projectionDefinition:Rn,resolvedImage:Ei,variableAnchorOffsetCollection:qn};return e.type==="array"?Ne(t[e.value]||H,e.length):t[e.type]}function Uh(e){if(e.type==="color"&&ra(e.default))return new ye(0,0,0,0);switch(e.type){case"color":return ye.parse(e.default)||null;case"padding":return gt.parse(e.default)||null;case"numberArray":return xt.parse(e.default)||null;case"colorArray":return tt.parse(e.default)||null;case"variableAnchorOffsetCollection":return vt.parse(e.default)||null;case"projectionDefinition":return nr.parse(e.default)||null;default:return e.default===void 0?null:e.default}}function Nr(e,t){let{zoom:r,heatmapDensity:i,elevation:n,lineProgress:a,isSupportedScript:s,accumulated:o}=e??{};return{zoom:r,heatmapDensity:i,elevation:n,lineProgress:a,isSupportedScript:s,accumulated:o,globalState:t}}function a0(e){let t=!1;for(let r of e){let i=qh(r);if(i==="expression")return"expression";i==="legacy"&&(t=!0)}return t?"legacy":"neutral"}function qh(e){if(typeof e=="boolean")return"neutral";if(!Array.isArray(e)||e.length===0)return"legacy";switch(e[0]){case"has":return e.length<2||e[1]==="$id"||e[1]==="$type"?"legacy":e.length===2?"neutral":"expression";case"in":return e.length>=3&&(typeof e[1]!="string"||Array.isArray(e[2]))?"expression":"legacy";case"!in":case"!has":return"legacy";case"==":case"!=":case">":case">=":case"<":case"<=":return e.length!==3||Array.isArray(e[1])||Array.isArray(e[2])?"expression":"legacy";case"none":return"legacy";case"any":case"all":return a0(e.slice(1));default:return"expression"}}function ro(e){return qh(e)!=="legacy"}function jh(e){return e==="$type"?["geometry-type"]:e==="$id"?["id"]:["get",e]}function s0(e){switch(e[0]){case"==":case"!=":case"<":case"<=":case">":case">=":return e.length!==3||typeof e[1]!="string"?null:[e[0],jh(e[1]),e[2]];case"in":case"!in":{if(e.length<2||typeof e[1]!="string")return null;let t=["in",jh(e[1]),["literal",e.slice(2)]];return e[0]==="!in"?["!",t]:t}case"has":case"!has":{if(e.length!==2||typeof e[1]!="string"||e[1]==="$type"||e[1]==="$id")return null;let t=["has",e[1]];return e[0]==="!has"?["!",t]:t}default:return null}}function Gh(e){if((e[0]==="<"||e[0]==="<="||e[0]===">"||e[0]===">=")&&e[1]==="$type")return`"$type" cannot be use with operator "${e[0]}"`;let t=s0(e);return t?`Mixing deprecated filter syntax with expression syntax is not supported. Replace ${JSON.stringify(e)} with ${JSON.stringify(t)}.`:`Mixing deprecated filter syntax with expression syntax is not supported. Convert ${JSON.stringify(e)} to expression syntax.`}function io(e,t,r){let i=r[e];return Array.isArray(i)?ro(i)?no(i,t.concat(e)):{path:t.concat(e),legacyFilter:i}:null}function no(e,t=[]){if(!Array.isArray(e)||e.length<1)return null;switch(e[0]){case"all":case"any":case"none":for(let r=1;r<e.length;r++){let i=io(r,t,e);if(i)return i}break;case"!":{let r=io(1,t,e);if(r)return r;break}case"case":for(let r=1;r<e.length-1;r+=2){let i=io(r,t,e);if(i)return i}}return null}function o0(e,t){let r=no(e);if(!r||typeof console>"u")return;let i=r.path.map(n=>`[${n}]`).join("");console.warn(`${t}${i}: ${Gh(r.legacyFilter)}`)}const l0={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function Oi(e,t,r){if(e==null)return{filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set};ro(e)?o0(e,t):e=sa(e);let i=ur(e,t,l0,r);if(i.result==="error")throw Error(i.value.map(n=>`${n.key}: ${n.message}`).join(", "));return{filter:(n,a,s)=>i.value.evaluate(n,a,{},s),needGeometry:Yh(e),getGlobalStateRefs:()=>Vi(i.value.expression)}}function u0(e,t){return e<t?-1:+(e>t)}function Yh(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(Yh(e[t]))return!0;return!1}function sa(e){if(!e)return!0;let t=e[0];return e.length<=1?t!=="any":t==="=="?ao(e[1],e[2],"=="):t==="!="?oa(ao(e[1],e[2],"==")):t==="<"||t===">"||t==="<="||t===">="?ao(e[1],e[2],t):t==="any"?h0(e.slice(1)):t==="all"?["all"].concat(e.slice(1).map(sa)):t==="none"?["all"].concat(e.slice(1).map(sa).map(oa)):t==="in"?Xh(e[1],e.slice(2)):t==="!in"?oa(Xh(e[1],e.slice(2))):t==="has"?Wh(e[1]):t!=="!has"||oa(Wh(e[1]))}function ao(e,t,r){switch(e){case"$type":return[`filter-type-${r}`,t];case"$id":return[`filter-id-${r}`,t];default:return[`filter-${r}`,e,t]}}function h0(e){return["any"].concat(e.map(sa))}function Xh(e,t){if(t.length===0)return!1;switch(e){case"$type":return["filter-type-in",["literal",t]];case"$id":return["filter-id-in",["literal",t]];default:return t.length>200&&!t.some(r=>typeof r!=typeof t[0])?["filter-in-large",e,["literal",t.sort(u0)]]:["filter-in-small",e,["literal",t]]}}function Wh(e){switch(e){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",e]}}function oa(e){return["!",e]}function Zh(e){let t=e.key,r=e.value;return r?[new T(t,r,"constants have been deprecated as of v8")]:[]}function De(e){return e instanceof Number||e instanceof String||e instanceof Boolean?e.valueOf():e}function hr(e){if(Array.isArray(e))return e.map(hr);if(e instanceof Object&&!(e instanceof Number||e instanceof String||e instanceof Boolean)){let t={};for(let r in e)t[r]=hr(e[r]);return t}return De(e)}function He(e){let t=e.key,r=e.value,i=e.valueSpec||{},n=e.objectElementValidators||{},a=e.style,s=e.styleSpec,o=e.validateSpec,l=[],u=K(r);if(u!=="object")return[new T(t,r,`object expected, ${u} found`)];for(let h in r){let c=h.split(".")[0],p=Fi(i,c)||i["*"],f;if(Fi(n,c))f=n[c];else if(Fi(i,c)){if(r[h]===void 0)continue;f=o}else if(n["*"])f=n["*"];else if(i["*"])f=o;else{l.push(new T(t,r[h],`unknown property "${h}"`));continue}l=l.concat(f({key:(t&&`${t}.`)+h,value:r[h],valueSpec:p,style:a,styleSpec:s,object:r,objectKey:h,validateSpec:o},r))}for(let h in i)n[h]||i[h].required&&i[h].default===void 0&&r[h]===void 0&&l.push(new T(t,r,`missing required property "${h}"`));return l}function so(e){let t=e.value,r=e.valueSpec,i=e.validateSpec,n=e.style,a=e.styleSpec,s=e.key,o=e.arrayElementValidator||i;if(K(t)!=="array")return[new T(s,t,`array expected, ${K(t)} found`)];if(r.length&&t.length!==r.length)return[new T(s,t,`array length ${r.length} expected, length ${t.length} found`)];let l={type:r.value,values:r.values};a.$version<7&&(l.function=r.function),K(r.value)==="object"&&(l=r.value);let u=[];for(let h=0;h<t.length;h++)u=u.concat(o({array:t,arrayIndex:h,value:t[h],valueSpec:l,validateSpec:e.validateSpec,style:n,styleSpec:a,key:`${s}[${h}]`}));return u}function la(e){let t=e.key,r=e.value,i=e.valueSpec,n=K(r);return n==="number"&&r!==r&&(n="NaN"),n==="number"?"minimum"in i&&r<i.minimum?[new T(t,r,`${r} is less than the minimum value ${i.minimum}`)]:"maximum"in i&&r>i.maximum?[new T(t,r,`${r} is greater than the maximum value ${i.maximum}`)]:[]:[new T(t,r,`number expected, ${n} found`)]}function Hh(e){let t=e.valueSpec,r=De(e.value.type),i,n={},a,s,o=r!=="categorical"&&e.value.property===void 0,l=!o,u=K(e.value.stops)==="array"&&K(e.value.stops[0])==="array"&&K(e.value.stops[0][0])==="object",h=He({key:e.key,value:e.value,valueSpec:e.styleSpec.function,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{stops:c,default:d}});return r==="identity"&&o&&h.push(new T(e.key,e.value,\'missing required property "property"\')),r!=="identity"&&!e.value.stops&&h.push(new T(e.key,e.value,\'missing required property "stops"\')),r==="exponential"&&e.valueSpec.expression&&!Ks(e.valueSpec)&&h.push(new T(e.key,e.value,"exponential functions not supported")),e.styleSpec.$version>=8&&(l&&!Rr(e.valueSpec)?h.push(new T(e.key,e.value,"property functions not supported")):o&&!zh(e.valueSpec)&&h.push(new T(e.key,e.value,"zoom functions not supported"))),(r==="categorical"||u)&&e.value.property===void 0&&h.push(new T(e.key,e.value,\'"property" property is required\')),h;function c(y){if(r==="identity")return[new T(y.key,y.value,\'identity function may not have a "stops" property\')];let m=[],g=y.value;return m=m.concat(so({key:y.key,value:g,valueSpec:y.valueSpec,validateSpec:y.validateSpec,style:y.style,styleSpec:y.styleSpec,arrayElementValidator:p})),K(g)==="array"&&g.length===0&&m.push(new T(y.key,g,"array must have at least one stop")),m}function p(y){let m=[],g=y.value,x=y.key;if(K(g)!=="array")return[new T(x,g,`array expected, ${K(g)} found`)];if(g.length!==2)return[new T(x,g,`array length 2 expected, length ${g.length} found`)];if(u){if(K(g[0])!=="object")return[new T(x,g,`object expected, ${K(g[0])} found`)];if(g[0].zoom===void 0)return[new T(x,g,"object stop key must have zoom")];if(g[0].value===void 0)return[new T(x,g,"object stop key must have value")];if(s&&s>De(g[0].zoom))return[new T(x,g[0].zoom,"stop zoom values must appear in ascending order")];De(g[0].zoom)!==s&&(s=De(g[0].zoom),a=void 0,n={}),m=m.concat(He({key:`${x}[0]`,value:g[0],valueSpec:{zoom:{}},validateSpec:y.validateSpec,style:y.style,styleSpec:y.styleSpec,objectElementValidators:{zoom:la,value:f}}))}else m=m.concat(f({key:`${x}[0]`,value:g[0],validateSpec:y.validateSpec,style:y.style,styleSpec:y.styleSpec},g));return ia(hr(g[1]))?m.concat([new T(`${x}[1]`,g[1],"expressions are not allowed in function stops.")]):m.concat(y.validateSpec({key:`${x}[1]`,value:g[1],valueSpec:t,validateSpec:y.validateSpec,style:y.style,styleSpec:y.styleSpec}))}function f(y,m){let g=K(y.value),x=De(y.value),b=y.value===null?m:y.value;if(!i)i=g;else if(g!==i)return[new T(y.key,b,`${g} stop domain type must match previous stop domain type ${i}`)];if(g!=="number"&&g!=="string"&&g!=="boolean")return[new T(y.key,b,"stop domain value must be a number, string, or boolean")];if(g!=="number"&&r!=="categorical"){let v=`number expected, ${g} found`;return Rr(t)&&r===void 0&&(v+=\'\\nIf you intended to use a categorical function, specify `"type": "categorical"`.\'),[new T(y.key,b,v)]}return r==="categorical"&&g==="number"&&(!isFinite(x)||Math.floor(x)!==x)?[new T(y.key,b,`integer expected, found ${x}`)]:r!=="categorical"&&g==="number"&&a!==void 0&&x<a?[new T(y.key,b,"stop domain values must appear in ascending order")]:(a=x,r==="categorical"&&x in n?[new T(y.key,b,"stop domain values must be unique")]:(n[x]=!0,[]))}function d(y){return y.validateSpec({key:y.key,value:y.value,valueSpec:t,validateSpec:y.validateSpec,style:y.style,styleSpec:y.styleSpec})}}function Ur(e){let t=(e.expressionContext==="property"?$h:ur)(hr(e.value),e.key,e.valueSpec);if(t.result==="error")return t.value.map(i=>new T(`${e.key}${i.key}`,e.value,i.message));let r=t.value.expression||t.value._styleExpression.expression;if(e.expressionContext==="property"&&e.propertyKey==="text-font"&&!r.outputDefined())return[new T(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"&&!Pi(r))return[new T(e.key,e.value,\'"feature-state" data expressions are not supported with layout properties.\')];if(e.expressionContext==="filter"&&!Pi(r))return[new T(e.key,e.value,\'"feature-state" data expressions are not supported with filters.\')];if(e.expressionContext&&e.expressionContext.indexOf("cluster")===0){if(!ta(r,["zoom","feature-state"]))return[new T(e.key,e.value,\'"zoom" and "feature-state" expressions are not supported with cluster properties.\')];if(e.expressionContext==="cluster-initial"&&!ea(r))return[new T(e.key,e.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function c0(e){let t=e.value,r=e.key,i=K(t);return i==="boolean"?[]:[new T(r,t,`boolean expected, ${i} found`)]}function oo(e){let t=e.key,r=e.value,i=K(r);return i==="string"?ye.parse(String(r))?[]:[new T(t,r,`color expected, "${r}" found`)]:[new T(t,r,`color expected, ${i} found`)]}function Ri(e){let t=e.key,r=e.value,i=e.valueSpec,n=[];return Array.isArray(i.values)?i.values.indexOf(De(r))===-1&&n.push(new T(t,r,`expected one of [${i.values.join(", ")}], ${JSON.stringify(r)} found`)):Object.keys(i.values).indexOf(De(r))===-1&&n.push(new T(t,r,`expected one of [${Object.keys(i.values).join(", ")}], ${JSON.stringify(r)} found`)),n}function p0(e,t){let r=e;for(let i of t)r=r[i];return r}function f0(e,t){let r=no(t);return r?[new T(`${e.key}${r.path.map(i=>`[${i}]`).join("")}`,p0(e.value,r.path),Gh(r.legacyFilter),null,"warning")]:[]}function lo(e){let t=hr(e.value);return ro(t)?[...f0(e,t),...Ur(Mi({},e,{expressionContext:"filter",valueSpec:{value:"boolean"}}))]:Jh(e)}function Jh(e){let t=e.value,r=e.key;if(K(t)!=="array")return[new T(r,t,`array expected, ${K(t)} found`)];let i=e.styleSpec,n,a=[];if(t.length<1)return[new T(r,t,"filter array must have at least 1 element")];switch(a=a.concat(Ri({key:`${r}[0]`,value:t[0],valueSpec:i.filter_operator,style:e.style,styleSpec:e.styleSpec})),De(t[0])){case"<":case"<=":case">":case">=":t.length>=2&&De(t[1])==="$type"&&a.push(new T(r,t,`"$type" cannot be use with operator "${t[0]}"`));case"==":case"!=":t.length!==3&&a.push(new T(r,t,`filter array for operator "${t[0]}" must have 3 elements`));case"in":case"!in":t.length>=2&&(n=K(t[1]),n!=="string"&&a.push(new T(`${r}[1]`,t[1],`string expected, ${n} found`)));for(let s=2;s<t.length;s++)n=K(t[s]),De(t[1])==="$type"?a=a.concat(Ri({key:`${r}[${s}]`,value:t[s],valueSpec:i.geometry_type,style:e.style,styleSpec:e.styleSpec})):n!=="string"&&n!=="number"&&n!=="boolean"&&a.push(new T(`${r}[${s}]`,t[s],`string, number, or boolean expected, ${n} found`));break;case"any":case"all":case"none":for(let s=1;s<t.length;s++)a=a.concat(Jh({key:`${r}[${s}]`,value:t[s],style:e.style,styleSpec:e.styleSpec}));break;case"has":case"!has":n=K(t[1]),t.length===2?n!=="string"&&a.push(new T(`${r}[1]`,t[1],`string expected, ${n} found`)):a.push(new T(r,t,`filter array for "${t[0]}" operator must have 2 elements`))}return a}function Kh(e,t){let r=e.key,i=e.validateSpec,n=e.style,a=e.styleSpec,s=e.value,o=e.objectKey,l=a[`${t}_${e.layerType}`];if(!l)return[];let u=o.match(Qs);if(t==="paint"&&u&&l[u[1]]&&l[u[1]].transition)return i({key:r,value:s,valueSpec:a.transition,style:n,styleSpec:a});let h=e.valueSpec||l[o];if(!h)return[new T(r,s,`unknown property "${o}"`)];let c;if(K(s)==="string"&&Rr(h)&&!h.tokens&&(c=/^{([^}]+)}$/.exec(s)))return[new T(r,s,`"${o}" does not support interpolation syntax\nUse an identity property function instead: \\`{ "type": "identity", "property": ${JSON.stringify(c[1])} }\\`.`)];let p=[];return e.layerType==="symbol"&&o==="text-font"&&ra(hr(s))&&De(s.type)==="identity"&&p.push(new T(r,s,\'"text-font" does not support identity functions\')),p.concat(i({key:e.key,value:s,valueSpec:h,style:n,styleSpec:a,expressionContext:"property",propertyType:t,propertyKey:o}))}function Qh(e){return Kh(e,"paint")}function ec(e){return Kh(e,"layout")}function tc(e){let t=[],r=e.value,i=e.key,n=e.style,a=e.styleSpec;if(K(r)!=="object")return[new T(i,r,`object expected, ${K(r)} found`)];!r.type&&!r.ref&&t.push(new T(i,r,\'either "type" or "ref" is required\'));let s=De(r.type),o=De(r.ref);if(r.id){let l=De(r.id);for(let u=0;u<e.arrayIndex;u++){let h=n.layers[u];De(h.id)===l&&t.push(new T(i,r.id,`duplicate layer id "${r.id}", previously used at line ${h.id.__line__}`))}}if("ref"in r){["type","source","source-layer","filter","layout"].forEach(u=>{u in r&&t.push(new T(i,r[u],`"${u}" is prohibited for ref layers`))});let l;n.layers.forEach(u=>{De(u.id)===o&&(l=u)}),l?l.ref?t.push(new T(i,r.ref,"ref cannot reference another ref layer")):s=De(l.type):t.push(new T(i,r.ref,`ref layer "${o}" not found`))}else if(s!=="background")if(!r.source)t.push(new T(i,r,\'missing required property "source"\'));else{let l=n.sources&&n.sources[r.source],u=l&&De(l.type);l?u==="vector"&&s==="raster"?t.push(new T(i,r.source,`layer "${r.id}" requires a raster source`)):u!=="raster-dem"&&s==="hillshade"||u!=="raster-dem"&&s==="color-relief"?t.push(new T(i,r.source,`layer "${r.id}" requires a raster-dem source`)):u==="raster"&&s!=="raster"?t.push(new T(i,r.source,`layer "${r.id}" requires a vector source`)):u==="vector"&&!r["source-layer"]?t.push(new T(i,r,`layer "${r.id}" must specify a "source-layer"`)):u==="raster-dem"&&s!=="hillshade"&&s!=="color-relief"?t.push(new T(i,r.source,"raster-dem source can only be used with layer type \'hillshade\' or \'color-relief\'.")):s==="line"&&r.paint&&r.paint["line-gradient"]&&(u!=="geojson"||!l.lineMetrics)&&t.push(new T(i,r,`layer "${r.id}" specifies a line-gradient, which requires a GeoJSON source with \\`lineMetrics\\` enabled.`)):t.push(new T(i,r.source,`source "${r.source}" not found`))}return s==="raster"&&r.paint?.resampling&&r.paint?.["raster-resampling"]&&t.push(new T(i,r.paint,`layer "${r.id}" redundantly specifies "resampling" and "raster-resampling" paint properties, but only one is allowed. It is advised to use "resampling".`)),t=t.concat(He({key:i,value:r,valueSpec:a.layer,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*"(){return[]},type(){return e.validateSpec({key:`${i}.type`,value:r.type,valueSpec:a.layer.type,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,object:r,objectKey:"type"})},filter:lo,layout(l){return He({layer:r,key:l.key,value:l.value,style:l.style,styleSpec:l.styleSpec,validateSpec:l.validateSpec,objectElementValidators:{"*"(u){return ec(Mi({layerType:s},u))}}})},paint(l){return He({layer:r,key:l.key,value:l.value,style:l.style,styleSpec:l.styleSpec,validateSpec:l.validateSpec,objectElementValidators:{"*"(u){return Qh(Mi({layerType:s},u))}}})}}})),t}function Yt(e){let t=e.value,r=e.key,i=K(t);return i==="string"?[]:[new T(r,t,`string expected, ${i} found`)]}function d0(e){let t=e.sourceName??"",r=e.value,i=e.styleSpec,n=i.source_raster_dem,a=e.style,s=[],o=K(r);if(r===void 0)return s;if(o!=="object")return s.push(new T("source_raster_dem",r,`object expected, ${o} found`)),s;let l=De(r.encoding)==="custom",u=["redFactor","greenFactor","blueFactor","baseShift"],h=e.value.encoding?`"${e.value.encoding}"`:"Default";for(let c in r)!l&&u.includes(c)?s.push(new T(c,r[c],`In "${t}": "${c}" is only valid when "encoding" is set to "custom". ${h} encoding found`)):n[c]?s=s.concat(e.validateSpec({key:c,value:r[c],valueSpec:n[c],validateSpec:e.validateSpec,style:a,styleSpec:i})):s.push(new T(c,r[c],`unknown property "${c}"`));return s}const rc={promoteId:y0};function ic(e){let t=e.value,r=e.key,i=e.styleSpec,n=e.style,a=e.validateSpec;if(!t.type)return[new T(r,t,\'"type" is required\')];let s=De(t.type),o;switch(s){case"vector":case"raster":return o=He({key:r,value:t,valueSpec:i[`source_${s.replace("-","_")}`],style:e.style,styleSpec:i,objectElementValidators:rc,validateSpec:a}),o;case"raster-dem":return o=d0({sourceName:r,value:t,style:e.style,styleSpec:i,validateSpec:a}),o;case"geojson":if(o=He({key:r,value:t,valueSpec:i.source_geojson,style:n,styleSpec:i,validateSpec:a,objectElementValidators:rc}),t.cluster)for(let l in t.clusterProperties){let[u,h]=t.clusterProperties[l],c=typeof u=="string"?[u,["accumulated"],["get",l]]:u;o.push(...Ur({key:`${r}.${l}.map`,value:h,expressionContext:"cluster-map"})),o.push(...Ur({key:`${r}.${l}.reduce`,value:c,expressionContext:"cluster-reduce"}))}return o;case"video":return He({key:r,value:t,valueSpec:i.source_video,style:n,validateSpec:a,styleSpec:i});case"image":return He({key:r,value:t,valueSpec:i.source_image,style:n,validateSpec:a,styleSpec:i});case"canvas":return[new T(r,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return Ri({key:`${r}.type`,value:t.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]}})}}function y0({key:e,value:t}){if(K(t)==="string")return Yt({key:e,value:t});{let r=[];for(let i in t)r.push(...Yt({key:`${e}.${i}`,value:t[i]}));return r}}function nc(e){let t=e.value,r=e.styleSpec,i=r.light,n=e.style,a=[],s=K(t);if(t===void 0)return a;if(s!=="object")return a=a.concat([new T("light",t,`object expected, ${s} found`)]),a;for(let o in t){let l=o.match(Qs);a=l&&i[l[1]]&&i[l[1]].transition?a.concat(e.validateSpec({key:o,value:t[o],valueSpec:r.transition,validateSpec:e.validateSpec,style:n,styleSpec:r})):i[o]?a.concat(e.validateSpec({key:o,value:t[o],valueSpec:i[o],validateSpec:e.validateSpec,style:n,styleSpec:r})):a.concat([new T(o,t[o],`unknown property "${o}"`)])}return a}function ac(e){let t=e.value,r=e.styleSpec,i=r.sky,n=e.style,a=K(t);if(t===void 0)return[];if(a!=="object")return[new T("sky",t,`object expected, ${a} found`)];let s=[];for(let o in t){let l=o.match(Qs);s=l&&i[l[1]]&&i[l[1]].transition?s.concat(e.validateSpec({key:o,value:t[o],valueSpec:r.transition,style:n,styleSpec:r})):i[o]?s.concat(e.validateSpec({key:o,value:t[o],valueSpec:i[o],style:n,styleSpec:r})):s.concat([new T(o,t[o],`unknown property "${o}"`)])}return s}function sc(e){let t=e.value,r=e.styleSpec,i=r.terrain,n=e.style,a=[],s=K(t);if(t===void 0)return a;if(s!=="object")return a=a.concat([new T("terrain",t,`object expected, ${s} found`)]),a;for(let o in t)a=i[o]?a.concat(e.validateSpec({key:o,value:t[o],valueSpec:i[o],validateSpec:e.validateSpec,style:n,styleSpec:r})):a.concat([new T(o,t[o],`unknown property "${o}"`)]);return a}function m0(e){return Yt(e).length===0?[]:Ur(e)}function g0(e){return Yt(e).length===0?[]:Ur(e)}function x0(e){let t=e.key,r=e.value;if(K(r)==="array"){if(r.length<1||r.length>4)return[new T(t,r,`padding requires 1 to 4 values; ${r.length} values found`)];let i={type:"number"},n=[];for(let a=0;a<r.length;a++)n=n.concat(e.validateSpec({key:`${t}[${a}]`,value:r[a],validateSpec:e.validateSpec,valueSpec:i}));return n}return la({key:t,value:r,valueSpec:{}})}function v0(e){let t=e.key,r=e.value;if(K(r)==="array"){let i={type:"number"};if(r.length<1)return[new T(t,r,"array length at least 1 expected, length 0 found")];let n=[];for(let a=0;a<r.length;a++)n=n.concat(e.validateSpec({key:`${t}[${a}]`,value:r[a],validateSpec:e.validateSpec,valueSpec:i}));return n}return la({key:t,value:r,valueSpec:{}})}function b0(e){let t=e.key,r=e.value;if(K(r)==="array"){if(r.length<1)return[new T(t,r,"array length at least 1 expected, length 0 found")];let i=[];for(let n=0;n<r.length;n++)i=i.concat(oo({key:`${t}[${n}]`,value:r[n]}));return i}return oo({key:t,value:r})}function w0(e){let t=e.key,r=e.value,i=K(r),n=e.styleSpec;if(i!=="array"||r.length<1||r.length%2!=0)return[new T(t,r,"variableAnchorOffsetCollection requires a non-empty array of even length")];let a=[];for(let s=0;s<r.length;s+=2)a=a.concat(Ri({key:`${t}[${s}]`,value:r[s],valueSpec:n.layout_symbol["text-anchor"]})),a=a.concat(so({key:`${t}[${s+1}]`,value:r[s+1],valueSpec:{length:2,value:"number"},validateSpec:e.validateSpec,style:e.style,styleSpec:n}));return a}function oc(e){let t=[],r=e.value,i=e.key;if(Array.isArray(r)){let n=[],a=[];for(let s in r)r[s].id&&n.includes(r[s].id)&&t.push(new T(i,r,`all the sprites\' ids must be unique, but ${r[s].id} is duplicated`)),n.push(r[s].id),r[s].url&&a.includes(r[s].url)&&t.push(new T(i,r,`all the sprites\' URLs must be unique, but ${r[s].url} is duplicated`)),a.push(r[s].url),t=t.concat(He({key:`${i}[${s}]`,value:r[s],valueSpec:{id:{type:"string",required:!0},url:{type:"string",required:!0}},validateSpec:e.validateSpec}));return t}return Yt({key:i,value:r})}function D0(e){let t=e.value,r=e.styleSpec,i=r.projection,n=e.style,a=K(t);if(t===void 0)return[];if(a!=="object")return[new T("projection",t,`object expected, ${a} found`)];let s=[];for(let o in t)s=i[o]?s.concat(e.validateSpec({key:o,value:t[o],valueSpec:i[o],style:n,styleSpec:r})):s.concat([new T(o,t[o],`unknown property "${o}"`)]);return s}function _0(e){let t=e.key,r=e.value;r=r instanceof String?r.valueOf():r;let i=K(r);return i==="array"&&!S0(r)&&!A0(r)?[new T(t,r,`projection expected, invalid array ${JSON.stringify(r)} found`)]:["array","string"].includes(i)?[]:[new T(t,r,`projection expected, invalid type "${i}" found`)]}function A0(e){return!!["interpolate","step","literal"].includes(e[0])}function S0(e){return Array.isArray(e)&&e.length===3&&typeof e[0]=="string"&&typeof e[1]=="string"&&typeof e[2]=="number"}function uo(e){return!!e&&e.constructor===Object}function lc(e){return uo(e.value)?[]:[new T(e.key,e.value,`object expected, ${K(e.value)} found`)]}const uc=1114111,E0=/^u\\+(?:([0-9a-f]{1,6})(?:-([0-9a-f]{1,6}))?|([0-9a-f]{0,5}\\?{1,6}))$/i;function T0(e,t){if(K(t)!=="string")return[];let r=`${t}`,i=()=>[new T(e,t,\'invalid unicode range, expected a value such as "U+26", "U+0-10FFFF" or "U+4??"\')],n=r.match(E0);if(!n)return i();let[,a,s,o]=n;if(o!==void 0)return o.length>6?i():[];let l=parseInt(a,16),u=s===void 0?l:parseInt(s,16);return l>uc||u>uc?[new T(e,t,"unicode range is out of bounds, the maximum code point is U+10FFFF")]:l>u?[new T(e,t,`unicode range start must not be greater than its end, but ${r} is`)]:[]}function hc(e){let t=e.key??"font-faces",r=e.value,i=e.validateSpec,n=e.styleSpec??Qu,a=e.style;if(!uo(r))return[new T(t,r,`object expected, ${K(r)} found`)];let s=[];for(let o in r){let l=r[o],u=K(l);if(u==="string")s.push(...Yt({key:`${t}.${o}`,value:l}));else if(u==="array"){let h={url:{type:"string",required:!0},"unicode-range":{type:"array",value:"string"}};for(let[c,p]of l.entries()){let f=`${t}.${o}[${c}]`;s.push(...He({key:f,value:p,valueSpec:h,styleSpec:n,style:a,validateSpec:i}));let d=uo(p)?p["unicode-range"]:void 0;if(K(d)==="array")for(let[y,m]of d.entries())s.push(...T0(`${f}.unicode-range[${y}]`,m))}}else s.push(new T(`${t}.${o}`,l,`string or array expected, ${u} found`))}return s}const cc={"*"(){return[]},array:so,boolean:c0,number:la,color:oo,constants:Zh,enum:Ri,filter:lo,function:Hh,layer:tc,object:He,source:ic,light:nc,sky:ac,terrain:sc,projection:D0,projectionDefinition:_0,string:Yt,formatted:m0,resolvedImage:g0,padding:x0,numberArray:v0,colorArray:b0,variableAnchorOffsetCollection:w0,sprite:oc,state:lc,fontFaces:hc};function ua(e){let t=e.value,r=e.valueSpec,i=e.styleSpec;return e.validateSpec=ua,r.expression&&ra(De(t))?Hh(e):r.expression&&ia(hr(t))?Ur(e):r.type&&cc[r.type]?cc[r.type](e):He(Mi({},e,{valueSpec:r.type?i[r.type]:r}))}function pc(e){let t=e.value,r=e.key,i=Yt(e);return i.length||(t.indexOf("{fontstack}")===-1&&i.push(new T(r,t,\'"glyphs" url must include a "{fontstack}" token\')),t.indexOf("{range}")===-1&&i.push(new T(r,t,\'"glyphs" url must include a "{range}" token\'))),i}function Je(e,t=D){let r=[];return r=r.concat(ua({key:"",value:e,valueSpec:t.$root,styleSpec:t,style:e,validateSpec:ua,objectElementValidators:{glyphs:pc,"*"(){return[]}}})),e.constants&&(r=r.concat(Zh({key:"constants",value:e.constants}))),fc(r)}Je.source=it(rt(ic)),Je.sprite=it(rt(oc)),Je.glyphs=it(rt(pc)),Je.fontFaces=it(rt(hc)),Je.light=it(rt(nc)),Je.sky=it(rt(ac)),Je.terrain=it(rt(sc)),Je.state=it(rt(lc)),Je.layer=it(rt(tc)),Je.filter=it(rt(lo)),Je.paintProperty=it(rt(Qh)),Je.layoutProperty=it(rt(ec));function rt(e){return function(t){return e(Object.assign({},t,{validateSpec:ua}))}}function fc(e){return[].concat(e).sort((t,r)=>t.line-r.line)}function it(e){return function(...t){return fc(e.apply(this,t))}}const F0={type:"enum","property-type":"data-constant",expression:{interpolated:!1,parameters:["global-state"]},values:{visible:{},none:{}},transition:!1,default:"visible"};var I0=class{constructor(e,t,r){this._rootKey=t,this._globalState=r,this.setValue(e)}evaluate(){return this._literalValue??this._compiledValue.evaluate({})}setValue(e){if(e==null||e==="visible"||e==="none"){this._literalValue=e==="none"?"none":"visible",this._compiledValue=void 0,this._globalStateRefs=new Set;return}let t=ur(e,this._rootKey,F0,this._globalState);if(t.result==="error")throw this._literalValue="visible",this._compiledValue=void 0,Error(t.value.map(r=>`${r.key}: ${r.message}`).join(", "));this._literalValue=void 0,this._compiledValue=t.value,this._globalStateRefs=Vi(t.value.expression)}getGlobalStateRefs(){return this._globalStateRefs}};function k0(e,t,r){return new I0(e,t,r)}const dc=Je;new Set(Object.keys(D).filter(e=>e.startsWith("source_")).map(e=>e.slice(7).replaceAll("_","-")));function C0(e,t){let r=!1;for(let i of t){if(i.severity==="warning"){Ce(i.message);continue}e.fire(new On(Error(i.message))),r=!0}return r}function B0(e,t,r,i){return i?.validate!==!1&&C0(e,t({styleSpec:D,...r}))}var ho=class My{constructor(t,r,i){let n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;let s=new Int32Array(this.arrayBuffer);t=s[0],r=s[1],i=s[2],this.d=r+2*i;for(let u=0;u<this.d*this.d;u++){let h=s[3+u],c=s[3+u+1];n.push(h===c?null:s.subarray(h,c))}let o=s[3+n.length],l=s[3+n.length+1];this.keys=s.subarray(o,l),this.bboxes=s.subarray(l),this.insert=this._insertReadonly}else{this.d=r+2*i;for(let s=0;s<this.d*this.d;s++)n.push([]);this.keys=[],this.bboxes=[]}this.n=r,this.extent=t,this.padding=i,this.scale=r/t,this.uid=0;let a=i/r*t;this.min=-a,this.max=t+a}insert(t,r,i,n,a){this._forEachCell(r,i,n,a,this._insertCell,this.uid++,void 0,void 0),this.keys.push(t),this.bboxes.push(r),this.bboxes.push(i),this.bboxes.push(n),this.bboxes.push(a)}_insertReadonly(){throw Error("Cannot insert into a GridIndex created from an ArrayBuffer.")}_insertCell(t,r,i,n,a,s){this.cells[a].push(s)}query(t,r,i,n,a){let s=this.min,o=this.max;if(t<=s&&r<=s&&o<=i&&o<=n&&!a)return[...this.keys];{let l=[];return this._forEachCell(t,r,i,n,this._queryCell,l,{},a),l}}_queryCell(t,r,i,n,a,s,o,l){let u=this.cells[a];if(u!==null){let h=this.keys,c=this.bboxes;for(let p of u)if(o[p]===void 0){let f=p*4;(l?l(c[f+0],c[f+1],c[f+2],c[f+3]):t<=c[f+2]&&r<=c[f+3]&&i>=c[f+0]&&n>=c[f+1])?(o[p]=!0,s.push(h[p])):o[p]=!1}}}_forEachCell(t,r,i,n,a,s,o,l){let u=this._convertToCellCoord(t),h=this._convertToCellCoord(r),c=this._convertToCellCoord(i),p=this._convertToCellCoord(n);for(let f=u;f<=c;f++)for(let d=h;d<=p;d++){let y=this.d*d+f;if((!l||l(this._convertFromCellCoord(f),this._convertFromCellCoord(d),this._convertFromCellCoord(f+1),this._convertFromCellCoord(d+1)))&&a.call(this,t,r,i,n,y,s,o,l))return}}_convertFromCellCoord(t){return(t-this.padding)/this.scale}_convertToCellCoord(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let t=this.cells,r=3+this.cells.length+1+1,i=0;for(let s of this.cells)i+=s.length;let n=new Int32Array(r+i+this.keys.length+this.bboxes.length);n[0]=this.extent,n[1]=this.n,n[2]=this.padding;let a=r;for(let s=0;s<t.length;s++){let o=t[s];n[3+s]=a,n.set(o,a),a+=o.length}return n[3+t.length]=a,n.set(this.keys,a),a+=this.keys.length,n[3+t.length+1]=a,n.set(this.bboxes,a),a+=this.bboxes.length,n.buffer}static serialize(t,r){let i=t.toArrayBuffer();return r&&r.push(i),{buffer:i}}static deserialize(t){return new My(t.buffer)}};const Pt={};function C(e,t,r={}){if(Pt[e])throw Error(`${e} is already registered.`);Object.defineProperty(t,"_classRegistryKey",{value:e,writeable:!1}),Pt[e]={klass:t,omit:r.omit||[],shallow:r.shallow||[]}}C("Object",Object),C("Set",Set),C("TransferableGridIndex",ho),C("Color",ye),C("Error",Error),C("AJAXError",Vn),C("ResolvedImage",bt),C("StylePropertyFunction",Nh),C("StyleExpression",to,{omit:["_evaluator"]}),C("ZoomDependentExpression",na),C("ZoomConstantExpression",Li),C("CompoundExpression",or,{omit:["_evaluate"]});for(let e in Or)Or[e]._classRegistryKey||C(`Expression_${e}`,Or[e]);function yc(e){return e&&typeof ArrayBuffer<"u"&&(e instanceof ArrayBuffer||e.constructor?.name==="ArrayBuffer")}function co(e){let t=e.constructor;return e.$name||t._classRegistryKey}function P0(e){if(typeof e!="object"||!e)return!1;let t=co(e);return t&&t!=="Object"}function mc(e){return!P0(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||yc(e)||As(e)||ArrayBuffer.isView(e)||e instanceof ImageData)}function $i(e,t){if(mc(e))return(yc(e)||As(e))&&t&&t.push(e),ArrayBuffer.isView(e)&&t&&t.push(e.buffer),e instanceof ImageData&&t&&t.push(e.data.buffer),e;if(Array.isArray(e)){let a=[];for(let s of e)a.push($i(s,t));return a}if(typeof e!="object")throw Error(`can\'t serialize object of type ${typeof e}`);let r=co(e);if(!r)throw Error(`can\'t serialize object of unregistered class ${e.constructor.name}`);if(!Pt[r])throw Error(`${r} is not registered.`);let{klass:i}=Pt[r],n=i.serialize?i.serialize(e,t):{};if(i.serialize){if(n===t?.[t.length-1])throw Error("statically serialized object won\'t survive transfer of $name property")}else{for(let a in e){if(!e.hasOwnProperty(a)||Pt[r].omit.includes(a))continue;let s=e[a];s!==void 0&&(n[a]=Pt[r].shallow.includes(a)?s:$i(s,t))}e instanceof Error&&(n.message=e.message)}if(n.$name)throw Error("$name property is reserved for worker serialization logic.");return r!=="Object"&&(n.$name=r),n}function Ni(e){if(mc(e))return e;if(Array.isArray(e))return e.map(Ni);if(typeof e!="object")throw Error(`can\'t deserialize object of type ${typeof e}`);let t=co(e)||"Object";if(!Pt[t])throw Error(`can\'t deserialize unregistered class ${t}`);let{klass:r}=Pt[t];if(!r)throw Error(`can\'t deserialize unregistered class ${t}`);if(r.deserialize)return r.deserialize(e);let i=Object.create(r.prototype);for(let n of Object.keys(e)){if(n==="$name")continue;let a=e[n];i[n]=Pt[t].shallow.includes(n)?a:Ni(a)}return i}var gc=class{constructor(){this.first=!0}update(e,t){let r=Math.floor(e);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=e,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=t):this.lastFloorZoom<r&&(this.lastIntegerZoom=r,this.lastIntegerZoomTime=t),e!==this.lastZoom&&(this.lastZoom=e,this.lastFloorZoom=r,!0))}},oe=class{constructor(e,t){this.zoom=e,t?(this.now=t.now||0,this.fadeDuration=t.fadeDuration||0,this.zoomHistory=t.zoomHistory||new gc,this.transition=t.transition||{}):(this.now=0,this.fadeDuration=0,this.zoomHistory=new gc,this.transition={})}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),r=this.crossFadingFactor();return e>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:t+(1-t)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*t}}},Ui=class{constructor(e,t,r,i){this.property=e,this.value=t,this.expression=i0(t===void 0?e.specification.default:t,r,e.specification,i)}isDataDriven(){return this.expression.kind==="source"||this.expression.kind==="composite"}getGlobalStateRefs(){return this.expression.globalStateRefs||new Set}readsGlobalState(e){let t=this.getGlobalStateRefs();return e.some(r=>t.has(r))}possiblyEvaluate(e,t,r){return this.property.possiblyEvaluate(this,e,t,r)}},po=class{constructor(e,t,r){this.property=e,this.value=new Ui(e,void 0,t,r)}transitioned(e,t){return t.value===this.value?t:new xc(this.property,this.value,t,Xe({},e.transition,this.transition),e.now)}untransitioned(){return new xc(this.property,this.value,null,{},0)}},M0=class{constructor(e,t,r){this._properties=e,this._values=Object.create(e.defaultTransitionablePropertyValues),this._globalState=r,this._rootKey=t}_propertyRootKey(e){return`${this._rootKey}.${String(e)}`}hasProperty(e){return e in this._properties.defaultTransitionablePropertyValues}getValue(e){return Ut(this._values[e].value.value)}setValue(e,t){Object.hasOwn(this._values,e)||(this._values[e]=new po(this._values[e].property,this._propertyRootKey(e),this._globalState)),this._values[e].value=new Ui(this._values[e].property,t===null?void 0:Ut(t),this._propertyRootKey(e),this._globalState)}setValues(e){for(let t in e){let r=e[t];t.endsWith("-transition")?this.setTransition(t.slice(0,-11),r):_s(this._values[t].value.value,r)||this.setValue(t,r)}}getTransition(e){return Ut(this._values[e].transition)}setTransition(e,t){Object.hasOwn(this._values,e)||(this._values[e]=new po(this._values[e].property,this._propertyRootKey(e),this._globalState)),this._values[e].transition=Ut(t)||void 0}retainPriorGlobalState(e,t,r){for(let i of Object.keys(r._values))for(let n=r._values[i];n;n=n.prior){let{value:a}=n;a.property.specification.transition&&!a.isDataDriven()&&a.expression._globalState===this._globalState&&a.readsGlobalState(e)&&(n.value=new Ui(a.property,a.value,this._propertyRootKey(i),t))}}applyGlobalStateChange(e,t,r,i){this.retainPriorGlobalState(e,t,r);let n=!1;for(let a of Object.keys(this._values)){let{value:s}=this._values[a];s.readsGlobalState(e)&&(this.setValue(a,s.value),n=!0)}return n?this.transitioned(i,r):r}serialize(){let e={};for(let t of Object.keys(this._values)){let r=this.getValue(t);r!==void 0&&(e[t]=r);let i=this.getTransition(t);i!==void 0&&(e[`${t}-transition`]=i)}return e}transitioned(e,t){let r=new vc(this._properties);for(let i of Object.keys(this._values))r._values[i]=this._values[i].transitioned(e,t._values[i]);return r}untransitioned(){let e=new vc(this._properties);for(let t of Object.keys(this._values))e._values[t]=this._values[t].untransitioned();return e}},xc=class{constructor(e,t,r,i,n){this.property=e,this.value=t,this.begin=n+i.delay||0,this.end=this.begin+i.duration||0,e.specification.transition&&(i.delay||i.duration)&&(this.prior=r)}possiblyEvaluate(e,t,r){let i=e.now||0,n=this.value.possiblyEvaluate(e,t,r),a=this.prior;if(!a)return n;if(i>this.end||this.value.isDataDriven())return this.prior=null,n;if(i<this.begin)return a.possiblyEvaluate(e,t,r);{let s=(i-this.begin)/(this.end-this.begin);return this.property.interpolate(a.possiblyEvaluate(e,t,r),n,d1(s))}}},vc=class{constructor(e){this._properties=e,this._values=Object.create(e.defaultTransitioningPropertyValues)}possiblyEvaluate(e,t,r){let i=new ha(this._properties);for(let n of Object.keys(this._values))i._values[n]=this._values[n].possiblyEvaluate(e,t,r);return i}hasTransition(){for(let e of Object.keys(this._values))if(this._values[e].prior)return!0;return!1}},z0=class{constructor(e,t,r){this._properties=e,this._values=Object.create(e.defaultPropertyValues),this._globalState=r,this._rootKey=t}_propertyRootKey(e){return`${this._rootKey}.${String(e)}`}hasValue(e){return this._values[e].value!==void 0}hasProperty(e){return e in this._properties.defaultPropertyValues}getValue(e){return Ut(this._values[e].value)}setValue(e,t){this._values[e]=new Ui(this._values[e].property,t===null?void 0:Ut(t),this._propertyRootKey(e),this._globalState)}serialize(){let e={};for(let t of Object.keys(this._values)){let r=this.getValue(t);r!==void 0&&(e[t]=r)}return e}possiblyEvaluate(e,t,r){let i=new ha(this._properties);for(let n of Object.keys(this._values))i._values[n]=this._values[n].possiblyEvaluate(e,t,r);return i}},nt=class{constructor(e,t,r){this.property=e,this.value=t,this.parameters=r}isConstant(){return this.value.kind==="constant"}constantOr(e){return this.value.kind==="constant"?this.value.value:e}evaluate(e,t,r,i){return this.property.evaluate(this.value,this.parameters,e,t,r,i)}},ha=class{constructor(e){this._properties=e,this._values=Object.create(e.defaultPossiblyEvaluatedValues)}get(e){return this._values[e]}};function bc(e){if(Array.isArray(e))return e.length;let t=e?.values;return Array.isArray(t)?t.length:void 0}function wc(e,t){let r=bc(e),i=bc(t);return r!==void 0&&i!==void 0&&r!==i}var M=class{constructor(e,t){this.specification=e,this.name=t}possiblyEvaluate(e,t){if(e.isDataDriven())throw Error("Value should not be data driven");return e.expression.evaluate(t)}interpolate(e,t,r){if(wc(e,t))return Ce(`Property "${this.name}" is trying to interpolate arrays of different lengths. Rendering may \'jump\'.`),t;let i=this.specification.type,n=ar[i];return n?n(e,t,r):e}},U=class{constructor(e,t,r){this.specification=e,this.name=t,this.overrides=r}possiblyEvaluate(e,t,r,i){return e.expression.kind==="constant"||e.expression.kind==="camera"?new nt(this,{kind:"constant",value:e.expression.evaluate(t,null,{},r,i)},t):new nt(this,e.expression,t)}interpolate(e,t,r){if(e.value.kind!=="constant"||t.value.kind!=="constant")return e;if(e.value.value===void 0||t.value.value===void 0)return new nt(this,{kind:"constant",value:void 0},e.parameters);if(wc(e.value.value,t.value.value))return Ce(`Property "${this.name}" is trying to interpolate arrays of different lengths. Rendering may \'jump\'.`),t;let i=this.specification.type,n=ar[i];if(n){let a=n(e.value.value,t.value.value,r);return new nt(this,{kind:"constant",value:a},e.parameters)}return e}evaluate(e,t,r,i,n,a){return e.kind==="constant"?e.value:e.evaluate(t,r,i,n,a)}},qi=class extends U{possiblyEvaluate(e,t,r,i){if(e.value===void 0)return new nt(this,{kind:"constant",value:void 0},t);if(e.expression.kind==="constant"){let n=e.expression.evaluate(t,null,{},r,i),a=e.property.specification.type==="resolvedImage"&&typeof n!="string"?n.name:n,s=this._calculate(a,a,a,t);return new nt(this,{kind:"constant",value:s},t)}if(e.expression.kind==="camera"){let n=this._calculate(e.expression.evaluate({zoom:t.zoom-1}),e.expression.evaluate({zoom:t.zoom}),e.expression.evaluate({zoom:t.zoom+1}),t);return new nt(this,{kind:"constant",value:n},t)}return new nt(this,e.expression,t)}evaluate(e,t,r,i,n,a){if(e.kind==="source"){let s=e.evaluate(t,r,i,n,a);return this._calculate(s,s,s,t)}return e.kind==="composite"?this._calculate(e.evaluate({zoom:Math.floor(t.zoom)-1},r,i),e.evaluate({zoom:Math.floor(t.zoom)},r,i),e.evaluate({zoom:Math.floor(t.zoom)+1},r,i),t):e.value}_calculate(e,t,r,i){return i.zoom>i.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:r,to:t}}interpolate(e){return e}},Dc=class{constructor(e,t){this.specification=e,this.name=t}possiblyEvaluate(e,t,r,i){if(e.value!==void 0){if(e.expression.kind==="constant"){let n=e.expression.evaluate(t,null,{},r,i);return this._calculate(n,n,n,t)}return this._calculate(e.expression.evaluate(new oe(Math.floor(t.zoom-1),t)),e.expression.evaluate(new oe(Math.floor(t.zoom),t)),e.expression.evaluate(new oe(Math.floor(t.zoom+1),t)),t)}}_calculate(e,t,r,i){return i.zoom>i.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:r,to:t}}interpolate(e){return e}},ca=class{constructor(e,t){this.specification=e,this.name=t}possiblyEvaluate(e,t,r,i){return!!e.expression.evaluate(t,null,{},r,i)}interpolate(){return!1}},je=class{constructor(e){this.properties=e,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let t in e){let r=e[t];r.specification.overridable&&this.overridableProperties.push(t);let i=this.defaultPropertyValues[t]=new Ui(r,void 0,r.name,void 0),n=this.defaultTransitionablePropertyValues[t]=new po(r,r.name,void 0);this.defaultTransitioningPropertyValues[t]=n.untransitioned(),this.defaultPossiblyEvaluatedValues[t]=i.possiblyEvaluate({})}}};C("DataDrivenProperty",U),C("DataConstantProperty",M),C("CrossFadedDataDrivenProperty",qi),C("CrossFadedProperty",Dc),C("ColorRampProperty",ca);const _c=" is a PAINT property not a LAYOUT property. Use get/setPaintProperty instead?",fo=" is a LAYOUT property not a PAINT property. Use get/setLayoutProperty instead?";var ht=class extends C1{constructor(e,t,r){if(super(),this.id=e.id,this.type=e.type,this._globalState=r,this._featureFilter={filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set},this._visibilityExpression=k0(this.visibility,`layers[${this.id}].layout.visibility`,r),e.type!=="custom"&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,e.type!=="background"&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter,this._featureFilter=Oi(e.filter,`layers[${this.id}].filter`,r)),t.layout&&(this._unevaluatedLayout=new z0(t.layout,`layers[${this.id}].layout`,r)),t.paint)){this._transitionablePaint=new M0(t.paint,`layers[${this.id}].paint`,r);for(let i in e.paint)this.setPaintProperty(i,e.paint[i],{validate:!1});for(let i in e.layout)this.setLayoutProperty(i,e.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new ha(t.paint)}}setFilter(e){this.filter=e,this._featureFilter=Oi(e,`layers[${this.id}].filter`,this._globalState)}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(e){if(e==="visibility")return this.visibility;if(this._transitionablePaint?.hasProperty(e))throw Error(e+_c);if(!this._unevaluatedLayout)throw Error(`Cannot get layout property "${e}" on layer type "${this.type}" which has no layout properties.`);return this._unevaluatedLayout.getValue(e)}getLayoutAffectingGlobalStateRefs(){let e=new Set;for(let t of this._visibilityExpression.getGlobalStateRefs())e.add(t);if(this._unevaluatedLayout)for(let t in this._unevaluatedLayout._values){let r=this._unevaluatedLayout._values[t];for(let i of r.getGlobalStateRefs())e.add(i)}for(let t of this._featureFilter.getGlobalStateRefs())e.add(t);return e}getPaintAffectingGlobalStateRefs(){let e=new globalThis.Map;if(this._transitionablePaint)for(let t in this._transitionablePaint._values){let r=this._transitionablePaint._values[t].value;for(let i of r.getGlobalStateRefs()){let n=e.get(i)??[];n.push({name:t,value:r.value}),e.set(i,n)}}return e}getVisibilityAffectingGlobalStateRefs(){return this._visibilityExpression.getGlobalStateRefs()}setLayoutProperty(e,t,r={}){if(e==="visibility"){this.visibility=t,this._visibilityExpression.setValue(t),this.recalculateVisibility();return}if(this._transitionablePaint?.hasProperty(e)){this.fire(new On(Error(e+_c)));return}t!=null&&this._validate(dc.layoutProperty,`layers.${this.id}.layout.${e}`,e,t,r)||this._unevaluatedLayout.setValue(e,t)}getPaintProperty(e){if(e.endsWith("-transition")){let t=e.slice(0,-11);if(t==="visibility"||this._unevaluatedLayout?.hasProperty(t))throw Error(e+fo);return this._transitionablePaint.getTransition(t)}if(e==="visibility"||this._unevaluatedLayout?.hasProperty(e))throw Error(e+fo);return this._transitionablePaint.getValue(e)}setPaintProperty(e,t,r={}){if(e==="visibility"||this._unevaluatedLayout?.hasProperty(e))return this.fire(new On(Error(e+fo))),!1;if(t!=null&&this._validate(dc.paintProperty,`layers.${this.id}.paint.${e}`,e,t,r))return!1;if(e.endsWith("-transition"))return this._transitionablePaint.setTransition(e.slice(0,-11),t||void 0),!1;{let i=this._transitionablePaint._values[e],n=i.property.specification["property-type"]==="cross-faded-data-driven",a=i.value.isDataDriven(),s=i.value;this._transitionablePaint.setValue(e,t),this._handleSpecialPaintPropertyUpdate(e);let o=this._transitionablePaint._values[e].value;return o.isDataDriven()||a||n||this._handleOverridablePaintPropertyUpdate(e,s,o)}}_handleSpecialPaintPropertyUpdate(e){}_handleOverridablePaintPropertyUpdate(e,t,r){return!1}isHidden(e=this.minzoom,t=!1){return this.minzoom&&e<(t?Math.floor(this.minzoom):this.minzoom)||this.maxzoom&&e>=this.maxzoom?!0:this._evaluatedVisibility==="none"}updateTransitions(e){this._transitioningPaint=this._transitionablePaint.transitioned(e,this._transitioningPaint)}retainPriorGlobalState(e,t){this._transitionablePaint?.retainPriorGlobalState(e,t,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculateVisibility(){this._evaluatedVisibility=this._visibilityExpression.evaluate()}recalculate(e,t){e.getCrossfadeParameters&&(this._crossfadeParameters=e.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(e,void 0,t)),this.paint=this._transitioningPaint.possiblyEvaluate(e,void 0,t)}serialize(){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?.serialize(),paint:this._transitionablePaint?.serialize()};return this.visibility&&(e.layout||(e.layout={}),e.layout.visibility=this.visibility),g1(e,(t,r)=>t!==void 0&&!(r==="layout"&&!Object.keys(t).length)&&!(r==="paint"&&!Object.keys(t).length))}_validate(e,t,r,i,n={}){return B0(this,e,{key:t,layerType:this.type,objectKey:r,value:i},n)}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let e in this.paint._values){let t=this.paint.get(e);if(t instanceof nt&&Rr(t.property.specification)&&(t.value.kind==="source"||t.value.kind==="composite")&&t.value.isStateDependent)return!0}return!1}};let Ac;const L0=()=>Ac||(Ac=new je({"raster-opacity":new M(D.paint_raster["raster-opacity"],"raster-opacity"),"raster-hue-rotate":new M(D.paint_raster["raster-hue-rotate"],"raster-hue-rotate"),"raster-brightness-min":new M(D.paint_raster["raster-brightness-min"],"raster-brightness-min"),"raster-brightness-max":new M(D.paint_raster["raster-brightness-max"],"raster-brightness-max"),"raster-saturation":new M(D.paint_raster["raster-saturation"],"raster-saturation"),"raster-contrast":new M(D.paint_raster["raster-contrast"],"raster-contrast"),resampling:new M(D.paint_raster.resampling,"resampling"),"raster-resampling":new M(D.paint_raster["raster-resampling"],"raster-resampling"),"raster-fade-duration":new M(D.paint_raster["raster-fade-duration"],"raster-fade-duration")}));var V0={get paint(){return L0()}},O0=class extends ht{constructor(e,t){super(e,V0,t)}};const R0={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};var ji=class{constructor(e,t){this._structArray=e,this._pos1=t*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}},me=class{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(this.capacity*5),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")}freeBufferAfterUpload(){this.arrayBuffer=new ArrayBuffer(0),this._refreshViews()}};function Se(e,t=1){let r=0,i=0;return{members:e.map(n=>{let a=$0(n.type),s=r=Sc(r,Math.max(t,a)),o=n.components||1;return i=Math.max(i,a),r+=a*o,{name:n.name,type:n.type,components:o,offset:s}}),size:Sc(r,Math.max(i,t)),alignment:t}}function $0(e){return R0[e].BYTES_PER_ELEMENT}function Sc(e,t){return Math.ceil(e/t)*t}var Gi=class extends me{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t){let r=this.length;return this.resize(r+1),this.emplace(r,e,t)}emplace(e,t,r){let i=e*2;return this.int16[i+0]=t,this.int16[i+1]=r,e}};Gi.prototype.bytesPerElement=4,C("StructArrayLayout2i4",Gi);var yo=class extends me{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,r)}emplace(e,t,r,i){let n=e*3;return this.int16[n+0]=t,this.int16[n+1]=r,this.int16[n+2]=i,e}};yo.prototype.bytesPerElement=6,C("StructArrayLayout3i6",yo);var Ec=class extends me{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,i){let n=this.length;return this.resize(n+1),this.emplace(n,e,t,r,i)}emplace(e,t,r,i,n){let a=e*4;return this.int16[a+0]=t,this.int16[a+1]=r,this.int16[a+2]=i,this.int16[a+3]=n,e}};Ec.prototype.bytesPerElement=8,C("StructArrayLayout4i8",Ec);var mo=class extends me{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,i,n,a){let s=this.length;return this.resize(s+1),this.emplace(s,e,t,r,i,n,a)}emplace(e,t,r,i,n,a,s){let o=e*6;return this.int16[o+0]=t,this.int16[o+1]=r,this.int16[o+2]=i,this.int16[o+3]=n,this.int16[o+4]=a,this.int16[o+5]=s,e}};mo.prototype.bytesPerElement=12,C("StructArrayLayout2i4i12",mo);var go=class extends me{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,i,n,a){let s=this.length;return this.resize(s+1),this.emplace(s,e,t,r,i,n,a)}emplace(e,t,r,i,n,a,s){let o=e*4,l=e*8;return this.int16[o+0]=t,this.int16[o+1]=r,this.uint8[l+4]=i,this.uint8[l+5]=n,this.uint8[l+6]=a,this.uint8[l+7]=s,e}};go.prototype.bytesPerElement=8,C("StructArrayLayout2i4ub8",go);var Yi=class extends me{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t){let r=this.length;return this.resize(r+1),this.emplace(r,e,t)}emplace(e,t,r){let i=e*2;return this.float32[i+0]=t,this.float32[i+1]=r,e}};Yi.prototype.bytesPerElement=8,C("StructArrayLayout2f8",Yi);var xo=class extends me{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r,i,n,a,s,o,l,u){let h=this.length;return this.resize(h+1),this.emplace(h,e,t,r,i,n,a,s,o,l,u)}emplace(e,t,r,i,n,a,s,o,l,u,h){let c=e*10;return this.uint16[c+0]=t,this.uint16[c+1]=r,this.uint16[c+2]=i,this.uint16[c+3]=n,this.uint16[c+4]=a,this.uint16[c+5]=s,this.uint16[c+6]=o,this.uint16[c+7]=l,this.uint16[c+8]=u,this.uint16[c+9]=h,e}};xo.prototype.bytesPerElement=20,C("StructArrayLayout10ui20",xo);var vo=class extends me{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r,i,n,a,s,o){let l=this.length;return this.resize(l+1),this.emplace(l,e,t,r,i,n,a,s,o)}emplace(e,t,r,i,n,a,s,o,l){let u=e*8;return this.uint16[u+0]=t,this.uint16[u+1]=r,this.uint16[u+2]=i,this.uint16[u+3]=n,this.uint16[u+4]=a,this.uint16[u+5]=s,this.uint16[u+6]=o,this.uint16[u+7]=l,e}};vo.prototype.bytesPerElement=16,C("StructArrayLayout8ui16",vo);var bo=class extends me{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,r,i,n,a,s,o,l,u,h,c,p){let f=this.length;return this.resize(f+1),this.emplace(f,e,t,r,i,n,a,s,o,l,u,h,c,p)}emplace(e,t,r,i,n,a,s,o,l,u,h,c,p,f){let d=e*14,y=e*7;return this.int16[d+0]=t,this.int16[d+1]=r,this.int16[d+2]=i,this.int16[d+3]=n,this.uint16[d+4]=a,this.uint16[d+5]=s,this.uint16[d+6]=o,this.uint16[d+7]=l,this.int16[d+8]=u,this.int16[d+9]=h,this.int16[d+10]=c,this.int16[d+11]=p,this.float32[y+6]=f,e}};bo.prototype.bytesPerElement=28,C("StructArrayLayout4i4ui4i1f28",bo);var wo=class extends me{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,r){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,r)}emplace(e,t,r,i){let n=e*3;return this.float32[n+0]=t,this.float32[n+1]=r,this.float32[n+2]=i,e}};wo.prototype.bytesPerElement=12,C("StructArrayLayout3f12",wo);var Do=class extends me{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){let r=e*1;return this.uint32[r+0]=t,e}};Do.prototype.bytesPerElement=4,C("StructArrayLayout1ul4",Do);var _o=class extends me{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r,i,n,a,s,o,l){let u=this.length;return this.resize(u+1),this.emplace(u,e,t,r,i,n,a,s,o,l)}emplace(e,t,r,i,n,a,s,o,l,u){let h=e*10,c=e*5;return this.int16[h+0]=t,this.int16[h+1]=r,this.int16[h+2]=i,this.int16[h+3]=n,this.int16[h+4]=a,this.int16[h+5]=s,this.uint32[c+3]=o,this.uint16[h+8]=l,this.uint16[h+9]=u,e}};_o.prototype.bytesPerElement=20,C("StructArrayLayout6i1ul2ui20",_o);var Ao=class extends me{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,i,n,a){let s=this.length;return this.resize(s+1),this.emplace(s,e,t,r,i,n,a)}emplace(e,t,r,i,n,a,s){let o=e*6;return this.int16[o+0]=t,this.int16[o+1]=r,this.int16[o+2]=i,this.int16[o+3]=n,this.int16[o+4]=a,this.int16[o+5]=s,e}};Ao.prototype.bytesPerElement=12,C("StructArrayLayout2i2i2i12",Ao);var Tc=class extends me{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,i,n){let a=this.length;return this.resize(a+1),this.emplace(a,e,t,r,i,n)}emplace(e,t,r,i,n,a){let s=e*4,o=e*8;return this.float32[s+0]=t,this.float32[s+1]=r,this.float32[s+2]=i,this.int16[o+6]=n,this.int16[o+7]=a,e}};Tc.prototype.bytesPerElement=16,C("StructArrayLayout2f1f2i16",Tc);var So=class extends me{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,i,n,a){let s=this.length;return this.resize(s+1),this.emplace(s,e,t,r,i,n,a)}emplace(e,t,r,i,n,a,s){let o=e*16,l=e*4,u=e*8;return this.uint8[o+0]=t,this.uint8[o+1]=r,this.float32[l+1]=i,this.float32[l+2]=n,this.int16[u+6]=a,this.int16[u+7]=s,e}};So.prototype.bytesPerElement=16,C("StructArrayLayout2ub2f2i16",So);var Eo=class extends me{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,r)}emplace(e,t,r,i){let n=e*3;return this.uint16[n+0]=t,this.uint16[n+1]=r,this.uint16[n+2]=i,e}};Eo.prototype.bytesPerElement=6,C("StructArrayLayout3ui6",Eo);var To=class extends me{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,r,i,n,a,s,o,l,u,h,c,p,f,d,y,m,g){let x=this.length;return this.resize(x+1),this.emplace(x,e,t,r,i,n,a,s,o,l,u,h,c,p,f,d,y,m,g)}emplace(e,t,r,i,n,a,s,o,l,u,h,c,p,f,d,y,m,g,x){let b=e*26,v=e*13,w=e*52;return this.int16[b+0]=t,this.int16[b+1]=r,this.uint16[b+2]=i,this.uint16[b+3]=n,this.uint32[v+2]=a,this.uint32[v+3]=s,this.uint32[v+4]=o,this.uint16[b+10]=l,this.uint16[b+11]=u,this.uint16[b+12]=h,this.float32[v+7]=c,this.float32[v+8]=p,this.uint8[w+36]=f,this.uint8[w+37]=d,this.uint8[w+38]=y,this.uint32[v+10]=m,this.int16[b+22]=g,this.float32[v+12]=x,e}};To.prototype.bytesPerElement=52,C("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i1f52",To);var Fo=class extends me{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,r,i,n,a,s,o,l,u,h,c,p,f,d,y,m,g,x,b,v,w,_,A,S,F,V,z,P){let O=this.length;return this.resize(O+1),this.emplace(O,e,t,r,i,n,a,s,o,l,u,h,c,p,f,d,y,m,g,x,b,v,w,_,A,S,F,V,z,P)}emplace(e,t,r,i,n,a,s,o,l,u,h,c,p,f,d,y,m,g,x,b,v,w,_,A,S,F,V,z,P,O){let E=e*34,L=e*17;return this.int16[E+0]=t,this.int16[E+1]=r,this.int16[E+2]=i,this.int16[E+3]=n,this.int16[E+4]=a,this.int16[E+5]=s,this.int16[E+6]=o,this.int16[E+7]=l,this.uint16[E+8]=u,this.uint16[E+9]=h,this.uint16[E+10]=c,this.uint16[E+11]=p,this.uint16[E+12]=f,this.uint16[E+13]=d,this.uint16[E+14]=y,this.uint16[E+15]=m,this.uint16[E+16]=g,this.uint16[E+17]=x,this.uint16[E+18]=b,this.uint16[E+19]=v,this.uint16[E+20]=w,this.uint16[E+21]=_,this.uint16[E+22]=A,this.uint32[L+12]=S,this.float32[L+13]=F,this.float32[L+14]=V,this.uint16[E+30]=z,this.uint16[E+31]=P,this.float32[L+16]=O,e}};Fo.prototype.bytesPerElement=68,C("StructArrayLayout8i15ui1ul2f2ui1f68",Fo);var pa=class extends me{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){let r=e*1;return this.float32[r+0]=t,e}};pa.prototype.bytesPerElement=4,C("StructArrayLayout1f4",pa);var Io=class extends me{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,r){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,r)}emplace(e,t,r,i){let n=e*6,a=e*3;return this.uint16[n+0]=t,this.float32[a+1]=r,this.float32[a+2]=i,e}};Io.prototype.bytesPerElement=12,C("StructArrayLayout1ui2f12",Io);var ko=class extends me{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,r)}emplace(e,t,r,i){let n=e*2,a=e*4;return this.uint32[n+0]=t,this.uint16[a+2]=r,this.uint16[a+3]=i,e}};ko.prototype.bytesPerElement=8,C("StructArrayLayout1ul2ui8",ko);var Co=class extends me{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t){let r=this.length;return this.resize(r+1),this.emplace(r,e,t)}emplace(e,t,r){let i=e*2;return this.uint16[i+0]=t,this.uint16[i+1]=r,e}};Co.prototype.bytesPerElement=4,C("StructArrayLayout2ui4",Co);var Fc=class extends me{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){let r=e*1;return this.uint16[r+0]=t,e}};Fc.prototype.bytesPerElement=2,C("StructArrayLayout1ui2",Fc);var Bo=class extends me{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,r,i){let n=this.length;return this.resize(n+1),this.emplace(n,e,t,r,i)}emplace(e,t,r,i,n){let a=e*4;return this.float32[a+0]=t,this.float32[a+1]=r,this.float32[a+2]=i,this.float32[a+3]=n,e}};Bo.prototype.bytesPerElement=16,C("StructArrayLayout4f16",Bo);var Ic=class extends ji{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new B(this.anchorPointX,this.anchorPointY)}};Ic.prototype.size=20;var kc=class extends _o{get(e){return new Ic(this,e)}};C("CollisionBoxArray",kc);var Cc=class extends ji{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(e){this._structArray.uint8[this._pos1+37]=e}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(e){this._structArray.uint8[this._pos1+38]=e}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(e){this._structArray.uint32[this._pos4+10]=e}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}get heightOffset(){return this._structArray.float32[this._pos4+12]}};Cc.prototype.size=52;var Bc=class extends To{get(e){return new Cc(this,e)}};C("PlacedSymbolArray",Bc);var Pc=class extends ji{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(e){this._structArray.uint32[this._pos4+12]=e}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}get heightOffset(){return this._structArray.float32[this._pos4+16]}};Pc.prototype.size=68;var Mc=class extends Fo{get(e){return new Pc(this,e)}};C("SymbolInstanceArray",Mc);var zc=class extends pa{getoffsetX(e){return this.float32[e*1+0]}};C("GlyphOffsetArray",zc);var Lc=class extends yo{getx(e){return this.int16[e*3+0]}gety(e){return this.int16[e*3+1]}gettileUnitDistanceFromAnchor(e){return this.int16[e*3+2]}};C("SymbolLineVertexArray",Lc);var Vc=class extends ji{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]}};Vc.prototype.size=12;var Oc=class extends Io{get(e){return new Vc(this,e)}};C("TextAnchorOffsetArray",Oc);var Rc=class extends ji{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]}};Rc.prototype.size=8;var $c=class extends ko{get(e){return new Rc(this,e)}};C("FeatureIndexArray",$c);var N0=class extends Gi{},U0=class extends Gi{},q0=class extends Gi{},j0=class extends mo{},G0=class extends go{},Y0=class extends Yi{},qr=class extends xo{},Nc=class extends vo{},X0=class extends bo{},W0=class extends wo{},Z0=class extends Do{},Uc=class extends Ao{},H0=class extends So{},Xi=class extends Eo{},Po=class extends Co{};const J0=Se([{name:"a_pos",components:2,type:"Int16"}],4),K0=J0.members;var Ke=class oi{constructor(t=[]){this._forceNewSegmentOnNextPrepare=!1,this.segments=t}prepareSegment(t,r,i,n){let a=this.segments[this.segments.length-1];return t>oi.MAX_VERTEX_ARRAY_LENGTH&&Ce(`Max vertices per segment is ${oi.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}. Consider using the \\`fillLargeMeshArrays\\` function if you require meshes with more than ${oi.MAX_VERTEX_ARRAY_LENGTH} vertices.`),this._forceNewSegmentOnNextPrepare||!a||a.vertexLength+t>oi.MAX_VERTEX_ARRAY_LENGTH||a.sortKey!==n?this.createNewSegment(r,i,n):a}createNewSegment(t,r,i){let n={vertexOffset:t.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0,vaos:{}};return i!==void 0&&(n.sortKey=i),this._forceNewSegmentOnNextPrepare=!1,this.segments.push(n),n}getOrCreateLatestSegment(t,r,i){return this.prepareSegment(0,t,r,i)}forceNewSegmentOnNextPrepare(){this._forceNewSegmentOnNextPrepare=!0}get(){return this.segments}destroy(){for(let t of this.segments)for(let r in t.vaos)t.vaos[r].destroy()}static simpleSegment(t,r,i,n){return new oi([{vertexOffset:t,primitiveOffset:r,vertexLength:i,primitiveLength:n,vaos:{},sortKey:0}])}};Ke.MAX_VERTEX_ARRAY_LENGTH=2**16-1,C("SegmentVector",Ke);function qc(e,t){return e=bi(Math.floor(e),0,255),t=bi(Math.floor(t),0,255),256*e+t}const Q0=Se([{name:"a_pattern_from",components:4,type:"Uint16"},{name:"a_pattern_to",components:4,type:"Uint16"},{name:"a_pixel_ratio_from",components:1,type:"Uint16"},{name:"a_pixel_ratio_to",components:1,type:"Uint16"}]),eg=Se([{name:"a_dasharray_from",components:4,type:"Uint16"},{name:"a_dasharray_to",components:4,type:"Uint16"}]);var tg=xs((e,t)=>{function r(i,n){for(var a=i.length&3,s=i.length-a,o=n,l,u=3432918353,h=461845907,c,p=0;p<s;)c=i.charCodeAt(p)&255|(i.charCodeAt(++p)&255)<<8|(i.charCodeAt(++p)&255)<<16|(i.charCodeAt(++p)&255)<<24,++p,c=(c&65535)*u+(((c>>>16)*u&65535)<<16)&4294967295,c=c<<15|c>>>17,c=(c&65535)*h+(((c>>>16)*h&65535)<<16)&4294967295,o^=c,o=o<<13|o>>>19,l=(o&65535)*5+(((o>>>16)*5&65535)<<16)&4294967295,o=(l&65535)+27492+(((l>>>16)+58964&65535)<<16);switch(c=0,a){case 3:c^=(i.charCodeAt(p+2)&255)<<16;case 2:c^=(i.charCodeAt(p+1)&255)<<8;case 1:c^=i.charCodeAt(p)&255,c=(c&65535)*u+(((c>>>16)*u&65535)<<16)&4294967295,c=c<<15|c>>>17,c=(c&65535)*h+(((c>>>16)*h&65535)<<16)&4294967295,o^=c}return o^=i.length,o^=o>>>16,o=(o&65535)*2246822507+(((o>>>16)*2246822507&65535)<<16)&4294967295,o^=o>>>13,o=(o&65535)*3266489909+(((o>>>16)*3266489909&65535)<<16)&4294967295,o^=o>>>16,o>>>0}t!==void 0&&(t.exports=r)}),rg=xs((e,t)=>{function r(i,n){for(var a=i.length,s=n^a,o=0,l;a>=4;)l=i.charCodeAt(o)&255|(i.charCodeAt(++o)&255)<<8|(i.charCodeAt(++o)&255)<<16|(i.charCodeAt(++o)&255)<<24,l=(l&65535)*1540483477+(((l>>>16)*1540483477&65535)<<16),l^=l>>>24,l=(l&65535)*1540483477+(((l>>>16)*1540483477&65535)<<16),s=(s&65535)*1540483477+(((s>>>16)*1540483477&65535)<<16)^l,a-=4,++o;switch(a){case 3:s^=(i.charCodeAt(o+2)&255)<<16;case 2:s^=(i.charCodeAt(o+1)&255)<<8;case 1:s^=i.charCodeAt(o)&255,s=(s&65535)*1540483477+(((s>>>16)*1540483477&65535)<<16)}return s^=s>>>13,s=(s&65535)*1540483477+(((s>>>16)*1540483477&65535)<<16),s^=s>>>15,s>>>0}t.exports=r}),fa=Qy(xs((e,t)=>{var r=tg(),i=rg();t.exports=r,t.exports.murmur3=r,t.exports.murmur2=i})()),jc=class zy{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(t,r,i,n){this.ids.push(Gc(t)),this.positions.push(r,i,n)}getPositions(t){if(!this.indexed)throw Error("Trying to get index, but feature positions are not indexed");let r=Gc(t),i=0,n=this.ids.length-1;for(;i<n;){let s=i+n>>1;this.ids[s]>=r?n=s:i=s+1}let a=[];for(;this.ids[i]===r;){let s=this.positions[3*i],o=this.positions[3*i+1],l=this.positions[3*i+2];a.push({index:s,start:o,end:l}),i++}return a}static serialize(t,r){let i=new Float64Array(t.ids),n=new Uint32Array(t.positions);return Mo(i,n,0,i.length-1),r&&r.push(i.buffer,n.buffer),{ids:i,positions:n}}static deserialize(t){let r=new zy;return r.ids=t.ids,r.positions=t.positions,r.indexed=!0,r}};function Gc(e){let t=+e;return!isNaN(t)&&t<=2**53-1?t:(0,fa.default)(String(e))}function Mo(e,t,r,i){for(;r<i;){let n=e[r+i>>1],a=r-1,s=i+1;for(;;){do a++;while(e[a]<n);do s--;while(e[s]>n);if(a>=s)break;da(e,a,s),da(t,3*a,3*s),da(t,3*a+1,3*s+1),da(t,3*a+2,3*s+2)}s-r<i-s?(Mo(e,t,r,s),r=s+1):(Mo(e,t,s+1,i),i=s)}}function da(e,t,r){let i=e[t];e[t]=e[r],e[r]=i}C("FeaturePositionMap",jc);var zo=class{constructor(e,t){this.gl=e.gl,this.location=t}},Lo=class extends zo{constructor(e,t){super(e,t),this.current=0}set(e){this.current!==e&&(this.current=e,this.gl.uniform1f(this.location,e))}},ig=class extends zo{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]))}},ng=class extends zo{constructor(e,t){super(e,t),this.current=ye.transparent}set(e){(e.r!==this.current.r||e.g!==this.current.g||e.b!==this.current.b||e.a!==this.current.a)&&(this.current=e,this.gl.uniform4f(this.location,e.r,e.g,e.b,e.a))}};function Vo(e){return[qc(255*e.r,255*e.g),qc(255*e.b,255*e.a)]}var Wi=class{constructor(e,t,r){this.value=e,this.uniformNames=t.map(i=>`u_${i}`),this.type=r}setUniform(e,t,r){e.set(r.constantOr(this.value))}getBinding(e,t,r){return this.type==="color"?new ng(e,t):new Lo(e,t)}},cr=class{constructor(e,t){this.uniformNames=t.map(r=>`u_${r}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(e,t){this.pixelRatioFrom=t.pixelRatio,this.pixelRatioTo=e.pixelRatio,this.patternFrom=t.tlbr,this.patternTo=e.tlbr}setConstantDashPositions(e,t){this.dashTo=[0,e.y,e.height,e.width],this.dashFrom=[0,t.y,t.height,t.width]}setUniform(e,t,r,i){let n=null;i==="u_pattern_to"?n=this.patternTo:i==="u_pattern_from"?n=this.patternFrom:i==="u_dasharray_to"?n=this.dashTo:i==="u_dasharray_from"?n=this.dashFrom:i==="u_pixel_ratio_to"?n=this.pixelRatioTo:i==="u_pixel_ratio_from"&&(n=this.pixelRatioFrom),n!==null&&e.set(n)}getBinding(e,t,r){return r.startsWith("u_pattern")||r.startsWith("u_dasharray_")?new ig(e,t):new Lo(e,t)}},Mt=class{constructor(e,t,r,i){this.expression=e,this.type=r,this.maxValue=0,this.paintVertexAttributes=t.map(n=>({name:`a_${n}`,type:"Float32",components:r==="color"?2:1,offset:0})),this.paintVertexArray=new i}populatePaintArray(e,t,r){let i=this.paintVertexArray.length,n=this.expression.evaluate(new oe(0,r),t,{},r.canonical,[],r.formattedSection);this.paintVertexArray.resize(e),this._setPaintValue(i,e,n)}updatePaintArray(e,t,r,i,n){let a=this.expression.evaluate(new oe(0,n),r,i);this._setPaintValue(e,t,a)}_setPaintValue(e,t,r){if(this.type==="color"){let i=Vo(r);for(let n=e;n<t;n++)this.paintVertexArray.emplace(n,i[0],i[1])}else{for(let i=e;i<t;i++)this.paintVertexArray.emplace(i,r);this.maxValue=Math.max(this.maxValue,Math.abs(r))}}upload(e){this.paintVertexArray?.arrayBuffer.byteLength&&(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()}},ct=class{constructor(e,t,r,i,n,a){this.expression=e,this.uniformNames=t.map(s=>`u_${s}_t`),this.type=r,this.useIntegerZoom=i,this.zoom=n,this.maxValue=0,this.paintVertexAttributes=t.map(s=>({name:`a_${s}`,type:"Float32",components:r==="color"?4:2,offset:0})),this.paintVertexArray=new a}populatePaintArray(e,t,r){let i=this.expression.evaluate(new oe(this.zoom,r),t,{},r.canonical,[],r.formattedSection),n=this.expression.evaluate(new oe(this.zoom+1,r),t,{},r.canonical,[],r.formattedSection),a=this.paintVertexArray.length;this.paintVertexArray.resize(e),this._setPaintValue(a,e,i,n)}updatePaintArray(e,t,r,i,n){let a=this.expression.evaluate(new oe(this.zoom,n),r,i),s=this.expression.evaluate(new oe(this.zoom+1,n),r,i);this._setPaintValue(e,t,a,s)}_setPaintValue(e,t,r,i){if(this.type==="color"){let n=Vo(r),a=Vo(i);for(let s=e;s<t;s++)this.paintVertexArray.emplace(s,n[0],n[1],a[0],a[1])}else{for(let n=e;n<t;n++)this.paintVertexArray.emplace(n,r,i);this.maxValue=Math.max(this.maxValue,Math.abs(r),Math.abs(i))}}upload(e){this.paintVertexArray?.arrayBuffer.byteLength&&(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 r=this.useIntegerZoom?Math.floor(t.zoom):t.zoom,i=bi(this.expression.interpolationFactor(r,this.zoom,this.zoom+1),0,1);e.set(i)}getBinding(e,t,r){return new Lo(e,t)}},Xt=class{constructor(e,t,r,i,n,a){this.expression=e,this.type=t,this.useIntegerZoom=r,this.zoom=i,this.layerId=a,this.zoomInPaintVertexArray=new n,this.zoomOutPaintVertexArray=new n}populatePaintArray(e,t,r){let i=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(e),this.zoomOutPaintVertexArray.resize(e),this._setPaintValues(i,e,this.getPositionIds(t),r)}updatePaintArray(e,t,r,i,n){this._setPaintValues(e,t,this.getPositionIds(r),n)}_setPaintValues(e,t,r,i){let n=this.getPositions(i);if(!n||!r)return;let a=n[r.min],s=n[r.mid],o=n[r.max];if(a&&s&&o)for(let l=e;l<t;l++)this.emplace(this.zoomInPaintVertexArray,l,a,s),this.emplace(this.zoomOutPaintVertexArray,l,o,s)}upload(e){if(this.zoomInPaintVertexArray?.arrayBuffer.byteLength&&this.zoomOutPaintVertexArray?.arrayBuffer.byteLength){let t=this.getVertexAttributes();this.zoomInPaintVertexBuffer=e.createVertexBuffer(this.zoomInPaintVertexArray,t,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=e.createVertexBuffer(this.zoomOutPaintVertexArray,t,this.expression.isStateDependent)}}destroy(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()}},Yc=class extends Xt{getPositions(e){return e.imagePositions}getPositionIds(e){return e.patterns?.[this.layerId]}getVertexAttributes(){return Q0.members}emplace(e,t,r,i){e.emplace(t,r.tlbr[0],r.tlbr[1],r.tlbr[2],r.tlbr[3],i.tlbr[0],i.tlbr[1],i.tlbr[2],i.tlbr[3],r.pixelRatio,i.pixelRatio)}},Xc=class extends Xt{getPositions(e){return e.dashPositions}getPositionIds(e){return e.dashes?.[this.layerId]}getVertexAttributes(){return eg.members}emplace(e,t,r,i){e.emplace(t,0,r.y,r.height,r.width,0,i.y,i.height,i.width)}},Wc=class{constructor(e,t,r){this.binders={},this._buffers=[];let i=[];for(let n in e.paint._values){if(!r(n))continue;let a=e.paint.get(n);if(!(a instanceof nt)||!Rr(a.property.specification))continue;let s=ag(n,e.type),o=a.value,l=a.property.specification.type,u=a.property.useIntegerZoom,h=a.property.specification["property-type"],c=h==="cross-faded"||h==="cross-faded-data-driven";if(o.kind==="constant")this.binders[n]=c?new cr(o.value,s):new Wi(o.value,s,l),i.push(`/u_${n}`);else if(o.kind==="source"||c){let p=Zc(n,l,"source");this.binders[n]=c?n==="line-dasharray"?new Xc(o,l,u,t,p,e.id):new Yc(o,l,u,t,p,e.id):new Mt(o,s,l,p),i.push(`/a_${n}`)}else{let p=Zc(n,l,"composite");this.binders[n]=new ct(o,s,l,u,t,p),i.push(`/z_${n}`)}}this.cacheKey=i.sort().join("")}getMaxValue(e){let t=this.binders[e];return t instanceof Mt||t instanceof ct?t.maxValue:0}populatePaintArrays(e,t,r){for(let i in this.binders){let n=this.binders[i];(n instanceof Mt||n instanceof ct||n instanceof Xt)&&n.populatePaintArray(e,t,r)}}setConstantPatternPositions(e,t){for(let r in this.binders){let i=this.binders[r];i instanceof cr&&i.setConstantPatternPositions(e,t)}}setConstantDashPositions(e,t){for(let r in this.binders){let i=this.binders[r];i instanceof cr&&i.setConstantDashPositions(e,t)}}updatePaintArrays(e,t,r,i,n){let a=!1;for(let s of e){let o=t.getPositions(s.id);for(let l of o){let u=r.feature(l.index);for(let h in this.binders){let c=this.binders[h];(c instanceof Mt||c instanceof ct||c instanceof Xt)&&c.expression.isStateDependent===!0&&(c.expression=i.paint.get(h).value,c.updatePaintArray(l.start,l.end,u,s.state,n),a=!0)}}}return a}defines(){let e=[];for(let t in this.binders){let r=this.binders[t];(r instanceof Wi||r instanceof cr)&&e.push(...r.uniformNames.map(i=>`#define HAS_UNIFORM_${i}`))}return e}getBinderAttributes(){let e=[];for(let t in this.binders){let r=this.binders[t];if(r instanceof Mt||r instanceof ct)for(let i of r.paintVertexAttributes)e.push(i.name);else if(r instanceof Xt){let i=r.getVertexAttributes();for(let n of i)e.push(n.name)}}return e}getBinderUniforms(){let e=[];for(let t in this.binders){let r=this.binders[t];if(r instanceof Wi||r instanceof cr||r instanceof ct)for(let i of r.uniformNames)e.push(i)}return e}getPaintVertexBuffers(){return this._buffers}getUniforms(e,t){let r=[];for(let i in this.binders){let n=this.binders[i];if(n instanceof Wi||n instanceof cr||n instanceof ct){for(let a of n.uniformNames)if(t[a]){let s=n.getBinding(e,t[a],a);r.push({name:a,property:i,binding:s})}}}return r}setUniforms(e,t,r,i){for(let{name:n,property:a,binding:s}of t)this.binders[a].setUniform(s,i,r.get(a),n)}updatePaintBuffers(e){this._buffers=[];for(let t in this.binders){let r=this.binders[t];if(e&&r instanceof Xt){let i=e.fromScale===2?r.zoomInPaintVertexBuffer:r.zoomOutPaintVertexBuffer;i&&this._buffers.push(i)}else(r instanceof Mt||r instanceof ct)&&r.paintVertexBuffer&&this._buffers.push(r.paintVertexBuffer)}}upload(e){for(let t in this.binders){let r=this.binders[t];(r instanceof Mt||r instanceof ct||r instanceof Xt)&&r.upload(e)}this.updatePaintBuffers()}destroy(){for(let e in this.binders){let t=this.binders[e];(t instanceof Mt||t instanceof ct||t instanceof Xt)&&t.destroy()}}},pr=class{constructor(e,t,r=()=>!0){this.programConfigurations={};for(let i of e)this.programConfigurations[i.id]=new Wc(i,t,r);this.needsUpload=!1,this._featureMap=new jc,this._bufferOffset=0}populatePaintArrays(e,t,r,i){for(let n in this.programConfigurations)this.programConfigurations[n].populatePaintArrays(e,t,i);t.id!==void 0&&this._featureMap.add(t.id,r,this._bufferOffset,e),this._bufferOffset=e,this.needsUpload=!0}updatePaintArrays(e,t,r,i){for(let n of r)this.needsUpload=this.programConfigurations[n.id].updatePaintArrays(e,this._featureMap,t,n,i)||this.needsUpload}get(e){return this.programConfigurations[e]}upload(e){if(this.needsUpload){for(let t in this.programConfigurations)this.programConfigurations[t].upload(e);this.needsUpload=!1}}destroy(){for(let e in this.programConfigurations)this.programConfigurations[e].destroy()}};function ag(e,t){return{"text-opacity":["opacity"],"icon-opacity":["opacity"],"text-color":["fill_color"],"icon-color":["fill_color"],"text-halo-color":["halo_color"],"icon-halo-color":["halo_color"],"text-halo-blur":["halo_blur"],"icon-halo-blur":["halo_blur"],"text-halo-width":["halo_width"],"icon-halo-width":["halo_width"],"line-gap-width":["gapwidth"],"line-dasharray":["dasharray_to","dasharray_from"],"line-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-extrusion-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"]}[e]||[e.replace(`${t}-`,"").replace(/-/g,"_")]}function sg(e){return{"line-pattern":{source:qr,composite:qr},"fill-pattern":{source:qr,composite:qr},"fill-extrusion-pattern":{source:qr,composite:qr},"line-dasharray":{source:Nc,composite:Nc}}[e]}function Zc(e,t,r){let i={color:{source:Yi,composite:Bo},number:{source:pa,composite:Yi}};return sg(e)?.[r]||i[t][r]}C("ConstantBinder",Wi),C("CrossFadedConstantBinder",cr),C("SourceExpressionBinder",Mt),C("CrossFadedPatternBinder",Yc),C("CrossFadedDasharrayBinder",Xc),C("CompositeExpressionBinder",ct),C("ProgramConfiguration",Wc,{omit:["_buffers"]}),C("ProgramConfigurationSet",pr);const Oo=2**14-1,Hc=-Oo-1;function fr(e){let t=xe/e.extent,r=e.loadGeometry();for(let i of r)for(let n of i){let a=Math.round(n.x*t),s=Math.round(n.y*t);n.x=bi(a,Hc,Oo),n.y=bi(s,Hc,Oo),(a<n.x||a>n.x+1||s<n.y||s>n.y+1)&&Ce("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return r}function jr(e,t){return{type:e.type,id:e.id,properties:e.properties,geometry:t?fr(e):[]}}const Jc=-32768;function og(e,t,r,i,n){e.emplaceBack(Jc+t*8+i,Jc+r*8+n)}var Ro=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(t=>t.id),this.index=e.index,this.hasDependencies=!1,this.layoutVertexArray=new U0,this.indexArray=new Xi,this.segments=new Ke,this.programConfigurations=new pr(e.layers,e.zoom),this.stateDependentLayerIds=this.layers.filter(t=>t.isStateDependent()).map(t=>t.id)}populate(e,t,r){let i=this.layers[0],n=[],a=null,s=!1,o=i.type==="heatmap";if(i.type==="circle"){let c=i;a=c.layout.get("circle-sort-key"),s=!a.isConstant(),o||(o=c.paint.get("circle-pitch-alignment")==="map")}let l=o?t.subdivisionGranularity.circle:1,u=new oe(this.zoom),h=this.layers[0]._featureFilter.needGeometry;for(let{feature:c,id:p,index:f,sourceLayerIndex:d}of e){let y=jr(c,h);if(!this.layers[0]._featureFilter.filter(u,y,r))continue;let m=s?a.evaluate(y,{},r):void 0,g={id:p,properties:c.properties,type:c.type,sourceLayerIndex:d,index:f,geometry:h?y.geometry:fr(c),patterns:{},sortKey:m};n.push(g)}s&&n.sort((c,p)=>c.sortKey-p.sortKey);for(let c of n){let{geometry:p,index:f,sourceLayerIndex:d}=c,y=e[f].feature;this.addFeature(c,p,f,r,l),t.featureIndex.insert(y,p,f,d,this.index)}}update(e,t,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:r})}addFeatures(e){}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,K0),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(e,t,r,i,n=1){let a;switch(n){case 1:a=[0,7];break;case 3:a=[0,2,5,7];break;case 5:a=[0,1,3,4,6,7];break;case 7:a=[0,1,2,3,4,5,6,7];break;default:throw Error(`Invalid circle bucket granularity: ${n}; valid values are 1, 3, 5, 7.`)}let s=a.length;for(let o of t)for(let l of o){let u=l.x,h=l.y;if(u<0||u>=8192||h<0||h>=8192)continue;let c=this.segments.prepareSegment(s*s,this.layoutVertexArray,this.indexArray,e.sortKey),p=c.vertexLength;for(let f=0;f<s;f++)for(let d=0;d<s;d++)og(this.layoutVertexArray,u,h,a[d],a[f]);for(let f=0;f<s-1;f++)for(let d=0;d<s-1;d++){let y=p+f*s+d,m=p+(f+1)*s+d;this.indexArray.emplaceBack(y,m+1,y+1),this.indexArray.emplaceBack(y,m,m+1)}c.vertexLength+=s*s,c.primitiveLength+=(s-1)*(s-1)*2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,r,{imagePositions:{},canonical:i})}};C("CircleBucket",Ro,{omit:["layers"]});function lg(e,t){for(let r of e)if(Gr(t,r))return!0;for(let r of t)if(Gr(e,r))return!0;return $o(e,t)}function ya(e,t,r){return Gr(e,t)?!0:No(t,e,r)}function Kc(e,t){if(e.length===1)return ep(t,e[0]);for(let r of t)for(let i of r)if(Gr(e,i))return!0;for(let r of e)if(ep(t,r))return!0;for(let r of t)if($o(e,r))return!0;return!1}function ug(e,t,r){for(let i of t){if(e.length>=3){for(let n of i)if(Gr(e,n))return!0}if(hg(e,i,r))return!0}return!1}function hg(e,t,r){if(e.length>1){if($o(e,t))return!0;for(let i of t)if(No(i,e,r))return!0}for(let i of e)if(No(i,t,r))return!0;return!1}function $o(e,t){if(e.length===0||t.length===0)return!1;for(let r=0;r<e.length-1;r++){let i=e[r],n=e[r+1];for(let a=0;a<t.length-1;a++){let s=t[a],o=t[a+1];if(cg(i,n,s,o))return!0}}return!1}function cg(e,t,r,i){return qt(e,r,i)!==qt(t,r,i)&&qt(e,t,r)!==qt(e,t,i)}function No(e,t,r){let i=r*r;if(t.length===1)return e.distSqr(t[0])<i;for(let n=1;n<t.length;n++){let a=t[n-1],s=t[n];if(Qc(e,a,s)<i)return!0}return!1}function Qc(e,t,r){let i=t.distSqr(r);if(i===0)return e.distSqr(t);let n=((e.x-t.x)*(r.x-t.x)+(e.y-t.y)*(r.y-t.y))/i;return n<0?e.distSqr(t):n>1?e.distSqr(r):e.distSqr(r.sub(t)._mult(n)._add(t))}function ep(e,t){let r=!1,i,n,a;for(let s of e){i=s;for(let o=0,l=i.length-1;o<i.length;l=o++)n=i[o],a=i[l],n.y>t.y!=a.y>t.y&&t.x<(a.x-n.x)*(t.y-n.y)/(a.y-n.y)+n.x&&(r=!r)}return r}function Gr(e,t){let r=!1;for(let i=0,n=e.length-1;i<e.length;n=i++){let a=e[i],s=e[n];a.y>t.y!=s.y>t.y&&t.x<(s.x-a.x)*(t.y-a.y)/(s.y-a.y)+a.x&&(r=!r)}return r}function pg(e,t,r,i,n){for(let s of e)if(t<=s.x&&r<=s.y&&i>=s.x&&n>=s.y)return!0;let a=[new B(t,r),new B(t,n),new B(i,n),new B(i,r)];if(e.length>2){for(let s of a)if(Gr(e,s))return!0}for(let s=0;s<e.length-1;s++){let o=e[s],l=e[s+1];if(fg(o,l,a))return!0}return!1}function fg(e,t,r){let i=r[0],n=r[2];if(e.x<i.x&&t.x<i.x||e.x>n.x&&t.x>n.x||e.y<i.y&&t.y<i.y||e.y>n.y&&t.y>n.y)return!1;let a=qt(e,t,r[0]);return a!==qt(e,t,r[1])||a!==qt(e,t,r[2])||a!==qt(e,t,r[3])}function Yr(e,t,r){let i=t.paint.get(e).value;return i.kind==="constant"?i.value:r.programConfigurations.get(t.id).getMaxValue(e)}function ma(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1])}function ga(e,t,r,i,n){if(!t[0]&&!t[1])return e;let a=B.convert(t)._mult(n);r==="viewport"&&a._rotate(-i);let s=[];for(let o of e)s.push(o.sub(a));return s}function dg(e){let t=[];for(let r=0;r<e.length;r++){let i=e[r],n=t.at(-1);(r===0||n&&!i.equals(n))&&t.push(i)}return t}function yg(e,t){let r=[];for(let i of e){let n=dg(i),a=[];for(let s=0;s<n.length;s++){let o=n[s],l=n[s-1],u=n[s+1],h=s===0?new B(0,0):o.sub(l)._unit()._perp(),c=s===n.length-1?new B(0,0):u.sub(o)._unit()._perp(),p=h._add(c)._unit(),f=p.x*c.x+p.y*c.y;f!==0&&p._mult(1/f),a.push(p._mult(t)._add(o))}r.push(a)}return r}function mg({queryGeometry:e,size:t},r){return ya(e,r,t)}function gg({queryGeometry:e,size:t,transform:r,unwrappedTileID:i,getElevation:n},a){return ya(e,a,t*(r.projectTileCoordinates(a.x,a.y,i,n?.(a.x,a.y)).signedDistanceFromCamera/r.cameraToCenterDistance))}function xg({queryGeometry:e,size:t,transform:r,unwrappedTileID:i,getElevation:n},a){let s=r.projectTileCoordinates(a.x,a.y,i,n?.(a.x,a.y)).signedDistanceFromCamera,o=t*(r.cameraToCenterDistance/s);return ya(e,Uo(a,r,i,n),o)}function vg({queryGeometry:e,size:t,transform:r,unwrappedTileID:i,getElevation:n},a){return ya(e,Uo(a,r,i,n),t)}function tp({queryGeometry:e,size:t,transform:r,unwrappedTileID:i,getElevation:n,pitchAlignment:a="map",pitchScale:s="map"},o){let l=a==="map"?s==="map"?mg:gg:s==="map"?xg:vg,u={queryGeometry:e,size:t,transform:r,unwrappedTileID:i,getElevation:n};for(let h of o)for(let c of h)if(l(u,c))return!0;return!1}function Uo(e,t,r,i){let n=t.projectTileCoordinates(e.x,e.y,r,i?.(e.x,e.y)).point;return new B((n.x*.5+.5)*t.width,(-n.y*.5+.5)*t.height)}function bg(e,t,r,i){return e.map(n=>Uo(n,t,r,i))}let rp;const wg=()=>rp||(rp=new je({"circle-sort-key":new U(D.layout_circle["circle-sort-key"],"circle-sort-key")}));let ip;const Dg=()=>ip||(ip=new je({"circle-radius":new U(D.paint_circle["circle-radius"],"circle-radius"),"circle-color":new U(D.paint_circle["circle-color"],"circle-color"),"circle-blur":new U(D.paint_circle["circle-blur"],"circle-blur"),"circle-opacity":new U(D.paint_circle["circle-opacity"],"circle-opacity"),"circle-translate":new M(D.paint_circle["circle-translate"],"circle-translate"),"circle-translate-anchor":new M(D.paint_circle["circle-translate-anchor"],"circle-translate-anchor"),"circle-pitch-scale":new M(D.paint_circle["circle-pitch-scale"],"circle-pitch-scale"),"circle-pitch-alignment":new M(D.paint_circle["circle-pitch-alignment"],"circle-pitch-alignment"),"circle-stroke-width":new U(D.paint_circle["circle-stroke-width"],"circle-stroke-width"),"circle-stroke-color":new U(D.paint_circle["circle-stroke-color"],"circle-stroke-color"),"circle-stroke-opacity":new U(D.paint_circle["circle-stroke-opacity"],"circle-stroke-opacity")}));var _g={get paint(){return Dg()},get layout(){return wg()}},Ag=class extends ht{constructor(e,t){super(e,_g,t)}createBucket(e){return new Ro(e)}queryRadius(e){let t=e;return Yr("circle-radius",this,t)+Yr("circle-stroke-width",this,t)+ma(this.paint.get("circle-translate"))}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:r,geometry:i,transform:n,pixelsToTileUnits:a,unwrappedTileID:s,getElevation:o}){let l=ga(e,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),-n.bearingInRadians,a),u=this.paint.get("circle-radius").evaluate(t,r)+this.paint.get("circle-stroke-width").evaluate(t,r),h=this.paint.get("circle-pitch-scale"),c=this.paint.get("circle-pitch-alignment"),p,f;return c==="map"?(p=l,f=u*a):(p=bg(l,n,s,o),f=u),tp({queryGeometry:p,size:f,transform:n,unwrappedTileID:s,getElevation:o,pitchAlignment:c,pitchScale:h},i)}},np=class extends Ro{};C("HeatmapBucket",np,{omit:["layers"]});let ap;const Sg=()=>ap||(ap=new je({"heatmap-radius":new U(D.paint_heatmap["heatmap-radius"],"heatmap-radius"),"heatmap-weight":new U(D.paint_heatmap["heatmap-weight"],"heatmap-weight"),"heatmap-intensity":new M(D.paint_heatmap["heatmap-intensity"],"heatmap-intensity"),"heatmap-color":new ca(D.paint_heatmap["heatmap-color"],"heatmap-color"),"heatmap-opacity":new M(D.paint_heatmap["heatmap-opacity"],"heatmap-opacity")}));var Eg={get paint(){return Sg()}};function qo(e,{width:t,height:r},i,n){if(!n)n=new Uint8Array(t*r*i);else if(n instanceof Uint8ClampedArray)n=new Uint8Array(n.buffer);else if(n.length!==t*r*i)throw RangeError(`mismatched image size. expected: ${n.length} but got: ${t*r*i}`);return e.width=t,e.height=r,e.data=n,e}function sp(e,{width:t,height:r},i){if(t===e.width&&r===e.height)return;let n=qo({},{width:t,height:r},i);jo(e,n,{x:0,y:0},{x:0,y:0},{width:Math.min(e.width,t),height:Math.min(e.height,r)},i),e.width=t,e.height=r,e.data=n.data}function jo(e,t,r,i,n,a){if(n.width===0||n.height===0)return t;if(n.width>e.width||n.height>e.height||r.x>e.width-n.width||r.y>e.height-n.height)throw RangeError("out of range source coordinates for image copy");if(n.width>t.width||n.height>t.height||i.x>t.width-n.width||i.y>t.height-n.height)throw RangeError("out of range destination coordinates for image copy");let s=e.data,o=t.data;if(s===o)throw Error("srcData equals dstData, so image is already copied");for(let l=0;l<n.height;l++){let u=((r.y+l)*e.width+r.x)*a,h=((i.y+l)*t.width+i.x)*a;for(let c=0;c<n.width*a;c++)o[h+c]=s[u+c]}return t}var Go=class Ly{constructor(t,r){qo(this,t,1,r)}resize(t){sp(this,t,1)}clone(){return new Ly({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(t,r,i,n,a){jo(t,r,i,n,a,1)}},Qe=class Vy{constructor(t,r){qo(this,t,4,r)}resize(t){sp(this,t,4)}replace(t,r){r?this.data.set(t):this.data=t instanceof Uint8ClampedArray?new Uint8Array(t.buffer):t}clone(){return new Vy({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(t,r,i,n,a){jo(t,r,i,n,a,4)}setPixel(t,r,i){let n=(t*this.width+r)*4;this.data[n+0]=Math.round(i.r*255/i.a),this.data[n+1]=Math.round(i.g*255/i.a),this.data[n+2]=Math.round(i.b*255/i.a),this.data[n+3]=Math.round(i.a*255)}};function Yo(e){let t=new Uint8Array(e.length);for(let r=0;r<e.length;r+=4){let i=e[r+3];t[r+0]=Math.round(e[r+0]*i/255),t[r+1]=Math.round(e[r+1]*i/255),t[r+2]=Math.round(e[r+2]*i/255),t[r+3]=i}return t}C("AlphaImage",Go),C("RGBAImage",Qe);function Tg(e){let t={},r=e.resolution||256,i=e.clips?e.clips.length:1,n=e.image||new Qe({width:r,height:i});if(!m1(r))throw Error(`width is not a power of 2 - ${r}`);let a=(s,o,l)=>{t[e.evaluationKey]=l;let u=e.expression.evaluate(t);n.setPixel(s/4/r,o/4,u)};if(e.clips)for(let s=0,o=0;s<i;++s,o+=r*4)for(let l=0,u=0;l<r;l++,u+=4){let h=l/(r-1),{start:c,end:p}=e.clips[s],f=c*(1-h)+p*h;a(o,u,f)}else for(let s=0,o=0;s<r;s++,o+=4){let l=s/(r-1);a(0,o,l)}return n}const Fg="big-fb";var Ig=class extends ht{createBucket(e){return new np(e)}constructor(e,t){super(e,Eg,t),this.heatmapFbos=new Map,this._updateColorRamp()}_handleSpecialPaintPropertyUpdate(e){e==="heatmap-color"&&this._updateColorRamp()}_updateColorRamp(){let e=this._transitionablePaint._values["heatmap-color"].value.expression;this.colorRamp=Tg({expression:e,evaluationKey:"heatmapDensity",image:this.colorRamp}),this.colorRampTexture=null}resize(){this.heatmapFbos.has("big-fb")&&this.heatmapFbos.delete(Fg)}queryRadius(e){return Yr("heatmap-radius",this,e)}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:r,geometry:i,transform:n,pixelsToTileUnits:a,unwrappedTileID:s,getElevation:o}){return tp({queryGeometry:e,size:this.paint.get("heatmap-radius").evaluate(t,r)*a,transform:n,unwrappedTileID:s,getElevation:o},i)}hasOffscreenPass(){return this.paint.get("heatmap-opacity")!==0&&!this.isHidden()}};let op;const kg=()=>op||(op=new je({"hillshade-illumination-direction":new M(D.paint_hillshade["hillshade-illumination-direction"],"hillshade-illumination-direction"),"hillshade-illumination-altitude":new M(D.paint_hillshade["hillshade-illumination-altitude"],"hillshade-illumination-altitude"),"hillshade-illumination-anchor":new M(D.paint_hillshade["hillshade-illumination-anchor"],"hillshade-illumination-anchor"),"hillshade-exaggeration":new M(D.paint_hillshade["hillshade-exaggeration"],"hillshade-exaggeration"),"hillshade-shadow-color":new M(D.paint_hillshade["hillshade-shadow-color"],"hillshade-shadow-color"),"hillshade-highlight-color":new M(D.paint_hillshade["hillshade-highlight-color"],"hillshade-highlight-color"),"hillshade-accent-color":new M(D.paint_hillshade["hillshade-accent-color"],"hillshade-accent-color"),"hillshade-method":new M(D.paint_hillshade["hillshade-method"],"hillshade-method"),resampling:new M(D.paint_hillshade.resampling,"resampling")}));var Cg={get paint(){return kg()}},Bg=class extends ht{constructor(e,t){super(e,Cg,t),this.recalculate({zoom:0,zoomHistory:{}},void 0)}getIlluminationProperties(){let e=this.paint.get("hillshade-illumination-direction").values,t=this.paint.get("hillshade-illumination-altitude").values,r=this.paint.get("hillshade-highlight-color").values,i=this.paint.get("hillshade-shadow-color").values,n=Math.max(e.length,t.length,r.length,i.length);e=e.concat(Array(n-e.length).fill(e.at(-1))),t=t.concat(Array(n-t.length).fill(t.at(-1))),r=r.concat(Array(n-r.length).fill(r.at(-1))),i=i.concat(Array(n-i.length).fill(i.at(-1)));let a=t.map(Yu);return{directionRadians:e.map(Yu),altitudeRadians:a,shadowColor:i,highlightColor:r}}hasOffscreenPass(){return this.paint.get("hillshade-exaggeration")!==0&&!this.isHidden()}};let lp;const Pg=()=>lp||(lp=new je({"color-relief-opacity":new M(D["paint_color-relief"]["color-relief-opacity"],"color-relief-opacity"),"color-relief-color":new ca(D["paint_color-relief"]["color-relief-color"],"color-relief-color"),resampling:new M(D["paint_color-relief"].resampling,"resampling")}));var Mg={get paint(){return Pg()}};function xa(e){return"data"in e}var up=class{constructor(e,t,r,i){this.context=e,this.format=r,this.texture=e.gl.createTexture(),this._ownedHandle=this.texture,this.update(t,i)}update(e,t,r){let{width:i,height:n}=e,a=(this.size?.[0]!==i||this.size[1]!==n)&&!r,{context:s}=this,{gl:o}=s;this.useMipmap=!!t?.useMipmap,a&&this.size&&this.format===o.RGBA&&(o.deleteTexture(this.texture),this.texture=o.createTexture(),this._ownedHandle=this.texture,this.magFilter=void 0,this.minFilter=void 0,this.wrap=void 0),o.bindTexture(o.TEXTURE_2D,this.texture),s.pixelStoreUnpackFlipY.set(!1),s.pixelStoreUnpack.set(1);let l=this.format===o.RGBA&&t?.premultiply!==!1;if(a)if(this.size=[i,n],this.format===o.RGBA&&i>0&&n>0){let u=this.useMipmap?Math.floor(Math.log2(Math.max(i,n)))+1:1;if(o.texStorage2D(o.TEXTURE_2D,u,o.RGBA8,i,n),xa(e)){s.pixelStoreUnpackPremultiplyAlpha.set(!1);let{data:h}=e;l&&h&&(h=Yo(h)),h&&o.texSubImage2D(o.TEXTURE_2D,0,0,0,i,n,o.RGBA,o.UNSIGNED_BYTE,h)}else s.pixelStoreUnpackPremultiplyAlpha.set(l),o.texSubImage2D(o.TEXTURE_2D,0,0,0,o.RGBA,o.UNSIGNED_BYTE,e)}else xa(e)?(s.pixelStoreUnpackPremultiplyAlpha.set(!1),this._uploadRawData(e,l,i,n,o)):(s.pixelStoreUnpackPremultiplyAlpha.set(l),this._uploadDomImage(e,o));else{let{x:u,y:h}=r||{x:0,y:0};xa(e)?(s.pixelStoreUnpackPremultiplyAlpha.set(!1),this._updateRawData(e,l,u,h,i,n,o)):(s.pixelStoreUnpackPremultiplyAlpha.set(l),this._updateDomImage(e,u,h,o))}this.useMipmap&&!(xa(e)&&e.data===null)&&o.generateMipmap(o.TEXTURE_2D),s.pixelStoreUnpackFlipY.setDefault(),s.pixelStoreUnpack.setDefault(),s.pixelStoreUnpackPremultiplyAlpha.setDefault()}_uploadDomImage(e,t){t.texImage2D(t.TEXTURE_2D,0,this.format,this.format,t.UNSIGNED_BYTE,e)}_uploadRawData(e,t,r,i,n){let{data:a}=e;t&&a&&(a=Yo(a)),n.texImage2D(n.TEXTURE_2D,0,this.format,r,i,0,this.format,n.UNSIGNED_BYTE,a)}_updateDomImage(e,t,r,i){i.texSubImage2D(i.TEXTURE_2D,0,t,r,i.RGBA,i.UNSIGNED_BYTE,e)}_updateRawData(e,t,r,i,n,a,s){let{data:o}=e;t&&o&&(o=Yo(o)),s.texSubImage2D(s.TEXTURE_2D,0,r,i,n,a,s.RGBA,s.UNSIGNED_BYTE,o)}bind(e,t,r){let{context:i}=this,{gl:n}=i;this.texture!==this._ownedHandle&&(this.texture=this._ownedHandle),n.bindTexture(n.TEXTURE_2D,this.texture),(r===n.LINEAR_MIPMAP_NEAREST||r===n.LINEAR_MIPMAP_LINEAR)&&!this.useMipmap&&(r=n.LINEAR);let a=r||e;e!==this.magFilter&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,e),this.magFilter=e),a!==this.minFilter&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,a),this.minFilter=a),t!==this.wrap&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,t),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,t),this.wrap=t)}generateMipmap(){if(!this.useMipmap)return;let{gl:e}=this.context;e.bindTexture(e.TEXTURE_2D,this.texture),e.generateMipmap(e.TEXTURE_2D)}destroy(){let{gl:e}=this.context;e.deleteTexture(this.texture),this.texture=null,this._ownedHandle=null}},Xr,hp=(Xr=class{constructor(e,t,r,i=1,n=1,a=1,s=0){if(this.uid=e,t.height!==t.width)throw RangeError("DEM tiles must be square");if(r&&!["mapbox","terrarium","custom"].includes(r)){Ce(`"${r}" is not a valid encoding type. Valid types include "mapbox", "terrarium" and "custom".`);return}this.stride=t.height;let o=this.dim=t.height-4;switch(this.data=new Uint32Array(t.data.buffer),Xr.byteViewCache.set(this,new Uint8Array(this.data.buffer)),r){case"terrarium":this.redFactor=256,this.greenFactor=1,this.blueFactor=1/256,this.baseShift=32768;break;case"custom":this.redFactor=i,this.greenFactor=n,this.blueFactor=a,this.baseShift=s;break;default:this.redFactor=6553.6,this.greenFactor=25.6,this.blueFactor=.1,this.baseShift=1e4}for(let u=-2;u<o+2;u++){let h=this._idx(0,Math.max(0,Math.min(o-1,u)));(u<0||u>=o)&&this.data.copyWithin(this._idx(0,u),h,h+o),this.data.fill(this.data[h],this._idx(-2,u),this._idx(0,u)),this.data.fill(this.data[h+o-1],this._idx(o,u),this._idx(o+1,u)+1)}let l=this._getByteView();this.min=2**53-1,this.max=-9007199254740991;for(let u=0;u<o;u++)for(let h=0;h<o;h++){let c=this._idx(u,h)*4,p=this._unpackAtIndex(l,c);p>this.max&&(this.max=p),p<this.min&&(this.min=p)}}get(e,t){let r=this._getByteView(),i=this._idx(e,t)*4;return this._unpackAtIndex(r,i)}sampleBilinear(e,t){let r=Math.floor(e),i=Math.floor(t);if(r<-1||r>=this.dim||i<-1||i>=this.dim)throw RangeError(`Out of range source coordinates for DEM data. x: ${e}, y: ${t}, dim: ${this.dim}`);let n=this._getByteView(),a=((i+2)*this.stride+r+2)*4,s=this.stride*4,o=e-r,l=t-i,u=this._unpackAtIndex(n,a),h=this._unpackAtIndex(n,a+4),c=this._unpackAtIndex(n,a+s),p=this._unpackAtIndex(n,a+s+4);return u*(1-o)*(1-l)+h*o*(1-l)+c*(1-o)*l+p*o*l}getUnpackVector(){return[this.redFactor,this.greenFactor,this.blueFactor,this.baseShift]}_idx(e,t){if(e<-2||e>=this.dim+2||t<-2||t>=this.dim+2)throw RangeError(`Out of range source coordinates for DEM data. x: ${e}, y: ${t}, dim: ${this.dim}`);return(t+2)*this.stride+(e+2)}unpack(e,t,r){return e*this.redFactor+t*this.greenFactor+r*this.blueFactor-this.baseShift}pack(e){return cp(e,this.getUnpackVector())}getPixels(){return new Qe({width:this.stride,height:this.stride},this._getByteView())}backfillBorder(e,t,r){if(this.dim!==e.dim)throw Error("dem dimension mismatch");let i=t*this.dim,n=t*this.dim+this.dim,a=r*this.dim,s=r*this.dim+this.dim;switch(t){case-1:i=n-2;break;case 1:n=i+2}switch(r){case-1:a=s-2;break;case 1:s=a+2}let o=-t*this.dim,l=-r*this.dim;for(let u=a;u<s;u++)for(let h=i;h<n;h++)this.data[this._idx(h,u)]=e.data[this._idx(h+o,u+l)]}_getByteView(){let e=Xr.byteViewCache.get(this);return e?.buffer!==this.data.buffer&&(e=new Uint8Array(this.data.buffer),Xr.byteViewCache.set(this,e)),e}_unpackAtIndex(e,t){return this.unpack(e[t],e[t+1],e[t+2])}},Xr.byteViewCache=new WeakMap,Xr);function cp(e,t){let r=t[0],i=t[1],n=t[2],a=t[3],s=Math.min(r,i,n),o=Math.round((e+a)/s);return{r:Math.floor(o*s/r)%256,g:Math.floor(o*s/i)%256,b:Math.floor(o*s/n)%256}}C("DEMData",hp);var zg=class extends ht{constructor(e,t){super(e,Mg,t)}_createColorRamp(e){let t={elevationStops:[],colorStops:[]},r=this._transitionablePaint._values["color-relief-color"].value.expression;if(r instanceof Li&&r._styleExpression.expression instanceof wt){this.colorRampExpression=r;let a=r._styleExpression.expression;t.elevationStops=a.labels,t.colorStops=[];for(let s of t.elevationStops)t.colorStops.push(a.evaluate({globals:{elevation:s}}))}if(t.elevationStops.length<1&&(t.elevationStops=[0],t.colorStops=[ye.transparent]),t.elevationStops.length<2&&(t.elevationStops.push(t.elevationStops[0]+1),t.colorStops.push(t.colorStops[0])),t.elevationStops.length<=e)return t;let i={elevationStops:[],colorStops:[]},n=(t.elevationStops.length-1)/(e-1);for(let a=0;a<t.elevationStops.length-.5;a+=n)i.elevationStops.push(t.elevationStops[Math.round(a)]),i.colorStops.push(t.colorStops[Math.round(a)]);return Ce(`Too many colors in specification of ${this.id} color-relief layer, may not render properly. Max possible colors: ${e}, provided: ${t.elevationStops.length}`),i}_colorRampChanged(){return this.colorRampExpression!=this._transitionablePaint._values["color-relief-color"].value.expression}getColorRampTextures(e,t,r){if(this.colorRampTextures&&!this._colorRampChanged())return this.colorRampTextures;let i=this._createColorRamp(t),n=new Qe({width:i.colorStops.length,height:1}),a=new Qe({width:i.colorStops.length,height:1});for(let s=0;s<i.elevationStops.length;s++){let o=cp(i.elevationStops[s],r);a.setPixel(0,s,new ye(o.r/255,o.g/255,o.b/255,1)),n.setPixel(0,s,i.colorStops[s])}return this.colorRampTextures={elevationTexture:new up(e,a,e.gl.RGBA),colorTexture:new up(e,n,e.gl.RGBA)},this.colorRampTextures}hasOffscreenPass(){return!this.isHidden()&&!!this.colorRampTextures}};const Lg=Se([{name:"a_pos",components:2,type:"Int16"}],4),Vg=Lg.members;function va(e,t,r){let i=r.patternDependencies,n=!1;for(let a of t){let s=a.paint.get(`${e}-pattern`);s.isConstant()||(n=!0);let o=s.constantOr(null);o&&(n=!0,i[o.to]=!0,i[o.from]=!0)}return n}function Xo(e,t,r,i,n){let{zoom:a}=i,s=n.patternDependencies;for(let o of t){let l=o.paint.get(`${e}-pattern`).value;if(l.kind!=="constant"){let u=l.evaluate({zoom:a-1},r,{},n.availableImages),h=l.evaluate({zoom:a},r,{},n.availableImages),c=l.evaluate({zoom:a+1},r,{},n.availableImages);u=u?.name?u.name:u,h=h?.name?h.name:h,c=c?.name?c.name:c,s[u]=!0,s[h]=!0,s[c]=!0,r.patterns[o.id]={min:u,mid:h,max:c}}}return r}const Zi=new Set;let Wo=!1;function Og(e,t,r=2){let i=t&&t.length,n=i?t[0]*r:e.length;Zi.size&&Zi.clear();let a=pp(e,0,n,r,!0),s=[];if(!a||a.next===a.prev)return s;let o=0,l=0,u=0;if(i&&(a=qg(e,t,a,r)),e.length>80*r){o=e[0],l=e[1];let h=o,c=l;for(let p=r;p<n;p+=r){let f=e[p],d=e[p+1];f<o&&(o=f),d<l&&(l=d),f>h&&(h=f),d>c&&(c=d)}u=Math.max(h-o,c-l),u=u===0?0:32767/u}return Zo(a,s,o,l,u),s}function pp(e,t,r,i,n){let a=null;if(n===rx(e,t,r,i)>0)for(let s=t;s<r;s+=i)a=xp(s/i|0,e[s],e[s+1],a);else for(let s=r-i;s>=t;s-=i)a=xp(s/i|0,e[s],e[s+1],a);return a&&Qi(a,a.next)&&(tn(a),a=a.next),a}function dr(e,t=e){let r=t===e,i=e,n;do n=!1,i!==i.next&&(Zi.size===0||!Zi.has(i))&&(Qi(i,i.next)||Ee(i.prev,i,i.next)===0)?((r||i===t)&&(t=i.prev),Wo=!0,tn(i),i=i.prev,n=!0):(r||i!==t)&&(i=i.next,n=!r);while(n||i!==t);return t}function Zo(e,t,r,i,n){n&&Hg(e,r,i,n);let a=e,s=!1;for(;e.prev!==e.next;){let o=e.prev,l=e.next;if(Ee(o,e,l)<0&&(n?$g(e,r,i,n):Rg(e))){t.push(o.i,e.i,l.i),tn(e),e=l,a=l;continue}if(e=l,e===a){if(Wo=!1,e=dr(e),Wo){a=e;continue}if(!s){e=Ng(e,t),a=e,s=!0;continue}Ug(e,t,r,i,n);break}}}function Rg(e){let t=e.prev,r=e,i=e.next,n=t.x,a=r.x,s=i.x,o=t.y,l=r.y,u=i.y,h=Math.min(n,a,s),c=Math.min(o,l,u),p=Math.max(n,a,s),f=Math.max(o,l,u),d=i.next;for(;d!==t;){if(d.x>=h&&d.x<=p&&d.y>=c&&d.y<=f&&(n!==d.x||o!==d.y)&&Da(n,o,a,l,s,u,d.x,d.y)&&Ee(d.prev,d,d.next)>=0)return!1;d=d.next}return!0}function $g(e,t,r,i){let n=e.prev,a=e,s=e.next,o=n.x,l=a.x,u=s.x,h=n.y,c=a.y,p=s.y,f=Math.min(o,l,u),d=Math.min(h,c,p),y=Math.max(o,l,u),m=Math.max(h,c,p),g=Qo(f,d,t,r,i),x=Qo(y,m,t,r,i),b=e.prevZ;for(;b&&b.z>=g;){if(b.x>=f&&b.x<=y&&b.y>=d&&b.y<=m&&b!==s&&(o!==b.x||h!==b.y)&&Da(o,h,l,c,u,p,b.x,b.y)&&Ee(b.prev,b,b.next)>=0)return!1;b=b.prevZ}let v=e.nextZ;for(;v&&v.z<=x;){if(v.x>=f&&v.x<=y&&v.y>=d&&v.y<=m&&v!==s&&(o!==v.x||h!==v.y)&&Da(o,h,l,c,u,p,v.x,v.y)&&Ee(v.prev,v,v.next)>=0)return!1;v=v.nextZ}return!0}function Ng(e,t){let r=e,i=!1;do{let n=r.prev,a=r.next.next;mp(n,r,r.next,a,!1)&&en(n,a)&&en(a,n)&&(t.push(n.i,r.i,a.i),tn(r),tn(r.next),r=e=a,i=!0),r=r.next}while(r!==e);return i?dr(r):r}function Ug(e,t,r,i,n){let a=e;do{let s=a.next.next;for(;s!==a.prev;){if(a.i!==s.i&&Qg(a,s)){let o=gp(a,s);a=dr(a,a.next),o=dr(o,o.next),Zo(a,t,r,i,n),Zo(o,t,r,i,n);return}s=s.next}a=a.next}while(a!==e)}let Ho=!1;function qg(e,t,r,i){let n=[];for(let a=0,s=t.length;a<s;a++){let o=pp(e,t[a]*i,a<s-1?t[a+1]*i:e.length,i,!1);o===o.next&&Zi.add(o),n.push(Kg(o))}n.sort(jg),Yg(e.length/i,t.length),fp(r,r),Ho=!0;for(let a=0;a<n.length;a++)r=Gg(n[a],r);return Ho=!1,dr(r)}function jg(e,t){return e.x-t.x||e.y-t.y||(e.next.y-e.y)/(e.next.x-e.x)-(t.next.y-t.y)/(t.next.x-t.x)}function Gg(e,t){let r=Wg(e,t);if(!r)return t;let i=gp(r,e),n=i.next;return fp(r,n.next),dr(i,i.next),dr(r,r.next)}let _e=new Float64Array,ba=0;const Jo=[],Ko=[];function Yg(e,t){let r=Math.ceil((e+2*t)/16)+t+2;_e.length<r*4&&(_e=new Float64Array(r*4)),ba=0}function fp(e,t){let r=e;do{let i=ba++;Jo[i]=r;let n=1/0,a=1/0,s=-1/0,o=-1/0,l=0;do{let h=r.next;r.z=i,r.x<n&&(n=r.x),r.x>s&&(s=r.x),r.y<a&&(a=r.y),r.y>o&&(o=r.y),h.x<n&&(n=h.x),h.x>s&&(s=h.x),h.y<a&&(a=h.y),h.y>o&&(o=h.y),r=h}while(++l<16&&r!==t);Ko[i]=r;let u=i*4;_e[u]=n,_e[u+1]=a,_e[u+2]=s,_e[u+3]=o}while(r!==t)}function Xg(e,t){let r=e.z*4;t.x<_e[r]&&(_e[r]=t.x),t.y<_e[r+1]&&(_e[r+1]=t.y),t.x>_e[r+2]&&(_e[r+2]=t.x),t.y>_e[r+3]&&(_e[r+3]=t.y)}function dp(e){let t=Ko[e];for(;t.prev.next!==t;)t=t.next;return Ko[e]=t,t}function yp(e){let t=Jo[e];for(;t.prev.next!==t;)t=t.next;return Jo[e]=t,t}function Wg(e,t){let r=t,i=e.x,n=e.y,a=-1/0,s;if(Qi(e,r))return r;for(let p=0,f=0;p<ba;p++,f+=4){if(n<_e[f+1]||n>_e[f+3]||_e[f]>i||_e[f+2]<=a)continue;let d=dp(p);r=yp(p);do{if(r.prev.next===r){if(Qi(e,r.next))return r.next;if(n<=r.y&&n>=r.next.y&&r.next.y!==r.y){let y=r.x+(n-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(y<=i&&y>a&&(a=y,s=r.x<r.next.x?r:r.next,y===i))return s}}r=r.next}while(r!==d)}if(!s)return null;let o=s.x,l=s.y,u=Math.min(n,l),h=Math.max(n,l),c=1/0;for(let p=0,f=0;p<ba;p++,f+=4){if(_e[f+2]<o||_e[f]>i||_e[f+3]<u||_e[f+1]>h)continue;let d=dp(p);r=yp(p);do{if(r.prev.next===r&&i>=r.x&&r.x>=o&&i!==r.x&&Da(n<l?i:a,n,o,l,n<l?a:i,n,r.x,r.y)){let y=Math.abs(n-r.y)/(i-r.x);(en(r,e)||r.y===n&&r.next.y===n&&r.next.x>i)&&(y<c||y===c&&(r.x>s.x||r.x===s.x&&Zg(s,r)))&&(s=r,c=y)}r=r.next}while(r!==d)}return s}function Zg(e,t){return Ee(e.prev,e,t.prev)<0&&Ee(t.next,e,e.next)<0}const at=[];let Hi=[],yr=new Uint32Array,Ji=new Uint32Array;const Ki=new Uint32Array(256);function Hg(e,t,r,i){let n=e,a=0;do n.z=Qo(n.x,n.y,t,r,i),at[a++]=n,n=n.next;while(n!==e);Jg(a);let s=null;for(let o=0;o<a;o++){let l=at[o];l.prevZ=s,s&&(s.nextZ=l),s=l}s.nextZ=null}function Jg(e){if(e<=32){for(let t=1;t<e;t++){let r=at[t],i=r.z,n=t-1;for(;n>=0&&at[n].z>i;)at[n+1]=at[n],n--;at[n+1]=r}return}yr.length<e&&(yr=new Uint32Array(e),Ji=new Uint32Array(e),Hi=Array(e));for(let t=0;t<e;t++)yr[t]=at[t].z;wa(e,at,yr,Hi,Ji,0),wa(e,Hi,Ji,at,yr,8),wa(e,at,yr,Hi,Ji,16),wa(e,Hi,Ji,at,yr,24)}function wa(e,t,r,i,n,a){Ki.fill(0);for(let o=0;o<e;o++)Ki[r[o]>>>a&255]++;let s=0;for(let o=0;o<256;o++){let l=Ki[o];Ki[o]=s,s+=l}for(let o=0;o<e;o++){let l=r[o],u=Ki[l>>>a&255]++;i[u]=t[o],n[u]=l}}function Qo(e,t,r,i,n){return e=(e-r)*n|0,t=(t-i)*n|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function Kg(e){let t=e,r=e;do(t.x<r.x||t.x===r.x&&t.y<r.y)&&(r=t),t=t.next;while(t!==e);return r}function Da(e,t,r,i,n,a,s,o){return(n-s)*(t-o)>=(e-s)*(a-o)&&(e-s)*(i-o)>=(r-s)*(t-o)&&(r-s)*(a-o)>=(n-s)*(i-o)}function Qg(e,t){let r=Qi(e,t)&&Ee(e.prev,e,e.next)>0&&Ee(t.prev,t,t.next)>0;return e.next.i!==t.i&&(r||en(e,t)&&en(t,e)&&(Ee(e.prev,e,t.prev)!==0||Ee(e,t.prev,t)!==0))&&!ex(e,t)&&(r||tx(e,t))}function Ee(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function Qi(e,t){return e.x===t.x&&e.y===t.y}function mp(e,t,r,i,n=!0){let a=Ee(e,t,r),s=Ee(e,t,i),o=Ee(r,i,e),l=Ee(r,i,t);return(a>0&&s<0||a<0&&s>0)&&(o>0&&l<0||o<0&&l>0)?!0:n?!!(a===0&&_a(e,r,t)||s===0&&_a(e,i,t)||o===0&&_a(r,e,i)||l===0&&_a(r,t,i)):!1}function _a(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function ex(e,t){let r=Math.min(e.x,t.x),i=Math.max(e.x,t.x),n=Math.min(e.y,t.y),a=Math.max(e.y,t.y),s=e;do{let o=s.next;if(s.x>i&&o.x>i||s.x<r&&o.x<r||s.y>a&&o.y>a||s.y<n&&o.y<n){s=o;continue}if(s.i!==e.i&&o.i!==e.i&&s.i!==t.i&&o.i!==t.i&&mp(s,o,e,t))return!0;s=o}while(s!==e);return!1}function en(e,t){return Ee(e.prev,e,e.next)<0?Ee(e,t,e.next)>=0&&Ee(e,e.prev,t)>=0:Ee(e,t,e.prev)<0||Ee(e,e.next,t)<0}function tx(e,t){let r=e,i=!1,n=(e.x+t.x)/2,a=(e.y+t.y)/2;do{let s=r.next;r.y>a!=s.y>a&&n<(s.x-r.x)*(a-r.y)/(s.y-r.y)+r.x&&(i=!i),r=s}while(r!==e);return i}function gp(e,t){let r=el(e.i,e.x,e.y),i=el(t.i,t.x,t.y),n=e.next,a=t.prev;return e.next=t,t.prev=e,r.next=n,n.prev=r,i.next=r,r.prev=i,a.next=i,i.prev=a,i}function xp(e,t,r,i){let n=el(e,t,r);return i?(n.next=i.next,n.prev=i,i.next.prev=n,i.next=n):(n.prev=n,n.next=n),n}function tn(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),Ho&&Xg(e.prev,e.next)}function el(e,t,r){return{i:e,x:t,y:r,prev:null,next:null,z:0,prevZ:null,nextZ:null}}function rx(e,t,r,i){let n=0;for(let a=t,s=r-i;a<r;a+=i)n+=(e[s]-e[a])*(e[a+1]+e[s+1]),s=a;return n}var rn=class{constructor(e,t){if(t>e)throw Error("Min granularity must not be greater than base granularity.");this._baseZoomGranularity=e,this._minGranularity=t}getGranularityForZoomLevel(e){let t=1<<e;return Math.max(Math.floor(this._baseZoomGranularity/t),this._minGranularity,1)}},Aa,ix=(Aa=class{constructor(e){this.fill=e.fill,this.line=e.line,this.tile=e.tile,this.stencil=e.stencil,this.circle=e.circle}},Aa.noSubdivision=new Aa({fill:new rn(0,0),line:new rn(0,0),tile:new rn(0,0),stencil:new rn(0,0),circle:1}),Aa);C("SubdivisionGranularityExpression",rn),C("SubdivisionGranularitySetting",ix);const tl=-32768,rl=32767;var nx=class{constructor(e,t){this._vertexBuffer=[],this._vertexDictionary=new Map,this._used=!1,this._granularity=e,this._granularityCellSize=xe/e,this._canonical=t}_getKey(e,t){return e+=32768,t+=32768,e<<16|t<<0}_vertexToIndex(e,t){if(e<-32768||t<-32768||e>32767||t>32767)throw Error("Vertex coordinates are out of signed 16 bit integer range.");let r=Math.round(e)|0,i=Math.round(t)|0,n=this._getKey(r,i),a=this._vertexDictionary.get(n);if(a!==void 0)return a;let s=this._vertexBuffer.length/2;return this._vertexDictionary.set(n,s),this._vertexBuffer.push(r,i),s}_subdivideTrianglesScanline(e,t){if(this._granularity<2)return ox(this._vertexBuffer,sx(e,t));let r=[],i=e.length;for(let n=0;n<i;n+=3){let a=[t[e[n+0]],t[e[n+1]],t[e[n+2]]],s=[this._vertexBuffer[a[0]*2+0],this._vertexBuffer[a[0]*2+1],this._vertexBuffer[a[1]*2+0],this._vertexBuffer[a[1]*2+1],this._vertexBuffer[a[2]*2+0],this._vertexBuffer[a[2]*2+1]],o=1/0,l=1/0,u=-1/0,h=-1/0;for(let y=0;y<3;y++){let m=s[y*2],g=s[y*2+1];o=Math.min(o,m),u=Math.max(u,m),l=Math.min(l,g),h=Math.max(h,g)}if(o===u||l===h)continue;let c=Math.floor(o/this._granularityCellSize),p=Math.ceil(u/this._granularityCellSize),f=Math.floor(l/this._granularityCellSize),d=Math.ceil(h/this._granularityCellSize);if(c===p&&f===d){r.push(...a);continue}for(let y=f;y<d;y++){let m=this._scanlineGenerateVertexRingForCellRow(y,s,a);lx(this._vertexBuffer,m,r)}}return r}_scanlineGenerateVertexRingForCellRow(e,t,r){let i=e*this._granularityCellSize,n=i+this._granularityCellSize,a=[];for(let s=0;s<3;s++){let o=t[s*2],l=t[s*2+1],u=t[(s+1)*2%6],h=t[((s+1)*2+1)%6],c=t[(s+2)*2%6],p=t[((s+2)*2+1)%6],f=u-o,d=h-l,y=f===0,m=d===0,g=(i-l)/d,x=(n-l)/d,b=Math.min(g,x),v=Math.max(g,x);if(!m&&(b>=1||v<=0)||m&&(l<i||l>n)){h>=i&&h<=n&&a.push(r[(s+1)%3]);continue}if(!m&&b>0){let A=o+f*b,S=l+d*b;a.push(this._vertexToIndex(A,S))}let w=o+f*Math.max(b,0),_=o+f*Math.min(v,1);if(y||this._generateIntraEdgeVertices(a,o,l,u,h,w,_),!m&&v<1){let A=o+f*v,S=l+d*v;a.push(this._vertexToIndex(A,S))}(m||h>=i&&h<=n)&&a.push(r[(s+1)%3]),!m&&(h<=i||h>=n)&&this._generateInterEdgeVertices(a,o,l,u,h,c,p,_,i,n)}return a}_generateIntraEdgeVertices(e,t,r,i,n,a,s){let o=i-t,l=n-r,u=l===0,h=u?Math.min(t,i):Math.min(a,s),c=u?Math.max(t,i):Math.max(a,s),p=Math.floor(h/this._granularityCellSize)+1,f=Math.ceil(c/this._granularityCellSize)-1;if(u?t<i:a<s)for(let d=p;d<=f;d++){let y=d*this._granularityCellSize,m=r+l*(y-t)/o;e.push(this._vertexToIndex(y,m))}else for(let d=f;d>=p;d--){let y=d*this._granularityCellSize,m=r+l*(y-t)/o;e.push(this._vertexToIndex(y,m))}}_generateInterEdgeVertices(e,t,r,i,n,a,s,o,l,u){let h=n-r,c=a-i,p=s-n,f=(l-n)/p,d=(u-n)/p,y=Math.min(f,d),m=Math.max(f,d),g=i+c*y,x=Math.floor(Math.min(g,o)/this._granularityCellSize)+1,b=Math.ceil(Math.max(g,o)/this._granularityCellSize)-1,v=o<g,w=p===0;if(w&&(s===l||s===u))return;if(w||y>=1||m<=0){let A=t-a,S=r-s,F=(l-s)/S,V=(u-s)/S,z=a+A*Math.min(F,V);x=Math.floor(Math.min(z,o)/this._granularityCellSize)+1,b=Math.ceil(Math.max(z,o)/this._granularityCellSize)-1,v=o<z}let _=h>0?u:l;if(v)for(let A=x;A<=b;A++){let S=A*this._granularityCellSize;e.push(this._vertexToIndex(S,_))}else for(let A=b;A>=x;A--){let S=A*this._granularityCellSize;e.push(this._vertexToIndex(S,_))}}_generateOutline(e,t){let r=[],i=0;for(let n of e){let a=this._granularity<2?this._ringPathIndices(n,i,t):this._pointArrayToIndices(mr(n,this._granularity,!0));i+=n.length;let s=[];for(let o=1;o<a.length;o++)s.push(a[o-1]),s.push(a[o]);r.push(s)}return r}_ringPathIndices(e,t,r){let i=r.slice(t,t+e.length);return i.length>=2&&bp(e)&&i.push(i[0]),i}_handlePoles(e){let t=!1,r=!1;this._canonical&&(this._canonical.y===0&&(t=!0),this._canonical.y===(1<<this._canonical.z)-1&&(r=!0)),(t||r)&&this._fillPoles(e,t,r)}_ensureNoPoleVertices(){let e=this._vertexBuffer;for(let t=0;t<e.length;t+=2){let r=e[t+1];r===-32768&&(e[t+1]=-32767),r===32767&&(e[t+1]=32766)}}_generatePoleQuad(e,t,r,i,n,a){i>n==(a===-32768)?(e.push(r),e.push(t),e.push(this._vertexToIndex(i,a)),e.push(this._vertexToIndex(n,a)),e.push(r),e.push(this._vertexToIndex(i,a))):(e.push(t),e.push(r),e.push(this._vertexToIndex(i,a)),e.push(r),e.push(this._vertexToIndex(n,a)),e.push(this._vertexToIndex(i,a)))}_fillPoles(e,t,r){let i=this._vertexBuffer,n=xe,a=e.length;for(let s=2;s<a;s+=3){let o=e[s-2],l=e[s-1],u=e[s],h=i[o*2],c=i[o*2+1],p=i[l*2],f=i[l*2+1],d=i[u*2],y=i[u*2+1];t&&(c===0&&f===0&&this._generatePoleQuad(e,o,l,h,p,tl),f===0&&y===0&&this._generatePoleQuad(e,l,u,p,d,tl),y===0&&c===0&&this._generatePoleQuad(e,u,o,d,h,tl)),r&&(c===n&&f===n&&this._generatePoleQuad(e,o,l,h,p,rl),f===n&&y===n&&this._generatePoleQuad(e,l,u,p,d,rl),y===n&&c===n&&this._generatePoleQuad(e,u,o,d,h,rl))}}_initializeVertices(e){let t=[];for(let r=0;r<e.length;r+=2)t.push(this._vertexToIndex(e[r],e[r+1]));return t}subdividePolygonInternal(e,t){if(this._used)throw Error("Subdivision: multiple use not allowed.");this._used=!0;let{flattened:r,holeIndices:i}=ax(e),n=this._initializeVertices(r),a;try{let o=Og(r,i);a=this._subdivideTrianglesScanline(o,n)}catch(o){console.error(o)}let s=[];return t&&(s=this._generateOutline(e,n)),this._ensureNoPoleVertices(),this._handlePoles(a),this._granularity>=2&&this._canonical?.z===0&&(a=this._removeTrianglesOutsideTileX(a),s=s.map(o=>this._removeLinesOutsideTileX(o))),{verticesFlattened:this._vertexBuffer,indicesTriangles:a,indicesLineList:s}}_vertexOutsideTileX(e){let t=this._vertexBuffer[e*2];return t<0||t>8192}_removeTrianglesOutsideTileX(e){let t=[];for(let r=0;r<e.length;r+=3)this._vertexOutsideTileX(e[r])||this._vertexOutsideTileX(e[r+1])||this._vertexOutsideTileX(e[r+2])||t.push(e[r],e[r+1],e[r+2]);return t}_removeLinesOutsideTileX(e){let t=[];for(let r=0;r<e.length;r+=2)this._vertexOutsideTileX(e[r])||this._vertexOutsideTileX(e[r+1])||t.push(e[r],e[r+1]);return t}_pointArrayToIndices(e){let t=[];for(let r of e)t.push(this._vertexToIndex(r.x,r.y));return t}};function vp(e,t,r,i=!0){return new nx(r,t).subdividePolygonInternal(e,i)}function mr(e,t,r=!1){if(!e||e.length<1||e.length<2)return[];let i=r&&bp(e);if(t<2)return i?[...e,e[0]]:[...e];let n=Math.floor(xe/t),a=[];a.push(new B(e[0].x,e[0].y));let s=e.length,o=i?s:s-1;for(let l=0;l<o;l++){let u=e[l],h=l<s-1?e[l+1]:e[0],c=u.x,p=u.y,f=h.x,d=h.y,y=c!==f,m=p!==d;if(!y&&!m)continue;let g=f-c,x=d-p,b=Math.abs(g),v=Math.abs(x),w=c,_=p;for(;;){let S=g>0?(Math.floor(w/n)+1)*n:(Math.ceil(w/n)-1)*n,F=x>0?(Math.floor(_/n)+1)*n:(Math.ceil(_/n)-1)*n,V=Math.abs(w-S),z=Math.abs(_-F),P=Math.abs(w-f),O=Math.abs(_-d),E=y?V/b:1/0,L=m?z/v:1/0;if((P<=V||!y)&&(O<=z||!m))break;if(E<L&&y||!m){w=S,_+=x*E;let $=new B(w,Math.round(_));(a[a.length-1].x!==$.x||a[a.length-1].y!==$.y)&&a.push($)}else{w+=g*L,_=F;let $=new B(Math.round(w),_);(a[a.length-1].x!==$.x||a[a.length-1].y!==$.y)&&a.push($)}}let A=new B(f,d);(a[a.length-1].x!==A.x||a[a.length-1].y!==A.y)&&a.push(A)}return a}function bp(e){return!e[0].equals(e[e.length-1])}function ax(e){let t=[],r=[];for(let i of e)if(i.length!==0){i!==e[0]&&t.push(r.length/2);for(let n of i)r.push(n.x),r.push(n.y)}return{flattened:r,holeIndices:t}}function sx(e,t){let r=Array(e.length);for(let i=0;i<e.length;i++)r[i]=t[e[i]];return r}function ox(e,t){let r=[];for(let i=0;i<t.length;i+=3){let n=t[i],a=t[i+1],s=t[i+2],o=e[n*2],l=e[n*2+1],u=e[a*2],h=e[a*2+1],c=e[s*2],p=e[s*2+1],f=u-o,d=h-l,y=c-o;f*(p-l)-d*y>0?(r.push(n),r.push(s),r.push(a)):(r.push(n),r.push(a),r.push(s))}return r}function lx(e,t,r){if(t.length===0)throw Error("Subdivision vertex ring is empty.");let i=0,n=e[t[0]*2];for(let l=1;l<t.length;l++){let u=e[t[l]*2];u<n&&(n=u,i=l)}let a=t.length,s=i,o=(s+1)%a;for(;;){let l=s-1>=0?s-1:a-1,u=(o+1)%a,h=e[t[l]*2],c=e[t[l]*2+1],p=e[t[u]*2],f=e[t[u]*2+1],d=e[t[s]*2],y=e[t[s]*2+1],m=e[t[o]*2],g=e[t[o]*2+1],x=!1;if(h<p)x=!0;else if(h>p)x=!1;else{let b=g-y,v=-(m-d),w=y<g?1:-1;((h-d)*b+(c-y)*v)*w>((p-d)*b+(f-y)*v)*w&&(x=!0)}if(x){let b=t[l],v=t[s],w=t[o];b!==v&&b!==w&&v!==w&&r.push(w,v,b),s--,s<0&&(s=a-1)}else{let b=t[u],v=t[s],w=t[o];b!==v&&b!==w&&v!==w&&r.push(w,v,b),o++,o>=a&&(o=0)}if(l===u)break}}function wp(e,t,r,i,n,a,s,o,l){let u=n.length/2,h=s&&o&&l;if(u<Ke.MAX_VERTEX_ARRAY_LENGTH){let c=t.prepareSegment(u,r,i),p=c.vertexLength;for(let y=0;y<a.length;y+=3)i.emplaceBack(p+a[y],p+a[y+1],p+a[y+2]);c.vertexLength+=u,c.primitiveLength+=a.length/3;let f,d;h&&(d=s.prepareSegment(u,r,o),f=d.vertexLength,d.vertexLength+=u);for(let y=0;y<n.length;y+=2)e(n[y],n[y+1]);if(h)for(let y of l){for(let m=1;m<y.length;m+=2)o.emplaceBack(f+y[m-1],f+y[m]);d.primitiveLength+=y.length/2}}else ux(t,r,i,n,a,e),h&&hx(s,r,o,n,l,e),t.forceNewSegmentOnNextPrepare(),s?.forceNewSegmentOnNextPrepare()}function nn(e,t,r,i,n,a,s){if(a){let o=i.count;return r(t[n*2],t[n*2+1]),e[n]=i.count,i.count++,s.vertexLength++,o}return e[n]}function ux(e,t,r,i,n,a){let s=[];for(let c=0;c<i.length/2;c++)s.push(-1);let o={count:0},l=0,u=e.getOrCreateLatestSegment(t,r),h=u.vertexLength;for(let c=2;c<n.length;c+=3){let p=n[c-2],f=n[c-1],d=n[c],y=s[p]<l,m=s[f]<l,g=s[d]<l,x=+!!y+ +!!m+ +!!g;u.vertexLength+x>Ke.MAX_VERTEX_ARRAY_LENGTH&&(u=e.createNewSegment(t,r),l=o.count,y=!0,m=!0,g=!0,h=0);let b=nn(s,i,a,o,p,y,u),v=nn(s,i,a,o,f,m,u),w=nn(s,i,a,o,d,g,u);r.emplaceBack(h+b-l,h+v-l,h+w-l),u.primitiveLength++}}function hx(e,t,r,i,n,a){let s=[];for(let c=0;c<i.length/2;c++)s.push(-1);let o={count:0},l=0,u=e.getOrCreateLatestSegment(t,r),h=u.vertexLength;for(let c of n)for(let p=1;p<c.length;p+=2){let f=c[p-1],d=c[p],y=s[f]<l,m=s[d]<l,g=+!!y+ +!!m;u.vertexLength+g>Ke.MAX_VERTEX_ARRAY_LENGTH&&(u=e.createNewSegment(t,r),l=o.count,y=!0,m=!0,h=0);let x=nn(s,i,a,o,f,y,u),b=nn(s,i,a,o,d,m,u);r.emplaceBack(h+x-l,h+b-l),u.primitiveLength++}}var Dp=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(t=>t.id),this.index=e.index,this.hasDependencies=!1,this.sdfPatterns={},this.patternFeatures=[],this.layoutVertexArray=new q0,this.indexArray=new Xi,this.indexArray2=new Po,this.programConfigurations=new pr(e.layers,e.zoom),this.segments=new Ke,this.segments2=new Ke,this.stateDependentLayerIds=this.layers.filter(t=>t.isStateDependent()).map(t=>t.id)}populate(e,t,r){this.hasDependencies=va("fill",this.layers,t);let i=this.layers[0].layout.get("fill-sort-key"),n=!i.isConstant(),a=[],s=new oe(this.zoom),o=this.layers[0]._featureFilter.needGeometry;for(let{feature:l,id:u,index:h,sourceLayerIndex:c}of e){let p=jr(l,o);if(!this.layers[0]._featureFilter.filter(s,p,r))continue;let f=n?i.evaluate(p,{},r,t.availableImages):void 0,d={id:u,properties:l.properties,type:l.type,sourceLayerIndex:c,index:h,geometry:o?p.geometry:fr(l),patterns:{},sortKey:f};a.push(d)}n&&a.sort((l,u)=>l.sortKey-u.sortKey);for(let l of a){let{geometry:u,index:h,sourceLayerIndex:c}=l;if(this.hasDependencies){let f=Xo("fill",this.layers,l,{zoom:this.zoom},t);this.patternFeatures.push(f)}else this.addFeature(l,u,h,r,{},t.subdivisionGranularity);let p=e[h].feature;t.featureIndex.insert(p,u,h,c,this.index)}}update(e,t,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:r})}addFeatures({options:e,canonical:t,patternPositions:r,patternMap:i}){this.detectSdfPatterns(i);for(let n of this.patternFeatures)this.addFeature(n,n.geometry,n.index,t,r,e.subdivisionGranularity)}detectSdfPatterns(e){for(let t of this.patternFeatures)for(let r in t.patterns){let i=t.patterns[r];this.recordSdfPattern(r,e[i.min]),this.recordSdfPattern(r,e[i.mid]),this.recordSdfPattern(r,e[i.max])}for(let t of this.layers){let r=t.paint.get("fill-pattern").constantOr(null);r&&(this.recordSdfPattern(t.id,e[r.from.toString()]),this.recordSdfPattern(t.id,e[r.to.toString()]))}}recordSdfPattern(e,t){if(!t)return;let r=t.sdf===!0,i=this.sdfPatterns[e];i===void 0?this.sdfPatterns[e]=r:i!==r&&Ce(`Style sheet warning: Cannot mix SDF and non-SDF fill patterns in layer "${e}"`)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,Vg),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.indexBuffer2=e.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(e,t,r,i,n,a){for(let s of Yn(t,500)){let o=vp(s,i,a.fill.getGranularityForZoomLevel(i.z)),l=this.layoutVertexArray;wp((u,h)=>{l.emplaceBack(u,h)},this.segments,this.layoutVertexArray,this.indexArray,o.verticesFlattened,o.indicesTriangles,this.segments2,this.indexArray2,o.indicesLineList)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,r,{imagePositions:n,canonical:i})}};C("FillBucket",Dp,{omit:["layers","patternFeatures"]});let _p;const cx=()=>_p||(_p=new je({"fill-sort-key":new U(D.layout_fill["fill-sort-key"],"fill-sort-key")}));let Ap;const px=()=>Ap||(Ap=new je({"fill-antialias":new M(D.paint_fill["fill-antialias"],"fill-antialias"),"fill-opacity":new U(D.paint_fill["fill-opacity"],"fill-opacity"),"fill-layer-opacity":new M(D.paint_fill["fill-layer-opacity"],"fill-layer-opacity"),"fill-color":new U(D.paint_fill["fill-color"],"fill-color"),"fill-outline-color":new U(D.paint_fill["fill-outline-color"],"fill-outline-color"),"fill-translate":new M(D.paint_fill["fill-translate"],"fill-translate"),"fill-translate-anchor":new M(D.paint_fill["fill-translate-anchor"],"fill-translate-anchor"),"fill-pattern":new qi(D.paint_fill["fill-pattern"],"fill-pattern")}));var fx={get paint(){return px()},get layout(){return cx()}},dx=class extends ht{constructor(e,t){super(e,fx,t)}recalculate(e,t){super.recalculate(e,t);let r=this.paint._values["fill-outline-color"];r.value.kind==="constant"&&r.value.value===void 0&&(this.paint._values["fill-outline-color"]=this.paint._values["fill-color"])}createBucket(e){return new Dp(e)}queryRadius(){return ma(this.paint.get("fill-translate"))}queryIntersectsFeature({queryGeometry:e,geometry:t,transform:r,pixelsToTileUnits:i}){return Kc(ga(e,this.paint.get("fill-translate"),this.paint.get("fill-translate-anchor"),-r.bearingInRadians,i),t)}isTileClipped(){return!0}};const yx=Se([{name:"a_pos",components:2,type:"Int16"},{name:"a_normal_ed",components:4,type:"Int16"}],4),mx=Se([{name:"a_centroid",components:2,type:"Int16"}],4),gx=yx.members;var Sa=class lu{constructor(){this.minX=1/0,this.maxX=-1/0,this.minY=1/0,this.maxY=-1/0}extend(t){return this.minX=Math.min(this.minX,t.x),this.minY=Math.min(this.minY,t.y),this.maxX=Math.max(this.maxX,t.x),this.maxY=Math.max(this.maxY,t.y),this}expandBy(t){return this.minX-=t,this.minY-=t,this.maxX+=t,this.maxY+=t,(this.minX>this.maxX||this.minY>this.maxY)&&(this.minX=1/0,this.maxX=-1/0,this.minY=1/0,this.maxY=-1/0),this}shrinkBy(t){return this.expandBy(-t)}map(t){let r=new lu;return r.extend(t(new B(this.minX,this.minY))),r.extend(t(new B(this.maxX,this.minY))),r.extend(t(new B(this.minX,this.maxY))),r.extend(t(new B(this.maxX,this.maxY))),r}static fromPoints(t){let r=new lu;for(let i of t)r.extend(i);return r}contains(t){return t.x>=this.minX&&t.x<=this.maxX&&t.y>=this.minY&&t.y<=this.maxY}empty(){return this.minX>this.maxX}width(){return this.maxX-this.minX}height(){return this.maxY-this.minY}covers(t){return!this.empty()&&!t.empty()&&t.minX>=this.minX&&t.maxX<=this.maxX&&t.minY>=this.minY&&t.maxY<=this.maxY}intersects(t){return!this.empty()&&!t.empty()&&t.minX<=this.maxX&&t.maxX>=this.minX&&t.minY<=this.maxY&&t.maxY>=this.minY}};Sa.fromPoints([new B(0,0),new B(xe,xe)]);function il(e,t){return e.x===t.x&&(e.x<0||e.x>8192)||e.y===t.y&&(e.y<0||e.y>8192)}function Sp(e){return e.every(t=>t.x<0)||e.every(t=>t.x>8192)||e.every(t=>t.y<0)||e.every(t=>t.y>8192)}var an=class{constructor(e,t,r,i,n){for(this.properties=Object.create(null),this.extent=r,this.type=0,this.id=void 0,this._pbf=e,this._geometry=-1,this._keys=i,this._values=n;e.pos<t;){let a=e.readVarint();if(a===8)this.id=e.readVarint();else if(a===18){let s=e.readVarint()+e.pos;for(;e.pos<s;){let o=i[e.readVarint()],l=n[e.readVarint()];this.properties[o]=l}}else a===24?this.type=e.readVarint():(a===34&&(this._geometry=e.pos),e.skip(a))}}loadGeometry(){if(this._geometry<0)throw Error("feature has no geometry");let e=this._pbf;e.pos=this._geometry;let t=e.readVarint()+e.pos,r=[],i,n=1,a=0,s=0,o=0;for(;e.pos<t;){if(a<=0){let l=e.readVarint();if(n=l&7,a=l>>3,a===0)continue}if(a--,n===1)s+=e.readSVarint(),o+=e.readSVarint(),i&&r.push(i),i=[new B(s,o)];else if(n===2)s+=e.readSVarint(),o+=e.readSVarint(),i&&i.push(new B(s,o));else if(n===7)i&&i.push(i[0].clone());else throw Error(`unknown command ${n}`)}return i&&r.push(i),r}bbox(){if(this._geometry<0)throw Error("feature has no geometry");let e=this._pbf;e.pos=this._geometry;let t=e.readVarint()+e.pos,r=1,i=0,n=0,a=0,s=1/0,o=-1/0,l=1/0,u=-1/0;for(;e.pos<t;){if(i<=0){let h=e.readVarint();if(r=h&7,i=h>>3,i===0)continue}if(i--,r===1||r===2)n+=e.readSVarint(),a+=e.readSVarint(),n<s&&(s=n),n>o&&(o=n),a<l&&(l=a),a>u&&(u=a);else if(r!==7)throw Error(`unknown command ${r}`)}return[s,l,o,u]}toGeoJSON(e,t,r){let i=this.extent*2**r,n=this.extent*e,a=this.extent*t,s=this.loadGeometry();function o(c){return[(c.x+n)*360/i-180,360/Math.PI*Math.atan(Math.exp((1-(c.y+a)*2/i)*Math.PI))-90]}function l(c){return c.map(o)}let u;if(this.type===1){let c=[];for(let f of s)c.push(f[0]);let p=l(c);u=c.length===1?{type:"Point",coordinates:p[0]}:{type:"MultiPoint",coordinates:p}}else if(this.type===2){let c=s.map(l);u=c.length===1?{type:"LineString",coordinates:c[0]}:{type:"MultiLineString",coordinates:c}}else if(this.type===3){let c=Ep(s),p=[];for(let f of c)p.push(f.map(l));u=p.length===1?{type:"Polygon",coordinates:p[0]}:{type:"MultiPolygon",coordinates:p}}else throw Error("unknown feature type");let h={type:"Feature",geometry:u,properties:this.properties};return this.id!=null&&(h.id=this.id),h}};an.types=["Unknown","Point","LineString","Polygon"];function Ep(e){let t=e.length;if(t<=1)return[e];let r=[],i,n;for(let a=0;a<t;a++){let s=xx(e[a]);s!==0&&(n===void 0&&(n=s<0),n===s<0?(i&&r.push(i),i=[e[a]]):i&&i.push(e[a]))}return i&&r.push(i),r}function xx(e){let t=0;for(let r=0,i=e.length,n=i-1,a,s;r<i;n=r++)a=e[r],s=e[n],t+=(s.x-a.x)*(a.y+s.y);return t}var vx=class{constructor(e,t){for(this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=e,this._keys=[],this._values=[],this._features=[],t===void 0&&(t=e.length);e.pos<t;){let r=e.readVarint();r===10?this.name=e.readString():r===18?(this._features.push(e.pos),e.skip(r)):r===26?this._keys.push(e.readString()):r===34?this._values.push(bx(e)):r===40?this.extent=e.readVarint():r===120?this.version=e.readVarint():e.skip(r)}this.length=this._features.length}feature(e){if(e<0||e>=this._features.length)throw Error("feature index out of bounds");this._pbf.pos=this._features[e];let t=this._pbf.readVarint()+this._pbf.pos;return new an(this._pbf,t,this.extent,this._keys,this._values)}};function bx(e){let t=null,r=e.readVarint()+e.pos;for(;e.pos<r;){let i=e.readVarint();t=i===10?e.readString():i===21?e.readFloat():i===25?e.readDouble():i===32?e.readVarint(!0):i===40?e.readVarint():i===48?e.readSVarint():i===56?e.readBoolean():(e.skip(i),null)}if(t==null)throw Error("unknown feature value");return t}var Tp=class{constructor(e,t=e.length){let r=Object.create(null);for(;e.pos<t;){let i=e.readVarint();if(i===26){let n=new vx(e,e.readVarint()+e.pos);n.length&&(r[n.name]=n)}else e.skip(i)}this.layers=r}};const Fp=63710088e-1;var Ip=class xn{constructor(t,r){if(isNaN(t)||isNaN(r))throw Error(`Invalid LngLat object: (${t}, ${r})`);if(this.lng=+t,this.lat=+r,this.lat>90||this.lat<-90)throw Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new xn(y1(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(t){let r=Math.PI/180,i=this.lat*r,n=t.lat*r,a=Math.sin(i)*Math.sin(n)+Math.cos(i)*Math.cos(n)*Math.cos((t.lng-this.lng)*r);return Fp*Math.acos(Math.min(a,1))}static convert(t){if(t instanceof xn)return t;if(Array.isArray(t)&&(t.length===2||t.length===3))return new xn(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&typeof t=="object"&&t)return new xn(Number("lng"in t?t.lng:t.lon),Number(t.lat));throw Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]")}};const kp=2*Math.PI*Fp;function Cp(e){return kp*Math.cos(e*Math.PI/180)}function wx(e){return(180+e)/360}function Dx(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function _x(e,t){return e/Cp(t)}function Ax(e){return e*360-180}function nl(e){let t=180-e*360;return 360/Math.PI*Math.atan(Math.exp(t*Math.PI/180))-90}function Sx(e,t){return e*Cp(nl(t))}function Ex(e){return 1/Math.cos(e*Math.PI/180)}var al=class Oy{constructor(t,r,i=0){this.x=+t,this.y=+r,this.z=+i}static fromLngLat(t,r=0){let i=Ip.convert(t);return new Oy(wx(i.lng),Dx(i.lat),_x(r,i.lat))}toLngLat(){return new Ip(Ax(this.x),nl(this.y))}toAltitude(){return Sx(this.z,this.y)}meterInMercatorCoordinateUnits(){return 1/kp*Ex(nl(this.y))}};function Tx(e,t,r){let i=1/(1<<r.z);return new al(e/xe*i+r.x*i,t/xe*i+r.y*i)}function Fx(e,t,r){return Tx(e,t,r).toLngLat()}function Ix(e,t){return t<=0||!e||e.length===0?e:e.map(r=>Cx(r,t))}function kx(e,t){let r=Fx(xe/2,xe/2,t),i=al.fromLngLat(r).meterInMercatorCoordinateUnits(),n=(1<<t.z)*xe;return e*i*n}function Cx(e,t){if(!e||e.length<3)return e;let r=e[0].x===e[e.length-1].x&&e[0].y===e[e.length-1].y,i=r?e.length-1:e.length;if(i<3)return e;let n=[],a=il(e[i-1],e[0]);for(let o=0;o<i;o++){let l=e[(o-1+i)%i],u=e[o],h=e[(o+1)%i],c=il(u,h);a||c?n.push(u.clone()):Px(n,l,u,h,t),a=c}let s=Bx(n);return s.length<3?e:(r&&s.push(s[0].clone()),s)}function Bx(e){let t=[];for(let r of e){let i=r.round(),n=t[t.length-1];(n?.x!==i.x||n?.y!==i.y)&&t.push(i)}for(;t.length>1&&t[0].x===t[t.length-1].x&&t[0].y===t[t.length-1].y;)t.pop();return t}function Px(e,t,r,i,n){let a=t.sub(r),s=i.sub(r),o=a.mag(),l=s.mag();if(o<1e-6||l<1e-6){e.push(r.clone());return}a._div(o),s._div(l);let u=a.x*s.x+a.y*s.y;if(Math.abs(u)>Math.cos(5*Math.PI/180)){e.push(r.clone());return}let h=.2,c=Math.min(n,o*h,l*h),p=r.add(a.mult(c)),f=r.add(s.mult(c)),d=Math.sqrt((1+u)/2),y=r.add(a.add(s)._unit()._mult(c/d)),m=p.sub(y).angleWith(f.sub(y)),g=Math.max(2,Math.ceil(Math.abs(m)/(Math.PI/6)-1e-6));for(let x=0;x<=g;x++)e.push(p.rotateAround(x/g*m,y))}const sl=8192;function sn(e,t,r,i,n,a,s,o){e.emplaceBack(t,r,Math.floor(i*sl)*2+s,n*sl*2,a*sl*2,Math.round(o))}var Bp=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(t=>t.id),this.index=e.index,this.hasDependencies=!1,this.layoutVertexArray=new j0,this.centroidVertexArray=new N0,this.indexArray=new Xi,this.programConfigurations=new pr(e.layers,e.zoom),this.segments=new Ke,this.stateDependentLayerIds=this.layers.filter(t=>t.isStateDependent()).map(t=>t.id)}populate(e,t,r){this.features=[],this.hasDependencies=va("fill-extrusion",this.layers,t);let i=new oe(this.zoom),n=this.layers[0],a=n.layout.get("fill-extrusion-rounded-corner-distance"),s=a>0?kx(a,r):0,o=n._featureFilter.needGeometry;for(let{feature:l,id:u,index:h,sourceLayerIndex:c}of e){let p=jr(l,o);if(!n._featureFilter.filter(i,p,r))continue;let f={id:u,sourceLayerIndex:c,index:h,geometry:Ix(o?p.geometry:fr(l),s),properties:l.properties,type:l.type,patterns:{}};this.hasDependencies?this.features.push(Xo("fill-extrusion",this.layers,f,{zoom:this.zoom},t)):this.addFeature(f,f.geometry,h,r,{},t.subdivisionGranularity),t.featureIndex.insert(l,f.geometry,h,c,this.index,!0)}}addFeatures({options:e,canonical:t,patternPositions:r}){for(let i of this.features){let{geometry:n}=i;this.addFeature(i,n,i.index,t,r,e.subdivisionGranularity)}}update(e,t,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:r})}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,gx),this.centroidVertexBuffer=e.createVertexBuffer(this.centroidVertexArray,mx.members,!0),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(e,t,r,i,n,a){for(let s of Yn(t,500)){let o={x:0,y:0,sampleCount:0},l=this.layoutVertexArray.length;this.processPolygon(o,i,e,s,a);let u=this.layoutVertexArray.length-l,h=Math.floor(o.x/o.sampleCount),c=Math.floor(o.y/o.sampleCount);for(let p=0;p<u;p++)this.centroidVertexArray.emplaceBack(h,c)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,r,{imagePositions:n,canonical:i})}processPolygon(e,t,r,i,n){if(i.length<1||Sp(i[0]))return;for(let h of i)h.length!==0&&Mx(e,h);let a={segment:this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray)},s=n.fill.getGranularityForZoomLevel(t.z),o=an.types[r.type]==="Polygon";for(let h of i){if(h.length===0||Sp(h))continue;let c=mr(h,s,o);this._generateSideFaces(c,a)}if(!o)return;let l=vp(i,t,s,!1),u=this.layoutVertexArray;wp((h,c)=>{sn(u,h,c,0,0,1,1,0)},this.segments,this.layoutVertexArray,this.indexArray,l.verticesFlattened,l.indicesTriangles)}_generateSideFaces(e,t){let r=0;for(let i=1;i<e.length;i++){let n=e[i],a=e[i-1];if(il(n,a))continue;t.segment.vertexLength+4>Ke.MAX_VERTEX_ARRAY_LENGTH&&(t.segment=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let s=n.sub(a)._perp()._unit(),o=a.dist(n);r+o>32768&&(r=0),sn(this.layoutVertexArray,n.x,n.y,s.x,s.y,0,0,r),sn(this.layoutVertexArray,n.x,n.y,s.x,s.y,0,1,r),r+=o,sn(this.layoutVertexArray,a.x,a.y,s.x,s.y,0,0,r),sn(this.layoutVertexArray,a.x,a.y,s.x,s.y,0,1,r);let l=t.segment.vertexLength;this.indexArray.emplaceBack(l,l+2,l+1),this.indexArray.emplaceBack(l+1,l+2,l+3),t.segment.vertexLength+=4,t.segment.primitiveLength+=2}}};function Mx(e,t){for(let r=0;r<t.length;r++){let i=t[r];(r!==t.length-1||t[0].x!==i.x||t[0].y!==i.y)&&(e.x+=i.x,e.y+=i.y,e.sampleCount++)}}C("FillExtrusionBucket",Bp,{omit:["layers","features"]});let Pp;const zx=()=>Pp||(Pp=new je({"fill-extrusion-rounded-corner-distance":new M(D["layout_fill-extrusion"]["fill-extrusion-rounded-corner-distance"],"fill-extrusion-rounded-corner-distance")}));let Mp;const Lx=()=>Mp||(Mp=new je({"fill-extrusion-opacity":new M(D["paint_fill-extrusion"]["fill-extrusion-opacity"],"fill-extrusion-opacity"),"fill-extrusion-color":new U(D["paint_fill-extrusion"]["fill-extrusion-color"],"fill-extrusion-color"),"fill-extrusion-translate":new M(D["paint_fill-extrusion"]["fill-extrusion-translate"],"fill-extrusion-translate"),"fill-extrusion-translate-anchor":new M(D["paint_fill-extrusion"]["fill-extrusion-translate-anchor"],"fill-extrusion-translate-anchor"),"fill-extrusion-pattern":new qi(D["paint_fill-extrusion"]["fill-extrusion-pattern"],"fill-extrusion-pattern"),"fill-extrusion-height":new U(D["paint_fill-extrusion"]["fill-extrusion-height"],"fill-extrusion-height"),"fill-extrusion-base":new U(D["paint_fill-extrusion"]["fill-extrusion-base"],"fill-extrusion-base"),"fill-extrusion-vertical-gradient":new M(D["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"],"fill-extrusion-vertical-gradient")}));var Vx={get paint(){return Lx()},get layout(){return zx()}},Ox=class extends ht{constructor(e,t){super(e,Vx,t)}createBucket(e){return new Bp(e)}queryRadius(){return ma(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:r,geometry:i,transform:n,pixelsToTileUnits:a,pixelPosMatrix:s}){let o=ga(e,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),-n.bearingInRadians,a),l=this.paint.get("fill-extrusion-height").evaluate(t,r),u=this.paint.get("fill-extrusion-base").evaluate(t,r),h=Nx(o,s,0),c=$x(i,u,l,s),p=c[0],f=c[1];return Rx(p,f,h)}};function on(e,t){return e.x*t.x+e.y*t.y}function zp(e,t){if(e.length===1){let r=0,i=t[r++],n;for(;!n||i.equals(n);)if(n=t[r++],!n)return 1/0;for(;r<t.length;r++){let a=t[r],s=e[0],o=n.sub(i),l=a.sub(i),u=s.sub(i),h=on(o,o),c=on(o,l),p=on(l,l),f=on(u,o),d=on(u,l),y=h*p-c*c,m=(p*f-c*d)/y,g=(h*d-c*f)/y,x=1-m-g,b=i.z*x+n.z*m+a.z*g;if(isFinite(b))return b}return 1/0}{let r=1/0;for(let i of t)r=Math.min(r,i.z);return r}}function Rx(e,t,r){let i=1/0;Kc(r,t)&&(i=zp(r,t[0]));for(let n=0;n<t.length;n++){let a=t[n],s=e[n];for(let o=0;o<a.length-1;o++){let l=a[o],u=a[o+1],h=s[o],c=[l,u,s[o+1],h,l];lg(r,c)&&(i=Math.min(i,zp(r,c)))}}return i!==1/0&&i}function $x(e,t,r,i){let n=[],a=[],s=i[8]*t,o=i[9]*t,l=i[10]*t,u=i[11]*t,h=i[8]*r,c=i[9]*r,p=i[10]*r,f=i[11]*r;for(let d of e){let y=[],m=[];for(let g of d){let x=g.x,b=g.y,v=i[0]*x+i[4]*b+i[12],w=i[1]*x+i[5]*b+i[13],_=i[2]*x+i[6]*b+i[14],A=i[3]*x+i[7]*b+i[15],S=v+s,F=w+o,V=_+l,z=A+u,P=v+h,O=w+c,E=_+p,L=A+f,$=new B(S/z,F/z);$.z=V/z,y.push($);let R=new B(P/L,O/L);R.z=E/L,m.push(R)}n.push(y),a.push(m)}return[n,a]}function Nx(e,t,r){let i=[];for(let n of e){let a=[n.x,n.y,r,1];u1(a,a,t),i.push(new B(a[0]/a[3],a[1]/a[3]))}return i}function ol(e,t,r,i){let n=i,a=t+(r-t>>1),s=r-t,o,l=e[t],u=e[t+1],h=e[r],c=e[r+1];for(let p=t+3;p<r;p+=3){let f=Ux(e[p],e[p+1],l,u,h,c);if(f>n){o=p,n=f;continue}if(f===n){let d=Math.abs(p-a);d<s&&(o=p,s=d)}}n>i&&(o-t>3&&ol(e,t,o,i),e[o+2]=n,r-o>3&&ol(e,o,r,i))}function Ux(e,t,r,i,n,a){let s=n-r,o=a-i;if(s!==0||o!==0){let l=((e-r)*s+(t-i)*o)/(s*s+o*o);l>1?(r=n,i=a):l>0&&(r+=s*l,i+=o*l)}return s=e-r,o=t-i,s*s+o*o}function Ie(e,t,r,i){let n={type:t,geom:r},a={id:e??null,type:n.type,geometry:n.geom,tags:i,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};switch(n.type){case"Point":case"MultiPoint":ln(a,n.geom);break;case"LineString":ln(a,n.geom.points);break;case"Polygon":ln(a,n.geom[0].points);break;case"MultiLineString":for(let s of n.geom)ln(a,s.points);break;case"MultiPolygon":for(let s of n.geom)ln(a,s[0].points)}return a}function ll(e){let t=e;e.points.length>64&&(t.points=new Float64Array(e.points))}function ln(e,t){for(let r=0;r<t.length;r+=3)e.minX=Math.min(e.minX,t[r]),e.minY=Math.min(e.minY,t[r+1]),e.maxX=Math.max(e.maxX,t[r]),e.maxY=Math.max(e.maxY,t[r+1])}function ul(e,t){let r=[];switch(e.type){case"FeatureCollection":for(let i=0;i<e.features.length;i++)Ea(r,e.features[i],t,i);break;case"Feature":Ea(r,e,t);break;default:Ea(r,{geometry:e,properties:void 0},t)}return r}function Ea(e,t,r,i,n=0){if(!t.geometry)return;if(n>1024)throw Error("GeometryCollection nesting exceeds supported depth: 1024");if(t.geometry.type==="GeometryCollection"){jx(e,t,t.geometry,r,i,n+1);return}if(!t.geometry.coordinates?.length)return;let a=qx(t,r,i),s=(r.tolerance/((1<<r.maxZoom)*r.extent))**2;switch(t.geometry.type){case"Point":Gx(e,a,t.geometry,t.properties);return;case"MultiPoint":Yx(e,a,t.geometry,t.properties);return;case"LineString":Xx(e,a,t.geometry,s,t.properties);return;case"MultiLineString":Wx(e,a,t.geometry,s,r,t.properties);return;case"Polygon":Zx(e,a,t.geometry,s,t.properties);return;case"MultiPolygon":Hx(e,a,t.geometry,s,t.properties);return;default:throw Error("Input data is not a valid GeoJSON object.")}}function qx(e,t,r){return t.promoteId?e.properties?.[t.promoteId]:t.generateId?r||0:e.id}function jx(e,t,r,i,n,a=0){for(let s of r.geometries)Ea(e,{id:t.id,geometry:s,properties:t.properties},i,n,a)}function Gx(e,t,r,i){let n=[];n.push(Wr(r.coordinates[0]),Zr(r.coordinates[1]),0),e.push(Ie(t,"Point",n,i))}function Yx(e,t,r,i){let n=[];for(let a of r.coordinates)n.push(Wr(a[0]),Zr(a[1]),0);e.push(Ie(t,"MultiPoint",n,i))}function Xx(e,t,r,i,n){let a={points:[]};hl(r.coordinates,a,i,!1),e.push(Ie(t,"LineString",a,n))}function Wx(e,t,r,i,n,a){if(n.lineMetrics)for(let s of r.coordinates){let o={points:[]};hl(s,o,i,!1),e.push(Ie(t,"LineString",o,a))}else{let s=[];cl(r.coordinates,s,i,!1),e.push(Ie(t,"MultiLineString",s,a))}}function Zx(e,t,r,i,n){let a=[];cl(r.coordinates,a,i,!0),e.push(Ie(t,"Polygon",a,n))}function Hx(e,t,r,i,n){let a=[];for(let s of r.coordinates){let o=[];cl(s,o,i,!0),a.push(o)}e.push(Ie(t,"MultiPolygon",a,n))}function hl(e,t,r,i){let n,a,s=0;for(let l=0;l<e.length;l++){let u=Wr(e[l][0]),h=Zr(e[l][1]);t.points.push(u,h,0),l>0&&(s+=i?(n*h-u*a)/2:Math.sqrt((u-n)**2+(h-a)**2)),n=u,a=h}let o=t.points.length-3;t.points[2]=1,r>0&&ol(t.points,0,o,r),t.points[o+2]=1,ll(t),t.size=Math.abs(s),t.start=0,t.end=t.size}function cl(e,t,r,i){for(let n=0;n<e.length;n++){let a={points:[]};hl(e[n],a,r,i),t.push(a)}}function Wr(e){return e/360+.5}function Zr(e){let t=Math.sin(e*Math.PI/180),r=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return r<0?0:r>1?1:r}function Jx(e){return{type:"FeatureCollection",features:e.map(t=>Ta(t))}}function Ta(e){let t={type:"Feature",geometry:Kx(e),properties:e.tags};return e.id!=null&&(t.id=e.id),t}function Kx(e){let{type:t,geometry:r}=e;switch(t){case"Point":return{type:t,coordinates:Lp(r[0],r[1])};case"MultiPoint":return{type:t,coordinates:Fa(r)};case"LineString":return{type:t,coordinates:Fa(r.points)};case"MultiLineString":case"Polygon":return{type:t,coordinates:r.map(i=>Fa(i.points))};case"MultiPolygon":return{type:t,coordinates:r.map(i=>i.map(n=>Fa(n.points)))}}}function Fa(e){let t=[];for(let r=0;r<e.length;r+=3)t.push(Lp(e[r],e[r+1]));return t}function Lp(e,t){return[Vp(e),Op(t)]}function Vp(e){return(e-.5)*360}function Op(e){let t=(180-e*360)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}function zt(e,t,r,i,n,a,s,o){if(r/=t,i/=t,a>=r&&s<i)return e;if(s<r||a>=i)return null;let l=[];for(let u of e){let h=n===0?u.minX:u.minY,c=n===0?u.maxX:u.maxY;if(h>=r&&c<i){l.push(u);continue}if(!(c<r||h>=i))switch(u.type){case"Point":case"MultiPoint":Qx(u,l,r,i,n);continue;case"LineString":e2(u,l,r,i,n,o);continue;case"MultiLineString":t2(u,l,r,i,n);continue;case"Polygon":r2(u,l,r,i,n);continue;case"MultiPolygon":i2(u,l,r,i,n);continue}}return l.length?l:null}function Qx(e,t,r,i,n){let a=[];if(n2(e.geometry,a,r,i,n),!a.length)return;let s=a.length===3?"Point":"MultiPoint";t.push(Ie(e.id,s,a,e.tags))}function e2(e,t,r,i,n,a){let s=[];if(Rp(e.geometry,s,r,i,n,!1,a.lineMetrics),s.length){if(a.lineMetrics){for(let o of s)t.push(Ie(e.id,"LineString",o,e.tags));return}if(s.length>1){t.push(Ie(e.id,"MultiLineString",s,e.tags));return}t.push(Ie(e.id,"LineString",s[0],e.tags))}}function t2(e,t,r,i,n){let a=[];if(pl(e.geometry,a,r,i,n,!1),a.length){if(a.length===1){t.push(Ie(e.id,"LineString",a[0],e.tags));return}t.push(Ie(e.id,"MultiLineString",a,e.tags))}}function r2(e,t,r,i,n){let a=[];pl(e.geometry,a,r,i,n,!0),a.length&&t.push(Ie(e.id,"Polygon",a,e.tags))}function i2(e,t,r,i,n){let a=[];for(let s of e.geometry){let o=[];pl(s,o,r,i,n,!0),o.length&&a.push(o)}a.length&&t.push(Ie(e.id,"MultiPolygon",a,e.tags))}function n2(e,t,r,i,n){for(let a=0;a<e.length;a+=3){let s=e[a+n];s>=r&&s<=i&&Hr(t,e[a],e[a+1],e[a+2])}}function Rp(e,t,r,i,n,a,s){let o=$p(e),l=n===0?a2:s2,u=e.start,h,c;for(let g=0;g<e.points.length-3;g+=3){let x=e.points[g],b=e.points[g+1],v=e.points[g+2],w=e.points[g+3],_=e.points[g+4],A=n===0?x:b,S=n===0?w:_,F=!1;s&&(h=Math.sqrt((x-w)**2+(b-_)**2)),A<r?S>r&&(c=l(o,x,b,w,_,r),s&&(o.start=u+h*c)):A>i?S<i&&(c=l(o,x,b,w,_,i),s&&(o.start=u+h*c)):Hr(o.points,x,b,v),S<r&&A>=r&&(c=l(o,x,b,w,_,r),F=!0),S>i&&A<=i&&(c=l(o,x,b,w,_,i),F=!0),!a&&F&&(s&&(o.end=u+h*c),t.push(o),o=$p(e)),s&&(u+=h)}let p=e.points.length-3,f=e.points[p],d=e.points[p+1],y=e.points[p+2],m=n===0?f:d;m>=r&&m<=i&&Hr(o.points,f,d,y),p=o.points.length-3,a&&p>=3&&(o.points[p]!==o.points[0]||o.points[p+1]!==o.points[1])&&Hr(o.points,o.points[0],o.points[1],o.points[2]),o.points.length&&(ll(o),t.push(o))}function $p(e){return{points:[],size:e.size,start:e.start,end:e.end}}function pl(e,t,r,i,n,a){for(let s of e)Rp(s,t,r,i,n,a,!1)}function Hr(e,t,r,i){e.push(t,r,i)}function a2(e,t,r,i,n,a){let s=(a-t)/(i-t);return Hr(e.points,a,r+(n-r)*s,1),s}function s2(e,t,r,i,n,a){let s=(a-r)/(n-r);return Hr(e.points,t+(i-t)*s,a,1),s}function fl(e,t){let r=t.buffer/t.extent,i=e,n=zt(e,1,-1-r,r,0,-1,2,t),a=zt(e,1,1-r,2+r,0,-1,2,t);return!n&&!a||(i=zt(e,1,-r,1+r,0,-1,2,t)||[],n&&(i=Np(n,1).concat(i)),a&&(i=i.concat(Np(a,-1)))),i}function Np(e,t){let r=[];for(let i of e)switch(i.type){case"Point":case"MultiPoint":{let n=o2(i.geometry,t);r.push(Ie(i.id,i.type,n,i.tags));continue}case"LineString":{let n=dl(i.geometry,t);r.push(Ie(i.id,i.type,n,i.tags));continue}case"MultiLineString":case"Polygon":{let n=[];for(let a of i.geometry)n.push(dl(a,t));r.push(Ie(i.id,i.type,n,i.tags));continue}case"MultiPolygon":{let n=[];for(let a of i.geometry){let s=[];for(let o of a)s.push(dl(o,t));n.push(s)}r.push(Ie(i.id,i.type,n,i.tags));continue}}return r}function o2(e,t){let r=[];for(let i=0;i<e.length;i+=3)r.push(e[i]+t,e[i+1],e[i+2]);return r}function dl(e,t){let r={points:[],size:e.size};e.start!==void 0&&(r.start=e.start,r.end=e.end);for(let i=0;i<e.points.length;i+=3)r.points.push(e.points[i]+t,e.points[i+1],e.points[i+2]);return ll(r),r}function l2(e,t,r){let i=h2(t,r),n=[];if(i.removeAll&&(n=e,e=[]),i.remove.size||i.add.size){let a=[];for(let s of e)(i.remove.has(s.id)||i.add.has(s.id))&&a.push(s);if(a.length){n=n.concat(a);let s=new Set(a.map(o=>o.id));e=e.filter(o=>!s.has(o.id))}if(i.add.size){let s=ul({type:"FeatureCollection",features:Array.from(i.add.values())},r);s=fl(s,r),n=n.concat(s),e=e.concat(s)}}if(i.update.size){let a=new Map,s=[];for(let o of e)i.update.has(o.id)?a.set(o.id,[...a.get(o.id)||[],o]):s.push(o);for(let[o,l]of i.update){let u=a.get(o);if(!u||u.length===0)continue;let h=u2(u,l,r);n=n.concat(u,h),s=s.concat(h)}e=s}return{affected:n,source:e}}function u2(e,t,r){let i=!!t.newGeometry,n=t.removeAllProperties||t.removeProperties?.length>0||t.addOrUpdateProperties?.length>0;if(i){let a=e[0],s=ul({type:"FeatureCollection",features:[{type:"Feature",id:a.id,geometry:t.newGeometry,properties:n?Up(a.tags,t):a.tags}]},r);return s=fl(s,r),s}if(n){let a=[];for(let s of e){let o={...s};o.tags=Up(o.tags,t),a.push(o)}return a}return e}function Up(e,t){if(t.removeAllProperties)return{};let r={...e||{}};if(t.removeProperties)for(let i of t.removeProperties)delete r[i];if(t.addOrUpdateProperties)for(let{key:i,value:n}of t.addOrUpdateProperties)r[i]=n;return r}function h2(e,t){return e?{removeAll:e.removeAll,remove:new Set(e.remove||[]),add:new Map(e.add?.map(r=>[t.promoteId?r.properties[t.promoteId]:r.id,r])),update:new Map(e.update?.map(r=>[r.id,r]))}:{remove:new Set,add:new Map,update:new Map}}const qp=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],ge=new Uint32Array(96);var c2=class Ry{static from(t){if(!t||t.byteLength===void 0||t.buffer)throw Error("Data must be an instance of ArrayBuffer or SharedArrayBuffer.");let[r,i]=new Uint8Array(t,0,2);if(r!==219)throw Error("Data does not appear to be in a KDBush format.");let n=i>>4;if(n!==1)throw Error(`Got v${n} data when expected v1.`);let a=qp[i&15];if(!a)throw Error("Unrecognized array type.");let[s]=new Uint16Array(t,2,1),[o]=new Uint32Array(t,4,1);return new Ry(o,s,a,void 0,t)}constructor(t,r=64,i=Float64Array,n=ArrayBuffer,a){if(isNaN(t)||t<0)throw Error(`Unexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+r,2),65535),this.ArrayType=i,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;let s=qp.indexOf(this.ArrayType),o=t*2*this.ArrayType.BYTES_PER_ELEMENT,l=t*this.IndexArrayType.BYTES_PER_ELEMENT,u=(8-l%8)%8;if(s<0)throw Error(`Unexpected typed array class: ${i}.`);if(a)this.data=a,this.ids=new this.IndexArrayType(a,8,t),this.coords=new i(a,8+l+u,t*2),this._pos=t*2,this._finished=!0;else{let h=this.data=new n(8+o+l+u);this.ids=new this.IndexArrayType(h,8,t),this.coords=new i(h,8+l+u,t*2),this._pos=0,this._finished=!1,new Uint8Array(h,0,2).set([219,16+s]),new Uint16Array(h,2,1)[0]=r,new Uint32Array(h,4,1)[0]=t}}add(t,r){let i=this._pos>>1;return this.ids[i]=i,this.coords[this._pos++]=t,this.coords[this._pos++]=r,i}finish(){let t=this._pos>>1;if(t!==this.numItems)throw Error(`Added ${t} items when expected ${this.numItems}.`);return yl(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,r,i,n){if(!this._finished)throw Error("Data not yet indexed - call index.finish().");let{ids:a,coords:s,nodeSize:o}=this;ge[0]=0,ge[1]=a.length-1,ge[2]=0;let l=3,u=[];for(;l>0;){let h=ge[--l],c=ge[--l],p=ge[--l];if(c-p<=o){for(let m=p;m<=c;m++){let g=s[2*m],x=s[2*m+1];g>=t&&g<=i&&x>=r&&x<=n&&u.push(a[m])}continue}let f=p+c>>1,d=s[2*f],y=s[2*f+1];d>=t&&d<=i&&y>=r&&y<=n&&u.push(a[f]),(h===0?t<=d:r<=y)&&(ge[l++]=p,ge[l++]=f-1,ge[l++]=1-h),(h===0?i>=d:n>=y)&&(ge[l++]=f+1,ge[l++]=c,ge[l++]=1-h)}return u}within(t,r,i){let n=[];return this.withinInto(t,r,i,n),n}withinInto(t,r,i,n){if(!this._finished)throw Error("Data not yet indexed - call index.finish().");let{ids:a,coords:s,nodeSize:o}=this;ge[0]=0,ge[1]=a.length-1,ge[2]=0;let l=3,u=0,h=i*i;for(;l>0;){let c=ge[--l],p=ge[--l],f=ge[--l];if(p-f<=o){for(let g=f;g<=p;g++)Gp(s[2*g],s[2*g+1],t,r)<=h&&(n[u++]=a[g]);continue}let d=f+p>>1,y=s[2*d],m=s[2*d+1];Gp(y,m,t,r)<=h&&(n[u++]=a[d]),(c===0?t-i<=y:r-i<=m)&&(ge[l++]=f,ge[l++]=d-1,ge[l++]=1-c),(c===0?t+i>=y:r+i>=m)&&(ge[l++]=d+1,ge[l++]=p,ge[l++]=1-c)}return u}};function yl(e,t,r,i,n,a){if(n-i<=r)return;let s=i+n>>1;jp(e,t,s,i,n,a),yl(e,t,r,i,s-1,1-a),yl(e,t,r,s+1,n,1-a)}function jp(e,t,r,i,n,a){for(;n>i;){if(n-i>600){let u=n-i+1,h=r-i+1,c=Math.log(u),p=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*p*(u-p)/u)*(h-u/2<0?-1:1);jp(e,t,r,Math.max(i,Math.floor(r-h*p/u+f)),Math.min(n,Math.floor(r+(u-h)*p/u+f)),a)}let s=t[2*r+a],o=i,l=n;for(un(e,t,i,r),t[2*n+a]>s&&un(e,t,i,n);o<l;){for(un(e,t,o,l),o++,l--;t[2*o+a]<s;)o++;for(;t[2*l+a]>s;)l--}t[2*i+a]===s?un(e,t,i,l):(l++,un(e,t,l,n)),l<=r&&(i=l+1),r<=l&&(n=l-1)}}function un(e,t,r,i){ml(e,r,i),ml(t,2*r,2*i),ml(t,2*r+1,2*i+1)}function ml(e,t,r){let i=e[t];e[t]=e[r],e[r]=i}function Gp(e,t,r,i){let n=e-r,a=t-i;return n*n+a*a}const gl={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:e=>e};var p2=class{constructor(e){this.options=Object.assign(Object.create(gl),e),this.trees=Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[],this.points=[]}load(e){let t=[];for(let r of e){if(!r.geometry)continue;let[i,n]=r.geometry.coordinates,[a,s]=[Wr(i),Zr(n)],o={id:r.id,type:"Point",geometry:[a,s],tags:r.properties};t.push(o)}this.createIndex(t)}initialize(e){let t=[];for(let r of e)r.type==="Point"&&t.push(r);this.createIndex(t)}updateIndex(e,t,r){this.options=Object.assign(Object.create(gl),r.clusterOptions),this.initialize(e)}createIndex(e){let{log:t,minZoom:r,maxZoom:i}=this.options;t&&console.time("total time");let n=`prepare ${e.length} points`;t&&console.time(n),this.points=e;let a=[];for(let o=0;o<e.length;o++){let l=e[o];if(!l?.geometry)continue;let[u,h]=l.geometry;u=Math.fround(u),h=Math.fround(h),a.push(u,h,1/0,o,-1,1),this.options.reduce&&a.push(0)}let s=this.trees[i+1]=this.createTree(a);t&&console.timeEnd(n);for(let o=i;o>=r;o--){let l=Date.now();s=this.trees[o]=this.createTree(this.cluster(s,o)),t&&console.log("z%d: %d clusters in %dms",o,s.numItems,Date.now()-l)}t&&console.timeEnd("total time")}getClusters(e,t){return this.getClustersInternal(e,t).map(r=>Ta(r))}getClustersInternal(e,t){let r=((e[0]+180)%360+360)%360-180,i=Math.max(-90,Math.min(90,e[1])),n=e[2]===180?180:((e[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)r=-180,n=180;else if(r>n){let h=this.getClustersInternal([r,i,180,a],t),c=this.getClustersInternal([-180,i,n,a],t);return h.concat(c)}let s=this.trees[this.limitZoom(t)],o=s.range(Wr(r),Zr(a),Wr(n),Zr(i)),l=s.flatData,u=[];for(let h of o){let c=this.stride*h;u.push(l[c+5]>1?f2(l,c,this.clusterProps):this.points[l[c+3]])}return u}getChildren(e){let t=this.getOriginId(e),r=this.getOriginZoom(e),i=Error("No cluster with the specified id: "+e),n=this.trees[r];if(!n)throw i;let a=n.flatData;if(t*this.stride>=a.length)throw i;let s=this.options.radius/(this.options.extent*2**(r-1)),o=a[t*this.stride],l=a[t*this.stride+1],u=n.within(o,l,s),h=[];for(let c of u){let p=c*this.stride;a[p+4]===e&&h.push(a[p+5]>1?d2(a,p,this.clusterProps):Ta(this.points[a[p+3]]))}if(h.length===0)throw i;return h}getLeaves(e,t,r){t||(t=10),r||(r=0);let i=[];return this.appendLeaves(i,e,t,r,0),i}getTile(e,t,r){let i=this.trees[this.limitZoom(e)];if(!i)return null;let n=2**e,{extent:a,radius:s}=this.options,o=s/a,l=(r-o)/n,u=(r+1+o)/n,h={transformed:!0,features:[],source:null,x:t,y:r,z:e};return this.addTileFeatures(i.range((t-o)/n,l,(t+1+o)/n,u),i.flatData,t,r,n,h),t===0&&this.addTileFeatures(i.range(1-o/n,l,1,u),i.flatData,n,r,n,h),t===n-1&&this.addTileFeatures(i.range(0,l,o/n,u),i.flatData,-1,r,n,h),h}getClusterExpansionZoom(e){return this.getOriginZoom(e)}appendLeaves(e,t,r,i,n){let a=this.getChildren(t);for(let s of a){let o=s.properties;if(o?.cluster?n+o.point_count<=i?n+=o.point_count:n=this.appendLeaves(e,o.cluster_id,r,i,n):n<i?n++:e.push(s),e.length===r)break}return n}createTree(e){let t=new c2(e.length/this.stride|0,this.options.nodeSize,Float32Array);for(let r=0;r<e.length;r+=this.stride)t.add(e[r],e[r+1]);return t.finish(),t.flatData=e,t.data=null,t}addTileFeatures(e,t,r,i,n,a){for(let s of e){let o=s*this.stride,l=t[o+5]>1,u,h,c;if(l)u=xl(t,o,this.clusterProps),h=t[o],c=t[o+1];else{let d=this.points[t[o+3]];u=d.tags,[h,c]=d.geometry}let p={type:1,geometry:[[Math.round(this.options.extent*(h*n-r)),Math.round(this.options.extent*(c*n-i))]],tags:u},f;f=l||this.options.generateId?t[o+3]:this.points[t[o+3]].id,f!==void 0&&(p.id=f),a.features.push(p)}}limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}cluster(e,t){let{radius:r,extent:i,reduce:n,minPoints:a}=this.options,s=r/(i*2**t),o=e.flatData,l=[],u=this.stride;for(let h=0;h<o.length;h+=u){if(o[h+2]<=t)continue;o[h+2]=t;let c=o[h],p=o[h+1],f=e.within(o[h],o[h+1],s),d=o[h+5],y=d;for(let m of f){let g=m*u;o[g+2]>t&&(y+=o[g+5])}if(y>d&&y>=a){let m=c*d,g=p*d,x,b=-1,v=((h/u|0)<<5)+(t+1)+this.points.length;for(let w of f){let _=w*u;if(o[_+2]<=t)continue;o[_+2]=t;let A=o[_+5];m+=o[_]*A,g+=o[_+1]*A,o[_+4]=v,n&&(x||(x=this.map(o,h,!0),b=this.clusterProps.length,this.clusterProps.push(x)),n(x,this.map(o,_)))}o[h+4]=v,l.push(m/y,g/y,1/0,v,-1,y),n&&l.push(b)}else{for(let m=0;m<u;m++)l.push(o[h+m]);if(y>1)for(let m of f){let g=m*u;if(!(o[g+2]<=t)){o[g+2]=t;for(let x=0;x<u;x++)l.push(o[g+x])}}}}return l}getOriginId(e){return e-this.points.length>>5}getOriginZoom(e){return(e-this.points.length)%32}map(e,t,r){if(e[t+5]>1){let a=this.clusterProps[e[t+6]];return r?Object.assign({},a):a}let i=this.points[e[t+3]].tags,n=this.options.map(i);return r&&n===i?Object.assign({},n):n}};function f2(e,t,r){return{id:e[t+3],type:"Point",tags:xl(e,t,r),geometry:[e[t],e[t+1]]}}function d2(e,t,r){return{type:"Feature",id:e[t+3],properties:xl(e,t,r),geometry:{type:"Point",coordinates:[Vp(e[t]),Op(e[t+1])]}}}function xl(e,t,r){let i=e[t+5],n=i>=1e4?`${Math.round(i/1e3)}k`:i>=1e3?`${Math.round(i/100)/10}k`:i,a=e[t+6],s=a===-1?{}:Object.assign({},r[a]);return Object.assign(s,{cluster:!0,cluster_id:e[t+3],point_count:i,point_count_abbreviated:n})}const Yp="geojsonvt_clip_start",Xp="geojsonvt_clip_end";function Wp(e,t,r,i,n){let a=t===n.maxZoom?0:n.tolerance/((1<<t)*n.extent),s={transformed:!1,features:[],source:null,x:r,y:i,z:t,minX:2,minY:1,maxX:-1,maxY:0,numPoints:0,numSimplified:0,numFeatures:e.length};for(let o of e)y2(s,o,a,n);return s}function y2(e,t,r,i){switch(e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY),t.type){case"Point":case"MultiPoint":m2(e,t);return;case"LineString":g2(e,t,r,i);return;case"MultiLineString":case"Polygon":x2(e,t,r);return;case"MultiPolygon":v2(e,t,r);return}}function m2(e,t){let r=[];for(let n=0;n<t.geometry.length;n+=3)r.push(t.geometry[n],t.geometry[n+1]),e.numPoints++,e.numSimplified++;if(!r.length)return;let i={type:1,tags:t.tags||null,geometry:r};t.id!==null&&(i.id=t.id),e.features.push(i)}function g2(e,t,r,i){let n=[];if(vl(n,t.geometry,e,r,!1,!1),!n.length)return;let a=t.tags||null;if(i.lineMetrics){a={};for(let o in t.tags)a[o]=t.tags[o];a[Yp]=t.geometry.start/t.geometry.size,a[Xp]=t.geometry.end/t.geometry.size}let s={type:2,tags:a,geometry:n};t.id!==null&&(s.id=t.id),e.features.push(s)}function x2(e,t,r){let i=[];for(let a=0;a<t.geometry.length;a++)vl(i,t.geometry[a],e,r,t.type==="Polygon",a===0);if(!i.length)return;let n={type:t.type==="Polygon"?3:2,tags:t.tags||null,geometry:i};t.id!==null&&(n.id=t.id),e.features.push(n)}function v2(e,t,r){let i=[];for(let a=0;a<t.geometry.length;a++){let s=t.geometry[a];for(let o=0;o<s.length;o++)vl(i,s[o],e,r,!0,o===0)}if(!i.length)return;let n={type:3,tags:t.tags||null,geometry:i};t.id!==null&&(n.id=t.id),e.features.push(n)}function vl(e,t,r,i,n,a){let s=i*i;if(i>0&&t.size<(n?s:i)){r.numPoints+=t.points.length/3;return}let o=[];for(let l=0;l<t.points.length;l+=3)(i===0||t.points[l+2]>s)&&(r.numSimplified++,o.push(t.points[l],t.points[l+1])),r.numPoints++;n&&b2(o,a),e.push(o)}function b2(e,t){let r=0;for(let i=0,n=e.length,a=n-2;i<n;a=i,i+=2)r+=(e[i]-e[a])*(e[i+1]+e[a+1]);if(r>0===t)for(let i=0,n=e.length;i<n/2;i+=2){let a=e[i],s=e[i+1];e[i]=e[n-2-i],e[i+1]=e[n-1-i],e[n-2-i]=a,e[n-1-i]=s}}function Zp(e,t){if(e.transformed)return e;let r=1<<e.z,i=e.x,n=e.y;for(let a of e.features)a.type===1?w2(a,t,r,i,n):D2(a,t,r,i,n);return e.transformed=!0,e}function w2(e,t,r,i,n){let a=e,s=e.geometry,o=[];for(let l=0;l<s.length;l+=2)o.push(Hp(s[l],s[l+1],t,r,i,n));return a.geometry=o,a}function D2(e,t,r,i,n){let a=e,s=e.geometry,o=[];for(let l of s){let u=[];for(let h=0;h<l.length;h+=2)u.push(Hp(l[h],l[h+1],t,r,i,n));o.push(u)}return a.geometry=o,a}function Hp(e,t,r,i,n,a){return[Math.round(r*(e*i-n)),Math.round(r*(t*i-a))]}var _2=class{constructor(e){this.options=e,this.total=0,this.stats={},this.tiles={},this.tileCoords=[],this.stats={},this.total=0}initialize(e){this.splitTile(e,0,0,0),this.options.debug&&(e.length&&console.log("features: %d, points: %d",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd("generate tiles"),console.log("tiles generated:",this.total,JSON.stringify(this.stats)))}updateIndex(e,t,r){r.debug>1&&(console.log("invalidating tiles"),console.time("invalidating")),this.invalidateTiles(t),r.debug>1&&console.timeEnd("invalidating");let[i,n,a]=[0,0,0],s=Wp(e,i,n,a,r);s.source=e;let o=Ia(i,n,a);if(this.tiles[o]=s,this.tileCoords.push({z:i,x:n,y:a,id:o}),r.debug){let l=`z${i}`;this.stats[l]=(this.stats[l]||0)+1,this.total++}}getClusterExpansionZoom(e){return null}getChildren(e){return null}getLeaves(e,t,r){return null}getTile(e,t,r){let{extent:i,debug:n}=this.options,a=1<<e;t=t+a&a-1;let s=Ia(e,t,r);if(this.tiles[s])return Zp(this.tiles[s],i);n>1&&console.log("drilling down to z%d-%d-%d",e,t,r);let o=e,l=t,u=r,h;for(;!h&&o>0;)o--,l>>=1,u>>=1,h=this.tiles[Ia(o,l,u)];return!h?.source||(n>1&&(console.log("found parent tile z%d-%d-%d",o,l,u),console.time("drilling down")),this.splitTile(h.source,o,l,u,e,t,r),n>1&&console.timeEnd("drilling down"),!this.tiles[s])?null:Zp(this.tiles[s],i)}splitTile(e,t,r,i,n,a,s){let o=[e,t,r,i],l=this.options,u=l.debug;for(;o.length;){i=o.pop(),r=o.pop(),t=o.pop(),e=o.pop();let h=1<<t,c=Ia(t,r,i),p=this.tiles[c];if(!p&&(u>1&&console.time("creation"),p=this.tiles[c]=Wp(e,t,r,i,l),this.tileCoords.push({z:t,x:r,y:i,id:c}),u)){u>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",t,r,i,p.numFeatures,p.numPoints,p.numSimplified),console.timeEnd("creation"));let A=`z${t}`;this.stats[A]=(this.stats[A]||0)+1,this.total++}if(p.source=e,n==null){if(t===l.indexMaxZoom||p.numPoints<=l.indexMaxPoints)continue}else{if(t===l.maxZoom||t===n)continue;if(n!=null){let A=n-t;if(r!==a>>A||i!==s>>A)continue}}if(p.source=null,!e.length)continue;u>1&&console.time("clipping");let f=.5*l.buffer/l.extent,d=.5-f,y=.5+f,m=1+f,g=null,x=null,b=null,v=null,w=zt(e,h,r-f,r+y,0,p.minX,p.maxX,l),_=zt(e,h,r+d,r+m,0,p.minX,p.maxX,l);w&&(g=zt(w,h,i-f,i+y,1,p.minY,p.maxY,l),x=zt(w,h,i+d,i+m,1,p.minY,p.maxY,l)),_&&(b=zt(_,h,i-f,i+y,1,p.minY,p.maxY,l),v=zt(_,h,i+d,i+m,1,p.minY,p.maxY,l)),u>1&&console.timeEnd("clipping"),o.push(g||[],t+1,r*2,i*2),o.push(x||[],t+1,r*2,i*2+1),o.push(b||[],t+1,r*2+1,i*2),o.push(v||[],t+1,r*2+1,i*2+1)}}invalidateTiles(e){if(!e.length)return;let t=this.options,{debug:r}=t,i=1/0,n=-1/0,a=1/0,s=-1/0;for(let u of e)i=Math.min(i,u.minX),n=Math.max(n,u.maxX),a=Math.min(a,u.minY),s=Math.max(s,u.maxY);let o=t.buffer/t.extent,l=new Set;for(let u in this.tiles){let h=this.tiles[u],c=1<<h.z,p=(h.x-o)/c,f=(h.x+1+o)/c,d=(h.y-o)/c,y=(h.y+1+o)/c;if(n<p||i>=f||s<d||a>=y)continue;let m=!1;for(let g of e)if(g.maxX>=p&&g.minX<f&&g.maxY>=d&&g.minY<y){m=!0;break}if(m){if(r){r>1&&console.log("invalidate tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",h.z,h.x,h.y,h.numFeatures,h.numPoints,h.numSimplified);let g=`z${h.z}`;this.stats[g]=(this.stats[g]||0)-1,this.total--}delete this.tiles[u],l.add(u)}}l.size&&(this.tileCoords=this.tileCoords.filter(u=>!l.has(u.id)))}};function Ia(e,t,r){return((1<<e)*r+t)*32+e}const A2={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,updateable:!1,cluster:!1,clusterOptions:gl,debug:0};var S2=class{constructor(e,t){t=this.options=Object.assign({},A2,t);let r=t.debug;if(r&&console.time("preprocess data"),t.maxZoom<0||t.maxZoom>24)throw Error("maxZoom should be in the 0-24 range");if(t.promoteId&&t.generateId)throw Error("promoteId and generateId cannot be used together.");let i=ul(e,t);r&&(console.timeEnd("preprocess data"),console.log("index: maxZoom: %d, maxPoints: %d",t.indexMaxZoom,t.indexMaxPoints),console.time("generate tiles")),i=fl(i,t),t.updateable&&(this.source=i),this.initializeIndex(i,t)}initializeIndex(e,t){this.tileIndex=t.cluster?new p2(t.clusterOptions):new _2(t),e.length&&this.tileIndex.initialize(e)}getTile(e,t,r){return e=+e,t=+t,r=+r,e<0||e>24?null:this.tileIndex.getTile(e,t,r)}updateData(e,t){let r=this.options;if(!r.updateable)throw Error("to update tile geojson `updateable` option must be set to true");let{affected:i,source:n}=l2(this.source,e,r);t&&({affected:i,source:n}=this.filterUpdate(n,i,t)),i.length&&(this.source=n,this.tileIndex.updateIndex(n,i,r))}filterUpdate(e,t,r){let i=new Set;for(let n of e)n.id!=null&&(r(Ta(n))||(t.push(n),i.add(n.id)));return e=e.filter(n=>!i.has(n.id)),{affected:t,source:e}}getData(){if(!this.options.updateable)throw Error("to retrieve data the `updateable` option must be set to true");return Jx(this.source)}updateClusterOptions(e,t){let r=this.options.cluster;if(this.options.cluster=e,this.options.clusterOptions=t,r==e){this.tileIndex.updateIndex(this.source,[],this.options);return}this.initializeIndex(this.source,this.options)}getClusterExpansionZoom(e){return this.tileIndex.getClusterExpansionZoom(e)}getClusterChildren(e){return this.tileIndex.getChildren(e)}getClusterLeaves(e,t,r){return this.tileIndex.getLeaves(e,t,r)}};const E2=Se([{name:"a_pos_normal",components:2,type:"Int16"},{name:"a_data",components:4,type:"Uint8"}],4),T2=E2.members,F2=Se([{name:"a_uv_x",components:1,type:"Float32"},{name:"a_split_index",components:1,type:"Float32"}]),I2=F2.members,k2=Math.cos(75/2*(Math.PI/180)),Jp=1/2,Kp=2**14/Jp;var Qp=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(t=>t.id),this.index=e.index,this.hasDependencies=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={};for(let t of this.layers)this.gradients[t.id]={};this.layoutVertexArray=new G0,this.layoutVertexArray2=new Y0,this.indexArray=new Xi,this.programConfigurations=new pr(e.layers,e.zoom),this.segments=new Ke,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(t=>t.isStateDependent()).map(t=>t.id)}populate(e,t,r){this.hasDependencies=va("line",this.layers,t)||this.hasLineDasharray(this.layers);let i=this.layers[0].layout.get("line-sort-key"),n=!i.isConstant(),a=[],s=new oe(this.zoom),o=this.layers[0]._featureFilter.needGeometry;for(let{feature:l,id:u,index:h,sourceLayerIndex:c}of e){let p=jr(l,o);if(!this.layers[0]._featureFilter.filter(s,p,r))continue;let f=n?i.evaluate(p,{},r):void 0,d={id:u,properties:l.properties,type:l.type,sourceLayerIndex:c,index:h,geometry:o?p.geometry:fr(l),patterns:{},dashes:{},sortKey:f};a.push(d)}n&&a.sort((l,u)=>l.sortKey-u.sortKey);for(let l of a){let{geometry:u,index:h,sourceLayerIndex:c}=l;this.hasDependencies?(va("line",this.layers,t)?Xo("line",this.layers,l,{zoom:this.zoom},t):this.hasLineDasharray(this.layers)&&this.addLineDashDependencies(this.layers,l,this.zoom,t),this.patternFeatures.push(l)):this.addFeature(l,u,h,r,{},{},t.subdivisionGranularity);let p=e[h].feature;t.featureIndex.insert(p,u,h,c,this.index)}}update(e,t,r,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:r,dashPositions:i})}addFeatures({options:e,canonical:t,patternPositions:r,dashPositions:i}){for(let n of this.patternFeatures)this.addFeature(n,n.geometry,n.index,t,r,i,e.subdivisionGranularity)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=e.createVertexBuffer(this.layoutVertexArray2,I2)),this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,T2),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(e){if(e.properties&&Object.hasOwn(e.properties,"geojsonvt_clip_start")&&Object.hasOwn(e.properties,"geojsonvt_clip_end"))return{start:+e.properties[Yp],end:+e.properties[Xp]}}addFeature(e,t,r,i,n,a,s){let o=this.layers[0].layout,l=o.get("line-join").evaluate(e,{}),u=o.get("line-cap").evaluate(e,{}),h=o.get("line-miter-limit").evaluate(e,{}),c=o.get("line-round-limit").evaluate(e,{});this.lineClips=this.lineFeatureClips(e);for(let p of t)this.addLine(p,e,l,u,h,c,i,s);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,r,{imagePositions:n,dashPositions:a,canonical:i})}addLine(e,t,r,i,n,a,s,o){this.distance=0,this.scaledDistance=0,this.totalDistance=0;let l=s?o.line.getGranularityForZoomLevel(s.z):1;if(e=mr(e,l),this.lineClips){this.lineClipsArray.push(this.lineClips);for(let b=0;b<e.length-1;b++)this.totalDistance+=e[b].dist(e[b+1]);this.updateScaledDistance(),this.maxLineLength=Math.max(this.maxLineLength,this.totalDistance)}let u=an.types[t.type]==="Polygon",h=e.length;for(;h>=2&&e[h-1].equals(e[h-2]);)h--;let c=0;for(;c<h-1&&e[c].equals(e[c+1]);)c++;if(h-c<(u?3:2))return;r==="bevel"&&(n=1.05);let p=this.overscaling<=16?15*xe/(512*this.overscaling):0,f=this.segments.prepareSegment(h*10,this.layoutVertexArray,this.indexArray),d,y,m,g,x;this.e1=this.e2=-1,u&&(d=e[h-2],x=e[c].sub(d)._unit()._perp());for(let b=c;b<h;b++){if(m=b===h-1?u?e[c+1]:void 0:e[b+1],m&&e[b].equals(m))continue;x&&(g=x),d&&(y=d),d=e[b],x=m?m.sub(d)._unit()._perp():g,g||(g=x);let v=g.add(x);(v.x!==0||v.y!==0)&&v._unit();let w=g.x*x.x+g.y*x.y,_=v.x*x.x+v.y*x.y,A=_===0?1/0:1/_,S=2*Math.sqrt(2-2*_),F=_<k2&&y&&m,V=g.x*x.y-g.y*x.x>0;if(F&&b>c){let O=d.dist(y);if(O>2*p){let E=d.sub(d.sub(y)._mult(p/O)._round());this.updateDistance(y,E),this.addCurrentVertex(E,g,0,0,f),y=E}}let z=y&&m,P=z?r:u?"butt":i;if(z&&P==="round"&&(A<a?P="miter":A<=2&&(P="fakeround")),P==="miter"&&A>n&&(P="bevel"),P==="bevel"&&(A>2&&(P="flipbevel"),A<n&&(P="miter")),y&&this.updateDistance(y,d),P==="miter")v._mult(A),this.addCurrentVertex(d,v,0,0,f);else if(P==="flipbevel"){if(A>100)v=x.mult(-1);else{let O=A*g.add(x).mag()/g.sub(x).mag();v._perp()._mult(O*(V?-1:1))}this.addCurrentVertex(d,v,0,0,f),this.addCurrentVertex(d,v.mult(-1),0,0,f)}else if(P==="bevel"||P==="fakeround"){let O=-Math.sqrt(A*A-1),E=V?O:0,L=V?0:O;if(y&&this.addCurrentVertex(d,g,E,L,f),P==="fakeround"){let $=Math.round(S*180/Math.PI/20);for(let R=1;R<$;R++){let q=R/$;if(q!==.5){let pe=q-.5,fe=1.0904+w*(-3.2452+w*(3.55645-w*1.43519)),ne=.848013+w*(-1.06021+w*.215638);q+=q*pe*(q-1)*(fe*pe*pe+ne)}let te=x.sub(g)._mult(q)._add(g)._unit()._mult(V?-1:1);this.addHalfVertex(d,te.x,te.y,!1,V,0,f)}}m&&this.addCurrentVertex(d,x,-E,-L,f)}else if(P==="butt")this.addCurrentVertex(d,v,0,0,f);else if(P==="square"){let O=y?1:-1;this.addCurrentVertex(d,v,O,O,f)}else P==="round"&&(y&&(this.addCurrentVertex(d,g,0,0,f),this.addCurrentVertex(d,g,1,1,f,!0)),m&&(this.addCurrentVertex(d,x,-1,-1,f,!0),this.addCurrentVertex(d,x,0,0,f)));if(F&&b<h-1){let O=d.dist(m);if(O>2*p){let E=d.add(m.sub(d)._mult(p/O)._round());this.updateDistance(d,E),this.addCurrentVertex(E,x,0,0,f),d=E}}}}addCurrentVertex(e,t,r,i,n,a=!1){let s=t.x+t.y*r,o=t.y-t.x*r,l=-t.x+t.y*i,u=-t.y-t.x*i;this.addHalfVertex(e,s,o,a,!1,r,n),this.addHalfVertex(e,l,u,a,!0,-i,n),this.distance>Kp/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(e,t,r,i,n,a))}addHalfVertex({x:e,y:t},r,i,n,a,s,o){let l=(this.lineClips?this.scaledDistance*(Kp-1):this.scaledDistance)*Jp;if(this.layoutVertexArray.emplaceBack((e<<1)+ +!!n,(t<<1)+ +!!a,Math.round(63*r)+128,Math.round(63*i)+128,(s===0?0:s<0?-1:1)+1|(l&63)<<2,l>>6),this.lineClips){let h=(this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start);this.layoutVertexArray2.emplaceBack(h,this.lineClipsArray.length)}let u=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,u,this.e2),o.primitiveLength++),a?this.e2=u:this.e1=u}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(e,t){this.distance+=e.dist(t),this.updateScaledDistance()}hasLineDasharray(e){for(let t of e){let r=t.paint.get("line-dasharray");if(r&&!r.isConstant())return!0}return!1}addLineDashDependencies(e,t,r,i){for(let n of e){let a=n.paint.get("line-dasharray");if(!a||a.value.kind==="constant")continue;let s=n.layout.get("line-cap").evaluate(t,{})==="round",o={dasharray:a.value.evaluate({zoom:r-1},t,{}),round:s},l={dasharray:a.value.evaluate({zoom:r},t,{}),round:s},u={dasharray:a.value.evaluate({zoom:r+1},t,{}),round:s},h=`${o.dasharray.join(",")},${o.round}`,c=`${l.dasharray.join(",")},${l.round}`,p=`${u.dasharray.join(",")},${u.round}`;i.dashDependencies[h]=o,i.dashDependencies[c]=l,i.dashDependencies[p]=u,t.dashes[n.id]={min:h,mid:c,max:p}}}};C("LineBucket",Qp,{omit:["layers","patternFeatures"]});let ef;const C2=()=>ef||(ef=new je({"line-cap":new U(D.layout_line["line-cap"],"line-cap"),"line-join":new U(D.layout_line["line-join"],"line-join"),"line-miter-limit":new U(D.layout_line["line-miter-limit"],"line-miter-limit"),"line-round-limit":new U(D.layout_line["line-round-limit"],"line-round-limit"),"line-sort-key":new U(D.layout_line["line-sort-key"],"line-sort-key")}));let tf;const B2=()=>tf||(tf=new je({"line-opacity":new U(D.paint_line["line-opacity"],"line-opacity"),"line-layer-opacity":new M(D.paint_line["line-layer-opacity"],"line-layer-opacity"),"line-color":new U(D.paint_line["line-color"],"line-color"),"line-translate":new M(D.paint_line["line-translate"],"line-translate"),"line-translate-anchor":new M(D.paint_line["line-translate-anchor"],"line-translate-anchor"),"line-width":new U(D.paint_line["line-width"],"line-width"),"line-gap-width":new U(D.paint_line["line-gap-width"],"line-gap-width"),"line-offset":new U(D.paint_line["line-offset"],"line-offset"),"line-blur":new U(D.paint_line["line-blur"],"line-blur"),"line-dasharray":new qi(D.paint_line["line-dasharray"],"line-dasharray"),"line-pattern":new qi(D.paint_line["line-pattern"],"line-pattern"),"line-gradient":new ca(D.paint_line["line-gradient"],"line-gradient")}));var rf={get paint(){return B2()},get layout(){return C2()}},P2=class extends U{possiblyEvaluate(e,t){return t=new oe(Math.floor(t.zoom),{now:t.now,fadeDuration:t.fadeDuration,zoomHistory:t.zoomHistory,transition:t.transition}),super.possiblyEvaluate(e,t)}evaluate(e,t,r,i){return t=Xe({},t,{zoom:Math.floor(t.zoom)}),super.evaluate(e,t,r,i)}};let ka;var M2=class extends ht{constructor(e,t){super(e,rf,t),this.gradientVersion=0,ka||(ka=new P2(rf.paint.properties["line-width"].specification,"line-floorwidth"),ka.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(e){if(e==="line-gradient"){let t=this.gradientExpression();this.stepInterpolant=r0(t)?t._styleExpression.expression instanceof Vs:!1,this.gradientVersion=(this.gradientVersion+1)%(2**53-1)}}gradientExpression(){return this._transitionablePaint._values["line-gradient"].value.expression}recalculate(e,t){super.recalculate(e,t),this.paint._values["line-floorwidth"]=ka.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)}createBucket(e){return new Qp(e)}queryRadius(e){let t=e,r=nf(Yr("line-width",this,t),Yr("line-gap-width",this,t)),i=Yr("line-offset",this,t);return r/2+Math.abs(i)+ma(this.paint.get("line-translate"))}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:r,geometry:i,transform:n,pixelsToTileUnits:a}){let s=ga(e,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),-n.bearingInRadians,a),o=a/2*nf(this.paint.get("line-width").evaluate(t,r),this.paint.get("line-gap-width").evaluate(t,r)),l=this.paint.get("line-offset").evaluate(t,r);return l&&(i=yg(i,l*a)),ug(s,i,o)}isTileClipped(){return!0}};function nf(e,t){return t>0?t+2*e:e}const z2=Se([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"},{name:"a_height_offset",components:1,type:"Float32"}],4),L2=Se([{name:"a_projected_pos",components:3,type:"Float32"}],4);Se([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);const V2=Se([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"},{name:"a_box_real",components:2,type:"Int16"}]);Se([{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]);const af=Se([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4);Se([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4),Se([{name:"triangle",components:3,type:"Uint16"}]),Se([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"vertexStartIndex"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Uint8",name:"writingMode"},{type:"Uint8",name:"placedOrientation"},{type:"Uint8",name:"hidden"},{type:"Uint32",name:"crossTileID"},{type:"Int16",name:"associatedIconIndex"},{type:"Float32",name:"heightOffset"}]),Se([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",name:"collisionCircleDiameter"},{type:"Uint16",name:"textAnchorOffsetStartIndex"},{type:"Uint16",name:"textAnchorOffsetEndIndex"},{type:"Float32",name:"heightOffset"}]),Se([{type:"Float32",name:"offsetX"}]),Se([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]),Se([{type:"Uint16",name:"textAnchor"},{type:"Float32",components:2,name:"textOffset"}]);const Jr=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(Jr.isParsed())throw Error("RTL text plugin already registered.");this.applyArabicShaping=e.applyArabicShaping,this.processBidirectionalText=e.processBidirectionalText,this.processStyledBidirectionalText=e.processStyledBidirectionalText,this.loadScriptResolve()}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getRTLTextPluginStatus(){return this.pluginStatus}async syncState(e,t){if(this.isParsed())return this.getState();if(e.pluginStatus!=="loading")return this.setState(e),e;let r=e.pluginURL,i=new Promise(a=>{this.loadScriptResolve=a}),n=new Promise(a=>setTimeout(()=>a(),this.TIMEOUT));if(await t(r),await Promise.race([i,n]),this.isParsed()){let a={pluginStatus:"loaded",pluginURL:r};return this.setState(a),a}throw this.setState({pluginStatus:"error",pluginURL:""}),Error(`RTL Text Plugin failed to import scripts from ${r}`)}};function O2(e){return/[\\u0600-\\u0604\\u0606-\\u060B\\u060D-\\u061A\\u061C-\\u061E\\u0620-\\u063F\\u0641-\\u064A\\u0656-\\u066F\\u0671-\\u06DC\\u06DE-\\u070D\\u070F-\\u074A\\u074D-\\u077F\\u07C0-\\u07FA\\u07FD-\\u07FF\\u0840-\\u085B\\u085E\\u0860-\\u086A\\u0870-\\u0891\\u0897-\\u08E1\\u08E3-\\u08FF\\u1800\\u1801\\u1804\\u1806-\\u1819\\u1820-\\u1878\\u1880-\\u18AA\\uA840-\\uA877\\uFB50-\\uFD3D\\uFD40-\\uFDCF\\uFDF0-\\uFDFF\\uFE70-\\uFE74\\uFE76-\\uFEFC]|\\uD802[\\uDEC0-\\uDEE6\\uDEEB-\\uDEF6\\uDF80-\\uDF91\\uDF99-\\uDF9C\\uDFA9-\\uDFAF]|\\uD803[\\uDD00-\\uDD27\\uDD30-\\uDD39\\uDE60-\\uDE7E\\uDEC2-\\uDEC7\\uDED0-\\uDED8\\uDEFA-\\uDEFF\\uDF30-\\uDF59\\uDF70-\\uDF89\\uDFB0-\\uDFCB]|\\uD805[\\uDE60-\\uDE6C]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9C-\\uDC9F]|\\uD83A[\\uDD00-\\uDD4B\\uDD50-\\uDD59\\uDD5E\\uDD5F]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB\\uDEF0\\uDEF1]/gim.test(String.fromCodePoint(e))}function R2(e){return/[\\u0591-\\u05C7\\u05D0-\\u05EA\\u05EF-\\u05F4\\u0600-\\u0604\\u0606-\\u060B\\u060D-\\u061A\\u061C-\\u061E\\u0620-\\u063F\\u0641-\\u064A\\u0656-\\u066F\\u0671-\\u06DC\\u06DE-\\u070D\\u070F-\\u074A\\u074D-\\u07B1\\u07C0-\\u07FA\\u07FD-\\u082D\\u0830-\\u083E\\u0840-\\u085B\\u085E\\u0860-\\u086A\\u0870-\\u0891\\u0897-\\u08E1\\u08E3-\\u08FF\\uFB1D-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFD3D\\uFD40-\\uFDCF\\uFDF0-\\uFDFF\\uFE70-\\uFE74\\uFE76-\\uFEFC]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC57-\\uDC9E\\uDCA7-\\uDCAF\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDCFB-\\uDD1B\\uDD1F-\\uDD39\\uDD3F-\\uDD59\\uDD80-\\uDDB7\\uDDBC-\\uDDCF\\uDDD2-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE38-\\uDE3A\\uDE3F-\\uDE48\\uDE50-\\uDE58\\uDE60-\\uDE9F\\uDEC0-\\uDEE6\\uDEEB-\\uDEF6\\uDF00-\\uDF35\\uDF39-\\uDF55\\uDF58-\\uDF72\\uDF78-\\uDF91\\uDF99-\\uDF9C\\uDFA9-\\uDFAF]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDCFA-\\uDD27\\uDD30-\\uDD39\\uDD40-\\uDD65\\uDD69-\\uDD85\\uDD8E\\uDD8F\\uDE60-\\uDE7E\\uDE80-\\uDEA9\\uDEAB-\\uDEAD\\uDEB0\\uDEB1\\uDEC2-\\uDEC7\\uDED0-\\uDED8\\uDEFA-\\uDF27\\uDF30-\\uDF59\\uDF70-\\uDF89\\uDFB0-\\uDFCB\\uDFE0-\\uDFF6]|\\uD83A[\\uDC00-\\uDCC4\\uDCC7-\\uDCD6\\uDD00-\\uDD4B\\uDD50-\\uDD59\\uDD5E\\uDD5F]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB\\uDEF0\\uDEF1]/gim.test(String.fromCodePoint(e))}function $2(e){return/[\\u02EA\\u02EB\\u2E80-\\u2FDF\\u2FF0-\\u303F\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FD-\\u30FF\\u3105-\\u312F\\u31A0-\\u4DBF\\u4E00-\\uA48C\\uA490-\\uA4C6\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFE10-\\uFE1F\\uFE30-\\uFE4F\\uFF00-\\uFFEF]|\\uD81B[\\uDFE0-\\uDFFF]|[\\uD81C-\\uD822\\uD840-\\uD868\\uD86A-\\uD86D\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883\\uD885-\\uD88C][\\uDC00-\\uDFFF]|\\uD823[\\uDC00-\\uDCD5\\uDCFF-\\uDD1E\\uDD80-\\uDDF2]|\\uD82B[\\uDFF0-\\uDFFF]|\\uD82C[\\uDC00-\\uDEFB]|\\uD83C[\\uDE00-\\uDEFF]|\\uD869[\\uDC00-\\uDEDF\\uDF00-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEAD\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0\\uDFF0-\\uDFFF]|\\uD87B[\\uDC00-\\uDE5D]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A\\uDF50-\\uDFFF]|\\uD88D[\\uDC00-\\uDC79]/gim.test(String.fromCodePoint(e))}function Ca(e){return/[\\u02EA\\u02EB\\u1100-\\u11FF\\u1401-\\u167F\\u18B0-\\u18FF\\u2065\\u20DD-\\u20E0\\u20E2-\\u20E4\\u2B97\\u2BF0-\\u2BFF\\u2E50\\u2E51\\u2E80-\\u3007\\u3012\\u3013\\u3020-\\u302F\\u3031-\\u30FB\\u30FD-\\uA4CF\\uA960-\\uA97F\\uAC00-\\uD7FF\\uF900-\\uFAFF\\uFE10-\\uFE1F\\uFE30-\\uFE48\\uFE50-\\uFE57\\uFE5F-\\uFE62\\uFE67-\\uFE6F\\uFF00-\\uFF07\\uFF0A-\\uFF0C\\uFF0E-\\uFF19\\uFF1F-\\uFF3A\\uFF3C\\uFF3E\\uFF40-\\uFF5A\\uFFE0-\\uFFE2\\uFFE4-\\uFFE7\\uFFF0-\\uFFF8]|\\uD802[\\uDD80-\\uDD9F]|\\uD805[\\uDD80-\\uDDFF]|\\uD806[\\uDE00-\\uDEBF]|[\\uD80C-\\uD810\\uD81C-\\uD822\\uD83C\\uD83D\\uD840-\\uD87E\\uD880-\\uD8BE][\\uDC00-\\uDFFF]|\\uD811[\\uDC00-\\uDE7F]|\\uD81B[\\uDFE0-\\uDFFF]|\\uD823[\\uDC00-\\uDDFF]|\\uD82B[\\uDFF0-\\uDFFF]|\\uD82C[\\uDC00-\\uDEFF]|\\uD833[\\uDEC0-\\uDFCF]|\\uD834[\\uDC00-\\uDDFF\\uDEE0-\\uDF7F]|\\uD836[\\uDC00-\\uDEAF]|\\uD83E[\\uDD00-\\uDEFF]|[\\uD87F\\uD8BF][\\uDC00-\\uDFFD]/gim.test(String.fromCodePoint(e))}function N2(e){return/[\\xA7\\xA9\\xAE\\xB1\\xBC-\\xBE\\xD7\\xF7\\u2016\\u2020\\u2021\\u2030\\u2031\\u203B\\u203C\\u2042\\u2047-\\u2049\\u2051\\u2100-\\u218F\\u221E\\u2234\\u2235\\u2300-\\u2307\\u230C-\\u231F\\u2324-\\u2328\\u232B\\u237D-\\u239A\\u23BE-\\u23CD\\u23CF\\u23D1-\\u23DB\\u23E2-\\u2422\\u2424-\\u24FF\\u25A0-\\u2619\\u2620-\\u2767\\u2776-\\u2793\\u2B12-\\u2B2F\\u2B50-\\u2B59\\u2BB8-\\u2BEB\\u3000-\\u303F\\u30A0-\\u30FF\\uE000-\\uF8FF\\uFE30-\\uFE6F\\uFF00-\\uFFEF\\uFFFC\\uFFFD]|[\\uDB80-\\uDBFF][\\uDC00-\\uDFFF]/gim.test(String.fromCodePoint(e))}function U2(e){return/[\\r\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0600-\\u0605\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DD\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u070F\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u0890\\u0891\\u0897-\\u089F\\u08CA-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u09FE\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0AFA-\\u0AFF\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B55-\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C04\\u0C3C\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0CF3\\u0D00-\\u0D03\\u0D3B\\u0D3C\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D62\\u0D63\\u0D81-\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E33-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB3-\\u0EBC\\u0EC8-\\u0ECE\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1037\\u1039-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1084-\\u1086\\u108D\\u109D\\u1100-\\u11FF\\u135D-\\u135F\\u1712-\\u1715\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u180F\\u1885\\u1886\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A7C\\u1A7F\\u1AB0-\\u1ADD\\u1AE0-\\u1AEB\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF4\\u1CF7-\\u1CF9\\u1DC0-\\u1DFF\\u200C\\u200D\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA82C\\uA880\\uA881\\uA8B4-\\uA8C5\\uA8E0-\\uA8F1\\uA8FF\\uA926-\\uA92D\\uA947-\\uA953\\uA960-\\uA97C\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFF9E\\uFF9F]|\\uD800[\\uDDFD\\uDEE0\\uDF76-\\uDF7A]|\\uD802[\\uDE01-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE0F\\uDE38-\\uDE3A\\uDE3F\\uDEE5\\uDEE6]|\\uD803[\\uDD24-\\uDD27\\uDD69-\\uDD6D\\uDEAB\\uDEAC\\uDEFA-\\uDEFF\\uDF46-\\uDF50\\uDF82-\\uDF85]|\\uD804[\\uDC00-\\uDC02\\uDC38-\\uDC46\\uDC70\\uDC73\\uDC74\\uDC7F-\\uDC82\\uDCB0-\\uDCBA\\uDCBD\\uDCC2\\uDCCD\\uDD00-\\uDD02\\uDD27-\\uDD34\\uDD45\\uDD46\\uDD73\\uDD80-\\uDD82\\uDDB3-\\uDDC0\\uDDC2\\uDDC3\\uDDC9-\\uDDCC\\uDDCE\\uDDCF\\uDE2C-\\uDE37\\uDE3E\\uDE41\\uDEDF-\\uDEEA\\uDF00-\\uDF03\\uDF3B\\uDF3C\\uDF3E-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF62\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74\\uDFB8-\\uDFC0\\uDFC2\\uDFC5\\uDFC7-\\uDFCA\\uDFCC-\\uDFD2\\uDFE1\\uDFE2]|\\uD805[\\uDC35-\\uDC46\\uDC5E\\uDCB0-\\uDCC3\\uDDAF-\\uDDB5\\uDDB8-\\uDDC0\\uDDDC\\uDDDD\\uDE30-\\uDE40\\uDEAB-\\uDEB7\\uDF1D-\\uDF1F\\uDF22-\\uDF2B]|\\uD806[\\uDC2C-\\uDC3A\\uDD30-\\uDD35\\uDD37\\uDD38\\uDD3B-\\uDD43\\uDDD1-\\uDDD7\\uDDDA-\\uDDE0\\uDDE4\\uDE01-\\uDE0A\\uDE33-\\uDE39\\uDE3B-\\uDE3E\\uDE47\\uDE51-\\uDE5B\\uDE84-\\uDE99\\uDF60-\\uDF67]|\\uD807[\\uDC2F-\\uDC36\\uDC38-\\uDC3F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6\\uDD31-\\uDD36\\uDD3A\\uDD3C\\uDD3D\\uDD3F-\\uDD47\\uDD8A-\\uDD8E\\uDD90\\uDD91\\uDD93-\\uDD97\\uDEF3-\\uDEF6\\uDF00-\\uDF03\\uDF34-\\uDF3A\\uDF3E-\\uDF42\\uDF5A]|\\uD80D[\\uDC40\\uDC47-\\uDC55]|\\uD818[\\uDD1E-\\uDD2F]|\\uD81A[\\uDEF0-\\uDEF4\\uDF30-\\uDF36]|\\uD81B[\\uDD63\\uDD67-\\uDD6A\\uDF4F\\uDF51-\\uDF87\\uDF8F-\\uDF92\\uDFE4\\uDFF0\\uDFF1]|\\uD82F[\\uDC9D\\uDC9E]|\\uD833[\\uDF00-\\uDF2D\\uDF30-\\uDF46]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A\\uDC8F\\uDD30-\\uDD36\\uDEAE\\uDEEC-\\uDEEF]|\\uD839[\\uDCEC-\\uDCEF\\uDDEE\\uDDEF\\uDEE3\\uDEE6\\uDEEE\\uDEEF\\uDEF5]|\\uD83A[\\uDCD0-\\uDCD6\\uDD44-\\uDD4A]|\\uD83C[\\uDDE6-\\uDDFF\\uDFFB-\\uDFFF]|\\uDB40[\\uDC20-\\uDC7F\\uDD00-\\uDDEF]/.test(e)}function sf(e){return/[\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECE\\u0EDC-\\u0EDF\\u0F00-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F97\\u0F99-\\u0FBC\\u0FBE-\\u0FCC\\u0FCE-\\u0FD4\\u0FD9\\u0FDA\\u1000-\\u103F\\u1050-\\u108F\\u109A-\\u109F\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19DE\\u19DF\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1AA0-\\u1AAD\\u1B00-\\u1B4C\\u1B4E-\\u1B7F\\uA980-\\uA9CD\\uA9D0-\\uA9D9\\uA9DE-\\uA9EF\\uA9FA-\\uA9FE\\uAA60-\\uAAC2\\uAADB-\\uAADF]|\\uD805[\\uDF00-\\uDF1A\\uDF1D-\\uDF2B\\uDF3A\\uDF3B\\uDF3F-\\uDF46]/gim.test(String.fromCodePoint(e))}function q2(e,t){return/(?:[\\u1039\\u17D2\\u1A60\\u1BAB\\u200D\\uAAF6]|\\uD802\\uDE3F|\\uD804[\\uDD33\\uDFD0]|\\uD806[\\uDD3E\\uDE47\\uDE99]|\\uD807[\\uDD45\\uDD97\\uDF42])$/.test(e)||/^\\p{gc=Mc}/u.test(t)}const j2={C:"18g,1;g2,3;4nb,1",D:"17k,1;5,1;1,1;1,5;4,d;1,7;1,2;z,2;8,g;i,12;1,2;9,1;1,1;1,2;14,3;2,1;28,9;3,f;2,4;1,1;2,3;2,6;7a,1;2,5;1,1;g,a;5,2;2,6;1,f",R:"17m,4;1,1;1,1;5,4;l,1;14,3;1,3;g,i;12,1;2,9;1,1;1,1;2,2;1,1;o,2;2x,3;f,2;4,1;1,2;3,2;6u,j;b,1;r,3;1,1;2,2;6,1",T:"174,b;1,1;1a,l;g,1;2t,7;2,6;2,2;1,4;bt,9;16,o;1,t;1clb,1"},G2={1569:[65152,0,0,0],1570:[65153,65154,0,0],1571:[65155,65156,0,0],1572:[65157,65158,0,0],1573:[65159,65160,0,0],1574:[65161,65162,65163,65164],1575:[65165,65166,0,0],1576:[65167,65168,65169,65170],1577:[65171,65172,0,0],1578:[65173,65174,65175,65176],1579:[65177,65178,65179,65180],1580:[65181,65182,65183,65184],1581:[65185,65186,65187,65188],1582:[65189,65190,65191,65192],1583:[65193,65194,0,0],1584:[65195,65196,0,0],1585:[65197,65198,0,0],1586:[65199,65200,0,0],1587:[65201,65202,65203,65204],1588:[65205,65206,65207,65208],1589:[65209,65210,65211,65212],1590:[65213,65214,65215,65216],1591:[65217,65218,65219,65220],1592:[65221,65222,65223,65224],1593:[65225,65226,65227,65228],1594:[65229,65230,65231,65232],1601:[65233,65234,65235,65236],1602:[65237,65238,65239,65240],1603:[65241,65242,65243,65244],1604:[65245,65246,65247,65248],1605:[65249,65250,65251,65252],1606:[65253,65254,65255,65256],1607:[65257,65258,65259,65260],1608:[65261,65262,0,0],1609:[65263,65264,64488,64489],1610:[65265,65266,65267,65268],1611:[65136,0,0,65137],1612:[65138,0,0,0],1613:[65140,0,0,0],1614:[65142,0,0,65143],1615:[65144,0,0,65145],1616:[65146,0,0,65147],1617:[65148,0,0,65149],1618:[65150,0,0,65151],1649:[64336,64337,0,0],1655:[64477,0,0,0],1657:[64358,64359,64360,64361],1658:[64350,64351,64352,64353],1659:[64338,64339,64340,64341],1662:[64342,64343,64344,64345],1663:[64354,64355,64356,64357],1664:[64346,64347,64348,64349],1667:[64374,64375,64376,64377],1668:[64370,64371,64372,64373],1670:[64378,64379,64380,64381],1671:[64382,64383,64384,64385],1672:[64392,64393,0,0],1676:[64388,64389,0,0],1677:[64386,64387,0,0],1678:[64390,64391,0,0],1681:[64396,64397,0,0],1688:[64394,64395,0,0],1700:[64362,64363,64364,64365],1702:[64366,64367,64368,64369],1705:[64398,64399,64400,64401],1709:[64467,64468,64469,64470],1711:[64402,64403,64404,64405],1713:[64410,64411,64412,64413],1715:[64406,64407,64408,64409],1722:[64414,64415,0,0],1723:[64416,64417,64418,64419],1726:[64426,64427,64428,64429],1728:[64420,64421,0,0],1729:[64422,64423,64424,64425],1733:[64480,64481,0,0],1734:[64473,64474,0,0],1735:[64471,64472,0,0],1736:[64475,64476,0,0],1737:[64482,64483,0,0],1739:[64478,64479,0,0],1740:[64508,64509,64510,64511],1744:[64484,64485,64486,64487],1746:[64430,64431,0,0],1747:[64432,64433,0,0]},Y2={\\u0644\\u0622:[65269,65270],\\u0644\\u0623:[65271,65272],\\u0644\\u0625:[65273,65274],\\u0644\\u0627:[65275,65276]},of=1604,X2=/[\\u0600-\\u06ff\\u0750-\\u077f\\u0870-\\u089f\\u08a0-\\u08ff\\ufb50-\\ufdff\\ufe70-\\ufeff]/;function W2(e,t,r){let i=0;for(let n of e.split(";")){let[a,s]=n.split(",").map(l=>parseInt(l,36)),o=i+a;for(let l=o;l<o+s;l++)r.set(l,t);i=o+s}}const lf=new Map;for(let[e,t]of Object.entries(j2))W2(t,e,lf);function Z2(e){return lf.get(e)??"U"}function H2(e){return e==="D"||e==="L"||e==="C"}function J2(e){return e==="D"||e==="R"||e==="C"}function K2(e,t,r){return e==="D"?t&&r?3:t?1:r?2:0:e==="R"?+!!t:e==="L"?r?2:0:null}function Q2(e){return[...e].map(t=>{let r=t.codePointAt(0);return{codePoint:r,type:Z2(r),form:null}})}function ev(e){let t=e.filter(r=>r.type!=="T");for(let r=0;r<t.length;r++){let i=t[r],n=r>0&&H2(t[r-1].type),a=r+1<t.length&&J2(t[r+1].type);i.form=K2(i.type,n,a)}}function tv(e){let t=!1;for(let r of e)r.type==="T"?r.form=t?3:0:t=r.form===2||r.form===3}function rv(e){let t=[];for(let r=0;r<e.length;r++){let i=e[r];if(i.codePoint!==of){t.push(i);continue}let n=r+1;for(;n<e.length&&e[n].type==="T";)n++;let a=e[n],s=a&&Y2[String.fromCodePoint(of,a.codePoint)];if(!s){t.push(i);continue}let o=i.form===3||i.form===1;t.push({codePoint:s[+!!o],type:"R",form:0}),t.push(...e.slice(r+1,n)),r=n}return t}function iv(e){if(e.form===null)return e.codePoint;let t=G2[e.codePoint];return t&&(t[e.form]||t[0])||e.codePoint}function nv(e){if(!X2.test(e))return e;let t=Q2(e);return ev(t),tv(t),rv(t).map(r=>String.fromCodePoint(iv(r))).join("")}function av(e,t,r){let i=t.layout.get("text-transform").evaluate(r,{});return i==="uppercase"?e=e.toLocaleUpperCase():i==="lowercase"&&(e=e.toLocaleLowerCase()),(Jr.applyArabicShaping??nv)(e)}function sv(e,t,r){for(let i of e.sections)i.text=av(i.text,t,r);return e}function bl(e,t,r){let i=r?t.last.points:t.first.points,n=r?i[i.length-1]:i[0];return`${e}:${n.x}:${n.y}`}function ov(e){let t=e.first.points,r=t.length;for(let a=e.first.next;a;a=a.next)r+=a.points.length-1;let i=Array(r);for(let a=0;a<t.length;a++)i[a]=t[a];let n=t.length;for(let a=e.first.next;a;a=a.next){let s=a.points;for(let o=1;o<s.length;o++)i[n++]=s[o]}return i}function uf(e,t,r,i,n){let a=t[r];delete t[r],t[i]=a;let s=e[a];return s.last.next=n.first,s.last=n.last,a}function hf(e,t,r,i,n){let a=t[i];delete t[i],t[r]=a;let s=e[a];return n.last.next=s.first,s.first=n.first,a}function lv(e){let t={},r={},i=[];for(let a of e){let s=a.text?a.text.toString():null,o={points:a.geometry[0],next:null},l={feature:a,first:o,last:o};if(!s){i.push(l);continue}let u=bl(s,l),h=bl(s,l,!0);if(u in r&&h in t&&r[u]!==t[h]){let c=hf(i,t,u,h,l),p=uf(i,r,u,h,i[c]);delete t[u],delete r[h],r[bl(s,i[p],!0)]=p,i[c].feature.geometry=null}else if(u in r)uf(i,r,u,h,l);else if(h in t)hf(i,t,u,h,l);else{let c=i.push(l)-1;t[u]=c,r[h]=c}}let n=[];for(let a of i){let s=a.feature;s.geometry&&(a.first.next&&(s.geometry[0]=ov(a)),n.push(s))}return n}const cf=typeof Intl<"u"&&"Segmenter"in Intl;let wl,Dl;function _l(e){if(!cf||!U2(e))return[...e];wl??(wl=new Intl.Segmenter(void 0,{granularity:"grapheme"}));let t=[];for(let{segment:r}of wl.segment(e)){let i=t.length-1;i>=0&&q2(t[i],r)?t[i]+=r:t.push(r)}return t}function uv(e){let t=new Set;if(cf){Dl??(Dl=new Intl.Segmenter(void 0,{granularity:"word"}));for(let{index:i}of Dl.segment(e))t.add(i);return t}let r=0;for(let i of e.split(/\\b|(?=\\p{Ideo})/u))t.add(r),r+=i.length;return t}function pf(e){let t=e.codePointAt(0);return e.length>(t>65535?2:1)}function Al(e){return/\\s/u.test(String.fromCodePoint(e))}function Sl(e){for(let t of e)if(Ca(t.codePointAt(0)))return!0;return!1}function hv(e){for(let t of e)if(!cv(t.codePointAt(0)))return!1;return!0}function cv(e){return!O2(e)}function ff(e){return!(Ca(e)||N2(e))}function df(e){return/\\p{sc=Arab}/u.test(String.fromCodePoint(e))}function yf(e){return R2(e)}function mf(e){for(let t of e)if(yf(t.codePointAt(0)))return!0;return!1}const Kr={"!":"\\uFE15","#":"\\uFF03",$:"\\uFF04","%":"\\uFF05","&":"\\uFF06","(":"\\uFE35",")":"\\uFE36","*":"\\uFF0A","+":"\\uFF0B",",":"\\uFE10","-":"\\uFE32",".":"\\u30FB","/":"\\uFF0F",":":"\\uFE13",";":"\\uFE14","<":"\\uFE3F","=":"\\uFF1D",">":"\\uFE40","?":"\\uFE16","@":"\\uFF20","[":"\\uFE47","\\\\":"\\uFF3C","]":"\\uFE48","^":"\\uFF3E",_:"\\uFE33","`":"\\uFF40","{":"\\uFE37","|":"\\u2015","}":"\\uFE38","~":"\\uFF5E","\\xA2":"\\uFFE0","\\xA3":"\\uFFE1","\\xA5":"\\uFFE5","\\xA6":"\\uFFE4","\\xAC":"\\uFFE2","\\xAF":"\\uFFE3","\\u2013":"\\uFE32","\\u2014":"\\uFE31","\\u2018":"\\uFE43","\\u2019":"\\uFE44","\\u201C":"\\uFE41","\\u201D":"\\uFE42","\\u2026":"\\uFE19","\\u22EF":"\\uFE19","\\u2027":"\\u30FB","\\u20A9":"\\uFFE6","\\u3001":"\\uFE11","\\u3002":"\\uFE12","\\u3008":"\\uFE3F","\\u3009":"\\uFE40","\\u300A":"\\uFE3D","\\u300B":"\\uFE3E","\\u300C":"\\uFE41","\\u300D":"\\uFE42","\\u300E":"\\uFE43","\\u300F":"\\uFE44","\\u3010":"\\uFE3B","\\u3011":"\\uFE3C","\\u3014":"\\uFE39","\\u3015":"\\uFE3A","\\u3016":"\\uFE17","\\u3017":"\\uFE18","\\uFF01":"\\uFE15","\\uFF08":"\\uFE35","\\uFF09":"\\uFE36","\\uFF0C":"\\uFE10","\\uFF0D":"\\uFE32","\\uFF0E":"\\u30FB","\\uFF1A":"\\uFE13","\\uFF1B":"\\uFE14","\\uFF1C":"\\uFE3F","\\uFF1E":"\\uFE40","\\uFF1F":"\\uFE16","\\uFF3B":"\\uFE47","\\uFF3D":"\\uFE48","\\uFF3F":"\\uFE33","\\uFF5B":"\\uFE37","\\uFF5C":"\\u2015","\\uFF5D":"\\uFE38","\\uFF5F":"\\uFE35","\\uFF60":"\\uFE36","\\uFF61":"\\uFE12","\\uFF62":"\\uFE41","\\uFF63":"\\uFE42"};function pv(e){let t="",r={premature:!0,value:void 0},i=e[Symbol.iterator](),n=i.next(),a=e[Symbol.iterator]();a.next();let s=a.next();for(;!n.done;)(s.done||!ff(s.value.codePointAt(0))||Kr[s.value])&&(r.premature||!ff(r.value.codePointAt(0))||Kr[r.value])&&Kr[n.value]?t+=Kr[n.value]:t+=n.value,r={value:n.value,premature:!1},n=i.next(),s=a.next();return t}const fv={10:!0,13:!0,32:!0,38:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0},dv={40:!0};function gf(e,t,r,i,n,a){if("fontStack"in t){let s=r[t.fontStack],o=s?.[e];if(o)return o.metrics.advance*t.scale+n;let l=0;for(let u of e){let h=s?.[u];h&&(l+=h.metrics.advance*t.scale+n)}return l}{let s=i[t.imageName];return s?s.displaySize[0]*t.scale*24/a+n:0}}function xf(e,t,r,i){let n=(e-t)**2;return i?e<t?n/2:n*2:n+Math.abs(r)*r}function vf(e){return/^\\s+$/u.test(e)}function yv(e,t,r){let i=0;return(e===10||e===13)&&(i-=1e4),r&&(i+=150),(e===40||e===65288)&&(i+=50),(t===41||t===65289)&&(i+=50),i}function bf(e,t,r,i,n,a){let s=null,o=xf(t,r,n,a);for(let l of i){let u=xf(t-l.x,r,n,a)+l.badness;u<=o&&(s=l,o=u)}return{index:e,x:t,priorBreak:s,badness:o}}function wf(e){return e?wf(e.priorBreak).concat(e.index):[]}var El=class uu{constructor(t="",r=[],i=[]){this.text=t,this.sections=r,this.sectionIndex=i,this.imageSectionID=null,this._graphemes=null}graphemes(){return this._graphemes??(this._graphemes=_l(this.text)),this._graphemes}static fromFeature(t,r){let i=new uu;for(let n of t.sections)n.image?i.addImageSection(n):i.addTextSection(n,r);return i}length(){return this.graphemes().length}getSection(t){return this.sections[this.sectionIndex[t]]}getSectionIndex(t){return this.sectionIndex[t]}verticalizePunctuation(){this.text=pv(this.text),this._graphemes=null}hasZeroWidthSpaces(){return this.text.includes("\\u200B")}trim(){let t=this.graphemes(),r=0;for(;r<t.length&&vf(t[r]);)r++;let i=t.length;for(;i>r&&vf(t[i-1]);)i--;this.text=t.slice(r,i).join(""),this.sectionIndex=this.sectionIndex.slice(r,i),this._graphemes=null}substring(t,r){let i=this.graphemes().slice(t,r).join(""),n=this.sectionIndex.slice(t,r);return new uu(i,this.sections,n)}toCodeUnitIndex(t){return this.graphemes().slice(0,t).join("").length}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((t,r)=>Math.max(t,this.sections[r].scale),0)}getMaxImageSize(t){let r=0,i=0;for(let n=0;n<this.length();n++){let a=this.getSection(n);if("imageName"in a){let s=t[a.imageName];if(!s)continue;let o=s.displaySize;r=Math.max(r,o[0]),i=Math.max(i,o[1])}}return{maxImageWidth:r,maxImageHeight:i}}_appendSection(t,r){let i=this.graphemes(),n=i.length>0?i[i.length-1]:"",a=_l(n+t);this.text+=t,this._graphemes=i.slice(0,n?-1:void 0).concat(a);let s=a.length-+!!n;for(let o=0;o<s;o++)this.sectionIndex.push(r)}addTextSection(t,r){this.sections.push({scale:t.scale||1,verticalAlign:t.verticalAlign||"bottom",fontStack:t.fontStack||r}),this._appendSection(t.text,this.sections.length-1)}addImageSection(t){let r=t.image?t.image.name:"";if(r.length===0){Ce("Can\'t add FormattedSection with an empty image.");return}let i=this.getNextImageSectionCharCode();if(!i){Ce("Reached maximum number of images 6401");return}this.sections.push({scale:1,verticalAlign:t.verticalAlign||"bottom",imageName:r}),this._appendSection(String.fromCharCode(i),this.sections.length-1)}getNextImageSectionCharCode(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}determineLineBreaks(t,r,i,n,a){let s=[],o=this.determineAverageLineWidth(t,r,i,n,a),l=this.hasZeroWidthSpaces(),u=this.graphemes(),h=null,c=0,p=0;for(let f=0;f<u.length;f++){let d=u[f];if(f>0){let y=u[f-1].codePointAt(0),m=d.codePointAt(0),g=$2(y),x=sf(y)&&sf(m);(fv[y]||g||"imageName"in this.getSection(f-1)||u[f+1]!==void 0&&dv[m]||x&&(h??(h=uv(this.text))).has(p))&&s.push(bf(f,c,o,s,yv(y,m,g&&l),!1))}Al(d.codePointAt(0))||(c+=gf(d,this.getSection(f),i,n,t,a)),p+=d.length}return wf(bf(this.length(),c,o,s,0,!0))}determineAverageLineWidth(t,r,i,n,a){let s=0,o=0;for(let u of this.graphemes()){let h=this.getSection(o);s+=gf(u,h,i,n,t,a),o++}let l=Math.max(1,Math.ceil(s/r));return s/l}};function mv(){return function(e){var t={R:"13k,1a,2,3,3,2+1j,ch+16,a+1,5+2,2+n,5,a,4,6+16,4+3,h+1b,4mo,179q,2+9,2+11,2i9+7y,2+68,4,3+4,5+13,4+3,2+4k,3+29,8+cf,1t+7z,w+17,3+3m,1t+3z,16o1+5r,8+30,8+mc,29+1r,29+4v,75+73",EN:"1c+9,3d+1,6,187+9,513,4+5,7+9,sf+j,175h+9,qw+q,161f+1d,4xt+a,25i+9",ES:"17,2,6dp+1,f+1,av,16vr,mx+1,4o,2",ET:"z+2,3h+3,b+1,ym,3e+1,2o,p4+1,8,6u,7c,g6,1wc,1n9+4,30+1b,2n,6d,qhx+1,h0m,a+1,49+2,63+1,4+1,6bb+3,12jj",AN:"16o+5,2j+9,2+1,35,ed,1ff2+9,87+u",CS:"18,2+1,b,2u,12k,55v,l,17v0,2,3,53,2+1,b",B:"a,3,f+2,2v,690",S:"9,2,k",WS:"c,k,4f4,1vk+a,u,1j,335",ON:"x+1,4+4,h+5,r+5,r+3,z,5+3,2+1,2+1,5,2+2,3+4,o,w,ci+1,8+d,3+d,6+8,2+g,39+1,9,6+1,2,33,b8,3+1,3c+1,7+1,5r,b,7h+3,sa+5,2,3i+6,jg+3,ur+9,2v,ij+1,9g+9,7+a,8m,4+1,49+x,14u,2+2,c+2,e+2,e+2,e+1,i+n,e+e,2+p,u+2,e+2,36+1,2+3,2+1,b,2+2,6+5,2,2,2,h+1,5+4,6+3,3+f,16+2,5+3l,3+81,1y+p,2+40,q+a,m+13,2r+ch,2+9e,75+hf,3+v,2+2w,6e+5,f+6,75+2a,1a+p,2+2g,d+5x,r+b,6+3,4+o,g,6+1,6+2,2k+1,4,2j,5h+z,1m+1,1e+f,t+2,1f+e,d+3,4o+3,2s+1,w,535+1r,h3l+1i,93+2,2s,b+1,3l+x,2v,4g+3,21+3,kz+1,g5v+1,5a,j+9,n+v,2,3,2+8,2+1,3+2,2,3,46+1,4+4,h+5,r+5,r+a,3h+2,4+6,b+4,78,1r+24,4+c,4,1hb,ey+6,103+j,16j+c,1ux+7,5+g,fsh,jdq+1t,4,57+2e,p1,1m,1m,1m,1m,4kt+1,7j+17,5+2r,d+e,3+e,2+e,2+10,m+4,w,1n+5,1q,4z+5,4b+rb,9+c,4+c,4+37,d+2g,8+b,l+b,5+1j,9+9,7+13,9+t,3+1,27+3c,2+29,2+3q,d+d,3+4,4+2,6+6,a+o,8+6,a+2,e+6,16+42,2+1i",BN:"0+8,6+d,2s+5,2+p,e,4m9,1kt+2,2b+5,5+5,17q9+v,7k,6p+8,6+1,119d+3,440+7,96s+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+75,6p+2rz,1ben+1,1ekf+1,1ekf+1",NSM:"lc+33,7o+6,7c+18,2,2+1,2+1,2,21+a,1d+k,h,2u+6,3+5,3+1,2+3,10,v+q,2k+a,1n+8,a,p+3,2+8,2+2,2+4,18+2,3c+e,2+v,1k,2,5+7,5,4+6,b+1,u,1n,5+3,9,l+1,r,3+1,1m,5+1,5+1,3+2,4,v+1,4,c+1,1m,5+4,2+1,5,l+1,n+5,2,1n,3,2+3,9,8+1,c+1,v,1q,d,1f,4,1m+2,6+2,2+3,8+1,c+1,u,1n,g+1,l+1,t+1,1m+1,5+3,9,l+1,u,21,8+2,2,2j,3+6,d+7,2r,3+8,c+5,23+1,s,2,2,1k+d,2+4,2+1,6+a,2+z,a,2v+3,2+5,2+1,3+1,q+1,5+2,h+3,e,3+1,7,g,jk+2,qb+2,u+2,u+1,v+1,1t+1,2+6,9,3+a,a,1a+2,3c+1,z,3b+2,5+1,a,7+2,64+1,3,1n,2+6,2,2,3+7,7+9,3,1d+g,1s+3,1d,2+4,2,6,15+8,d+1,x+3,3+1,2+2,1l,2+1,4,2+2,1n+7,3+1,49+2,2+c,2+6,5,7,4+1,5j+1l,2+4,k1+w,2db+2,3y,2p+v,ff+3,30+1,n9x+3,2+9,x+1,29+1,7l,4,5,q+1,6,48+1,r+h,e,13+7,q+a,1b+2,1d,3+3,3+1,14,1w+5,3+1,3+1,d,9,1c,1g,2+2,3+1,6+1,2,17+1,9,6n,3,5,fn5,ki+f,h+f,r2,6b,46+4,1af+2,2+1,6+3,15+2,5,4m+1,fy+3,as+1,4a+a,4x,1j+e,1l+2,1e+3,3+1,1y+2,11+4,2+7,1r,d+1,1h+8,b+3,3,2o+2,3,2+1,7,4h,4+7,m+1,1m+1,4,12+6,4+4,5g+7,3+2,2,o,2d+5,2,5+1,2+1,6n+3,7+1,2+1,s+1,2e+7,3,2+1,2z,2,3+5,2,2u+2,3+3,2+4,78+8,2+1,75+1,2,5,41+3,3+1,5,x+5,3+1,15+5,3+3,9,a+5,3+2,1b+c,2+1,bb+6,2+5,2d+l,3+6,2+1,2+1,3f+5,4,2+1,2+6,2,21+1,4,2,9o+1,f0c+4,1o+6,t5,1s+3,2a,f5l+1,43t+2,i+7,3+6,v+3,45+2,1j0+1i,5+1d,9,f,n+4,2+e,11t+6,2+g,3+6,2+1,2+4,7a+6,c6+3,15t+6,32+6,gzhy+6n",AL:"16w,3,2,e+1b,z+2,2+2s,g+1,8+1,b+m,2+t,s+2i,c+e,4h+f,1d+1e,1bwe+dp,3+3z,x+c,2+1,35+3y,2rm+z,5+7,b+5,dt+l,c+u,17nl+27,1t+27,4x+6n,3+d",LRO:"6ct",RLO:"6cu",LRE:"6cq",RLE:"6cr",PDF:"6cs",LRI:"6ee",RLI:"6ef",FSI:"6eg",PDI:"6eh"},r={},i={};r.L=1,i[1]="L",Object.keys(t).forEach(function(N,ae){r[N]=1<<ae+1,i[r[N]]=N}),Object.freeze(r);var n=r.LRI|r.RLI|r.FSI,a=r.L|r.R|r.AL,s=r.B|r.S|r.WS|r.ON|r.FSI|r.LRI|r.RLI|r.PDI,o=r.BN|r.RLE|r.LRE|r.RLO|r.LRO|r.PDF,l=r.S|r.WS|r.B|n|r.PDI|o,u=null;function h(){if(!u){u=new Map;var N=0;for(var ae in t)if(t.hasOwnProperty(ae))for(var Z=t[ae],I="",se=void 0,Y=!1,J=0,G=0;G<=Z.length+1;G+=1){var $e=Z[G];if($e!==","&&G!==Z.length)$e==="+"?(Y=!0,J=N=J+parseInt(I,36),I=""):I+=$e;else{Y?se=N+parseInt(I,36):(J=N=J+parseInt(I,36),se=N),Y=!1,I="",J=se;for(var ve=N;ve<se+1;ve+=1)u.set(ve,r[ae])}}}}function c(N){return h(),u.get(N.codePointAt(0))||r.L}function p(N){return i[c(N)]}var f={pairs:"14>1,1e>2,u>2,2wt>1,1>1,1ge>1,1wp>1,1j>1,f>1,hm>1,1>1,u>1,u6>1,1>1,+5,28>1,w>1,1>1,+3,b8>1,1>1,+3,1>3,-1>-1,3>1,1>1,+2,1s>1,1>1,x>1,th>1,1>1,+2,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,4q>1,1e>2,u>2,2>1,+1",canonical:"6f1>-6dx,6dy>-6dx,6ec>-6ed,6ee>-6ed,6ww>2jj,-2ji>2jj,14r4>-1e7l,1e7m>-1e7l,1e7m>-1e5c,1e5d>-1e5b,1e5c>-14qx,14qy>-14qx,14vn>-1ecg,1ech>-1ecg,1edu>-1ecg,1eci>-1ecg,1eda>-1ecg,1eci>-1ecg,1eci>-168q,168r>-168q,168s>-14ye,14yf>-14ye"};function d(N,ae){var Z=0,I=new Map,se=ae&&new Map,Y;return N.split(",").forEach(function J(G){if(G.indexOf("+")!==-1)for(var $e=+G;$e--;)J(Y);else{Y=G;var ve=G.split(">"),re=ve[0],Fe=ve[1];re=String.fromCodePoint(Z+=parseInt(re,36)),Fe=String.fromCodePoint(Z+=parseInt(Fe,36)),I.set(re,Fe),ae&&se.set(Fe,re)}}),{map:I,reverseMap:se}}var y,m,g;function x(){if(!y){var N=d(f.pairs,!0),ae=N.map,Z=N.reverseMap;y=ae,m=Z,g=d(f.canonical,!1).map}}function b(N){return x(),y.get(N)||null}function v(N){return x(),m.get(N)||null}function w(N){return x(),g.get(N)||null}var _=r.L,A=r.R,S=r.EN,F=r.ES,V=r.ET,z=r.AN,P=r.CS,O=r.B,E=r.S,L=r.ON,$=r.BN,R=r.NSM,q=r.AL,te=r.LRO,pe=r.RLO,fe=r.LRE,ne=r.RLE,Oe=r.PDF,Et=r.LRI,ft=r.RLI,Lt=r.FSI,We=r.PDI;function wr(N,ae){for(var Z=125,I=new Uint32Array(N.length),se=0;se<N.length;se++)I[se]=c(N[se]);var Y=new Map;function J(Ge,ot){var Ye=I[Ge];I[Ge]=ot,Y.set(Ye,Y.get(Ye)-1),Ye&s&&Y.set(s,Y.get(s)-1),Y.set(ot,(Y.get(ot)||0)+1),ot&s&&Y.set(s,(Y.get(s)||0)+1)}for(var G=new Uint8Array(N.length),$e=new Map,ve=[],re=null,Fe=0;Fe<N.length;Fe++)re||ve.push(re={start:Fe,end:N.length-1,level:ae==="rtl"?1:ae==="ltr"?0:Vu(Fe,!1)}),I[Fe]&O&&(re.end=Fe,re=null);for(var ui=ne|fe|pe|te|n|We|Oe|O,er=function(Ge){return Ge+(Ge&1?1:2)},Vt=function(Ge){return Ge+(Ge&1?2:1)},Ot=0;Ot<ve.length;Ot++){re=ve[Ot];var le=[{_level:re.level,_override:0,_isolate:0}],be=void 0,It=0,Rt=0,Ya=0;Y.clear();for(var Pe=re.start;Pe<=re.end;Pe++){var Me=I[Pe];if(be=le[le.length-1],Y.set(Me,(Y.get(Me)||0)+1),Me&s&&Y.set(s,(Y.get(s)||0)+1),Me&ui)if(Me&(ne|fe)){G[Pe]=be._level;var cu=(Me===ne?Vt:er)(be._level);cu<=Z&&!It&&!Rt?le.push({_level:cu,_override:0,_isolate:0}):It||Rt++}else if(Me&(pe|te)){G[Pe]=be._level;var pu=(Me===pe?Vt:er)(be._level);pu<=Z&&!It&&!Rt?le.push({_level:pu,_override:Me&pe?A:_,_isolate:0}):It||Rt++}else if(Me&n){Me&Lt&&(Me=Vu(Pe+1,!0)===1?ft:Et),G[Pe]=be._level,be._override&&J(Pe,be._override);var fu=(Me===ft?Vt:er)(be._level);fu<=Z&&It===0&&Rt===0?(Ya++,le.push({_level:fu,_override:0,_isolate:1,_isolInitIndex:Pe})):It++}else if(Me&We){if(It>0)It--;else if(Ya>0){for(Rt=0;!le[le.length-1]._isolate;)le.pop();var Xa=le[le.length-1]._isolInitIndex;Xa!=null&&($e.set(Xa,Pe),$e.set(Pe,Xa)),le.pop(),Ya--}be=le[le.length-1],G[Pe]=be._level,be._override&&J(Pe,be._override)}else Me&Oe?(It===0&&(Rt>0?Rt--:!be._isolate&&le.length>1&&(le.pop(),be=le[le.length-1])),G[Pe]=be._level):Me&O&&(G[Pe]=re.level);else G[Pe]=be._level,be._override&&Me!==$&&J(Pe,be._override)}for(var Ar=[],dt=null,tr=re.start;tr<=re.end;tr++){var Wa=I[tr];if(!(Wa&o)){var du=G[tr],yu=Wa&n,Ny=Wa===We;dt&&du===dt._level?(dt._end=tr,dt._endsWithIsolInit=yu):Ar.push(dt={_start:tr,_end:tr,_level:du,_startsWithPDI:Ny,_endsWithIsolInit:yu})}}for(var Za=[],vn=0;vn<Ar.length;vn++){var bn=Ar[vn];if(!bn._startsWithPDI||bn._startsWithPDI&&!$e.has(bn._start)){for(var Ha=[dt=bn],mu=void 0;dt&&dt._endsWithIsolInit&&(mu=$e.get(dt._end))!=null;)for(var wn=vn+1;wn<Ar.length;wn++)if(Ar[wn]._start===mu){Ha.push(dt=Ar[wn]);break}for(var Sr=[],Ja=0;Ja<Ha.length;Ja++)for(var gu=Ha[Ja],Ka=gu._start;Ka<=gu._end;Ka++)Sr.push(Ka);for(var Uy=G[Sr[0]],xu=re.level,Dn=Sr[0]-1;Dn>=0;Dn--)if(!(I[Dn]&o)){xu=G[Dn];break}var Qa=Sr[Sr.length-1],qy=G[Qa],vu=re.level;if(!(I[Qa]&n)){for(var _n=Qa+1;_n<=re.end;_n++)if(!(I[_n]&o)){vu=G[_n];break}}Za.push({_seqIndices:Sr,_sosType:Math.max(xu,Uy)%2?A:_,_eosType:Math.max(vu,qy)%2?A:_})}}for(var es=0;es<Za.length;es++){var ts=Za[es],j=ts._seqIndices,hi=ts._sosType,jy=ts._eosType,Er=G[j[0]]&1?A:_;if(Y.get(R))for(var An=0;An<j.length;An++){var bu=j[An];if(I[bu]&R){for(var rs=hi,Sn=An-1;Sn>=0;Sn--)if(!(I[j[Sn]]&o)){rs=I[j[Sn]];break}J(bu,rs&(n|We)?L:rs)}}if(Y.get(S))for(var En=0;En<j.length;En++){var wu=j[En];if(I[wu]&S)for(var Tn=En-1;Tn>=-1;Tn--){var Du=Tn===-1?hi:I[j[Tn]];if(Du&a){Du===q&&J(wu,z);break}}}if(Y.get(q))for(var is=0;is<j.length;is++){var _u=j[is];I[_u]&q&&J(_u,A)}if(Y.get(F)||Y.get(P))for(var ci=1;ci<j.length-1;ci++){var ns=j[ci];if(I[ns]&(F|P)){for(var Tr=0,as=0,ss=ci-1;ss>=0&&(Tr=I[j[ss]],Tr&o);ss--);for(var os=ci+1;os<j.length&&(as=I[j[os]],as&o);os++);Tr===as&&(I[ns]===F?Tr===S:Tr&(S|z))&&J(ns,Tr)}}if(Y.get(S)){for(var yt=0;yt<j.length;yt++)if(I[j[yt]]&S){for(var Fn=yt-1;Fn>=0&&I[j[Fn]]&(V|o);Fn--)J(j[Fn],S);for(yt++;yt<j.length&&I[j[yt]]&(V|o|S);yt++)I[j[yt]]!==S&&J(j[yt],S)}}if(Y.get(V)||Y.get(F)||Y.get(P))for(var pi=0;pi<j.length;pi++){var Au=j[pi];if(I[Au]&(V|F|P)){J(Au,L);for(var In=pi-1;In>=0&&I[j[In]]&o;In--)J(j[In],L);for(var kn=pi+1;kn<j.length&&I[j[kn]]&o;kn++)J(j[kn],L)}}if(Y.get(S))for(var ls=0,Su=hi;ls<j.length;ls++){var Eu=j[ls],us=I[Eu];us&S?Su===_&&J(Eu,_):us&a&&(Su=us)}if(Y.get(s)){for(var fi=A|S|z,Tu=fi|_,Cn=[],Fr=[],Ir=0;Ir<j.length;Ir++)if(I[j[Ir]]&s){var di=N[j[Ir]],Fu=void 0;if(b(di)!==null)if(Fr.length<63)Fr.push({char:di,seqIndex:Ir});else break;else if((Fu=v(di))!==null)for(var yi=Fr.length-1;yi>=0;yi--){var hs=Fr[yi].char;if(hs===Fu||hs===v(w(di))||b(w(hs))===di){Cn.push([Fr[yi].seqIndex,Ir]),Fr.length=yi;break}}}Cn.sort(function(Ge,ot){return Ge[0]-ot[0]});for(var cs=0;cs<Cn.length;cs++){for(var Iu=Cn[cs],Bn=Iu[0],ps=Iu[1],ku=!1,mt=0,fs=Bn+1;fs<ps;fs++){var Cu=j[fs];if(I[Cu]&Tu){ku=!0;var Bu=I[Cu]&fi?A:_;if(Bu===Er){mt=Bu;break}}}if(ku&&!mt){mt=hi;for(var ds=Bn-1;ds>=0;ds--){var Pu=j[ds];if(I[Pu]&Tu){var Mu=I[Pu]&fi?A:_;mt=Mu===Er?Er:Mu;break}}}if(mt){if(I[j[Bn]]=I[j[ps]]=mt,mt!==Er){for(var mi=Bn+1;mi<j.length;mi++)if(!(I[j[mi]]&o)){c(N[j[mi]])&R&&(I[j[mi]]=mt);break}}if(mt!==Er){for(var gi=ps+1;gi<j.length;gi++)if(!(I[j[gi]]&o)){c(N[j[gi]])&R&&(I[j[gi]]=mt);break}}}}for(var $t=0;$t<j.length;$t++)if(I[j[$t]]&s){for(var zu=$t,ys=$t,ms=hi,xi=$t-1;xi>=0;xi--)if(I[j[xi]]&o)zu=xi;else{ms=I[j[xi]]&fi?A:_;break}for(var Lu=jy,vi=$t+1;vi<j.length;vi++)if(I[j[vi]]&(s|o))ys=vi;else{Lu=I[j[vi]]&fi?A:_;break}for(var gs=zu;gs<=ys;gs++)I[j[gs]]=ms===Lu?ms:Er;$t=ys}}}for(var Ze=re.start;Ze<=re.end;Ze++){var Gy=G[Ze],Pn=I[Ze];if(Gy&1?Pn&(_|S|z)&&G[Ze]++:Pn&A?G[Ze]++:Pn&(z|S)&&(G[Ze]+=2),Pn&o&&(G[Ze]=Ze===0?re.level:G[Ze-1]),Ze===re.end||c(N[Ze])&(E|O))for(var Mn=Ze;Mn>=0&&c(N[Mn])&l;Mn--)G[Mn]=re.level}}return{levels:G,paragraphs:ve};function Vu(Ge,ot){for(var Ye=Ge;Ye<N.length;Ye++){var Nt=I[Ye];if(Nt&(A|q))return 1;if(Nt&(O|_)||ot&&Nt===We)return 0;if(Nt&n){var Ou=Yy(Ye);Ye=Ou===-1?N.length:Ou}}return 0}function Yy(Ge){for(var ot=1,Ye=Ge+1;Ye<N.length;Ye++){var Nt=I[Ye];if(Nt&O)break;if(Nt&We){if(--ot===0)return Ye}else Nt&n&&ot++}return-1}}var Dr="14>1,j>2,t>2,u>2,1a>g,2v3>1,1>1,1ge>1,1wd>1,b>1,1j>1,f>1,ai>3,-2>3,+1,8>1k0,-1jq>1y7,-1y6>1hf,-1he>1h6,-1h5>1ha,-1h8>1qi,-1pu>1,6>3u,-3s>7,6>1,1>1,f>1,1>1,+2,3>1,1>1,+13,4>1,1>1,6>1eo,-1ee>1,3>1mg,-1me>1mk,-1mj>1mi,-1mg>1mi,-1md>1,1>1,+2,1>10k,-103>1,1>1,4>1,5>1,1>1,+10,3>1,1>8,-7>8,+1,-6>7,+1,a>1,1>1,u>1,u6>1,1>1,+5,26>1,1>1,2>1,2>2,8>1,7>1,4>1,1>1,+5,b8>1,1>1,+3,1>3,-2>1,2>1,1>1,+2,c>1,3>1,1>1,+2,h>1,3>1,a>1,1>1,2>1,3>1,1>1,d>1,f>1,3>1,1a>1,1>1,6>1,7>1,13>1,k>1,1>1,+19,4>1,1>1,+2,2>1,1>1,+18,m>1,a>1,1>1,lk>1,1>1,4>1,2>1,f>1,3>1,1>1,+3,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,6>1,4j>1,j>2,t>2,u>2,2>1,+1",Kt;function li(){if(!Kt){var N=d(Dr,!0),ae=N.map;N.reverseMap.forEach(function(Z,I){ae.set(I,Z)}),Kt=ae}}function Tt(N){return li(),Kt.get(N)||null}function Re(N,ae,Z,I){var se=N.length;Z=Math.max(0,Z==null?0:+Z),I=Math.min(se-1,I==null?se-1:+I);for(var Y=new Map,J=Z;J<=I;J++)if(ae[J]&1){var G=Tt(N[J]);G!==null&&Y.set(J,G)}return Y}function Ft(N,ae,Z,I){var se=N.length;Z=Math.max(0,Z==null?0:+Z),I=Math.min(se-1,I==null?se-1:+I);var Y=[];return ae.paragraphs.forEach(function(J){var G=Math.max(Z,J.start),$e=Math.min(I,J.end);if(G<$e){for(var ve=ae.levels.slice(G,$e+1),re=$e;re>=G&&c(N[re])&l;re--)ve[re]=J.level;for(var Fe=J.level,ui=1/0,er=0;er<ve.length;er++){var Vt=ve[er];Vt>Fe&&(Fe=Vt),Vt<ui&&(ui=Vt|1)}for(var Ot=Fe;Ot>=ui;Ot--)for(var le=0;le<ve.length;le++)if(ve[le]>=Ot){for(var be=le;le+1<ve.length&&ve[le+1]>=Ot;)le++;le>be&&Y.push([be+G,le+G])}}}),Y}function Qt(N,ae,Z,I){var se=_r(N,ae,Z,I),Y=[].concat(N);return se.forEach(function(J,G){Y[G]=(ae.levels[J]&1?Tt(N[J]):null)||N[J]}),Y.join("")}function _r(N,ae,Z,I){for(var se=Ft(N,ae,Z,I),Y=[],J=0;J<N.length;J++)Y[J]=J;return se.forEach(function(G){for(var $e=G[0],ve=G[1],re=Y.slice($e,ve+1),Fe=re.length;Fe--;)Y[ve-Fe]=re[Fe]}),Y}return e.closingToOpeningBracket=v,e.getBidiCharType=c,e.getBidiCharTypeName=p,e.getCanonicalBracket=w,e.getEmbeddingLevels=wr,e.getMirroredCharacter=Tt,e.getMirroredCharactersMap=Re,e.getReorderSegments=Ft,e.getReorderedIndices=_r,e.getReorderedString=Qt,e.openingToClosingBracket=b,Object.defineProperty(e,"__esModule",{value:!0}),e}({})}const Tl=mv(),gv=/[\\u061c\\u200e\\u200f\\u202a-\\u202e\\u2066-\\u2069]/,xv=new Set(["WS","FSI","LRI","RLI","PDI"]),vv=new Set(["S","B"]);function bv(e,t,r,i){let n=[],a=r;for(let s of _l(e.slice(r,i)))n.push({index:a,text:s,level:t[a]}),a+=s.length;return n}function wv(e,t){let r=!0;for(let i=e.length-1;i>=0;i--){let n=Tl.getBidiCharTypeName(e[i].text[0]);vv.has(n)?(e[i].level=t,r=!0):r&&xv.has(n)?e[i].level=t:r=!1}}function Dv(e,t){let r=t,i=1/0;for(let{level:a}of e)a>r&&(r=a),(a|1)<i&&(i=a|1);let n=e.slice();for(let a=r;a>=i;a--)for(let s=0;s<n.length;s++){if(n[s].level<a)continue;let o=s;for(;o+1<n.length&&n[o+1].level>=a;)o++;for(let l=s,u=o;l<u;l++,u--)[n[l],n[u]]=[n[u],n[l]];s=o}return n}function _v(e){return e.level%2==0?e.text:Tl.getMirroredCharacter(e.text)??e.text}function Av(e,t){return e.find(r=>t>=r.start&&t<=r.end)?.level??0}function Sv(e,t,r,i,n){let a=bv(e,t,i,n);wv(a,r);let s="",o=[];for(let l of Dv(a,r)){if(gv.test(l.text))continue;let u=_v(l);s+=u,o.push(...Array(u.length).fill(l.index))}return{text:s,sourceIndices:o}}function Ev(e,t){let r=t.filter(a=>a>0&&a<e.length),i=[...new Set([0,...r,e.length])].sort((a,s)=>a-s),n=[];for(let a=0;a+1<i.length;a++)n.push([i[a],i[a+1]]);return n}function Df(e,t){let{levels:r,paragraphs:i}=Tl.getEmbeddingLevels(e);return Ev(e,t.concat(i.map(n=>n.start))).map(([n,a])=>Sv(e,r,Av(i,n),n,a))}function Tv(e,t){return Df(e,t).map(r=>r.text)}function Fv(e,t,r){return Df(e,r).map(i=>[i.text,i.sourceIndices.map(n=>t[n]??0)])}const Fl=4294967296,_f=1/Fl,Af=typeof TextDecoder>"u"?null:new TextDecoder("utf-8");var Sf=class{constructor(e){this.buf=ArrayBuffer.isView(e)?e:new Uint8Array(e),this.dataView=new DataView(this.buf.buffer,this.buf.byteOffset,this.buf.byteLength),this.pos=0,this.type=0,this._valueStart=-1,this.length=this.buf.length}readFields(e,t,r=this.length){let i;for(;i=this.nextField(r);)e(i,t,this);return t}readMessage(e,t){return this.readFields(e,t,this.readVarint()+this.pos)}readFixed32(){let e=this.dataView.getUint32(this.pos,!0);return this.pos+=4,e}readSFixed32(){let e=this.dataView.getInt32(this.pos,!0);return this.pos+=4,e}readFixed64(){let e=this.dataView.getUint32(this.pos,!0)+this.dataView.getUint32(this.pos+4,!0)*Fl;return this.pos+=8,e}readSFixed64(){let e=this.dataView.getUint32(this.pos,!0)+this.dataView.getInt32(this.pos+4,!0)*Fl;return this.pos+=8,e}readFloat(){let e=this.dataView.getFloat32(this.pos,!0);return this.pos+=4,e}readDouble(){let e=this.dataView.getFloat64(this.pos,!0);return this.pos+=8,e}readVarint(e){let t=this.buf,r=t[this.pos++];if(r<128)return r;let i=r&127,n;return n=t[this.pos++],i|=(n&127)<<7,n<128||(n=t[this.pos++],i|=(n&127)<<14,n<128)||(n=t[this.pos++],i|=(n&127)<<21,n<128)?i:(n=t[this.pos],i|=(n&15)<<28,kv(i,e,this))}readSVarint(){let e=this.readVarint();return e%2==1?(e+1)/-2:e/2}readBoolean(){return!!this.readVarint()}readString(){let e=this.readVarint()+this.pos,t=this.pos;return this.pos=e,e-t>=12&&Af?Af.decode(this.buf.subarray(t,e)):jv(this.buf,t,e)}readBytes(){let e=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,e);return this.pos=e,t}readPackedVarint(e=[],t){let r=this.readPackedEnd();for(;this.pos<r;)e.push(this.readVarint(t));return e}readPackedSVarint(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readSVarint());return e}readPackedBoolean(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readBoolean());return e}readPackedFloat(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readFloat());return e}readPackedDouble(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readDouble());return e}readPackedFixed32(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readFixed32());return e}readPackedSFixed32(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readSFixed32());return e}readPackedFixed64(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readFixed64());return e}readPackedSFixed64(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readSFixed64());return e}readPackedEnd(){return this.type===2?this.readVarint()+this.pos:this.pos+1}nextField(e=this.length){if(this.pos===this._valueStart&&this.skip(this.type),this.pos>=e)return 0;let t=this.readVarint();return this.type=t&7,this._valueStart=this.pos,t>>>3}skip(e){let t=e&7;if(t===0)for(;this.buf[this.pos++]>127;);else if(t===2)this.pos=this.readVarint()+this.pos;else if(t===5)this.pos+=4;else if(t===1)this.pos+=8;else throw Error(`Unimplemented type: ${t}`)}},Iv=class{constructor(e=new Uint8Array(16)){this.buf=ArrayBuffer.isView(e)?e:new Uint8Array(e),this.dataView=new DataView(this.buf.buffer,this.buf.byteOffset,this.buf.byteLength),this.pos=0,this.length=this.buf.length}writeTag(e,t){this.writeVarint(e<<3|t)}realloc(e){let t=this.length||16;for(;t<this.pos+e;)t*=2;if(t!==this.length){let r=new Uint8Array(t);r.set(this.buf),this.buf=r,this.dataView=new DataView(r.buffer),this.length=t}}finish(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)}writeFixed32(e){this.realloc(4),this.dataView.setInt32(this.pos,e,!0),this.pos+=4}writeSFixed32(e){this.realloc(4),this.dataView.setInt32(this.pos,e,!0),this.pos+=4}writeFixed64(e){this.realloc(8),this.dataView.setInt32(this.pos,e&-1,!0),this.dataView.setInt32(this.pos+4,Math.floor(e*_f),!0),this.pos+=8}writeSFixed64(e){this.realloc(8),this.dataView.setInt32(this.pos,e&-1,!0),this.dataView.setInt32(this.pos+4,Math.floor(e*_f),!0),this.pos+=8}writeVarint(e){if(e=+e||0,e>=0&&e<128){this.pos>=this.length&&this.realloc(1),this.buf[this.pos++]=e;return}if(e>268435455||e<0){Bv(e,this);return}this.realloc(4),this.buf[this.pos++]=e&127|(e>127?128:0),!(e<=127)&&(this.buf[this.pos++]=(e>>>=7)&127|(e>127?128:0),!(e<=127)&&(this.buf[this.pos++]=(e>>>=7)&127|(e>127?128:0),!(e<=127)&&(this.buf[this.pos++]=e>>>7&127)))}writeSVarint(e){this.writeVarint(e<0?-e*2-1:e*2)}writeBoolean(e){this.writeVarint(+e)}writeString(e){e=String(e),this.realloc(e.length*4),this.pos++;let t=this.pos;this.pos=Gv(this.buf,e,this.pos);let r=this.pos-t;r>=128&&Ef(t,r,this),this.pos=t-1,this.writeVarint(r),this.pos+=r}writeFloat(e){this.realloc(4),this.dataView.setFloat32(this.pos,e,!0),this.pos+=4}writeDouble(e){this.realloc(8),this.dataView.setFloat64(this.pos,e,!0),this.pos+=8}writeBytes(e){let t=e.length;this.writeVarint(t),this.realloc(t),this.buf.set(e,this.pos),this.pos+=t}writeRawMessage(e,t){this.pos++;let r=this.pos;e(t,this);let i=this.pos-r;i>=128&&Ef(r,i,this),this.pos=r-1,this.writeVarint(i),this.pos+=i}writeMessage(e,t,r){this.writeTag(e,2),this.writeRawMessage(t,r)}writePackedVarint(e,t){t.length&&this.writeMessage(e,zv,t)}writePackedSVarint(e,t){t.length&&this.writeMessage(e,Lv,t)}writePackedBoolean(e,t){t.length&&this.writeMessage(e,Rv,t)}writePackedFloat(e,t){t.length&&this.writeMessage(e,Vv,t)}writePackedDouble(e,t){t.length&&this.writeMessage(e,Ov,t)}writePackedFixed32(e,t){t.length&&this.writeMessage(e,$v,t)}writePackedSFixed32(e,t){t.length&&this.writeMessage(e,Nv,t)}writePackedFixed64(e,t){t.length&&this.writeMessage(e,Uv,t)}writePackedSFixed64(e,t){t.length&&this.writeMessage(e,qv,t)}writeBytesField(e,t){this.writeTag(e,2),this.writeBytes(t)}writeFixed32Field(e,t){this.writeTag(e,5),this.writeFixed32(t)}writeSFixed32Field(e,t){this.writeTag(e,5),this.writeSFixed32(t)}writeFixed64Field(e,t){this.writeTag(e,1),this.writeFixed64(t)}writeSFixed64Field(e,t){this.writeTag(e,1),this.writeSFixed64(t)}writeVarintField(e,t){this.writeTag(e,0),this.writeVarint(t)}writeSVarintField(e,t){this.writeTag(e,0),this.writeSVarint(t)}writeStringField(e,t){this.writeTag(e,2),this.writeString(t)}writeFloatField(e,t){this.writeTag(e,5),this.writeFloat(t)}writeDoubleField(e,t){this.writeTag(e,1),this.writeDouble(t)}writeBooleanField(e,t){this.writeVarintField(e,+t)}};function kv(e,t,r){let i=r.buf,n,a;if(a=i[r.pos++],n=(a&112)>>4,a<128||(a=i[r.pos++],n|=(a&127)<<3,a<128)||(a=i[r.pos++],n|=(a&127)<<10,a<128)||(a=i[r.pos++],n|=(a&127)<<17,a<128)||(a=i[r.pos++],n|=(a&127)<<24,a<128)||(a=i[r.pos++],n|=(a&1)<<31,a<128))return Cv(e,n,t);throw Error("Expected varint not more than 10 bytes")}function Cv(e,t,r){return r?t*4294967296+(e>>>0):(t>>>0)*4294967296+(e>>>0)}function Bv(e,t){let r,i;if(e>=0?(r=e%4294967296|0,i=e/4294967296|0):(r=~(-e%4294967296),i=~(-e/4294967296),r^4294967295?r=r+1|0:(r=0,i=i+1|0)),e>=18446744073709552e3||e<-18446744073709552e3)throw Error("Given varint doesn\'t fit into 10 bytes");t.realloc(10),Pv(r,i,t),Mv(i,t)}function Pv(e,t,r){r.buf[r.pos++]=e&127|128,e>>>=7,r.buf[r.pos++]=e&127|128,e>>>=7,r.buf[r.pos++]=e&127|128,e>>>=7,r.buf[r.pos++]=e&127|128,e>>>=7,r.buf[r.pos]=e&127}function Mv(e,t){let r=(e&7)<<4;t.buf[t.pos++]|=r|((e>>>=3)?128:0),e&&(t.buf[t.pos++]=e&127|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=e&127|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=e&127|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=e&127|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=e&127)))))}function Ef(e,t,r){let i=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(Math.LN2*7));r.realloc(i),r.buf.copyWithin(e+i,e,r.pos)}function zv(e,t){let r=e.length,i=t.buf,n=t.pos,a=t.length;for(let s=0;s<r;s++){let o=e[s];if(o<0||n+10>a){t.pos=n,t.writeVarint(o),i=t.buf,n=t.pos,a=t.length;continue}for(;o>127;)i[n++]=o%128|128,o=Math.floor(o/128);i[n++]=o}t.pos=n}function Lv(e,t){for(let r=0;r<e.length;r++)t.writeSVarint(e[r])}function Vv(e,t){for(let r=0;r<e.length;r++)t.writeFloat(e[r])}function Ov(e,t){for(let r=0;r<e.length;r++)t.writeDouble(e[r])}function Rv(e,t){for(let r=0;r<e.length;r++)t.writeBoolean(e[r])}function $v(e,t){for(let r=0;r<e.length;r++)t.writeFixed32(e[r])}function Nv(e,t){for(let r=0;r<e.length;r++)t.writeSFixed32(e[r])}function Uv(e,t){for(let r=0;r<e.length;r++)t.writeFixed64(e[r])}function qv(e,t){for(let r=0;r<e.length;r++)t.writeSFixed64(e[r])}function jv(e,t,r){let i="",n=t;for(;n<r;){let a=e[n],s=null,o=a>239?4:a>223?3:a>191?2:1;if(n+o>r)break;let l,u,h;o===1?a<128&&(s=a):o===2?(l=e[n+1],(l&192)==128&&(s=(a&31)<<6|l&63,s<=127&&(s=null))):o===3?(l=e[n+1],u=e[n+2],(l&192)==128&&(u&192)==128&&(s=(a&15)<<12|(l&63)<<6|u&63,(s<=2047||s>=55296&&s<=57343)&&(s=null))):o===4&&(l=e[n+1],u=e[n+2],h=e[n+3],(l&192)==128&&(u&192)==128&&(h&192)==128&&(s=(a&15)<<18|(l&63)<<12|(u&63)<<6|h&63,(s<=65535||s>=1114112)&&(s=null))),s===null?(s=65533,o=1):s>65535&&(s-=65536,i+=String.fromCharCode(s>>>10&1023|55296),s=56320|s&1023),i+=String.fromCharCode(s),n+=o}return i}function Gv(e,t,r){for(let i=0,n,a;i<t.length;i++){if(n=t.charCodeAt(i),n>55295&&n<57344)if(a){if(n<56320){e[r++]=239,e[r++]=191,e[r++]=189,a=n;continue}n=a-55296<<10|n-56320|65536,a=null}else{n>56319||i+1===t.length?(e[r++]=239,e[r++]=191,e[r++]=189):a=n;continue}else a&&(a=(e[r++]=239,e[r++]=191,e[r++]=189,null));n<128?e[r++]=n:(n<2048?e[r++]=n>>6|192:(n<65536?e[r++]=n>>12|224:(e[r++]=n>>18|240,e[r++]=n>>12&63|128),e[r++]=n>>6&63|128),e[r++]=n&63|128)}return r}function Yv(e){return typeof e?.renderWithWebGL=="function"}function Tf(e){let t=0,r=0;for(let s of e)t+=s.w*s.h,r=Math.max(r,s.w);e.sort((s,o)=>o.h-s.h);let i=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(t/.95)),r),h:1/0}],n=0,a=0;for(let s of e)for(let o=i.length-1;o>=0;o--){let l=i[o];if(!(s.w>l.w||s.h>l.h)){if(s.x=l.x,s.y=l.y,a=Math.max(a,s.y+s.h),n=Math.max(n,s.x+s.w),s.w===l.w&&s.h===l.h){let u=i.pop();u&&o<i.length&&(i[o]=u)}else s.h===l.h?(l.x+=s.w,l.w-=s.w):s.w===l.w?(l.y+=s.h,l.h-=s.h):(i.push({x:l.x+s.w,y:l.y,w:l.w-s.w,h:s.h}),l.y+=s.h,l.h-=s.h);break}}return{w:n,h:a,fill:t/(n*a)||0}}var Ff=class{constructor(e,{pixelRatio:t,version:r,isWebGLImage:i=!1,stretchX:n,stretchY:a,content:s,textFitWidth:o,textFitHeight:l}){this.paddedRect=e,this.pixelRatio=t,this.stretchX=n,this.stretchY=a,this.content=s,this.version=r,this.needsFirstWebGLRender=i,this.textFitWidth=o,this.textFitHeight=l}get tl(){return[this.paddedRect.x+1,this.paddedRect.y+1]}get br(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]}get tlbr(){return this.tl.concat(this.br)}get displaySize(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]}},If=class{constructor(e,t){let r={},i={};this.haveRenderCallbacks=[],this.patchedUpdateVersion=-1;let n=[];this.addImages(e,r,n),this.addImages(t,i,n);let{w:a,h:s}=Tf(n),o=new Qe({width:a||1,height:s||1});for(let l in e){let u=e[l];if(u.isWebGLImage)continue;let h=r[l].paddedRect;Qe.copy(u.data,o,{x:0,y:0},{x:h.x+1,y:h.y+1},u.data)}for(let l in t){let u=t[l],h=i[l].paddedRect,c=h.x+1,p=h.y+1,f=u.data.width,d=u.data.height;Qe.copy(u.data,o,{x:0,y:0},{x:c,y:p},u.data),Qe.copy(u.data,o,{x:0,y:d-1},{x:c,y:p-1},{width:f,height:1}),Qe.copy(u.data,o,{x:0,y:0},{x:c,y:p+d},{width:f,height:1}),Qe.copy(u.data,o,{x:f-1,y:0},{x:c-1,y:p},{width:1,height:d}),Qe.copy(u.data,o,{x:0,y:0},{x:c+f,y:p},{width:1,height:d})}this.image=o,this.iconPositions=r,this.patternPositions=i}addImages(e,t,r){for(let i in e){let n=e[i],a={x:0,y:0,w:n.data.width+2,h:n.data.height+2};r.push(a),t[i]=new Ff(a,n),n.hasRenderCallback&&this.haveRenderCallbacks.push(i)}}patchUpdatedImages(e,t){if(e.dispatchRenderCallbacks(this.haveRenderCallbacks),this.patchedUpdateVersion!==e.updateVersion){this.patchedUpdateVersion=e.updateVersion;for(let r in this.iconPositions)this.patchUpdatedImage(this.iconPositions[r],e.getImage(r),t);for(let r in this.patternPositions)this.patchUpdatedImage(this.patternPositions[r],e.getImage(r),t)}}patchUpdatedImage(e,t,r){if(!e||!t||!e.needsFirstWebGLRender&&e.version===t.version)return;e.needsFirstWebGLRender=!1,e.version=t.version;let[i,n]=e.tl,a=t.userImage?.data;if(!Yv(a)){r.update(t.data,void 0,{x:i,y:n});return}let{width:s,height:o}=t.data;r.context.setCustomLayerDefaults(),a.renderWithWebGL({gl:r.context.gl,texture:r.texture,x:i,y:n,width:s,height:o}),r.context.setDirty()}};C("ImagePosition",Ff),C("ImageAtlas",If);var kf=function(e){return e[e.none=0]="none",e[e.horizontal=1]="horizontal",e[e.vertical=2]="vertical",e[e.horizontalOnly=3]="horizontalOnly",e}(kf||{});function Xv(e){for(let t of e)if(t.positionedGlyphs.length!==0)return!1;return!0}function Wv(e,t){let r=[],i=0;for(let n of t)r.push(e.substring(i,n)),i=n;return i<e.length()&&r.push(e.substring(i,e.length())),r}const Cf=/^\\p{gc=M}$/u;function Zv(e){let t=[],r=0;for(;r<e.length;){if(!Cf.test(e[r])){t.push(r),r++;continue}let i=r;for(;i<e.length&&Cf.test(e[i]);)i++;let n=e[i];if(n!==void 0&&yf(n.codePointAt(0))){t.push(i);for(let a=i-1;a>=r;a--)t.push(a);r=i+1}else{for(let a=r;a<i;a++)t.push(a);r=i}}return t}function Hv(e){let t=[],r=0;for(let i of e.graphemes())t.push(...Array(i.length).fill(e.sectionIndex[r])),r++;return t}function Jv(e,t){let r=t.map(a=>e.toCodeUnitIndex(a)),i=Jr.isParsed()?Jr:null;if(e.sections.length===1)return i?i.processBidirectionalText(e.toString(),r).map(a=>Pf(a,e.sections,[...a].map(()=>0))):Tv(e.toString(),r).map(a=>Il([...a],e.sections,[...a].map(()=>0)));let n=Hv(e);return i?i.processStyledBidirectionalText(e.text,n,r).map(([a,s])=>Pf(a,e.sections,s)):Fv(e.text,n,r).map(([a,s])=>{let o=[...a];return Il(o,e.sections,Bf(o).map(l=>s[l]??0))})}function Il(e,t,r){let i=new El(e.join(""),t,[]),n=0;for(let a of i.graphemes())i.sectionIndex.push(r[n]??0),n+=[...a].length;return i}function Bf(e){let t=[],r=0;for(let i of e)t.push(r),r+=i.length;return t}function Pf(e,t,r){let i=[...e],n=Bf(i),a=Zv(i);return Il(a.map(s=>i[s]),t,a.map(s=>r[n[s]]??0))}function Ba(e,t,r,i,n,a,s,o,l,u,h,c,p,f,d){let y=El.fromFeature(e,n);c===2&&y.verticalizePunctuation();let m=y.determineLineBreaks(u,a,t,i,f),g=mf(y.text)?Jv(y,m):Wv(y,m),x=[],b={positionedLines:x,text:y.toString(),top:h[1],bottom:h[1],left:h[0],right:h[0],writingMode:c,iconsInText:!1,verticalizable:!1};return sb(b,t,r,i,g,s,o,l,c,u,p,d),!Xv(x)&&b}function Mf(e){let t=.5,r=.5;switch(e){case"right":case"top-right":case"bottom-right":t=1;break;case"left":case"top-left":case"bottom-left":t=0}switch(e){case"bottom":case"bottom-right":case"bottom-left":r=1;break;case"top":case"top-right":case"top-left":r=0}return{horizontalAlign:t,verticalAlign:r}}function Kv(e,t,r){let i=t.getMaxScale()*24,{maxImageWidth:n,maxImageHeight:a}=t.getMaxImageSize(e),s=Math.max(i,a*r);return{verticalLineContentWidth:Math.max(i,n*r),horizontalLineContentHeight:s}}function zf(e){switch(e){case"top":return 0;case"center":return .5;default:return 1}}function Qv(e,t,r,i){if(e?.rect)return e;let n=t[r.fontStack]?.[i];return n?{rect:null,metrics:n.metrics}:null}function eb(e,t,r){return!(e===1||!t&&!Ca(r)||t&&(Al(r)||df(r)))}function Pa(e){return/\\p{Nd}/u.test(String.fromCodePoint(e))}function Lf(e){return/\\p{Lu}/u.test(String.fromCodePoint(e))}function tb(e){return/[\\p{P}\\p{S}]/u.test(String.fromCodePoint(e))}function rb(e){let t=e.some(Pa)&&e.every(i=>Pa(i)||tb(i)),r=e.length<=3&&e.every(i=>Lf(i)||Pa(i));return t||r}function ib(e){return(Pa(e)||Lf(e))&&!df(e)}function nb(e,t){let r=!1;for(let i=0;i<e.length;i++){if(t[i])continue;let n=Kr[e[i]];n&&(i===0||t[i-1])&&(i===e.length-1||t[i+1])&&(e[i]=n,t[i]=!0,r=!0)}return r}function ab(e){let t=e.graphemes().slice(),r=t.map(a=>a.codePointAt(0)),i=r.map(Ca),n=a=>!i[a]&&!Al(r[a])&&!("imageName"in e.getSection(a));for(let a=0;a<r.length;a++){if(!n(a))continue;let s=a;for(;s+1<r.length&&n(s+1);)s++;if(rb(r.slice(a,s+1)))for(let o=a;o<=s;o++)i[o]=ib(r[o]);a=s}return nb(t,i)&&(e.text=t.join(""),e._graphemes=null),i}function sb(e,t,r,i,n,a,s,o,l,u,h,c){let p=0,f=0,d=0,y=0,m=o==="right"?1:o==="left"?0:.5,g=24/c,x=0;for(let w of n){w.trim();let _=w.getMaxScale(),A={positionedGlyphs:[],lineOffset:0};e.positionedLines[x]=A;let S=A.positionedGlyphs,F=0;if(!w.length()){f+=a,++x;continue}let V=Kv(i,w,g),z=l===2&&!h?ab(w):null,P=w.graphemes();for(let L=0;L<P.length;L++){let $=w.getSection(L),R=P[L],q=R.codePointAt(0),te=z?z[L]:eb(l,h,q),pe="fontStack"in $&&pf(R)&&!t[$.fontStack]?.[R]?[...R]:[R];for(let fe of pe){let ne={glyph:fe.codePointAt(0),grapheme:fe,imageName:null,x:p,y:f+-17,vertical:te,scale:1,fontStack:"",sectionIndex:w.getSectionIndex(L),metrics:null,rect:null},Oe;if("fontStack"in $){if(Oe=ob($,fe,te,V,t,r),!Oe)continue;ne.fontStack=$.fontStack}else{if(e.iconsInText=!0,$.scale*=g,Oe=lb($,te,_,V,i),!Oe)continue;F=Math.max(F,Oe.imageOffset),ne.imageName=$.imageName}let{rect:Et,metrics:ft,baselineOffset:Lt}=Oe;if(ne.y+=Lt,ne.scale=$.scale,ne.metrics=ft,ne.rect=Et,S.push(ne),!te)p+=ft.advance*$.scale+u;else{e.verticalizable=!0;let We="imageName"in $?ft.advance:24;p+=We*$.scale+u}}}if(S.length!==0){let L=p-u;d=Math.max(L,d),ub(S,0,S.length-1,m)}p=0;let O=(_-1)*24;A.lineOffset=Math.max(F,O);let E=a*_+F;f+=E,y=Math.max(E,y),++x}let{horizontalAlign:b,verticalAlign:v}=Mf(s);hb(e.positionedLines,m,b,v,d,y,a,f,n.length),e.top+=-v*f,e.bottom=e.top+f,e.left+=-b*d,e.right=e.left+d}function ob(e,t,r,i,n,a){let s=a[e.fontStack]?.[t],o=Qv(s,n,e,t);if(o===null)return null;let l;if(r)l=i.verticalLineContentWidth-e.scale*24;else{let u=zf(e.verticalAlign);l=(i.horizontalLineContentHeight-e.scale*24)*u}return{rect:o.rect,metrics:o.metrics,baselineOffset:l}}function lb(e,t,r,i,n){let a=n[e.imageName];if(!a)return null;let s=a.paddedRect,o=a.displaySize,l={width:o[0],height:o[1],left:1,top:-3,advance:t?o[1]:o[0]},u;if(t)u=i.verticalLineContentWidth-o[1]*e.scale;else{let c=zf(e.verticalAlign);u=(i.horizontalLineContentHeight-o[1]*e.scale)*c}let h=(t?o[0]:o[1])*e.scale-24*r;return{rect:s,metrics:l,baselineOffset:u,imageOffset:h}}function ub(e,t,r,i){if(i===0)return;let n=e[r],a=n.metrics.advance*n.scale,s=(e[r].x+a)*i;for(let o=t;o<=r;o++)e[o].x-=s}function hb(e,t,r,i,n,a,s,o,l){let u=(t-r)*n,h=0;h=a===s?-i*l*s+.5*s:-o*i- -17;for(let c of e)for(let p of c.positionedGlyphs)p.x+=u,p.y+=h}function cb(e,t,r){let{horizontalAlign:i,verticalAlign:n}=Mf(r),a=t[0],s=t[1],o=a-e.displaySize[0]*i,l=o+e.displaySize[0],u=s-e.displaySize[1]*n;return{image:e,top:u,bottom:u+e.displaySize[1],left:o,right:l}}function Vf(e){let t=e.left,r=e.top,i=e.right-t,n=e.bottom-r,a=e.image.content[2]-e.image.content[0],s=e.image.content[3]-e.image.content[1],o=e.image.textFitWidth??"stretchOrShrink",l=e.image.textFitHeight??"stretchOrShrink",u=a/s;if(l==="proportional"){if(o==="stretchOnly"&&i/n<u||o==="proportional"){let h=Math.ceil(n*u);t*=h/i,i=h}}else if(o==="proportional"&&l==="stretchOnly"&&u!==0&&i/n>u){let h=Math.ceil(i/u);r*=h/n,n=h}return{x1:t,y1:r,x2:t+i,y2:r+n}}function Of(e,t,r,i,n,a){let s=e.image,o;if(s.content){let m=s.content,g=s.pixelRatio||1;o=[m[0]/g,m[1]/g,s.displaySize[0]-m[2]/g,s.displaySize[1]-m[3]/g]}let l=t.left*a,u=t.right*a,h,c,p,f;r==="width"||r==="both"?(f=n[0]+l-i[3],c=n[0]+u+i[1]):(f=n[0]+(l+u-s.displaySize[0])/2,c=f+s.displaySize[0]);let d=t.top*a,y=t.bottom*a;return r==="height"||r==="both"?(h=n[1]+d-i[0],p=n[1]+y+i[2]):(h=n[1]+(d+y-s.displaySize[1])/2,p=h+s.displaySize[1]),{image:s,top:h,right:c,bottom:p,left:f,collisionPadding:o}}const Rf=32640;function $f(e,t){let{expression:r}=t;if(r.kind==="constant")return{kind:"constant",layoutSize:r.evaluate(new oe(e+1))};if(r.kind==="source")return{kind:"source"};if(r.kind==="composite"){let{minZoom:i,maxZoom:n}=pb(r.zoomStops,e);return{kind:"composite",minZoom:i,maxZoom:n,interpolationType:r.interpolationType}}{let i=fb(r),n=r.evaluate(new oe(e+1));return{kind:"camera",zoomStops:r.zoomStops,sizes:i,layoutSize:n,interpolationType:r.interpolationType}}}function pb(e,t){let r=0;for(;r<e.length&&e[r]<=t;)r++;r=Math.max(0,r-1);let i=r;for(;i<e.length&&e[i]<t+1;)i++;return i=Math.min(e.length-1,i),{minZoom:e[r],maxZoom:e[i]}}function fb(e){return e.zoomStops.map(t=>e.evaluate(new oe(t===-1/0?e.zoomStops[1]-1:t)))}var Qr=class $y extends B{constructor(t,r,i,n){super(t,r),this.angle=i,n!==void 0&&(this.segment=n)}clone(){return new $y(this.x,this.y,this.angle,this.segment)}};C("Anchor",Qr);function Nf(e,t,r,i,n){if(t.segment===void 0||r===0)return!0;let a=t,s=t.segment+1,o=0;for(;o>-r/2;){if(s--,s<0)return!1;o-=e[s].dist(a),a=e[s]}o+=e[s].dist(e[s+1]),s++;let l=[],u=0;for(;o<r/2;){let h=e[s-1],c=e[s],p=e[s+1];if(!p)return!1;let f=h.angleTo(c)-c.angleTo(p);for(f=Math.abs((f+3*Math.PI)%(Math.PI*2)-Math.PI),l.push({distance:o,angleDelta:f}),u+=f;o-l[0].distance>i;)u-=l.shift().angleDelta;if(u>n)return!1;s++,o+=c.dist(p)}return!0}function Uf(e){let t=0;for(let r=0;r<e.length-1;r++)t+=e[r].dist(e[r+1]);return t}function qf(e,t,r){return e?3/5*t*r:0}function jf(e,t){return Math.max(e?e.right-e.left:0,t?t.right-t.left:0)}function db(e,t,r,i,n,a){let s=qf(r,n,a),o=jf(r,i)*a,l=0,u=Uf(e)/2;for(let h=0;h<e.length-1;h++){let c=e[h],p=e[h+1],f=c.dist(p);if(l+f>u){let d=(u-l)/f,y=new Qr(ar.number(c.x,p.x,d),ar.number(c.y,p.y,d),p.angleTo(c),h);return y._round(),!s||Nf(e,y,o,s,t)?y:void 0}l+=f}}function yb(e,t,r,i,n,a,s,o,l){let u=qf(i,a,s),h=jf(i,n),c=h*s,p=e[0].x===0||e[0].x===l||e[0].y===0||e[0].y===l;t-c<t/4&&(t=c+t/4);let f=a*2;return Gf(e,p?t/2*o%t:(h/2+f)*s*o%t,t,u,r,c,p,!1,l)}function Gf(e,t,r,i,n,a,s,o,l){let u=a/2,h=Uf(e),c=0,p=t-r,f=[];for(let d=0;d<e.length-1;d++){let y=e[d],m=e[d+1],g=y.dist(m),x=m.angleTo(y);for(;p+r<c+g;){p+=r;let b=(p-c)/g,v=ar.number(y.x,m.x,b),w=ar.number(y.y,m.y,b);if(v>=0&&v<l&&w>=0&&w<l&&p-u>=0&&p+u<=h){let _=new Qr(v,w,x,d);_._round(),(!i||Nf(e,_,a,i,n))&&f.push(_)}}c+=g}return!o&&!f.length&&!s&&(f=Gf(e,c/2,r,i,n,a,s,!0,l)),f}function mb(e,t,r,i,n){let a=[];for(let s of e){let o;for(let l=0;l<s.length-1;l++){let u=s[l],h=s[l+1];u.x<t&&h.x<t||(u.x<t?u=new B(t,u.y+(h.y-u.y)*((t-u.x)/(h.x-u.x)))._round():h.x<t&&(h=new B(t,u.y+(h.y-u.y)*((t-u.x)/(h.x-u.x)))._round()),!(u.y<r&&h.y<r)&&(u.y<r?u=new B(u.x+(h.x-u.x)*((r-u.y)/(h.y-u.y)),r)._round():h.y<r&&(h=new B(u.x+(h.x-u.x)*((r-u.y)/(h.y-u.y)),r)._round()),!(u.x>=i&&h.x>=i)&&(u.x>=i?u=new B(i,u.y+(h.y-u.y)*((i-u.x)/(h.x-u.x)))._round():h.x>=i&&(h=new B(i,u.y+(h.y-u.y)*((i-u.x)/(h.x-u.x)))._round()),!(u.y>=n&&h.y>=n)&&(u.y>=n?u=new B(u.x+(h.x-u.x)*((n-u.y)/(h.y-u.y)),n)._round():h.y>=n&&(h=new B(u.x+(h.x-u.x)*((n-u.y)/(h.y-u.y)),n)._round()),(!o||!u.equals(o[o.length-1]))&&(o=[u],a.push(o)),o.push(h)))))}}return a}function gb(e,t,r,i,n,a){let s=Yf(e,t,r,n,0);return s=Yf(s,t,i,a,1),s}function Yf(e,t,r,i,n){switch(t){case 1:return xb(e,r,i,n);case 2:return Xf(e,r,i,n,!1);case 3:return Xf(e,r,i,n,!0)}return[]}function xb(e,t,r,i){let n=[];for(let a of e)for(let s of a){let o=i===0?s.x:s.y;o>=t&&o<=r&&n.push([s])}return n}function vb(e,t,r,i,n){let a=i===0?bb:wb,s=[],o=[];for(let h=0;h<e.length-1;h++){let c=e[h],p=e[h+1],f=i===0?c.x:c.y,d=i===0?p.x:p.y,y=!1;f<t?d>t&&s.push(a(c,p,t)):f>r?d<r&&s.push(a(c,p,r)):s.push(c),d<t&&f>=t&&(s.push(a(c,p,t)),y=!0),d>r&&f<=r&&(s.push(a(c,p,r)),y=!0),!n&&y&&(o.push(s),s=[])}let l=e.length-1,u=i===0?e[l].x:e[l].y;return u>=t&&u<=r&&s.push(e[l]),n&&s.length>0&&!s[0].equals(s[s.length-1])&&s.push(new B(s[0].x,s[0].y)),s.length>0&&o.push(s),o}function Xf(e,t,r,i,n){let a=[];for(let s of e){let o=vb(s,t,r,i,n);o.length>0&&a.push(...o)}return a}function bb(e,t,r){let i=(r-e.x)/(t.x-e.x);return new B(r,e.y+(t.y-e.y)*i)}function wb(e,t,r){let i=(r-e.y)/(t.y-e.y);return new B(e.x+(t.x-e.x)*i,r)}function Wf(e,t,r,i){let n=[],a=e.image,s=a.pixelRatio,o=a.paddedRect.w-2,l=a.paddedRect.h-2,u={x1:e.left,y1:e.top,x2:e.right,y2:e.bottom},h=a.stretchX||[[0,o]],c=a.stretchY||[[0,l]],p=(E,L)=>E+L[1]-L[0],f=h.reduce(p,0),d=c.reduce(p,0),y=o-f,m=l-d,g=0,x=f,b=0,v=d,w=0,_=y,A=0,S=m;if(a.content&&i){let E=a.content,L=E[2]-E[0],$=E[3]-E[1];(a.textFitWidth||a.textFitHeight)&&(u=Vf(e)),g=Ma(h,0,E[0]),b=Ma(c,0,E[1]),x=Ma(h,E[0],E[2]),v=Ma(c,E[1],E[3]),w=E[0]-g,A=E[1]-b,_=L-x,S=$-v}let F=u.x1,V=u.y1,z=u.x2-F,P=u.y2-V,O=(E,L,$,R)=>{let q=za(E.stretch-g,x,z,F),te=La(E.fixed-w,_,E.stretch,f),pe=za(L.stretch-b,v,P,V),fe=La(L.fixed-A,S,L.stretch,d),ne=za($.stretch-g,x,z,F),Oe=La($.fixed-w,_,$.stretch,f),Et=za(R.stretch-b,v,P,V),ft=La(R.fixed-A,S,R.stretch,d),Lt=new B(q,pe),We=new B(ne,pe),wr=new B(ne,Et),Dr=new B(q,Et),Kt=new B(te/s,fe/s),li=new B(Oe/s,ft/s),Tt=t*Math.PI/180;if(Tt){let N=Math.sin(Tt),ae=Math.cos(Tt),Z=[ae,-N,N,ae];Lt._matMult(Z),We._matMult(Z),Dr._matMult(Z),wr._matMult(Z)}let Re=E.stretch+E.fixed,Ft=$.stretch+$.fixed,Qt=L.stretch+L.fixed,_r=R.stretch+R.fixed;return{tl:Lt,tr:We,bl:Dr,br:wr,tex:{x:a.paddedRect.x+1+Re,y:a.paddedRect.y+1+Qt,w:Ft-Re,h:_r-Qt},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:Kt,pixelOffsetBR:li,minFontScaleX:_/s/z,minFontScaleY:S/s/P,isSDF:r}};if(!i||!a.stretchX&&!a.stretchY)n.push(O({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:o+1},{fixed:0,stretch:l+1}));else{let E=Zf(h,y,f),L=Zf(c,m,d);for(let $=0;$<E.length-1;$++){let R=E[$],q=E[$+1];for(let te=0;te<L.length-1;te++){let pe=L[te],fe=L[te+1];n.push(O(R,pe,q,fe))}}}return n}function Ma(e,t,r){let i=0;for(let n of e)i+=Math.max(t,Math.min(r,n[1]))-Math.max(t,Math.min(r,n[0]));return i}function Zf(e,t,r){let i=[{fixed:-1,stretch:0}];for(let[n,a]of e){let s=i[i.length-1];i.push({fixed:n-s.stretch,stretch:s.stretch}),i.push({fixed:n-s.stretch,stretch:s.stretch+(a-n)})}return i.push({fixed:t+1,stretch:r}),i}function za(e,t,r,i){return e/t*r+i}function La(e,t,r,i){return e-t*r/i}function Db(e,t,r,i,n,a,s,o){let l=i.layout.get("text-rotate").evaluate(a,{})*Math.PI/180,u=[];for(let h of t.positionedLines)for(let c of h.positionedGlyphs){if(!c.rect)continue;let p=c.rect||{},f=4,d=!0,y=1,m=0,g=(n||o)&&c.vertical,x=c.metrics.advance*c.scale/2;if(o&&t.verticalizable){let R=(c.scale-1)*24,q=(24-c.metrics.width*c.scale)/2;m=h.lineOffset/2-(c.imageName?-q:R)}if(c.imageName){let R=s[c.imageName];d=R.sdf,y=R.pixelRatio,f=1/y}let b=n?[c.x+x,c.y]:[0,0],v=n?[0,0]:[c.x+x+r[0],c.y+r[1]-m],w=[0,0];g&&(w=v,v=[0,0]);let _=c.metrics.isDoubleResolution?2:1,A=(c.metrics.left-f)*c.scale-x+v[0],S=(-c.metrics.top-f)*c.scale+v[1],F=A+p.w/_*c.scale/y,V=S+p.h/_*c.scale/y,z=new B(A,S),P=new B(F,S),O=new B(A,V),E=new B(F,V);if(g){let R=new B(-x,x- -17),q=-Math.PI/2,te=12-x,pe=c.imageName?te:0,fe=new B(22-te,-pe),ne=new B(...w);z._rotateAround(q,R)._add(fe)._add(ne),P._rotateAround(q,R)._add(fe)._add(ne),O._rotateAround(q,R)._add(fe)._add(ne),E._rotateAround(q,R)._add(fe)._add(ne)}if(l){let R=Math.sin(l),q=Math.cos(l),te=[q,-R,R,q];z._matMult(te),P._matMult(te),O._matMult(te),E._matMult(te)}let L=new B(0,0),$=new B(0,0);u.push({tl:z,tr:P,bl:O,br:E,tex:p,writingMode:t.writingMode,glyphOffset:b,sectionIndex:c.sectionIndex,isSDF:d,pixelOffsetTL:L,pixelOffsetBR:$,minFontScaleX:0,minFontScaleY:0})}return u}var Va=class{constructor(e,t,r,i,n,a,s,o,l,u){if(this.boxStartIndex=e.length,l){let h=a.top,c=a.bottom,p=a.collisionPadding;p&&(h-=p[1],c+=p[3]);let f=c-h;f>0&&(f=Math.max(10,f),this.circleDiameter=f)}else{let h=a.image?.content&&(a.image.textFitWidth||a.image.textFitHeight)?Vf(a):{x1:a.left,y1:a.top,x2:a.right,y2:a.bottom};h.y1=h.y1*s-o[0],h.y2=h.y2*s+o[2],h.x1=h.x1*s-o[3],h.x2=h.x2*s+o[1];let c=a.collisionPadding;if(c&&(h.x1-=c[0]*s,h.y1-=c[1]*s,h.x2+=c[2]*s,h.y2+=c[3]*s),u){let p=new B(h.x1,h.y1),f=new B(h.x2,h.y1),d=new B(h.x1,h.y2),y=new B(h.x2,h.y2),m=u*Math.PI/180;p._rotate(m),f._rotate(m),d._rotate(m),y._rotate(m),h.x1=Math.min(p.x,f.x,d.x,y.x),h.x2=Math.max(p.x,f.x,d.x,y.x),h.y1=Math.min(p.y,f.y,d.y,y.y),h.y2=Math.max(p.y,f.y,d.y,y.y)}e.emplaceBack(t.x,t.y,h.x1,h.y1,h.x2,h.y2,r,i,n)}this.boxEndIndex=e.length}},_b=class{constructor(e=[],t=(r,i)=>r<i?-1:+(r>i)){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let r=(this.length>>1)-1;r>=0;r--)this._down(r)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(this.length===0)return;let e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){let{data:t,compare:r}=this,i=t[e];for(;e>0;){let n=e-1>>1,a=t[n];if(r(i,a)>=0)break;t[e]=a,e=n}t[e]=i}_down(e){let{data:t,compare:r}=this,i=this.length>>1,n=t[e];for(;e<i;){let a=(e<<1)+1,s=a+1;if(s<this.length&&r(t[s],t[a])<0&&(a=s),r(t[a],n)>=0)break;t[e]=t[a],e=a}t[e]=n}};function Ab(e,t=1){let r=Sa.fromPoints(e[0]),i=Math.min(r.width(),r.height()),n=i/2,a=new _b([],Sb),{minX:s,minY:o,maxX:l,maxY:u}=r;if(i===0)return new B(s,o);for(let p=s;p<l;p+=i)for(let f=o;f<u;f+=i)a.push(new ei(p+n,f+n,n,e));let h=Tb(e),c=h;for(;a.length;){let p=a.pop();(p.d>c.d||!c.d)&&(c=p),!(p.max-c.d<=t)&&(n=p.h/2,a.push(new ei(p.p.x-n,p.p.y-n,n,e)),a.push(new ei(p.p.x+n,p.p.y-n,n,e)),a.push(new ei(p.p.x-n,p.p.y+n,n,e)),a.push(new ei(p.p.x+n,p.p.y+n,n,e)))}return h.d>0&&c.d-h.d<=t?h.p:c.p}function Sb(e,t){return t.max-e.max}var ei=class{constructor(e,t,r,i){this.p=new B(e,t),this.h=r,this.d=Eb(this.p,i),this.max=this.d+this.h*Math.SQRT2}};function Eb(e,t){let r=!1,i=1/0;for(let n of t)for(let a=0,s=n.length,o=s-1;a<s;o=a++){let l=n[a],u=n[o];l.y>e.y!=u.y>e.y&&e.x<(u.x-l.x)*(e.y-l.y)/(u.y-l.y)+l.x&&(r=!r),i=Math.min(i,Qc(e,l,u))}return(r?1:-1)*Math.sqrt(i)}function Tb(e){let t=0,r=0,i=0,n=e[0];for(let a=0,s=n.length,o=s-1;a<s;o=a++){let l=n[a],u=n[o],h=l.x*u.y-u.x*l.y;r+=(l.x+u.x)*h,i+=(l.y+u.y)*h,t+=h*3}return new ei(r/t,i/t,0,e)}let Fb=function(e){return e[e.center=1]="center",e[e.left=2]="left",e[e.right=3]="right",e[e.top=4]="top",e[e.bottom=5]="bottom",e[e["top-left"]=6]="top-left",e[e["top-right"]=7]="top-right",e[e["bottom-left"]=8]="bottom-left",e[e["bottom-right"]=9]="bottom-right",e}({});const kl=1/0;function Hf(e,t){function r(n,a){let s=0,o=0;a<0&&(a=0);let l=a/Math.SQRT2;switch(n){case"top-right":case"top-left":o=l-7;break;case"bottom-right":case"bottom-left":o=-l+7;break;case"bottom":o=-a+7;break;case"top":o=a-7}switch(n){case"top-right":case"bottom-right":s=-l;break;case"top-left":case"bottom-left":s=l;break;case"left":s=a;break;case"right":s=-a}return[s,o]}function i(n,a,s){let o=0,l=0;switch(a=Math.abs(a),s=Math.abs(s),n){case"top-right":case"top-left":case"top":l=s-7;break;case"bottom-right":case"bottom-left":case"bottom":l=-s+7}switch(n){case"top-right":case"bottom-right":case"right":o=-a;break;case"top-left":case"bottom-left":case"left":o=a}return[o,l]}return t[1]===kl?r(e,t[0]):i(e,t[0],t[1])}function Jf(e,t,r){let i=e.layout,n=i.get("text-variable-anchor-offset")?.evaluate(t,{},r);if(n){let s=n.values,o=[];for(let l=0;l<s.length;l+=2){let u=o[l]=s[l],h=s[l+1].map(c=>c*24);u.startsWith("top")?h[1]-=7:u.startsWith("bottom")&&(h[1]+=7),o[l+1]=h}return new vt(o)}let a=i.get("text-variable-anchor");if(a){let s;s=e._unevaluatedLayout.getValue("text-radial-offset")===void 0?i.get("text-offset").evaluate(t,{},r).map(l=>l*24):[i.get("text-radial-offset").evaluate(t,{},r)*24,kl];let o=[];for(let l of a)o.push(l,Hf(l,s));return new vt(o)}return null}function Ib(e){var t;e.bucket.createArrays();let r=512*e.bucket.overscaling;e.bucket.tilePixelRatio=xe/r,e.bucket.compareText={},e.bucket.iconsNeedLinear=!1;let i=e.bucket.layers[0],n=i.layout,a=i._unevaluatedLayout._values,s={layoutIconSize:a["icon-size"].possiblyEvaluate(new oe(e.bucket.zoom+1),e.canonical),layoutTextSize:a["text-size"].possiblyEvaluate(new oe(e.bucket.zoom+1),e.canonical),textMaxSize:a["text-size"].possiblyEvaluate(new oe(18))};if(e.bucket.textSizeData.kind==="composite"){let{minZoom:c,maxZoom:p}=e.bucket.textSizeData;s.compositeTextSizes=[a["text-size"].possiblyEvaluate(new oe(c),e.canonical),a["text-size"].possiblyEvaluate(new oe(p),e.canonical)]}if(e.bucket.iconSizeData.kind==="composite"){let{minZoom:c,maxZoom:p}=e.bucket.iconSizeData;s.compositeIconSizes=[a["icon-size"].possiblyEvaluate(new oe(c),e.canonical),a["icon-size"].possiblyEvaluate(new oe(p),e.canonical)]}let o=n.get("text-line-height")*24,l=n.get("text-rotation-alignment")!=="viewport"&&n.get("symbol-placement")!=="point",u=n.get("text-keep-upright"),h=n.get("text-size");for(let c of e.bucket.features){let p=n.get("text-font").evaluate(c,{},e.canonical).join(","),f=h.evaluate(c,{},e.canonical),d=s.layoutTextSize.evaluate(c,{},e.canonical),y=s.layoutIconSize.evaluate(c,{},e.canonical),m={horizontal:{},vertical:void 0},g=c.text,x=[0,0];if(g){let _=g.toString(),A=n.get("text-letter-spacing").evaluate(c,{},e.canonical)*24,S=hv(_)?A:0,F=n.get("text-anchor").evaluate(c,{},e.canonical),V=Jf(i,c,e.canonical);if(!V){let E=n.get("text-radial-offset").evaluate(c,{},e.canonical);x=E?Hf(F,[E*24,kl]):n.get("text-offset").evaluate(c,{},e.canonical).map(L=>L*24)}let z=l?"center":n.get("text-justify").evaluate(c,{},e.canonical),P=n.get("symbol-placement")==="point"?n.get("text-max-width").evaluate(c,{},e.canonical)*24:1/0,O=()=>{e.bucket.allowVerticalPlacement&&Sl(_)&&(m.vertical=Ba(g,e.glyphMap,e.glyphPositions,e.imagePositions,p,P,o,F,"left",S,x,2,!0,d,f))};if(!l&&V){let E=new Set;if(z==="auto")for(let $=0;$<V.values.length;$+=2)E.add(Kf(V.values[$]));else E.add(z);let L=!1;for(let $ of E)if(!m.horizontal[$])if(L)m.horizontal[$]=m.horizontal[0];else{let R=Ba(g,e.glyphMap,e.glyphPositions,e.imagePositions,p,P,o,"center",$,S,x,1,!1,d,f);R&&(m.horizontal[$]=R,L=R.positionedLines.length===1)}O()}else{z==="auto"&&(z=Kf(F));let E=Ba(g,e.glyphMap,e.glyphPositions,e.imagePositions,p,P,o,F,z,S,x,1,!1,d,f);E&&(m.horizontal[z]=E),O(),Sl(_)&&l&&u&&(m.vertical=Ba(g,e.glyphMap,e.glyphPositions,e.imagePositions,p,P,o,F,z,S,x,2,!1,d,f))}}let b,v=!1;if(c.icon?.name){let _=e.imageMap[c.icon.name];_&&(b=cb(e.imagePositions[c.icon.name],n.get("icon-offset").evaluate(c,{},e.canonical),n.get("icon-anchor").evaluate(c,{},e.canonical)),v=!!_.sdf,e.bucket.sdfIcons===void 0?e.bucket.sdfIcons=v:e.bucket.sdfIcons!==v&&Ce("Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer"),_.pixelRatio===e.bucket.pixelRatio?n.get("icon-rotate").constantOr(1)!==0&&(e.bucket.iconsNeedLinear=!0):e.bucket.iconsNeedLinear=!0)}let w=ed(m.horizontal)||m.vertical;(t=e.bucket).iconsInText||(t.iconsInText=w?w.iconsInText:!1),(w||b)&&kb(e.bucket,c,m,b,e.imageMap,s,d,y,x,v,e.canonical,e.subdivisionGranularity,e.hasPromoteId)}e.showCollisionBoxes&&e.bucket.generateCollisionDebugBuffers()}function Kf(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 kb(e,t,r,i,n,a,s,o,l,u,h,c,p){let f=a.textMaxSize.evaluate(t,{});f===void 0&&(f=s);let d=e.layers[0].layout,y=d.get("icon-offset").evaluate(t,{},h),m=ed(r.horizontal),g=s/24,x=e.tilePixelRatio*g,b=e.tilePixelRatio*f/24,v=e.tilePixelRatio*o,w=e.tilePixelRatio*d.get("symbol-spacing"),_=d.get("text-padding")*e.tilePixelRatio,A=Ub(d,t,h,e.tilePixelRatio),S=d.get("text-max-angle")/180*Math.PI,F=d.get("text-rotation-alignment")!=="viewport"&&d.get("symbol-placement")!=="point",V=d.get("icon-rotation-alignment").constantOr("viewport")==="map"&&d.get("symbol-placement")!=="point",z=d.get("symbol-placement"),P=w/2,O=d.get("icon-text-fit"),E;i&&O!=="none"&&(e.allowVerticalPlacement&&r.vertical&&(E=Of(i,r.vertical,O,d.get("icon-text-fit-padding"),y,g)),m&&(i=Of(i,m,O,d.get("icon-text-fit-padding"),y,g)));let L=h?c.line.getGranularityForZoomLevel(h.z):1,$=(R,q)=>{q.x<0||q.x>=8192||q.y<0||q.y>=8192||Bb(e,q,R,r,i,n,E,e.layers[0],e.collisionBoxArray,t.index,t.sourceLayerIndex,e.index,x,[_,_,_,_],F,l,v,A,V,y,t,a,u,h,s,p)};if(z==="line")for(let R of mb(t.geometry,0,0,xe,xe)){let q=mr(R,L),te=yb(q,w,S,r.vertical||m,i,24,b,e.overscaling,xe);for(let pe of te){let fe=m;(!fe||!Pb(e,fe.text,P,pe))&&$(q,pe)}}else if(z==="line-center"){for(let R of t.geometry)if(R.length>1){let q=mr(R,L),te=db(q,S,r.vertical||m,i,24,b);te&&$(q,te)}}else if(t.type==="Polygon")for(let R of Yn(t.geometry,0)){let q=Ab(R,16);$(mr(R[0],L,!0),new Qr(q.x,q.y,0))}else if(t.type==="LineString")for(let R of t.geometry){let q=mr(R,L);$(q,new Qr(q[0].x,q[0].y,0))}else if(t.type==="Point")for(let R of t.geometry)for(let q of R)$([q],new Qr(q.x,q.y,0))}function Cb(e,t){let r=e.length,i=t?.values;if(i?.length>0)for(let n=0;n<i.length;n+=2){let a=Fb[i[n]],s=i[n+1];e.emplaceBack(a,s[0],s[1])}return[r,e.length]}function Qf(e,t,r,i,n,a,s,o,l,u,h,c,p,f,d,y){let m=Db(t,r,o,n,a,s,i,e.allowVerticalPlacement),g=e.textSizeData,x=null;g.kind==="source"?(x=[128*n.layout.get("text-size").evaluate(s,{})],x[0]>32640&&Ce(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)):g.kind==="composite"&&(x=[128*d.compositeTextSizes[0].evaluate(s,{},y),128*d.compositeTextSizes[1].evaluate(s,{},y)],(x[0]>32640||x[1]>32640)&&Ce(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)),e.addSymbols(e.text,m,x,o,a,s,h,t,u.lineStartIndex,u.lineLength,f,y,l);for(let b of c)p[b]=e.text.placedSymbolArray.length-1;return m.length*4}function ed(e){for(let t in e)return e[t];return null}function Bb(e,t,r,i,n,a,s,o,l,u,h,c,p,f,d,y,m,g,x,b,v,w,_,A,S,F){let V=e.addToLineVertexArray(t,r),z=o.layout.get("symbol-height-offset").evaluate(v,{},A);z>e.maxHeightOffset&&(e.maxHeightOffset=z);let P,O,E,L,$=0,R=0,q=0,te=0,pe=-1,fe=-1,ne={},Oe=(0,fa.default)("");if(e.allowVerticalPlacement&&i.vertical){let Z=o.layout.get("text-rotate").evaluate(v,{},A)+90,I=i.vertical;E=new Va(l,t,u,h,c,I,p,f,d,Z),s&&(L=new Va(l,t,u,h,c,s,m,g,d,Z))}if(n){let Z=o.layout.get("icon-rotate").evaluate(v,{}),I=o.layout.get("icon-text-fit")!=="none",se=Wf(n,Z,_,I),Y=s?Wf(s,Z,_,I):void 0;O=new Va(l,t,u,h,c,n,m,g,!1,Z),$=se.length*4;let J=e.iconSizeData,G=null;J.kind==="source"?(G=[128*o.layout.get("icon-size").evaluate(v,{})],G[0]>32640&&Ce(`${e.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)):J.kind==="composite"&&(G=[128*w.compositeIconSizes[0].evaluate(v,{},A),128*w.compositeIconSizes[1].evaluate(v,{},A)],(G[0]>32640||G[1]>32640)&&Ce(`${e.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)),e.addSymbols(e.icon,se,G,b,x,v,0,t,V.lineStartIndex,V.lineLength,-1,A,z),pe=e.icon.placedSymbolArray.length-1,Y&&(R=Y.length*4,e.addSymbols(e.icon,Y,G,b,x,v,2,t,V.lineStartIndex,V.lineLength,-1,A,z),fe=e.icon.placedSymbolArray.length-1)}let Et=Object.keys(i.horizontal);for(let Z of Et){let I=i.horizontal[Z];P||(P=(Oe=(0,fa.default)(I.text),new Va(l,t,u,h,c,I,p,f,d,o.layout.get("text-rotate").evaluate(v,{},A))));let se=I.positionedLines.length===1;if(q+=Qf(e,t,I,a,o,d,v,y,z,V,i.vertical?1:3,se?Et:[Z],ne,pe,w,A),se)break}i.vertical&&(te+=Qf(e,t,i.vertical,a,o,d,v,y,z,V,2,["vertical"],ne,fe,w,A));let ft=P?P.boxStartIndex:e.collisionBoxArray.length,Lt=P?P.boxEndIndex:e.collisionBoxArray.length,We=E?E.boxStartIndex:e.collisionBoxArray.length,wr=E?E.boxEndIndex:e.collisionBoxArray.length,Dr=O?O.boxStartIndex:e.collisionBoxArray.length,Kt=O?O.boxEndIndex:e.collisionBoxArray.length,li=L?L.boxStartIndex:e.collisionBoxArray.length,Tt=L?L.boxEndIndex:e.collisionBoxArray.length,Re=-1,Ft=(Z,I)=>Z?.circleDiameter?Math.max(Z.circleDiameter,I):I;Re=Ft(P,Re),Re=Ft(E,Re),Re=Ft(O,Re),Re=Ft(L,Re);let Qt=+(Re>-1);Qt&&(Re*=S/24),e.glyphOffsetArray.length>=e.maxGlyphs&&Ce("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),v.sortKey!==void 0&&e.addToSortKeyRanges(e.symbolInstances.length,v.sortKey);let _r=Jf(o,v,A),[N,ae]=Cb(e.textAnchorOffsets,_r);F&&(Oe=Mb(Oe,v)),e.symbolInstances.emplaceBack(t.x,t.y,ne.right>=0?ne.right:-1,ne.center>=0?ne.center:-1,ne.left>=0?ne.left:-1,ne.vertical||-1,pe,fe,Oe,ft,Lt,We,wr,Dr,Kt,li,Tt,u,q,te,$,R,Qt,0,p,Re,N,ae,z)}function Pb(e,t,r,i){let n=e.compareText;if(!(t in n))n[t]=[];else{let a=n[t];for(let s=a.length-1;s>=0;s--)if(i.dist(a[s])<r)return!0}return n[t].push(i),!1}function Mb(e,t){return t.id==null||t.properties?.cluster?e:(0,fa.default)(String(t.id),e)}function td(e,t,r){let i="never",n=e.get(t);return n?i=n:e.get(r)&&(i="always"),i}const zb=[{name:"a_fade_opacity",components:1,type:"Uint8",offset:0}];function Oa(e,t,r,i,n,a,s,o,l,u,h,c,p,f){let d=o?Math.min(Rf,Math.round(o[0])):0,y=o?Math.min(Rf,Math.round(o[1])):0;e.emplaceBack(t,r,Math.round(i*32),Math.round(n*32),a,s,(d<<1)+ +!!l,y,u*16,h*16,c*256,p*256,f)}function Lb(e,t,r){e.emplaceBack(t.x,t.y,r),e.emplaceBack(t.x,t.y,r),e.emplaceBack(t.x,t.y,r),e.emplaceBack(t.x,t.y,r)}function Vb(e){for(let t of e.sections)if(mf(t.text))return!0;return!1}var Cl=class{constructor(e){this.layoutVertexArray=new X0,this.indexArray=new Xi,this.programConfigurations=e,this.segments=new Ke,this.dynamicLayoutVertexArray=new W0,this.opacityVertexArray=new Z0,this.hasVisibleVertices=!1,this.placedSymbolArray=new Bc}isEmpty(){return this.layoutVertexArray.length===0&&this.indexArray.length===0&&this.dynamicLayoutVertexArray.length===0&&this.opacityVertexArray.length===0}upload(e,t,r,i){this.isEmpty()||(r&&(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,z2.members),this.indexBuffer=e.createIndexBuffer(this.indexArray,t),this.dynamicLayoutVertexBuffer=e.createVertexBuffer(this.dynamicLayoutVertexArray,L2.members,!0),this.opacityVertexBuffer=e.createVertexBuffer(this.opacityVertexArray,zb,!0),this.opacityVertexBuffer.itemSize=1),(r||i)&&this.programConfigurations.upload(e))}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())}};C("SymbolBuffers",Cl);var Bl=class{constructor(e,t,r){this.layoutVertexArray=new e,this.layoutAttributes=t,this.indexArray=new r,this.segments=new Ke,this.collisionVertexArray=new H0}upload(e){this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=e.createVertexBuffer(this.collisionVertexArray,V2.members,!0)}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())}};C("CollisionBuffers",Bl);var rd=class{constructor(e){this.collisionBoxArray=e.collisionBoxArray,this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(s=>s.id),this.index=e.index,this.pixelRatio=e.pixelRatio,this.sourceLayerIndex=e.sourceLayerIndex,this.hasDependencies=!0,this.hasRTLText=!1,this.maxHeightOffset=0,this.sortKeyRanges=[],this.collisionCircleArray=[],this.maxGlyphs=65535;let t=this.layers[0]._unevaluatedLayout._values;this.textSizeData=$f(this.zoom,t["text-size"]),this.iconSizeData=$f(this.zoom,t["icon-size"]);let r=this.layers[0].layout,i=r.get("symbol-sort-key"),n=r.get("symbol-z-order");this.canOverlap=td(r,"text-overlap","text-allow-overlap")!=="never"||td(r,"icon-overlap","icon-allow-overlap")!=="never"||r.get("text-ignore-placement")||r.get("icon-ignore-placement"),this.sortFeaturesByKey=n!=="viewport-y"&&!i.isConstant();let a=n==="viewport-y"||n==="auto"&&!this.sortFeaturesByKey;this.sortFeaturesByY=a&&this.canOverlap,r.get("symbol-placement")==="point"&&(this.writingModes=r.get("text-writing-mode").map(s=>kf[s])),this.stateDependentLayerIds=this.layers.filter(s=>s.isStateDependent()).map(s=>s.id),this.sourceID=e.sourceID}createArrays(){this.text=new Cl(new pr(this.layers,this.zoom,e=>e.startsWith("text"))),this.icon=new Cl(new pr(this.layers,this.zoom,e=>e.startsWith("icon"))),this.glyphOffsetArray=new zc,this.lineVertexArray=new Lc,this.symbolInstances=new Mc,this.textAnchorOffsets=new Oc}calculateGlyphDependencies(e,t,r,i,n){var a;let s=(i||this.allowVerticalPlacement)&&n,o=El.fromFeature(e,r),l=o.graphemes();for(let u=0;u<l.length;u++){let h=o.getSection(u);if("imageName"in h)continue;let c=t[a=h.fontStack]||(t[a]={}),p=l[u];pf(p)&&(c[p]=!0);for(let f of p){if(c[f]=!0,!s)continue;let d=Kr[f];d&&(c[d]=!0)}}}populate(e,t,r){let i=this.layers[0],n=i.layout,a=n.get("text-font"),s=n.get("text-field"),o=n.get("icon-image"),l=(s.value.kind!=="constant"||s.value.value instanceof kt&&!s.value.value.isEmpty()||s.value.value.toString().length>0)&&(a.value.kind!=="constant"||a.value.value.length>0),u=o.value.kind!=="constant"||!!o.value.value||Object.keys(o.parameters).length>0,h=n.get("symbol-sort-key");if(this.features=[],!l&&!u)return;let c=t.iconDependencies,p=t.glyphDependencies,f=t.availableImages,d=new oe(this.zoom);for(let{feature:y,id:m,index:g,sourceLayerIndex:x}of e){let b=i._featureFilter.needGeometry,v=jr(y,b);if(!i._featureFilter.filter(d,v,r))continue;b||(v.geometry=fr(y));let w;if(l){let F=i.getValueAndResolveTokens("text-field",v,r,f),V=kt.factory(F);this.hasRTLText||(this.hasRTLText=Vb(V)),w=sv(V,i,v)}let _;if(u){let F=i.getValueAndResolveTokens("icon-image",v,r,f);_=F instanceof bt?F:bt.fromString(F)}if(!w&&!_)continue;let A=this.sortFeaturesByKey?h.evaluate(v,{},r):void 0,S={id:m,text:w,icon:_,index:g,sourceLayerIndex:x,geometry:v.geometry,properties:y.properties,type:an.types[y.type],sortKey:A};if(this.features.push(S),_&&(c[_.name]=!0),w){let F=a.evaluate(v,{},r).join(","),V=n.get("text-rotation-alignment")!=="viewport"&&n.get("symbol-placement")!=="point";this.allowVerticalPlacement=this.writingModes?.includes(2);let z=Sl(w.toString());this.calculateGlyphDependencies(w,p,F,V,z);for(let P of w.sections)P.image&&(c[P.image.name]=!0)}}n.get("symbol-placement")==="line"&&(this.features=lv(this.features)),this.sortFeaturesByKey&&this.features.sort((y,m)=>y.sortKey-m.sortKey)}update(e,t,r){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(e,t,this.layers,{imagePositions:r}),this.icon.programConfigurations.updatePaintArrays(e,t,this.layers,{imagePositions:r}))}addFeatures({options:e,canonical:t,glyphMap:r,glyphPositions:i,iconMap:n,iconPositions:a,showCollisionBoxes:s}){Ib({bucket:this,glyphMap:r,glyphPositions:i,imageMap:n,imagePositions:a,showCollisionBoxes:s,canonical:t,subdivisionGranularity:e.subdivisionGranularity,hasPromoteId:e.featureIndex.promoteId!=null})}isEmpty(){return this.symbolInstances.length===0}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(e){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(e),this.iconCollisionBox.upload(e)),this.text.upload(e,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(e,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(e,t){let r=this.lineVertexArray.length;if(e.segment!==void 0){let i=e.dist(t[e.segment+1]),n=e.dist(t[e.segment]),a={};for(let s=e.segment+1;s<t.length;s++)a[s]={x:t[s].x,y:t[s].y,tileUnitDistanceFromAnchor:i},s<t.length-1&&(i+=t[s+1].dist(t[s]));for(let s=e.segment||0;s>=0;s--)a[s]={x:t[s].x,y:t[s].y,tileUnitDistanceFromAnchor:n},s>0&&(n+=t[s-1].dist(t[s]));for(let s=0;s<t.length;s++){let o=a[s];this.lineVertexArray.emplaceBack(o.x,o.y,o.tileUnitDistanceFromAnchor)}}return{lineStartIndex:r,lineLength:this.lineVertexArray.length-r}}addSymbols(e,t,r,i,n,a,s,o,l,u,h,c,p){let f=e.indexArray,d=e.layoutVertexArray,y=e.segments.prepareSegment(4*t.length,d,f,this.canOverlap?a.sortKey:void 0),m=this.glyphOffsetArray.length,g=y.vertexLength,x=this.allowVerticalPlacement&&s===2?Math.PI/2:0,b=a.text&&a.text.sections;for(let v=0;v<t.length;v++){let{tl:w,tr:_,bl:A,br:S,tex:F,pixelOffsetTL:V,pixelOffsetBR:z,minFontScaleX:P,minFontScaleY:O,glyphOffset:E,isSDF:L,sectionIndex:$}=t[v],R=y.vertexLength,q=E[1];Oa(d,o.x,o.y,w.x,q+w.y,F.x,F.y,r,L,V.x,V.y,P,O,p),Oa(d,o.x,o.y,_.x,q+_.y,F.x+F.w,F.y,r,L,z.x,V.y,P,O,p),Oa(d,o.x,o.y,A.x,q+A.y,F.x,F.y+F.h,r,L,V.x,z.y,P,O,p),Oa(d,o.x,o.y,S.x,q+S.y,F.x+F.w,F.y+F.h,r,L,z.x,z.y,P,O,p),Lb(e.dynamicLayoutVertexArray,o,x),f.emplaceBack(R,R+2,R+1),f.emplaceBack(R+1,R+2,R+3),y.vertexLength+=4,y.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(E[0]),(v===t.length-1||$!==t[v+1].sectionIndex)&&e.programConfigurations.populatePaintArrays(d.length,a,a.index,{imagePositions:{},canonical:c,formattedSection:b?.[$]})}e.placedSymbolArray.emplaceBack(o.x,o.y,m,this.glyphOffsetArray.length-m,g,l,u,o.segment,r?r[0]:0,r?r[1]:0,i[0],i[1],s,0,!1,0,h,p)}_addCollisionDebugVertex(e,t,r,i,n,a){return t.emplaceBack(0,0),e.emplaceBack(r.x,r.y,i,n,Math.round(a.x),Math.round(a.y))}addCollisionDebugVertices(e,t,r,i,n,a,s){let o=n.segments.prepareSegment(4,n.layoutVertexArray,n.indexArray),l=o.vertexLength,u=n.layoutVertexArray,h=n.collisionVertexArray,c=s.anchorX,p=s.anchorY;this._addCollisionDebugVertex(u,h,a,c,p,new B(e,t)),this._addCollisionDebugVertex(u,h,a,c,p,new B(r,t)),this._addCollisionDebugVertex(u,h,a,c,p,new B(r,i)),this._addCollisionDebugVertex(u,h,a,c,p,new B(e,i)),o.vertexLength+=4;let f=n.indexArray;f.emplaceBack(l,l+1),f.emplaceBack(l+1,l+2),f.emplaceBack(l+2,l+3),f.emplaceBack(l+3,l),o.primitiveLength+=4}addDebugCollisionBoxes(e,t,r,i){for(let n=e;n<t;n++){let a=this.collisionBoxArray.get(n),s=a.x1,o=a.y1,l=a.x2,u=a.y2;this.addCollisionDebugVertices(s,o,l,u,i?this.textCollisionBox:this.iconCollisionBox,a.anchorPoint,r)}}generateCollisionDebugBuffers(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new Bl(Uc,af.members,Po),this.iconCollisionBox=new Bl(Uc,af.members,Po);for(let e=0;e<this.symbolInstances.length;e++){let t=this.symbolInstances.get(e);this.addDebugCollisionBoxes(t.textBoxStartIndex,t.textBoxEndIndex,t,!0),this.addDebugCollisionBoxes(t.verticalTextBoxStartIndex,t.verticalTextBoxEndIndex,t,!0),this.addDebugCollisionBoxes(t.iconBoxStartIndex,t.iconBoxEndIndex,t,!1),this.addDebugCollisionBoxes(t.verticalIconBoxStartIndex,t.verticalIconBoxEndIndex,t,!1)}}_deserializeCollisionBoxesForSymbol(e,t,r,i,n,a,s,o,l){let u={};for(let h=t;h<r;h++){let c=e.get(h);u.textBox={x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2,anchorPointX:c.anchorPointX,anchorPointY:c.anchorPointY},u.textFeatureIndex=c.featureIndex;break}for(let h=i;h<n;h++){let c=e.get(h);u.verticalTextBox={x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2,anchorPointX:c.anchorPointX,anchorPointY:c.anchorPointY},u.verticalTextFeatureIndex=c.featureIndex;break}for(let h=a;h<s;h++){let c=e.get(h);u.iconBox={x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2,anchorPointX:c.anchorPointX,anchorPointY:c.anchorPointY},u.iconFeatureIndex=c.featureIndex;break}for(let h=o;h<l;h++){let c=e.get(h);u.verticalIconBox={x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2,anchorPointX:c.anchorPointX,anchorPointY:c.anchorPointY},u.verticalIconFeatureIndex=c.featureIndex;break}return u}deserializeCollisionBoxes(e){this.collisionArrays=[];for(let t=0;t<this.symbolInstances.length;t++){let r=this.symbolInstances.get(t);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(e,r.textBoxStartIndex,r.textBoxEndIndex,r.verticalTextBoxStartIndex,r.verticalTextBoxEndIndex,r.iconBoxStartIndex,r.iconBoxEndIndex,r.verticalIconBoxStartIndex,r.verticalIconBoxEndIndex))}}hasTextData(){return this.text.segments.get().length>0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(e,t){let r=e.placedSymbolArray.get(t),i=r.vertexStartIndex+r.numGlyphs*4;for(let n=r.vertexStartIndex;n<i;n+=4)e.indexArray.emplaceBack(n,n+2,n+1),e.indexArray.emplaceBack(n+1,n+2,n+3)}getSortedSymbolIndexes(e){if(this.sortedAngle===e&&this.symbolInstanceIndexes!==void 0)return this.symbolInstanceIndexes;let t=Math.sin(e),r=Math.cos(e),i=[],n=[],a=[];for(let s=0;s<this.symbolInstances.length;++s){a.push(s);let o=this.symbolInstances.get(s);i.push(Math.round(t*o.anchorX+r*o.anchorY)|0),n.push(o.featureIndex)}return a.sort((s,o)=>i[s]-i[o]||n[o]-n[s]),a}addToSortKeyRanges(e,t){let r=this.sortKeyRanges[this.sortKeyRanges.length-1];r?.sortKey===t?r.symbolInstanceEnd=e+1:this.sortKeyRanges.push({sortKey:t,symbolInstanceStart:e,symbolInstanceEnd:e+1})}sortFeatures(e){if(this.sortFeaturesByY&&this.sortedAngle!==e&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(e),this.sortedAngle=e,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let t of this.symbolInstanceIndexes){let r=this.symbolInstances.get(t);this.featureSortOrder.push(r.featureIndex);let i=[r.rightJustifiedTextSymbolIndex,r.centerJustifiedTextSymbolIndex,r.leftJustifiedTextSymbolIndex];for(let n=0;n<i.length;n++){let a=i[n];a>=0&&i.indexOf(a)===n&&this.addIndicesForPlacedSymbol(this.text,a)}r.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,r.verticalPlacedTextSymbolIndex),r.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,r.placedIconSymbolIndex),r.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,r.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}};C("SymbolBucket",rd,{omit:["layers","collisionBoxArray","features","compareText"]});function Ob(e,t){return t.replace(/{([^{}]+)}/g,(r,i)=>e&&i in e?String(e[i]):"")}let id;const Rb=()=>id||(id=new je({"symbol-placement":new M(D.layout_symbol["symbol-placement"],"symbol-placement"),"symbol-spacing":new M(D.layout_symbol["symbol-spacing"],"symbol-spacing"),"symbol-avoid-edges":new M(D.layout_symbol["symbol-avoid-edges"],"symbol-avoid-edges"),"symbol-sort-key":new U(D.layout_symbol["symbol-sort-key"],"symbol-sort-key"),"symbol-z-order":new M(D.layout_symbol["symbol-z-order"],"symbol-z-order"),"icon-allow-overlap":new M(D.layout_symbol["icon-allow-overlap"],"icon-allow-overlap"),"icon-overlap":new M(D.layout_symbol["icon-overlap"],"icon-overlap"),"icon-ignore-placement":new M(D.layout_symbol["icon-ignore-placement"],"icon-ignore-placement"),"icon-optional":new M(D.layout_symbol["icon-optional"],"icon-optional"),"icon-rotation-alignment":new U(D.layout_symbol["icon-rotation-alignment"],"icon-rotation-alignment"),"icon-size":new U(D.layout_symbol["icon-size"],"icon-size"),"icon-text-fit":new M(D.layout_symbol["icon-text-fit"],"icon-text-fit"),"icon-text-fit-padding":new M(D.layout_symbol["icon-text-fit-padding"],"icon-text-fit-padding"),"icon-image":new U(D.layout_symbol["icon-image"],"icon-image"),"icon-rotate":new U(D.layout_symbol["icon-rotate"],"icon-rotate"),"icon-padding":new U(D.layout_symbol["icon-padding"],"icon-padding"),"icon-keep-upright":new M(D.layout_symbol["icon-keep-upright"],"icon-keep-upright"),"icon-offset":new U(D.layout_symbol["icon-offset"],"icon-offset"),"icon-anchor":new U(D.layout_symbol["icon-anchor"],"icon-anchor"),"icon-pitch-alignment":new M(D.layout_symbol["icon-pitch-alignment"],"icon-pitch-alignment"),"text-pitch-alignment":new M(D.layout_symbol["text-pitch-alignment"],"text-pitch-alignment"),"text-rotation-alignment":new M(D.layout_symbol["text-rotation-alignment"],"text-rotation-alignment"),"text-field":new U(D.layout_symbol["text-field"],"text-field"),"text-font":new U(D.layout_symbol["text-font"],"text-font"),"text-size":new U(D.layout_symbol["text-size"],"text-size"),"text-max-width":new U(D.layout_symbol["text-max-width"],"text-max-width"),"text-line-height":new M(D.layout_symbol["text-line-height"],"text-line-height"),"text-letter-spacing":new U(D.layout_symbol["text-letter-spacing"],"text-letter-spacing"),"text-justify":new U(D.layout_symbol["text-justify"],"text-justify"),"text-radial-offset":new U(D.layout_symbol["text-radial-offset"],"text-radial-offset"),"text-variable-anchor":new M(D.layout_symbol["text-variable-anchor"],"text-variable-anchor"),"text-variable-anchor-offset":new U(D.layout_symbol["text-variable-anchor-offset"],"text-variable-anchor-offset"),"text-anchor":new U(D.layout_symbol["text-anchor"],"text-anchor"),"text-max-angle":new M(D.layout_symbol["text-max-angle"],"text-max-angle"),"text-writing-mode":new M(D.layout_symbol["text-writing-mode"],"text-writing-mode"),"text-rotate":new U(D.layout_symbol["text-rotate"],"text-rotate"),"text-padding":new M(D.layout_symbol["text-padding"],"text-padding"),"text-keep-upright":new M(D.layout_symbol["text-keep-upright"],"text-keep-upright"),"text-transform":new U(D.layout_symbol["text-transform"],"text-transform"),"text-offset":new U(D.layout_symbol["text-offset"],"text-offset"),"text-allow-overlap":new M(D.layout_symbol["text-allow-overlap"],"text-allow-overlap"),"text-overlap":new M(D.layout_symbol["text-overlap"],"text-overlap"),"text-ignore-placement":new M(D.layout_symbol["text-ignore-placement"],"text-ignore-placement"),"text-optional":new M(D.layout_symbol["text-optional"],"text-optional"),"symbol-height-offset":new U(D.layout_symbol["symbol-height-offset"],"symbol-height-offset"),"symbol-height-anchor":new M(D.layout_symbol["symbol-height-anchor"],"symbol-height-anchor")}));let nd;const $b=()=>nd||(nd=new je({"icon-opacity":new U(D.paint_symbol["icon-opacity"],"icon-opacity"),"icon-color":new U(D.paint_symbol["icon-color"],"icon-color"),"icon-halo-color":new U(D.paint_symbol["icon-halo-color"],"icon-halo-color"),"icon-halo-width":new U(D.paint_symbol["icon-halo-width"],"icon-halo-width"),"icon-halo-blur":new U(D.paint_symbol["icon-halo-blur"],"icon-halo-blur"),"icon-translate":new M(D.paint_symbol["icon-translate"],"icon-translate"),"icon-translate-anchor":new M(D.paint_symbol["icon-translate-anchor"],"icon-translate-anchor"),"text-opacity":new U(D.paint_symbol["text-opacity"],"text-opacity"),"text-color":new U(D.paint_symbol["text-color"],"text-color",{runtimeType:ut,getOverride:e=>e.textColor,hasOverride:e=>!!e.textColor}),"text-halo-color":new U(D.paint_symbol["text-halo-color"],"text-halo-color"),"text-halo-width":new U(D.paint_symbol["text-halo-width"],"text-halo-width"),"text-halo-blur":new U(D.paint_symbol["text-halo-blur"],"text-halo-blur"),"text-translate":new M(D.paint_symbol["text-translate"],"text-translate"),"text-translate-anchor":new M(D.paint_symbol["text-translate-anchor"],"text-translate-anchor")}));var Pl={get paint(){return $b()},get layout(){return Rb()}},ad=class{constructor(e){if(e.property.overrides===void 0)throw Error("overrides must be provided to instantiate FormatSectionOverride class");this.type=e.property.overrides?e.property.overrides.runtimeType:_i,this.defaultValue=e}evaluate(e){if(e.formattedSection){let t=this.defaultValue.property.overrides;if(t?.hasOverride(e.formattedSection))return t.getOverride(e.formattedSection)}return e.feature&&e.featureState?this.defaultValue.evaluate(e.feature,e.featureState):this.defaultValue.property.specification.default}eachChild(e){if(!this.defaultValue.isConstant()){let t=this.defaultValue.value;e(t._styleExpression.expression)}}outputDefined(){return!1}serialize(){return null}};C("FormatSectionOverride",ad,{omit:["defaultValue"]});var Nb=class hu extends ht{constructor(t,r){super(t,Pl,r)}recalculate(t,r){super.recalculate(t,r);let i=this.layout.get("icon-rotation-alignment");if((i.value.kind!=="constant"||i.value.value==="auto")&&(this.layout._values["icon-rotation-alignment"]=new nt(i.property,{kind:"constant",value:this.layout.get("symbol-placement")==="point"?"viewport":"map"},i.parameters)),this.layout.get("text-rotation-alignment")==="auto"&&(this.layout.get("symbol-placement")==="point"?this.layout._values["text-rotation-alignment"]="viewport":this.layout._values["text-rotation-alignment"]="map"),this.layout.get("text-pitch-alignment")==="auto"&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")==="map"?"map":"viewport"),this.layout.get("icon-pitch-alignment")==="auto"&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment").constantOr("viewport")),this.layout.get("symbol-placement")==="point"){let n=this.layout.get("text-writing-mode");if(n){let a=[];for(let s of n)a.includes(s)||a.push(s);this.layout._values["text-writing-mode"]=a}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()}getValueAndResolveTokens(t,r,i,n){let a=this.layout.get(t).evaluate(r,{},i,n),s=this._unevaluatedLayout._values[t];return!s.isDataDriven()&&!ia(s.value)&&a?Ob(r.properties,a):a}createBucket(t){return new rd(t)}queryRadius(){return 0}queryIntersectsFeature(){throw Error("Should take a different path in FeatureIndex")}_setPaintOverrides(){for(let t of Pl.paint.overridableProperties){if(!hu.hasPaintOverride(this.layout,t))continue;let r=this.paint.get(t),i=new to(new ad(r),`layers[${this.id}].paint.${r.property.name}`,r.property.specification),n=null;n=r.value.kind==="constant"||r.value.kind==="source"?new Li("source",i):new na("composite",i,r.value.zoomStops),this.paint._values[t]=new nt(r.property,n,r.parameters)}}_handleOverridablePaintPropertyUpdate(t,r,i){return!this.layout||r.isDataDriven()||i.isDataDriven()?!1:hu.hasPaintOverride(this.layout,t)}static hasPaintOverride(t,r){let i=t.get("text-field"),n=Pl.paint.properties[r],a=!1,s=o=>{for(let l of o)if(n.overrides?.hasOverride(l)){a=!0;return}};if(i.value.kind==="constant"&&i.value.value instanceof kt)s(i.value.value.sections);else if(i.value.kind==="source"||i.value.kind==="composite"){let o=u=>{if(!a)if(u instanceof Mr&&we(u.value)===Ai){let h=u.value;s(h.sections)}else u instanceof ch?s(u.sections):u.eachChild(o)},l=i.value;l._styleExpression&&o(l._styleExpression.expression)}return a}};function Ub(e,t,r,i=1){let n=e.get("icon-padding").evaluate(t,{},r)?.values;return[n[0]*i,n[1]*i,n[2]*i,n[3]*i]}let sd;const qb=()=>sd||(sd=new je({"background-color":new M(D.paint_background["background-color"],"background-color"),"background-pattern":new Dc(D.paint_background["background-pattern"],"background-pattern"),"background-opacity":new M(D.paint_background["background-opacity"],"background-opacity")}));var jb={get paint(){return qb()}},Gb=class extends ht{constructor(e,t){super(e,jb,t)}},Yb=class extends ht{constructor(e,t){super(e,{},t),this.onAdd=r=>{this.implementation.onAdd&&this.implementation.onAdd(r,r.painter.context.gl)},this.onRemove=r=>{this.implementation.onRemove&&this.implementation.onRemove(r,r.painter.context.gl)},this.implementation=e}is3D(){return this.implementation.renderingMode==="3d"}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw Error("Custom layers cannot be serialized")}};function Xb(e,t){if(e.type==="custom")return new Yb(e,t);switch(e.type){case"background":return new Gb(e,t);case"circle":return new Ag(e,t);case"color-relief":return new zg(e,t);case"fill":return new dx(e,t);case"fill-extrusion":return new Ox(e,t);case"heatmap":return new Ig(e,t);case"hillshade":return new Bg(e,t);case"line":return new M2(e,t);case"raster":return new O0(e,t);case"symbol":return new Nb(e,t)}}var Wb=class{constructor(e){this._methodToThrottle=e,this._triggered=!1,this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle()}}trigger(){this._triggered||(this._triggered=!0,this._channel?.port1.postMessage(!0))}remove(){delete this._channel,this._methodToThrottle=()=>{}}};const Zb={once:!0};var Hb=class{constructor(e,t){this.target=e,this.mapId=t,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new Wb(()=>this.process()),this.subscription=Gu(this.target,"message",r=>this.receive(r),!1),this.globalScope=kr(self)?e:window}registerMessageHandler(e,t){this.messageHandlers[e]=t}unregisterMessageHandler(e){delete this.messageHandlers[e]}sendAsync(e,t){return new Promise((r,i)=>{let n=Math.round(Math.random()*1e18).toString(36).substring(0,10),a=t?Gu(t.signal,"abort",()=>{a?.unsubscribe(),delete this.resolveRejects[n];let l={id:n,type:"<cancel>",origin:location.origin,targetMapId:e.targetMapId,sourceMapId:this.mapId};this.target.postMessage(l),i(new Ss(t.signal.reason))},Zb):null;this.resolveRejects[n]={resolve:l=>{a?.unsubscribe(),r(l)},reject:l=>{a?.unsubscribe(),i(l)}};let s=[],o={...e,id:n,sourceMapId:this.mapId,origin:location.origin,data:$i(e.data,s)};this.target.postMessage(o,{transfer:s})})}receive(e){let t=e.data,r=t.id,i=["file://","resource://android","null"],n=[t.origin,location.origin],a=t.origin===location.origin,s=n.some(o=>i.includes(o));if((a||s)&&!(t.targetMapId&&this.mapId!==t.targetMapId)){if(t.type==="<cancel>"){delete this.tasks[r];let o=this.abortControllers[r];delete this.abortControllers[r],o&&o.abort();return}if(kr(self)||t.mustQueue){this.tasks[r]=t,this.taskQueue.push(r),this.invoker.trigger();return}this.processTask(r,t)}}process(){if(this.taskQueue.length===0)return;let e=this.taskQueue.shift(),t=this.tasks[e];delete this.tasks[e],this.taskQueue.length>0&&this.invoker.trigger(),t&&this.processTask(e,t)}async processTask(e,t){if(t.type==="<response>"){let n=this.resolveRejects[e];if(delete this.resolveRejects[e],!n)return;t.error?n.reject(Ln(Ni(t.error))):n.resolve(Ni(t.data));return}if(!this.messageHandlers[t.type]){this.completeTask(e,null,null);return}let r=Ni(t.data),i=new AbortController;this.abortControllers[e]=i;try{let n=await this.messageHandlers[t.type](t.sourceMapId,r,i);this.completeTask(e,null,n)}catch(n){this.completeTask(e,Ln(n))}}completeTask(e,t,r){let i=[];delete this.abortControllers[e];let n={id:e,type:"<response>",sourceMapId:this.mapId,origin:location.origin,error:t?$i(t):null,data:$i(r,i)};this.target.postMessage(n,{transfer:i})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}};function Jb(e,t,r){return!(e<0||e>25||r<0||r>=2**e||t<0||t>=2**e)}var od=class{constructor(e,t,r){if(!Jb(e,t,r))throw Error(`x=${t}, y=${r}, z=${e} outside of bounds. 0<=x<${2**e}, 0<=y<${2**e} 0<=z<=25 `);this.z=e,this.x=t,this.y=r,this.key=hn(0,e,e,t,r)}equals(e){return this.z===e.z&&this.x===e.x&&this.y===e.y}url(e,t,r){let i=Qb(this.x,this.y,this.z),n=ew(this.z,this.x,this.y);return e[(this.x+this.y)%e.length].replace(/{prefix}/g,(this.x%16).toString(16)+(this.y%16).toString(16)).replace(/{z}/g,String(this.z)).replace(/{x}/g,String(this.x)).replace(/{y}/g,String(r==="tms"?2**this.z-this.y-1:this.y)).replace(/{ratio}/g,t>1?"@2x":"").replace(/{quadkey}/g,n).replace(/{bbox-epsg-3857}/g,i)}isChildOf(e){let t=this.z-e.z;return t>0&&e.x===this.x>>t&&e.y===this.y>>t}getTilePoint(e){let t=2**this.z;return new B((e.x*t-this.x)*xe,(e.y*t-this.y)*xe)}toString(){return`${this.z}/${this.x}/${this.y}`}},Kb=class{constructor(e,t){this.wrap=e,this.canonical=t,this.key=hn(e,t.z,t.z,t.x,t.y)}},ld=class st{constructor(t,r,i,n,a){if(this.terrainRttPosMatrix32f=null,t<i)throw Error(`overscaledZ should be >= z; overscaledZ = ${t}; z = ${i}`);this.overscaledZ=t,this.wrap=r,this.canonical=new od(i,+n,+a),this.key=hn(r,t,i,n,a)}clone(){return new st(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)}scaledTo(t){if(t>this.overscaledZ)throw Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);let r=this.canonical.z-t;return t>this.canonical.z?new st(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new st(t,this.wrap,t,this.canonical.x>>r,this.canonical.y>>r)}isOverscaled(){return this.overscaledZ>this.canonical.z}calculateScaledKey(t,r){if(t>this.overscaledZ)throw Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);let i=this.canonical.z-t;return t>this.canonical.z?hn(this.wrap*+r,t,this.canonical.z,this.canonical.x,this.canonical.y):hn(this.wrap*+r,t,t,this.canonical.x>>i,this.canonical.y>>i)}isChildOf(t){if(t.wrap!==this.wrap||this.overscaledZ-t.overscaledZ<=0)return!1;if(t.overscaledZ===0)return this.overscaledZ>0;let r=this.canonical.z-t.canonical.z;return r<0?!1:t.canonical.x===this.canonical.x>>r&&t.canonical.y===this.canonical.y>>r}children(t){if(this.overscaledZ>=t)return[new st(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let r=this.canonical.z+1,i=this.canonical.x*2,n=this.canonical.y*2;return[new st(r,this.wrap,r,i,n),new st(r,this.wrap,r,i+1,n),new st(r,this.wrap,r,i,n+1),new st(r,this.wrap,r,i+1,n+1)]}isLessThan(t){return this.wrap<t.wrap?!0:this.wrap>t.wrap?!1:this.overscaledZ<t.overscaledZ?!0:this.overscaledZ>t.overscaledZ?!1:this.canonical.x<t.canonical.x?!0:this.canonical.x>t.canonical.x?!1:this.canonical.y<t.canonical.y}wrapped(){return new st(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)}unwrapTo(t){return new st(this.overscaledZ,t,this.canonical.z,this.canonical.x,this.canonical.y)}overscaleFactor(){return 2**(this.overscaledZ-this.canonical.z)}toUnwrapped(){return new Kb(this.wrap,this.canonical)}toString(){return`${this.overscaledZ}/${this.canonical.x}/${this.canonical.y}`}getTilePoint(t){return this.canonical.getTilePoint(new al(t.x-this.wrap,t.y))}normalizeCoordinates(t,r,i=xe){if(t>=0&&t<i&&r>=0&&r<i)return{tileID:this,x:t,y:r};let n=Math.floor(t/i),a=Math.floor(r/i),s=t-n*i,o=r-a*i,l=this.canonical.z,u=1<<l,h=this.canonical.y+a;if(h<0||h>=u)return null;let c=this.canonical.x+n,p=this.wrap;return c<0?(p-=Math.ceil(-c/u),c=(c%u+u)%u):c>=u&&(p+=Math.floor(c/u),c%=u),{tileID:new st(this.overscaledZ,p,l,c,h),x:s,y:o}}};function hn(e,t,r,i,n){e*=2,e<0&&(e=e*-1-1);let a=1<<r;return(a*a*e+a*n+i).toString(36)+r.toString(36)+t.toString(36)}const Ml=Math.PI*6378137;function Qb(e,t,r){t=2**r-t-1;let i=ud(e*256,t*256,r),n=ud((e+1)*256,(t+1)*256,r);return`${i[0]},${i[1]},${n[0]},${n[1]}`}function ud(e,t,r){let i=2*Ml/256/2**r;return[e*i-Ml,t*i-Ml]}function ew(e,t,r){let i="";for(let n=e;n>0;n--){let a=1<<n-1;i+=(t&a?1:0)+(r&a?2:0)}return i}C("CanonicalTileID",od),C("OverscaledTileID",ld,{omit:["terrainRttPosMatrix32f"]});var tw=class{constructor(e,t){this.feature=e,this.type=e.type,this.properties=e.tags?e.tags:{},this.extent=t,"id"in e&&(typeof e.id=="string"?this.id=parseInt(e.id,10):typeof e.id=="number"&&!isNaN(e.id)&&(this.id=e.id))}loadGeometry(){let e=[],t=this.feature.type===1?[this.feature.geometry]:this.feature.geometry;for(let r of t){let i=[];for(let n of r)i.push(new B(n[0],n[1]));e.push(i)}return e}};const zl="_geojsonTileLayer";var rw=class{constructor(e,t){this.layers={[zl]:this},this.name=zl,this.version=t?t.version:1,this.extent=t?t.extent:4096,this.length=e.length,this.features=e}feature(e){return new tw(this.features[e],this.extent)}};function hd(e,t=""){let r=new Iv;return iw(e,r,t),r.finish()}function iw(e,t,r=""){for(let i in e.layers)t.writeMessage(3,(n,a)=>nw(n,a,r),e.layers[i])}function nw(e,t,r=""){t.writeVarintField(15,e.version||1),t.writeStringField(1,e.name||""),t.writeVarintField(5,e.extent||4096);let i={jsonPrefix:r,keys:[],values:[],keycache:{},valuecache:{}};for(let s=0;s<e.length;s++)i.feature=e.feature(s),t.writeMessage(2,aw,i);let n=i.keys;for(let s of n)t.writeStringField(3,s);let a=i.values;for(let s of a)t.writeMessage(4,lw,s)}function aw(e,t){if(!e.feature)return;let r=e.feature;r.id!==void 0&&t.writeVarintField(1,r.id),t.writeMessage(2,sw,e),t.writeVarintField(3,r.type),t.writeMessage(4,ow,r)}function sw(e,t){for(let r in e.feature?.properties){let i=e.feature.properties[r],n=e.keycache[r];if(i==null)continue;n===void 0&&(e.keys.push(r),n=e.keys.length-1,e.keycache[r]=n),t.writeVarint(n),typeof i!="string"&&typeof i!="boolean"&&typeof i!="number"&&(i=e.jsonPrefix+JSON.stringify(i));let a=typeof i+":"+i,s=e.valuecache[a];s===void 0&&(e.values.push(i),s=e.values.length-1,e.valuecache[a]=s),t.writeVarint(s)}}function Ll(e,t){return(t<<3)+(e&7)}function cd(e){return e<<1^e>>31}function ow(e,t){let r=e.loadGeometry(),i=e.type,n=0,a=0;for(let s of r){let o=1;i===1&&(o=s.length),t.writeVarint(Ll(1,o));let l=i===3?s.length-1:s.length;for(let u=0;u<l;u++){u===1&&i!==1&&t.writeVarint(Ll(2,l-1));let h=s[u].x-n,c=s[u].y-a;t.writeVarint(cd(h)),t.writeVarint(cd(c)),n+=h,a+=c}e.type===3&&t.writeVarint(Ll(7,1))}}function lw(e,t){let r=typeof e;r==="string"?t.writeStringField(1,e):r==="boolean"?t.writeBooleanField(7,e):r==="number"&&(e%1==0?e<0?t.writeSVarintField(6,e):t.writeVarintField(5,e):t.writeDoubleField(3,e))}var pd=class{constructor(e){this._stringToNumber={},this._numberToString=[];for(let t=0;t<e.length;t++){let r=e[t];this._stringToNumber[r]=t,this._numberToString[t]=r}}encode(e){return this._stringToNumber[e]}decode(e){if(e>=this._numberToString.length)throw Error(`Out of bounds. Index requested n=${e} can\'t be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[e]}},uw=class{constructor(e,t,r,i,n){this.type="Feature",this._vectorTileFeature=e,this._x=r,this._y=i,this._z=t;for(let a in e.properties)typeof e.properties[a]=="string"&&e.properties[a].startsWith("__$json__:")&&(e.properties[a]=JSON.parse(e.properties[a].slice(10)));this.properties=e.properties,this.id=n}projectPoint(e,t,r,i){return[(e.x+t)*360/i-180,360/Math.PI*Math.atan(Math.exp((1-(e.y+r)*2/i)*Math.PI))-90]}projectLine(e,t,r,i){return e.map(n=>this.projectPoint(n,t,r,i))}get geometry(){if(this._geometry)return this._geometry;let e=this._vectorTileFeature,t=e.extent*2**this._z,r=e.extent*this._x,i=e.extent*this._y,n=e.loadGeometry();switch(e.type){case 1:{let a=[];for(let o of n)a.push(o[0]);let s=this.projectLine(a,r,i,t);this._geometry=a.length===1?{type:"Point",coordinates:s[0]}:{type:"MultiPoint",coordinates:s};break}case 2:{let a=n.map(s=>this.projectLine(s,r,i,t));this._geometry=a.length===1?{type:"LineString",coordinates:a[0]}:{type:"MultiLineString",coordinates:a};break}case 3:{let a=Ep(n),s=[];for(let o of a)s.push(o.map(l=>this.projectLine(l,r,i,t)));this._geometry=s.length===1?{type:"Polygon",coordinates:s[0]}:{type:"MultiPolygon",coordinates:s};break}default:throw Error(`unknown feature type: ${e.type}`)}return this._geometry}set geometry(e){this._geometry=e}toJSON(){let e={geometry:this.geometry};for(let t in this)t!=="_geometry"&&t!=="_vectorTileFeature"&&t!=="_x"&&t!=="_y"&&t!=="_z"&&(e[t]=this[t]);return e}},gr=class{constructor(e,t,r){this._name=e,this.dataBuffer=t,typeof r=="number"?this._size=r:(this.nullabilityBuffer=r,this._size=r.size())}getValue(e){return this.nullabilityBuffer&&!this.nullabilityBuffer.get(e)?null:this.getValueFromBuffer(e)}has(e){return this.nullabilityBuffer?.get(e)||!this.nullabilityBuffer}get name(){return this._name}get size(){return this._size}},Ra=class extends gr{},Vl=class extends Ra{getValueFromBuffer(e){return this.dataBuffer[e]}},Ol=class extends Ra{getValueFromBuffer(e){return this.dataBuffer[e]}},fd=class extends gr{constructor(e,t,r,i){super(e,t,i),this.delta=r}},Rl=class extends fd{constructor(e,t,r,i,n){super(e,n?Int32Array.of(t):Uint32Array.of(t),r,i)}getValueFromBuffer(e){return this.dataBuffer[0]+e*this.delta}},$l=class extends gr{constructor(e,t,r,i){super(e,i?Int32Array.of(t):Uint32Array.of(t),r)}getValueFromBuffer(e){return this.dataBuffer[0]}},hw=class{constructor(e,t,r,i,n=4096){if(this._name=e,this._geometryVector=t,this._idVector=r,this._propertyVectors=i,this._extent=n,e.length===0)throw Error("Missing layer name")}get name(){return this._name}get idVector(){return this._idVector}get geometryVector(){return this._geometryVector}get propertyVectors(){return this._propertyVectors??[]}getPropertyVector(e){return this.propertyVectorsMap||(this.propertyVectorsMap=new Map(this.propertyVectors.map(t=>[t.name,t]))),this.propertyVectorsMap.get(e)}get numFeatures(){return this.geometryVector.numGeometries}get extent(){return this._extent}getFeatures(){let e=[],t=this.geometryVector.getGeometries();for(let r=0;r<this.numFeatures;r++){let i;if(this.idVector){let s=this.idVector.getValue(r);s!==null&&(i=this.containsMaxSafeIntegerValues(this.idVector)?Number(s):s)}let n={coordinates:t[r],type:this.geometryVector.geometryType(r)},a={};for(let s of this.propertyVectors){if(!s)continue;let o=s.name,l=s.getValue(r);l!==null&&(a[o]=l)}e.push({id:i,geometry:n,properties:a})}return e}containsMaxSafeIntegerValues(e){return e instanceof Vl||e instanceof $l||e instanceof Rl||e instanceof Ol}};const cn={FEATURE:0},ee={BOOLEAN:0,INT_8:1,UINT_8:2,INT_32:3,UINT_32:4,INT_64:5,UINT_64:6,FLOAT:7,DOUBLE:8,STRING:9},Wt={GEOMETRY:0,STRUCT:1,MAP:2},dd={ID:0};var yd=class{constructor(e){this.value=e}get(){return this.value}set(e){this.value=e}increment(){return this.value++}add(e){this.value+=e}},W;(function(e){e.NONE="NONE",e.DELTA="DELTA",e.COMPONENTWISE_DELTA="COMPONENTWISE_DELTA",e.RLE="RLE",e.MORTON="MORTON"})(W||(W={}));var et;(function(e){e.NONE="NONE",e.FAST_PFOR="FAST_PFOR",e.VARINT="VARINT"})(et||(et={}));const Nl=new Uint32Array(33);Nl[0]=0;for(let e=1;e<=32;e++)Nl[e]=e===32?4294967295:4294967295>>>32-e;const Ul=Nl,md=65536;function ql(e,t){return e-e%t}function cw(e){return ql(e+31,32)}function pw(e){if(!Number.isFinite(e)||e<=0)return md;let t=ql(Math.floor(e),256);return t===0?256:t}function fw(e){let t=e>>>0;return((t&255)<<24|(t&65280)<<8|t>>>8&65280|t>>>24&255)>>>0}function dw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0;r[n++]=a>>>0&3,r[n++]=a>>>2&3,r[n++]=a>>>4&3,r[n++]=a>>>6&3,r[n++]=a>>>8&3,r[n++]=a>>>10&3,r[n++]=a>>>12&3,r[n++]=a>>>14&3,r[n++]=a>>>16&3,r[n++]=a>>>18&3,r[n++]=a>>>20&3,r[n++]=a>>>22&3,r[n++]=a>>>24&3,r[n++]=a>>>26&3,r[n++]=a>>>28&3,r[n++]=a>>>30&3,r[n++]=s>>>0&3,r[n++]=s>>>2&3,r[n++]=s>>>4&3,r[n++]=s>>>6&3,r[n++]=s>>>8&3,r[n++]=s>>>10&3,r[n++]=s>>>12&3,r[n++]=s>>>14&3,r[n++]=s>>>16&3,r[n++]=s>>>18&3,r[n++]=s>>>20&3,r[n++]=s>>>22&3,r[n++]=s>>>24&3,r[n++]=s>>>26&3,r[n++]=s>>>28&3,r[n]=s>>>30&3}function yw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0;r[n++]=a>>>0&7,r[n++]=a>>>3&7,r[n++]=a>>>6&7,r[n++]=a>>>9&7,r[n++]=a>>>12&7,r[n++]=a>>>15&7,r[n++]=a>>>18&7,r[n++]=a>>>21&7,r[n++]=a>>>24&7,r[n++]=a>>>27&7,r[n++]=(a>>>30|(s&1)<<2)&7,r[n++]=s>>>1&7,r[n++]=s>>>4&7,r[n++]=s>>>7&7,r[n++]=s>>>10&7,r[n++]=s>>>13&7,r[n++]=s>>>16&7,r[n++]=s>>>19&7,r[n++]=s>>>22&7,r[n++]=s>>>25&7,r[n++]=s>>>28&7,r[n++]=(s>>>31|(o&3)<<1)&7,r[n++]=o>>>2&7,r[n++]=o>>>5&7,r[n++]=o>>>8&7,r[n++]=o>>>11&7,r[n++]=o>>>14&7,r[n++]=o>>>17&7,r[n++]=o>>>20&7,r[n++]=o>>>23&7,r[n++]=o>>>26&7,r[n]=o>>>29&7}function mw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0,l=e[t+3]>>>0;r[n++]=a>>>0&15,r[n++]=a>>>4&15,r[n++]=a>>>8&15,r[n++]=a>>>12&15,r[n++]=a>>>16&15,r[n++]=a>>>20&15,r[n++]=a>>>24&15,r[n++]=a>>>28&15,r[n++]=s>>>0&15,r[n++]=s>>>4&15,r[n++]=s>>>8&15,r[n++]=s>>>12&15,r[n++]=s>>>16&15,r[n++]=s>>>20&15,r[n++]=s>>>24&15,r[n++]=s>>>28&15,r[n++]=o>>>0&15,r[n++]=o>>>4&15,r[n++]=o>>>8&15,r[n++]=o>>>12&15,r[n++]=o>>>16&15,r[n++]=o>>>20&15,r[n++]=o>>>24&15,r[n++]=o>>>28&15,r[n++]=l>>>0&15,r[n++]=l>>>4&15,r[n++]=l>>>8&15,r[n++]=l>>>12&15,r[n++]=l>>>16&15,r[n++]=l>>>20&15,r[n++]=l>>>24&15,r[n]=l>>>28&15}function gw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0,l=e[t+3]>>>0,u=e[t+4]>>>0;r[n++]=a>>>0&31,r[n++]=a>>>5&31,r[n++]=a>>>10&31,r[n++]=a>>>15&31,r[n++]=a>>>20&31,r[n++]=a>>>25&31,r[n++]=(a>>>30|(s&7)<<2)&31,r[n++]=s>>>3&31,r[n++]=s>>>8&31,r[n++]=s>>>13&31,r[n++]=s>>>18&31,r[n++]=s>>>23&31,r[n++]=(s>>>28|(o&1)<<4)&31,r[n++]=o>>>1&31,r[n++]=o>>>6&31,r[n++]=o>>>11&31,r[n++]=o>>>16&31,r[n++]=o>>>21&31,r[n++]=o>>>26&31,r[n++]=(o>>>31|(l&15)<<1)&31,r[n++]=l>>>4&31,r[n++]=l>>>9&31,r[n++]=l>>>14&31,r[n++]=l>>>19&31,r[n++]=l>>>24&31,r[n++]=(l>>>29|(u&3)<<3)&31,r[n++]=u>>>2&31,r[n++]=u>>>7&31,r[n++]=u>>>12&31,r[n++]=u>>>17&31,r[n++]=u>>>22&31,r[n]=u>>>27&31}function xw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0,l=e[t+3]>>>0,u=e[t+4]>>>0,h=e[t+5]>>>0;r[n++]=a>>>0&63,r[n++]=a>>>6&63,r[n++]=a>>>12&63,r[n++]=a>>>18&63,r[n++]=a>>>24&63,r[n++]=(a>>>30|(s&15)<<2)&63,r[n++]=s>>>4&63,r[n++]=s>>>10&63,r[n++]=s>>>16&63,r[n++]=s>>>22&63,r[n++]=(s>>>28|(o&3)<<4)&63,r[n++]=o>>>2&63,r[n++]=o>>>8&63,r[n++]=o>>>14&63,r[n++]=o>>>20&63,r[n++]=o>>>26&63,r[n++]=l>>>0&63,r[n++]=l>>>6&63,r[n++]=l>>>12&63,r[n++]=l>>>18&63,r[n++]=l>>>24&63,r[n++]=(l>>>30|(u&15)<<2)&63,r[n++]=u>>>4&63,r[n++]=u>>>10&63,r[n++]=u>>>16&63,r[n++]=u>>>22&63,r[n++]=(u>>>28|(h&3)<<4)&63,r[n++]=h>>>2&63,r[n++]=h>>>8&63,r[n++]=h>>>14&63,r[n++]=h>>>20&63,r[n]=h>>>26&63}function vw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0,l=e[t+3]>>>0,u=e[t+4]>>>0,h=e[t+5]>>>0,c=e[t+6]>>>0;r[n++]=a>>>0&127,r[n++]=a>>>7&127,r[n++]=a>>>14&127,r[n++]=a>>>21&127,r[n++]=(a>>>28|(s&7)<<4)&127,r[n++]=s>>>3&127,r[n++]=s>>>10&127,r[n++]=s>>>17&127,r[n++]=s>>>24&127,r[n++]=(s>>>31|(o&63)<<1)&127,r[n++]=o>>>6&127,r[n++]=o>>>13&127,r[n++]=o>>>20&127,r[n++]=(o>>>27|(l&3)<<5)&127,r[n++]=l>>>2&127,r[n++]=l>>>9&127,r[n++]=l>>>16&127,r[n++]=l>>>23&127,r[n++]=(l>>>30|(u&31)<<2)&127,r[n++]=u>>>5&127,r[n++]=u>>>12&127,r[n++]=u>>>19&127,r[n++]=(u>>>26|(h&1)<<6)&127,r[n++]=h>>>1&127,r[n++]=h>>>8&127,r[n++]=h>>>15&127,r[n++]=h>>>22&127,r[n++]=(h>>>29|(c&15)<<3)&127,r[n++]=c>>>4&127,r[n++]=c>>>11&127,r[n++]=c>>>18&127,r[n]=c>>>25&127}function bw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0,l=e[t+3]>>>0,u=e[t+4]>>>0,h=e[t+5]>>>0,c=e[t+6]>>>0,p=e[t+7]>>>0;r[n++]=a>>>0&255,r[n++]=a>>>8&255,r[n++]=a>>>16&255,r[n++]=a>>>24&255,r[n++]=s>>>0&255,r[n++]=s>>>8&255,r[n++]=s>>>16&255,r[n++]=s>>>24&255,r[n++]=o>>>0&255,r[n++]=o>>>8&255,r[n++]=o>>>16&255,r[n++]=o>>>24&255,r[n++]=l>>>0&255,r[n++]=l>>>8&255,r[n++]=l>>>16&255,r[n++]=l>>>24&255,r[n++]=u>>>0&255,r[n++]=u>>>8&255,r[n++]=u>>>16&255,r[n++]=u>>>24&255,r[n++]=h>>>0&255,r[n++]=h>>>8&255,r[n++]=h>>>16&255,r[n++]=h>>>24&255,r[n++]=c>>>0&255,r[n++]=c>>>8&255,r[n++]=c>>>16&255,r[n++]=c>>>24&255,r[n++]=p>>>0&255,r[n++]=p>>>8&255,r[n++]=p>>>16&255,r[n]=p>>>24&255}function ww(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0,l=e[t+3]>>>0,u=e[t+4]>>>0,h=e[t+5]>>>0,c=e[t+6]>>>0,p=e[t+7]>>>0,f=e[t+8]>>>0;r[n++]=a>>>0&511,r[n++]=a>>>9&511,r[n++]=a>>>18&511,r[n++]=(a>>>27|(s&15)<<5)&511,r[n++]=s>>>4&511,r[n++]=s>>>13&511,r[n++]=s>>>22&511,r[n++]=(s>>>31|(o&255)<<1)&511,r[n++]=o>>>8&511,r[n++]=o>>>17&511,r[n++]=(o>>>26|(l&7)<<6)&511,r[n++]=l>>>3&511,r[n++]=l>>>12&511,r[n++]=l>>>21&511,r[n++]=(l>>>30|(u&127)<<2)&511,r[n++]=u>>>7&511,r[n++]=u>>>16&511,r[n++]=(u>>>25|(h&3)<<7)&511,r[n++]=h>>>2&511,r[n++]=h>>>11&511,r[n++]=h>>>20&511,r[n++]=(h>>>29|(c&63)<<3)&511,r[n++]=c>>>6&511,r[n++]=c>>>15&511,r[n++]=(c>>>24|(p&1)<<8)&511,r[n++]=p>>>1&511,r[n++]=p>>>10&511,r[n++]=p>>>19&511,r[n++]=(p>>>28|(f&31)<<4)&511,r[n++]=f>>>5&511,r[n++]=f>>>14&511,r[n]=f>>>23&511}function Dw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0,l=e[t+3]>>>0,u=e[t+4]>>>0,h=e[t+5]>>>0,c=e[t+6]>>>0,p=e[t+7]>>>0,f=e[t+8]>>>0,d=e[t+9]>>>0;r[n++]=a>>>0&1023,r[n++]=a>>>10&1023,r[n++]=a>>>20&1023,r[n++]=(a>>>30|(s&255)<<2)&1023,r[n++]=s>>>8&1023,r[n++]=s>>>18&1023,r[n++]=(s>>>28|(o&63)<<4)&1023,r[n++]=o>>>6&1023,r[n++]=o>>>16&1023,r[n++]=(o>>>26|(l&15)<<6)&1023,r[n++]=l>>>4&1023,r[n++]=l>>>14&1023,r[n++]=(l>>>24|(u&3)<<8)&1023,r[n++]=u>>>2&1023,r[n++]=u>>>12&1023,r[n++]=u>>>22&1023,r[n++]=h>>>0&1023,r[n++]=h>>>10&1023,r[n++]=h>>>20&1023,r[n++]=(h>>>30|(c&255)<<2)&1023,r[n++]=c>>>8&1023,r[n++]=c>>>18&1023,r[n++]=(c>>>28|(p&63)<<4)&1023,r[n++]=p>>>6&1023,r[n++]=p>>>16&1023,r[n++]=(p>>>26|(f&15)<<6)&1023,r[n++]=f>>>4&1023,r[n++]=f>>>14&1023,r[n++]=(f>>>24|(d&3)<<8)&1023,r[n++]=d>>>2&1023,r[n++]=d>>>12&1023,r[n]=d>>>22&1023}function _w(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0,l=e[t+3]>>>0,u=e[t+4]>>>0,h=e[t+5]>>>0,c=e[t+6]>>>0,p=e[t+7]>>>0,f=e[t+8]>>>0,d=e[t+9]>>>0,y=e[t+10]>>>0;r[n++]=a>>>0&2047,r[n++]=a>>>11&2047,r[n++]=(a>>>22|(s&1)<<10)&2047,r[n++]=s>>>1&2047,r[n++]=s>>>12&2047,r[n++]=(s>>>23|(o&3)<<9)&2047,r[n++]=o>>>2&2047,r[n++]=o>>>13&2047,r[n++]=(o>>>24|(l&7)<<8)&2047,r[n++]=l>>>3&2047,r[n++]=l>>>14&2047,r[n++]=(l>>>25|(u&15)<<7)&2047,r[n++]=u>>>4&2047,r[n++]=u>>>15&2047,r[n++]=(u>>>26|(h&31)<<6)&2047,r[n++]=h>>>5&2047,r[n++]=h>>>16&2047,r[n++]=(h>>>27|(c&63)<<5)&2047,r[n++]=c>>>6&2047,r[n++]=c>>>17&2047,r[n++]=(c>>>28|(p&127)<<4)&2047,r[n++]=p>>>7&2047,r[n++]=p>>>18&2047,r[n++]=(p>>>29|(f&255)<<3)&2047,r[n++]=f>>>8&2047,r[n++]=f>>>19&2047,r[n++]=(f>>>30|(d&511)<<2)&2047,r[n++]=d>>>9&2047,r[n++]=d>>>20&2047,r[n++]=(d>>>31|(y&1023)<<1)&2047,r[n++]=y>>>10&2047,r[n]=y>>>21&2047}function Aw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0,l=e[t+3]>>>0,u=e[t+4]>>>0,h=e[t+5]>>>0,c=e[t+6]>>>0,p=e[t+7]>>>0,f=e[t+8]>>>0,d=e[t+9]>>>0,y=e[t+10]>>>0,m=e[t+11]>>>0;r[n++]=a>>>0&4095,r[n++]=a>>>12&4095,r[n++]=(a>>>24|(s&15)<<8)&4095,r[n++]=s>>>4&4095,r[n++]=s>>>16&4095,r[n++]=(s>>>28|(o&255)<<4)&4095,r[n++]=o>>>8&4095,r[n++]=o>>>20&4095,r[n++]=l>>>0&4095,r[n++]=l>>>12&4095,r[n++]=(l>>>24|(u&15)<<8)&4095,r[n++]=u>>>4&4095,r[n++]=u>>>16&4095,r[n++]=(u>>>28|(h&255)<<4)&4095,r[n++]=h>>>8&4095,r[n++]=h>>>20&4095,r[n++]=c>>>0&4095,r[n++]=c>>>12&4095,r[n++]=(c>>>24|(p&15)<<8)&4095,r[n++]=p>>>4&4095,r[n++]=p>>>16&4095,r[n++]=(p>>>28|(f&255)<<4)&4095,r[n++]=f>>>8&4095,r[n++]=f>>>20&4095,r[n++]=d>>>0&4095,r[n++]=d>>>12&4095,r[n++]=(d>>>24|(y&15)<<8)&4095,r[n++]=y>>>4&4095,r[n++]=y>>>16&4095,r[n++]=(y>>>28|(m&255)<<4)&4095,r[n++]=m>>>8&4095,r[n]=m>>>20&4095}function Sw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0,l=e[t+3]>>>0,u=e[t+4]>>>0,h=e[t+5]>>>0,c=e[t+6]>>>0,p=e[t+7]>>>0,f=e[t+8]>>>0,d=e[t+9]>>>0,y=e[t+10]>>>0,m=e[t+11]>>>0,g=e[t+12]>>>0,x=e[t+13]>>>0,b=e[t+14]>>>0,v=e[t+15]>>>0;r[n++]=a>>>0&65535,r[n++]=a>>>16&65535,r[n++]=s>>>0&65535,r[n++]=s>>>16&65535,r[n++]=o>>>0&65535,r[n++]=o>>>16&65535,r[n++]=l>>>0&65535,r[n++]=l>>>16&65535,r[n++]=u>>>0&65535,r[n++]=u>>>16&65535,r[n++]=h>>>0&65535,r[n++]=h>>>16&65535,r[n++]=c>>>0&65535,r[n++]=c>>>16&65535,r[n++]=p>>>0&65535,r[n++]=p>>>16&65535,r[n++]=f>>>0&65535,r[n++]=f>>>16&65535,r[n++]=d>>>0&65535,r[n++]=d>>>16&65535,r[n++]=y>>>0&65535,r[n++]=y>>>16&65535,r[n++]=m>>>0&65535,r[n++]=m>>>16&65535,r[n++]=g>>>0&65535,r[n++]=g>>>16&65535,r[n++]=x>>>0&65535,r[n++]=x>>>16&65535,r[n++]=b>>>0&65535,r[n++]=b>>>16&65535,r[n++]=v>>>0&65535,r[n]=v>>>16&65535}function Ew(e,t,r,i){let n=i,a=t;for(let s=0;s<8;s++){let o=e[a++]>>>0;r[n++]=o>>>0&1,r[n++]=o>>>1&1,r[n++]=o>>>2&1,r[n++]=o>>>3&1,r[n++]=o>>>4&1,r[n++]=o>>>5&1,r[n++]=o>>>6&1,r[n++]=o>>>7&1,r[n++]=o>>>8&1,r[n++]=o>>>9&1,r[n++]=o>>>10&1,r[n++]=o>>>11&1,r[n++]=o>>>12&1,r[n++]=o>>>13&1,r[n++]=o>>>14&1,r[n++]=o>>>15&1,r[n++]=o>>>16&1,r[n++]=o>>>17&1,r[n++]=o>>>18&1,r[n++]=o>>>19&1,r[n++]=o>>>20&1,r[n++]=o>>>21&1,r[n++]=o>>>22&1,r[n++]=o>>>23&1,r[n++]=o>>>24&1,r[n++]=o>>>25&1,r[n++]=o>>>26&1,r[n++]=o>>>27&1,r[n++]=o>>>28&1,r[n++]=o>>>29&1,r[n++]=o>>>30&1,r[n++]=o>>>31&1}}function Tw(e,t,r,i){let n=i,a=t;for(let s=0;s<8;s++){let o=e[a++]>>>0,l=e[a++]>>>0;r[n++]=o>>>0&3,r[n++]=o>>>2&3,r[n++]=o>>>4&3,r[n++]=o>>>6&3,r[n++]=o>>>8&3,r[n++]=o>>>10&3,r[n++]=o>>>12&3,r[n++]=o>>>14&3,r[n++]=o>>>16&3,r[n++]=o>>>18&3,r[n++]=o>>>20&3,r[n++]=o>>>22&3,r[n++]=o>>>24&3,r[n++]=o>>>26&3,r[n++]=o>>>28&3,r[n++]=o>>>30&3,r[n++]=l>>>0&3,r[n++]=l>>>2&3,r[n++]=l>>>4&3,r[n++]=l>>>6&3,r[n++]=l>>>8&3,r[n++]=l>>>10&3,r[n++]=l>>>12&3,r[n++]=l>>>14&3,r[n++]=l>>>16&3,r[n++]=l>>>18&3,r[n++]=l>>>20&3,r[n++]=l>>>22&3,r[n++]=l>>>24&3,r[n++]=l>>>26&3,r[n++]=l>>>28&3,r[n++]=l>>>30&3}}function Fw(e,t,r,i){let n=i,a=t;for(let s=0;s<8;s++){let o=e[a++]>>>0,l=e[a++]>>>0,u=e[a++]>>>0;r[n++]=o>>>0&7,r[n++]=o>>>3&7,r[n++]=o>>>6&7,r[n++]=o>>>9&7,r[n++]=o>>>12&7,r[n++]=o>>>15&7,r[n++]=o>>>18&7,r[n++]=o>>>21&7,r[n++]=o>>>24&7,r[n++]=o>>>27&7,r[n++]=(o>>>30|(l&1)<<2)&7,r[n++]=l>>>1&7,r[n++]=l>>>4&7,r[n++]=l>>>7&7,r[n++]=l>>>10&7,r[n++]=l>>>13&7,r[n++]=l>>>16&7,r[n++]=l>>>19&7,r[n++]=l>>>22&7,r[n++]=l>>>25&7,r[n++]=l>>>28&7,r[n++]=(l>>>31|(u&3)<<1)&7,r[n++]=u>>>2&7,r[n++]=u>>>5&7,r[n++]=u>>>8&7,r[n++]=u>>>11&7,r[n++]=u>>>14&7,r[n++]=u>>>17&7,r[n++]=u>>>20&7,r[n++]=u>>>23&7,r[n++]=u>>>26&7,r[n++]=u>>>29&7}}function Iw(e,t,r,i){let n=i,a=t;for(let s=0;s<8;s++){let o=e[a++]>>>0,l=e[a++]>>>0,u=e[a++]>>>0,h=e[a++]>>>0;r[n++]=o>>>0&15,r[n++]=o>>>4&15,r[n++]=o>>>8&15,r[n++]=o>>>12&15,r[n++]=o>>>16&15,r[n++]=o>>>20&15,r[n++]=o>>>24&15,r[n++]=o>>>28&15,r[n++]=l>>>0&15,r[n++]=l>>>4&15,r[n++]=l>>>8&15,r[n++]=l>>>12&15,r[n++]=l>>>16&15,r[n++]=l>>>20&15,r[n++]=l>>>24&15,r[n++]=l>>>28&15,r[n++]=u>>>0&15,r[n++]=u>>>4&15,r[n++]=u>>>8&15,r[n++]=u>>>12&15,r[n++]=u>>>16&15,r[n++]=u>>>20&15,r[n++]=u>>>24&15,r[n++]=u>>>28&15,r[n++]=h>>>0&15,r[n++]=h>>>4&15,r[n++]=h>>>8&15,r[n++]=h>>>12&15,r[n++]=h>>>16&15,r[n++]=h>>>20&15,r[n++]=h>>>24&15,r[n++]=h>>>28&15}}function kw(e,t,r,i){let n=i,a=t;for(let s=0;s<8;s++){let o=e[a++]>>>0,l=e[a++]>>>0,u=e[a++]>>>0,h=e[a++]>>>0,c=e[a++]>>>0;r[n++]=o>>>0&31,r[n++]=o>>>5&31,r[n++]=o>>>10&31,r[n++]=o>>>15&31,r[n++]=o>>>20&31,r[n++]=o>>>25&31,r[n++]=(o>>>30|(l&7)<<2)&31,r[n++]=l>>>3&31,r[n++]=l>>>8&31,r[n++]=l>>>13&31,r[n++]=l>>>18&31,r[n++]=l>>>23&31,r[n++]=(l>>>28|(u&1)<<4)&31,r[n++]=u>>>1&31,r[n++]=u>>>6&31,r[n++]=u>>>11&31,r[n++]=u>>>16&31,r[n++]=u>>>21&31,r[n++]=u>>>26&31,r[n++]=(u>>>31|(h&15)<<1)&31,r[n++]=h>>>4&31,r[n++]=h>>>9&31,r[n++]=h>>>14&31,r[n++]=h>>>19&31,r[n++]=h>>>24&31,r[n++]=(h>>>29|(c&3)<<3)&31,r[n++]=c>>>2&31,r[n++]=c>>>7&31,r[n++]=c>>>12&31,r[n++]=c>>>17&31,r[n++]=c>>>22&31,r[n++]=c>>>27&31}}function Cw(e,t,r,i){let n=i,a=t;for(let s=0;s<8;s++){let o=e[a++]>>>0,l=e[a++]>>>0,u=e[a++]>>>0,h=e[a++]>>>0,c=e[a++]>>>0,p=e[a++]>>>0;r[n++]=o>>>0&63,r[n++]=o>>>6&63,r[n++]=o>>>12&63,r[n++]=o>>>18&63,r[n++]=o>>>24&63,r[n++]=(o>>>30|(l&15)<<2)&63,r[n++]=l>>>4&63,r[n++]=l>>>10&63,r[n++]=l>>>16&63,r[n++]=l>>>22&63,r[n++]=(l>>>28|(u&3)<<4)&63,r[n++]=u>>>2&63,r[n++]=u>>>8&63,r[n++]=u>>>14&63,r[n++]=u>>>20&63,r[n++]=u>>>26&63,r[n++]=h>>>0&63,r[n++]=h>>>6&63,r[n++]=h>>>12&63,r[n++]=h>>>18&63,r[n++]=h>>>24&63,r[n++]=(h>>>30|(c&15)<<2)&63,r[n++]=c>>>4&63,r[n++]=c>>>10&63,r[n++]=c>>>16&63,r[n++]=c>>>22&63,r[n++]=(c>>>28|(p&3)<<4)&63,r[n++]=p>>>2&63,r[n++]=p>>>8&63,r[n++]=p>>>14&63,r[n++]=p>>>20&63,r[n++]=p>>>26&63}}function Bw(e,t,r,i){let n=i,a=t;for(let s=0;s<8;s++){let o=e[a++]>>>0,l=e[a++]>>>0,u=e[a++]>>>0,h=e[a++]>>>0,c=e[a++]>>>0,p=e[a++]>>>0,f=e[a++]>>>0;r[n++]=o>>>0&127,r[n++]=o>>>7&127,r[n++]=o>>>14&127,r[n++]=o>>>21&127,r[n++]=(o>>>28|(l&7)<<4)&127,r[n++]=l>>>3&127,r[n++]=l>>>10&127,r[n++]=l>>>17&127,r[n++]=l>>>24&127,r[n++]=(l>>>31|(u&63)<<1)&127,r[n++]=u>>>6&127,r[n++]=u>>>13&127,r[n++]=u>>>20&127,r[n++]=(u>>>27|(h&3)<<5)&127,r[n++]=h>>>2&127,r[n++]=h>>>9&127,r[n++]=h>>>16&127,r[n++]=h>>>23&127,r[n++]=(h>>>30|(c&31)<<2)&127,r[n++]=c>>>5&127,r[n++]=c>>>12&127,r[n++]=c>>>19&127,r[n++]=(c>>>26|(p&1)<<6)&127,r[n++]=p>>>1&127,r[n++]=p>>>8&127,r[n++]=p>>>15&127,r[n++]=p>>>22&127,r[n++]=(p>>>29|(f&15)<<3)&127,r[n++]=f>>>4&127,r[n++]=f>>>11&127,r[n++]=f>>>18&127,r[n++]=f>>>25&127}}function Pw(e,t,r,i){let n=i,a=t;for(let s=0;s<8;s++){let o=e[a++]>>>0,l=e[a++]>>>0,u=e[a++]>>>0,h=e[a++]>>>0,c=e[a++]>>>0,p=e[a++]>>>0,f=e[a++]>>>0,d=e[a++]>>>0;r[n++]=o>>>0&255,r[n++]=o>>>8&255,r[n++]=o>>>16&255,r[n++]=o>>>24&255,r[n++]=l>>>0&255,r[n++]=l>>>8&255,r[n++]=l>>>16&255,r[n++]=l>>>24&255,r[n++]=u>>>0&255,r[n++]=u>>>8&255,r[n++]=u>>>16&255,r[n++]=u>>>24&255,r[n++]=h>>>0&255,r[n++]=h>>>8&255,r[n++]=h>>>16&255,r[n++]=h>>>24&255,r[n++]=c>>>0&255,r[n++]=c>>>8&255,r[n++]=c>>>16&255,r[n++]=c>>>24&255,r[n++]=p>>>0&255,r[n++]=p>>>8&255,r[n++]=p>>>16&255,r[n++]=p>>>24&255,r[n++]=f>>>0&255,r[n++]=f>>>8&255,r[n++]=f>>>16&255,r[n++]=f>>>24&255,r[n++]=d>>>0&255,r[n++]=d>>>8&255,r[n++]=d>>>16&255,r[n++]=d>>>24&255}}function Mw(e,t,r,i){let n=i,a=t;for(let s=0;s<128;s++){let o=e[a++]>>>0;r[n++]=o&65535,r[n++]=o>>>16&65535}}function zw(e,t,r,i,n){let a=Ul[n]>>>0,s=t,o=0,l=e[s]>>>0,u=i;for(let h=0;h<8;h++){for(let c=0;c<32;c++)if(o+n<=32){let p=l>>>o&a;r[u+c]=p|0,o+=n,o===32&&(o=0,s++,c!==31&&(l=e[s]>>>0))}else{let p=32-o,f=l>>>o;s++,l=e[s]>>>0;let d=n-p,y=-1>>>32-d>>>0,m=(f|(l&y)<<p)&a;r[u+c]=m|0,o=d}u+=32,o=0,h<7&&(l=e[s]>>>0)}}const jl=pw(md),Lw=3*jl/256+jl|0;function gd(){let e=new Uint8Array(Lw);return{dataToBePacked:Array(33),dataPointers:new Int32Array(33),byteContainer:e,byteContainerI32:new Int32Array(e.buffer,e.byteOffset,e.byteLength>>>2),exceptionSizes:new Int32Array(33)}}function Vw(e=16){if(e<0)throw RangeError(`initialEncodedWordCapacity must be >= 0, got ${e}`);let t=Math.max(16,e|0);return{encodedWords:new Uint32Array(t),decoderWorkspace:gd()}}function Ow(e,t){if(t<=e.encodedWords.length)return e.encodedWords;let r=new Uint32Array(Math.max(16,t*2));return e.encodedWords=r,r}function Rw(e,t,r,i){i.byteContainer.length<r&&(i.byteContainer=new Uint8Array(r*2),i.byteContainerI32=void 0);let n=i.byteContainer,a=r>>>2;if(n.byteOffset&3)for(let o=0;o<a;o=o+1|0){let l=e[t+o|0]|0,u=o<<2;n[u]=l&255,n[u+1|0]=l>>>8&255,n[u+2|0]=l>>>16&255,n[u+3|0]=l>>>24&255}else{let o=i.byteContainerI32;(!o||o.buffer!==n.buffer||o.byteOffset!==n.byteOffset||o.length<a)&&(o=i.byteContainerI32=new Int32Array(n.buffer,n.byteOffset,n.byteLength>>>2)),o.set(e.subarray(t,t+a))}let s=r&3;if(s>0){let o=e[t+a|0]|0,l=a<<2;for(let u=0;u<s;u=u+1|0)n[l+u|0]=o>>>(u<<3)&255}return n}function $w(e,t,r){let i=e[t++]|0,n=r.dataToBePacked;for(let a=2;a<=32;a=a+1|0){if(!(i>>>a-1&1))continue;if(t>=e.length)throw Error(`FastPFOR decode: truncated exception stream header (bitWidth=${a}, streamWordIndex=${t}, needWords=1, availableWords=${e.length-t}, encodedWords=${e.length})`);let s=e[t++]>>>0,o=cw(s),l=s*a+31>>>5;if(t+l>e.length)throw Error(`FastPFOR decode: truncated exception stream (bitWidth=${a}, size=${s}, streamWordIndex=${t}, needWords=${l}, availableWords=${e.length-t}, encodedWords=${e.length})`);let u=n[a];(!u||u.length<o)&&(u=n[a]=new Uint32Array(o));let h=0;for(;h<s;h=h+32|0)Hw(e,t,u,h,a),t=t+a|0;let c=h-s|0;t=t-(c*a>>>5)|0,r.exceptionSizes[a]=s}return t}function Nw(e,t,r,i,n){switch(n){case 1:Ew(e,t,r,i);break;case 2:Tw(e,t,r,i);break;case 3:Fw(e,t,r,i);break;case 4:Iw(e,t,r,i);break;case 5:kw(e,t,r,i);break;case 6:Cw(e,t,r,i);break;case 7:Bw(e,t,r,i);break;case 8:Pw(e,t,r,i);break;case 16:Mw(e,t,r,i);break;default:zw(e,t,r,i,n)}return t+(n<<3)|0}function Uw(e,t,r,i){if(r+2>t)throw Error(`FastPFOR decode: byteContainer underflow at block=${i} (need 2 bytes for [bitWidth, exceptionCount], bytePos=${r}, byteSize=${t})`);let n=e[r++],a=e[r++];if(n>32)throw Error(`FastPFOR decode: invalid bitWidth=${n} at block=${i} (expected 0..32). This likely indicates corrupted or truncated input.`);return{bitWidth:n,exceptionCount:a,bytePosIn:r}}function qw(e,t,r,i,n,a){if(r+1>t)throw Error(`FastPFOR decode: exception header underflow at block=${a} (need 1 byte for maxBits, bytePos=${r}, byteSize=${t})`);let s=e[r++];if(s<i||s>32)throw Error(`FastPFOR decode: invalid maxBits=${s} at block=${a} (bitWidth=${i}, expected ${i}..32)`);let o=s-i|0;if(o<1||o>32)throw Error(`FastPFOR decode: invalid exceptionBitWidth=${o} at block=${a} (bitWidth=${i}, maxBits=${s})`);if(r+n>t)throw Error(`FastPFOR decode: exception positions underflow at block=${a} (need=${n}, have=${t-r})`);return{maxBits:s,exceptionBitWidth:o,bytePosIn:r}}function jw(e,t,r,i,n,a,s,o,l){let{maxBits:u,exceptionBitWidth:h,bytePosIn:c}=qw(n,a,s,r,i,l);if(s=c,h===1){let m=1<<r;for(let g=0;g<i;g=g+1|0){let x=n[s++];e[x+t|0]|=m}return s}let p=o.dataToBePacked[h];if(!p)throw Error(`FastPFOR decode: missing exception stream for exceptionBitWidth=${h} (bitWidth=${r}, maxBits=${u}) at block ${l}`);let f=o.dataPointers,d=f[h]|0,y=o.exceptionSizes[h]|0;if(d+i>y)throw Error(`FastPFOR decode: exception stream overflow for exceptionBitWidth=${h} (ptr=${d}, need ${i}, size=${y}) at block ${l}`);for(let m=0;m<i;m=m+1|0){let g=n[s++],x=p[d++]|0;e[g+t|0]|=x<<r}return f[h]=d,s}function Gw(e,t,r,i,n,a,s,o,l,u){let h=r|0,c=0;for(let p=0;p<s;p=p+1|0){let f=Uw(o,l,c,p);c=f.bytePosIn;let d=f.bitWidth,y=f.exceptionCount,m=a+p*256|0;switch(d){case 0:n.fill(0,m,m+256);break;case 32:for(let g=0;g<256;g=g+1|0)n[m+g|0]=e[h+g|0]|0;h=h+256|0;break;default:h=Nw(e,h,n,m,d)}y>0&&(c=jw(n,m,d,y,o,l,c,u,p))}if(h!==i)throw Error(`FastPFOR decode: packed region mismatch (pageStart=${t}, packedStart=${r}, consumedPackedEnd=${h}, expectedPackedEnd=${i}, packedWords=${i-r}, encoded.length=${e.length})`)}function Yw(e,t,r,i,n,a){let s=r|0,o=e[s]|0;if(o<=0||s+o>e.length-1)throw Error(`FastPFOR decode: invalid whereMeta=${o} at pageStart=${s} (expected > 0 and pageStart+whereMeta < encoded.length=${e.length})`);let l=s+1|0,u=s+o|0,h=e[u]>>>0,c=h+3>>>2,p=u+1,f=p+c;if(f>=e.length)throw Error(`FastPFOR decode: invalid byteSize=${h} (metaInts=${c}, pageStart=${s}, packedEnd=${u}, byteContainerStart=${p}) causes bitmapPos=${f} out of bounds (encoded.length=${e.length})`);let d=Rw(e,p,h,a),y=h,m=$w(e,f,a);return a.dataPointers.fill(0),Gw(e,s,l,u,t,i|0,n/256|0,d,y,a),m}function Xw(e,t,r,i,n,a){let s=i+ql(n,256),o=i,l=r;for(;o!==s;){let u=Math.min(jl,s-o);l=Yw(e,t,l,o,u,a),o=o+u|0}return l}function Ww(e,t,r,i,n,a){if(a===0)return t;let s=0,o=t,l=t+r,u=n,h=n,c=n+a,p=0,f=0;for(;o<l&&h<c;){let d=e[o]>>>s&255;if(s+=8,o+=s>>>5,s&=31,p|=(d&127)<<f,d&128)i[h++]=p|0,p=0,f=0;else if(f+=7,f>28)throw Error(`FastPFOR VByte: unterminated value (expected MSB=1 terminator within 5 bytes; shift=${f}, partial=${p}, decoded=${h-u}/${a}, inPos=${o}, inEnd=${l})`)}if(h!==c)throw Error(`FastPFOR VByte: truncated stream (decoded=${h-u}, expected=${a}, consumedWords=${o-t}/${r}, vbyteStart=${t}, vbyteEnd=${l})`);return o}function Zw(e,t,r){let i=0,n=0,a=new Uint32Array(t),s=r??gd();if(e.length>0){let u=e[i]|0;if(i=i+1|0,u&255)throw Error(`FastPFOR decode: invalid alignedLength=${u} (expected multiple of 256)`);if(n+u>a.length)throw Error(`FastPFOR decode: output buffer too small (outPos=${n}, alignedLength=${u}, out.length=${a.length})`);i=Xw(e,a,i,n,u,s),n=n+u|0}let o=e.length-i|0,l=t-n|0;return Ww(e,i,o,a,n,l),a}function Hw(e,t,r,i,n){switch(n){case 2:dw(e,t,r,i);return;case 3:yw(e,t,r,i);return;case 4:mw(e,t,r,i);return;case 5:gw(e,t,r,i);return;case 6:xw(e,t,r,i);return;case 7:vw(e,t,r,i);return;case 8:bw(e,t,r,i);return;case 9:ww(e,t,r,i);return;case 10:Dw(e,t,r,i);return;case 11:_w(e,t,r,i);return;case 12:Aw(e,t,r,i);return;case 16:Sw(e,t,r,i);return;case 32:for(let u=0;u<32;u=u+1|0)r[i+u|0]=e[t+u|0]|0;return}let a=Ul[n]>>>0,s=t,o=0,l=e[s]>>>0;for(let u=0;u<32;u++)if(o+n<=32){let h=l>>>o&a;r[i+u]=h|0,o+=n,o===32&&(o=0,s++,u!==31&&(l=e[s]>>>0))}else{let h=32-o,c=l>>>o;s++,l=e[s]>>>0;let p=Ul[n-h]>>>0,f=(c|(l&p)<<h)&a;r[i+u]=f|0,o=n-h}}function Jw(e,t,r,i){if(t<0||r<0||t+r>e.length)throw RangeError(`decodeBigEndianInt32sInto: out of bounds (offset=${t}, byteLength=${r}, bytes.length=${e.length})`);let n=Math.floor(r/4),a=r%4!=0,s=a?n+1:n;if(i.length<s)throw RangeError(`decodeBigEndianInt32sInto: out.length=${i.length} < ${s}`);if(n>0){let o=e.byteOffset+t;if(o&3)for(let l=0;l<n;l++){let u=t+l*4;i[l]=e[u]<<24|e[u+1]<<16|e[u+2]<<8|e[u+3]|0}else{let l=new Uint32Array(e.buffer,o,n);for(let u=0;u<n;u++)i[u]=fw(l[u])|0}}if(a){let o=t+n*4,l=r-n*4,u=0;for(let h=0;h<l;h++)u|=e[o+h]<<24-h*8;i[n]=u|0}return s}function ze(e,t,r){let i=new Uint32Array(r),n=0,a=t.get();for(let s=0;s<i.length;s++){let o=e[a++],l=o&127;if(o<128){i[n++]=l;continue}if(o=e[a++],l|=(o&127)<<7,o<128){i[n++]=l;continue}if(o=e[a++],l|=(o&127)<<14,o<128){i[n++]=l;continue}if(o=e[a++],l|=(o&127)<<21,o<128){i[n++]=l;continue}o=e[a++],l|=(o&15)<<28,i[n++]=l}return t.set(a),i}function Gl(e,t,r){let i=new BigUint64Array(r);for(let n=0;n<i.length;n++)i[n]=Kw(e,t);return i}function Kw(e,t){let r=0n,i=0,n=t.get();for(;n<e.length;){let a=e[n++];if(r|=BigInt(a&127)<<BigInt(i),!(a&128))break;if(i+=7,i>=64)throw Error("Varint too long")}return t.set(n),r}function Qw(e,t,r){let i=new Float64Array(r);for(let n=0;n<r;n++)i[n]=e3(e,t);return i}function e3(e,t){let r,i;return i=e[t.get()],t.increment(),r=i&127,i<128||(i=e[t.get()],t.increment(),r|=(i&127)<<7,i<128)||(i=e[t.get()],t.increment(),r|=(i&127)<<14,i<128)||(i=e[t.get()],t.increment(),r|=(i&127)<<21,i<128)?r:(i=e[t.get()],r|=(i&15)<<28,t3(r,e,t))}function t3(e,t,r){let i,n;if(n=t[r.get()],r.increment(),i=(n&112)>>4,n<128||(n=t[r.get()],r.increment(),i|=(n&127)<<3,n<128)||(n=t[r.get()],r.increment(),i|=(n&127)<<10,n<128)||(n=t[r.get()],r.increment(),i|=(n&127)<<17,n<128)||(n=t[r.get()],r.increment(),i|=(n&127)<<24,n<128)||(n=t[r.get()],r.increment(),i|=(n&1)<<31,n<128))return i*4294967296+(e>>>0);throw Error("Expected varint not more than 10 bytes")}function r3(e,t,r,i){return i3(e,t,r,i,Vw(r>>>2))}function i3(e,t,r,i,n){let a=i.get();if(r&3)throw Error(`FastPFOR: invalid encodedByteLength=${r} at offset=${a} (encodedBytes.length=${e.length}; expected a multiple of 4 bytes for an int32 big-endian word stream)`);let s=r>>>2,o=Ow(n,s);Jw(e,a,r,o);let l=Zw(o.subarray(0,s),t,n.decoderWorkspace);return i.add(r),l}function ie(e){return e>>>1^-(e&1)}function Le(e){return e>>1n^-(e&1n)}function xr(e){return e%2==1?(e+1)/-2:e/2}function n3(e){let t=new Int32Array(e.length);for(let r=0;r<e.length;r++)t[r]=ie(e[r]);return t}function a3(e){let t=new BigInt64Array(e.length);for(let r=0;r<e.length;r++)t[r]=Le(e[r]);return t}function Yl(e,t,r){if(r===void 0){r=0;for(let a=0;a<t;a++)r+=e[a]}let i=new Uint32Array(r),n=0;for(let a=0;a<t;a++){let s=e[a],o=e[a+t];i.fill(o,n,n+s),n+=s}return i}function Xl(e,t,r){if(r===void 0){r=0;for(let a=0;a<t;a++)r+=Number(e[a])}let i=new BigUint64Array(r),n=0;for(let a=0;a<t;a++){let s=Number(e[a]),o=e[a+t];i.fill(o,n,n+s),n+=s}return i}function xd(e,t,r){let i=new Float64Array(r),n=0;for(let a=0;a<t;a++){let s=e[a],o=e[a+t];i.fill(o,n,n+s),n+=s}return i}function vd(e){let t=new Int32Array(e.length);t[0]=ie(e[0]);let r=e.length/4*4,i=1;if(r>=4)for(;i<r-4;i+=4){let n=e[i],a=e[i+1],s=e[i+2],o=e[i+3];t[i]=ie(n)+t[i-1],t[i+1]=ie(a)+t[i],t[i+2]=ie(s)+t[i+1],t[i+3]=ie(o)+t[i+2]}for(;i!==e.length;++i)t[i]=ie(e[i])+t[i-1];return t}function bd(e){let t=new BigInt64Array(e.length);t[0]=Le(e[0]);let r=e.length/4*4,i=1;if(r>=4)for(;i<r-4;i+=4){let n=e[i],a=e[i+1],s=e[i+2],o=e[i+3];t[i]=Le(n)+t[i-1],t[i+1]=Le(a)+t[i],t[i+2]=Le(s)+t[i+1],t[i+3]=Le(o)+t[i+2]}for(;i!==t.length;++i)t[i]=Le(e[i])+t[i-1];return t}function s3(e){e[0]=xr(e[0]);let t=e.length/4*4,r=1;if(t>=4)for(;r<t-4;r+=4){let i=e[r],n=e[r+1],a=e[r+2],s=e[r+3];e[r]=xr(i)+e[r-1],e[r+1]=xr(n)+e[r],e[r+2]=xr(a)+e[r+1],e[r+3]=xr(s)+e[r+2]}for(;r!==e.length;++r)e[r]=xr(e[r])+e[r-1]}function o3(e,t,r){if(r===void 0){r=0;for(let a=0;a<t;a++)r+=e[a]}let i=new Int32Array(r),n=0;for(let a=0;a<t;a++){let s=e[a],o=e[a+t];o=ie(o),i.fill(o,n,n+s),n+=s}return i}function l3(e,t,r){if(r===void 0){r=0;for(let a=0;a<t;a++)r+=Number(e[a])}let i=new BigInt64Array(r),n=0;for(let a=0;a<t;a++){let s=Number(e[a]),o=e[a+t];o=Le(o),i.fill(o,n,n+s),n+=s}return i}function u3(e,t,r){let i=new Float64Array(r),n=0;for(let a=0;a<t;a++){let s=e[a],o=e[a+t];o=xr(o),i.fill(o,n,n+s),n+=s}return i}function Wl(e){let t=e.length/4*4,r=1;if(t>=4)for(let i=e[0];r<t-4;r+=4)i=e[r]+=i,i=e[r+1]+=i,i=e[r+2]+=i,i=e[r+3]+=i;for(;r!==e.length;)e[r]+=e[r-1],++r}function h3(e){let t=0;for(let r=0;r<e.length;r++)e[r]+=t,t=e[r]}function c3(e){if(e.length<2)return new Int32Array(e);let t=new Int32Array(e.length);t[0]=ie(e[0]),t[1]=ie(e[1]);let r=e.length/4*4,i=2;if(r>=4)for(;i<r-4;i+=4){let n=e[i],a=e[i+1],s=e[i+2],o=e[i+3];t[i]=ie(n)+t[i-2],t[i+1]=ie(a)+t[i-1],t[i+2]=ie(s)+t[i],t[i+3]=ie(o)+t[i+1]}for(;i!==e.length;i+=2)t[i]=ie(e[i])+t[i-2],t[i+1]=ie(e[i+1])+t[i-1];return t}function p3(e){let t=new Int32Array(e.length+1);t[0]=0,t[1]=ie(e[0]);let r=t[1];for(let i=2;i!==t.length;++i){let n=e[i-1],a=ie(n);r+=a,t[i]=t[i-1]+r}return new Uint32Array(t)}function f3(e,t,r){let i=new Int32Array(r+1);i[0]=0;let n=1,a=i[0];for(let s=0;s<t;s++){let o=e[s],l=e[s+t];l=ie(l);for(let u=n;u<n+o;u++)i[u]=l+a,a=i[u];n+=o}return i}function d3(e,t,r){let i=new Uint32Array(r+1);i[0]=0;let n=1,a=i[0];for(let s=0;s<t;s++){let o=e[s],l=e[s+t];for(let u=n;u<n+o;u++)i[u]=l+a,a=i[u];n+=o}return i}function y3(e,t,r){let i=new Int32Array(r),n=0,a=0;for(let s=0;s<t;s++){let o=e[s],l=e[s+t],u=ie(l);for(let h=0;h<o;h++)a+=u,i[n++]=a}return i}function m3(e,t,r){let i=new BigInt64Array(r),n=0,a=0n;for(let s=0;s<t;s++){let o=Number(e[s]),l=e[s+t],u=Le(l);for(let h=0;h<o;h++)a+=u,i[n++]=a}return i}function wd(e){let t=new Uint32Array(e.length);t[0]=ie(e[0])>>>0;for(let r=1;r<e.length;r++)t[r]=t[r-1]+ie(e[r])>>>0;return t}function Dd(e){let t=new BigUint64Array(e.length);t[0]=BigInt.asUintN(64,Le(e[0]));for(let r=1;r<e.length;r++)t[r]=BigInt.asUintN(64,t[r-1]+Le(e[r]));return t}function g3(e){if(e.length<2)return new Uint32Array(e);let t=new Uint32Array(e.length);t[0]=ie(e[0])>>>0,t[1]=ie(e[1])>>>0;for(let r=2;r<e.length;r+=2)t[r]=t[r-2]+ie(e[r])>>>0,t[r+1]=t[r-1]+ie(e[r+1])>>>0;return t}function x3(e){return e[1]}function v3(e){return ie(e[1])}function b3(e){if(e.length===2){let t=ie(e[1]);return[t,t]}return[ie(e[2]),ie(e[3])]}function w3(e){return e[1]}function D3(e){return Le(e[1])}function _3(e){if(e.length===2){let t=Le(e[1]);return[t,t]}return[Le(e[2]),Le(e[3])]}var Ae;(function(e){e.PRESENT="PRESENT",e.DATA="DATA",e.OFFSET="OFFSET",e.LENGTH="LENGTH"})(Ae||(Ae={}));var Ue;(function(e){e.NONE="NONE",e.SINGLE="SINGLE",e.SHARED="SHARED",e.VERTEX="VERTEX",e.MORTON="MORTON",e.FSST="FSST"})(Ue||(Ue={}));var At;(function(e){e.VERTEX="VERTEX",e.INDEX="INDEX",e.STRING="STRING",e.KEY="KEY"})(At||(At={}));var Te;(function(e){e.VAR_BINARY="VAR_BINARY",e.GEOMETRIES="GEOMETRIES",e.PARTS="PARTS",e.RINGS="RINGS",e.TRIANGLES="TRIANGLES",e.SYMBOL="SYMBOL",e.DICTIONARY="DICTIONARY"})(Te||(Te={}));const A3=[Ae.PRESENT,Ae.DATA,Ae.OFFSET,Ae.LENGTH],_d=[W.NONE,W.DELTA,W.COMPONENTWISE_DELTA,W.RLE,W.MORTON],S3=[et.NONE,et.FAST_PFOR,et.VARINT],E3=[Ue.NONE,Ue.SINGLE,Ue.SHARED,Ue.VERTEX,Ue.MORTON,Ue.FSST],T3=[At.VERTEX,At.INDEX,At.STRING,At.KEY],F3=[Te.VAR_BINARY,Te.GEOMETRIES,Te.PARTS,Te.RINGS,Te.TRIANGLES,Te.SYMBOL,Te.DICTIONARY];function ce(e,t){let r=C3(e,t);return r.logicalLevelTechnique1===W.MORTON?I3(r,e,t):(W.RLE===r.logicalLevelTechnique1||W.RLE===r.logicalLevelTechnique2)&&et.NONE!==r.physicalLevelTechnique?k3(r,e,t):r}function I3(e,t,r){let i=ze(t,r,2);return{physicalStreamType:e.physicalStreamType,logicalStreamType:e.logicalStreamType,logicalLevelTechnique1:e.logicalLevelTechnique1,logicalLevelTechnique2:e.logicalLevelTechnique2,physicalLevelTechnique:e.physicalLevelTechnique,numValues:e.numValues,byteLength:e.byteLength,decompressedCount:e.decompressedCount,numBits:i[0],coordinateShift:i[1]}}function k3(e,t,r){let i=ze(t,r,2);return{physicalStreamType:e.physicalStreamType,logicalStreamType:e.logicalStreamType,logicalLevelTechnique1:e.logicalLevelTechnique1,logicalLevelTechnique2:e.logicalLevelTechnique2,physicalLevelTechnique:e.physicalLevelTechnique,numValues:e.numValues,byteLength:e.byteLength,decompressedCount:i[1],runs:i[0],numRleValues:i[1]}}function C3(e,t){let r=e[t.get()],i=A3[r>>4],n={};switch(i){case Ae.DATA:n={dictionaryType:E3[r&15]};break;case Ae.OFFSET:n={offsetType:T3[r&15]};break;case Ae.LENGTH:n={lengthType:F3[r&15]}}t.increment();let a=e[t.get()],s=_d[a>>5],o=_d[a>>2&7],l=S3[a&3];t.increment();let u=ze(e,t,2),h=u[0],c=u[1];return{physicalStreamType:i,logicalStreamType:n,logicalLevelTechnique1:s,logicalLevelTechnique2:o,physicalLevelTechnique:l,numValues:h,byteLength:c,decompressedCount:h}}var ue;(function(e){e[e.FLAT=0]="FLAT",e[e.CONST=1]="CONST",e[e.SEQUENCE=2]="SEQUENCE",e[e.DICTIONARY=3]="DICTIONARY",e[e.FSST_DICTIONARY=4]="FSST_DICTIONARY"})(ue||(ue={}));var pt=class{constructor(e,t){this.values=e,this._size=t}get(e){let t=Math.floor(e/8),r=e%8;return(this.values[t]>>r&1)==1}set(e,t){let r=Math.floor(e/8),i=e%8;this.values[r]=this.values[r]|+!!t<<i}getInt(e){let t=Math.floor(e/8),r=e%8;return this.values[t]>>r&1}size(){return this._size}getBuffer(){return this.values}};function vr(e,t,r){if(!t)return e;let i=t.size(),n=e.constructor,a=new n(i),s=0;for(let o=0;o<i;o++)a[o]=t.get(o)?e[s++]:r;return a}function B3(e,t,r){if(!r)return e;let i=r.size(),n=new pt(e,t),a=new pt(new Uint8Array(Math.ceil(i/8)),i),s=0;for(let o=0;o<i;o++){let l=r.get(o)?n.get(s++):!1;a.set(o,l)}return a.getBuffer()}function ti(e,t,r,i,n){let a=P3(e,Math.ceil(t/8),r,i);return n?B3(a,t,n):a}function P3(e,t,r,i){let n=new Uint8Array(t),a=0,s=i.get()+r;for(;a<t&&!(i.get()>=s);){let o=e[i.increment()];if(o<=127){let l=o+3,u=e[i.increment()],h=Math.min(a+l,t);n.fill(u,a,h),a=h}else{let l=256-o;for(let u=0;u<l&&a<t;u++)n[a++]=e[i.increment()]}}return i.set(s),n}function Ad(e,t,r,i){let n=t.get(),a=n+r*Float32Array.BYTES_PER_ELEMENT,s=new Uint8Array(e.subarray(n,a)).buffer,o=new Float32Array(s);return t.set(a),i?vr(o,i,0):o}function Sd(e,t,r,i){let n=t.get(),a=n+r*Float64Array.BYTES_PER_ELEMENT,s=new Uint8Array(e.subarray(n,a)).buffer,o=new Float64Array(s);return t.set(a),i?vr(o,i,0):o}function M3(e,t,r){let i=t.get(),n=r*Uint32Array.BYTES_PER_ELEMENT,a=new DataView(e.buffer,e.byteOffset,e.byteLength),s=new Uint32Array(r);for(let o=0;o<r;o++)s[o]=a.getUint32(i+o*Uint32Array.BYTES_PER_ELEMENT,!0);return t.add(n),s}function z3(e,t,r){let i=t.get(),n=r*BigUint64Array.BYTES_PER_ELEMENT,a=new DataView(e.buffer,e.byteOffset,e.byteLength),s=new BigUint64Array(r);for(let o=0;o<r;o++)s[o]=a.getBigUint64(i+o*BigUint64Array.BYTES_PER_ELEMENT,!0);return t.add(n),s}const L3=new TextDecoder;function Zl(e,t,r){return r-t>=12?L3.decode(e.subarray(t,r)):V3(e,t,r)}function V3(e,t,r){let i="",n=t;for(;n<r;){let a=e[n],s=null,o=a>239?4:a>223?3:a>191?2:1;if(n+o>r)break;let l,u,h;o===1?a<128&&(s=a):o===2?(l=e[n+1],(l&192)==128&&(s=(a&31)<<6|l&63,s<=127&&(s=null))):o===3?(l=e[n+1],u=e[n+2],(l&192)==128&&(u&192)==128&&(s=(a&15)<<12|(l&63)<<6|u&63,(s<=2047||s>=55296&&s<=57343)&&(s=null))):o===4&&(l=e[n+1],u=e[n+2],h=e[n+3],(l&192)==128&&(u&192)==128&&(h&192)==128&&(s=(a&15)<<18|(l&63)<<12|(u&63)<<6|h&63,(s<=65535||s>=1114112)&&(s=null))),s===null?(s=65533,o=1):s>65535&&(s-=65536,i+=String.fromCharCode(s>>>10&1023|55296),s=56320|s&1023),i+=String.fromCharCode(s),n+=o}return i}function $a(e,t,r,i,n){return U3(ri(e,t,r),r,i,n)}function Ve(e,t,r,i,n){return q3(ri(e,t,r),r,i,n)}function Zt(e,t,r){return Y3(ri(e,t,r),r)}function ri(e,t,r){let i=r.physicalLevelTechnique;switch(i){case et.FAST_PFOR:return r3(e,r.numValues,r.byteLength,t);case et.VARINT:return ze(e,t,r.numValues);case et.NONE:return M3(e,t,r.numValues);default:throw Error(`Specified physicalLevelTechnique ${i} is not supported (yet).`)}}function pn(e,t,r){let i=r.physicalLevelTechnique;switch(i){case et.VARINT:return Gl(e,t,r.numValues);case et.NONE:return z3(e,t,r.numValues);default:throw Error(`Specified physicalLevelTechnique ${i} is not supported (yet).`)}}function O3(e,t,r){let i=ri(e,t,r);return i.length===1?ie(i[0]):v3(i)}function Hl(e,t,r){let i=ri(e,t,r);return i.length===1?r.logicalLevelTechnique1===W.DELTA?ie(i[0]):i[0]:x3(i)}function Ed(e,t,r){return b3(ri(e,t,r))}function Td(e,t,r){return _3(Gl(e,t,r.numValues))}function Fd(e,t,r,i){return j3(pn(e,t,r),r,i)}function Jl(e,t,r,i){return kd(pn(e,t,r),r,i)}function R3(e,t,r,i){let n=$3(e,t,r,!1);return i?vr(n,i,0):n}function $3(e,t,r,i){if(r.physicalLevelTechnique===et.VARINT)return G3(Qw(e,t,r.numValues),r,i);let n=pn(e,t,r),a=kd(n,r);return Float64Array.from(a,Number)}function N3(e,t,r){let i=pn(e,t,r);return i.length===1?Le(i[0]):D3(i)}function Id(e,t,r){let i=pn(e,t,r);return i.length===1?r.logicalLevelTechnique1===W.DELTA?Le(i[0]):i[0]:w3(i)}function U3(e,t,r,i){let n;switch(t.logicalLevelTechnique1){case W.DELTA:if(t.logicalLevelTechnique2===W.RLE){let a=t;if(!i)return y3(e,a.runs,a.numRleValues);e=Yl(e,a.runs,a.numRleValues),n=vd(e)}else n=vd(e);break;case W.RLE:n=o3(e,t.runs,t.numRleValues);break;case W.MORTON:Wl(e),n=new Int32Array(e);break;case W.COMPONENTWISE_DELTA:n=c3(e);break;case W.NONE:n=n3(e);break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return i?vr(n,i,0):n}function q3(e,t,r,i){let n;switch(t.logicalLevelTechnique1){case W.DELTA:if(t.logicalLevelTechnique2===W.RLE){let a=t;n=wd(Yl(e,a.runs,a.numRleValues))}else n=wd(e);break;case W.RLE:n=Yl(e,t.runs,t.numRleValues);break;case W.MORTON:Wl(e),n=e;break;case W.COMPONENTWISE_DELTA:n=g3(e);break;case W.NONE:n=e;break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return i?vr(n,i,0):n}function j3(e,t,r){let i;switch(t.logicalLevelTechnique1){case W.DELTA:if(t.logicalLevelTechnique2===W.RLE){let n=t;if(!r)return m3(e,n.runs,n.numRleValues);e=Xl(e,n.runs,n.numRleValues),i=bd(e)}else i=bd(e);break;case W.RLE:i=l3(e,t.runs,t.numRleValues);break;case W.NONE:i=a3(e);break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return r?vr(i,r,0n):i}function kd(e,t,r){let i;switch(t.logicalLevelTechnique1){case W.DELTA:if(t.logicalLevelTechnique2===W.RLE){let n=t;i=Dd(Xl(e,n.runs,n.numRleValues))}else i=Dd(e);break;case W.RLE:i=Xl(e,t.runs,t.numRleValues);break;case W.NONE:i=e;break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return r?vr(i,r,0n):i}function G3(e,t,r){switch(t.logicalLevelTechnique1){case W.DELTA:if(t.logicalLevelTechnique2===W.RLE){let i=t;e=xd(e,i.runs,i.numRleValues)}return s3(e),e;case W.RLE:return W3(e,t,r);case W.NONE:return e;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}}function Y3(e,t){if(t.logicalLevelTechnique1===W.DELTA&&t.logicalLevelTechnique2===W.NONE)return p3(e);if(t.logicalLevelTechnique1===W.RLE&&t.logicalLevelTechnique2===W.NONE){let r=t;return d3(e,r.runs,r.numRleValues)}if(t.logicalLevelTechnique1===W.NONE&&t.logicalLevelTechnique2===W.NONE){h3(e);let r=new Uint32Array(t.numValues+1);return r[0]=0,r.set(e,1),r}if(t.logicalLevelTechnique1===W.DELTA&&t.logicalLevelTechnique2===W.RLE){let r=t,i=f3(e,r.runs,r.numRleValues);return Wl(i),new Uint32Array(i)}throw Error("Only delta encoding is supported for transforming length to offset streams yet.")}function Na(e,t,r,i,n="int32"){let a=e.logicalLevelTechnique1;if(a===W.RLE)return e.runs===1?ue.CONST:ue.FLAT;if(a!==W.DELTA||e.logicalLevelTechnique2!==W.RLE)return e.numValues===1?ue.CONST:ue.FLAT;let s=t instanceof pt?t.size():t,o=e;if(o.numRleValues!==s)return ue.FLAT;if(o.runs===1)return ue.SEQUENCE;if(o.runs!==2)return e.numValues===1?ue.CONST:ue.FLAT;let l=i.get();if(e.physicalLevelTechnique===et.VARINT)return X3(r,i,n)?ue.SEQUENCE:e.numValues===1?ue.CONST:ue.FLAT;let u=i.get(),h=new Int32Array(r.buffer,r.byteOffset+u,4);return i.set(l),h[2]===2&&h[3]===2?ue.SEQUENCE:e.numValues===1?ue.CONST:ue.FLAT}function X3(e,t,r){let i=new yd(t.get());if(r==="int64"){let a=Gl(e,i,4);return a[2]===2n&&a[3]===2n}let n=ze(e,i,4);return n[2]===2&&n[3]===2}function W3(e,t,r){return r?u3(e,t.runs,t.numRleValues):xd(e,t.runs,t.numRleValues)}var Cd=class extends Ra{getValueFromBuffer(e){return this.dataBuffer[e]}},Bd=class extends fd{constructor(e,t,r,i,n){super(e,n?BigInt64Array.of(t):BigUint64Array.of(t),r,i)}getValueFromBuffer(e){return this.dataBuffer[0]+BigInt(e)*this.delta}};function Kl(e,t,r){return{x:Pd(e,t)-r,y:Pd(e>>1,t)-r}}function Pd(e,t){let r=0;for(let i=0;i<t;i++)r|=(e&1<<2*i)>>i;return r}var Be;(function(e){e[e.POINT=0]="POINT",e[e.LINESTRING=1]="LINESTRING",e[e.POLYGON=2]="POLYGON",e[e.MULTIPOINT=3]="MULTIPOINT",e[e.MULTILINESTRING=4]="MULTILINESTRING",e[e.MULTIPOLYGON=5]="MULTIPOLYGON"})(Be||(Be={}));var Md;(function(e){e[e.POINT=0]="POINT",e[e.LINESTRING=1]="LINESTRING",e[e.POLYGON=2]="POLYGON"})(Md||(Md={}));var Ht;(function(e){e[e.MORTON=0]="MORTON",e[e.VEC_2=1]="VEC_2",e[e.VEC_3=2]="VEC_3"})(Ht||(Ht={}));function Z3(e){let t=Array(e.numGeometries),r=1,i=1,n=1,a=0,s=0,o=0,l=e.mortonSettings,u=e.topologyVector,h=u.geometryOffsets,c=u.partOffsets,p=u.ringOffsets,f=e.vertexOffsets,d=!f||f.length===0,y=e.containsPolygonGeometry(),m=e.vertexBuffer;for(let g=0;g<e.numGeometries;g++){let x=e.geometryType(g);switch(x){case Be.POINT:{let b,v;if(d)b=m[s++],v=m[s++];else if(e.vertexBufferType===Ht.MORTON){let w=m[f[o++]],_=Kl(w,l.numBits,l.coordinateShift);b=_.x,v=_.y}else{let w=f[o++]*2;b=m[w],v=m[w+1]}t[a++]=[[new B(b,v)]],h&&n++,c&&r++,p&&i++}break;case Be.MULTIPOINT:{let b=h[n]-h[n-1];n++;let v;if(d){v=Array(b);for(let w=0;w<b;w++){let _=m[s++],A=m[s++];v[w]=new B(_,A)}}else v=br(e.vertexBufferType,m,f,o,b,!1,l),o+=b;t[a++]=v.map(w=>[w]),r+=b,i+=b}break;case Be.LINESTRING:{let b;y?(b=p[i]-p[i-1],i++):b=c[r]-c[r-1],r++;let v;d?(v=ii(m,s,b,!1),s+=b*2):(v=br(e.vertexBufferType,m,f,o,b,!1,l),o+=b),t[a++]=[v],h&&n++}break;case Be.POLYGON:{let b=c[r]-c[r-1];r++;let v=Array(b-1),w,_=p[i]-p[i-1];if(i++,d){w=ii(m,s,_,!0),s+=_*2;for(let A=0;A<v.length;A++)_=p[i]-p[i-1],i++,v[A]=ii(m,s,_,!0),s+=_*2}else{w=br(e.vertexBufferType,m,f,o,_,!0,l),o+=_;for(let A=0;A<v.length;A++)_=p[i]-p[i-1],i++,v[A]=br(e.vertexBufferType,m,f,o,_,!0,l),o+=_}t[a++]=[w].concat(v),h&&n++}break;case Be.MULTILINESTRING:{let b=h[n]-h[n-1];n++;let v=Array(b);for(let w=0;w<b;w++){let _;if(y?(_=p[i]-p[i-1],i++):_=c[r]-c[r-1],r++,d)v[w]=ii(m,s,_,!1),s+=_*2;else{let A=br(e.vertexBufferType,m,f,o,_,!1,l);v[w]=A,o+=_}}t[a++]=v}break;case Be.MULTIPOLYGON:{let b=h[n]-h[n-1];n++;let v=Array(b);for(let w=0;w<b;w++){let _=c[r]-c[r-1];r++;let A,S=Array(_-1),F=p[i]-p[i-1];i++,d?(A=ii(m,s,F,!0),s+=F*2):(A=br(e.vertexBufferType,m,f,o,F,!0,l),o+=F);for(let V=0;V<S.length;V++){let z=p[i]-p[i-1];i++,d?(S[V]=ii(m,s,z,!0),s+=z*2):(S[V]=br(e.vertexBufferType,m,f,o,z,!0,l),o+=z)}v[w]=[A].concat(S)}t[a++]=v.flat()}break;default:throw Error(`The specified geometry type (${x}) is currently not supported.`)}}return t}function br(e,t,r,i,n,a,s){return e===Ht.MORTON?J3(t,r,i,n,a,s):H3(t,r,i,n,a)}function ii(e,t,r,i){let n=Array(i?r+1:r);for(let a=0;a<r*2;a+=2){let s=e[t+a],o=e[t+a+1];n[a/2]=new B(s,o)}return i&&(n[n.length-1]=n[0]),n}function H3(e,t,r,i,n){let a=Array(n?i+1:i);for(let s=0;s<i*2;s+=2){let o=t[r+s/2]*2,l=e[o],u=e[o+1];a[s/2]=new B(l,u)}return n&&(a[a.length-1]=a[0]),a}function J3(e,t,r,i,n,a){let s=Array(n?i+1:i);for(let o=0;o<i;o++){let l=e[t[r+o]],u=Kl(l,a.numBits,a.coordinateShift);s[o]=new B(u.x,u.y)}return n&&(s[s.length-1]=s[0]),s}var zd=class{constructor(e,t,r,i,n){this._vertexBufferType=e,this._topologyVector=t,this._vertexOffsets=r,this._vertexBuffer=i,this._mortonSettings=n}get vertexBufferType(){return this._vertexBufferType}get topologyVector(){return this._topologyVector}get vertexOffsets(){return this._vertexOffsets}get vertexBuffer(){return this._vertexBuffer}getSimpleEncodedVertex(e){let t=this.vertexOffsets?this.vertexOffsets[e]*2:e*2;return[this.vertexBuffer[t],this.vertexBuffer[t+1]]}getVertex(e){if(this.vertexOffsets&&this.mortonSettings){let r=this.vertexOffsets[e],i=this.vertexBuffer[r],n=Kl(i,this.mortonSettings.numBits,this.mortonSettings.coordinateShift);return[n.x,n.y]}let t=this.vertexOffsets?this.vertexOffsets[e]*2:e*2;return[this.vertexBuffer[t],this.vertexBuffer[t+1]]}getGeometries(){return Z3(this)}get mortonSettings(){return this._mortonSettings}};function K3(e,t,r,i,n){return new Ld(e,t,Ht.VEC_2,r,i,n)}function Q3(e,t,r,i,n,a){return new Ld(e,t,Ht.MORTON,r,i,n,a)}var Ld=class extends zd{constructor(e,t,r,i,n,a,s){super(r,i,n,a,s),this._numGeometries=e,this._geometryType=t}geometryType(e){return this._geometryType}get numGeometries(){return this._numGeometries}containsPolygonGeometry(){return this._geometryType===Be.POLYGON||this._geometryType===Be.MULTIPOLYGON}containsSingleGeometryType(){return!0}};function Vd(e,t,r,i){return new Od(Ht.VEC_2,e,t,r,i)}function e6(e,t,r,i,n){return new Od(Ht.MORTON,e,t,r,i,n)}var Od=class extends zd{constructor(e,t,r,i,n,a){super(e,r,i,n,a),this._geometryTypes=t}geometryType(e){return this._geometryTypes[e]}get numGeometries(){return this._geometryTypes.length}containsPolygonGeometry(){for(let e=0;e<this.numGeometries;e++)if(this.geometryType(e)===Be.POLYGON||this.geometryType(e)===Be.MULTIPOLYGON)return!0;return!1}containsSingleGeometryType(){return!1}},Rd=class{constructor(e,t,r,i){this._triangleOffsets=e,this._indexBuffer=t,this._vertexBuffer=r,this._topologyVector=i}get triangleOffsets(){return this._triangleOffsets}get indexBuffer(){return this._indexBuffer}get vertexBuffer(){return this._vertexBuffer}get topologyVector(){return this._topologyVector}getGeometries(){if(!this._topologyVector)throw Error("Cannot convert GpuVector to coordinates without topology information");let e=new Uint32Array(this.numGeometries);for(let t=0;t<this.numGeometries;t++)e[t]=this.geometryType(t);return Vd(e,this._topologyVector,void 0,this._vertexBuffer).getGeometries()}[Symbol.iterator](){return null}};function $d(e,t,r,i,n,a){return new t6(e,t,r,i,n,a)}var t6=class extends Rd{constructor(e,t,r,i,n,a){super(r,i,n,a),this._numGeometries=e,this._geometryType=t}geometryType(e){return this._geometryType}get numGeometries(){return this._numGeometries}containsSingleGeometryType(){return!0}};function Nd(e,t,r,i,n){return new r6(e,t,r,i,n)}var r6=class extends Rd{constructor(e,t,r,i,n){super(t,r,i,n),this._geometryTypes=e}geometryType(e){return this._geometryTypes[e]}get numGeometries(){return this._geometryTypes.length}containsSingleGeometryType(){return!1}};function i6(e,t,r,i,n){let a=ce(e,r),s=Na(a,i,e,r),o,l,u,h;if(s===ue.CONST){let b=Hl(e,r,a),v,w,_,A;for(let S=0;S<t-1;S++){let F=ce(e,r);switch(F.physicalStreamType){case Ae.LENGTH:switch(F.logicalStreamType.lengthType){case Te.GEOMETRIES:v=Zt(e,r,F);break;case Te.PARTS:w=Zt(e,r,F);break;case Te.RINGS:_=Zt(e,r,F);break;case Te.TRIANGLES:A=Zt(e,r,F)}break;case Ae.OFFSET:switch(F.logicalStreamType.offsetType){case At.VERTEX:o=Ve(e,r,F);break;case At.INDEX:h=Ve(e,r,F)}break;case Ae.DATA:if(Ue.VERTEX===F.logicalStreamType.dictionaryType)l=$a(e,r,F,n);else{let V=F;u={numBits:V.numBits,coordinateShift:V.coordinateShift},l=Ve(e,r,F,n)}}}return h?v!==void 0||w!==void 0?$d(i,b,A,h,l,{geometryOffsets:v,partOffsets:w,ringOffsets:_}):$d(i,b,A,h,l):u===void 0?K3(i,b,{geometryOffsets:v,partOffsets:w,ringOffsets:_},o,l):Q3(i,b,{geometryOffsets:v,partOffsets:w,ringOffsets:_},o,l,u)}let c=Ve(e,r,a),p,f,d,y;for(let b=0;b<t-1;b++){let v=ce(e,r);switch(v.physicalStreamType){case Ae.LENGTH:switch(v.logicalStreamType.lengthType){case Te.GEOMETRIES:p=Ve(e,r,v);break;case Te.PARTS:f=Ve(e,r,v);break;case Te.RINGS:d=Ve(e,r,v);break;case Te.TRIANGLES:y=Zt(e,r,v)}break;case Ae.OFFSET:switch(v.logicalStreamType.offsetType){case At.VERTEX:o=Ve(e,r,v);break;case At.INDEX:h=Ve(e,r,v)}break;case Ae.DATA:if(Ue.VERTEX===v.logicalStreamType.dictionaryType)l=$a(e,r,v,n);else{let w=v;u={numBits:w.numBits,coordinateShift:w.coordinateShift},l=Ve(e,r,v,n)}}}let m,g,x;return p?(m=Ql(c,p,2),f&&d?(g=Ud(c,m,f,!1),x=a6(c,m,g,d)):f&&(g=n6(c,m,f))):f&&d?(g=Ql(c,f,1),x=Ud(c,g,d,!0)):f&&(g=Ql(c,f,0)),h&&!g?Nd(c,y,h,l):h?Nd(c,y,h,l,{geometryOffsets:m,partOffsets:g,ringOffsets:x}):u===void 0?Vd(c,{geometryOffsets:m,partOffsets:g,ringOffsets:x},o,l):e6(c,{geometryOffsets:m,partOffsets:g,ringOffsets:x},o,l,u)}function Ql(e,t,r){let i=new Uint32Array(e.length+1),n=0;i[0]=n;let a=0;for(let s=0;s<e.length;s++)n=i[s+1]=n+(e[s]>r?t[a++]:1);return i}function Ud(e,t,r,i){let n=new Uint32Array(t[t.length-1]+1),a=0;n[0]=a;let s=1,o=0;for(let l=0;l<e.length;l++){let u=e[l],h=t[l+1]-t[l];if(u===5||u===2||i&&(u===4||u===1))for(let c=0;c<h;c++)a=n[s++]=a+r[o++];else for(let c=0;c<h;c++)n[s++]=++a}return n}function n6(e,t,r){let i=new Uint32Array(t[t.length-1]+1),n=0;i[0]=n;let a=1,s=0;for(let o=0;o<e.length;o++){let l=e[o],u=t[o+1]-t[o];if(l===4||l===1)for(let h=0;h<u;h++)n=i[a++]=n+r[s++];else for(let h=0;h<u;h++)i[a++]=++n}return i}function a6(e,t,r,i){let n=new Uint32Array(r[r.length-1]+1),a=0;n[0]=a;let s=1,o=1,l=0;for(let u=0;u<e.length;u++){let h=e[u],c=t[u+1]-t[u];if(h!==0&&h!==3)for(let p=0;p<c;p++){let f=r[s]-r[s-1];s++;for(let d=0;d<f;d++)a=n[o++]=a+i[l++]}else for(let p=0;p<c;p++)n[o++]=++a,s++}return n}var s6=class extends gr{constructor(e,t,r){super(e,t.getBuffer(),r),this.dataVector=t}getValueFromBuffer(e){return this.dataVector.get(e)}},o6=class extends Ra{getValueFromBuffer(e){return this.dataBuffer[e]}},qd=class extends gr{constructor(e,t,r,i){super(e,i?BigInt64Array.of(t):BigUint64Array.of(t),r)}getValueFromBuffer(e){return this.dataBuffer[0]}},eu=class extends gr{constructor(e,t,r,i){super(e,r,i),this.offsetBuffer=t}},jd=class extends eu{constructor(e,t,r,i){super(e,t,r,i??t.length-1)}getValueFromBuffer(e){let t=this.offsetBuffer[e],r=this.offsetBuffer[e+1];return Zl(this.dataBuffer,t,r)}},ni=class extends eu{constructor(e,t,r,i,n){super(e,r,i,n??t.length),this.indexBuffer=t,this.indexBuffer=t}getValueFromBuffer(e){let t=this.indexBuffer[e],r=this.offsetBuffer[t],i=this.offsetBuffer[t+1];return Zl(this.dataBuffer,r,i)}};function l6(e,t){let r=0;for(let i=0;i<t.length;i++){let n=t[i];n===255?(r++,i++):r+=e[n]}return r}function u6(e,t,r){let i=new Uint32Array(t.length);for(let s=1;s<t.length;s++)i[s]=i[s-1]+t[s-1];let n=new Uint8Array(l6(t,r)),a=0;for(let s=0;s<r.length;s++){let o=r[s];if(o===255)s++,n[a++]=r[s];else{let l=t[o],u=i[o];for(;l-- >0;)n[a++]=e[u++]}}return n}var Gd=class extends eu{constructor(e,t,r,i,n,a,s,o){super(e,r,i,s??t.length),this.indexBuffer=t,this.symbolOffsetBuffer=n,this.symbolTableBuffer=a,this.sharedDictionaryCache=o}getValueFromBuffer(e){this.decodedDictionary??(this.decodedDictionary=this.sharedDictionaryCache?.decodedDictionary,this.decodedDictionary??(this.decodedDictionary=this.decodeDictionary(),this.sharedDictionaryCache&&(this.sharedDictionaryCache.decodedDictionary=this.decodedDictionary)));let t=this.indexBuffer[e],r=this.offsetBuffer[t],i=this.offsetBuffer[t+1];return Zl(this.decodedDictionary,r,i)}decodeDictionary(){return this.symbolLengthBuffer??(this.symbolLengthBuffer=this.offsetToLengthBuffer(this.symbolOffsetBuffer)),u6(this.symbolTableBuffer,this.symbolLengthBuffer,this.dataBuffer)}offsetToLengthBuffer(e){let t=new Uint32Array(e.length-1),r=e[0];for(let i=1;i<e.length;i++){let n=e[i];t[i-1]=n-r,r=n}return t}};function Yd(e,t,r,i,n){let a,s,o,l,u,h=n,c,p;for(let f=0;f<i;f++){let d=ce(t,r);switch(d.physicalStreamType){case Ae.PRESENT:{let y=new pt(ti(t,d.numValues,d.byteLength,r),d.numValues);h=n??y;break}case Ae.OFFSET:s=Ve(t,r,d,void 0,h);break;case Ae.LENGTH:{let y=Zt(t,r,d);Te.DICTIONARY===d.logicalStreamType.lengthType?a=y:Te.SYMBOL===d.logicalStreamType.lengthType?l=y:c=y;break}case Ae.DATA:{let y=t.subarray(r.get(),r.get()+d.byteLength);r.add(d.byteLength);let m=d.logicalStreamType.dictionaryType;Ue.FSST===m?u=y:Ue.SINGLE===m||Ue.SHARED===m?o=y:Ue.NONE===m&&(p=y);break}}}return h6(e,u,s,a,o,l,h)??c6(e,o,s,a,h)??p6(e,c,p,s,h)}function h6(e,t,r,i,n,a,s){if(t){if(!r||!i||!n||!a)throw Error(`Incomplete FSST dictionary string column "${e}"`);return new Gd(e,r,i,n,a,t,s)}}function c6(e,t,r,i,n){if(t){if(!r||!i)throw Error(`Incomplete dictionary string column "${e}"`);return n?new ni(e,r,i,t,n):new ni(e,r,i,t)}}function p6(e,t,r,i,n){if(t&&r){if(i)return n?new ni(e,i,t,r,n):new ni(e,i,t,r);if(n&&n.size()!==t.length-1){let a=new Uint32Array(n.size()),s=0;for(let o=0;o<n.size();o++)n.get(o)?a[o]=s++:a[o]=0;return new ni(e,a,t,r,n)}return n?new jd(e,t,r,n):new jd(e,t,r)}}function f6(e,t,r,i){let n,a,s,o,l=!1;for(;!l;){let f=ce(e,t);switch(f.physicalStreamType){case Ae.LENGTH:Te.DICTIONARY===f.logicalStreamType.lengthType?n=Zt(e,t,f):s=Zt(e,t,f);break;case Ae.DATA:Ue.SINGLE===f.logicalStreamType.dictionaryType||Ue.SHARED===f.logicalStreamType.dictionaryType?(a=e.subarray(t.get(),t.get()+f.byteLength),l=!0):o=e.subarray(t.get(),t.get()+f.byteLength),t.add(f.byteLength)}}if(r.type!=="complexType")throw Error(`Shared dictionary column ${r.name} must be a complex (struct) column.`);if(!n||!a)throw Error(`Incomplete shared dictionary for column "${r.name}"`);let u=r.complexType.children,h=[],c=o?{}:void 0,p=0;for(let f of u){let d=ze(e,t,1)[0];if(d===0)continue;let y=f.name?`${r.name}${f.name}`:r.name;if(f.type!=="scalarField"||f.scalarField.physicalType!==ee.STRING)throw Error("Currently only scalar string fields are implemented for a struct.");if(d>1&&!f.nullable||d===1&&f.nullable)throw Error(`The number of streams for the child field ${f.name} does not match its nullability. nullibilty: ${f.nullable}, numStreams: ${d}`);let m;if(f.nullable){let x=ce(e,t);m=new pt(ti(e,x.numValues,x.byteLength,t),x.numValues)}let g=Ve(e,t,ce(e,t),void 0,m);if(o){if(!s)throw Error(`Incomplete shared FSST dictionary for column "${y}"`);h[p++]=new Gd(y,g,n,a,s,o,m,c)}else h[p++]=new ni(y,g,n,a,m)}return h}var Xd=class extends gr{constructor(e,t,r){super(e,new Uint8Array,r??t.length),this.values=t}getValueFromBuffer(e){return this.values[e]}},St;(function(e){e[e.STRING=1]="STRING",e[e.INT32=2]="INT32",e[e.UINT32=4]="UINT32",e[e.INT64=8]="INT64",e[e.UINT64=16]="UINT64",e[e.FLOAT=32]="FLOAT",e[e.DOUBLE=64]="DOUBLE",e[e.PRESENCE=128]="PRESENCE"})(St||(St={}));var Jt;(function(e){e[e.FALSE=0]="FALSE",e[e.TRUE=1]="TRUE",e[e.START_MAP=2]="START_MAP",e[e.START_LIST=3]="START_LIST",e[e.COUNT=4]="COUNT"})(Jt||(Jt={}));function d6(e,t,r,i){let n=y6(r);if(i===0)return n.map(h=>new Xd(h,[]));let a=m6(e,t,i),s=(a.presentStream?a.presentCount:a.lengthStream.length)/n.length,o=[],l=0,u=0;for(let h=0;h<n.length;h++){let c=w6(a,h,s,l,u);o.push(new Xd(n[h],c.value,c.nullabilityBuffer)),l=c.countsEnd,u=c.valuesEnd}return o}function y6(e){let t=e.type==="complexType"?e.complexType.children:void 0;return!t||t.length===0?[e.name]:t.map(r=>e.name+(r.name??""))}function m6(e,t,r){let i=e[t.get()];t.add(1);let n=Ve(e,t,ce(e,t)),a=r-1,s=[];i&St.STRING&&(a-=g6(e,t,s)),a-=x6(e,t,i,s),a-=v6(e,t,i,s);let o,l=0;if(i&St.PRESENCE){let h=b6(e,t);o=h.value,l=h.count,a--}let u=new Uint32Array;if(a>0&&(u=Ve(e,t,ce(e,t)),a--),a!==0)throw Error(`Unexpected number of remaining streams while decoding map column: ${a}`);return{lengthStream:n,dictionary:s,presentStream:o,presentCount:l,flattenedValues:u}}function g6(e,t,r){let i=e[t.get()];t.add(1);let n=Yd("",e,t,i);if(n)for(let a=0;a<n.size;a++)r.push(n.getValue(a));return i}function x6(e,t,r,i){let n=0;return r&St.INT32?(ai(i,$a(e,t,ce(e,t))),n++):r&St.INT64&&(ai(i,Fd(e,t,ce(e,t))),n++),r&St.UINT32?(ai(i,Ve(e,t,ce(e,t))),n++):r&St.UINT64&&(ai(i,Jl(e,t,ce(e,t))),n++),n}function v6(e,t,r,i){let n=0;return r&St.FLOAT&&(ai(i,Ad(e,t,ce(e,t).numValues)),n++),r&St.DOUBLE&&(ai(i,Sd(e,t,ce(e,t).numValues)),n++),n}function b6(e,t){let r=ce(e,t);if(r.physicalStreamType!==Ae.PRESENT)throw Error(`Expected PRESENT stream for map column but found: ${r.physicalStreamType}`);let i=r.numValues,n=t.get(),a=new pt(ti(e,i,r.byteLength,t),i);return t.set(n+r.byteLength),{value:a,count:i}}function w6(e,t,r,i,n){let{lengthStream:a,flattenedValues:s,presentStream:o,dictionary:l}=e,u=t*r,h=r,c;if(o){c=new pt(new Uint8Array(Math.ceil(r/8)),r),h=0;for(let x=0;x<r;x++)o.get(u+x)&&(c.set(x,!0),h++)}let p=i+h;if(p>a.length)throw Error("Merged map counts underflow while decoding child streams");let f=Array(r),d=i,y=n;for(let x=0;x<r;x++){if(o&&!o.get(u+x)){f[x]=null;continue}let b=y+a[d++];if(b>s.length)throw Error("Map value stream underflow while decoding feature payload");let v=D6(s,y,b,l);f[x]=v.value,y=v.nextIndex}let m=0;for(let x=i;x<p;x++)m+=a[x];let g=n+m;if(y!==g)throw Error("Unused flattened map values remain after decode");return{value:f,nullabilityBuffer:c,countsEnd:p,valuesEnd:g}}function D6(e,t,r,i){return r-t===1||e[t]===Jt.START_LIST?tu(e,t,r,i):Wd(e,t,r,i)}function Wd(e,t,r,i){let n=Object.create(null),a=t;for(;a<r;){let s=Hd(e[a++],i);if(typeof s!="string")throw Error(`Map key dictionary index does not resolve to a string: ${s}`);let o=tu(e,a,r,i);n[s]=o.value,a=o.nextIndex}return{value:n,nextIndex:a}}function tu(e,t,r,i){if(t>=r)throw Error("Unexpected end of map value stream");let n=e[t];if(n===Jt.FALSE)return{value:!1,nextIndex:t+1};if(n===Jt.TRUE)return{value:!0,nextIndex:t+1};if(n===Jt.START_MAP){let a=Zd(e,t,r);return{value:Wd(e,t+2,a,i).value,nextIndex:a}}if(n===Jt.START_LIST){let a=Zd(e,t,r),s=[],o=t+2;for(;o<a;){let l=tu(e,o,a,i);s.push(l.value),o=l.nextIndex}return{value:s,nextIndex:a}}return{value:Hd(n,i),nextIndex:t+1}}function Zd(e,t,r){if(t+1>=r)throw Error("Missing length for nested map/list payload");let i=e[t+1];if(i<2)throw Error(`Invalid nested payload length: ${i}`);let n=t+i;if(n>r)throw Error("Nested payload exceeds containing payload bounds");return n}function Hd(e,t){let r=e-Jt.COUNT;if(r<0||r>=t.length)throw Error(`Scalar dictionary index out of range: ${e}`);return t[r]}function ai(e,t){for(let r of t)e.push(r)}function _6(e,t,r,i,n,a){return r.type==="scalarType"?A6(i,e,t,n,r.scalarType,r):r.complexType?.physicalType===Wt.MAP?d6(e,t,r,i):i===0?null:f6(e,t,r)}function A6(e,t,r,i,n,a){let s;if(e===0)return null;if(a.nullable){let l=ce(t,r),u=l.numValues,h=r.get(),c=ti(t,u,l.byteLength,r);r.set(h+l.byteLength),s=new pt(c,l.numValues)}let o=s??i;switch(n.physicalType){case ee.UINT_32:case ee.INT_32:return I6(t,r,a,n,o);case ee.STRING:{let l=a.nullable?e-1:e;return Yd(a.name,t,r,l,s)??null}case ee.BOOLEAN:return S6(t,r,a,i,o);case ee.UINT_64:case ee.INT_64:return F6(t,r,a,o,n);case ee.FLOAT:return E6(t,r,a,o);case ee.DOUBLE:return T6(t,r,a,o);default:throw Error(`The specified data type for the field is currently not supported: ${n}`)}}function S6(e,t,r,i,n){let a=ce(e,t),s=a.numValues,o=t.get(),l=fn(n)?n:void 0,u=ti(e,s,a.byteLength,t,l);t.set(o+a.byteLength);let h=new pt(u,s);return new s6(r.name,h,n)}function E6(e,t,r,i){let n=ce(e,t),a=fn(i)?i:void 0,s=Ad(e,t,n.numValues,a);return new o6(r.name,s,i)}function T6(e,t,r,i){let n=ce(e,t),a=fn(i)?i:void 0,s=Sd(e,t,n.numValues,a);return new Ol(r.name,s,i)}function F6(e,t,r,i,n){let a=ce(e,t),s=Na(a,i,e,t,"int64"),o=n.physicalType===ee.INT_64;if(s===ue.FLAT){let u=fn(i)?i:void 0,h=o?Fd(e,t,a,u):Jl(e,t,a,u);return new Cd(r.name,h,i)}if(s===ue.SEQUENCE){let u=Td(e,t,a);return new Bd(r.name,u[0],u[1],a.numRleValues,o)}let l=o?N3(e,t,a):Id(e,t,a);return new qd(r.name,l,i,o)}function I6(e,t,r,i,n){let a=ce(e,t),s=Na(a,n,e,t),o=i.physicalType===ee.INT_32;if(s===ue.FLAT){let u=fn(n)?n:void 0,h=o?$a(e,t,a,void 0,u):Ve(e,t,a,void 0,u);return new Vl(r.name,h,n)}if(s===ue.SEQUENCE){let u=Ed(e,t,a);return new Rl(r.name,u[0],u[1],a.numRleValues,o)}let l=o?O3(e,t,a):Hl(e,t,a);return new $l(r.name,l,n,o)}function fn(e){return e instanceof pt}const ke={ID:0,ID_NULLABLE:1,ID_LONG:2,GEOMETRY:4,SCALAR_BASE:10,STRUCT:30,MAP:31};function Jd(e){switch(e){case ke.ID:case ke.ID|ke.ID_NULLABLE:case ke.ID|ke.ID_LONG:case ke.ID|ke.ID_LONG|ke.ID_NULLABLE:return{nullable:(e&ke.ID_NULLABLE)!==0,columnScope:cn.FEATURE,type:"scalarType",scalarType:{longID:(e&ke.ID_LONG)!==0,type:"logicalType",logicalType:dd.ID}};case ke.GEOMETRY:return{nullable:!1,columnScope:cn.FEATURE,type:"complexType",complexType:{type:"physicalType",physicalType:Wt.GEOMETRY,children:[]}};case ke.STRUCT:return{nullable:!1,columnScope:cn.FEATURE,type:"complexType",complexType:{type:"physicalType",physicalType:Wt.STRUCT,children:[]}};case ke.MAP:return{nullable:!0,columnScope:cn.FEATURE,type:"complexType",complexType:{type:"physicalType",physicalType:Wt.MAP,children:[]}};default:return M6(e)}}function k6(e){return e>=ke.SCALAR_BASE}function Kd(e){return e===ke.STRUCT||e===ke.MAP}function C6(e){if(e.type==="scalarType"){let t=e.scalarType;if(t.type==="physicalType")switch(t.physicalType){case ee.BOOLEAN:case ee.INT_8:case ee.UINT_8:case ee.INT_32:case ee.UINT_32:case ee.INT_64:case ee.UINT_64:case ee.FLOAT:case ee.DOUBLE:return!1;case ee.STRING:return!0;default:return!1}if(t.type==="logicalType")return!1}else if(e.type==="complexType"){let t=e.complexType;if(t.type==="physicalType")switch(t.physicalType){case Wt.GEOMETRY:case Wt.STRUCT:case Wt.MAP:return!0;default:return!1}}return console.warn("Unexpected column type in hasStreamCount",e),!1}function B6(e){return e.type==="scalarType"&&e.scalarType?.type==="logicalType"&&e.scalarType.logicalType===dd.ID}function P6(e){return e.type==="complexType"&&e.complexType?.type==="physicalType"&&e.complexType.physicalType===Wt.GEOMETRY}function M6(e){let t;switch(e){case 10:case 11:t=ee.BOOLEAN;break;case 12:case 13:t=ee.INT_8;break;case 14:case 15:t=ee.UINT_8;break;case 16:case 17:t=ee.INT_32;break;case 18:case 19:t=ee.UINT_32;break;case 20:case 21:t=ee.INT_64;break;case 22:case 23:t=ee.UINT_64;break;case 24:case 25:t=ee.FLOAT;break;case 26:case 27:t=ee.DOUBLE;break;case 28:case 29:t=ee.STRING;break;default:return null}return{nullable:!!(e&1),columnScope:cn.FEATURE,type:"scalarType",scalarType:{longID:!1,type:"physicalType",physicalType:t}}}const z6=new TextDecoder,Qd="0-3(ID), 4(GEOMETRY), 10-29(scalars), 30(STRUCT), 31(MAP)";function ru(e,t){let r=ze(e,t,1)[0];if(r===0)return"";let i=t.get(),n=i+r,a=e.subarray(i,n);return t.add(r),z6.decode(a)}function L6(e){let t=e.name,r=e.nullable;return e.type==="scalarType"?{type:"scalarField",scalarField:e.scalarType,name:t,nullable:r}:{type:"complexField",complexField:e.complexType,name:t,nullable:r}}function ey(e,t){let r=ze(e,t,1)[0]>>>0,i=r>=ke.SCALAR_BASE?Jd(r):null;if(!i)throw Error(`Unsupported field type code ${r}. Supported: 10-29(scalars), 30(STRUCT), 31(MAP)`);let n={...i,name:ru(e,t)};if(n.type==="complexType"&&Kd(r)){let a=n.complexType,s=ze(e,t,1)[0]>>>0;a.children=Array(s);for(let o=0;o<s;o++)a.children[o]=ey(e,t)}return L6(n)}function V6(e,t){let r=ze(e,t,1)[0]>>>0,i=Jd(r);if(!i)throw Error(`Unsupported column type code ${r}. Supported: ${Qd}`);let n;if(k6(r))n=ru(e,t);else if(r<ke.GEOMETRY)n="id";else if(r===ke.GEOMETRY)n="geometry";else throw Error(`Unsupported column type code ${r}. Supported: ${Qd}`);let a={...i,name:n};if(a.type==="complexType"&&Kd(r)){let s=ze(e,t,1)[0]>>>0,o=a.complexType;o.children=Array(s);for(let l=0;l<s;l++)o.children[l]=ey(e,t)}return a}function O6(e,t){let r={};r.featureTables=[];let i={};if(i.name=ru(e,t),i.name.length===0)throw Error("Missing layer name");let n=ze(e,t,1)[0]>>>0,a=ze(e,t,1)[0]>>>0;i.columns=Array(a);for(let s=0;s<a;s++)i.columns[s]=V6(e,t);return r.featureTables.push(i),[r,n]}function R6(e,t,r=!0){let i=new yd(0),n=[];for(;i.get()<e.length;){let a=ze(e,i,1)[0]>>>0,s=i.get()+a;if(s>e.length)throw Error(`Block overruns tile: ${s} > ${e.length}`);let o=ze(e,i,1)[0]>>>0;if(o!==1&&o!==2){i.set(s);continue}let[l,u]=O6(e,i),h=l.featureTables[0],c=null,p=null,f=[],d=0;for(let m of h.columns){let g=m.name;if(B6(m)){let x=null;if(m.nullable){let v=ce(e,i),w=i.get(),_=ti(e,v.numValues,v.byteLength,i);i.set(w+v.byteLength),x=new pt(_,v.numValues)}let b=ce(e,i);d=x?x.size():b.decompressedCount,c=$6(e,m,i,g,b,x??d,r)}else if(P6(m)){let x=ze(e,i,1)[0];if(d===0){let b=i.get();d=ce(e,i).decompressedCount,i.set(b)}p=i6(e,x,i,d,t)}else{let x=C6(m)?ze(e,i,1)[0]:1;if(x===0)continue;let b=_6(e,i,m,x,d);if(b)if(Array.isArray(b))for(let v of b)f.push(v);else f.push(b)}}let y=new hw(h.name,p,c,f,u);n.push(y),i.set(s)}return n}function $6(e,t,r,i,n,a,s=!1){let o=t.scalarType?.longID?ee.UINT_64:ee.UINT_32,l=typeof a=="number"?void 0:a,u=Na(n,a,e,r,o===ee.UINT_64?"int64":"int32");if(o===ee.UINT_32)switch(u){case ue.FLAT:return new Vl(i,Ve(e,r,n,void 0,l),a);case ue.SEQUENCE:{let h=Ed(e,r,n);return new Rl(i,h[0],h[1],n.numRleValues,!1)}case ue.CONST:return new $l(i,Hl(e,r,n),a,!1)}switch(u){case ue.FLAT:return s?new Ol(i,R3(e,r,n,l),a):new Cd(i,Jl(e,r,n,l),a);case ue.SEQUENCE:{let h=Td(e,r,n);return new Bd(i,h[0],h[1],n.numRleValues,!1)}case ue.CONST:return new qd(i,Id(e,r,n),a,!1)}throw Error("Vector type not supported for id column.")}var N6=class{constructor(e,t){switch(this._featureData=e,this.properties=this._featureData.properties||{},this._featureData.geometry?.type){case Be.POINT:case Be.MULTIPOINT:this.type=1;break;case Be.LINESTRING:case Be.MULTILINESTRING:this.type=2;break;case Be.POLYGON:case Be.MULTIPOLYGON:this.type=3;break;default:this.type=0}this.extent=t,this.id=Number(this._featureData.id)}loadGeometry(){let e=[];for(let t of this._featureData.geometry.coordinates){let r=[];for(let i of t)r.push(new B(i.x,i.y));e.push(r)}return e}},U6=class{constructor(e){this.features=[],this.featureTable=e,this.name=e.name,this.extent=e.extent,this.version=2,this.features=e.getFeatures(),this.length=this.features.length}feature(e){return new N6(this.features[e],this.extent)}},ty=class{constructor(e){this.layers={};let t=R6(new Uint8Array(e));this.layers=t.reduce((r,i)=>({...r,[i.name]:new U6(i)}),{})}},ry=class{constructor(e,t){this.tileID=e,this.x=e.canonical.x,this.y=e.canonical.y,this.z=e.canonical.z,this.grid=new ho(xe,16,0),this.grid3D=new ho(xe,16,0),this.featureIndexArray=new $c,this.promoteId=t}insert(e,t,r,i,n,a){let s=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,i,n);let o=a?this.grid3D:this.grid;for(let l of t){let u=[1/0,1/0,-1/0,-1/0];for(let h of l)u[0]=Math.min(u[0],h.x),u[1]=Math.min(u[1],h.y),u[2]=Math.max(u[2],h.x),u[3]=Math.max(u[3],h.y);u[0]<8192&&u[1]<8192&&u[2]>=0&&u[3]>=0&&o.insert(s,u[0],u[1],u[2],u[3])}}loadVTLayers(){if(!this.vtLayers){switch(this.encoding){case"mlt":this.vtLayers=new ty(this.rawTileData).layers;break;default:this.vtLayers=new Tp(new Sf(this.rawTileData)).layers}this.sourceLayerCoder=new pd(this.vtLayers?Object.keys(this.vtLayers).sort():[zl])}return this.vtLayers}query(e,t,r,i){this.loadVTLayers();let n=e.params,a=xe/e.tileSize/e.scale,s=Oi(n.filter,"queryRenderedFeatures filter",n.globalState),o=e.queryGeometry,l=e.queryPadding*a,u=Sa.fromPoints(o),h=this.grid.query(u.minX-l,u.minY-l,u.maxX+l,u.maxY+l),c=Sa.fromPoints(e.cameraQueryGeometry).expandBy(l),p=this.grid3D.query(c.minX,c.minY,c.maxX,c.maxY,(y,m,g,x)=>pg(e.cameraQueryGeometry,y-l,m-l,g+l,x+l));for(let y of p)h.push(y);h.sort(j6);let f={},d;for(let y of h){if(y===d)continue;d=y;let m=this.featureIndexArray.get(y),g=null;this.loadMatchingFeature(f,m.bucketIndex,m.sourceLayerIndex,m.featureIndex,s,n.layers,n.availableImages,t,r,i,(x,b,v)=>(g||(g=fr(x)),b.queryIntersectsFeature({queryGeometry:o,feature:x,featureState:v,geometry:g,zoom:this.z,transform:e.transform,pixelsToTileUnits:a,pixelPosMatrix:e.pixelPosMatrix,unwrappedTileID:this.tileID.toUnwrapped(),getElevation:e.getElevation})))}return f}loadMatchingFeature(e,t,r,i,n,a,s,o,l,u,h){let c=this.bucketLayerIDs[t];if(a&&!c.some(y=>a.has(y)))return;let p=this.sourceLayerCoder.decode(r),f=this.vtLayers[p].feature(i);if(n.needGeometry){let y=jr(f,!0);if(!n.filter(new oe(this.tileID.overscaledZ),y,this.tileID.canonical))return}else if(!n.filter(new oe(this.tileID.overscaledZ),f))return;let d=this.getId(f,p);for(let y of c){if(a&&!a.has(y))continue;let m=o[y];if(!m)continue;let g={};d&&u&&(g=u.getState(m.sourceLayer||"_geojsonTileLayer",d));let x=Xe({},l[y]);x.paint=iy(x.paint,m.paint,f,g,s),x.layout=iy(x.layout,m.layout,f,g,s);let b=!h||h(f,m,g);if(!b)continue;let v=new uw(f,this.z,this.x,this.y,d);v.layer=x;let w=e[y];w===void 0&&(w=e[y]=[]),w.push({featureIndex:i,feature:v,intersectionZ:b})}}lookupSymbolFeatures(e,t,r,i,n,a,s,o){let l={};this.loadVTLayers();let u=Oi(n.filterSpec,"queryRenderedFeatures symbol filter",n.globalState);for(let h of e)this.loadMatchingFeature(l,r,i,h,u,a,s,o,t);return l}hasLayer(e){for(let t of this.bucketLayerIDs)for(let r of t)if(e===r)return!0;return!1}getId(e,t){let r=e.id;if(this.promoteId){let i=typeof this.promoteId=="string"?this.promoteId:this.promoteId[t];r=e.properties[i],typeof r=="boolean"&&(r=Number(r)),r===void 0&&e.properties?.cluster&&this.promoteId&&(r=Number(e.properties.cluster_id))}return r}};C("FeatureIndex",ry,{omit:["rawTileData","sourceLayerCoder"]});function q6(e){return typeof e=="object"&&!!e&&"evaluate"in e}function iy(e,t,r,i,n){return Ds(e,(a,s)=>{let o=t instanceof ha?t.get(s):null;return q6(o)?o.evaluate(r,i,void 0,n):o})}function j6(e,t){return t-e}var G6=class{constructor(e){this.maxEntries=e,this.map=new Map}get(e){let t=this.map.get(e);return t!==void 0&&(this.map.delete(e),this.map.set(e,t)),t}set(e,t){if(this.map.has(e))this.map.delete(e);else if(this.map.size>=this.maxEntries){let r=this.map.keys().next().value;this.map.delete(r)}this.map.set(e,t)}clear(){this.map.clear()}};function iu(e){let t=typeof e;if(t==="number"||t==="boolean"||t==="string"||e==null)return JSON.stringify(e);if(Array.isArray(e)){let n="[";for(let a of e)n+=`${iu(a)},`;return`${n}]`}let r=Object.keys(e).sort(),i="{";for(let n=0;n<r.length;n++)i+=`${JSON.stringify(r[n])}:${iu(e[r[n]])},`;return`${i}}`}function Y6(e){let t="";for(let r of B1)t+=`/${iu(e[r])}`;return t}function X6(e,t){let r={};for(let n=0;n<e.length;n++){let a=t&&t[e[n].id]||Y6(e[n]);t&&(t[e[n].id]=a);let s=r[a];s||(s=r[a]=[]),s.push(e[n])}let i=[];for(let n in r)i.push(r[n]);return i}var W6=class{constructor(e,t){this.keyCache={},e&&this.replace(e,t)}replace(e,t){this._layerConfigs={},this._layers={},this.update(e,[],t)}update(e,t,r){for(let n of e){this._layerConfigs[n.id]=n;let a=this._layers[n.id]=Xb(n,r);a._featureFilter=Oi(a.filter,`layers[${n.id}].filter`,r),this.keyCache[n.id]&&delete this.keyCache[n.id]}for(let n of t)delete this.keyCache[n],delete this._layerConfigs[n],delete this._layers[n];this.familiesBySource={};let i=X6(Object.values(this._layerConfigs),this.keyCache);for(let n of i){let a=n.map(c=>this._layers[c.id]),s=a[0];if(s.isHidden())continue;let o=s.source||"",l=this.familiesBySource[o];l||(l=this.familiesBySource[o]={});let u=s.sourceLayer||"_geojsonTileLayer",h=l[u];h||(h=l[u]=[]),h.push(a)}}},ny=class{constructor(e){let t={},r=[];for(let s in e){let o=e[s],l=t[s]={};for(let u in o){let h=o[u];if(!h||h.bitmap.width===0||h.bitmap.height===0)continue;let c={x:0,y:0,w:h.bitmap.width+2,h:h.bitmap.height+2};r.push(c),l[u]={rect:c,metrics:h.metrics}}}let{w:i,h:n}=Tf(r),a=new Go({width:i||1,height:n||1});for(let s in e){let o=e[s];for(let l in o){let u=o[l];if(!u||u.bitmap.width===0||u.bitmap.height===0)continue;let h=t[s][l].rect;Go.copy(u.bitmap,a,{x:0,y:0},{x:h.x+1,y:h.y+1},u.bitmap)}}this.image=a,this.positions=t}};C("GlyphAtlas",ny);var ay=class{constructor(e){this.tileID=new ld(e.tileID.overscaledZ,e.tileID.wrap,e.tileID.canonical.z,e.tileID.canonical.x,e.tileID.canonical.y),this.uid=e.uid,this.zoom=e.zoom,this.pixelRatio=e.pixelRatio,this.tileSize=e.tileSize,this.source=e.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=e.showCollisionBoxes,this.collectResourceTiming=!!e.collectResourceTiming,this.returnDependencies=!!e.returnDependencies,this.promoteId=e.promoteId,this.inFlightDependencies=[]}async parse(e,t,r,i,n){this.data=e,this.collisionBoxArray=new kc;let a=new pd(Object.keys(e.layers).sort()),s=new ry(this.tileID,this.promoteId);s.bucketLayerIDs=[];let o={},l={featureIndex:s,iconDependencies:{},patternDependencies:{},glyphDependencies:{},dashDependencies:{},availableImages:r,subdivisionGranularity:n},u=t.familiesBySource[this.source];for(let S in u){let F=e.layers[S];if(!F)continue;F.version===1&&Ce(`Vector tile source "${this.source}" layer "${S}" does not use vector tile spec v2 and therefore may have some rendering errors.`);let V=a.encode(S),z=[];for(let P=0;P<F.length;P++){let O=F.feature(P),E=s.getId(O,S);z.push({feature:O,id:E,index:P,sourceLayerIndex:V})}for(let P of u[S]){let O=P[0];O.source!==this.source&&Ce(`layer.source = ${O.source} does not equal this.source = ${this.source}`),!O.isHidden(this.zoom,!0)&&(sy(P,this.zoom,r),(o[O.id]=O.createBucket({index:s.bucketLayerIDs.length,layers:P,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:V,sourceID:this.source})).populate(z,l,this.tileID.canonical),s.bucketLayerIDs.push(P.map(E=>E.id)))}}let h=Ds(l.glyphDependencies,S=>Object.keys(S));for(let S of this.inFlightDependencies)S?.abort();this.inFlightDependencies=[];let c=Promise.resolve({});if(Object.keys(h).length){let S=new AbortController;this.inFlightDependencies.push(S),c=i.sendAsync({type:"GG",data:{stacks:h,source:this.source,tileID:this.tileID,type:"glyphs"}},S)}let p=Object.keys(l.iconDependencies),f=Promise.resolve({});if(p.length){let S=new AbortController;this.inFlightDependencies.push(S),f=i.sendAsync({type:"GI",data:{icons:p,source:this.source,tileID:this.tileID,type:"icons"}},S)}let d=Object.keys(l.patternDependencies),y=Promise.resolve({});if(d.length){let S=new AbortController;this.inFlightDependencies.push(S),y=i.sendAsync({type:"GI",data:{icons:d,source:this.source,tileID:this.tileID,type:"patterns"}},S)}let m=l.dashDependencies,g=Promise.resolve({});if(Object.keys(m).length){let S=new AbortController;this.inFlightDependencies.push(S),g=i.sendAsync({type:"GDA",data:{dashes:m}},S)}let[x,b,v,w]=await Promise.all([c,f,y,g]),_=new ny(x),A=new If(b,v);for(let S in o){let F=o[S];F.hasDependencies&&(sy(F.layers,this.zoom,r),F.addFeatures({options:l,canonical:this.tileID.canonical,glyphMap:x,glyphPositions:_.positions,iconMap:b,iconPositions:A.iconPositions,patternMap:v,patternPositions:A.patternPositions,dashPositions:w,showCollisionBoxes:this.showCollisionBoxes}))}return{buckets:Object.values(o).filter(S=>!S.isEmpty()),featureIndex:s,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:_.image,imageAtlas:A,dashPositions:w,glyphMap:this.returnDependencies?x:null,iconMap:this.returnDependencies?b:null,glyphPositions:this.returnDependencies?_.positions:null}}};function sy(e,t,r){let i=new oe(t);for(let n of e)n.recalculate(i,r)}var oy=class{constructor(){this.loading={},this.loaded={},this.parsing={}}startLoading(e,t){this.loading[e]=t}finishLoading(e){delete this.loading[e]}abort(e){let t=this.loading[e];t?.abort&&(t.abort.abort(),delete this.loading[e])}getParsing(e){return this.parsing[e]}setParsing(e,t){this.parsing[e]=t}removeParsing(e){delete this.parsing[e]}markLoaded(e,t){this.loaded[e]=t}getLoaded(e){let t=this.loaded[e];if(t)return t}removeLoaded(e){delete this.loaded[e]}clearLoaded(){this.loaded={}}},ly=class{constructor(e){this.start=`${e}#start`,this.end=`${e}#end`,this.measure=e,performance.mark(this.start)}finish(){performance.mark(this.end);let e=performance.getEntriesByName(this.measure);return e.length===0&&(performance.measure(this.measure,this.start,this.end),e=performance.getEntriesByName(this.measure),performance.clearMarks(this.start),performance.clearMarks(this.end),performance.clearMeasures(this.measure)),e}},Z6=class{constructor(e,t,r,i,n){this.type=e,this.properties=r||{},this.extent=n,this.pointsArray=t,this.id=i}loadGeometry(){return this.pointsArray.map(e=>e.map(t=>new B(t.x,t.y)))}},H6=class{constructor(e,t,r){this.version=2,this._myFeatures=e,this.name=t,this.length=e.length,this.extent=r}feature(e){return this._myFeatures[e]}},J6=class{constructor(){this.layers={}}addLayer(e){this.layers[e.name]=e}};function K6(e,t,r){let{extent:i}=e,n=2**(r.z-t.z),a=(r.x-t.x*n)*i,s=(r.y-t.y*n)*i,o=[];for(let l=0;l<e.length;l++){let u=e.feature(l),h=u.loadGeometry();for(let c of h)for(let p of c)p.x=p.x*n-a,p.y=p.y*n-s;h=gb(h,u.type,-128,-128,i+128,i+128),h.length!==0&&o.push(new Z6(u.type,h,u.properties,u.id,i))}return new H6(o,e.name,i)}var Q6=class{constructor(e,t,r){this.actor=e,this.layerIndex=t,this.availableImages=r,this.tileState=new oy,this.overzoomedTileResultCache=new G6(1e3)}loadVectorTile(e,t){try{return{vectorTile:e.encoding==="mlt"?new ty(t):new Tp(new Sf(t)),rawData:t}}catch(r){let i=new Uint8Array(t),n=i[0]===31&&i[1]===139,a=`Unable to parse the tile at ${e.request.url}, `;throw a+=n?"please make sure the data is not gzipped and that you have configured the relevant header in the server":`got error: ${Ln(r).message}`,Error(a)}}async loadTile(e){let{uid:t,overzoomParameters:r}=e;r&&(e.request=r.overzoomRequest);let i=this._startRequestTiming(e),n=new ay(e);this.tileState.startLoading(t,n);let a=new AbortController;n.abort=a;try{let s=await k1(e.request,a);if(e.etag&&e.etag===s.etag)return this.tileState.finishLoading(t),this._getEtagUnmodifiedResult(s,i);let o=this.loadVectorTile(e,s.data);if(this.tileState.finishLoading(t),!o)return null;let{vectorTile:l,rawData:u}=o;r&&({vectorTile:l,rawData:u}=this._getOverzoomTile(e,l));let h=this._getExpiryData(s),c=this._finishRequestTiming(i);n.vectorTile=l,n.etag=s.etag,this.tileState.markLoaded(t,n);let p={rawData:u,cacheControl:h,resourceTiming:c};return this.tileState.setParsing(t,p),await this._parseWorkerTile(n,e)}catch(s){throw this.tileState.finishLoading(t),this.tileState.markLoaded(t,n),s}}_getEtagUnmodifiedResult(e,t){let r=this._getExpiryData(e),i=this._finishRequestTiming(t);return Xe({etagUnmodified:!0},r,i)}async _parseWorkerTile(e,t){let r=this.tileState.getParsing(e.uid),i=await e.parse(e.vectorTile,this.layerIndex,this.availableImages,this.actor,t.subdivisionGranularity);if(r){let{rawData:n,cacheControl:a,resourceTiming:s}=r,o=t.overzoomParameters?"mvt":t.encoding;i=Xe({rawTileData:n.slice(0),encoding:o},i,a,s),this.tileState.removeParsing(e.uid)}else e.etag&&(i=Xe(i,{etag:e.etag}));return i}_getExpiryData({expires:e,cacheControl:t,etag:r}){let i={};return e&&(i.expires=e),t&&(i.cacheControl=t),r&&(i.etag=r),i}_startRequestTiming(e){if(e.request?.collectResourceTiming)return new ly(e.request.url)}_finishRequestTiming(e){let t=e?.finish();return t?{resourceTiming:JSON.parse(JSON.stringify(t))}:{}}_getOverzoomTile(e,t){let{tileID:r,source:i,overzoomParameters:n}=e,{maxZoomTileID:a}=n,s=`${a.key}_${r.key}_${e.request?.url}`,o=this.overzoomedTileResultCache.get(s);if(o)return o;let l=new J6,u=this.layerIndex.familiesBySource[i];for(let c in u){let p=t.layers[c];if(!p)continue;let f=K6(p,a,r.canonical);f.length>0&&l.addLayer(f)}let h={vectorTile:l,rawData:hd(l).buffer};return this.overzoomedTileResultCache.set(s,h),h}async reloadTile(e){let t=e.uid,r=this.tileState.getLoaded(t);if(!r)throw Error("Should not be trying to reload a tile that was never loaded or has been removed");if(r.vectorTile)return r.showCollisionBoxes=e.showCollisionBoxes,await this._parseWorkerTile(r,e)}async abortTile(e){this.tileState.abort(e.uid)}async removeTile(e){this.tileState.removeLoaded(e.uid)}},e5=class{constructor(){this.loaded={}}async loadTile(e){let{uid:t,encoding:r,rawImageData:i,redFactor:n,greenFactor:a,blueFactor:s,baseShift:o}=e,l=i.width+4,u=i.height+4,h=As(i)?new Qe({width:l,height:u},await w1(i,-2,-2,l,u)):i,c=new hp(t,h,r,n,a,s,o);return this.loaded||(this.loaded={}),this.loaded[t]=c,c}removeTile(e){let t=this.loaded,r=e.uid;t?.[r]&&delete t[r]}},t5=class{constructor(e,t,r,i=r5){this.actor=e,this.layerIndex=t,this.availableImages=r,this.tileState=new oy,this._createGeoJSONIndex=i}loadVectorTile(e){if(!this._geoJSONIndex)throw Error("Unable to parse the data into a cluster or geojson");let{z:t,x:r,y:i}=e.tileID.canonical,n=this._geoJSONIndex.getTile(t,r,i);if(!n)return null;let a=new rw(n.features,{version:2,extent:xe});return{vectorTile:a,rawData:hd(a,f1).buffer}}async loadTile(e){let{uid:t}=e,r=new ay(e);r.abort=new AbortController;try{let i=this.loadVectorTile(e);if(!i)return null;let{vectorTile:n,rawData:a}=i;r.vectorTile=n,this.tileState.markLoaded(t,r);let s={rawData:a};return this.tileState.setParsing(t,s),await this._parseWorkerTile(r,e)}catch(i){throw this.tileState.markLoaded(t,r),i}}async _parseWorkerTile(e,t){let r=this.tileState.getParsing(e.uid),i=await e.parse(e.vectorTile,this.layerIndex,this.availableImages,this.actor,t.subdivisionGranularity);if(r){let{rawData:n}=r;i=Xe({rawTileData:n.slice(0),encoding:"mvt"},i),this.tileState.removeParsing(e.uid)}return i}async abortTile(e){this.tileState.abort(e.uid)}async removeTile(e){this.tileState.removeLoaded(e.uid)}async loadData(e){this._pendingRequest?.abort();let t=this._startRequestTiming(e);this._pendingRequest=new AbortController;try{await this.loadAndProcessGeoJSON(e,this._pendingRequest),delete this._pendingRequest,this.tileState.clearLoaded();let r={};return e.request&&(r.data=e.data),this._finishRequestTiming(t,e,r),r}catch(r){if(delete this._pendingRequest,!Wu(r))throw r;return{abandoned:!0}}}_startRequestTiming(e){if(e.request?.collectResourceTiming)return new ly(e.request.url)}_finishRequestTiming(e,t,r){let i=e?.finish();i&&(r.resourceTiming={[t.source]:JSON.parse(JSON.stringify(i))})}async reloadTile(e){let t=e.uid,r=this.tileState.getLoaded(t);if(!r)return await this.loadTile(e);if(r.vectorTile)return r.showCollisionBoxes=e.showCollisionBoxes,await this._parseWorkerTile(r,e)}async loadAndProcessGeoJSON(e,t){if(e.request&&(e.data=(await I1(e.request,t)).data),e.data){e.data=this._filterGeoJSON(e.data,e.filter,e.source),this._geoJSONIndex=this._createGeoJSONIndex(e.data,e);return}if(e.dataDiff){this._geoJSONIndex??(this._geoJSONIndex=this._createGeoJSONIndex({type:"FeatureCollection",features:[]},e)),this._geoJSONIndex.updateData(e.dataDiff,this._getFilterPredicate(e.filter,e.source));return}if(e.updateCluster&&this._geoJSONIndex.updateClusterOptions(e.geojsonVtOptions.cluster,uy(e)),this._geoJSONIndex==null)throw Error(`Input data given to \'${e.source}\' is not a valid GeoJSON object.`)}_filterGeoJSON(e,t,r){if(e.type!=="FeatureCollection")return e;let i=this._getFilterPredicate(t,r);return i?{type:"FeatureCollection",features:e.features.filter(n=>i(n))}:e}_getFilterPredicate(e,t){if(typeof e!="boolean"&&!e?.length)return;let r=ur(e,`sources.${t}.filter`,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if(r.result==="error")throw Error(r.value.map(i=>`${i.key}: ${i.message}`).join(", "));return i=>r.value.evaluate({zoom:0},i)}async removeSource(e){this._pendingRequest?.abort()}getClusterExpansionZoom(e){return this._geoJSONIndex.getClusterExpansionZoom(e.clusterId)}getClusterChildren(e){return this._geoJSONIndex.getClusterChildren(e.clusterId)}getClusterLeaves(e){return this._geoJSONIndex.getClusterLeaves(e.clusterId,e.limit,e.offset)}};function r5(e,t){let r=Xe(t.geojsonVtOptions||{},{updateable:!0,clusterOptions:uy(t)});return new S2(e,r)}function uy({geojsonVtOptions:e,clusterProperties:t,source:r}){if(!t||!e.clusterOptions)return e.clusterOptions;let i={},n={},a={accumulated:null,zoom:0},s={properties:null},o=Object.keys(t);for(let l of o){let[u,h]=t[l],c=ur(h,`sources.${r}.clusterProperties.${l}[1]`),p=ur(typeof u=="string"?[u,["accumulated"],["get",l]]:u,`sources.${r}.clusterProperties.${l}[0]`);i[l]=c.value,n[l]=p.value}return e.clusterOptions.map=l=>{s.properties=l;let u={};for(let h of o)u[h]=i[h].evaluate(a,s);return u},e.clusterOptions.reduce=(l,u)=>{s.properties=u;for(let h of o)a.accumulated=l[h],l[h]=n[h].evaluate(a,s)},e.clusterOptions}async function hy(e){if(e.endsWith(".mjs")){await import(e);return}let t=await fetch(e,{credentials:"same-origin"});if(!t.ok)throw Error(`Failed to load ${e}: ${t.status}`);let r=await t.text();if(/^[ \\t]*(import|export)\\s/m.test(r)){let i=URL.createObjectURL(new Blob([r],{type:"text/javascript"}));try{await import(i)}finally{URL.revokeObjectURL(i)}return}globalThis.eval(r)}var cy=class{constructor(e){this.self=e,this.actor=new Hb(e),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.globalStates=new Map,this.self.registerWorkerSource=(t,r)=>{if(this.externalWorkerSourceTypes[t])throw Error(`Worker source with name "${t}" already registered.`);this.externalWorkerSourceTypes[t]=r},this.self.addProtocol=A1,this.self.removeProtocol=S1,this.self.registerRTLTextPlugin=t=>{Jr.setMethods(t)},this.self.makeRequest=Ts,this.actor.registerMessageHandler("LDT",(t,r)=>this._getDEMWorkerSource(t,r.source).loadTile(r)),this.actor.registerMessageHandler("RDT",async(t,r)=>{this._getDEMWorkerSource(t,r.source).removeTile(r)}),this.actor.registerMessageHandler("GCEZ",async(t,r)=>this._getWorkerSource(t,r.type,r.source).getClusterExpansionZoom(r)),this.actor.registerMessageHandler("GCC",async(t,r)=>this._getWorkerSource(t,r.type,r.source).getClusterChildren(r)),this.actor.registerMessageHandler("GCL",async(t,r)=>this._getWorkerSource(t,r.type,r.source).getClusterLeaves(r)),this.actor.registerMessageHandler("LD",(t,r)=>this._getWorkerSource(t,r.type,r.source).loadData(r)),this.actor.registerMessageHandler("LT",(t,r)=>this._getWorkerSource(t,r.type,r.source).loadTile(r)),this.actor.registerMessageHandler("RT",(t,r)=>this._getWorkerSource(t,r.type,r.source).reloadTile(r)),this.actor.registerMessageHandler("AT",(t,r)=>this._getWorkerSource(t,r.type,r.source).abortTile(r)),this.actor.registerMessageHandler("RMT",(t,r)=>this._getWorkerSource(t,r.type,r.source).removeTile(r)),this.actor.registerMessageHandler("RS",async(t,r)=>{if(!this.workerSources[t]?.[r.type]?.[r.source])return;let i=this.workerSources[t][r.type][r.source];delete this.workerSources[t][r.type][r.source],i.removeSource!==void 0&&i.removeSource(r)}),this.actor.registerMessageHandler("RM",async t=>{delete this.layerIndexes[t],delete this.availableImages[t],delete this.workerSources[t],delete this.demWorkerSources[t],this.globalStates.delete(t)}),this.actor.registerMessageHandler("SR",async(t,r)=>{this.referrer=r}),this.actor.registerMessageHandler("SRPS",(t,r)=>this._syncRTLPluginState(t,r)),this.actor.registerMessageHandler("IS",async(t,r)=>{await hy(r)}),this.actor.registerMessageHandler("SI",(t,r)=>this._setImages(t,r)),this.actor.registerMessageHandler("UL",async(t,r)=>{this._getLayerIndex(t).update(r.layers,r.removedIds,this._getGlobalState(t))}),this.actor.registerMessageHandler("UGS",async(t,r)=>{let i=this._getGlobalState(t);for(let n in r)i[n]=r[n]}),this.actor.registerMessageHandler("SL",async(t,r)=>{this._getLayerIndex(t).replace(r,this._getGlobalState(t))})}_getGlobalState(e){let t=this.globalStates.get(e);return t||(t={},this.globalStates.set(e,t)),t}async _setImages(e,t){this.availableImages[e]=t;for(let r in this.workerSources[e]){let i=this.workerSources[e][r];for(let n in i)i[n].availableImages=t}}async _syncRTLPluginState(e,t){return await Jr.syncState(t,hy)}_getAvailableImages(e){let t=this.availableImages[e];return t||(t=[]),t}_getLayerIndex(e){let t=this.layerIndexes[e];return t||(t=this.layerIndexes[e]=new W6),t}_getWorkerSource(e,t,r){var i,n;if((i=this.workerSources)[e]||(i[e]={}),(n=this.workerSources[e])[t]||(n[t]={}),!this.workerSources[e][t][r]){let a={sendAsync:(s,o)=>(s.targetMapId=e,this.actor.sendAsync(s,o))};switch(t){case"vector":this.workerSources[e][t][r]=new Q6(a,this._getLayerIndex(e),this._getAvailableImages(e));break;case"geojson":this.workerSources[e][t][r]=new t5(a,this._getLayerIndex(e),this._getAvailableImages(e));break;default:this.workerSources[e][t][r]=new this.externalWorkerSourceTypes[t](a,this._getLayerIndex(e),this._getAvailableImages(e))}}return this.workerSources[e][t][r]}_getDEMWorkerSource(e,t){var r,i;return(r=this.demWorkerSources)[e]||(r[e]={}),(i=this.demWorkerSources[e])[t]||(i[t]=new e5),this.demWorkerSources[e][t]}};kr(self)&&(self.worker=new cy(self));export{cy as default};\n';
|
|
3
|
+
const version = "6.11.1";
|
|
4
|
+
export {
|
|
5
|
+
source,
|
|
6
|
+
version
|
|
7
|
+
};
|