libre-webui 0.38.0 → 0.39.0
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/README.md +1 -0
- package/backend/dist/persistence/postgresMigrationRegistry.d.ts.map +1 -1
- package/backend/dist/persistence/postgresMigrationRegistry.js +2 -0
- package/backend/dist/persistence/postgresMigrationRegistry.js.map +1 -1
- package/backend/dist/persistence/postgresWorkRunThinkMigration.d.ts +9 -0
- package/backend/dist/persistence/postgresWorkRunThinkMigration.d.ts.map +1 -0
- package/backend/dist/persistence/postgresWorkRunThinkMigration.js +39 -0
- package/backend/dist/persistence/postgresWorkRunThinkMigration.js.map +1 -0
- package/backend/dist/persistence/sqliteMigrations.d.ts.map +1 -1
- package/backend/dist/persistence/sqliteMigrations.js +20 -0
- package/backend/dist/persistence/sqliteMigrations.js.map +1 -1
- package/backend/dist/persistence/sqliteToPostgresMigration.d.ts.map +1 -1
- package/backend/dist/persistence/sqliteToPostgresMigration.js +1 -0
- package/backend/dist/persistence/sqliteToPostgresMigration.js.map +1 -1
- package/backend/dist/platform/workPersistence/postgresWorkPersistence.d.ts.map +1 -1
- package/backend/dist/platform/workPersistence/postgresWorkPersistence.js +3 -2
- package/backend/dist/platform/workPersistence/postgresWorkPersistence.js.map +1 -1
- package/backend/dist/platform/workPersistence/sqliteWorkPersistence.d.ts.map +1 -1
- package/backend/dist/platform/workPersistence/sqliteWorkPersistence.js +3 -3
- package/backend/dist/platform/workPersistence/sqliteWorkPersistence.js.map +1 -1
- package/backend/dist/platform/workPersistence/types.d.ts +5 -0
- package/backend/dist/platform/workPersistence/types.d.ts.map +1 -1
- package/backend/dist/platform/workPersistence/types.js.map +1 -1
- package/backend/dist/routes/work.d.ts.map +1 -1
- package/backend/dist/routes/work.js +17 -2
- package/backend/dist/routes/work.js.map +1 -1
- package/backend/dist/services/agentCliService.d.ts.map +1 -1
- package/backend/dist/services/agentCliService.js +1 -0
- package/backend/dist/services/agentCliService.js.map +1 -1
- package/backend/dist/services/followUpService.d.ts +4 -1
- package/backend/dist/services/followUpService.d.ts.map +1 -1
- package/backend/dist/services/followUpService.js +23 -2
- package/backend/dist/services/followUpService.js.map +1 -1
- package/backend/dist/services/pluginService.d.ts.map +1 -1
- package/backend/dist/services/pluginService.js +10 -6
- package/backend/dist/services/pluginService.js.map +1 -1
- package/backend/dist/services/workAgentService.d.ts.map +1 -1
- package/backend/dist/services/workAgentService.js +3 -0
- package/backend/dist/services/workAgentService.js.map +1 -1
- package/backend/dist/services/workModelProviderService.d.ts.map +1 -1
- package/backend/dist/services/workModelProviderService.js +43 -13
- package/backend/dist/services/workModelProviderService.js.map +1 -1
- package/backend/dist/services/workTaskService.d.ts +3 -2
- package/backend/dist/services/workTaskService.d.ts.map +1 -1
- package/backend/dist/services/workTaskService.js +10 -6
- package/backend/dist/services/workTaskService.js.map +1 -1
- package/backend/dist/types/work.d.ts +3 -0
- package/backend/dist/types/work.d.ts.map +1 -1
- package/backend/dist/types/work.js.map +1 -1
- package/backend/dist/utils/bedrockMantle.d.ts +46 -0
- package/backend/dist/utils/bedrockMantle.d.ts.map +1 -0
- package/backend/dist/utils/bedrockMantle.js +206 -0
- package/backend/dist/utils/bedrockMantle.js.map +1 -0
- package/backend/dist/utils/pluginChatAdapter.d.ts +36 -0
- package/backend/dist/utils/pluginChatAdapter.d.ts.map +1 -1
- package/backend/dist/utils/pluginChatAdapter.js +122 -47
- package/backend/dist/utils/pluginChatAdapter.js.map +1 -1
- package/backend/dist/utils/pluginDefinitionTrust.d.ts.map +1 -1
- package/backend/dist/utils/pluginDefinitionTrust.js +3 -2
- package/backend/dist/utils/pluginDefinitionTrust.js.map +1 -1
- package/backend/dist/utils/pluginValidation.d.ts +1 -1
- package/backend/dist/utils/pluginValidation.d.ts.map +1 -1
- package/backend/dist/utils/pluginValidation.js +11 -0
- package/backend/dist/utils/pluginValidation.js.map +1 -1
- package/backend/package.json +3 -3
- package/frontend/dist/artifact-runtime/.build-fingerprint +1 -1
- package/frontend/dist/artifact-runtime/babel.js +170 -170
- package/frontend/dist/artifact-runtime/framer-motion.js +3 -3
- package/frontend/dist/artifact-runtime/lucide-react.js +1 -1
- package/frontend/dist/artifact-runtime/mathjs.js +1 -1
- package/frontend/dist/artifact-runtime/mermaid.js +1 -1
- package/frontend/dist/artifact-runtime/plotly.js +1 -1
- package/frontend/dist/artifact-runtime/react.js +3 -3
- package/frontend/dist/assets/index-D99DS5c6.js +57 -0
- package/frontend/dist/assets/index-Dz1JufgZ.css +1 -0
- package/frontend/dist/assets/{markdown-math-D1Bj3pDB.css → markdown-math-DzFXvcrH.css} +1 -1
- package/frontend/dist/index.html +32 -32
- package/frontend/dist/js/{ArtifactContainer-BWTN4QSW.js → ArtifactContainer-Cn7X9HGm.js} +1 -1
- package/frontend/dist/js/{ArtifactDemoPage-CCh7lQEw.js → ArtifactDemoPage-Ddpy2O_v.js} +1 -1
- package/frontend/dist/js/{ArtifactSandboxFrame-D1ntMsqe.js → ArtifactSandboxFrame-CdsAqv8H.js} +1 -1
- package/frontend/dist/js/{ArtifactSlideOutPanel-zPEBPoMh.js → ArtifactSlideOutPanel-cVd9X80o.js} +1 -1
- package/frontend/dist/js/{AutomationModal-DN98Eyym.js → AutomationModal-B4UaWjkk.js} +1 -1
- package/frontend/dist/js/{AutomationsPage-3DBwRKME.js → AutomationsPage-huCrvLUp.js} +1 -1
- package/frontend/dist/js/{AvatarUpload-D5_wGUb5.js → AvatarUpload-CG-w6Mpt.js} +1 -1
- package/frontend/dist/js/{Button-CTwi9N3d.js → Button-j68Q8KVh.js} +1 -1
- package/frontend/dist/js/{CalendarPage-CUbGH3Tl.js → CalendarPage-CZXT1w99.js} +1 -1
- package/frontend/dist/js/ChannelsPage-DbtdHnSL.js +1 -0
- package/frontend/dist/js/ChatPage-BZE65kiq.js +14 -0
- package/frontend/dist/js/ConnectModels-DD4bLgdq.js +1 -0
- package/frontend/dist/js/{EvaluationsPage-BaND2qQM.js → EvaluationsPage-Dq53LaXd.js} +1 -1
- package/frontend/dist/js/{FirstTimeSetup-D8ktLJKO.js → FirstTimeSetup-BoJIfuQT.js} +1 -1
- package/frontend/dist/js/{GalleryPage-DXQLoU0l.js → GalleryPage-DKwqeB2A.js} +1 -1
- package/frontend/dist/js/{HomePage-WVug1vWc.js → HomePage-C8bCJfls.js} +1 -1
- package/frontend/dist/js/{LanguageSwitcher-DHHTrDBR.js → LanguageSwitcher-B_YyU5JG.js} +1 -1
- package/frontend/dist/js/{Logo-D1o5k_wt.js → Logo-DnfVtjgj.js} +1 -1
- package/frontend/dist/js/{LogoMark-lnmc98jv.js → LogoMark-BzObGdA9.js} +1 -1
- package/frontend/dist/js/{ModelManagerModals-BPALNMDH.js → ModelManagerModals-BzjZ-QwL.js} +1 -1
- package/frontend/dist/js/{NotesPage-CRzX2Wa8.js → NotesPage-CnaAp_w_.js} +1 -1
- package/frontend/dist/js/{OptimizedSyntaxHighlighter-CzzV6ONG.js → OptimizedSyntaxHighlighter-B0g8cxZQ.js} +1 -1
- package/frontend/dist/js/OptimizedSyntaxHighlighter-B_BbHeO1.js +1 -0
- package/frontend/dist/js/{PasswordStrengthMeter-BGrHWG0B.js → PasswordStrengthMeter-DI4RDv67.js} +1 -1
- package/frontend/dist/js/{PersonasPage-BRU9151f.js → PersonasPage-CH3GUKph.js} +1 -1
- package/frontend/dist/js/{PluginUsagePage-BlhYZq1l.js → PluginUsagePage-d54K2gAj.js} +1 -1
- package/frontend/dist/js/{RichMessageContent-OGBLO64L.js → RichMessageContent-BfYbVBFz.js} +2 -2
- package/frontend/dist/js/RichMessageContent-CDxxs3Tt.js +1 -0
- package/frontend/dist/js/SettingsModal-BvtJcvow.js +19 -0
- package/frontend/dist/js/{SettingsToggle-Du2FSUPO.js → SettingsToggle-DrJ0Bapi.js} +1 -1
- package/frontend/dist/js/{ShareDialog-DEhxnLfn.js → ShareDialog-DaSxkTKS.js} +1 -1
- package/frontend/dist/js/{StrandsPage-DWnUKSb0.js → StrandsPage-BQwz0mWq.js} +1 -1
- package/frontend/dist/js/{SystemPage-cqq8lSxB.js → SystemPage-BqNZoFxR.js} +1 -1
- package/frontend/dist/js/{TurnstileWidget-CVepEMEQ.js → TurnstileWidget-tI50c7Kc.js} +1 -1
- package/frontend/dist/js/{UserManagementPage-2yHv89ZA.js → UserManagementPage-UvPjA9RP.js} +1 -1
- package/frontend/dist/js/{UserManagementPanel-NZmoTk6V.js → UserManagementPanel-C3T1ReJJ.js} +1 -1
- package/frontend/dist/js/{WhatsNewModal-5SwIdmU1.js → WhatsNewModal-CLcU2Ugk.js} +1 -1
- package/frontend/dist/js/WorkPage-BpjGn--1.js +8 -0
- package/frontend/dist/js/{api-CnJYEbRz.js → api-BrHW-VGd.js} +1 -1
- package/frontend/dist/js/api-K_hhqPdx.js +1 -0
- package/frontend/dist/js/{appNavigation-BXNRwrN-.js → appNavigation-B6xYIgLi.js} +1 -1
- package/frontend/dist/js/appStore-DkRdQQeY.js +2 -0
- package/frontend/dist/js/appVersion-BVtSqLVj.js +1 -0
- package/frontend/dist/js/{ar-Bp843BgG.js → ar-XTZGEtBr.js} +1 -1
- package/frontend/dist/js/authStore-DBS6Kbvh.js +1 -0
- package/frontend/dist/js/{authStore-DwaPsICv.js → authStore-DjAsRpNL.js} +3 -3
- package/frontend/dist/js/{bn-DmSGkklY.js → bn-JiK7ZWmy.js} +1 -1
- package/frontend/dist/js/{chatStore-j8bGpkeT.js → chatStore-DpVxt9VX.js} +3 -3
- package/frontend/dist/js/{client-DQy1iGRM.js → client-DppLngAs.js} +2 -2
- package/frontend/dist/js/{config-BbrsmDn2.js → config-4_s8hdqO.js} +1 -1
- package/frontend/dist/js/{cs-BcauIRyG.js → cs-D8ju18CO.js} +1 -1
- package/frontend/dist/js/{da-CJ14DPJ_.js → da-BJWcAoUc.js} +1 -1
- package/frontend/dist/js/{de-ajswyAhq.js → de-CLJLmy69.js} +1 -1
- package/frontend/dist/js/{es-rlf8FsMZ.js → es-BvqHEL-3.js} +1 -1
- package/frontend/dist/js/{evaluationsApi-KVsH7yXe.js → evaluationsApi-DyuW7IJ_.js} +1 -1
- package/frontend/dist/js/{fr-BwkM1wie.js → fr-B8ZoZomI.js} +1 -1
- package/frontend/dist/js/{hi-B3eId9-I.js → hi-AzJLALo-.js} +1 -1
- package/frontend/dist/js/{id-BcgPFJh2.js → id-DZYGQhvC.js} +1 -1
- package/frontend/dist/js/{is-Crvd3K7f.js → is-Da_kvtzW.js} +1 -1
- package/frontend/dist/js/{it-DrLx24hb.js → it-B90zSlqn.js} +1 -1
- package/frontend/dist/js/{ja-DZMcf-oB.js → ja-DU_K1GOr.js} +1 -1
- package/frontend/dist/js/{ko-Cm0NiOE8.js → ko-DicfoO-e.js} +1 -1
- package/frontend/dist/js/{markdown-CZ1tYEW8.js → markdown-DU84620G.js} +1 -1
- package/frontend/dist/js/{markdown-core-KjS96SYW.js → markdown-core-Cyql92Hg.js} +1 -1
- package/frontend/dist/js/{markdown-html-DQEwrWcf.js → markdown-html-CUc2fCgY.js} +1 -1
- package/frontend/dist/js/{markdown-math-CKi32S5d.js → markdown-math-DxPfMKvO.js} +1 -1
- package/frontend/dist/js/{markdownHtml-lrXhxBhK.js → markdownHtml-KhS0cFNH.js} +1 -1
- package/frontend/dist/js/markdownMath-CsfRQAcz.js +1 -0
- package/frontend/dist/js/{messageCodeStyles-CDnMKLgo.js → messageCodeStyles-CuQPkfEK.js} +1 -1
- package/frontend/dist/js/{ms-ymaG59hx.js → ms-CfH7wjUY.js} +1 -1
- package/frontend/dist/js/{nl-CdIdeA9d.js → nl-ELlOz-B3.js} +1 -1
- package/frontend/dist/js/{pl-CuO0b605.js → pl-33dayyUk.js} +1 -1
- package/frontend/dist/js/{pt-Vy413FG5.js → pt-aIXSQPCT.js} +1 -1
- package/frontend/dist/js/react-vendor-CR5VJ85Q.js +9 -0
- package/frontend/dist/js/{router-vendor-HZm4FR0A.js → router-vendor-DqMnEJWK.js} +1 -1
- package/frontend/dist/js/{ru-D0zOEVrL.js → ru-BSvGtBtW.js} +1 -1
- package/frontend/dist/js/{standalone-DbyFjvTU.js → standalone-D_lg5NC9.js} +1 -1
- package/frontend/dist/js/{strandsApi-SeoX_IsY.js → strandsApi-BFbeEpAY.js} +1 -1
- package/frontend/dist/js/{sv-JoS4krpk.js → sv-B7KOz81W.js} +1 -1
- package/frontend/dist/js/{syntax-highlight-DNc3FFCa.js → syntax-highlight-D7dQ5s5-.js} +1 -1
- package/frontend/dist/js/{teamEventStream-CZYdpbVw.js → teamEventStream-DsAS6P4m.js} +1 -1
- package/frontend/dist/js/{th-afhelaqR.js → th-DgpjGxvA.js} +1 -1
- package/frontend/dist/js/{tr-BhSy9UrR.js → tr-BQTbl2h-.js} +1 -1
- package/frontend/dist/js/{ui-CW3gJ4Kl.js → ui-Aq8MP7Ph.js} +2 -2
- package/frontend/dist/js/{ui-vendor-_fvLnmDx.js → ui-vendor-DVTj_sKN.js} +1 -1
- package/frontend/dist/js/{uk-CibXypnZ.js → uk-JLymloot.js} +1 -1
- package/frontend/dist/js/{useChat-CBySqLqR.js → useChat-D3ZAGz70.js} +1 -1
- package/frontend/dist/js/{useDialogFocus-DbW0oA9H.js → useDialogFocus-zSGHkpE4.js} +1 -1
- package/frontend/dist/js/useDictation-B6l8QzeM.js +1 -0
- package/frontend/dist/js/{useQuery-hWmQjdLu.js → useQuery-BTKpXudI.js} +1 -1
- package/frontend/dist/js/{useTranslation-UHEMTEHd.js → useTranslation-Boi0fB1B.js} +1 -1
- package/frontend/dist/js/{utils-DaXuqmQm.js → utils-B-Bhh1pF.js} +1 -1
- package/frontend/dist/js/{utils-vendor-CvhktdS_.js → utils-vendor-DPJG-EG_.js} +1 -1
- package/frontend/dist/js/{vi-Cg0WKHtb.js → vi-BXdLOJ8q.js} +1 -1
- package/frontend/dist/js/workApi-D1xtiG3Q.js +1 -0
- package/frontend/dist/js/{workApi-BqkCbCLQ.js → workApi-UPxumrEF.js} +1 -1
- package/frontend/dist/js/{zh-DTqys9TE.js → zh-gdUf9sXa.js} +1 -1
- package/package.json +3 -3
- package/plugins/anthropic.json +3 -1
- package/plugins/bedrock.json +86 -0
- package/plugins/openrouter.json +2 -0
- package/frontend/dist/assets/index-CJHJxwjA.js +0 -68
- package/frontend/dist/assets/index-DSHdOZRK.css +0 -1
- package/frontend/dist/js/ChannelsPage-B1hC1rRS.js +0 -1
- package/frontend/dist/js/ChatPage-B7mEg5z2.js +0 -14
- package/frontend/dist/js/ConnectModels-Cby89_Mc.js +0 -1
- package/frontend/dist/js/OptimizedSyntaxHighlighter-ajqwyBQm.js +0 -1
- package/frontend/dist/js/RichMessageContent-FiuPwDG7.js +0 -1
- package/frontend/dist/js/SettingsModal-sLkxG-lW.js +0 -19
- package/frontend/dist/js/WorkPage-BIuaVNEC.js +0 -8
- package/frontend/dist/js/api-C2k0OqEk.js +0 -1
- package/frontend/dist/js/appStore-DULGAJnH.js +0 -2
- package/frontend/dist/js/appVersion-DooVk4c_.js +0 -1
- package/frontend/dist/js/authStore-CaLdzyAr.js +0 -1
- package/frontend/dist/js/markdownMath-B0BpyFBS.js +0 -1
- package/frontend/dist/js/react-vendor-wiHys0m2.js +0 -9
- package/frontend/dist/js/useDictation-DEAp64eu.js +0 -1
- package/frontend/dist/js/workApi-gpxrWwCm.js +0 -1
|
@@ -2708,7 +2708,7 @@ void main() {
|
|
|
2708
2708
|
{name:nonlatin}`,"text-max-width":8,"icon-image":`star_11`,"text-offset":[.4,0],"icon-size":.8,"text-anchor":`left`,visibility:`visible`},paint:{"text-color":`#333`,"text-halo-width":1.2,"text-halo-color":`rgba(255,255,255,0.8)`}},{id:`place-country-other`,type:`symbol`,metadata:{"mapbox:group":`1444849242106.713`},source:`openmaptiles`,"source-layer":`place`,filter:[`all`,[`==`,`class`,`country`],[`>=`,`rank`,3],[`!has`,`iso_a2`]],layout:{"text-font":[`Noto Sans Italic`],"text-field":`{name:latin}`,"text-size":{stops:[[3,11],[7,17]]},"text-transform":`uppercase`,"text-max-width":6.25,visibility:`visible`},paint:{"text-halo-blur":1,"text-color":`#334`,"text-halo-width":2,"text-halo-color":`rgba(255,255,255,0.8)`}},{id:`place-country-3`,type:`symbol`,metadata:{"mapbox:group":`1444849242106.713`},source:`openmaptiles`,"source-layer":`place`,filter:[`all`,[`==`,`class`,`country`],[`>=`,`rank`,3],[`has`,`iso_a2`]],layout:{"text-font":[`Noto Sans Bold`],"text-field":`{name:latin}`,"text-size":{stops:[[3,11],[7,17]]},"text-transform":`uppercase`,"text-max-width":6.25,visibility:`visible`},paint:{"text-halo-blur":1,"text-color":`#334`,"text-halo-width":2,"text-halo-color":`rgba(255,255,255,0.8)`}},{id:`place-country-2`,type:`symbol`,metadata:{"mapbox:group":`1444849242106.713`},source:`openmaptiles`,"source-layer":`place`,filter:[`all`,[`==`,`class`,`country`],[`==`,`rank`,2],[`has`,`iso_a2`]],layout:{"text-font":[`Noto Sans Bold`],"text-field":`{name:latin}`,"text-size":{stops:[[2,11],[5,17]]},"text-transform":`uppercase`,"text-max-width":6.25,visibility:`visible`},paint:{"text-halo-blur":1,"text-color":`#334`,"text-halo-width":2,"text-halo-color":`rgba(255,255,255,0.8)`}},{id:`place-country-1`,type:`symbol`,metadata:{"mapbox:group":`1444849242106.713`},source:`openmaptiles`,"source-layer":`place`,filter:[`all`,[`==`,`class`,`country`],[`==`,`rank`,1],[`has`,`iso_a2`]],layout:{"text-font":[`Noto Sans Bold`],"text-field":`{name:latin}`,"text-size":{stops:[[1,11],[4,17]]},"text-transform":`uppercase`,"text-max-width":6.25,visibility:`visible`},paint:{"text-halo-blur":1,"text-color":`#334`,"text-halo-width":2,"text-halo-color":`rgba(255,255,255,0.8)`}},{id:`place-continent`,type:`symbol`,metadata:{"mapbox:group":`1444849242106.713`},source:`openmaptiles`,"source-layer":`place`,maxzoom:1,filter:[`==`,`class`,`continent`],layout:{"text-font":[`Noto Sans Bold`],"text-field":`{name:latin}`,"text-size":14,"text-max-width":6.25,"text-transform":`uppercase`,visibility:`visible`},paint:{"text-halo-blur":1,"text-color":`#334`,"text-halo-width":2,"text-halo-color":`rgba(255,255,255,0.8)`}}],id:`qebnlkra6`}}),Ox=_((e,t)=>{t.exports={version:8,name:`orto`,metadata:{},center:[1.537786,41.837539],zoom:12,bearing:0,pitch:0,light:{anchor:`viewport`,color:`white`,intensity:.4,position:[1.15,45,30]},sources:{ortoEsri:{type:`raster`,tiles:[`https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}`],tileSize:256,maxzoom:18,attribution:`ESRI © <a href='http://www.esri.com'>ESRI</a>`},ortoInstaMaps:{type:`raster`,tiles:[`https://tilemaps.icgc.cat/mapfactory/wmts/orto_8_12/CAT3857/{z}/{x}/{y}.png`],tileSize:256,maxzoom:13},ortoICGC:{type:`raster`,tiles:[`https://geoserveis.icgc.cat/icc_mapesmultibase/noutm/wmts/orto/GRID3857/{z}/{x}/{y}.jpeg`],tileSize:256,minzoom:13.1,maxzoom:20},openmaptiles:{type:`vector`,url:`https://geoserveis.icgc.cat/contextmaps/basemap.json`}},sprite:`https://geoserveis.icgc.cat/contextmaps/sprites/sprite@1`,glyphs:`https://geoserveis.icgc.cat/contextmaps/glyphs/{fontstack}/{range}.pbf`,layers:[{id:`background`,type:`background`,paint:{"background-color":`#F4F9F4`}},{id:`ortoEsri`,type:`raster`,source:`ortoEsri`,maxzoom:16,layout:{visibility:`visible`}},{id:`ortoICGC`,type:`raster`,source:`ortoICGC`,minzoom:13.1,maxzoom:19,layout:{visibility:`visible`}},{id:`ortoInstaMaps`,type:`raster`,source:`ortoInstaMaps`,maxzoom:13,layout:{visibility:`visible`}}]}}),kx=_((e,t)=>{var n=(ut(),x(st)).default,r=Dx(),i=Ox(),a=`© <a target="_blank" href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors`,o=`https://basemaps.cartocdn.com/gl/positron-gl-style/style.json`,s=`https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json`,c=`https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json`,l={basic:c,streets:c,outdoors:c,light:o,dark:s,satellite:i,"satellite-streets":r,"open-street-map":{id:`osm`,version:8,sources:{"plotly-osm-tiles":{type:`raster`,attribution:a,tiles:[`https://tile.openstreetmap.org/{z}/{x}/{y}.png`],tileSize:256}},layers:[{id:`plotly-osm-tiles`,type:`raster`,source:`plotly-osm-tiles`,minzoom:0,maxzoom:22}],glyphs:`https://fonts.openmaptiles.org/{fontstack}/{range}.pbf`},"white-bg":{id:`white-bg`,version:8,sources:{},layers:[{id:`white-bg`,type:`background`,paint:{"background-color":`#FFFFFF`},minzoom:0,maxzoom:22}],glyphs:`https://fonts.openmaptiles.org/{fontstack}/{range}.pbf`},"carto-positron":o,"carto-darkmatter":s,"carto-voyager":c,"carto-positron-nolabels":`https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json`,"carto-darkmatter-nolabels":`https://basemaps.cartocdn.com/gl/dark-matter-nolabels-gl-style/style.json`,"carto-voyager-nolabels":`https://basemaps.cartocdn.com/gl/voyager-nolabels-gl-style/style.json`},u=n(l);t.exports={styleValueDflt:`basic`,stylesMap:l,styleValuesMap:u,traceLayerPrefix:`plotly-trace-layer-`,layoutLayerPrefix:`plotly-layout-layer-`,missingStyleErrorMsg:["No valid maplibre style found, please set `map.style` to one of:",u.join(`, `),`or use a tile service.`].join(`
|
|
2709
2709
|
`),mapOnErrorMsg:`Map error.`,fitBoundsPadding:20}}),Ax=_((e,t)=>{var n=$(),r=ie().defaultLine,i=eo().attributes,a=q(),o=Qr().textposition,s=qe().overrideAll,c=Bt().templatedArray,l=kx(),u=a({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});u.family.dflt=`Open Sans Regular, Arial Unicode MS Regular`;var d=t.exports=s({_arrayAttrRegexps:[n.counterRegex(`map`,`.layers`,!0)],domain:i({name:`map`}),style:{valType:`any`,values:l.styleValuesMap,dflt:l.styleValueDflt},center:{lon:{valType:`number`,dflt:0},lat:{valType:`number`,dflt:0}},zoom:{valType:`number`,dflt:1},bearing:{valType:`number`,dflt:0},pitch:{valType:`number`,dflt:0},fitbounds:{valType:`enumerated`,values:[!1,`locations`],dflt:`locations`},bounds:{west:{valType:`number`},east:{valType:`number`},south:{valType:`number`},north:{valType:`number`}},layers:c(`layer`,{visible:{valType:`boolean`,dflt:!0},sourcetype:{valType:`enumerated`,values:[`geojson`,`vector`,`raster`,`image`],dflt:`geojson`},source:{valType:`any`},sourcelayer:{valType:`string`,dflt:``},sourceattribution:{valType:`string`},type:{valType:`enumerated`,values:[`circle`,`line`,`fill`,`symbol`,`raster`],dflt:`circle`},coordinates:{valType:`any`},below:{valType:`string`},color:{valType:`color`,dflt:r},opacity:{valType:`number`,min:0,max:1,dflt:1},minzoom:{valType:`number`,min:0,max:24,dflt:0},maxzoom:{valType:`number`,min:0,max:24,dflt:24},circle:{radius:{valType:`number`,dflt:15}},line:{width:{valType:`number`,dflt:2},dash:{valType:`data_array`}},fill:{outlinecolor:{valType:`color`,dflt:r}},symbol:{icon:{valType:`string`,dflt:`marker`},iconsize:{valType:`number`,dflt:10},text:{valType:`string`,dflt:``},placement:{valType:`enumerated`,values:[`point`,`line`,`line-center`],dflt:`point`},textfont:u,textposition:n.extendFlat({},o,{arrayOk:!1})}})},`plot`,`from-root`);d.uirevision={valType:`any`,editType:`none`}}),jx=_((e,t)=>{var{hovertemplateAttrs:n,texttemplateAttrs:r,templatefallbackAttrs:i}=Xe(),a=Zr(),o=r_(),s=Qr(),c=Ax(),l=Z(),u=tn(),d=K().extendFlat,f=qe().overrideAll,p=Ax(),m=o.line,h=o.marker;t.exports=f({lon:o.lon,lat:o.lat,cluster:{enabled:{valType:`boolean`},maxzoom:d({},p.layers.maxzoom,{}),step:{valType:`number`,arrayOk:!0,dflt:-1,min:-1},size:{valType:`number`,arrayOk:!0,dflt:20,min:0},color:{valType:`color`,arrayOk:!0},opacity:d({},h.opacity,{dflt:1})},mode:d({},s.mode,{dflt:`markers`}),text:d({},s.text,{}),texttemplate:r({editType:`plot`},{keys:[`lat`,`lon`,`text`]}),texttemplatefallback:i({editType:`plot`}),hovertext:d({},s.hovertext,{}),line:{color:m.color,width:m.width},connectgaps:s.connectgaps,marker:d({symbol:{valType:`string`,dflt:`circle`,arrayOk:!0},angle:{valType:`number`,dflt:`auto`,arrayOk:!0},allowoverlap:{valType:`boolean`,dflt:!1},opacity:h.opacity,size:h.size,sizeref:h.sizeref,sizemin:h.sizemin,sizemode:h.sizemode},u(`marker`)),fill:o.fill,fillcolor:a(),textfont:c.layers.symbol.textfont,textposition:c.layers.symbol.textposition,below:{valType:`string`},selected:{marker:s.selected.marker},unselected:{marker:s.unselected.marker},hoverinfo:d({},l.hoverinfo,{flags:[`lon`,`lat`,`text`,`name`]}),hovertemplate:n(),hovertemplatefallback:i()},`calc`,`nested`)}),Mx=_((e,t)=>{var n=`Metropolis Black Italic.Metropolis Black.Metropolis Bold Italic.Metropolis Bold.Metropolis Extra Bold Italic.Metropolis Extra Bold.Metropolis Extra Light Italic.Metropolis Extra Light.Metropolis Light Italic.Metropolis Light.Metropolis Medium Italic.Metropolis Medium.Metropolis Regular Italic.Metropolis Regular.Metropolis Semi Bold Italic.Metropolis Semi Bold.Metropolis Thin Italic.Metropolis Thin.Open Sans Bold Italic.Open Sans Bold.Open Sans Extrabold Italic.Open Sans Extrabold.Open Sans Italic.Open Sans Light Italic.Open Sans Light.Open Sans Regular.Open Sans Semibold Italic.Open Sans Semibold.Klokantech Noto Sans Bold.Klokantech Noto Sans CJK Bold.Klokantech Noto Sans CJK Regular.Klokantech Noto Sans Italic.Klokantech Noto Sans Regular`.split(`.`);t.exports={isSupportedFont:function(e){return n.indexOf(e)!==-1}}}),Nx=_((e,t)=>{var n=$(),r=vn(),i=Si(),a=Ci(),o=Ti(),s=Ei(),c=jx(),l=Mx().isSupportedFont;t.exports=function(e,t,d,f){function p(r,i){return n.coerce(e,t,c,r,i)}function m(r,i){return n.coerce2(e,t,c,r,i)}if(!u(e,t,p)){t.visible=!1;return}if(p(`text`),p(`texttemplate`),p(`texttemplatefallback`),p(`hovertext`),p(`hovertemplate`),p(`hovertemplatefallback`),p(`mode`),p(`below`),r.hasMarkers(t)){i(e,t,d,f,p,{noLine:!0,noAngle:!0}),p(`marker.allowoverlap`),p(`marker.angle`);var h=t.marker;h.symbol!==`circle`&&(n.isArrayOrTypedArray(h.size)&&(h.size=h.size[0]),n.isArrayOrTypedArray(h.color)&&(h.color=h.color[0]))}r.hasLines(t)&&(a(e,t,d,f,p,{noDash:!0}),p(`connectgaps`));var g=m(`cluster.maxzoom`),_=m(`cluster.step`),v=m(`cluster.color`,t.marker&&t.marker.color||d),y=m(`cluster.size`),b=m(`cluster.opacity`);if(p(`cluster.enabled`,g!==!1||_!==!1||v!==!1||y!==!1||b!==!1)||r.hasText(t)){var x=f.font.family;o(e,t,f,p,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:l(x)?x:`Open Sans Regular`,weight:f.font.weight,style:f.font.style,size:f.font.size,color:f.font.color}})}p(`fill`),t.fill!==`none`&&s(e,t,d,p),n.coerceSelectionMarkerOpacity(t,p)};function u(e,t,n){var r=n(`lon`)||[],i=n(`lat`)||[],a=Math.min(r.length,i.length);return t._length=a,a}}),Px=_((e,t)=>{var n=On();t.exports=function(e,t,r){var i={},a=r[t.subplot]._subplot.mockAxis,o=e.lonlat;return i.lonLabel=n.tickText(a,a.c2l(o[0]),!0).text,i.latLabel=n.tickText(a,a.c2l(o[1]),!0).text,i}}),Fx=_((e,t)=>{var n=$();t.exports=function(e,t){var r=e.split(` `),i=r[0],a=r[1],o=n.isArrayOrTypedArray(t)?n.mean(t):t,s=.5+o/100,c=1.5+o/100,l=[``,``],u=[0,0];switch(i){case`top`:l[0]=`top`,u[1]=-c;break;case`bottom`:l[0]=`bottom`,u[1]=c}switch(a){case`left`:l[1]=`right`,u[0]=-s;break;case`right`:l[1]=`left`,u[0]=s}return{anchor:l[0]&&l[1]?l.join(`-`):l[0]?l[0]:l[1]?l[1]:`center`,offset:u}}}),Ix=_((e,t)=>{var n=M(),r=$(),i=N().BADNUM,a=u_(),o=_n(),s=Cn(),c=yn(),l=vn(),u=Mx().isSupportedFont,d=Fx(),f=bn().appendArrayPointValue,p=Xt().NEWLINES,m=Xt().BR_TAG_ALL;t.exports=function(e,t){var n=t[0].trace,i=n.visible===!0&&n._length!==0,o=n.fill!==`none`,s=l.hasLines(n),c=l.hasMarkers(n),u=l.hasText(n),f=c&&n.marker.symbol===`circle`,p=c&&n.marker.symbol!==`circle`,m=n.cluster&&n.cluster.enabled,v=h(`fill`),y=h(`line`),b=h(`circle`),C=h(`symbol`),w={fill:v,line:y,circle:b,symbol:C};if(!i)return w;var T;if((o||s)&&(T=a.calcTraceToLineCoords(t)),o&&(v.geojson=a.makePolygon(T),v.layout.visibility=`visible`,r.extendFlat(v.paint,{"fill-color":n.fillcolor})),s&&(y.geojson=a.makeLine(T),y.layout.visibility=`visible`,r.extendFlat(y.paint,{"line-width":n.line.width,"line-color":n.line.color,"line-opacity":n.opacity})),f){var E=g(t);b.geojson=E.geojson,b.layout.visibility=`visible`,m&&(b.filter=[`!`,[`has`,`point_count`]],w.cluster={type:`circle`,filter:[`has`,`point_count`],layout:{visibility:`visible`},paint:{"circle-color":x(n.cluster.color,n.cluster.step),"circle-radius":x(n.cluster.size,n.cluster.step),"circle-opacity":x(n.cluster.opacity,n.cluster.step)}},w.clusterCount={type:`symbol`,filter:[`has`,`point_count`],paint:{},layout:{"text-field":`{point_count_abbreviated}`,"text-font":S(n),"text-size":12}}),r.extendFlat(b.paint,{"circle-color":E.mcc,"circle-radius":E.mrc,"circle-opacity":E.mo})}if(f&&m&&(b.filter=[`!`,[`has`,`point_count`]]),(p||u)&&(C.geojson=_(t,e),r.extendFlat(C.layout,{visibility:`visible`,"icon-image":`{symbol}`,"text-field":`{text}`}),p&&(r.extendFlat(C.layout,{"icon-size":n.marker.size/10}),`angle`in n.marker&&n.marker.angle!==`auto`&&r.extendFlat(C.layout,{"icon-rotate":{type:`identity`,property:`angle`},"icon-rotation-alignment":`map`}),C.layout[`icon-allow-overlap`]=n.marker.allowoverlap,r.extendFlat(C.paint,{"icon-opacity":n.opacity*n.marker.opacity,"icon-color":n.marker.color,"icon-halo-color":n.marker.color,"icon-halo-width":2,"icon-halo-blur":1.5})),u)){var D=(n.marker||{}).size,O=d(n.textposition,D);r.extendFlat(C.layout,{"text-size":n.textfont.size,"text-anchor":O.anchor,"text-offset":O.offset,"text-font":S(n)}),r.extendFlat(C.paint,{"text-color":n.textfont.color,"text-opacity":n.opacity})}return w};function h(e){return{type:e,geojson:a.makeBlank(),layout:{visibility:`none`},filter:null,paint:{}}}function g(e){var t=e[0].trace,i=t.marker,a=t.selectedpoints,l=r.isArrayOrTypedArray(i.color),u=r.isArrayOrTypedArray(i.size),d=r.isArrayOrTypedArray(i.opacity),f;function p(e){return t.opacity*e}function m(e){return e/2}var h;l&&(h=o.hasColorscale(t,`marker`)?o.makeColorScaleFuncFromTrace(i):r.identity);var g;u&&(g=c(t));var _;d&&(_=function(e){return p(n(e)?+r.constrain(e,0,1):0)});var v=[];for(f=0;f<e.length;f++){var y=e[f],x=y.lonlat;if(!b(x)){var S={};h&&(S.mcc=y.mcc=h(y.mc)),g&&(S.mrc=y.mrc=g(y.ms)),_&&(S.mo=_(y.mo)),a&&(S.selected=y.selected||0),v.push({type:`Feature`,id:f+1,geometry:{type:`Point`,coordinates:x},properties:S})}}var C;if(a)for(C=s.makeSelectedPointStyleFns(t),f=0;f<v.length;f++){var w=v[f].properties;C.selectedOpacityFn&&(w.mo=p(C.selectedOpacityFn(w))),C.selectedColorFn&&(w.mcc=C.selectedColorFn(w)),C.selectedSizeFn&&(w.mrc=C.selectedSizeFn(w))}return{geojson:{type:`FeatureCollection`,features:v},mcc:l||C&&C.selectedColorFn?{type:`identity`,property:`mcc`}:i.color,mrc:u||C&&C.selectedSizeFn?{type:`identity`,property:`mrc`}:m(i.size),mo:d||C&&C.selectedOpacityFn?{type:`identity`,property:`mo`}:p(i.opacity)}}function _(e,t){for(var n=t._fullLayout,i=e[0].trace,a=i.marker||{},o=a.symbol,s=a.angle,c=o===`circle`?y:v(o),u=s===`auto`?y:v(s,!0),d=l.hasText(i)?v(i.text):y,h=[],g=0;g<e.length;g++){var _=e[g];if(!b(_.lonlat)){var x=i.texttemplate,S;if(x){var C=Array.isArray(x)?x[g]||``:x,w=i._module.formatLabels(_,i,n),T={};f(T,i,_.i),S=r.texttemplateString({data:[T,_,i._meta],fallback:i.texttemplatefallback,labels:w,locale:n._d3locale,template:C})}else S=d(g);S&&=S.replace(p,``).replace(m,`
|
|
2710
2710
|
`),h.push({type:`Feature`,geometry:{type:`Point`,coordinates:_.lonlat},properties:{symbol:c(g),angle:u(g),text:S}})}}return{type:`FeatureCollection`,features:h}}function v(e,t){return r.isArrayOrTypedArray(e)?t?function(t){return n(e[t])?+e[t]:0}:function(t){return e[t]}:e?function(){return e}:y}function y(){return``}function b(e){return e[0]===i}function x(e,t){var n;if(r.isArrayOrTypedArray(e)&&r.isArrayOrTypedArray(t)){n=[`step`,[`get`,`point_count`],e[0]];for(var i=1;i<e.length;i++)n.push(t[i-1],e[i])}else n=e;return n}function S(e){var t=e.textfont,n=t.family,r=t.style,i=t.weight,a=n.split(` `),o=a[a.length-1]===`Italic`;o&&a.pop(),o||=r===`italic`;var s=a.join(` `);return i===`bold`&&a.indexOf(`Bold`)===-1?s+=` Bold`:i<=1e3&&(a[0]===`Metropolis`?(s=`Metropolis`,s+=i>850?` Black`:i>750?` Extra Bold`:i>650?` Bold`:i>550?` Semi Bold`:i>450?` Medium`:i>350?` Regular`:i>250?` Light`:i>150?` Extra Light`:` Thin`):a.slice(0,2).join(` `)===`Open Sans`?(s=`Open Sans`,s+=i>750?` Extrabold`:i>650?` Bold`:i>550?` Semibold`:i>350?` Regular`:` Light`):a.slice(0,3).join(` `)===`Klokantech Noto Sans`&&(s=`Klokantech Noto Sans`,a[3]===`CJK`&&(s+=` CJK`),s+=i>500?` Bold`:` Regular`)),o&&(s+=` Italic`),s===`Open Sans Regular Italic`?s=`Open Sans Italic`:s===`Open Sans Regular Bold`?s=`Open Sans Bold`:s===`Open Sans Regular Bold Italic`?s=`Open Sans Bold Italic`:s===`Klokantech Noto Sans Regular Italic`&&(s=`Klokantech Noto Sans Italic`),u(s)||(s=n),s.split(`, `)}}),Lx=_((e,t)=>{var n=$(),r=Ix(),i=kx().traceLayerPrefix,a={cluster:[`cluster`,`clusterCount`,`circle`],nonCluster:[`fill`,`line`,`circle`,`symbol`]};function o(e,t,n,r){this.type=`scattermap`,this.subplot=e,this.uid=t,this.clusterEnabled=n,this.isHidden=r,this.sourceIds={fill:`source-`+t+`-fill`,line:`source-`+t+`-line`,circle:`source-`+t+`-circle`,symbol:`source-`+t+`-symbol`,cluster:`source-`+t+`-circle`,clusterCount:`source-`+t+`-circle`},this.layerIds={fill:i+t+`-fill`,line:i+t+`-line`,circle:i+t+`-circle`,symbol:i+t+`-symbol`,cluster:i+t+`-cluster`,clusterCount:i+t+`-cluster-count`},this.below=null}var s=o.prototype;s.addSource=function(e,t,r){var i={type:`geojson`,data:t.geojson};r&&r.enabled&&n.extendFlat(i,{cluster:!0,clusterMaxZoom:r.maxzoom});var a=this.subplot.map.getSource(this.sourceIds[e]);a?a.setData(t.geojson):this.subplot.map.addSource(this.sourceIds[e],i)},s.setSourceData=function(e,t){this.subplot.map.getSource(this.sourceIds[e]).setData(t.geojson)},s.addLayer=function(e,t,n){var r={type:t.type,id:this.layerIds[e],source:this.sourceIds[e],layout:t.layout,paint:t.paint};t.filter&&(r.filter=t.filter);for(var i=this.layerIds[e],a,o=this.subplot.getMapLayers(),s=0;s<o.length;s++)if(o[s].id===i){a=!0;break}a?(this.subplot.setOptions(i,`setLayoutProperty`,r.layout),r.layout.visibility===`visible`&&this.subplot.setOptions(i,`setPaintProperty`,r.paint)):this.subplot.addLayer(r,n)},s.update=function(e){var t=e[0].trace,n=this.subplot,i=n.map,o=r(n.gd,e),s=n.belowLookup[`trace-`+this.uid],c=!!(t.cluster&&t.cluster.enabled),l=!!this.clusterEnabled,u=this;function d(e){e||u.addSource(`circle`,o.circle,t.cluster);for(var n=a.cluster,r=0;r<n.length;r++){var i=n[r],c=o[i];u.addLayer(i,c,s)}}function f(e){for(var t=a.cluster,n=t.length-1;n>=0;n--){var r=t[n];i.removeLayer(u.layerIds[r])}e||i.removeSource(u.sourceIds.circle)}function p(e){for(var t=a.nonCluster,n=0;n<t.length;n++){var r=t[n],i=o[r];e||u.addSource(r,i),u.addLayer(r,i,s)}}function m(e){for(var t=a.nonCluster,n=t.length-1;n>=0;n--){var r=t[n];i.removeLayer(u.layerIds[r]),e||i.removeSource(u.sourceIds[r])}}function h(e){l?f(e):m(e)}function g(e){c?d(e):p(e)}function _(){for(var e=c?a.cluster:a.nonCluster,t=0;t<e.length;t++){var r=e[t],i=o[r];i&&(n.setOptions(u.layerIds[r],`setLayoutProperty`,i.layout),i.layout.visibility===`visible`&&(r!==`cluster`&&u.setSourceData(r,i),n.setOptions(u.layerIds[r],`setPaintProperty`,i.paint)))}}var v=this.isHidden,y=t.visible!==!0;y?v||h():v?y||g():l===c?(this.below!==s&&(h(!0),g(!0)),_()):(h(),g()),this.clusterEnabled=c,this.isHidden=y,this.below=s,e[0].trace._glTrace=this},s.dispose=function(){for(var e=this.subplot.map,t=this.clusterEnabled?a.cluster:a.nonCluster,n=t.length-1;n>=0;n--){var r=t[n];e.removeLayer(this.layerIds[r]),e.removeSource(this.sourceIds[r])}},t.exports=function(e,t){var n=t[0].trace,i=n.cluster&&n.cluster.enabled,s=n.visible!==!0,c=new o(e,n.uid,i,s),l=r(e.gd,t),u=c.below=e.belowLookup[`trace-`+n.uid],d,f,p;if(i)for(c.addSource(`circle`,l.circle,n.cluster),d=0;d<a.cluster.length;d++)f=a.cluster[d],p=l[f],c.addLayer(f,p,u);else for(d=0;d<a.nonCluster.length;d++)f=a.nonCluster[d],p=l[f],c.addSource(f,p,n.cluster),c.addLayer(f,p,u);return t[0].trace._glTrace=c,c}}),Rx=_((e,t)=>{var n=ir(),r=$(),i=Ki(),a=r.fillText,o=N().BADNUM,s=kx().traceLayerPrefix;function c(e,t,a){var c=e.cd,u=c[0].trace,d=e.xa,f=e.ya,p=e.subplot,m=[],h=s+u.uid+`-circle`,g=u.cluster&&u.cluster.enabled;g&&(m=p.map.queryRenderedFeatures(null,{layers:[h]}).map(function(e){return e.id}));var _=(t>=0?Math.floor((t+180)/360):Math.ceil((t-180)/360))*360,v=t-_;function y(e){var t=e.lonlat;if(t[0]===o||g&&m.indexOf(e.i+1)===-1)return 1/0;var n=r.modHalf(t[0],360),i=t[1],s=p.project([n,i]),c=s.x-d.c2p([v,i]),l=s.y-f.c2p([n,a]),u=Math.max(3,e.mrc||0);return Math.max(Math.sqrt(c*c+l*l)-u,1-3/u)}if(n.getClosest(c,y,e),e.index!==!1){var b=c[e.index],x=b.lonlat,S=[r.modHalf(x[0],360)+_,x[1]],C=d.c2p(S),w=f.c2p(S),T=b.mrc||1;e.x0=C-T,e.x1=C+T,e.y0=w-T,e.y1=w+T;var E={};E[u.subplot]={_subplot:p};var D=u._module.formatLabels(b,u,E);return e.lonLabel=D.lonLabel,e.latLabel=D.latLabel,e.color=i(u,b),e.extraText=l(u,b,c[0].t.labels),e.hovertemplate=u.hovertemplate,[e]}}function l(e,t,n){if(e.hovertemplate)return;var r=(t.hi||e.hoverinfo).split(`+`),i=r.indexOf(`all`)!==-1,o=r.indexOf(`lon`)!==-1,s=r.indexOf(`lat`)!==-1,c=t.lonlat,l=[];function u(e){return e+`°`}return i||o&&s?l.push(`(`+u(c[1])+`, `+u(c[0])+`)`):o?l.push(n.lon+u(c[0])):s&&l.push(n.lat+u(c[1])),(i||r.indexOf(`text`)!==-1)&&a(t,e,l),l.join(`<br>`)}t.exports={hoverPoints:c,getExtraText:l}}),zx=_((e,t)=>{t.exports=function(e,t){return e.lon=t.lon,e.lat=t.lat,e}}),Bx=_((e,t)=>{var n=$(),r=vn(),{BADNUM:i}=N(),a=360,o=.001,s=(e,t,n,r)=>[e.c2p([n,r]),t.c2p([n,r])];function c(e,t,n,r,i){let c=s(e,t,n+a,r),l=s(e,t,n-a,r),u=c[0]-i[0],d=c[1]-i[1];return{dx:u,dy:d,uniform:Math.abs(u-(i[0]-l[0]))<o&&Math.abs(d-(i[1]-l[1]))<o}}function l(e,t,n){let r=-1/0,i=1/0,a=(e,t,n)=>{if(Math.abs(e)<o)return;let a=t/e,s=n/e;r=Math.max(r,Math.min(a,s)),i=Math.min(i,Math.max(a,s))};return a(e.dx,n.xmin-t[0],n.xmax-t[0]),a(e.dy,n.ymin-t[1],n.ymax-t[1]),!isFinite(r)||!isFinite(i)||r>i?null:[Math.floor(r)-1,Math.ceil(i)+1]}t.exports=function(e,t){let{cd:o,xaxis:u,yaxis:d}=e,{trace:f}=o[0];if(!r.hasMarkers(f))return[];if(t===!1){for(let e of o)e.selected=0;return[]}let p=u._subplot?.map,m=!!(p!=null&&p.getRenderWorldCopies())&&t.xmax>t.xmin,h=[];for(let r=0;r<o.length;r++){let f=o[r],[p,g]=f.lonlat;if(p===i)continue;let _=n.modHalf(p,a),v=s(u,d,_,g),y=!1;if(m){let n=c(u,d,_,g,v),i=l(n,v,t);for(let o=i?i[0]:0;i&&o<=i[1]&&!y;o++){let i=n.uniform?[v[0]+o*n.dx,v[1]+o*n.dy]:s(u,d,_+o*a,g);y=t.contains(i,null,r,e)}}else y=t.contains(v,null,r,e);y?(h.push({pointNumber:r,lon:p,lat:g}),f.selected=1):f.selected=0}return h}});function Vx(e,t){this.x=e,this.y=t}function Hx(e,t,n,r){let i=3*e,a=3*(n-e)-i,o=1-i-a,s=3*t,c=3*(r-t)-s,l=1-s-c;return function(e,t=1e-6){if(e<=0)return 0;if(e>=1)return 1;let n=e;for(let r=0;r<8;r++){let r=((o*n+a)*n+i)*n-e;if(Math.abs(r)<t)return((l*n+c)*n+s)*n;let u=(3*o*n+2*a)*n+i;if(Math.abs(u)<1e-6)break;n-=r/u}let r=0,u=1;n=e;for(let s=0;s<20;s++){let s=((o*n+a)*n+i)*n;if(Math.abs(s-e)<t)break;e>s?r=n:u=n,n=(r+u)*.5}return((l*n+c)*n+s)*n}}function Ux(){return JI??=typeof OffscreenCanvas<`u`&&!!new OffscreenCanvas(1,1).getContext(`2d`)&&typeof createImageBitmap==`function`,JI}function Wx(){if(YI==null&&(YI=!1,Ux())){let e=new OffscreenCanvas(5,5).getContext(`2d`,{willReadFrequently:!0});if(e){for(let t=0;t<25;t++){let n=t*4;e.fillStyle=`rgb(${n},${n+1},${n+2})`,e.fillRect(t%5,Math.floor(t/5),1,1)}let t=e.getImageData(0,0,5,5).data;for(let e=0;e<100;e++)if(e%4!=3&&t[e]!==e){YI=!0;break}}}return YI||!1}function Gx(){var e=new XI(9);return XI!=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 Kx(e){var t=e[0],n=e[1],r=e[2],i=e[3],a=e[4],o=e[5],s=e[6],c=e[7],l=e[8];return t*(l*a-o*c)+n*(-l*i+o*s)+r*(c*i-a*s)}function qx(e,t){var n=Math.sin(t),r=Math.cos(t);return e[0]=r,e[1]=n,e[2]=0,e[3]=-n,e[4]=r,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e}function Jx(e,t){var n=t[0],r=t[1],i=t[2],a=t[3],o=n+n,s=r+r,c=i+i,l=n*o,u=r*o,d=r*s,f=i*o,p=i*s,m=i*c,h=a*o,g=a*s,_=a*c;return e[0]=1-d-m,e[3]=u-_,e[6]=f+g,e[1]=u+_,e[4]=1-l-m,e[7]=p-h,e[2]=f-g,e[5]=p+h,e[8]=1-l-d,e}function Yx(){var e=new XI(16);return XI!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function Xx(e){var t=new XI(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Zx(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Qx(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function $x(e,t){var n=t[0],r=t[1],i=t[2],a=t[3],o=t[4],s=t[5],c=t[6],l=t[7],u=t[8],d=t[9],f=t[10],p=t[11],m=t[12],h=t[13],g=t[14],_=t[15],v=n*s-r*o,y=n*c-i*o,b=n*l-a*o,x=r*c-i*s,S=r*l-a*s,C=i*l-a*c,w=u*h-d*m,T=u*g-f*m,E=u*_-p*m,D=d*g-f*h,O=d*_-p*h,k=f*_-p*g,A=v*k-y*O+b*D+x*E-S*T+C*w;return A?(A=1/A,e[0]=(s*k-c*O+l*D)*A,e[1]=(i*O-r*k-a*D)*A,e[2]=(h*C-g*S+_*x)*A,e[3]=(f*S-d*C-p*x)*A,e[4]=(c*E-o*k-l*T)*A,e[5]=(n*k-i*E+a*T)*A,e[6]=(g*b-m*C-_*y)*A,e[7]=(u*C-f*b+p*y)*A,e[8]=(o*O-s*E+l*w)*A,e[9]=(r*E-n*O-a*w)*A,e[10]=(m*S-h*b+_*v)*A,e[11]=(d*b-u*S-p*v)*A,e[12]=(s*T-o*D-c*w)*A,e[13]=(n*D-r*T+i*w)*A,e[14]=(h*y-m*x-g*v)*A,e[15]=(u*x-d*y+f*v)*A,e):null}function eS(e,t,n){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],c=t[5],l=t[6],u=t[7],d=t[8],f=t[9],p=t[10],m=t[11],h=t[12],g=t[13],_=t[14],v=t[15],y=n[0],b=n[1],x=n[2],S=n[3];return e[0]=y*r+b*s+x*d+S*h,e[1]=y*i+b*c+x*f+S*g,e[2]=y*a+b*l+x*p+S*_,e[3]=y*o+b*u+x*m+S*v,y=n[4],b=n[5],x=n[6],S=n[7],e[4]=y*r+b*s+x*d+S*h,e[5]=y*i+b*c+x*f+S*g,e[6]=y*a+b*l+x*p+S*_,e[7]=y*o+b*u+x*m+S*v,y=n[8],b=n[9],x=n[10],S=n[11],e[8]=y*r+b*s+x*d+S*h,e[9]=y*i+b*c+x*f+S*g,e[10]=y*a+b*l+x*p+S*_,e[11]=y*o+b*u+x*m+S*v,y=n[12],b=n[13],x=n[14],S=n[15],e[12]=y*r+b*s+x*d+S*h,e[13]=y*i+b*c+x*f+S*g,e[14]=y*a+b*l+x*p+S*_,e[15]=y*o+b*u+x*m+S*v,e}function tS(e,t,n){var r=n[0],i=n[1],a=n[2],o,s,c,l,u,d,f,p,m,h,g,_;return t===e?(e[12]=t[0]*r+t[4]*i+t[8]*a+t[12],e[13]=t[1]*r+t[5]*i+t[9]*a+t[13],e[14]=t[2]*r+t[6]*i+t[10]*a+t[14],e[15]=t[3]*r+t[7]*i+t[11]*a+t[15]):(o=t[0],s=t[1],c=t[2],l=t[3],u=t[4],d=t[5],f=t[6],p=t[7],m=t[8],h=t[9],g=t[10],_=t[11],e[0]=o,e[1]=s,e[2]=c,e[3]=l,e[4]=u,e[5]=d,e[6]=f,e[7]=p,e[8]=m,e[9]=h,e[10]=g,e[11]=_,e[12]=o*r+u*i+m*a+t[12],e[13]=s*r+d*i+h*a+t[13],e[14]=c*r+f*i+g*a+t[14],e[15]=l*r+p*i+_*a+t[15]),e}function nS(e,t,n){var r=n[0],i=n[1],a=n[2];return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function rS(e,t,n){var r=Math.sin(n),i=Math.cos(n),a=t[4],o=t[5],s=t[6],c=t[7],l=t[8],u=t[9],d=t[10],f=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+l*r,e[5]=o*i+u*r,e[6]=s*i+d*r,e[7]=c*i+f*r,e[8]=l*i-a*r,e[9]=u*i-o*r,e[10]=d*i-s*r,e[11]=f*i-c*r,e}function iS(e,t,n){var r=Math.sin(n),i=Math.cos(n),a=t[0],o=t[1],s=t[2],c=t[3],l=t[8],u=t[9],d=t[10],f=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-l*r,e[1]=o*i-u*r,e[2]=s*i-d*r,e[3]=c*i-f*r,e[8]=a*r+l*i,e[9]=o*r+u*i,e[10]=s*r+d*i,e[11]=c*r+f*i,e}function aS(e,t,n){var r=Math.sin(n),i=Math.cos(n),a=t[0],o=t[1],s=t[2],c=t[3],l=t[4],u=t[5],d=t[6],f=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+l*r,e[1]=o*i+u*r,e[2]=s*i+d*r,e[3]=c*i+f*r,e[4]=l*i-a*r,e[5]=u*i-o*r,e[6]=d*i-s*r,e[7]=f*i-c*r,e}function oS(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function sS(e,t,n,r,i){var a=1/Math.tan(t/2);if(e[0]=a/n,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){var o=1/(r-i);e[10]=(i+r)*o,e[14]=2*i*r*o}else e[10]=-1,e[14]=-2*r;return e}function cS(e,t,n,r,i,a,o){var s=1/(t-n),c=1/(r-i),l=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*l,e[11]=0,e[12]=(t+n)*s,e[13]=(i+r)*c,e[14]=(o+a)*l,e[15]=1,e}function lS(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function uS(e,t){var n=e[0],r=e[1],i=e[2],a=e[3],o=e[4],s=e[5],c=e[6],l=e[7],u=e[8],d=e[9],f=e[10],p=e[11],m=e[12],h=e[13],g=e[14],_=e[15],v=t[0],y=t[1],b=t[2],x=t[3],S=t[4],C=t[5],w=t[6],T=t[7],E=t[8],D=t[9],O=t[10],k=t[11],A=t[12],j=t[13],M=t[14],N=t[15];return Math.abs(n-v)<=1e-6*Math.max(1,Math.abs(n),Math.abs(v))&&Math.abs(r-y)<=1e-6*Math.max(1,Math.abs(r),Math.abs(y))&&Math.abs(i-b)<=1e-6*Math.max(1,Math.abs(i),Math.abs(b))&&Math.abs(a-x)<=1e-6*Math.max(1,Math.abs(a),Math.abs(x))&&Math.abs(o-S)<=1e-6*Math.max(1,Math.abs(o),Math.abs(S))&&Math.abs(s-C)<=1e-6*Math.max(1,Math.abs(s),Math.abs(C))&&Math.abs(c-w)<=1e-6*Math.max(1,Math.abs(c),Math.abs(w))&&Math.abs(l-T)<=1e-6*Math.max(1,Math.abs(l),Math.abs(T))&&Math.abs(u-E)<=1e-6*Math.max(1,Math.abs(u),Math.abs(E))&&Math.abs(d-D)<=1e-6*Math.max(1,Math.abs(d),Math.abs(D))&&Math.abs(f-O)<=1e-6*Math.max(1,Math.abs(f),Math.abs(O))&&Math.abs(p-k)<=1e-6*Math.max(1,Math.abs(p),Math.abs(k))&&Math.abs(m-A)<=1e-6*Math.max(1,Math.abs(m),Math.abs(A))&&Math.abs(h-j)<=1e-6*Math.max(1,Math.abs(h),Math.abs(j))&&Math.abs(g-M)<=1e-6*Math.max(1,Math.abs(g),Math.abs(M))&&Math.abs(_-N)<=1e-6*Math.max(1,Math.abs(_),Math.abs(N))}function dS(){var e=new XI(3);return XI!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function fS(e){var t=new XI(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function pS(e){var t=e[0],n=e[1],r=e[2];return Math.sqrt(t*t+n*n+r*r)}function mS(e,t,n){var r=new XI(3);return r[0]=e,r[1]=t,r[2]=n,r}function hS(e,t,n){return e[0]=t[0]+n[0],e[1]=t[1]+n[1],e[2]=t[2]+n[2],e}function gS(e,t,n){return e[0]=t[0]-n[0],e[1]=t[1]-n[1],e[2]=t[2]-n[2],e}function _S(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e}function vS(e,t,n,r){return e[0]=t[0]+n[0]*r,e[1]=t[1]+n[1]*r,e[2]=t[2]+n[2]*r,e}function yS(e,t){var n=t[0]-e[0],r=t[1]-e[1],i=t[2]-e[2];return Math.sqrt(n*n+r*r+i*i)}function bS(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function xS(e,t){var n=t[0],r=t[1],i=t[2],a=n*n+r*r+i*i;return a>0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e}function SS(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function CS(e,t,n){var r=t[0],i=t[1],a=t[2],o=n[0],s=n[1],c=n[2];return e[0]=i*c-a*s,e[1]=a*o-r*c,e[2]=r*s-i*o,e}function wS(e,t,n){var r=t[0],i=t[1],a=t[2],o=n[3]*r+n[7]*i+n[11]*a+n[15];return o||=1,e[0]=(n[0]*r+n[4]*i+n[8]*a+n[12])/o,e[1]=(n[1]*r+n[5]*i+n[9]*a+n[13])/o,e[2]=(n[2]*r+n[6]*i+n[10]*a+n[14])/o,e}function TS(e,t,n){var r=t[0],i=t[1],a=t[2];return e[0]=r*n[0]+i*n[3]+a*n[6],e[1]=r*n[1]+i*n[4]+a*n[7],e[2]=r*n[2]+i*n[5]+a*n[8],e}function ES(e,t,n){var r=n[0],i=n[1],a=n[2],o=n[3],s=t[0],c=t[1],l=t[2],u=i*l-a*c,d=a*s-r*l,f=r*c-i*s;return u+=u,d+=d,f+=f,e[0]=s+o*u+i*f-a*d,e[1]=c+o*d+a*u-r*f,e[2]=l+o*f+r*d-i*u,e}function DS(e,t,n,r){var i=[],a=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],a[0]=i[0],a[1]=i[1]*Math.cos(r)-i[2]*Math.sin(r),a[2]=i[1]*Math.sin(r)+i[2]*Math.cos(r),e[0]=a[0]+n[0],e[1]=a[1]+n[1],e[2]=a[2]+n[2],e}function OS(e,t,n,r){var i=[],a=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],a[0]=i[2]*Math.sin(r)+i[0]*Math.cos(r),a[1]=i[1],a[2]=i[2]*Math.cos(r)-i[0]*Math.sin(r),e[0]=a[0]+n[0],e[1]=a[1]+n[1],e[2]=a[2]+n[2],e}function kS(e,t,n,r){var i=[],a=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],a[0]=i[0]*Math.cos(r)-i[1]*Math.sin(r),a[1]=i[0]*Math.sin(r)+i[1]*Math.cos(r),a[2]=i[2],e[0]=a[0]+n[0],e[1]=a[1]+n[1],e[2]=a[2]+n[2],e}function AS(e){return e[0]=0,e[1]=0,e[2]=0,e}function jS(){var e=new XI(4);return XI!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function MS(e,t,n,r){var i=new XI(4);return i[0]=e,i[1]=t,i[2]=n,i[3]=r,i}function NS(e,t,n){return e[0]=t[0]*n[0],e[1]=t[1]*n[1],e[2]=t[2]*n[2],e[3]=t[3]*n[3],e}function PS(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e}function FS(e,t){var n=t[0],r=t[1],i=t[2],a=t[3],o=n*n+r*r+i*i+a*a;return o>0&&(o=1/Math.sqrt(o)),e[0]=n*o,e[1]=r*o,e[2]=i*o,e[3]=a*o,e}function IS(e,t,n){var r=t[0],i=t[1],a=t[2],o=t[3];return e[0]=n[0]*r+n[4]*i+n[8]*a+n[12]*o,e[1]=n[1]*r+n[5]*i+n[9]*a+n[13]*o,e[2]=n[2]*r+n[6]*i+n[10]*a+n[14]*o,e[3]=n[3]*r+n[7]*i+n[11]*a+n[15]*o,e}function LS(){var e=new XI(4);return XI!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function RS(e,t,n){n*=.5;var r=Math.sin(n);return e[0]=r*t[0],e[1]=r*t[1],e[2]=r*t[2],e[3]=Math.cos(n),e}function zS(e,t,n){var r=t[0],i=t[1],a=t[2],o=t[3],s=n[0],c=n[1],l=n[2],u=n[3];return e[0]=r*u+o*s+i*l-a*c,e[1]=i*u+o*c+a*s-r*l,e[2]=a*u+o*l+r*c-i*s,e[3]=o*u-r*s-i*c-a*l,e}function BS(e,t,n,r){var i=t[0],a=t[1],o=t[2],s=t[3],c=n[0],l=n[1],u=n[2],d=n[3],f,p=i*c+a*l+o*u+s*d,m,h,g;return p<0&&(p=-p,c=-c,l=-l,u=-u,d=-d),1-p>1e-6?(f=Math.acos(p),m=Math.sin(f),h=Math.sin((1-r)*f)/m,g=Math.sin(r*f)/m):(h=1-r,g=r),e[0]=h*i+g*c,e[1]=h*a+g*l,e[2]=h*o+g*u,e[3]=h*s+g*d,e}function VS(e,t){var n=t[0]+t[4]+t[8],r;if(n>0)r=Math.sqrt(n+1),e[3]=.5*r,r=.5/r,e[0]=(t[5]-t[7])*r,e[1]=(t[6]-t[2])*r,e[2]=(t[1]-t[3])*r;else{var i=0;t[4]>t[0]&&(i=1),t[8]>t[i*3+i]&&(i=2);var a=(i+1)%3,o=(i+2)%3;r=Math.sqrt(t[i*3+i]-t[a*3+a]-t[o*3+o]+1),e[i]=.5*r,r=.5/r,e[3]=(t[a*3+o]-t[o*3+a])*r,e[a]=(t[a*3+i]+t[i*3+a])*r,e[o]=(t[o*3+i]+t[i*3+o])*r}return e}function HS(e,t,n,r){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:`zyx`,a=Math.PI/360;t*=a,r*=a,n*=a;var o=Math.sin(t),s=Math.cos(t),c=Math.sin(n),l=Math.cos(n),u=Math.sin(r),d=Math.cos(r);switch(i){case`xyz`:e[0]=o*l*d+s*c*u,e[1]=s*c*d-o*l*u,e[2]=s*l*u+o*c*d,e[3]=s*l*d-o*c*u;break;case`xzy`:e[0]=o*l*d-s*c*u,e[1]=s*c*d-o*l*u,e[2]=s*l*u+o*c*d,e[3]=s*l*d+o*c*u;break;case`yxz`:e[0]=o*l*d+s*c*u,e[1]=s*c*d-o*l*u,e[2]=s*l*u-o*c*d,e[3]=s*l*d+o*c*u;break;case`yzx`:e[0]=o*l*d+s*c*u,e[1]=s*c*d+o*l*u,e[2]=s*l*u-o*c*d,e[3]=s*l*d-o*c*u;break;case`zxy`:e[0]=o*l*d-s*c*u,e[1]=s*c*d+o*l*u,e[2]=s*l*u+o*c*d,e[3]=s*l*d-o*c*u;break;case`zyx`:e[0]=o*l*d-s*c*u,e[1]=s*c*d+o*l*u,e[2]=s*l*u-o*c*d,e[3]=s*l*d+o*c*u;break;default:throw Error(`Unknown angle order `+i)}return e}function US(){var e=new XI(2);return XI!=Float32Array&&(e[0]=0,e[1]=0),e}function WS(e,t){var n=new XI(2);return n[0]=e,n[1]=t,n}function GS(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e}function KS(e){var t=e[0],n=e[1];return Math.sqrt(t*t+n*n)}function qS(e){var t=e[0],n=e[1];return t*t+n*n}function JS(e,t){return e[0]*t[0]+e[1]*t[1]}function YS(e){return e[0]=0,e[1]=0,e}function XS(e,t,n){return t*(aL/(e.tileSize*2**(n-e.tileID.overscaledZ)))}function ZS(e){return e instanceof Error?e:Error(typeof e==`string`?e:String(e))}function QS(){return new Float64Array(4)}function $S(){return new Float64Array(3)}function eC(){return new Float64Array(16)}function tC(){let e=new Float64Array(16);return Qx(e),e}function nC(){let e=new Float32Array(16);return Qx(e),e}function rC(e,t,n,r,i=!1){if(!n[0]&&!n[1])return[0,0];let a=i?r===`map`?-e.bearingInRadians:0:r===`viewport`?e.bearingInRadians:0;if(a){let e=Math.sin(a),t=Math.cos(a);n=[n[0]*t-n[1]*e,n[0]*e+n[1]*t]}return[i?n[0]:XS(t,n[0],e.zoom),i?n[1]:XS(t,n[1],e.zoom)]}function iC(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]}function aC(e,t,n){let r=Kx([e[0],e[1],e[2],t[0],t[1],t[2],n[0],n[1],n[2]]);if(r===0)return null;let i=CS([],[t[0],t[1],t[2]],[n[0],n[1],n[2]]),a=CS([],[n[0],n[1],n[2]],[e[0],e[1],e[2]]),o=CS([],[e[0],e[1],e[2]],[t[0],t[1],t[2]]),s=_S([],i,-e[3]);return hS(s,s,_S([],a,-t[3])),hS(s,s,_S([],o,-n[3])),_S(s,s,1/r),s}function oC(e,t,n){let r=e[0]*n[0]+e[1]*n[1]+e[2]*n[2],i=t[0]*n[0]+t[1]*n[1]+t[2]*n[2];return i===0?null:(-r-n[3])/i}function sC(e,t,n,r){let i=Math.sqrt(e*e+t*t),a=Math.sqrt(n*n+r*r);e/=i,t/=i,n/=a,r/=a;let o=e*n+t*r,s=Math.acos(o);return-t*n+e*r>0?s:-s}function cC(e,t){let n=uC(e,360),r=uC(t,360),i=r-n,a=r>n?i-360:i+360;return Math.abs(i)<Math.abs(a)?i:a}function lC(e,t){let n=uC(e,Math.PI*2),r=uC(t,Math.PI*2);return Math.min(Math.abs(n-r),Math.abs(n-r+Math.PI*2),Math.abs(n-r-Math.PI*2))}function uC(e,t){return(e%t+t)%t}function dC(e,t,n,r,i){return fC(r,i,_C((e-t)/(n-t),0,1))}function fC(e,t,n){return e*(1-n)+t*n}function pC(e){let t=1/0,n=1/0,r=-1/0,i=-1/0;for(let a of e)t=Math.min(t,a.x),n=Math.min(n,a.y),r=Math.max(r,a.x),i=Math.max(i,a.y);return[t,n,r,i]}function mC(e){if(!e.length)return new Set;let t=Math.max(...e.map(e=>e.canonical.z)),n=1/0,r=-1/0,i=1/0,a=-1/0,o=[];for(let s of e){let{x:e,y:c,z:l}=s.canonical,u=2**(t-l),d=e*u,f=c*u;o.push({id:s,x:d,y:f}),d<n&&(n=d),d>r&&(r=d),f<i&&(i=f),f>a&&(a=f)}let s=new Set;for(let e of o)(e.x===n||e.x===r||e.y===i||e.y===a)&&s.add(e.id);return s}function hC(e){if(e<=0)return 0;if(e>=1)return 1;let t=e*e,n=t*e;return 4*(e<.5?n:3*(e-t)+n-.75)}function gC(e,t,n,r){return Hx(e,t,n,r)}function _C(e,t,n){return Math.min(n,Math.max(t,e))}function vC(e,t,n){let r=n-t,i=((e-t)%r+r)%r+t;return i===t?n:i}function yC(e,...t){for(let n of t)for(let t in n)e[t]=n[t];return e}function bC(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function xC(){return sL++}function SC(e){return Math.log(e)/Math.LN2%1==0}function CC(e){return e<=1?1:2**Math.ceil(Math.log(e)/Math.LN2)}function wC(e){return 2**e}function TC(e){return Math.log(e)/Math.LN2}function EC(e,t,n){if(t<=0)return e;let r=1/t;return n===void 0||Math.abs(n)<1e-10?Math.round(e*r)/r:(n>0?Math.ceil(e*r-1e-9):Math.floor(e*r+1e-10))/r}function DC(e,t,n){let r={};for(let i in e)r[i]=t.call(n||this,e[i],i,e);return r}function OC(e,t,n){let r={};for(let i in e)t.call(n||this,e[i],i,e)&&(r[i]=e[i]);return r}function kC(e,t){if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!kC(e[n],t[n]))return!1;return!0}if(typeof e==`object`&&e&&t!==null){if(typeof t!=`object`||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(!kC(e[n],t[n]))return!1;return!0}return e===t}function AC(e){return Array.isArray(e)?e.map(AC):typeof e==`object`&&e?DC(e,AC):e}function jC(e){cL[e]||(typeof console<`u`&&console.warn(e),cL[e]=!0)}function MC(e,t,n){return(n.y-e.y)*(t.x-e.x)>(t.y-e.y)*(n.x-e.x)}function NC(e,t,n,r){let i=t.y-e.y,a=t.x-e.x,o=r.y-n.y,s=r.x-n.x,c=o*a-s*i;if(c===0)return null;let l=e.y-n.y,u=e.x-n.x,d=(s*l-o*u)/c;return new Vx(e.x+d*a,e.y+d*i)}function PC([e,t,n]){return t+=90,t*=Math.PI/180,n*=Math.PI/180,[e*Math.cos(t)*Math.sin(n),e*Math.sin(t)*Math.sin(n),e*Math.cos(n)]}function FC(e){return typeof WorkerGlobalScope<`u`&&e!==void 0&&e instanceof WorkerGlobalScope}function IC(e){let t=/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,n={};if(e.replace(t,(e,t,r,i)=>{let a=r||i;return n[t]=!a||a.toLowerCase(),``}),n[`max-age`]){let e=parseInt(n[`max-age`],10);isNaN(e)?delete n[`max-age`]:n[`max-age`]=e}return n}function LC(e){if(lL==null){let t=e.navigator?e.navigator.userAgent:null;lL=!!e.safari||!!(t&&(/\b(iPad|iPhone|iPod)\b/.test(t)||t.match(`Safari`)&&!t.match(`Chrome`)))}return lL}function RC(e){return typeof ImageBitmap<`u`&&e instanceof ImageBitmap}function zC(e,t,n,r,i){let a=Math.max(-t,0)*4,o=(Math.max(0,n)-n)*r*4+a,s=r*4,c=Math.max(0,t),l=Math.max(0,n),u=Math.min(e.width,t+r),d=Math.min(e.height,n+i);return{rect:{x:c,y:l,width:u-c,height:d-l},layout:[{offset:o,stride:s}]}}function BC(e,t,n,r,i){return S(this,null,function*(){if(typeof VideoFrame>`u`)throw Error(`VideoFrame not supported`);let a=new VideoFrame(e,{timestamp:0});try{let o=a?.format;if(!o||!(o.startsWith(`BGR`)||o.startsWith(`RGB`)))throw Error(`Unrecognized format ${o}`);let s=o.startsWith(`BGR`),c=new Uint8ClampedArray(r*i*4);if(yield a.copyTo(c,zC(e,t,n,r,i)),s)for(let e=0;e<c.length;e+=4){let t=c[e];c[e]=c[e+2],c[e+2]=t}return c}finally{a.close()}})}function VC(e,t,n,r){return e.addEventListener(t,n,r),{unsubscribe:()=>{e.removeEventListener(t,n,r)}}}function HC(e){return e*Math.PI/180}function UC(e){return e/Math.PI*180}function WC(e,t){return e.roll==t.roll&&e.pitch==t.pitch&&e.bearing==t.bearing}function GC(e){let t=new Float64Array(9);Jx(t,e);let n=UC(-Math.asin(_C(t[2],-1,1))),r,i;return Math.hypot(t[5],t[8])<.001?(r=0,i=-UC(Math.atan2(t[3],t[4]))):(r=UC(t[5]===0&&t[8]===0?0:Math.atan2(t[5],t[8])),i=UC(t[1]===0&&t[0]===0?0:Math.atan2(t[1],t[0]))),{roll:r,pitch:n+90,bearing:i}}function KC(e,t,n){let r=WS(t.x-n.x,t.y-n.y),i=WS(e.x-n.x,e.y-n.y),a=r[0]*i[1]-r[1]*i[0];return UC(Math.atan2(a,JS(r,i)))}function qC(e,t,n){let r=new Float64Array(4);return HS(r,e,t-90,n),r}function JC(e,t){return pL[t]&&`touches`in e}function YC(e,t){if(!mL[t])return!1;let n=e,r=n?.target?.ownerDocument?.defaultView||window;return n instanceof r.MouseEvent||n instanceof r.WheelEvent}function XC(e){return pL[e]||mL[e]}function ZC(e){return e instanceof Error&&e.name===`AbortError`}function QC(e){if(e.aborted)throw new gL(e.reason)}function $C(e){return _L.REGISTERED_PROTOCOLS[e.substring(0,e.indexOf(`://`))]}function ew(e,t){_L.REGISTERED_PROTOCOLS[e]=t}function tw(e){delete _L.REGISTERED_PROTOCOLS[e]}function nw(){if(FC(self))return self.worker?.referrer;if(window.location.protocol===`blob:`)try{return window.parent.location.href}catch{}return window.location.href}function rw(e,t){return S(this,null,function*(){let n=new Request(e.url,{method:e.method||`GET`,body:e.body,credentials:e.credentials,headers:e.headers,cache:e.cache,referrer:nw(),referrerPolicy:e.referrerPolicy,signal:t.signal});e.type===`json`&&!n.headers.has(`Accept`)&&n.headers.set(`Accept`,`application/json`);let r;try{r=yield fetch(n)}catch(t){throw ZC(t)?t:new yL(0,ZS(t).message,e.url,new Blob)}if(!r.ok){let t=yield r.blob();throw new yL(r.status,r.statusText,e.url,t)}let i;i=e.type===`arrayBuffer`||e.type===`image`?r.arrayBuffer():e.type===`json`?r.json():r.text();let a=yield i;return QC(t.signal),{data:a,cacheControl:r.headers.get(`Cache-Control`),expires:r.headers.get(`Expires`),etag:r.headers.get(`ETag`)}})}function iw(e,t){return new Promise((n,r)=>{var i;let a=new XMLHttpRequest;a.open(e.method||`GET`,e.url,!0),(e.type===`arrayBuffer`||e.type===`image`)&&(a.responseType=`arraybuffer`);for(let t in e.headers)a.setRequestHeader(t,e.headers[t]);e.type===`json`&&(a.responseType=`text`,(i=e.headers)!=null&&i.Accept||a.setRequestHeader(`Accept`,`application/json`)),a.withCredentials=e.credentials===`include`,a.onerror=()=>{r(Error(a.statusText))},a.onload=()=>{if(!t.signal.aborted){if((a.status>=200&&a.status<300||a.status===0)&&a.response!==null){let t=a.response;if(e.type===`json`)try{t=JSON.parse(a.response)}catch(e){r(e);return}n({data:t,cacheControl:a.getResponseHeader(`Cache-Control`),expires:a.getResponseHeader(`Expires`),etag:a.getResponseHeader(`ETag`)})}else{let t=new Blob([a.response],{type:a.getResponseHeader(`Content-Type`)});r(new yL(a.status,a.statusText,e.url,t))}}},t.signal.addEventListener(`abort`,()=>{a.abort(),r(new gL(t.signal.reason))}),a.send(e.body)})}function aw(e){if(!e||e.startsWith(`data:image/`))return!0;if(e.startsWith(`blob:`)&&(e=e.slice(5),e.startsWith(`null`)))return!1;if(e.indexOf(`://`)<=0)return!0;let t=new URL(e),n=window.location;return t.protocol===n.protocol&&t.host===n.host}function ow(e,t,n){var r;(r=n[e])!=null&&r.includes(t)||(n[e]||(n[e]=[]),n[e].push(t))}function sw(e,t,n){if(n!=null&&n[e]){let r=n[e].indexOf(t);r!==-1&&n[e].splice(r,1)}}function cw(e,t){return{kind:`array`,itemType:e,N:t}}function lw(e){if(e.kind===`array`){let t=lw(e.itemType);return typeof e.N==`number`?`array<${t}, ${e.N}>`:e.itemType.kind===`value`?`array`:`array<${t}>`}return e.kind}function uw(e,t){if(t.kind===`error`)return null;if(e.kind===`array`){if(t.kind===`array`&&(t.N===0&&t.itemType.kind===`value`||!uw(e.itemType,t.itemType))&&(typeof e.N!=`number`||e.N===t.N))return null}else{if(e.kind===t.kind)return null;if(e.kind===`value`){for(let e of JL)if(!uw(e,t))return null}}return`Expected ${lw(e)} but found ${lw(t)} instead.`}function dw(e,t){return t.some(t=>t.kind===e.kind)}function fw(e,t){return t.some(t=>t===`null`?e===null:t===`array`?Array.isArray(e):t===`object`?e&&!Array.isArray(e)&&typeof e==`object`:t===typeof e)}function pw(e,t){return e.kind===`array`&&t.kind===`array`?e.itemType.kind===t.itemType.kind&&typeof e.N==`number`:e.kind===t.kind}function mw(e){return e%=360,e<0&&(e+=360),e}function hw([e,t,n,r]){e=gw(e),t=gw(t),n=gw(n);let i,a,o=_w((.2225045*e+.7168786*t+.0606169*n)/1);e===t&&t===n?i=a=o:(i=_w((.4360747*e+.3850649*t+.1430804*n)/YL),a=_w((.0139322*e+.0971045*t+.7141733*n)/XL));let s=116*o-16;return[s<0?0:s,500*(i-o),200*(o-a),r]}function gw(e){return e<=.04045?e/12.92:((e+.055)/1.055)**2.4}function _w(e){return e>.008856451679035631?e**(1/3):e/$L+ZL}function vw([e,t,n,r]){let i=(e+16)/116,a=isNaN(t)?i:i+t/500,o=isNaN(n)?i:i-n/200;return i=1*bw(i),a=YL*bw(a),o=XL*bw(o),[yw(3.1338561*a-1.6168667*i-.4906146*o),yw(-.9787684*a+1.9161415*i+.033454*o),yw(.0719453*a-.2289914*i+1.4052427*o),r]}function yw(e){return e=e<=.00304?12.92*e:1.055*e**(1/2.4)-.055,e<0?0:e>1?1:e}function bw(e){return e>QL?e*e*e:$L*(e-ZL)}function xw(e){let[t,n,r,i]=hw(e),a=Math.sqrt(n*n+r*r);return[Math.round(a*1e4)?mw(Math.atan2(r,n)*tR):NaN,a,t,i]}function Sw([e,t,n,r]){return e=isNaN(e)?0:e*eR,vw([n,Math.cos(e)*t,Math.sin(e)*t,r])}function Cw([e,t,n,r]){e=mw(e),t/=100,n/=100;function i(r){let i=(r+e/30)%12,a=t*Math.min(n,1-n);return n-a*Math.max(-1,Math.min(i-3,9-i,1))}return[i(0),i(8),i(4),r]}function ww(e,t){return nR(e,t)?e[t]:void 0}function Tw(e){if(e=e.toLowerCase().trim(),e===`transparent`)return[0,0,0,0];let t=ww(rR,e);if(t){let[e,n,r]=t;return[e/255,n/255,r/255,1]}if(e.startsWith(`#`)&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(e)){let t=e.length<6?1:2,n=1;return[Ew(e.slice(n,n+=t)),Ew(e.slice(n,n+=t)),Ew(e.slice(n,n+=t)),Ew(e.slice(n,n+t)||`ff`)]}if(e.startsWith(`rgb`)){let t=e.match(/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(t){let[e,n,r,i,a,o,s,c,l,u,d,f]=t,p=[i||` `,s||` `,u].join(``);if(p===` `||p===` /`||p===`,,`||p===`,,,`){let e=[r,o,l].join(``),t=e===`%%%`?100:e===``?255:0;if(t){let e=[Ow(+n/t,0,1),Ow(+a/t,0,1),Ow(+c/t,0,1),d?Dw(+d,f):1];if(kw(e))return e}}return}}let n=e.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(n){let[e,t,r,i,a,o,s,c,l]=n,u=[r||` `,a||` `,s].join(``);if(u===` `||u===` /`||u===`,,`||u===`,,,`){let e=[+t,Ow(+i,0,100),Ow(+o,0,100),c?Dw(+c,l):1];if(kw(e))return Cw(e)}}}function Ew(e){return parseInt(e.padEnd(2,e),16)/255}function Dw(e,t){return Ow(t?e/100:e,0,1)}function Ow(e,t,n){return Math.min(Math.max(t,e),n)}function kw(e){return!e.some(Number.isNaN)}function Aw(e,t,n){return e+n*(t-e)}function jw(e,t,n){return e.map((e,r)=>Aw(e,t[r],n))}function Mw(e){return e===`rgb`||e===`hcl`||e===`lab`}function Nw(e,t,n,r){return typeof e==`number`&&e>=0&&e<=255&&typeof t==`number`&&t>=0&&t<=255&&typeof n==`number`&&n>=0&&n<=255?r===void 0||typeof r==`number`&&r>=0&&r<=1?null:`Invalid rgba value [${[e,t,n,r].join(`, `)}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof r==`number`?[e,t,n,r]:[e,t,n]).join(`, `)}]: 'r', 'g', and 'b' must be between 0 and 255.`}function Pw(e){if(e===null||typeof e==`string`||typeof e==`boolean`||typeof e==`number`||e instanceof gR||e instanceof aR||e instanceof _R||e instanceof cR||e instanceof lR||e instanceof uR||e instanceof dR||e instanceof mR||e instanceof hR)return!0;if(Array.isArray(e)){for(let t of e)if(!Pw(t))return!1;return!0}if(typeof e==`object`){for(let t in e)if(!Pw(e[t]))return!1;return!0}return!1}function Fw(e){if(e===null)return ML;if(typeof e==`string`)return PL;if(typeof e==`boolean`)return FL;if(typeof e==`number`)return NL;if(e instanceof aR)return IL;if(e instanceof gR)return LL;if(e instanceof _R)return VL;if(e instanceof cR)return HL;if(e instanceof lR)return UL;if(e instanceof uR)return GL;if(e instanceof dR)return WL;if(e instanceof mR)return qL;if(e instanceof hR)return KL;if(Array.isArray(e)){let t=e.length,n;for(let t of e){let e=Fw(t);if(!n)n=e;else{if(n===e)continue;n=zL;break}}return cw(n||zL,t)}return RL}function Iw(e){let t=typeof e;return e===null?``:t===`string`||t===`number`||t===`boolean`?String(e):e instanceof aR||e instanceof gR||e instanceof cR||e instanceof lR||e instanceof uR||e instanceof dR||e instanceof mR||e instanceof hR?e.toString():JSON.stringify(e)}function Lw(e,t,n){let r=e.length-1,i=0,a=r,o=0,s,c;for(;i<=a;)if(o=Math.floor((i+a)/2),s=e[o],c=e[o+1],s<=t){if(o===r||t<c)return o;i=o+1}else if(s>t)a=o-1;else throw new fR(`Input is not a number.`,n);return 0}function Rw(e,t,n,r){let i=3*e,a=3*(n-e)-i,o=1-i-a,s=3*t,c=3*(r-t)-s,l=1-s-c;return function(e,t=1e-6){if(e<=0)return 0;if(e>=1)return 1;let n=e;for(let r=0;r<8;r++){let r=((o*n+a)*n+i)*n-e;if(Math.abs(r)<t)return((l*n+c)*n+s)*n;let u=(3*o*n+2*a)*n+i;if(Math.abs(u)<1e-6)break;n-=r/u}let r=0,u=1;n=e;for(let s=0;s<20;s++){let s=((o*n+a)*n+i)*n;if(Math.abs(s-e)<t)break;e>s?r=n:u=n,n=(r+u)*.5}return((l*n+c)*n+s)*n}}function zw(e,t,n,r){let i=r-n,a=e-n;return i===0?0:t===1?a/i:(t**+a-1)/(t**+i-1)}function Bw(e,t,n=0,r=e.length-1,i=Hw){for(;r>n;){if(r-n>600){let a=r-n+1,o=t-n+1,s=Math.log(a),c=.5*Math.exp(2*s/3),l=.5*Math.sqrt(s*c*(a-c)/a)*(o-a/2<0?-1:1);Bw(e,t,Math.max(n,Math.floor(t-o*c/a+l)),Math.min(r,Math.floor(t+(a-o)*c/a+l)),i)}let a=e[t],o=n,s=r;for(Vw(e,n,t),i(e[r],a)>0&&Vw(e,n,r);o<s;){for(Vw(e,o,s),o++,s--;i(e[o],a)<0;)o++;for(;i(e[s],a)>0;)s--}i(e[n],a)===0?Vw(e,n,s):(s++,Vw(e,s,r)),s<=t&&(n=s+1),t<=s&&(r=s-1)}}function Vw(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function Hw(e,t){return e<t?-1:+(e>t)}function Uw(e,t){if(e.length<=1)return[e];let n=[],r,i;for(let t of e){let e=Gw(t);e!==0&&(t.area=Math.abs(e),i===void 0&&(i=e<0),i===e<0?(r&&n.push(r),r=[t]):r.push(t))}if(r&&n.push(r),t>1)for(let e=0;e<n.length;e++)n[e].length<=t||(Bw(n[e],t,1,n[e].length-1,Ww),n[e]=n[e].slice(0,t));return n}function Ww(e,t){return t.area-e.area}function Gw(e){let t=0;for(let n=0,r=e.length,i=r-1,a,o;n<r;i=n++)a=e[n],o=e[i],t+=(o.x-a.x)*(a.y+o.y);return t}function Kw(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 qw(e,t,n){return t===n}function Jw(e,t,n){return t!==n}function Yw(e,t,n){return t<n}function Xw(e,t,n){return t>n}function Zw(e,t,n){return t<=n}function Qw(e,t,n){return t>=n}function $w(e,t,n,r){return r.compare(t,n)===0}function eT(e,t,n,r){return!$w(e,t,n,r)}function tT(e,t,n,r){return r.compare(t,n)<0}function nT(e,t,n,r){return r.compare(t,n)>0}function rT(e,t,n,r){return r.compare(t,n)<=0}function iT(e,t,n,r){return r.compare(t,n)>=0}function aT(e,t,n){let r=e!==`==`&&e!==`!=`;return class i{constructor(e,t,n,r){this.lhs=e,this.rhs=t,this.key=n,this.collator=r,this.type=FL,this.hasUntypedArgument=e.type.kind===`value`||t.type.kind===`value`}static parse(e,t){if(e.length!==3&&e.length!==4)return t.error(`Expected two or three arguments.`);let n=e[0],a=t.parse(e[1],1,zL);if(!a)return null;if(!Kw(n,a.type))return t.concat(1).error(`"${n}" comparisons are not supported for type '${lw(a.type)}'.`);let o=t.parse(e[2],2,zL);if(!o)return null;if(!Kw(n,o.type))return t.concat(2).error(`"${n}" comparisons are not supported for type '${lw(o.type)}'.`);if(a.type.kind!==o.type.kind&&a.type.kind!==`value`&&o.type.kind!==`value`)return t.error(`Cannot compare types '${lw(a.type)}' and '${lw(o.type)}'.`);r&&(a.type.kind===`value`&&o.type.kind!==`value`?a=new ER(o.type,[a],t.key):a.type.kind!==`value`&&o.type.kind===`value`&&(o=new ER(a.type,[o],t.key)));let s=null;if(e.length===4){if(a.type.kind!==`string`&&o.type.kind!==`string`&&a.type.kind!==`value`&&o.type.kind!==`value`)return t.error(`Cannot use collator to compare non-string types.`);if(s=t.parse(e[3],3,VL),!s)return null}return new i(a,o,t.key,s)}evaluate(i){let a=this.lhs.evaluate(i),o=this.rhs.evaluate(i);if(r&&this.hasUntypedArgument){let t=Fw(a),n=Fw(o);if(t.kind!==n.kind||t.kind!==`string`&&t.kind!==`number`)throw new fR(`Expected arguments for "${e}" to be (string, string) or (number, number), but found (${t.kind}, ${n.kind}) instead.`,this.key)}if(this.collator&&!r&&this.hasUntypedArgument){let e=Fw(a),n=Fw(o);if(e.kind!==`string`||n.kind!==`string`)return t(i,a,o)}return this.collator?n(i,a,o,this.collator.evaluate(i)):t(i,a,o)}eachChild(e){e(this.lhs),e(this.rhs),this.collator&&e(this.collator)}outputDefined(){return!0}}}function oT(e,t){let n=cT(e[0]),r=uT(e[1]),i=2**t.z;return[Math.round(n*i*JR),Math.round(r*i*JR)]}function sT(e,t){let n=2**t.z,r=(e[0]/JR+t.x)/n,i=(e[1]/JR+t.y)/n;return[lT(r),dT(i)]}function cT(e){return(180+e)/360}function lT(e){return e*360-180}function uT(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function dT(e){return 360/Math.PI*Math.atan(Math.exp((180-e*360)*Math.PI/180))-90}function fT(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 pT(e,t){return!(e[0]<=t[0]||e[2]>=t[2]||e[1]<=t[1]||e[3]>=t[3])}function mT(e,t,n){return t[1]>e[1]!=n[1]>e[1]&&e[0]<(n[0]-t[0])*(e[1]-t[1])/(n[1]-t[1])+t[0]}function hT(e,t,n){let r=e[0]-t[0],i=e[1]-t[1],a=e[0]-n[0],o=e[1]-n[1];return r*o-a*i===0&&r*a<=0&&i*o<=0}function gT(e,t,n,r){let i=[t[0]-e[0],t[1]-e[1]];return ST([r[0]-n[0],r[1]-n[1]],i)!==0&&!!(CT(e,t,n,r)&&CT(n,r,e,t))}function _T(e,t,n){for(let r of n)for(let n=0;n<r.length-1;++n)if(gT(e,t,r[n],r[n+1]))return!0;return!1}function vT(e,t,n=!1){let r=!1;for(let i of t)for(let t=0;t<i.length-1;t++){if(hT(e,i[t],i[t+1]))return n;mT(e,i[t],i[t+1])&&(r=!r)}return r}function yT(e,t){for(let n of t)if(vT(e,n))return!0;return!1}function bT(e,t){for(let n of e)if(!vT(n,t))return!1;for(let n=0;n<e.length-1;++n)if(_T(e[n],e[n+1],t))return!1;return!0}function xT(e,t){for(let n of t)if(bT(e,n))return!0;return!1}function ST(e,t){return e[0]*t[1]-e[1]*t[0]}function CT(e,t,n,r){let i=e[0]-n[0],a=e[1]-n[1],o=t[0]-n[0],s=t[1]-n[1],c=r[0]-n[0],l=r[1]-n[1],u=i*l-c*a,d=o*l-c*s;return u>0&&d<0||u<0&&d>0}function wT(e,t,n){let r=[];for(let i=0;i<e.length;i++){let a=[];for(let r=0;r<e[i].length;r++){let o=oT(e[i][r],n);fT(t,o),a.push(o)}r.push(a)}return r}function TT(e,t,n){let r=[];for(let i=0;i<e.length;i++){let a=wT(e[i],t,n);r.push(a)}return r}function ET(e,t,n,r){if(e[0]<n[0]||e[0]>n[2]){let t=r*.5,i=e[0]-n[0]>t?-r:n[0]-e[0]>t?r:0;i===0&&(i=e[0]-n[2]>t?-r:n[2]-e[0]>t?r:0),e[0]+=i}fT(t,e)}function DT(e){e[0]=e[1]=1/0,e[2]=e[3]=-1/0}function OT(e,t,n,r){let i=2**r.z*JR,a=[r.x*JR,r.y*JR],o=[];for(let r of e)for(let e of r){let r=[e.x+a[0],e.y+a[1]];ET(r,t,n,i),o.push(r)}return o}function kT(e,t,n,r){let i=2**r.z*JR,a=[r.x*JR,r.y*JR],o=[];for(let n of e){let e=[];for(let r of n){let n=[r.x+a[0],r.y+a[1]];fT(t,n),e.push(n)}o.push(e)}if(t[2]-t[0]<=i/2){DT(t);for(let e of o)for(let r of e)ET(r,t,n,i)}return o}function AT(e,t){let n=[1/0,1/0,-1/0,-1/0],r=[1/0,1/0,-1/0,-1/0],i=e.canonicalID();if(t.type===`Polygon`){let a=wT(t.coordinates,r,i),o=OT(e.geometry(),n,r,i);if(!pT(n,r))return!1;for(let e of o)if(!vT(e,a))return!1}if(t.type===`MultiPolygon`){let a=TT(t.coordinates,r,i),o=OT(e.geometry(),n,r,i);if(!pT(n,r))return!1;for(let e of o)if(!yT(e,a))return!1}return!0}function jT(e,t){let n=[1/0,1/0,-1/0,-1/0],r=[1/0,1/0,-1/0,-1/0],i=e.canonicalID();if(t.type===`Polygon`){let a=wT(t.coordinates,r,i),o=kT(e.geometry(),n,r,i);if(!pT(n,r))return!1;for(let e of o)if(!bT(e,a))return!1}if(t.type===`MultiPolygon`){let a=TT(t.coordinates,r,i),o=kT(e.geometry(),n,r,i);if(!pT(n,r))return!1;for(let e of o)if(!xT(e,a))return!1}return!0}function MT(e,t){return t[0]-e[0]}function NT(e){return e[1]-e[0]+1}function PT(e,t){return e[1]>=e[0]&&e[1]<t}function FT(e,t){if(e[0]>e[1])return[null,null];let n=NT(e);if(t){if(n===2)return[e,null];let t=Math.floor(n/2);return[[e[0],e[0]+t],[e[0]+t,e[1]]]}if(n===1)return[e,null];let r=Math.floor(n/2)-1;return[[e[0],e[0]+r],[e[0]+r+1,e[1]]]}function IT(e,t){if(!PT(t,e.length))return[1/0,1/0,-1/0,-1/0];let n=[1/0,1/0,-1/0,-1/0];for(let r=t[0];r<=t[1];++r)fT(n,e[r]);return n}function LT(e){let t=[1/0,1/0,-1/0,-1/0];for(let n of e)for(let e of n)fT(t,e);return t}function RT(e){return e[0]!==-1/0&&e[1]!==-1/0&&e[2]!==1/0&&e[3]!==1/0}function zT(e,t,n){if(!RT(e)||!RT(t))return NaN;let r=0,i=0;return e[2]<t[0]&&(r=t[0]-e[2]),e[0]>t[2]&&(r=e[0]-t[2]),e[1]>t[3]&&(i=e[1]-t[3]),e[3]<t[1]&&(i=t[1]-e[3]),n.distance([0,0],[r,i])}function BT(e,t,n){let r=n.pointOnLine(t,e);return n.distance(e,r.point)}function VT(e,t,n,r,i){let a=Math.min(BT(e,[n,r],i),BT(t,[n,r],i)),o=Math.min(BT(n,[e,t],i),BT(r,[e,t],i));return Math.min(a,o)}function HT(e,t,n,r,i){if(!(PT(t,e.length)&&PT(r,n.length)))return 1/0;let a=1/0;for(let o=t[0];o<t[1];++o){let t=e[o],s=e[o+1];for(let e=r[0];e<r[1];++e){let r=n[e],o=n[e+1];if(gT(t,s,r,o))return 0;a=Math.min(a,VT(t,s,r,o,i))}}return a}function UT(e,t,n,r,i){if(!(PT(t,e.length)&&PT(r,n.length)))return NaN;let a=1/0;for(let o=t[0];o<=t[1];++o)for(let t=r[0];t<=r[1];++t)if(a=Math.min(a,i.distance(e[o],n[t])),a===0)return a;return a}function WT(e,t,n){if(vT(e,t,!0))return 0;let r=1/0;for(let i of t){let t=i[0],a=i[i.length-1];if(t!==a&&(r=Math.min(r,BT(e,[a,t],n)),r===0))return r;let o=n.pointOnLine(i,e);if(r=Math.min(r,n.distance(e,o.point)),r===0)return r}return r}function GT(e,t,n,r){if(!PT(t,e.length))return NaN;for(let r=t[0];r<=t[1];++r)if(vT(e[r],n,!0))return 0;let i=1/0;for(let a=t[0];a<t[1];++a){let t=e[a],o=e[a+1];for(let e of n)for(let n=0,a=e.length,s=a-1;n<a;s=n++){let a=e[s],c=e[n];if(gT(t,o,a,c))return 0;i=Math.min(i,VT(t,o,a,c,r))}}return i}function KT(e,t){for(let n of e)for(let e of n)if(vT(e,t,!0))return!0;return!1}function qT(e,t,n,r=1/0){let i=LT(e),a=LT(t);if(r!==1/0&&zT(i,a,n)>=r)return r;if(pT(i,a)){if(KT(e,t))return 0}else if(KT(t,e))return 0;let o=1/0;for(let r of e)for(let e=0,i=r.length,a=i-1;e<i;a=e++){let i=r[a],s=r[e];for(let e of t)for(let t=0,r=e.length,a=r-1;t<r;a=t++){let r=e[a],c=e[t];if(gT(i,s,r,c))return 0;o=Math.min(o,VT(i,s,r,c,n))}}return o}function JT(e,t,n,r,i,a){if(!a)return;let o=zT(IT(r,a),i,n);o<t&&e.push([o,a,[0,0]])}function YT(e,t,n,r,i,a,o){if(!a||!o)return;let s=zT(IT(r,a),IT(i,o),n);s<t&&e.push([s,a,o])}function XT(e,t,n,r,i=1/0){let a=Math.min(r.distance(e[0],n[0][0]),i);if(a===0)return a;let o=new XR([[0,[0,e.length-1],[0,0]]],MT),s=LT(n);for(;o.length>0;){let i=o.pop();if(i[0]>=a)continue;let c=i[1],l=t?50:100;if(NT(c)<=l){if(!PT(c,e.length))return NaN;if(t){let t=GT(e,c,n,r);if(isNaN(t)||t===0)return t;a=Math.min(a,t)}else for(let t=c[0];t<=c[1];++t){let i=WT(e[t],n,r);if(a=Math.min(a,i),a===0)return 0}}else{let n=FT(c,t);JT(o,a,r,e,s,n[0]),JT(o,a,r,e,s,n[1])}}return a}function ZT(e,t,n,r,i,a=1/0){let o=Math.min(a,i.distance(e[0],n[0]));if(o===0)return o;let s=new XR([[0,[0,e.length-1],[0,n.length-1]]],MT);for(;s.length>0;){let a=s.pop();if(a[0]>=o)continue;let c=a[1],l=a[2],u=t?50:100,d=r?50:100;if(NT(c)<=u&&NT(l)<=d){if(!PT(c,e.length)&&PT(l,n.length))return NaN;let a;if(t&&r)a=HT(e,c,n,l,i),o=Math.min(o,a);else if(t&&!r){let t=e.slice(c[0],c[1]+1);for(let e=l[0];e<=l[1];++e)if(a=BT(n[e],t,i),o=Math.min(o,a),o===0)return o}else if(!t&&r){let t=n.slice(l[0],l[1]+1);for(let n=c[0];n<=c[1];++n)if(a=BT(e[n],t,i),o=Math.min(o,a),o===0)return o}else a=UT(e,c,n,l,i),o=Math.min(o,a)}else{let a=FT(c,t),u=FT(l,r);YT(s,o,i,e,n,a[0],u[0]),YT(s,o,i,e,n,a[0],u[1]),YT(s,o,i,e,n,a[1],u[0]),YT(s,o,i,e,n,a[1],u[1])}}return o}function QT(e,t){let n=e.geometry(),r=n.flat().map(t=>sT([t.x,t.y],e.canonical));if(n.length===0)return NaN;let i=new QR(r[0][1]),a=1/0;for(let e of t){switch(e.type){case`Point`:a=Math.min(a,ZT(r,!1,[e.coordinates],!1,i,a));break;case`LineString`:a=Math.min(a,ZT(r,!1,e.coordinates,!0,i,a));break;case`Polygon`:a=Math.min(a,XT(r,!1,e.coordinates,i,a))}if(a===0)return a}return a}function $T(e,t){let n=e.geometry(),r=n.flat().map(t=>sT([t.x,t.y],e.canonical));if(n.length===0)return NaN;let i=new QR(r[0][1]),a=1/0;for(let e of t){switch(e.type){case`Point`:a=Math.min(a,ZT(r,!0,[e.coordinates],!1,i,a));break;case`LineString`:a=Math.min(a,ZT(r,!0,e.coordinates,!0,i,a));break;case`Polygon`:a=Math.min(a,XT(r,!0,e.coordinates,i,a))}if(a===0)return a}return a}function eE(e,t){let n=e.geometry();if(n.length===0||n[0].length===0)return NaN;let r=Uw(n,0).map(t=>t.map(t=>t.map(t=>sT([t.x,t.y],e.canonical)))),i=new QR(r[0][0][0][1]),a=1/0;for(let e of t)for(let t of r){switch(e.type){case`Point`:a=Math.min(a,XT([e.coordinates],!1,t,i,a));break;case`LineString`:a=Math.min(a,XT(e.coordinates,!0,t,i,a));break;case`Polygon`:a=Math.min(a,qT(t,e.coordinates,i,a))}if(a===0)return a}return a}function tE(e){return e.type===`MultiPolygon`?e.coordinates.map(e=>({type:`Polygon`,coordinates:e})):e.type===`MultiLineString`?e.coordinates.map(e=>({type:`LineString`,coordinates:e})):e.type===`MultiPoint`?e.coordinates.map(e=>({type:`Point`,coordinates:e})):[e]}function nE(e,[t,n,r,i],a){t=t.evaluate(e),n=n.evaluate(e),r=r.evaluate(e);let o=i?i.evaluate(e):1,s=Nw(t,n,r,o);if(s)throw new fR(s,a);return new aR(t/255,n/255,r/255,o,!1)}function rE(e,t){return e in t&&t[e]!==void 0}function iE(e,t){let n=t[e];return n===void 0?null:n}function aE(e,t,n,r){for(;n<=r;){let i=n+r>>1;if(t[i]===e)return!0;t[i]>e?r=i-1:n=i+1}return!1}function oE(e){return{type:e}}function sE(e){return Array.isArray(e)?`(${e.map(lw).join(`, `)})`:`(${lw(e.type)}...)`}function cE(e){if(e instanceof AR)return cE(e.boundExpression);if(e instanceof oz&&e.name===`error`||e instanceof WR||e instanceof YR||e instanceof $R||e instanceof tz)return!1;let t=e instanceof OR||e instanceof ER,n=!0;return e.eachChild(e=>{n&&=t?cE(e):e instanceof vR}),n?lE(e)&&dE(e,[`zoom`,`heatmap-density`,`elevation`,`line-progress`,`accumulated`,`is-supported-script`]):!1}function lE(e){if(e instanceof oz&&(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 YR||e instanceof $R)return!1;let t=!0;return e.eachChild(e=>{t&&!lE(e)&&(t=!1)}),t}function uE(e){if(e instanceof oz&&e.name===`feature-state`)return!1;let t=!0;return e.eachChild(e=>{t&&!uE(e)&&(t=!1)}),t}function dE(e,t){if(e instanceof oz&&t.indexOf(e.name)>=0)return!1;let n=!0;return e.eachChild(e=>{n&&!dE(e,t)&&(n=!1)}),n}function fE(e){return e[`property-type`]===`data-driven`||e[`property-type`]===`cross-faded-data-driven`}function pE(e){return!!e.expression&&e.expression.parameters.indexOf(`zoom`)>-1}function mE(e){return!!e.expression&&e.expression.interpolated}function hE(e,...t){for(let n of t)for(let t in n)e[t]=n[t];return e}function gE(e){return e instanceof Number?`number`:e instanceof String?`string`:e instanceof Boolean?`boolean`:Array.isArray(e)?`array`:e===null?`null`:typeof e}function _E(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&Fw(e)===RL}function vE(e){return e}function yE(e){switch(e.type){case`color`:return aR.parse;case`padding`:return lR.parse;case`numberArray`:return uR.parse;case`colorArray`:return dR.parse;default:return null}}function bE(e){switch(e){case`exponential`:return TE;case`interval`:return wE;case`categorical`:return CE;case`identity`:return EE;default:throw Error(`Unknown function type "${e}"`)}}function xE(e,t){let n=e.stops&&typeof e.stops[0][0]==`object`,r=n||e.property!==void 0,i=n||!r,a=e.type||(mE(t)?`exponential`:`interval`),o=yE(t);if(o&&(e=hE({},e),e.stops&&(e.stops=e.stops.map(e=>[e[0],o(e[1])])),e.default?e.default=o(e.default):e.default=o(t.default)),e.colorSpace&&!Mw(e.colorSpace))throw Error(`Unknown color space: "${e.colorSpace}"`);let s=bE(a),c,l;if(a===`categorical`){c=Object.create(null);for(let t of e.stops)c[t[0]]=t[1];l=typeof e.stops[0][0]}if(n){let n={},r=[];for(let t=0;t<e.stops.length;t++){let i=e.stops[t],a=i[0].zoom;n[a]===void 0&&(n[a]={zoom:a,type:e.type,property:e.property,default:e.default,stops:[]},r.push(a)),n[a].stops.push([i[0].value,i[1]])}let i=[];for(let e of r)i.push([n[e].zoom,xE(n[e],t)]);let a={name:`linear`};return{kind:`composite`,interpolationType:a,interpolationFactor:SR.interpolationFactor.bind(void 0,a),zoomStops:i.map(e=>e[0]),evaluate({zoom:n},r){return TE({stops:i,base:e.base},t,n).evaluate(n,r)}}}if(i){let n=a===`exponential`?{name:`exponential`,base:e.base===void 0?1:e.base}:null;return{kind:`camera`,interpolationType:n,interpolationFactor:SR.interpolationFactor.bind(void 0,n),zoomStops:e.stops.map(e=>e[0]),evaluate:({zoom:n})=>s(e,t,n,c,l)}}return{kind:`source`,evaluate(n,r){let i=r&&r.properties?r.properties[e.property]:void 0;return i===void 0?SE(e.default,t.default):s(e,t,i,c,l)}}}function SE(e,t,n){if(e!==void 0)return e;if(t!==void 0)return t;if(n!==void 0)return n}function CE(e,t,n,r,i){return SE(typeof n===i?r[n]:void 0,e.default,t.default)}function wE(e,t,n){if(gE(n)!==`number`)return SE(e.default,t.default);let r=e.stops.length;if(r===1||n<=e.stops[0][0])return e.stops[0][1];if(n>=e.stops[r-1][0])return e.stops[r-1][1];let i=Lw(e.stops.map(e=>e[0]),n,``);return e.stops[i][1]}function TE(e,t,n){let r=e.base===void 0?1:e.base;if(gE(n)!==`number`)return SE(e.default,t.default);let i=e.stops.length;if(i===1||n<=e.stops[0][0])return e.stops[0][1];if(n>=e.stops[i-1][0])return e.stops[i-1][1];let a=Lw(e.stops.map(e=>e[0]),n,``),o=DE(n,r,e.stops[a][0],e.stops[a+1][0]),s=e.stops[a][1],c=e.stops[a+1][1],l=CR[t.type]||vE;return typeof s.evaluate==`function`?{evaluate(...t){let n=s.evaluate.apply(void 0,t),r=c.evaluate.apply(void 0,t);if(n!==void 0&&r!==void 0)return l(n,r,o,e.colorSpace)}}:l(s,c,o,e.colorSpace)}function EE(e,t,n){switch(t.type){case`color`:n=aR.parse(n);break;case`formatted`:n=cR.fromString(n.toString());break;case`resolvedImage`:n=hR.fromString(n.toString());break;case`padding`:n=lR.parse(n);break;case`colorArray`:n=dR.parse(n);break;case`numberArray`:n=uR.parse(n);break;default:gE(n)!==t.type&&(t.type!==`enum`||!t.values[n])&&(n=void 0)}return SE(n,e.default,t.default)}function DE(e,t,n,r){let i=r-n,a=e-n;return i===0?0:t===1?a/i:(t**+a-1)/(t**+i-1)}function OE(e){return{result:`success`,value:e}}function kE(e){return{result:`error`,value:e}}function AE(e,t,n,r){return`${e}${t}: ${n}${r==null?``:` Falling back to ${String(r)}.`}`}function jE(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 ME(e){return Array.isArray(e)&&e.length>0&&typeof e[0]==`string`&&e[0]in nz}function NE(e,t,n,r){jE(t);let i=new az(nz,cE,[],n?zE(n):void 0),a=i.parse(e,void 0,void 0,void 0,n&&n.type===`string`?{typeAnnotation:`coerce`}:void 0);return a?OE(new cz(a,t,n,r)):kE(i.errors)}function PE(e){return e._styleExpression!==void 0}function FE(e,t,n,r){let i=NE(e,t,n,r);if(i.result===`error`)return i;let a=i.value.expression,o=lE(a);if(!o&&!fE(n))return kE([new rz(``,`data expressions not supported`)]);let s=dE(a,[`zoom`]);if(!s&&!pE(n))return kE([new rz(``,`zoom expressions not supported`)]);let c=LE(a);if(!c&&!s)return kE([new rz(``,`"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.`)]);if(c instanceof rz)return kE([c]);if(c instanceof SR&&!mE(n))return kE([new rz(``,`"interpolate" expressions cannot be used with this property`)]);if(!c)return OE(o?new lz(`constant`,i.value,r):new lz(`source`,i.value,r));let l=c instanceof SR?c.interpolation:void 0;return OE(o?new uz(`camera`,i.value,c.labels,l,r):new uz(`composite`,i.value,c.labels,l,r))}function IE(e,t,n,r){if(_E(e))return new dz(e,t,n);if(ME(e)){let i=FE(e,t,n,r);if(i.result===`error`)throw Error(i.value.map(e=>`${e.key}: ${e.message}`).join(`, `));return i.value}{let t=e;return n.type===`color`&&typeof e==`string`?t=aR.parse(e):n.type===`padding`&&(typeof e==`number`||Array.isArray(e))?t=lR.parse(e):n.type===`numberArray`&&(typeof e==`number`||Array.isArray(e))?t=uR.parse(e):n.type===`colorArray`&&(typeof e==`string`||Array.isArray(e))?t=dR.parse(e):n.type===`variableAnchorOffsetCollection`&&Array.isArray(e)?t=mR.parse(e):n.type===`projectionDefinition`&&typeof e==`string`&&(t=gR.parse(e)),{globalStateRefs:new Set,_globalState:null,kind:`constant`,evaluate:()=>t}}}function LE(e){let t=null;if(e instanceof kR)t=LE(e.result);else if(e instanceof LR){for(let n of e.args)if(t=LE(n),t)break}else(e instanceof xR||e instanceof SR)&&e.input instanceof oz&&e.input.name===`zoom`&&(t=e);return t instanceof rz||e.eachChild(e=>{let n=LE(e);n instanceof rz?t=n:!t&&n?t=new rz(``,`"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.`):t&&n&&t!==n&&(t=new rz(``,`Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.`))}),t}function RE(e,t=new Set){return e instanceof tz&&t.add(e.key),e.eachChild(e=>{RE(e,t)}),t}function zE(e){let t={color:IL,string:PL,number:NL,enum:PL,boolean:FL,formatted:HL,padding:UL,numberArray:GL,colorArray:WL,projectionDefinition:LL,resolvedImage:KL,variableAnchorOffsetCollection:qL};return e.type===`array`?cw(t[e.value]||zL,e.length):t[e.type]}function BE(e){if(e.type===`color`&&_E(e.default))return new aR(0,0,0,0);switch(e.type){case`color`:return aR.parse(e.default)||null;case`padding`:return lR.parse(e.default)||null;case`numberArray`:return uR.parse(e.default)||null;case`colorArray`:return dR.parse(e.default)||null;case`variableAnchorOffsetCollection`:return mR.parse(e.default)||null;case`projectionDefinition`:return gR.parse(e.default)||null;default:return e.default===void 0?null:e.default}}function VE(e,t){let{zoom:n,heatmapDensity:r,elevation:i,lineProgress:a,isSupportedScript:o,accumulated:s}=e??{};return{zoom:n,heatmapDensity:r,elevation:i,lineProgress:a,isSupportedScript:o,accumulated:s,globalState:t}}function HE(e){let t=!1;for(let n of e){let e=UE(n);if(e===`expression`)return`expression`;e===`legacy`&&(t=!0)}return t?`legacy`:`neutral`}function UE(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 HE(e.slice(1));default:return`expression`}}function WE(e){return UE(e)!==`legacy`}function GE(e){return e===`$type`?[`geometry-type`]:e===`$id`?[`id`]:[`get`,e]}function KE(e){switch(e[0]){case`==`:case`!=`:case`<`:case`<=`:case`>`:case`>=`:return e.length!==3||typeof e[1]!=`string`?null:[e[0],GE(e[1]),e[2]];case`in`:case`!in`:{if(e.length<2||typeof e[1]!=`string`)return null;let t=[`in`,GE(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 qE(e){if((e[0]===`<`||e[0]===`<=`||e[0]===`>`||e[0]===`>=`)&&e[1]===`$type`)return`"$type" cannot be use with operator "${e[0]}"`;let t=KE(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 JE(e,t,n){let r=n[e];return Array.isArray(r)?WE(r)?YE(r,t.concat(e)):{path:t.concat(e),legacyFilter:r}:null}function YE(e,t=[]){if(!Array.isArray(e)||e.length<1)return null;switch(e[0]){case`all`:case`any`:case`none`:for(let n=1;n<e.length;n++){let r=JE(n,t,e);if(r)return r}break;case`!`:{let n=JE(1,t,e);if(n)return n;break}case`case`:for(let n=1;n<e.length-1;n+=2){let r=JE(n,t,e);if(r)return r}}return null}function XE(e,t){let n=YE(e);if(!n||typeof console>`u`)return;let r=n.path.map(e=>`[${e}]`).join(``);console.warn(`${t}${r}: ${qE(n.legacyFilter)}`)}function ZE(e,t,n){if(e==null)return{filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set};WE(e)?XE(e,t):e=eD(e);let r=NE(e,t,fz,n);if(r.result===`error`)throw Error(r.value.map(e=>`${e.key}: ${e.message}`).join(`, `));return{filter:(e,t,n)=>r.value.evaluate(e,t,{},n),needGeometry:$E(e),getGlobalStateRefs:()=>RE(r.value.expression)}}function QE(e,t){return e<t?-1:+(e>t)}function $E(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($E(e[t]))return!0;return!1}function eD(e){if(!e)return!0;let t=e[0];return e.length<=1?t!==`any`:t===`==`?tD(e[1],e[2],`==`):t===`!=`?aD(tD(e[1],e[2],`==`)):t===`<`||t===`>`||t===`<=`||t===`>=`?tD(e[1],e[2],t):t===`any`?nD(e.slice(1)):t===`all`?[`all`].concat(e.slice(1).map(eD)):t===`none`?[`all`].concat(e.slice(1).map(eD).map(aD)):t===`in`?rD(e[1],e.slice(2)):t===`!in`?aD(rD(e[1],e.slice(2))):t===`has`?iD(e[1]):t!==`!has`||aD(iD(e[1]))}function tD(e,t,n){switch(e){case`$type`:return[`filter-type-${n}`,t];case`$id`:return[`filter-id-${n}`,t];default:return[`filter-${n}`,e,t]}}function nD(e){return[`any`].concat(e.map(eD))}function rD(e,t){if(t.length===0)return!1;switch(e){case`$type`:return[`filter-type-in`,[`literal`,t]];case`$id`:return[`filter-id-in`,[`literal`,t]];default:return t.length>200&&!t.some(e=>typeof e!=typeof t[0])?[`filter-in-large`,e,[`literal`,t.sort(QE)]]:[`filter-in-small`,e,[`literal`,t]]}}function iD(e){switch(e){case`$type`:return!0;case`$id`:return[`filter-has-id`];default:return[`filter-has`,e]}}function aD(e){return[`!`,e]}function oD(e){let t=e.key,n=e.value;return n?[new jL(t,n,`constants have been deprecated as of v8`)]:[]}function sD(e){return e instanceof Number||e instanceof String||e instanceof Boolean?e.valueOf():e}function cD(e){if(Array.isArray(e))return e.map(cD);if(e instanceof Object&&!(e instanceof Number||e instanceof String||e instanceof Boolean)){let t={};for(let n in e)t[n]=cD(e[n]);return t}return sD(e)}function lD(e){let t=e.key,n=e.value,r=e.valueSpec||{},i=e.objectElementValidators||{},a=e.style,o=e.styleSpec,s=e.validateSpec,c=[],l=gE(n);if(l!==`object`)return[new jL(t,n,`object expected, ${l} found`)];for(let e in n){let l=e.split(`.`)[0],u=ww(r,l)||r[`*`],d;if(ww(i,l))d=i[l];else if(ww(r,l)){if(n[e]===void 0)continue;d=s}else if(i[`*`])d=i[`*`];else if(r[`*`])d=s;else{c.push(new jL(t,n[e],`unknown property "${e}"`));continue}c=c.concat(d({key:(t&&`${t}.`)+e,value:n[e],valueSpec:u,style:a,styleSpec:o,object:n,objectKey:e,validateSpec:s},n))}for(let e in r)i[e]||r[e].required&&r[e].default===void 0&&n[e]===void 0&&c.push(new jL(t,n,`missing required property "${e}"`));return c}function uD(e){let t=e.value,n=e.valueSpec,r=e.validateSpec,i=e.style,a=e.styleSpec,o=e.key,s=e.arrayElementValidator||r;if(gE(t)!==`array`)return[new jL(o,t,`array expected, ${gE(t)} found`)];if(n.length&&t.length!==n.length)return[new jL(o,t,`array length ${n.length} expected, length ${t.length} found`)];let c={type:n.value,values:n.values};a.$version<7&&(c.function=n.function),gE(n.value)===`object`&&(c=n.value);let l=[];for(let n=0;n<t.length;n++)l=l.concat(s({array:t,arrayIndex:n,value:t[n],valueSpec:c,validateSpec:e.validateSpec,style:i,styleSpec:a,key:`${o}[${n}]`}));return l}function dD(e){let t=e.key,n=e.value,r=e.valueSpec,i=gE(n);return i===`number`&&n!==n&&(i=`NaN`),i===`number`?`minimum`in r&&n<r.minimum?[new jL(t,n,`${n} is less than the minimum value ${r.minimum}`)]:`maximum`in r&&n>r.maximum?[new jL(t,n,`${n} is greater than the maximum value ${r.maximum}`)]:[]:[new jL(t,n,`number expected, ${i} found`)]}function fD(e){let t=e.valueSpec,n=sD(e.value.type),r,i={},a,o,s=n!==`categorical`&&e.value.property===void 0,c=!s,l=gE(e.value.stops)===`array`&&gE(e.value.stops[0])===`array`&&gE(e.value.stops[0][0])===`object`,u=lD({key:e.key,value:e.value,valueSpec:e.styleSpec.function,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{stops:d,default:m}});return n===`identity`&&s&&u.push(new jL(e.key,e.value,`missing required property "property"`)),n!==`identity`&&!e.value.stops&&u.push(new jL(e.key,e.value,`missing required property "stops"`)),n===`exponential`&&e.valueSpec.expression&&!mE(e.valueSpec)&&u.push(new jL(e.key,e.value,`exponential functions not supported`)),e.styleSpec.$version>=8&&(c&&!fE(e.valueSpec)?u.push(new jL(e.key,e.value,`property functions not supported`)):s&&!pE(e.valueSpec)&&u.push(new jL(e.key,e.value,`zoom functions not supported`))),(n===`categorical`||l)&&e.value.property===void 0&&u.push(new jL(e.key,e.value,`"property" property is required`)),u;function d(e){if(n===`identity`)return[new jL(e.key,e.value,`identity function may not have a "stops" property`)];let t=[],r=e.value;return t=t.concat(uD({key:e.key,value:r,valueSpec:e.valueSpec,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,arrayElementValidator:f})),gE(r)===`array`&&r.length===0&&t.push(new jL(e.key,r,`array must have at least one stop`)),t}function f(e){let n=[],r=e.value,s=e.key;if(gE(r)!==`array`)return[new jL(s,r,`array expected, ${gE(r)} found`)];if(r.length!==2)return[new jL(s,r,`array length 2 expected, length ${r.length} found`)];if(l){if(gE(r[0])!==`object`)return[new jL(s,r,`object expected, ${gE(r[0])} found`)];if(r[0].zoom===void 0)return[new jL(s,r,`object stop key must have zoom`)];if(r[0].value===void 0)return[new jL(s,r,`object stop key must have value`)];if(o&&o>sD(r[0].zoom))return[new jL(s,r[0].zoom,`stop zoom values must appear in ascending order`)];sD(r[0].zoom)!==o&&(o=sD(r[0].zoom),a=void 0,i={}),n=n.concat(lD({key:`${s}[0]`,value:r[0],valueSpec:{zoom:{}},validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:dD,value:p}}))}else n=n.concat(p({key:`${s}[0]`,value:r[0],valueSpec:{},validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec},r));return ME(cD(r[1]))?n.concat([new jL(`${s}[1]`,r[1],`expressions are not allowed in function stops.`)]):n.concat(e.validateSpec({key:`${s}[1]`,value:r[1],valueSpec:t,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec}))}function p(e,o){let s=gE(e.value),c=sD(e.value),l=e.value===null?o:e.value;if(!r)r=s;else if(s!==r)return[new jL(e.key,l,`${s} stop domain type must match previous stop domain type ${r}`)];if(s!==`number`&&s!==`string`&&s!==`boolean`)return[new jL(e.key,l,`stop domain value must be a number, string, or boolean`)];if(s!==`number`&&n!==`categorical`){let r=`number expected, ${s} found`;return fE(t)&&n===void 0&&(r+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new jL(e.key,l,r)]}return n===`categorical`&&s===`number`&&(!isFinite(c)||Math.floor(c)!==c)?[new jL(e.key,l,`integer expected, found ${c}`)]:n!==`categorical`&&s===`number`&&a!==void 0&&c<a?[new jL(e.key,l,`stop domain values must appear in ascending order`)]:(a=c,n===`categorical`&&c in i?[new jL(e.key,l,`stop domain values must be unique`)]:(i[c]=!0,[]))}function m(e){return e.validateSpec({key:e.key,value:e.value,valueSpec:t,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec})}}function pD(e){let t=(e.expressionContext===`property`?FE:NE)(cD(e.value),e.key,e.valueSpec);if(t.result===`error`)return t.value.map(t=>new jL(`${e.key}${t.key}`,e.value,t.message));let n=t.value.expression||t.value._styleExpression.expression;if(e.expressionContext===`property`&&e.propertyKey===`text-font`&&!n.outputDefined())return[new jL(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`&&!uE(n))return[new jL(e.key,e.value,`"feature-state" data expressions are not supported with layout properties.`)];if(e.expressionContext===`filter`&&!uE(n))return[new jL(e.key,e.value,`"feature-state" data expressions are not supported with filters.`)];if(e.expressionContext&&e.expressionContext.indexOf(`cluster`)===0){if(!dE(n,[`zoom`,`feature-state`]))return[new jL(e.key,e.value,`"zoom" and "feature-state" expressions are not supported with cluster properties.`)];if(e.expressionContext===`cluster-initial`&&!lE(n))return[new jL(e.key,e.value,`Feature data expressions are not supported with initial expression part of cluster properties.`)]}return[]}function mD(e){let t=e.value,n=e.key,r=gE(t);return r===`boolean`?[]:[new jL(n,t,`boolean expected, ${r} found`)]}function hD(e){let t=e.key,n=e.value,r=gE(n);return r===`string`?aR.parse(String(n))?[]:[new jL(t,n,`color expected, "${n}" found`)]:[new jL(t,n,`color expected, ${r} found`)]}function gD(e){let t=e.key,n=e.value,r=e.valueSpec,i=[];return Array.isArray(r.values)?r.values.indexOf(sD(n))===-1&&i.push(new jL(t,n,`expected one of [${r.values.join(`, `)}], ${JSON.stringify(n)} found`)):Object.keys(r.values).indexOf(sD(n))===-1&&i.push(new jL(t,n,`expected one of [${Object.keys(r.values).join(`, `)}], ${JSON.stringify(n)} found`)),i}function _D(e,t){let n=e;for(let e of t)n=n[e];return n}function vD(e,t){let n=YE(t);return n?[new jL(`${e.key}${n.path.map(e=>`[${e}]`).join(``)}`,_D(e.value,n.path),qE(n.legacyFilter),null,`warning`)]:[]}function yD(e){let t=cD(e.value);return WE(t)?[...vD(e,t),...pD(hE({},e,{expressionContext:`filter`,valueSpec:{value:`boolean`}}))]:bD(e)}function bD(e){let t=e.value,n=e.key;if(gE(t)!==`array`)return[new jL(n,t,`array expected, ${gE(t)} found`)];let r=e.styleSpec,i,a=[];if(t.length<1)return[new jL(n,t,`filter array must have at least 1 element`)];switch(a=a.concat(gD({key:`${n}[0]`,value:t[0],valueSpec:r.filter_operator,style:e.style,styleSpec:e.styleSpec})),sD(t[0])){case`<`:case`<=`:case`>`:case`>=`:t.length>=2&&sD(t[1])===`$type`&&a.push(new jL(n,t,`"$type" cannot be use with operator "${t[0]}"`));case`==`:case`!=`:t.length!==3&&a.push(new jL(n,t,`filter array for operator "${t[0]}" must have 3 elements`));case`in`:case`!in`:t.length>=2&&(i=gE(t[1]),i!==`string`&&a.push(new jL(`${n}[1]`,t[1],`string expected, ${i} found`)));for(let o=2;o<t.length;o++)i=gE(t[o]),sD(t[1])===`$type`?a=a.concat(gD({key:`${n}[${o}]`,value:t[o],valueSpec:r.geometry_type,style:e.style,styleSpec:e.styleSpec})):i!==`string`&&i!==`number`&&i!==`boolean`&&a.push(new jL(`${n}[${o}]`,t[o],`string, number, or boolean expected, ${i} found`));break;case`any`:case`all`:case`none`:for(let r=1;r<t.length;r++)a=a.concat(bD({key:`${n}[${r}]`,value:t[r],style:e.style,styleSpec:e.styleSpec}));break;case`has`:case`!has`:i=gE(t[1]),t.length===2?i!==`string`&&a.push(new jL(`${n}[1]`,t[1],`string expected, ${i} found`)):a.push(new jL(n,t,`filter array for "${t[0]}" operator must have 2 elements`))}return a}function xD(e,t){let n=e.key,r=e.validateSpec,i=e.style,a=e.styleSpec,o=e.value,s=e.objectKey,c=a[`${t}_${e.layerType}`];if(!c)return[];let l=s.match(sz);if(t===`paint`&&l&&c[l[1]]&&c[l[1]].transition)return r({key:n,value:o,valueSpec:a.transition,style:i,styleSpec:a});let u=e.valueSpec||c[s];if(!u)return[new jL(n,o,`unknown property "${s}"`)];let d;if(gE(o)===`string`&&fE(u)&&!u.tokens&&(d=/^{([^}]+)}$/.exec(o)))return[new jL(n,o,`"${s}" does not support interpolation syntax
|
|
2711
|
-
Use an identity property function instead: \`{ "type": "identity", "property": ${JSON.stringify(d[1])} }\`.`)];let f=[];return e.layerType===`symbol`&&s===`text-font`&&_E(cD(o))&&sD(o.type)===`identity`&&f.push(new jL(n,o,`"text-font" does not support identity functions`)),f.concat(r({key:e.key,value:o,valueSpec:u,style:i,styleSpec:a,expressionContext:`property`,propertyType:t,propertyKey:s}))}function SD(e){return xD(e,`paint`)}function CD(e){return xD(e,`layout`)}function wD(e){var t,n;let r=[],i=e.value,a=e.key,o=e.style,s=e.styleSpec;if(gE(i)!==`object`)return[new jL(a,i,`object expected, ${gE(i)} found`)];!i.type&&!i.ref&&r.push(new jL(a,i,`either "type" or "ref" is required`));let c=sD(i.type),l=sD(i.ref);if(i.id){let t=sD(i.id);for(let n=0;n<e.arrayIndex;n++){let e=o.layers[n];sD(e.id)===t&&r.push(new jL(a,i.id,`duplicate layer id "${i.id}", previously used at line ${e.id.__line__}`))}}if(`ref`in i){[`type`,`source`,`source-layer`,`filter`,`layout`].forEach(e=>{e in i&&r.push(new jL(a,i[e],`"${e}" is prohibited for ref layers`))});let e;o.layers.forEach(t=>{sD(t.id)===l&&(e=t)}),e?e.ref?r.push(new jL(a,i.ref,`ref cannot reference another ref layer`)):c=sD(e.type):r.push(new jL(a,i.ref,`ref layer "${l}" not found`))}else if(c!==`background`){if(!i.source)r.push(new jL(a,i,`missing required property "source"`));else{let e=o.sources&&o.sources[i.source],t=e&&sD(e.type);e?t===`vector`&&c===`raster`?r.push(new jL(a,i.source,`layer "${i.id}" requires a raster source`)):t!==`raster-dem`&&c===`hillshade`||t!==`raster-dem`&&c===`color-relief`?r.push(new jL(a,i.source,`layer "${i.id}" requires a raster-dem source`)):t===`raster`&&c!==`raster`?r.push(new jL(a,i.source,`layer "${i.id}" requires a vector source`)):t===`vector`&&!i[`source-layer`]?r.push(new jL(a,i,`layer "${i.id}" must specify a "source-layer"`)):t===`raster-dem`&&c!==`hillshade`&&c!==`color-relief`?r.push(new jL(a,i.source,`raster-dem source can only be used with layer type 'hillshade' or 'color-relief'.`)):c===`line`&&i.paint&&i.paint[`line-gradient`]&&(t!==`geojson`||!e.lineMetrics)&&r.push(new jL(a,i,`layer "${i.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):r.push(new jL(a,i.source,`source "${i.source}" not found`))}}return c===`raster`&&(t=i.paint)!=null&&t.resampling&&(n=i.paint)!=null&&n[`raster-resampling`]&&r.push(new jL(a,i.paint,`layer "${i.id}" redundantly specifies "resampling" and "raster-resampling" paint properties, but only one is allowed. It is advised to use "resampling".`)),r=r.concat(lD({key:a,value:i,valueSpec:s.layer,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*"(){return[]},type(){return e.validateSpec({key:`${a}.type`,value:i.type,valueSpec:s.layer.type,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,object:i,objectKey:`type`})},filter:yD,layout(e){return lD({layer:i,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*"(e){return CD(hE({layerType:c},e))}}})},paint(e){return lD({layer:i,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*"(e){return SD(hE({layerType:c},e))}}})}}})),r}function TD(e){let t=e.value,n=e.key,r=gE(t);return r===`string`?[]:[new jL(n,t,`string expected, ${r} found`)]}function ED(e){let t=e.sourceName??``,n=e.value,r=e.styleSpec,i=r.source_raster_dem,a=e.style,o=[],s=gE(n);if(n===void 0)return o;if(s!==`object`)return o.push(new jL(`source_raster_dem`,n,`object expected, ${s} found`)),o;let c=sD(n.encoding)===`custom`,l=[`redFactor`,`greenFactor`,`blueFactor`,`baseShift`],u=e.value.encoding?`"${e.value.encoding}"`:`Default`;for(let s in n)!c&&l.includes(s)?o.push(new jL(s,n[s],`In "${t}": "${s}" is only valid when "encoding" is set to "custom". ${u} encoding found`)):i[s]?o=o.concat(e.validateSpec({key:s,value:n[s],valueSpec:i[s],validateSpec:e.validateSpec,style:a,styleSpec:r})):o.push(new jL(s,n[s],`unknown property "${s}"`));return o}function DD(e){let t=e.value,n=e.key,r=e.styleSpec,i=e.style,a=e.validateSpec;if(!t.type)return[new jL(n,t,`"type" is required`)];let o=sD(t.type),s;switch(o){case`vector`:case`raster`:return s=lD({key:n,value:t,valueSpec:r[`source_${o.replace(`-`,`_`)}`],style:e.style,styleSpec:r,objectElementValidators:pz,validateSpec:a}),s;case`raster-dem`:return s=ED({sourceName:n,value:t,style:e.style,styleSpec:r,validateSpec:a}),s;case`geojson`:if(s=lD({key:n,value:t,valueSpec:r.source_geojson,style:i,styleSpec:r,validateSpec:a,objectElementValidators:pz}),t.cluster)for(let e in t.clusterProperties){let[r,i]=t.clusterProperties[e],o=typeof r==`string`?[r,[`accumulated`],[`get`,e]]:r;s.push(...pD({key:`${n}.${e}.map`,value:i,validateSpec:a,expressionContext:`cluster-map`})),s.push(...pD({key:`${n}.${e}.reduce`,value:o,validateSpec:a,expressionContext:`cluster-reduce`}))}return s;case`video`:return lD({key:n,value:t,valueSpec:r.source_video,style:i,validateSpec:a,styleSpec:r});case`image`:return lD({key:n,value:t,valueSpec:r.source_image,style:i,validateSpec:a,styleSpec:r});case`canvas`:return[new jL(n,null,`Please use runtime APIs to add canvas sources, rather than including them in stylesheets.`,`source.canvas`)];default:return gD({key:`${n}.type`,value:t.type,valueSpec:{values:[`vector`,`raster`,`raster-dem`,`geojson`,`video`,`image`]},style:i,validateSpec:a,styleSpec:r})}}function OD({key:e,value:t}){if(gE(t)===`string`)return TD({key:e,value:t});{let n=[];for(let r in t)n.push(...TD({key:`${e}.${r}`,value:t[r]}));return n}}function kD(e){let t=e.value,n=e.styleSpec,r=n.light,i=e.style,a=[],o=gE(t);if(t===void 0)return a;if(o!==`object`)return a=a.concat([new jL(`light`,t,`object expected, ${o} found`)]),a;for(let o in t){let s=o.match(sz);a=s&&r[s[1]]&&r[s[1]].transition?a.concat(e.validateSpec({key:o,value:t[o],valueSpec:n.transition,validateSpec:e.validateSpec,style:i,styleSpec:n})):r[o]?a.concat(e.validateSpec({key:o,value:t[o],valueSpec:r[o],validateSpec:e.validateSpec,style:i,styleSpec:n})):a.concat([new jL(o,t[o],`unknown property "${o}"`)])}return a}function AD(e){let t=e.value,n=e.styleSpec,r=n.sky,i=e.style,a=gE(t);if(t===void 0)return[];if(a!==`object`)return[new jL(`sky`,t,`object expected, ${a} found`)];let o=[];for(let a in t){let s=a.match(sz);o=s&&r[s[1]]&&r[s[1]].transition?o.concat(e.validateSpec({key:a,value:t[a],valueSpec:n.transition,style:i,styleSpec:n})):r[a]?o.concat(e.validateSpec({key:a,value:t[a],valueSpec:r[a],style:i,styleSpec:n})):o.concat([new jL(a,t[a],`unknown property "${a}"`)])}return o}function jD(e){let t=e.value,n=e.styleSpec,r=n.terrain,i=e.style,a=[],o=gE(t);if(t===void 0)return a;if(o!==`object`)return a=a.concat([new jL(`terrain`,t,`object expected, ${o} found`)]),a;for(let o in t)a=r[o]?a.concat(e.validateSpec({key:o,value:t[o],valueSpec:r[o],validateSpec:e.validateSpec,style:i,styleSpec:n})):a.concat([new jL(o,t[o],`unknown property "${o}"`)]);return a}function MD(e){return TD(e).length===0?[]:pD(e)}function ND(e){return TD(e).length===0?[]:pD(e)}function PD(e){let t=e.key,n=e.value;if(gE(n)===`array`){if(n.length<1||n.length>4)return[new jL(t,n,`padding requires 1 to 4 values; ${n.length} values found`)];let r={type:`number`},i=[];for(let a=0;a<n.length;a++)i=i.concat(e.validateSpec({key:`${t}[${a}]`,value:n[a],validateSpec:e.validateSpec,valueSpec:r}));return i}return dD({key:t,value:n,valueSpec:{}})}function FD(e){let t=e.key,n=e.value;if(gE(n)===`array`){let r={type:`number`};if(n.length<1)return[new jL(t,n,`array length at least 1 expected, length 0 found`)];let i=[];for(let a=0;a<n.length;a++)i=i.concat(e.validateSpec({key:`${t}[${a}]`,value:n[a],validateSpec:e.validateSpec,valueSpec:r}));return i}return dD({key:t,value:n,valueSpec:{}})}function ID(e){let t=e.key,n=e.value;if(gE(n)===`array`){if(n.length<1)return[new jL(t,n,`array length at least 1 expected, length 0 found`)];let e=[];for(let r=0;r<n.length;r++)e=e.concat(hD({key:`${t}[${r}]`,value:n[r],valueSpec:{}}));return e}return hD({key:t,value:n,valueSpec:{}})}function LD(e){let t=e.key,n=e.value,r=gE(n),i=e.styleSpec;if(r!==`array`||n.length<1||n.length%2!=0)return[new jL(t,n,`variableAnchorOffsetCollection requires a non-empty array of even length`)];let a=[];for(let r=0;r<n.length;r+=2)a=a.concat(gD({key:`${t}[${r}]`,value:n[r],valueSpec:i.layout_symbol[`text-anchor`]})),a=a.concat(uD({key:`${t}[${r+1}]`,value:n[r+1],valueSpec:{length:2,value:`number`},validateSpec:e.validateSpec,style:e.style,styleSpec:i}));return a}function RD(e){let t=[],n=e.value,r=e.key;if(Array.isArray(n)){let i=[],a=[];for(let o in n)n[o].id&&i.includes(n[o].id)&&t.push(new jL(r,n,`all the sprites' ids must be unique, but ${n[o].id} is duplicated`)),i.push(n[o].id),n[o].url&&a.includes(n[o].url)&&t.push(new jL(r,n,`all the sprites' URLs must be unique, but ${n[o].url} is duplicated`)),a.push(n[o].url),t=t.concat(lD({key:`${r}[${o}]`,value:n[o],valueSpec:{id:{type:`string`,required:!0},url:{type:`string`,required:!0}},validateSpec:e.validateSpec}));return t}return TD({key:r,value:n})}function zD(e){let t=e.value,n=e.styleSpec,r=n.projection,i=e.style,a=gE(t);if(t===void 0)return[];if(a!==`object`)return[new jL(`projection`,t,`object expected, ${a} found`)];let o=[];for(let a in t)o=r[a]?o.concat(e.validateSpec({key:a,value:t[a],valueSpec:r[a],style:i,styleSpec:n})):o.concat([new jL(a,t[a],`unknown property "${a}"`)]);return o}function BD(e){let t=e.key,n=e.value;n=n instanceof String?n.valueOf():n;let r=gE(n);return r===`array`&&!HD(n)&&!VD(n)?[new jL(t,n,`projection expected, invalid array ${JSON.stringify(n)} found`)]:[`array`,`string`].includes(r)?[]:[new jL(t,n,`projection expected, invalid type "${r}" found`)]}function VD(e){return!![`interpolate`,`step`,`literal`].includes(e[0])}function HD(e){return Array.isArray(e)&&e.length===3&&typeof e[0]==`string`&&typeof e[1]==`string`&&typeof e[2]==`number`}function UD(e){return!!e&&e.constructor===Object}function WD(e){return UD(e.value)?[]:[new jL(e.key,e.value,`object expected, ${gE(e.value)} found`)]}function GD(e,t){if(gE(t)!==`string`)return[];let n=`${t}`,r=()=>[new jL(e,t,`invalid unicode range, expected a value such as "U+26", "U+0-10FFFF" or "U+4??"`)],i=n.match(hz);if(!i)return r();let[,a,o,s]=i;if(s!==void 0)return s.length>6?r():[];let c=parseInt(a,16),l=o===void 0?c:parseInt(o,16);return c>mz||l>mz?[new jL(e,t,`unicode range is out of bounds, the maximum code point is U+10FFFF`)]:c>l?[new jL(e,t,`unicode range start must not be greater than its end, but ${n} is`)]:[]}function KD(e){let t=e.key??`font-faces`,n=e.value,r=e.validateSpec,i=e.styleSpec??OL,a=e.style;if(!UD(n))return[new jL(t,n,`object expected, ${gE(n)} found`)];let o=[];for(let e in n){let s=n[e],c=gE(s);if(c===`string`)o.push(...TD({key:`${t}.${e}`,value:s}));else if(c===`array`){let n={url:{type:`string`,required:!0},"unicode-range":{type:`array`,value:`string`}};for(let[c,l]of s.entries()){let s=`${t}.${e}[${c}]`;o.push(...lD({key:s,value:l,valueSpec:n,styleSpec:i,style:a,validateSpec:r}));let u=UD(l)?l[`unicode-range`]:void 0;if(gE(u)===`array`)for(let[e,t]of u.entries())o.push(...GD(`${s}.unicode-range[${e}]`,t))}}else o.push(new jL(`${t}.${e}`,s,`string or array expected, ${c} found`))}return o}function qD(e){let t=e.value,n=e.valueSpec,r=e.styleSpec;return e.validateSpec=qD,n.expression&&_E(sD(t))?fD(e):n.expression&&ME(cD(t))?pD(e):n.type&&gz[n.type]?gz[n.type](e):lD(hE({},e,{valueSpec:n.type?r[n.type]:n}))}function JD(e){let t=e.value,n=e.key,r=TD(e);return r.length||(t.indexOf(`{fontstack}`)===-1&&r.push(new jL(n,t,`"glyphs" url must include a "{fontstack}" token`)),t.indexOf(`{range}`)===-1&&r.push(new jL(n,t,`"glyphs" url must include a "{range}" token`))),r}function YD(e,t=kL){let n=[];return n=n.concat(qD({key:``,value:e,valueSpec:t.$root,styleSpec:t,style:e,validateSpec:qD,objectElementValidators:{glyphs:JD,"*"(){return[]}}})),e.constants&&(n=n.concat(oD({key:`constants`,value:e.constants,style:e,styleSpec:t,validateSpec:qD}))),ZD(n)}function XD(e){return function(t){return e(Object.assign({},t,{validateSpec:qD}))}}function ZD(e){return[].concat(e).sort((e,t)=>e.line-t.line)}function QD(e){return function(...t){return ZD(e.apply(this,t))}}function $D(e,t,n){return new vz(e,t,n)}function eO(e){return Object.entries(e.sources??{}).filter(([,e])=>!bz.has(e.type)).map(([e])=>`sources.${e}`)}function tO(e,t){let n=eO(t);return nO(e,yz(t).filter(({message:e})=>!n.some(t=>e.startsWith(`${t}:`)||e.startsWith(`${t}.`))))}function nO(e,t){let n=!1;for(let r of t){if(r.severity===`warning`){jC(r.message);continue}e.fire(new EL(Error(r.message))),n=!0}return n}function rO(e,t,n,r){return r?.validate!==!1&&nO(e,t(p({styleSpec:kL},n)))}function iO(e,t,n={}){if(Sz[e])throw Error(`${e} is already registered.`);Object.defineProperty(t,"_classRegistryKey",{value:e,writeable:!1}),Sz[e]={klass:t,omit:n.omit||[],shallow:n.shallow||[]}}function aO(e){return e&&typeof ArrayBuffer<`u`&&(e instanceof ArrayBuffer||e.constructor?.name===`ArrayBuffer`)}function oO(e){let t=e.constructor;return e.$name||t._classRegistryKey}function sO(e){if(typeof e!=`object`||!e)return!1;let t=oO(e);return t&&t!==`Object`}function cO(e){return!sO(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||aO(e)||RC(e)||ArrayBuffer.isView(e)||e instanceof ImageData)}function lO(e,t){if(cO(e))return(aO(e)||RC(e))&&t&&t.push(e),ArrayBuffer.isView(e)&&t&&t.push(e.buffer),e instanceof ImageData&&t&&t.push(e.data.buffer),e;if(Array.isArray(e)){let n=[];for(let r of e)n.push(lO(r,t));return n}if(typeof e!=`object`)throw Error(`can't serialize object of type ${typeof e}`);let n=oO(e);if(!n)throw Error(`can't serialize object of unregistered class ${e.constructor.name}`);if(!Sz[n])throw Error(`${n} is not registered.`);let{klass:r}=Sz[n],i=r.serialize?r.serialize(e,t):{};if(r.serialize){if(i===t?.[t.length-1])throw Error(`statically serialized object won't survive transfer of $name property`)}else{for(let r in e){if(!e.hasOwnProperty(r)||Sz[n].omit.includes(r))continue;let a=e[r];a!==void 0&&(i[r]=Sz[n].shallow.includes(r)?a:lO(a,t))}e instanceof Error&&(i.message=e.message)}if(i.$name)throw Error(`$name property is reserved for worker serialization logic.`);return n!==`Object`&&(i.$name=n),i}function uO(e){if(cO(e))return e;if(Array.isArray(e))return e.map(uO);if(typeof e!=`object`)throw Error(`can't deserialize object of type ${typeof e}`);let t=oO(e)||`Object`;if(!Sz[t])throw Error(`can't deserialize unregistered class ${t}`);let{klass:n}=Sz[t];if(!n)throw Error(`can't deserialize unregistered class ${t}`);if(n.deserialize)return n.deserialize(e);let r=Object.create(n.prototype);for(let n of Object.keys(e)){if(n===`$name`)continue;let i=e[n];r[n]=Sz[t].shallow.includes(n)?i:uO(i)}return r}function dO(e){if(Array.isArray(e))return e.length;let t=e?.values;return Array.isArray(t)?t.length:void 0}function fO(e,t){let n=dO(e),r=dO(t);return n!==void 0&&r!==void 0&&n!==r}function pO(e,t=1){let n=0,r=0;return{members:e.map(e=>{let i=mO(e.type),a=n=hO(n,Math.max(t,i)),o=e.components||1;return r=Math.max(r,i),n+=i*o,{name:e.name,type:e.type,components:o,offset:a}}),size:hO(n,Math.max(r,t)),alignment:t}}function mO(e){return Jz[e].BYTES_PER_ELEMENT}function hO(e,t){return Math.ceil(e/t)*t}function gO(e,t){return e=_C(Math.floor(e),0,255),t=_C(Math.floor(t),0,255),256*e+t}function _O(e){let t=+e;return!isNaN(t)&&t<=2**53-1?t:(0,oV.default)(String(e))}function vO(e,t,n,r){for(;n<r;){let i=e[n+r>>1],a=n-1,o=r+1;for(;;){do a++;while(e[a]<i);do o--;while(e[o]>i);if(a>=o)break;yO(e,a,o),yO(t,3*a,3*o),yO(t,3*a+1,3*o+1),yO(t,3*a+2,3*o+2)}o-n<r-o?(vO(e,t,n,o),n=o+1):(vO(e,t,o+1,r),r=o)}}function yO(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function bO(e){return[gO(255*e.r,255*e.g),gO(255*e.b,255*e.a)]}function xO(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 SO(e){return{"line-pattern":{source:VB,composite:VB},"fill-pattern":{source:VB,composite:VB},"fill-extrusion-pattern":{source:VB,composite:VB},"line-dasharray":{source:HB,composite:HB}}[e]}function CO(e,t,n){let r={color:{source:nB,composite:bB},number:{source:hB,composite:nB}};return SO(e)?.[n]||r[t][n]}function wO(e){let t=aL/e.extent,n=e.loadGeometry();for(let e of n)for(let n of e){let e=Math.round(n.x*t),r=Math.round(n.y*t);n.x=_C(e,kV,OV),n.y=_C(r,kV,OV),(e<n.x||e>n.x+1||r<n.y||r>n.y+1)&&jC(`Geometry exceeds allowed extent, reduce your vector tile buffer size`)}return n}function TO(e,t){return{type:e.type,id:e.id,properties:e.properties,geometry:t?wO(e):[]}}function EO(e,t,n,r,i){e.emplaceBack(AV+t*8+r,AV+n*8+i)}function DO(e,t){for(let n of e)if(LO(t,n))return!0;for(let n of t)if(LO(e,n))return!0;return MO(e,t)}function OO(e,t,n){return LO(e,t)?!0:PO(t,e,n)}function kO(e,t){if(e.length===1)return IO(t,e[0]);for(let n of t)for(let t of n)if(LO(e,t))return!0;for(let n of e)if(IO(t,n))return!0;for(let n of t)if(MO(e,n))return!0;return!1}function AO(e,t,n){for(let r of t){if(e.length>=3){for(let t of r)if(LO(e,t))return!0}if(jO(e,r,n))return!0}return!1}function jO(e,t,n){if(e.length>1){if(MO(e,t))return!0;for(let r of t)if(PO(r,e,n))return!0}for(let r of e)if(PO(r,t,n))return!0;return!1}function MO(e,t){if(e.length===0||t.length===0)return!1;for(let n=0;n<e.length-1;n++){let r=e[n],i=e[n+1];for(let e=0;e<t.length-1;e++){let n=t[e],a=t[e+1];if(NO(r,i,n,a))return!0}}return!1}function NO(e,t,n,r){return MC(e,n,r)!==MC(t,n,r)&&MC(e,t,n)!==MC(e,t,r)}function PO(e,t,n){let r=n*n;if(t.length===1)return e.distSqr(t[0])<r;for(let n=1;n<t.length;n++){let i=t[n-1],a=t[n];if(FO(e,i,a)<r)return!0}return!1}function FO(e,t,n){let r=t.distSqr(n);if(r===0)return e.distSqr(t);let i=((e.x-t.x)*(n.x-t.x)+(e.y-t.y)*(n.y-t.y))/r;return i<0?e.distSqr(t):i>1?e.distSqr(n):e.distSqr(n.sub(t)._mult(i)._add(t))}function IO(e,t){let n=!1,r,i,a;for(let o of e){r=o;for(let e=0,o=r.length-1;e<r.length;o=e++)i=r[e],a=r[o],i.y>t.y!=a.y>t.y&&t.x<(a.x-i.x)*(t.y-i.y)/(a.y-i.y)+i.x&&(n=!n)}return n}function LO(e,t){let n=!1;for(let r=0,i=e.length-1;r<e.length;i=r++){let a=e[r],o=e[i];a.y>t.y!=o.y>t.y&&t.x<(o.x-a.x)*(t.y-a.y)/(o.y-a.y)+a.x&&(n=!n)}return n}function RO(e,t,n,r,i){for(let a of e)if(t<=a.x&&n<=a.y&&r>=a.x&&i>=a.y)return!0;let a=[new Vx(t,n),new Vx(t,i),new Vx(r,i),new Vx(r,n)];if(e.length>2){for(let t of a)if(LO(e,t))return!0}for(let t=0;t<e.length-1;t++){let n=e[t],r=e[t+1];if(zO(n,r,a))return!0}return!1}function zO(e,t,n){let r=n[0],i=n[2];if(e.x<r.x&&t.x<r.x||e.x>i.x&&t.x>i.x||e.y<r.y&&t.y<r.y||e.y>i.y&&t.y>i.y)return!1;let a=MC(e,t,n[0]);return a!==MC(e,t,n[1])||a!==MC(e,t,n[2])||a!==MC(e,t,n[3])}function BO(e,t,n){let r=t.paint.get(e).value;return r.kind===`constant`?r.value:n.programConfigurations.get(t.id).getMaxValue(e)}function VO(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1])}function HO(e,t,n,r,i){if(!t[0]&&!t[1])return e;let a=Vx.convert(t)._mult(i);n===`viewport`&&a._rotate(-r);let o=[];for(let t of e)o.push(t.sub(a));return o}function UO(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n],i=t.at(-1);(n===0||i&&!r.equals(i))&&t.push(r)}return t}function WO(e,t){let n=[];for(let r of e){let e=UO(r),i=[];for(let n=0;n<e.length;n++){let r=e[n],a=e[n-1],o=e[n+1],s=n===0?new Vx(0,0):r.sub(a)._unit()._perp(),c=n===e.length-1?new Vx(0,0):o.sub(r)._unit()._perp(),l=s._add(c)._unit(),u=l.x*c.x+l.y*c.y;u!==0&&l._mult(1/u),i.push(l._mult(t)._add(r))}n.push(i)}return n}function GO({queryGeometry:e,size:t},n){return OO(e,n,t)}function KO({queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i},a){return OO(e,a,t*(n.projectTileCoordinates(a.x,a.y,r,i?.(a.x,a.y)).signedDistanceFromCamera/n.cameraToCenterDistance))}function qO({queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i},a){let o=n.projectTileCoordinates(a.x,a.y,r,i?.(a.x,a.y)).signedDistanceFromCamera,s=t*(n.cameraToCenterDistance/o);return OO(e,XO(a,n,r,i),s)}function JO({queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i},a){return OO(e,XO(a,n,r,i),t)}function YO({queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i,pitchAlignment:a=`map`,pitchScale:o=`map`},s){let c=a===`map`?o===`map`?GO:KO:o===`map`?qO:JO,l={queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i};for(let e of s)for(let t of e)if(c(l,t))return!0;return!1}function XO(e,t,n,r){let i=t.projectTileCoordinates(e.x,e.y,n,r?.(e.x,e.y)).point;return new Vx((i.x*.5+.5)*t.width,(-i.y*.5+.5)*t.height)}function ZO(e,t,n,r){return e.map(e=>XO(e,t,n,r))}function QO(e,{width:t,height:n},r,i){if(!i)i=new Uint8Array(t*n*r);else if(i instanceof Uint8ClampedArray)i=new Uint8Array(i.buffer);else if(i.length!==t*n*r)throw RangeError(`mismatched image size. expected: ${i.length} but got: ${t*n*r}`);return e.width=t,e.height=n,e.data=i,e}function $O(e,{width:t,height:n},r){if(t===e.width&&n===e.height)return;let i=QO({},{width:t,height:n},r);ek(e,i,{x:0,y:0},{x:0,y:0},{width:Math.min(e.width,t),height:Math.min(e.height,n)},r),e.width=t,e.height=n,e.data=i.data}function ek(e,t,n,r,i,a){if(i.width===0||i.height===0)return t;if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw RangeError(`out of range source coordinates for image copy`);if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw RangeError(`out of range destination coordinates for image copy`);let o=e.data,s=t.data;if(o===s)throw Error(`srcData equals dstData, so image is already copied`);for(let c=0;c<i.height;c++){let l=((n.y+c)*e.width+n.x)*a,u=((r.y+c)*t.width+r.x)*a;for(let e=0;e<i.width*a;e++)s[u+e]=o[l+e]}return t}function tk(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n+=4){let r=e[n+3];t[n+0]=Math.round(e[n+0]*r/255),t[n+1]=Math.round(e[n+1]*r/255),t[n+2]=Math.round(e[n+2]*r/255),t[n+3]=r}return t}function nk(e){let t={},n=e.resolution||256,r=e.clips?e.clips.length:1,i=e.image||new WV({width:n,height:r});if(!SC(n))throw Error(`width is not a power of 2 - ${n}`);let a=(r,a,o)=>{t[e.evaluationKey]=o;let s=e.expression.evaluate(t);i.setPixel(r/4/n,a/4,s)};if(e.clips)for(let t=0,i=0;t<r;++t,i+=n*4)for(let r=0,o=0;r<n;r++,o+=4){let s=r/(n-1),{start:c,end:l}=e.clips[t],u=c*(1-s)+l*s;a(i,o,u)}else for(let e=0,t=0;e<n;e++,t+=4){let r=e/(n-1);a(0,t,r)}return i}function rk(e){return`data`in e}function ik(e,t){let n=t[0],r=t[1],i=t[2],a=t[3],o=Math.min(n,r,i),s=Math.round((e+a)/o);return{r:Math.floor(s*o/n)%256,g:Math.floor(s*o/r)%256,b:Math.floor(s*o/i)%256}}function ak(e,t,n){let r=n.patternDependencies,i=!1;for(let n of t){let t=n.paint.get(`${e}-pattern`);t.isConstant()||(i=!0);let a=t.constantOr(null);a&&(i=!0,r[a.to]=!0,r[a.from]=!0)}return i}function ok(e,t,n,r,i){let{zoom:a}=r,o=i.patternDependencies;for(let r of t){let t=r.paint.get(`${e}-pattern`).value;if(t.kind!==`constant`){let e=t.evaluate({zoom:a-1},n,{},i.availableImages),s=t.evaluate({zoom:a},n,{},i.availableImages),c=t.evaluate({zoom:a+1},n,{},i.availableImages);e=e!=null&&e.name?e.name:e,s=s!=null&&s.name?s.name:s,c=c!=null&&c.name?c.name:c,o[e]=!0,o[s]=!0,o[c]=!0,n.patterns[r.id]={min:e,mid:s,max:c}}}return n}function sk(e,t,n=2){let r=t&&t.length,i=r?t[0]*n:e.length;lH.size&&lH.clear();let a=ck(e,0,i,n,!0),o=[];if(!a||a.next===a.prev)return o;let s=0,c=0,l=0;if(r&&(a=hk(e,t,a,n)),e.length>80*n){s=e[0],c=e[1];let t=s,r=c;for(let a=n;a<i;a+=n){let n=e[a],i=e[a+1];n<s&&(s=n),i<c&&(c=i),n>t&&(t=n),i>r&&(r=i)}l=Math.max(t-s,r-c),l=l===0?0:32767/l}return uk(a,o,s,c,l),o}function ck(e,t,n,r,i){let a=null;if(i===Uk(e,t,n,r)>0)for(let i=t;i<n;i+=r)a=Bk(i/r|0,e[i],e[i+1],a);else for(let i=n-r;i>=t;i-=r)a=Bk(i/r|0,e[i],e[i+1],a);return a&&Nk(a,a.next)&&(Vk(a),a=a.next),a}function lk(e,t=e){let n=t===e,r=e,i;do i=!1,r!==r.next&&(lH.size===0||!lH.has(r))&&(Nk(r,r.next)||Mk(r.prev,r,r.next)===0)?((n||r===t)&&(t=r.prev),uH=!0,Vk(r),r=r.prev,i=!0):(n||r!==t)&&(r=r.next,i=!n);while(i||r!==t);return t}function uk(e,t,n,r,i){i&&Tk(e,n,r,i);let a=e,o=!1;for(;e.prev!==e.next;){let s=e.prev,c=e.next;if(Mk(s,e,c)<0&&(i?fk(e,n,r,i):dk(e))){t.push(s.i,e.i,c.i),Vk(e),e=c,a=c;continue}if(e=c,e===a){if(uH=!1,e=lk(e),uH){a=e;continue}if(!o){e=pk(e,t),a=e,o=!0;continue}mk(e,t,n,r,i);break}}}function dk(e){let t=e.prev,n=e,r=e.next,i=t.x,a=n.x,o=r.x,s=t.y,c=n.y,l=r.y,u=Math.min(i,a,o),d=Math.min(s,c,l),f=Math.max(i,a,o),p=Math.max(s,c,l),m=r.next;for(;m!==t;){if(m.x>=u&&m.x<=f&&m.y>=d&&m.y<=p&&(i!==m.x||s!==m.y)&&Ak(i,s,a,c,o,l,m.x,m.y)&&Mk(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function fk(e,t,n,r){let i=e.prev,a=e,o=e.next,s=i.x,c=a.x,l=o.x,u=i.y,d=a.y,f=o.y,p=Math.min(s,c,l),m=Math.min(u,d,f),h=Math.max(s,c,l),g=Math.max(u,d,f),_=Ok(p,m,t,n,r),v=Ok(h,g,t,n,r),y=e.prevZ;for(;y&&y.z>=_;){if(y.x>=p&&y.x<=h&&y.y>=m&&y.y<=g&&y!==o&&(s!==y.x||u!==y.y)&&Ak(s,u,c,d,l,f,y.x,y.y)&&Mk(y.prev,y,y.next)>=0)return!1;y=y.prevZ}let b=e.nextZ;for(;b&&b.z<=v;){if(b.x>=p&&b.x<=h&&b.y>=m&&b.y<=g&&b!==o&&(s!==b.x||u!==b.y)&&Ak(s,u,c,d,l,f,b.x,b.y)&&Mk(b.prev,b,b.next)>=0)return!1;b=b.nextZ}return!0}function pk(e,t){let n=e,r=!1;do{let i=n.prev,a=n.next.next;Pk(i,n,n.next,a,!1)&&Lk(i,a)&&Lk(a,i)&&(t.push(i.i,n.i,a.i),Vk(n),Vk(n.next),n=e=a,r=!0),n=n.next}while(n!==e);return r?lk(n):n}function mk(e,t,n,r,i){let a=e;do{let e=a.next.next;for(;e!==a.prev;){if(a.i!==e.i&&jk(a,e)){let o=zk(a,e);a=lk(a,a.next),o=lk(o,o.next),uk(a,t,n,r,i),uk(o,t,n,r,i);return}e=e.next}a=a.next}while(a!==e)}function hk(e,t,n,r){let i=[];for(let n=0,a=t.length;n<a;n++){let o=ck(e,t[n]*r,n<a-1?t[n+1]*r:e.length,r,!1);o===o.next&&lH.add(o),i.push(kk(o))}i.sort(gk),vk(e.length/r,t.length),yk(n,n),dH=!0;for(let e=0;e<i.length;e++)n=_k(i[e],n);return dH=!1,lk(n)}function gk(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 _k(e,t){let n=Ck(e,t);if(!n)return t;let r=zk(n,e),i=r.next;return yk(n,i.next),lk(r,r.next),lk(n,n.next)}function vk(e,t){let n=Math.ceil((e+2*t)/16)+t+2;fH.length<n*4&&(fH=new Float64Array(n*4)),pH=0}function yk(e,t){let n=e;do{let e=pH++;mH[e]=n;let r=1/0,i=1/0,a=-1/0,o=-1/0,s=0;do{let t=n.next;n.z=e,n.x<r&&(r=n.x),n.x>a&&(a=n.x),n.y<i&&(i=n.y),n.y>o&&(o=n.y),t.x<r&&(r=t.x),t.x>a&&(a=t.x),t.y<i&&(i=t.y),t.y>o&&(o=t.y),n=t}while(++s<16&&n!==t);hH[e]=n;let c=e*4;fH[c]=r,fH[c+1]=i,fH[c+2]=a,fH[c+3]=o}while(n!==t)}function bk(e,t){let n=e.z*4;t.x<fH[n]&&(fH[n]=t.x),t.y<fH[n+1]&&(fH[n+1]=t.y),t.x>fH[n+2]&&(fH[n+2]=t.x),t.y>fH[n+3]&&(fH[n+3]=t.y)}function xk(e){let t=hH[e];for(;t.prev.next!==t;)t=t.next;return hH[e]=t,t}function Sk(e){let t=mH[e];for(;t.prev.next!==t;)t=t.next;return mH[e]=t,t}function Ck(e,t){let n=t,r=e.x,i=e.y,a=-1/0,o;if(Nk(e,n))return n;for(let t=0,s=0;t<pH;t++,s+=4){if(i<fH[s+1]||i>fH[s+3]||fH[s]>r||fH[s+2]<=a)continue;let c=xk(t);n=Sk(t);do{if(n.prev.next===n){if(Nk(e,n.next))return n.next;if(i<=n.y&&i>=n.next.y&&n.next.y!==n.y){let e=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(e<=r&&e>a&&(a=e,o=n.x<n.next.x?n:n.next,e===r))return o}}n=n.next}while(n!==c)}if(!o)return null;let s=o.x,c=o.y,l=Math.min(i,c),u=Math.max(i,c),d=1/0;for(let t=0,f=0;t<pH;t++,f+=4){if(fH[f+2]<s||fH[f]>r||fH[f+3]<l||fH[f+1]>u)continue;let p=xk(t);n=Sk(t);do{if(n.prev.next===n&&r>=n.x&&n.x>=s&&r!==n.x&&Ak(i<c?r:a,i,s,c,i<c?a:r,i,n.x,n.y)){let t=Math.abs(i-n.y)/(r-n.x);(Lk(n,e)||n.y===i&&n.next.y===i&&n.next.x>r)&&(t<d||t===d&&(n.x>o.x||n.x===o.x&&wk(o,n)))&&(o=n,d=t)}n=n.next}while(n!==p)}return o}function wk(e,t){return Mk(e.prev,e,t.prev)<0&&Mk(t.next,e,e.next)<0}function Tk(e,t,n,r){let i=e,a=0;do i.z=Ok(i.x,i.y,t,n,r),gH[a++]=i,i=i.next;while(i!==e);Ek(a);let o=null;for(let e=0;e<a;e++){let t=gH[e];t.prevZ=o,o&&(o.nextZ=t),o=t}o.nextZ=null}function Ek(e){if(e<=32){for(let t=1;t<e;t++){let e=gH[t],n=e.z,r=t-1;for(;r>=0&&gH[r].z>n;)gH[r+1]=gH[r],r--;gH[r+1]=e}return}vH.length<e&&(vH=new Uint32Array(e),yH=new Uint32Array(e),_H=Array(e));for(let t=0;t<e;t++)vH[t]=gH[t].z;Dk(e,gH,vH,_H,yH,0),Dk(e,_H,yH,gH,vH,8),Dk(e,gH,vH,_H,yH,16),Dk(e,_H,yH,gH,vH,24)}function Dk(e,t,n,r,i,a){bH.fill(0);for(let t=0;t<e;t++)bH[n[t]>>>a&255]++;let o=0;for(let e=0;e<256;e++){let t=bH[e];bH[e]=o,o+=t}for(let o=0;o<e;o++){let e=n[o],s=bH[e>>>a&255]++;r[s]=t[o],i[s]=e}}function Ok(e,t,n,r,i){return e=(e-n)*i|0,t=(t-r)*i|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 kk(e){let t=e,n=e;do(t.x<n.x||t.x===n.x&&t.y<n.y)&&(n=t),t=t.next;while(t!==e);return n}function Ak(e,t,n,r,i,a,o,s){return(i-o)*(t-s)>=(e-o)*(a-s)&&(e-o)*(r-s)>=(n-o)*(t-s)&&(n-o)*(a-s)>=(i-o)*(r-s)}function jk(e,t){let n=Nk(e,t)&&Mk(e.prev,e,e.next)>0&&Mk(t.prev,t,t.next)>0;return e.next.i!==t.i&&(n||Lk(e,t)&&Lk(t,e)&&(Mk(e.prev,e,t.prev)!==0||Mk(e,t.prev,t)!==0))&&!Ik(e,t)&&(n||Rk(e,t))}function Mk(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function Nk(e,t){return e.x===t.x&&e.y===t.y}function Pk(e,t,n,r,i=!0){let a=Mk(e,t,n),o=Mk(e,t,r),s=Mk(n,r,e),c=Mk(n,r,t);return(a>0&&o<0||a<0&&o>0)&&(s>0&&c<0||s<0&&c>0)?!0:i?!!(a===0&&Fk(e,n,t)||o===0&&Fk(e,r,t)||s===0&&Fk(n,e,r)||c===0&&Fk(n,t,r)):!1}function Fk(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function Ik(e,t){let n=Math.min(e.x,t.x),r=Math.max(e.x,t.x),i=Math.min(e.y,t.y),a=Math.max(e.y,t.y),o=e;do{let s=o.next;if(o.x>r&&s.x>r||o.x<n&&s.x<n||o.y>a&&s.y>a||o.y<i&&s.y<i){o=s;continue}if(o.i!==e.i&&s.i!==e.i&&o.i!==t.i&&s.i!==t.i&&Pk(o,s,e,t))return!0;o=s}while(o!==e);return!1}function Lk(e,t){return Mk(e.prev,e,e.next)<0?Mk(e,t,e.next)>=0&&Mk(e,e.prev,t)>=0:Mk(e,t,e.prev)<0||Mk(e,e.next,t)<0}function Rk(e,t){let n=e,r=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do{let e=n.next;n.y>a!=e.y>a&&i<(e.x-n.x)*(a-n.y)/(e.y-n.y)+n.x&&(r=!r),n=e}while(n!==e);return r}function zk(e,t){let n=Hk(e.i,e.x,e.y),r=Hk(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,n.next=i,i.prev=n,r.next=n,n.prev=r,a.next=r,r.prev=a,r}function Bk(e,t,n,r){let i=Hk(e,t,n);return r?(i.next=r.next,i.prev=r,r.next.prev=i,r.next=i):(i.prev=i,i.next=i),i}function Vk(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),dH&&bk(e.prev,e.next)}function Hk(e,t,n){return{i:e,x:t,y:n,prev:null,next:null,z:0,prevZ:null,nextZ:null}}function Uk(e,t,n,r){let i=0;for(let a=t,o=n-r;a<n;a+=r)i+=(e[o]-e[a])*(e[a+1]+e[o+1]),o=a;return i}function Wk(e,t,n,r=!0){return new EH(n,t).subdividePolygonInternal(e,r)}function Gk(e,t,n=!1){if(!e||e.length<1||e.length<2)return[];let r=e[0],i=e[e.length-1],a=n&&(r.x!==i.x||r.y!==i.y);if(t<2)return a?[...e,e[0]]:[...e];let o=Math.floor(aL/t),s=[];s.push(new Vx(e[0].x,e[0].y));let c=e.length,l=a?c:c-1;for(let t=0;t<l;t++){let n=e[t],r=t<c-1?e[t+1]:e[0],i=n.x,a=n.y,l=r.x,u=r.y,d=i!==l,f=a!==u;if(!d&&!f)continue;let p=l-i,m=u-a,h=Math.abs(p),g=Math.abs(m),_=i,v=a;for(;;){let e=p>0?(Math.floor(_/o)+1)*o:(Math.ceil(_/o)-1)*o,t=m>0?(Math.floor(v/o)+1)*o:(Math.ceil(v/o)-1)*o,n=Math.abs(_-e),r=Math.abs(v-t),i=Math.abs(_-l),a=Math.abs(v-u),c=d?n/h:1/0,y=f?r/g:1/0;if((i<=n||!d)&&(a<=r||!f))break;if(c<y&&d||!f){_=e,v+=m*c;let t=new Vx(_,Math.round(v));(s[s.length-1].x!==t.x||s[s.length-1].y!==t.y)&&s.push(t)}else{_+=p*y,v=t;let e=new Vx(Math.round(_),v);(s[s.length-1].x!==e.x||s[s.length-1].y!==e.y)&&s.push(e)}}let y=new Vx(l,u);(s[s.length-1].x!==y.x||s[s.length-1].y!==y.y)&&s.push(y)}return s}function Kk(e){let t=[],n=[];for(let r of e)if(r.length!==0){r!==e[0]&&t.push(n.length/2);for(let e of r)n.push(e.x),n.push(e.y)}return{flattened:n,holeIndices:t}}function qk(e,t){let n=[];for(let r=0;r<t.length;r+=3){let i=t[r],a=t[r+1],o=t[r+2],s=e[i*2],c=e[i*2+1],l=e[a*2],u=e[a*2+1],d=e[o*2],f=e[o*2+1],p=l-s,m=u-c,h=d-s;p*(f-c)-m*h>0?(n.push(i),n.push(o),n.push(a)):(n.push(i),n.push(a),n.push(o))}return n}function Jk(e,t,n){if(t.length===0)throw Error(`Subdivision vertex ring is empty.`);let r=0,i=e[t[0]*2];for(let n=1;n<t.length;n++){let a=e[t[n]*2];a<i&&(i=a,r=n)}let a=t.length,o=r,s=(o+1)%a;for(;;){let r=o-1>=0?o-1:a-1,i=(s+1)%a,c=e[t[r]*2],l=e[t[r]*2+1],u=e[t[i]*2],d=e[t[i]*2+1],f=e[t[o]*2],p=e[t[o]*2+1],m=e[t[s]*2],h=e[t[s]*2+1],g=!1;if(c<u)g=!0;else if(c>u)g=!1;else{let e=h-p,t=-(m-f),n=p<h?1:-1;((c-f)*e+(l-p)*t)*n>((u-f)*e+(d-p)*t)*n&&(g=!0)}if(g){let e=t[r],i=t[o],c=t[s];e!==i&&e!==c&&i!==c&&n.push(c,i,e),o--,o<0&&(o=a-1)}else{let e=t[i],r=t[o],c=t[s];e!==r&&e!==c&&r!==c&&n.push(c,r,e),s++,s>=a&&(s=0)}if(r===i)break}}function Yk(e,t,n,r,i,a,o,s,c){let l=i.length/2,u=o&&s&&c;if(l<tV.MAX_VERTEX_ARRAY_LENGTH){let d=t.prepareSegment(l,n,r),f=d.vertexLength;for(let e=0;e<a.length;e+=3)r.emplaceBack(f+a[e],f+a[e+1],f+a[e+2]);d.vertexLength+=l,d.primitiveLength+=a.length/3;let p,m;u&&(m=o.prepareSegment(l,n,s),p=m.vertexLength,m.vertexLength+=l);for(let t=0;t<i.length;t+=2)e(i[t],i[t+1]);if(u)for(let e of c){for(let t=1;t<e.length;t+=2)s.emplaceBack(p+e[t-1],p+e[t]);m.primitiveLength+=e.length/2}}else Zk(t,n,r,i,a,e),u&&Qk(o,n,s,i,c,e),t.forceNewSegmentOnNextPrepare(),o?.forceNewSegmentOnNextPrepare()}function Xk(e,t,n,r,i,a,o){if(a){let a=r.count;return n(t[i*2],t[i*2+1]),e[i]=r.count,r.count++,o.vertexLength++,a}return e[i]}function Zk(e,t,n,r,i,a){let o=[];for(let e=0;e<r.length/2;e++)o.push(-1);let s={count:0},c=0,l=e.getOrCreateLatestSegment(t,n),u=l.vertexLength;for(let d=2;d<i.length;d+=3){let f=i[d-2],p=i[d-1],m=i[d],h=o[f]<c,g=o[p]<c,_=o[m]<c,v=+!!h+ +!!g+ +!!_;l.vertexLength+v>tV.MAX_VERTEX_ARRAY_LENGTH&&(l=e.createNewSegment(t,n),c=s.count,h=!0,g=!0,_=!0,u=0);let y=Xk(o,r,a,s,f,h,l),b=Xk(o,r,a,s,p,g,l),x=Xk(o,r,a,s,m,_,l);n.emplaceBack(u+y-c,u+b-c,u+x-c),l.primitiveLength++}}function Qk(e,t,n,r,i,a){let o=[];for(let e=0;e<r.length/2;e++)o.push(-1);let s={count:0},c=0,l=e.getOrCreateLatestSegment(t,n),u=l.vertexLength;for(let d of i)for(let i=1;i<d.length;i+=2){let f=d[i-1],p=d[i],m=o[f]<c,h=o[p]<c,g=+!!m+ +!!h;l.vertexLength+g>tV.MAX_VERTEX_ARRAY_LENGTH&&(l=e.createNewSegment(t,n),c=s.count,m=!0,h=!0,u=0);let _=Xk(o,r,a,s,f,m,l),v=Xk(o,r,a,s,p,h,l);n.emplaceBack(u+_-c,u+v-c),l.primitiveLength++}}function $k(e,t){return e.x===t.x&&(e.x<0||e.x>8192)||e.y===t.y&&(e.y<0||e.y>8192)}function eA(e){return e.every(e=>e.x<0)||e.every(e=>e.x>8192)||e.every(e=>e.y<0)||e.every(e=>e.y>8192)}function tA(e){let t=e.length;if(t<=1)return[e];let n=[],r,i;for(let a=0;a<t;a++){let t=nA(e[a]);t!==0&&(i===void 0&&(i=t<0),i===t<0?(r&&n.push(r),r=[e[a]]):r&&r.push(e[a]))}return r&&n.push(r),n}function nA(e){let t=0;for(let n=0,r=e.length,i=r-1,a,o;n<r;i=n++)a=e[n],o=e[i],t+=(o.x-a.x)*(a.y+o.y);return t}function rA(e){let t=null,n=e.readVarint()+e.pos;for(;e.pos<n;){let n=e.readVarint();t=n===10?e.readString():n===21?e.readFloat():n===25?e.readDouble():n===32?e.readVarint(!0):n===40?e.readVarint():n===48?e.readSVarint():n===56?e.readBoolean():(e.skip(n),null)}if(t==null)throw Error(`unknown feature value`);return t}function iA(e){return GH*Math.cos(e*Math.PI/180)}function aA(e){return(180+e)/360}function oA(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function sA(e,t){return e/iA(t)}function cA(e){return e*360-180}function lA(e){let t=180-e*360;return 360/Math.PI*Math.atan(Math.exp(t*Math.PI/180))-90}function uA(e,t){return e*iA(lA(t))}function dA(e){return 1/Math.cos(e*Math.PI/180)}function fA(e,t,n){let r=1/(1<<n.z);return new KH(e/aL*r+n.x*r,t/aL*r+n.y*r)}function pA(e,t,n){return fA(e,t,n).toLngLat()}function mA(e,t){let n=_C(t.lat,-85.051129,fL);return new Vx(aA(t.lng)*e,oA(n)*e)}function hA(e,t){return new KH(t.x/e,t.y/e).toLngLat()}function gA(e){return e.cameraToCenterDistance*Math.min(Math.tan(HC(90-e.pitch))*.85,Math.tan(HC(qH-e.pitch)))}function _A(e,t){let n=e.canonical,r=t/wC(n.z),i=n.x+2**n.z*e.wrap,a=new Float64Array(16);return Qx(a),tS(a,a,[i*r,n.y*r,0]),nS(a,a,[r/aL,r/aL,1]),a}function vA(e,t,n,r,i){let a=KH.fromLngLat(e,t),o=i*sA(1,e.lat),{x:s,y:c,z:l}=bA(n,r),u=o*-s,d=o*-c,f=o*l;return new KH(a.x+u,a.y+d,a.z+f)}function yA(e){let t=sA(1,e.center.lat)*e.worldSize;return vA(e.center,e.elevation,e.pitch,e.bearing,e.cameraToCenterDistance/t)}function bA(e,t){let n=HC(e),r=HC(t),i=Math.cos(-n),a=Math.sin(n);return{x:a*Math.sin(r),y:-a*Math.cos(r),z:i}}function xA(e,t,n){if(t<=0||!e||e.length===0)return e;let r=SA(t,n);return e.map(e=>CA(e,r))}function SA(e,t){let n=pA(aL/2,aL/2,t),r=KH.fromLngLat(n).meterInMercatorCoordinateUnits(),i=(1<<t.z)*aL;return e*r*i}function CA(e,t){if(!e||e.length<3)return e;let n=e[0].x===e[e.length-1].x&&e[0].y===e[e.length-1].y,r=n?e.length-1:e.length;if(r<3)return e;let i=[];for(let n=0;n<r;n++){let a=e[(n-1+r)%r],o=e[n],s=e[(n+1)%r];if($k(a,o)||$k(o,s)){i.push(o.clone());continue}TA(i,a,o,s,t)}let a=wA(i);return a.length<3?e:(n&&a.push(a[0].clone()),a)}function wA(e){let t=[];for(let n of e){let e=n.round(),r=t[t.length-1];(r?.x!==e.x||r?.y!==e.y)&&t.push(e)}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 TA(e,t,n,r,i){let a=t.sub(n),o=r.sub(n),s=a.mag(),c=o.mag();if(s<1e-6||c<1e-6){e.push(n.clone());return}a._div(s),o._div(c);let l=a.x*o.x+a.y*o.y;if(Math.abs(l)>Math.cos(5*Math.PI/180)){e.push(n.clone());return}let u=.2,d=Math.min(i,s*u,c*u),f=n.add(a.mult(d)),p=n.add(o.mult(d)),m=Math.sqrt((1+l)/2),h=n.add(a.add(o)._unit()._mult(d/m)),g=f.sub(h).angleWith(p.sub(h)),_=Math.max(2,Math.ceil(Math.abs(g)/(Math.PI/6)-1e-6));for(let t=0;t<=_;t++)e.push(f.rotateAround(t/_*g,h))}function EA(e,t,n,r,i,a,o,s){e.emplaceBack(t,n,Math.floor(r*JH)*2+o,i*JH*2,a*JH*2,Math.round(s))}function DA(e,t){for(let n=0;n<t.length;n++){let r=t[n];(n!==t.length-1||t[0].x!==r.x||t[0].y!==r.y)&&(e.x+=r.x,e.y+=r.y,e.sampleCount++)}}function OA(e,t){return e.x*t.x+e.y*t.y}function kA(e,t){if(e.length===1){let n=0,r=t[n++],i;for(;!i||r.equals(i);)if(i=t[n++],!i)return 1/0;for(;n<t.length;n++){let a=t[n],o=e[0],s=i.sub(r),c=a.sub(r),l=o.sub(r),u=OA(s,s),d=OA(s,c),f=OA(c,c),p=OA(l,s),m=OA(l,c),h=u*f-d*d,g=(f*p-d*m)/h,_=(u*m-d*p)/h,v=1-g-_,y=r.z*v+i.z*g+a.z*_;if(isFinite(y))return y}return 1/0}{let e=1/0;for(let n of t)e=Math.min(e,n.z);return e}}function AA(e,t,n){let r=1/0;kO(n,t)&&(r=kA(n,t[0]));for(let i=0;i<t.length;i++){let a=t[i],o=e[i];for(let e=0;e<a.length-1;e++){let t=a[e],i=a[e+1],s=o[e],c=[t,i,o[e+1],s,t];DO(n,c)&&(r=Math.min(r,kA(n,c)))}}return r!==1/0&&r}function jA(e,t,n,r){let i=[],a=[],o=r[8]*t,s=r[9]*t,c=r[10]*t,l=r[11]*t,u=r[8]*n,d=r[9]*n,f=r[10]*n,p=r[11]*n;for(let t of e){let e=[],n=[];for(let i of t){let t=i.x,a=i.y,m=r[0]*t+r[4]*a+r[12],h=r[1]*t+r[5]*a+r[13],g=r[2]*t+r[6]*a+r[14],_=r[3]*t+r[7]*a+r[15],v=m+o,y=h+s,b=g+c,x=_+l,S=m+u,C=h+d,w=g+f,T=_+p,E=new Vx(v/x,y/x);E.z=b/x,e.push(E);let D=new Vx(S/T,C/T);D.z=w/T,n.push(D)}i.push(e),a.push(n)}return[i,a]}function MA(e,t,n){let r=[];for(let i of e){let e=[i.x,i.y,n,1];IS(e,e,t),r.push(new Vx(e[0]/e[3],e[1]/e[3]))}return r}function NA(e,t){return t>0?t+2*e:e}function PA(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 FA(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 IA(e){return/[\u02EA\u02EB\u1100-\u11FF\u2E80-\u2FDF\u3000-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7C6\uD7CB-\uD7FB\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 LA(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 RA(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 zA(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 BA(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 VA(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 HA(e,t){return/(?:[\u1039\u17D2\u1A60\u1BAB\u200D\uAAF6]|\uD802\uDE3F|\uD804[\uDD33\uDFD0]|\uD806[\uDD3E\uDE47\uDE99]|\uD807[\uDD45\uDD97\uDF42])$/.test(e)||RegExp(`^\\p{gc=Mc}`,`u`).test(t)}function UA(e,t,n){let r=0;for(let i of e.split(`;`)){let[e,a]=i.split(`,`).map(e=>parseInt(e,36)),o=r+e;for(let e=o;e<o+a;e++)n.set(e,t);r=o+a}}function WA(e){return NU.get(e)??`U`}function GA(e){return e===`D`||e===`L`||e===`C`}function KA(e){return e===`D`||e===`R`||e===`C`}function qA(e,t,n){return e===`D`?t&&n?3:t?1:n?2:0:e===`R`?+!!t:e===`L`?n?2:0:null}function JA(e){return[...e].map(e=>{let t=e.codePointAt(0);return{codePoint:t,type:WA(t),form:null}})}function YA(e){let t=e.filter(e=>e.type!==`T`);for(let e=0;e<t.length;e++){let n=t[e],r=e>0&&GA(t[e-1].type),i=e+1<t.length&&KA(t[e+1].type);n.form=qA(n.type,r,i)}}function XA(e){let t=!1;for(let n of e)n.type===`T`?n.form=t?3:0:t=n.form===2||n.form===3}function ZA(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.codePoint!==jU){t.push(r);continue}let i=n+1;for(;i<e.length&&e[i].type===`T`;)i++;let a=e[i],o=a&&AU[String.fromCodePoint(jU,a.codePoint)];if(!o){t.push(r);continue}let s=r.form===3||r.form===1;t.push({codePoint:o[+!!s],type:`R`,form:0}),t.push(...e.slice(n+1,i)),n=i}return t}function QA(e){if(e.form===null)return e.codePoint;let t=kU[e.codePoint];return t&&(t[e.form]||t[0])||e.codePoint}function $A(e){if(!MU.test(e))return e;let t=JA(e);return YA(t),XA(t),ZA(t).map(e=>String.fromCodePoint(QA(e))).join(``)}function ej(e,t,n){let r=t.layout.get(`text-transform`).evaluate(n,{});return r===`uppercase`?e=e.toLocaleUpperCase():r===`lowercase`&&(e=e.toLocaleLowerCase()),(DU.applyArabicShaping??$A)(e)}function tj(e,t,n){for(let r of e.sections)r.text=ej(r.text,t,n);return e}function nj(e){let t={},n={},r=[],i=0;function a(t){r.push(e[t]),i++}function o(e,t,i){let a=n[e];return delete n[e],n[t]=a,r[a].geometry[0].pop(),r[a].geometry[0]=r[a].geometry[0].concat(i[0]),a}function s(e,n,i){let a=t[n];return delete t[n],t[e]=a,r[a].geometry[0].shift(),r[a].geometry[0]=i[0].concat(r[a].geometry[0]),a}function c(e,t,n){let r=n?t[0][t[0].length-1]:t[0][0];return`${e}:${r.x}:${r.y}`}for(let l=0;l<e.length;l++){let u=e[l],d=u.geometry,f=u.text?u.text.toString():null;if(!f){a(l);continue}let p=c(f,d),m=c(f,d,!0);if(p in n&&m in t&&n[p]!==t[m]){let e=s(p,m,d),i=o(p,m,r[e].geometry);delete t[p],delete n[m],n[c(f,r[i].geometry,!0)]=i,r[e].geometry=null}else p in n?o(p,m,d):m in t?s(p,m,d):(a(l),t[p]=i-1,n[m]=i-1)}return r.filter(e=>e.geometry)}function rj(e){if(!PU||!BA(e))return[...e];FU??=new Intl.Segmenter(void 0,{granularity:`grapheme`});let t=[];for(let{segment:n}of FU.segment(e)){let e=t.length-1;e>=0&&HA(t[e],n)?t[e]+=n:t.push(n)}return t}function ij(e){let t=new Set;if(PU){IU??=new Intl.Segmenter(void 0,{granularity:`word`});for(let{index:n}of IU.segment(e))t.add(n);return t}let n=0;for(let r of e.split(RegExp(`\\b|(?=\\p{Ideo})`,`u`)))t.add(n),n+=r.length;return t}function aj(e){let t=e.codePointAt(0);return e.length>(t>65535?2:1)}function oj(e){return/\s/u.test(String.fromCodePoint(e))}function sj(e){for(let t of e)if(RA(t.codePointAt(0)))return!0;return!1}function cj(e){for(let t of e)if(!lj(t.codePointAt(0)))return!1;return!0}function lj(e){return!PA(e)}function uj(e){return!(RA(e)||zA(e))}function dj(e){return RegExp(`\\p{sc=Arab}`,`u`).test(String.fromCodePoint(e))}function fj(e){return FA(e)}function pj(e){for(let t of e)if(fj(t.codePointAt(0)))return!0;return!1}function mj(e){let t=``,n={premature:!0,value:void 0},r=e[Symbol.iterator](),i=r.next(),a=e[Symbol.iterator]();a.next();let o=a.next();for(;!i.done;)(o.done||!uj(o.value.codePointAt(0))||LU[o.value])&&(n.premature||!uj(n.value.codePointAt(0))||LU[n.value])&&LU[i.value]?t+=LU[i.value]:t+=i.value,n={value:i.value,premature:!1},i=r.next(),o=a.next();return t}function hj(e,t,n,r,i,a){if(`fontStack`in t){let r=n[t.fontStack],a=r?.[e];if(a)return a.metrics.advance*t.scale+i;let o=0;for(let n of e){let e=r?.[n];e&&(o+=e.metrics.advance*t.scale+i)}return o}{let e=r[t.imageName];return e?e.displaySize[0]*t.scale*24/a+i:0}}function gj(e,t,n,r){let i=(e-t)**2;return r?e<t?i/2:i*2:i+Math.abs(n)*n}function _j(e){return/^\s+$/u.test(e)}function vj(e,t,n){let r=0;return(e===10||e===13)&&(r-=1e4),n&&(r+=150),(e===40||e===65288)&&(r+=50),(t===41||t===65289)&&(r+=50),r}function yj(e,t,n,r,i,a){let o=null,s=gj(t,n,i,a);for(let e of r){let r=gj(t-e.x,n,i,a)+e.badness;r<=s&&(o=e,s=r)}return{index:e,x:t,priorBreak:o,badness:s}}function bj(e){return e?bj(e.priorBreak).concat(e.index):[]}function xj(){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`},n={},r={};n.L=1,r[1]=`L`,Object.keys(t).forEach(function(e,t){n[e]=1<<t+1,r[n[e]]=e}),Object.freeze(n);var i=n.LRI|n.RLI|n.FSI,a=n.L|n.R|n.AL,o=n.B|n.S|n.WS|n.ON|n.FSI|n.LRI|n.RLI|n.PDI,s=n.BN|n.RLE|n.LRE|n.RLO|n.LRO|n.PDF,c=n.S|n.WS|n.B|i|n.PDI|s,l=null;function u(){if(!l){l=new Map;var e=0;for(var r in t)if(t.hasOwnProperty(r))for(var i=t[r],a=``,o=void 0,s=!1,c=0,u=0;u<=i.length+1;u+=1){var d=i[u];if(d!==`,`&&u!==i.length)d===`+`?(s=!0,c=e=c+parseInt(a,36),a=``):a+=d;else{s?o=e+parseInt(a,36):(c=e=c+parseInt(a,36),o=e),s=!1,a=``,c=o;for(var f=e;f<o+1;f+=1)l.set(f,n[r])}}}}function d(e){return u(),l.get(e.codePointAt(0))||n.L}function f(e){return r[d(e)]}var p={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 m(e,t){var n=0,r=new Map,i=t&&new Map,a;return e.split(`,`).forEach(function e(o){if(o.indexOf(`+`)!==-1)for(var s=+o;s--;)e(a);else{a=o;var c=o.split(`>`),l=c[0],u=c[1];l=String.fromCodePoint(n+=parseInt(l,36)),u=String.fromCodePoint(n+=parseInt(u,36)),r.set(l,u),t&&i.set(u,l)}}),{map:r,reverseMap:i}}var h,g,_;function v(){if(!h){var e=m(p.pairs,!0),t=e.map,n=e.reverseMap;h=t,g=n,_=m(p.canonical,!1).map}}function y(e){return v(),h.get(e)||null}function b(e){return v(),g.get(e)||null}function x(e){return v(),_.get(e)||null}var S=n.L,C=n.R,w=n.EN,T=n.ES,E=n.ET,D=n.AN,O=n.CS,k=n.B,A=n.S,j=n.ON,M=n.BN,N=n.NSM,P=n.AL,F=n.LRO,I=n.RLO,L=n.LRE,R=n.RLE,z=n.PDF,B=n.LRI,V=n.RLI,H=n.FSI,U=n.PDI;function W(e,t){for(var n=125,r=new Uint32Array(e.length),l=0;l<e.length;l++)r[l]=d(e[l]);var u=new Map;function f(e,t){var n=r[e];r[e]=t,u.set(n,u.get(n)-1),n&o&&u.set(o,u.get(o)-1),u.set(t,(u.get(t)||0)+1),t&o&&u.set(o,(u.get(o)||0)+1)}for(var p=new Uint8Array(e.length),m=new Map,h=[],g=null,_=0;_<e.length;_++)g||h.push(g={start:_,end:e.length-1,level:t===`rtl`?1:t===`ltr`?0:Vt(_,!1)}),r[_]&k&&(g.end=_,g=null);for(var v=R|L|I|F|i|U|z|k,W=function(e){return e+(e&1?1:2)},G=function(e){return e+(e&1?2:1)},K=0;K<h.length;K++){g=h[K];var q=[{_level:g.level,_override:0,_isolate:0}],J=void 0,Y=0,X=0,Z=0;u.clear();for(var ee=g.start;ee<=g.end;ee++){var te=r[ee];if(J=q[q.length-1],u.set(te,(u.get(te)||0)+1),te&o&&u.set(o,(u.get(o)||0)+1),te&v){if(te&(R|L)){p[ee]=J._level;var ne=(te===R?G:W)(J._level);ne<=n&&!Y&&!X?q.push({_level:ne,_override:0,_isolate:0}):Y||X++}else if(te&(I|F)){p[ee]=J._level;var re=(te===I?G:W)(J._level);re<=n&&!Y&&!X?q.push({_level:re,_override:te&I?C:S,_isolate:0}):Y||X++}else if(te&i){te&H&&(te=Vt(ee+1,!0)===1?V:B),p[ee]=J._level,J._override&&f(ee,J._override);var Q=(te===V?G:W)(J._level);Q<=n&&Y===0&&X===0?(Z++,q.push({_level:Q,_override:0,_isolate:1,_isolInitIndex:ee})):Y++}else if(te&U){if(Y>0)Y--;else if(Z>0){for(X=0;!q[q.length-1]._isolate;)q.pop();var ie=q[q.length-1]._isolInitIndex;ie!=null&&(m.set(ie,ee),m.set(ee,ie)),q.pop(),Z--}J=q[q.length-1],p[ee]=J._level,J._override&&f(ee,J._override)}else te&z?(Y===0&&(X>0?X--:!J._isolate&&q.length>1&&(q.pop(),J=q[q.length-1])),p[ee]=J._level):te&k&&(p[ee]=g.level)}else p[ee]=J._level,J._override&&te!==M&&f(ee,J._override)}for(var ae=[],oe=null,se=g.start;se<=g.end;se++){var ce=r[se];if(!(ce&s)){var le=p[se],ue=ce&i,de=ce===U;oe&&le===oe._level?(oe._end=se,oe._endsWithIsolInit=ue):ae.push(oe={_start:se,_end:se,_level:le,_startsWithPDI:de,_endsWithIsolInit:ue})}}for(var fe=[],pe=0;pe<ae.length;pe++){var me=ae[pe];if(!me._startsWithPDI||me._startsWithPDI&&!m.has(me._start)){for(var he=[oe=me],ge=void 0;oe&&oe._endsWithIsolInit&&(ge=m.get(oe._end))!=null;)for(var _e=pe+1;_e<ae.length;_e++)if(ae[_e]._start===ge){he.push(oe=ae[_e]);break}for(var ve=[],ye=0;ye<he.length;ye++)for(var be=he[ye],xe=be._start;xe<=be._end;xe++)ve.push(xe);for(var Se=p[ve[0]],Ce=g.level,we=ve[0]-1;we>=0;we--)if(!(r[we]&s)){Ce=p[we];break}var Te=ve[ve.length-1],Ee=p[Te],De=g.level;if(!(r[Te]&i)){for(var Oe=Te+1;Oe<=g.end;Oe++)if(!(r[Oe]&s)){De=p[Oe];break}}fe.push({_seqIndices:ve,_sosType:Math.max(Ce,Se)%2?C:S,_eosType:Math.max(De,Ee)%2?C:S})}}for(var ke=0;ke<fe.length;ke++){var Ae=fe[ke],je=Ae._seqIndices,Me=Ae._sosType,Ne=Ae._eosType,Pe=p[je[0]]&1?C:S;if(u.get(N))for(var Fe=0;Fe<je.length;Fe++){var Ie=je[Fe];if(r[Ie]&N){for(var Le=Me,Re=Fe-1;Re>=0;Re--)if(!(r[je[Re]]&s)){Le=r[je[Re]];break}f(Ie,Le&(i|U)?j:Le)}}if(u.get(w))for(var ze=0;ze<je.length;ze++){var Be=je[ze];if(r[Be]&w)for(var Ve=ze-1;Ve>=-1;Ve--){var He=Ve===-1?Me:r[je[Ve]];if(He&a){He===P&&f(Be,D);break}}}if(u.get(P))for(var Ue=0;Ue<je.length;Ue++){var We=je[Ue];r[We]&P&&f(We,C)}if(u.get(T)||u.get(O))for(var Ge=1;Ge<je.length-1;Ge++){var Ke=je[Ge];if(r[Ke]&(T|O)){for(var qe=0,Je=0,Ye=Ge-1;Ye>=0&&(qe=r[je[Ye]],qe&s);Ye--);for(var Xe=Ge+1;Xe<je.length&&(Je=r[je[Xe]],Je&s);Xe++);qe===Je&&(r[Ke]===T?qe===w:qe&(w|D))&&f(Ke,qe)}}if(u.get(w)){for(var Ze=0;Ze<je.length;Ze++)if(r[je[Ze]]&w){for(var Qe=Ze-1;Qe>=0&&r[je[Qe]]&(E|s);Qe--)f(je[Qe],w);for(Ze++;Ze<je.length&&r[je[Ze]]&(E|s|w);Ze++)r[je[Ze]]!==w&&f(je[Ze],w)}}if(u.get(E)||u.get(T)||u.get(O))for(var $e=0;$e<je.length;$e++){var et=je[$e];if(r[et]&(E|T|O)){f(et,j);for(var tt=$e-1;tt>=0&&r[je[tt]]&s;tt--)f(je[tt],j);for(var nt=$e+1;nt<je.length&&r[je[nt]]&s;nt++)f(je[nt],j)}}if(u.get(w))for(var rt=0,it=Me;rt<je.length;rt++){var at=je[rt],ot=r[at];ot&w?it===S&&f(at,S):ot&a&&(it=ot)}if(u.get(o)){for(var st=C|w|D,ct=st|S,lt=[],ut=[],dt=0;dt<je.length;dt++)if(r[je[dt]]&o){var ft=e[je[dt]],pt=void 0;if(y(ft)!==null){if(ut.length<63)ut.push({char:ft,seqIndex:dt});else break}else if((pt=b(ft))!==null)for(var mt=ut.length-1;mt>=0;mt--){var ht=ut[mt].char;if(ht===pt||ht===b(x(ft))||y(x(ht))===ft){lt.push([ut[mt].seqIndex,dt]),ut.length=mt;break}}}lt.sort(function(e,t){return e[0]-t[0]});for(var gt=0;gt<lt.length;gt++){for(var _t=lt[gt],vt=_t[0],yt=_t[1],bt=!1,xt=0,St=vt+1;St<yt;St++){var Ct=je[St];if(r[Ct]&ct){bt=!0;var wt=r[Ct]&st?C:S;if(wt===Pe){xt=wt;break}}}if(bt&&!xt){xt=Me;for(var Tt=vt-1;Tt>=0;Tt--){var Et=je[Tt];if(r[Et]&ct){var Dt=r[Et]&st?C:S;xt=Dt===Pe?Pe:Dt;break}}}if(xt){if(r[je[vt]]=r[je[yt]]=xt,xt!==Pe){for(var Ot=vt+1;Ot<je.length;Ot++)if(!(r[je[Ot]]&s)){d(e[je[Ot]])&N&&(r[je[Ot]]=xt);break}}if(xt!==Pe){for(var kt=yt+1;kt<je.length;kt++)if(!(r[je[kt]]&s)){d(e[je[kt]])&N&&(r[je[kt]]=xt);break}}}}for(var At=0;At<je.length;At++)if(r[je[At]]&o){for(var jt=At,$=At,Mt=Me,Nt=At-1;Nt>=0;Nt--)if(r[je[Nt]]&s)jt=Nt;else{Mt=r[je[Nt]]&st?C:S;break}for(var Pt=Ne,Ft=At+1;Ft<je.length;Ft++)if(r[je[Ft]]&(o|s))$=Ft;else{Pt=r[je[Ft]]&st?C:S;break}for(var It=jt;It<=$;It++)r[je[It]]=Mt===Pt?Mt:Pe;At=$}}}for(var Lt=g.start;Lt<=g.end;Lt++){var Rt=p[Lt],zt=r[Lt];if(Rt&1?zt&(S|w|D)&&p[Lt]++:zt&C?p[Lt]++:zt&(D|w)&&(p[Lt]+=2),zt&s&&(p[Lt]=Lt===0?g.level:p[Lt-1]),Lt===g.end||d(e[Lt])&(A|k))for(var Bt=Lt;Bt>=0&&d(e[Bt])&c;Bt--)p[Bt]=g.level}}return{levels:p,paragraphs:h};function Vt(t,n){for(var a=t;a<e.length;a++){var o=r[a];if(o&(C|P))return 1;if(o&(k|S)||n&&o===U)return 0;if(o&i){var s=Ht(a);a=s===-1?e.length:s}}return 0}function Ht(t){for(var n=1,a=t+1;a<e.length;a++){var o=r[a];if(o&k)break;if(o&U){if(--n===0)return a}else o&i&&n++}return-1}}var G=`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`,K;function q(){if(!K){var e=m(G,!0),t=e.map;e.reverseMap.forEach(function(e,n){t.set(n,e)}),K=t}}function J(e){return q(),K.get(e)||null}function Y(e,t,n,r){var i=e.length;n=Math.max(0,n==null?0:+n),r=Math.min(i-1,r==null?i-1:+r);for(var a=new Map,o=n;o<=r;o++)if(t[o]&1){var s=J(e[o]);s!==null&&a.set(o,s)}return a}function X(e,t,n,r){var i=e.length;n=Math.max(0,n==null?0:+n),r=Math.min(i-1,r==null?i-1:+r);var a=[];return t.paragraphs.forEach(function(i){var o=Math.max(n,i.start),s=Math.min(r,i.end);if(o<s){for(var l=t.levels.slice(o,s+1),u=s;u>=o&&d(e[u])&c;u--)l[u]=i.level;for(var f=i.level,p=1/0,m=0;m<l.length;m++){var h=l[m];h>f&&(f=h),h<p&&(p=h|1)}for(var g=f;g>=p;g--)for(var _=0;_<l.length;_++)if(l[_]>=g){for(var v=_;_+1<l.length&&l[_+1]>=g;)_++;_>v&&a.push([v+o,_+o])}}}),a}function Z(e,t,n,r){var i=ee(e,t,n,r),a=[].concat(e);return i.forEach(function(n,r){a[r]=(t.levels[n]&1?J(e[n]):null)||e[n]}),a.join(``)}function ee(e,t,n,r){for(var i=X(e,t,n,r),a=[],o=0;o<e.length;o++)a[o]=o;return i.forEach(function(e){for(var t=e[0],n=e[1],r=a.slice(t,n+1),i=r.length;i--;)a[n-i]=r[i]}),a}return e.closingToOpeningBracket=b,e.getBidiCharType=d,e.getBidiCharTypeName=f,e.getCanonicalBracket=x,e.getEmbeddingLevels=W,e.getMirroredCharacter=J,e.getMirroredCharactersMap=Y,e.getReorderSegments=X,e.getReorderedIndices=ee,e.getReorderedString=Z,e.openingToClosingBracket=y,Object.defineProperty(e,"__esModule",{value:!0}),e})({})}function Sj(e,t,n,r){let i=[],a=n;for(let o of rj(e.slice(n,r)))i.push({index:a,text:o,level:t[a]}),a+=o.length;return i}function Cj(e,t){let n=!0;for(let r=e.length-1;r>=0;r--){let i=VU.getBidiCharTypeName(e[r].text[0]);WU.has(i)?(e[r].level=t,n=!0):n&&UU.has(i)?e[r].level=t:n=!1}}function wj(e,t){let n=t,r=1/0;for(let{level:t}of e)t>n&&(n=t),(t|1)<r&&(r=t|1);let i=e.slice();for(let e=n;e>=r;e--)for(let t=0;t<i.length;t++){if(i[t].level<e)continue;let n=t;for(;n+1<i.length&&i[n+1].level>=e;)n++;for(let e=t,r=n;e<r;e++,r--)[i[e],i[r]]=[i[r],i[e]];t=n}return i}function Tj(e){return e.level%2==0?e.text:VU.getMirroredCharacter(e.text)??e.text}function Ej(e,t){return e.find(e=>t>=e.start&&t<=e.end)?.level??0}function Dj(e,t,n,r,i){let a=Sj(e,t,r,i);Cj(a,n);let o=``,s=[];for(let e of wj(a,n)){if(HU.test(e.text))continue;let t=Tj(e);o+=t,s.push(...Array(t.length).fill(e.index))}return{text:o,sourceIndices:s}}function Oj(e,t){let n=t.filter(t=>t>0&&t<e.length),r=[...new Set([0,...n,e.length])].sort((e,t)=>e-t),i=[];for(let e=0;e+1<r.length;e++)i.push([r[e],r[e+1]]);return i}function kj(e,t){let{levels:n,paragraphs:r}=VU.getEmbeddingLevels(e);return Oj(e,t.concat(r.map(e=>e.start))).map(([t,i])=>Dj(e,n,Ej(r,t),t,i))}function Aj(e,t){return kj(e,t).map(e=>e.text)}function jj(e,t,n){return kj(e,n).map(e=>[e.text,e.sourceIndices.map(e=>t[e]??0)])}function Mj(e,t,n){let r=n.buf,i,a;if(a=r[n.pos++],i=(a&112)>>4,a<128||(a=r[n.pos++],i|=(a&127)<<3,a<128)||(a=r[n.pos++],i|=(a&127)<<10,a<128)||(a=r[n.pos++],i|=(a&127)<<17,a<128)||(a=r[n.pos++],i|=(a&127)<<24,a<128)||(a=r[n.pos++],i|=(a&1)<<31,a<128))return Nj(e,i,t);throw Error(`Expected varint not more than 10 bytes`)}function Nj(e,t,n){return n?t*4294967296+(e>>>0):(t>>>0)*4294967296+(e>>>0)}function Pj(e,t,n){let r=``,i=t;for(;i<n;){let t=e[i],a=null,o=t>239?4:t>223?3:t>191?2:1;if(i+o>n)break;let s,c,l;o===1?t<128&&(a=t):o===2?(s=e[i+1],(s&192)==128&&(a=(t&31)<<6|s&63,a<=127&&(a=null))):o===3?(s=e[i+1],c=e[i+2],(s&192)==128&&(c&192)==128&&(a=(t&15)<<12|(s&63)<<6|c&63,(a<=2047||a>=55296&&a<=57343)&&(a=null))):o===4&&(s=e[i+1],c=e[i+2],l=e[i+3],(s&192)==128&&(c&192)==128&&(l&192)==128&&(a=(t&15)<<18|(s&63)<<12|(c&63)<<6|l&63,(a<=65535||a>=1114112)&&(a=null))),a===null?(a=65533,o=1):a>65535&&(a-=65536,r+=String.fromCharCode(a>>>10&1023|55296),a=56320|a&1023),r+=String.fromCharCode(a),i+=o}return r}function Fj(e,t,n){e===1&&n.readMessage(Ij,t)}function Ij(e,t,n){if(e===3){let{id:e,bitmap:r,width:i,height:a,left:o,top:s,advance:c}=n.readMessage(Lj,{});t.push({id:e,bitmap:new UV({width:i+6,height:a+6},r),metrics:{width:i,height:a,left:o,top:s,advance:c}})}}function Lj(e,t,n){e===1?t.id=n.readVarint():e===2?t.bitmap=n.readBytes():e===3?t.width=n.readVarint():e===4?t.height=n.readVarint():e===5?t.left=n.readSVarint():e===6?t.top=n.readSVarint():e===7&&(t.advance=n.readVarint())}function Rj(e){return new qU(e).readFields(Fj,[])}function zj(e){return typeof e?.renderWithWebGL==`function`}function Bj(e){let{userImage:t}=e;return!(t!=null&&t.render)||!t.render()?!1:(zj(t.data)||e.data.replace(new Uint8Array(t.data.buffer)),!0)}function Vj(e){let t=0,n=0;for(let r of e)t+=r.w*r.h,n=Math.max(n,r.w);e.sort((e,t)=>t.h-e.h);let r=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(t/.95)),n),h:1/0}],i=0,a=0;for(let t of e)for(let e=r.length-1;e>=0;e--){let n=r[e];if(!(t.w>n.w||t.h>n.h)){if(t.x=n.x,t.y=n.y,a=Math.max(a,t.y+t.h),i=Math.max(i,t.x+t.w),t.w===n.w&&t.h===n.h){let t=r.pop();t&&e<r.length&&(r[e]=t)}else t.h===n.h?(n.x+=t.w,n.w-=t.w):t.w===n.w?(n.y+=t.h,n.h-=t.h):(r.push({x:n.x+t.w,y:n.y,w:n.w-t.w,h:t.h}),n.y+=t.h,n.h-=t.h);break}}return{w:i,h:a,fill:t/(i*a)||0}}function Hj(e){for(let t of e)if(t.positionedGlyphs.length!==0)return!1;return!0}function Uj(e,t){let n=[],r=0;for(let i of t)n.push(e.substring(r,i)),r=i;return r<e.length()&&n.push(e.substring(r,e.length())),n}function Wj(e){let t=[],n=0;for(;n<e.length;){if(!ZU.test(e[n])){t.push(n),n++;continue}let r=n;for(;r<e.length&&ZU.test(e[r]);)r++;let i=e[r];if(i!==void 0&&fj(i.codePointAt(0))){t.push(r);for(let e=r-1;e>=n;e--)t.push(e);n=r+1}else{for(let e=n;e<r;e++)t.push(e);n=r}}return t}function Gj(e){let t=[],n=0;for(let r of e.graphemes())t.push(...Array(r.length).fill(e.sectionIndex[n])),n++;return t}function Kj(e,t){let n=t.map(t=>e.toCodeUnitIndex(t)),r=DU.isParsed()?DU:null;if(e.sections.length===1)return r?r.processBidirectionalText(e.toString(),n).map(t=>Yj(t,e.sections,[...t].map(()=>0))):Aj(e.toString(),n).map(t=>qj([...t],e.sections,[...t].map(()=>0)));let i=Gj(e);return r?r.processStyledBidirectionalText(e.text,i,n).map(([t,n])=>Yj(t,e.sections,n)):jj(e.text,i,n).map(([t,n])=>{let r=[...t];return qj(r,e.sections,Jj(r).map(e=>n[e]??0))})}function qj(e,t,n){let r=new BU(e.join(``),t,[]),i=0;for(let e of r.graphemes())r.sectionIndex.push(n[i]??0),i+=[...e].length;return r}function Jj(e){let t=[],n=0;for(let r of e)t.push(n),n+=r.length;return t}function Yj(e,t,n){let r=[...e],i=Jj(r),a=Wj(r);return qj(a.map(e=>r[e]),t,a.map(e=>n[i[e]]??0))}function Xj(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m){let h=BU.fromFeature(e,i);d===2&&h.verticalizePunctuation();let g=h.determineLineBreaks(l,a,t,r,p),_=pj(h.text)?Kj(h,g):Uj(h,g),v=[],y={positionedLines:v,text:h.toString(),top:u[1],bottom:u[1],left:u[0],right:u[0],writingMode:d,iconsInText:!1,verticalizable:!1};return lM(y,t,n,r,_,o,s,c,d,l,f,m),!Hj(v)&&y}function Zj(e){let t=.5,n=.5;switch(e){case`right`:case`top-right`:case`bottom-right`:t=1;break;case`left`:case`top-left`:case`bottom-left`:t=0}switch(e){case`bottom`:case`bottom-right`:case`bottom-left`:n=1;break;case`top`:case`top-right`:case`top-left`:n=0}return{horizontalAlign:t,verticalAlign:n}}function Qj(e,t,n){let r=t.getMaxScale()*24,{maxImageWidth:i,maxImageHeight:a}=t.getMaxImageSize(e),o=Math.max(r,a*n);return{verticalLineContentWidth:Math.max(r,i*n),horizontalLineContentHeight:o}}function $j(e){switch(e){case`top`:return 0;case`center`:return .5;default:return 1}}function eM(e,t,n,r){if(e!=null&&e.rect)return e;let i=t[n.fontStack]?.[r];return i?{rect:null,metrics:i.metrics}:null}function tM(e,t,n){return!(e===1||!t&&!RA(n)||t&&(oj(n)||dj(n)))}function nM(e){return RegExp(`\\p{Nd}`,`u`).test(String.fromCodePoint(e))}function rM(e){return RegExp(`\\p{Lu}`,`u`).test(String.fromCodePoint(e))}function iM(e){return/[\p{P}\p{S}]/u.test(String.fromCodePoint(e))}function aM(e){let t=e.some(nM)&&e.every(e=>nM(e)||iM(e)),n=e.length<=3&&e.every(e=>rM(e)||nM(e));return t||n}function oM(e){return(nM(e)||rM(e))&&!dj(e)}function sM(e,t){let n=!1;for(let r=0;r<e.length;r++){if(t[r])continue;let i=LU[e[r]];i&&(r===0||t[r-1])&&(r===e.length-1||t[r+1])&&(e[r]=i,t[r]=!0,n=!0)}return n}function cM(e){let t=e.graphemes().slice(),n=t.map(e=>e.codePointAt(0)),r=n.map(RA),i=t=>!r[t]&&!oj(n[t])&&!(`imageName`in e.getSection(t));for(let e=0;e<n.length;e++){if(!i(e))continue;let t=e;for(;t+1<n.length&&i(t+1);)t++;if(aM(n.slice(e,t+1)))for(let i=e;i<=t;i++)r[i]=oM(n[i]);e=t}return sM(t,r)&&(e.text=t.join(``),e._graphemes=null),r}function lM(e,t,n,r,i,a,o,s,c,l,u,d){var f;let p=0,m=0,h=0,g=0,_=s===`right`?1:s===`left`?0:.5,v=24/d,y=0;for(let o of i){o.trim();let i=o.getMaxScale(),s={positionedGlyphs:[],lineOffset:0};e.positionedLines[y]=s;let d=s.positionedGlyphs,b=0;if(!o.length()){m+=a,++y;continue}let x=Qj(r,o,v),S=c===2&&!u?cM(o):null,C=o.graphemes();for(let a=0;a<C.length;a++){let s=o.getSection(a),h=C[a],g=h.codePointAt(0),_=S?S[a]:tM(c,u,g),y=`fontStack`in s&&aj(h)&&!((f=t[s.fontStack])!=null&&f[h])?[...h]:[h];for(let c of y){let u={glyph:c.codePointAt(0),grapheme:c,imageName:null,x:p,y:m+-17,vertical:_,scale:1,fontStack:``,sectionIndex:o.getSectionIndex(a),metrics:null,rect:null},f;if(`fontStack`in s){if(f=uM(s,c,_,x,t,n),!f)continue;u.fontStack=s.fontStack}else{if(e.iconsInText=!0,s.scale*=v,f=dM(s,_,i,x,r),!f)continue;b=Math.max(b,f.imageOffset),u.imageName=s.imageName}let{rect:h,metrics:g,baselineOffset:y}=f;if(u.y+=y,u.scale=s.scale,u.metrics=g,u.rect=h,d.push(u),!_)p+=g.advance*s.scale+l;else{e.verticalizable=!0;let t=`imageName`in s?g.advance:24;p+=t*s.scale+l}}}if(d.length!==0){let e=p-l;h=Math.max(e,h),fM(d,0,d.length-1,_)}p=0;let w=(i-1)*24;s.lineOffset=Math.max(b,w);let T=a*i+b;m+=T,g=Math.max(T,g),++y}let{horizontalAlign:b,verticalAlign:x}=Zj(o);pM(e.positionedLines,_,b,x,h,g,a,m,i.length),e.top+=-x*m,e.bottom=e.top+m,e.left+=-b*h,e.right=e.left+h}function uM(e,t,n,r,i,a){let o=eM(a[e.fontStack]?.[t],i,e,t);if(o===null)return null;let s;if(n)s=r.verticalLineContentWidth-e.scale*24;else{let t=$j(e.verticalAlign);s=(r.horizontalLineContentHeight-e.scale*24)*t}return{rect:o.rect,metrics:o.metrics,baselineOffset:s}}function dM(e,t,n,r,i){let a=i[e.imageName];if(!a)return null;let o=a.paddedRect,s=a.displaySize,c={width:s[0],height:s[1],left:1,top:-3,advance:t?s[1]:s[0]},l;if(t)l=r.verticalLineContentWidth-s[1]*e.scale;else{let t=$j(e.verticalAlign);l=(r.horizontalLineContentHeight-s[1]*e.scale)*t}let u=(t?s[0]:s[1])*e.scale-24*n;return{rect:o,metrics:c,baselineOffset:l,imageOffset:u}}function fM(e,t,n,r){if(r===0)return;let i=e[n],a=i.metrics.advance*i.scale,o=(e[n].x+a)*r;for(let r=t;r<=n;r++)e[r].x-=o}function pM(e,t,n,r,i,a,o,s,c){let l=(t-n)*i,u=0;u=a===o?-r*c*o+.5*o:-s*r- -17;for(let t of e)for(let e of t.positionedGlyphs)e.x+=l,e.y+=u}function mM(e,t,n){let{horizontalAlign:r,verticalAlign:i}=Zj(n),a=t[0],o=t[1],s=a-e.displaySize[0]*r,c=s+e.displaySize[0],l=o-e.displaySize[1]*i;return{image:e,top:l,bottom:l+e.displaySize[1],left:s,right:c}}function hM(e){let t=e.left,n=e.top,r=e.right-t,i=e.bottom-n,a=e.image.content[2]-e.image.content[0],o=e.image.content[3]-e.image.content[1],s=e.image.textFitWidth??`stretchOrShrink`,c=e.image.textFitHeight??`stretchOrShrink`,l=a/o;if(c===`proportional`){if(s===`stretchOnly`&&r/i<l||s===`proportional`){let e=Math.ceil(i*l);t*=e/r,r=e}}else if(s===`proportional`&&c===`stretchOnly`&&l!==0&&r/i>l){let e=Math.ceil(r/l);n*=e/i,i=e}return{x1:t,y1:n,x2:t+r,y2:n+i}}function gM(e,t,n,r,i,a){let o=e.image,s;if(o.content){let e=o.content,t=o.pixelRatio||1;s=[e[0]/t,e[1]/t,o.displaySize[0]-e[2]/t,o.displaySize[1]-e[3]/t]}let c=t.left*a,l=t.right*a,u,d,f,p;n===`width`||n===`both`?(p=i[0]+c-r[3],d=i[0]+l+r[1]):(p=i[0]+(c+l-o.displaySize[0])/2,d=p+o.displaySize[0]);let m=t.top*a,h=t.bottom*a;return n===`height`||n===`both`?(u=i[1]+m-r[0],f=i[1]+h+r[2]):(u=i[1]+(m+h-o.displaySize[1])/2,f=u+o.displaySize[1]),{image:o,top:u,right:d,bottom:f,left:p,collisionPadding:s}}function _M(e,t){let{expression:n}=t;if(n.kind===`constant`)return{kind:`constant`,layoutSize:n.evaluate(new wz(e+1))};if(n.kind===`source`)return{kind:`source`};if(n.kind===`composite`){let{minZoom:t,maxZoom:r}=vM(n.zoomStops,e);return{kind:`composite`,minZoom:t,maxZoom:r,interpolationType:n.interpolationType}}{let t=yM(n),r=n.evaluate(new wz(e+1));return{kind:`camera`,zoomStops:n.zoomStops,sizes:t,layoutSize:r,interpolationType:n.interpolationType}}}function vM(e,t){let n=0;for(;n<e.length&&e[n]<=t;)n++;n=Math.max(0,n-1);let r=n;for(;r<e.length&&e[r]<t+1;)r++;return r=Math.min(e.length-1,r),{minZoom:e[n],maxZoom:e[r]}}function yM(e){return e.zoomStops.map(t=>e.evaluate(new wz(t===-1/0?e.zoomStops[1]-1:t)))}function bM(e,{uSize:t,uSizeT:n},{lowerSize:r,upperSize:i}){return e.kind===`source`?r/128:e.kind===`composite`?CR.number(r/128,i/128,n):t}function xM(e,t){let n=0,r=0;return e.kind===`constant`?r=e.layoutSize:e.kind===`camera`?r=SM(e,t):e.kind===`composite`&&(n=CM(e,t)),{uSizeT:n,uSize:r}}function SM({zoomStops:e,sizes:t,layoutSize:n,interpolationType:r},i){let a=e.length-1;for(;a>0&&e[a]>i;)a--;let o=Math.min(a+1,e.length-1),s=r?_C(SR.interpolationFactor(r,i,e[a],e[o]),0,1):0;return Math.min(CR.number(t[a],t[o],s),n)}function CM({interpolationType:e,minZoom:t,maxZoom:n},r){return e?_C(SR.interpolationFactor(e,r,t,n),0,1):0}function wM(e,t,n,r,i){if(t.segment===void 0||n===0)return!0;let a=t,o=t.segment+1,s=0;for(;s>-n/2;){if(o--,o<0)return!1;s-=e[o].dist(a),a=e[o]}s+=e[o].dist(e[o+1]),o++;let c=[],l=0;for(;s<n/2;){let t=e[o-1],n=e[o],a=e[o+1];if(!a)return!1;let u=t.angleTo(n)-n.angleTo(a);for(u=Math.abs((u+3*Math.PI)%(Math.PI*2)-Math.PI),c.push({distance:s,angleDelta:u}),l+=u;s-c[0].distance>r;)l-=c.shift().angleDelta;if(l>i)return!1;o++,s+=n.dist(a)}return!0}function TM(e){let t=0;for(let n=0;n<e.length-1;n++)t+=e[n].dist(e[n+1]);return t}function EM(e,t,n){return e?3/5*t*n:0}function DM(e,t){return Math.max(e?e.right-e.left:0,t?t.right-t.left:0)}function OM(e,t,n,r,i,a){let o=EM(n,i,a),s=DM(n,r)*a,c=0,l=TM(e)/2;for(let n=0;n<e.length-1;n++){let r=e[n],i=e[n+1],a=r.dist(i);if(c+a>l){let u=(l-c)/a,d=new $U(CR.number(r.x,i.x,u),CR.number(r.y,i.y,u),i.angleTo(r),n);return d._round(),!o||wM(e,d,s,o,t)?d:void 0}c+=a}}function kM(e,t,n,r,i,a,o,s,c){let l=EM(r,a,o),u=DM(r,i),d=u*o,f=e[0].x===0||e[0].x===c||e[0].y===0||e[0].y===c;t-d<t/4&&(t=d+t/4);let p=a*2;return AM(e,f?t/2*s%t:(u/2+p)*o*s%t,t,l,n,d,f,!1,c)}function AM(e,t,n,r,i,a,o,s,c){let l=a/2,u=TM(e),d=0,f=t-n,p=[];for(let t=0;t<e.length-1;t++){let o=e[t],s=e[t+1],m=o.dist(s),h=s.angleTo(o);for(;f+n<d+m;){f+=n;let g=(f-d)/m,_=CR.number(o.x,s.x,g),v=CR.number(o.y,s.y,g);if(_>=0&&_<c&&v>=0&&v<c&&f-l>=0&&f+l<=u){let n=new $U(_,v,h,t);n._round(),(!r||wM(e,n,a,r,i))&&p.push(n)}}d+=m}return!s&&!p.length&&!o&&(p=AM(e,d/2,n,r,i,a,o,!0,c)),p}function jM(e,t,n,r,i){let a=[];for(let o of e){let e;for(let s=0;s<o.length-1;s++){let c=o[s],l=o[s+1];c.x<t&&l.x<t||(c.x<t?c=new Vx(t,c.y+(l.y-c.y)*((t-c.x)/(l.x-c.x)))._round():l.x<t&&(l=new Vx(t,c.y+(l.y-c.y)*((t-c.x)/(l.x-c.x)))._round()),!(c.y<n&&l.y<n)&&(c.y<n?c=new Vx(c.x+(l.x-c.x)*((n-c.y)/(l.y-c.y)),n)._round():l.y<n&&(l=new Vx(c.x+(l.x-c.x)*((n-c.y)/(l.y-c.y)),n)._round()),!(c.x>=r&&l.x>=r)&&(c.x>=r?c=new Vx(r,c.y+(l.y-c.y)*((r-c.x)/(l.x-c.x)))._round():l.x>=r&&(l=new Vx(r,c.y+(l.y-c.y)*((r-c.x)/(l.x-c.x)))._round()),!(c.y>=i&&l.y>=i)&&(c.y>=i?c=new Vx(c.x+(l.x-c.x)*((i-c.y)/(l.y-c.y)),i)._round():l.y>=i&&(l=new Vx(c.x+(l.x-c.x)*((i-c.y)/(l.y-c.y)),i)._round()),(!e||!c.equals(e[e.length-1]))&&(e=[c],a.push(e)),e.push(l)))))}}return a}function MM(e,t,n,r){let i=[],a=e.image,o=a.pixelRatio,s=a.paddedRect.w-2,c=a.paddedRect.h-2,l={x1:e.left,y1:e.top,x2:e.right,y2:e.bottom},u=a.stretchX||[[0,s]],d=a.stretchY||[[0,c]],f=(e,t)=>e+t[1]-t[0],p=u.reduce(f,0),m=d.reduce(f,0),h=s-p,g=c-m,_=0,v=p,y=0,b=m,x=0,S=h,C=0,w=g;if(a.content&&r){let t=a.content,n=t[2]-t[0],r=t[3]-t[1];(a.textFitWidth||a.textFitHeight)&&(l=hM(e)),_=NM(u,0,t[0]),y=NM(d,0,t[1]),v=NM(u,t[0],t[2]),b=NM(d,t[1],t[3]),x=t[0]-_,C=t[1]-y,S=n-v,w=r-b}let T=l.x1,E=l.y1,D=l.x2-T,O=l.y2-E,k=(e,r,i,s)=>{let c=FM(e.stretch-_,v,D,T),l=IM(e.fixed-x,S,e.stretch,p),u=FM(r.stretch-y,b,O,E),d=IM(r.fixed-C,w,r.stretch,m),f=FM(i.stretch-_,v,D,T),h=IM(i.fixed-x,S,i.stretch,p),g=FM(s.stretch-y,b,O,E),k=IM(s.fixed-C,w,s.stretch,m),A=new Vx(c,u),j=new Vx(f,u),M=new Vx(f,g),N=new Vx(c,g),P=new Vx(l/o,d/o),F=new Vx(h/o,k/o),I=t*Math.PI/180;if(I){let e=Math.sin(I),t=Math.cos(I),n=[t,-e,e,t];A._matMult(n),j._matMult(n),N._matMult(n),M._matMult(n)}let L=e.stretch+e.fixed,R=i.stretch+i.fixed,z=r.stretch+r.fixed,B=s.stretch+s.fixed;return{tl:A,tr:j,bl:N,br:M,tex:{x:a.paddedRect.x+1+L,y:a.paddedRect.y+1+z,w:R-L,h:B-z},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:P,pixelOffsetBR:F,minFontScaleX:S/o/D,minFontScaleY:w/o/O,isSDF:n}};if(!r||!a.stretchX&&!a.stretchY)i.push(k({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:s+1},{fixed:0,stretch:c+1}));else{let e=PM(u,h,p),t=PM(d,g,m);for(let n=0;n<e.length-1;n++){let r=e[n],a=e[n+1];for(let e=0;e<t.length-1;e++){let n=t[e],o=t[e+1];i.push(k(r,n,a,o))}}}return i}function NM(e,t,n){let r=0;for(let i of e)r+=Math.max(t,Math.min(n,i[1]))-Math.max(t,Math.min(n,i[0]));return r}function PM(e,t,n){let r=[{fixed:-1,stretch:0}];for(let[t,n]of e){let e=r[r.length-1];r.push({fixed:t-e.stretch,stretch:e.stretch}),r.push({fixed:t-e.stretch,stretch:e.stretch+(n-t)})}return r.push({fixed:t+1,stretch:n}),r}function FM(e,t,n,r){return e/t*n+r}function IM(e,t,n,r){return e-t*n/r}function LM(e,t,n,r,i,a,o,s){let c=r.layout.get(`text-rotate`).evaluate(a,{})*Math.PI/180,l=[];for(let e of t.positionedLines)for(let r of e.positionedGlyphs){if(!r.rect)continue;let a=r.rect||{},u=4,d=!0,f=1,p=0,m=(i||s)&&r.vertical,h=r.metrics.advance*r.scale/2;if(s&&t.verticalizable){let t=(r.scale-1)*24,n=(24-r.metrics.width*r.scale)/2;p=e.lineOffset/2-(r.imageName?-n:t)}if(r.imageName){let e=o[r.imageName];d=e.sdf,f=e.pixelRatio,u=1/f}let g=i?[r.x+h,r.y]:[0,0],_=i?[0,0]:[r.x+h+n[0],r.y+n[1]-p],v=[0,0];m&&(v=_,_=[0,0]);let y=r.metrics.isDoubleResolution?2:1,b=(r.metrics.left-u)*r.scale-h+_[0],x=(-r.metrics.top-u)*r.scale+_[1],S=b+a.w/y*r.scale/f,C=x+a.h/y*r.scale/f,w=new Vx(b,x),T=new Vx(S,x),E=new Vx(b,C),D=new Vx(S,C);if(m){let e=new Vx(-h,h- -17),t=-Math.PI/2,n=12-h,i=r.imageName?n:0,a=new Vx(22-n,-i),o=new Vx(...v);w._rotateAround(t,e)._add(a)._add(o),T._rotateAround(t,e)._add(a)._add(o),E._rotateAround(t,e)._add(a)._add(o),D._rotateAround(t,e)._add(a)._add(o)}if(c){let e=Math.sin(c),t=Math.cos(c),n=[t,-e,e,t];w._matMult(n),T._matMult(n),E._matMult(n),D._matMult(n)}let O=new Vx(0,0),k=new Vx(0,0);l.push({tl:w,tr:T,bl:E,br:D,tex:a,writingMode:t.writingMode,glyphOffset:g,sectionIndex:r.sectionIndex,isSDF:d,pixelOffsetTL:O,pixelOffsetBR:k,minFontScaleX:0,minFontScaleY:0})}return l}function RM(e,t=1){let n=RH.fromPoints(e[0]),r=Math.min(n.width(),n.height()),i=r/2,a=new tW([],zM),{minX:o,minY:s,maxX:c,maxY:l}=n;if(r===0)return new Vx(o,s);for(let t=o;t<c;t+=r)for(let n=s;n<l;n+=r)a.push(new nW(t+i,n+i,i,e));let u=VM(e),d=u;for(;a.length;){let n=a.pop();(n.d>d.d||!d.d)&&(d=n),!(n.max-d.d<=t)&&(i=n.h/2,a.push(new nW(n.p.x-i,n.p.y-i,i,e)),a.push(new nW(n.p.x+i,n.p.y-i,i,e)),a.push(new nW(n.p.x-i,n.p.y+i,i,e)),a.push(new nW(n.p.x+i,n.p.y+i,i,e)))}return u.d>0&&d.d-u.d<=t?u.p:d.p}function zM(e,t){return t.max-e.max}function BM(e,t){let n=!1,r=1/0;for(let i of t)for(let t=0,a=i.length,o=a-1;t<a;o=t++){let a=i[t],s=i[o];a.y>e.y!=s.y>e.y&&e.x<(s.x-a.x)*(e.y-a.y)/(s.y-a.y)+a.x&&(n=!n),r=Math.min(r,FO(e,a,s))}return(n?1:-1)*Math.sqrt(r)}function VM(e){let t=0,n=0,r=0,i=e[0];for(let e=0,a=i.length,o=a-1;e<a;o=e++){let a=i[e],s=i[o],c=a.x*s.y-s.x*a.y;n+=(a.x+s.x)*c,r+=(a.y+s.y)*c,t+=c*3}return new nW(n/t,r/t,0,e)}function HM(e,t){function n(e,t){let n=0,r=0;t<0&&(t=0);let i=t/Math.SQRT2;switch(e){case`top-right`:case`top-left`:r=i-7;break;case`bottom-right`:case`bottom-left`:r=-i+7;break;case`bottom`:r=-t+7;break;case`top`:r=t-7}switch(e){case`top-right`:case`bottom-right`:n=-i;break;case`top-left`:case`bottom-left`:n=i;break;case`left`:n=t;break;case`right`:n=-t}return[n,r]}function r(e,t,n){let r=0,i=0;switch(t=Math.abs(t),n=Math.abs(n),e){case`top-right`:case`top-left`:case`top`:i=n-7;break;case`bottom-right`:case`bottom-left`:case`bottom`:i=-n+7}switch(e){case`top-right`:case`bottom-right`:case`right`:r=-t;break;case`top-left`:case`bottom-left`:case`left`:r=t}return[r,i]}return t[1]===iW?n(e,t[0]):r(e,t[0],t[1])}function UM(e,t,n){let r=e.layout,i=r.get(`text-variable-anchor-offset`)?.evaluate(t,{},n);if(i){let e=i.values,t=[];for(let n=0;n<e.length;n+=2){let r=t[n]=e[n],i=e[n+1].map(e=>e*24);r.startsWith(`top`)?i[1]-=7:r.startsWith(`bottom`)&&(i[1]+=7),t[n+1]=i}return new mR(t)}let a=r.get(`text-variable-anchor`);if(a){let i;i=e._unevaluatedLayout.getValue(`text-radial-offset`)===void 0?r.get(`text-offset`).evaluate(t,{},n).map(e=>e*24):[r.get(`text-radial-offset`).evaluate(t,{},n)*24,iW];let o=[];for(let e of a)o.push(e,HM(e,i));return new mR(o)}return null}function WM(e){var t,n;e.bucket.createArrays();let r=512*e.bucket.overscaling;e.bucket.tilePixelRatio=aL/r,e.bucket.compareText={},e.bucket.iconsNeedLinear=!1;let i=e.bucket.layers[0],a=i.layout,o=i._unevaluatedLayout._values,s={layoutIconSize:o[`icon-size`].possiblyEvaluate(new wz(e.bucket.zoom+1),e.canonical),layoutTextSize:o[`text-size`].possiblyEvaluate(new wz(e.bucket.zoom+1),e.canonical),textMaxSize:o[`text-size`].possiblyEvaluate(new wz(18))};if(e.bucket.textSizeData.kind===`composite`){let{minZoom:t,maxZoom:n}=e.bucket.textSizeData;s.compositeTextSizes=[o[`text-size`].possiblyEvaluate(new wz(t),e.canonical),o[`text-size`].possiblyEvaluate(new wz(n),e.canonical)]}if(e.bucket.iconSizeData.kind===`composite`){let{minZoom:t,maxZoom:n}=e.bucket.iconSizeData;s.compositeIconSizes=[o[`icon-size`].possiblyEvaluate(new wz(t),e.canonical),o[`icon-size`].possiblyEvaluate(new wz(n),e.canonical)]}let c=a.get(`text-line-height`)*24,l=a.get(`text-rotation-alignment`)!==`viewport`&&a.get(`symbol-placement`)!==`point`,u=a.get(`text-keep-upright`),d=a.get(`text-size`);for(let r of e.bucket.features){let o=a.get(`text-font`).evaluate(r,{},e.canonical).join(`,`),f=d.evaluate(r,{},e.canonical),p=s.layoutTextSize.evaluate(r,{},e.canonical),m=s.layoutIconSize.evaluate(r,{},e.canonical),h={horizontal:{},vertical:void 0},g=r.text,_=[0,0];if(g){let t=g.toString(),n=a.get(`text-letter-spacing`).evaluate(r,{},e.canonical)*24,s=cj(t)?n:0,d=a.get(`text-anchor`).evaluate(r,{},e.canonical),m=UM(i,r,e.canonical);if(!m){let t=a.get(`text-radial-offset`).evaluate(r,{},e.canonical);_=t?HM(d,[t*24,iW]):a.get(`text-offset`).evaluate(r,{},e.canonical).map(e=>e*24)}let v=l?`center`:a.get(`text-justify`).evaluate(r,{},e.canonical),y=a.get(`symbol-placement`)===`point`?a.get(`text-max-width`).evaluate(r,{},e.canonical)*24:1/0,b=()=>{e.bucket.allowVerticalPlacement&&sj(t)&&(h.vertical=Xj(g,e.glyphMap,e.glyphPositions,e.imagePositions,o,y,c,d,`left`,s,_,2,!0,p,f))};if(!l&&m){let t=new Set;if(v===`auto`)for(let e=0;e<m.values.length;e+=2)t.add(GM(m.values[e]));else t.add(v);let n=!1;for(let r of t)if(!h.horizontal[r]){if(n)h.horizontal[r]=h.horizontal[0];else{let t=Xj(g,e.glyphMap,e.glyphPositions,e.imagePositions,o,y,c,`center`,r,s,_,1,!1,p,f);t&&(h.horizontal[r]=t,n=t.positionedLines.length===1)}}b()}else{v===`auto`&&(v=GM(d));let n=Xj(g,e.glyphMap,e.glyphPositions,e.imagePositions,o,y,c,d,v,s,_,1,!1,p,f);n&&(h.horizontal[v]=n),b(),sj(t)&&l&&u&&(h.vertical=Xj(g,e.glyphMap,e.glyphPositions,e.imagePositions,o,y,c,d,v,s,_,2,!1,p,f))}}let v,y=!1;if((t=r.icon)!=null&&t.name){let t=e.imageMap[r.icon.name];t&&(v=mM(e.imagePositions[r.icon.name],a.get(`icon-offset`).evaluate(r,{},e.canonical),a.get(`icon-anchor`).evaluate(r,{},e.canonical)),y=!!t.sdf,e.bucket.sdfIcons===void 0?e.bucket.sdfIcons=y:e.bucket.sdfIcons!==y&&jC(`Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer`),t.pixelRatio===e.bucket.pixelRatio?a.get(`icon-rotate`).constantOr(1)!==0&&(e.bucket.iconsNeedLinear=!0):e.bucket.iconsNeedLinear=!0)}let b=YM(h.horizontal)||h.vertical;(n=e.bucket).iconsInText||(n.iconsInText=b?b.iconsInText:!1),(b||v)&&KM(e.bucket,r,h,v,e.imageMap,s,p,m,_,y,e.canonical,e.subdivisionGranularity)}e.showCollisionBoxes&&e.bucket.generateCollisionDebugBuffers()}function GM(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 KM(e,t,n,r,i,a,o,s,c,l,u,d){let f=a.textMaxSize.evaluate(t,{});f===void 0&&(f=o);let p=e.layers[0].layout,m=p.get(`icon-offset`).evaluate(t,{},u),h=YM(n.horizontal),g=o/24,_=e.tilePixelRatio*g,v=e.tilePixelRatio*f/24,y=e.tilePixelRatio*s,b=e.tilePixelRatio*p.get(`symbol-spacing`),x=p.get(`text-padding`)*e.tilePixelRatio,S=rN(p,t,u,e.tilePixelRatio),C=p.get(`text-max-angle`)/180*Math.PI,w=p.get(`text-rotation-alignment`)!==`viewport`&&p.get(`symbol-placement`)!==`point`,T=p.get(`icon-rotation-alignment`).constantOr(`viewport`)===`map`&&p.get(`symbol-placement`)!==`point`,E=p.get(`symbol-placement`),D=b/2,O=p.get(`icon-text-fit`),k;r&&O!==`none`&&(e.allowVerticalPlacement&&n.vertical&&(k=gM(r,n.vertical,O,p.get(`icon-text-fit-padding`),m,g)),h&&(r=gM(r,h,O,p.get(`icon-text-fit-padding`),m,g)));let A=u?d.line.getGranularityForZoomLevel(u.z):1,j=(s,d)=>{d.x<0||d.x>=8192||d.y<0||d.y>=8192||XM(e,d,s,n,r,i,k,e.layers[0],e.collisionBoxArray,t.index,t.sourceLayerIndex,e.index,_,[x,x,x,x],w,c,y,S,T,m,t,a,l,u,o)};if(E===`line`)for(let i of jM(t.geometry,0,0,aL,aL)){let t=Gk(i,A),a=kM(t,b,C,n.vertical||h,r,24,v,e.overscaling,aL);for(let n of a){let r=h;(!r||!ZM(e,r.text,D,n))&&j(t,n)}}else if(E===`line-center`){for(let e of t.geometry)if(e.length>1){let t=Gk(e,A),i=OM(t,C,n.vertical||h,r,24,v);i&&j(t,i)}}else if(t.type===`Polygon`)for(let e of Uw(t.geometry,0)){let t=RM(e,16);j(Gk(e[0],A,!0),new $U(t.x,t.y,0))}else if(t.type===`LineString`)for(let e of t.geometry){let t=Gk(e,A);j(t,new $U(t[0].x,t[0].y,0))}else if(t.type===`Point`)for(let e of t.geometry)for(let t of e)j([t],new $U(t.x,t.y,0))}function qM(e,t){let n=e.length,r=t?.values;if(r?.length>0)for(let t=0;t<r.length;t+=2){let n=rW[r[t]],i=r[t+1];e.emplaceBack(n,i[0],i[1])}return[n,e.length]}function JM(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){let g=LM(t,n,s,i,a,o,r,e.allowVerticalPlacement),_=e.textSizeData,v=null;_.kind===`source`?(v=[128*i.layout.get(`text-size`).evaluate(o,{})],v[0]>32640&&jC(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)):_.kind===`composite`&&(v=[128*m.compositeTextSizes[0].evaluate(o,{},h),128*m.compositeTextSizes[1].evaluate(o,{},h)],(v[0]>32640||v[1]>32640)&&jC(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)),e.addSymbols(e.text,g,v,s,a,o,u,t,l.lineStartIndex,l.lineLength,p,h,c);for(let t of d)f[t]=e.text.placedSymbolArray.length-1;return g.length*4}function YM(e){for(let t in e)return e[t];return null}function XM(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w){let T=e.addToLineVertexArray(t,n),E=s.layout.get(`symbol-height-offset`).evaluate(b,{},C);E>e.maxHeightOffset&&(e.maxHeightOffset=E);let D,O,k,A,j=0,M=0,N=0,P=0,F=-1,I=-1,L={},R=(0,oV.default)(``);if(e.allowVerticalPlacement&&r.vertical){let e=s.layout.get(`text-rotate`).evaluate(b,{},C)+90,n=r.vertical;k=new eW(c,t,l,u,d,n,f,p,m,e),o&&(A=new eW(c,t,l,u,d,o,g,_,m,e))}if(i){let n=s.layout.get(`icon-rotate`).evaluate(b,{}),r=s.layout.get(`icon-text-fit`)!==`none`,a=MM(i,n,S,r),f=o?MM(o,n,S,r):void 0;O=new eW(c,t,l,u,d,i,g,_,!1,n),j=a.length*4;let p=e.iconSizeData,m=null;p.kind===`source`?(m=[128*s.layout.get(`icon-size`).evaluate(b,{})],m[0]>32640&&jC(`${e.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)):p.kind===`composite`&&(m=[128*x.compositeIconSizes[0].evaluate(b,{},C),128*x.compositeIconSizes[1].evaluate(b,{},C)],(m[0]>32640||m[1]>32640)&&jC(`${e.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)),e.addSymbols(e.icon,a,m,y,v,b,0,t,T.lineStartIndex,T.lineLength,-1,C,E),F=e.icon.placedSymbolArray.length-1,f&&(M=f.length*4,e.addSymbols(e.icon,f,m,y,v,b,2,t,T.lineStartIndex,T.lineLength,-1,C,E),I=e.icon.placedSymbolArray.length-1)}let z=Object.keys(r.horizontal);for(let n of z){let i=r.horizontal[n];D||=(R=(0,oV.default)(i.text),new eW(c,t,l,u,d,i,f,p,m,s.layout.get(`text-rotate`).evaluate(b,{},C)));let o=i.positionedLines.length===1;if(N+=JM(e,t,i,a,s,m,b,h,E,T,r.vertical?1:3,o?z:[n],L,F,x,C),o)break}r.vertical&&(P+=JM(e,t,r.vertical,a,s,m,b,h,E,T,2,[`vertical`],L,I,x,C));let B=D?D.boxStartIndex:e.collisionBoxArray.length,V=D?D.boxEndIndex:e.collisionBoxArray.length,H=k?k.boxStartIndex:e.collisionBoxArray.length,U=k?k.boxEndIndex:e.collisionBoxArray.length,W=O?O.boxStartIndex:e.collisionBoxArray.length,G=O?O.boxEndIndex:e.collisionBoxArray.length,K=A?A.boxStartIndex:e.collisionBoxArray.length,q=A?A.boxEndIndex:e.collisionBoxArray.length,J=-1,Y=(e,t)=>e!=null&&e.circleDiameter?Math.max(e.circleDiameter,t):t;J=Y(D,J),J=Y(k,J),J=Y(O,J),J=Y(A,J);let X=+(J>-1);X&&(J*=w/24),e.glyphOffsetArray.length>=e.maxGlyphs&&jC(`Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907`),b.sortKey!==void 0&&e.addToSortKeyRanges(e.symbolInstances.length,b.sortKey);let Z=UM(s,b,C),[ee,te]=qM(e.textAnchorOffsets,Z);e.symbolInstances.emplaceBack(t.x,t.y,L.right>=0?L.right:-1,L.center>=0?L.center:-1,L.left>=0?L.left:-1,L.vertical||-1,F,I,R,B,V,H,U,W,G,K,q,l,N,P,j,M,X,0,f,J,ee,te,E)}function ZM(e,t,n,r){let i=e.compareText;if(!(t in i))i[t]=[];else{let e=i[t];for(let t=e.length-1;t>=0;t--)if(r.dist(e[t])<n)return!0}return i[t].push(r),!1}function QM(e,t,n){let r=`never`,i=e.get(t);return i?r=i:e.get(n)&&(r=`always`),r}function $M(e,t,n,r,i,a,o,s,c,l,u,d,f,p){let m=s?Math.min(QU,Math.round(s[0])):0,h=s?Math.min(QU,Math.round(s[1])):0;e.emplaceBack(t,n,Math.round(r*32),Math.round(i*32),a,o,(m<<1)+ +!!c,h,l*16,u*16,d*256,f*256,p)}function eN(e,t,n){e.emplaceBack(t.x,t.y,n),e.emplaceBack(t.x,t.y,n),e.emplaceBack(t.x,t.y,n),e.emplaceBack(t.x,t.y,n)}function tN(e){for(let t of e.sections)if(pj(t.text))return!0;return!1}function nN(e,t){return t.replace(/{([^{}]+)}/g,(t,n)=>e&&n in e?String(e[n]):``)}function rN(e,t,n,r=1){let i=e.get(`icon-padding`).evaluate(t,{},n)?.values;return[i[0]*r,i[1]*r,i[2]*r,i[3]*r]}function iN(e){let t=[],n=e.id;return n===void 0&&t.push(new jL(`layers.${n}`,null,`missing required property "id"`)),e.render===void 0&&t.push(new jL(`layers.${n}`,null,`missing required method "render"`)),e.renderingMode&&e.renderingMode!==`2d`&&e.renderingMode!==`3d`&&t.push(new jL(`layers.${n}`,null,`property "renderingMode" must be either "2d" or "3d"`)),t}function aN(e,t){if(e.type===`custom`)return new CW(e,t);switch(e.type){case`background`:return new xW(e,t);case`circle`:return new RV(e,t);case`color-relief`:return new oH(e,t);case`fill`:return new PH(e,t);case`fill-extrusion`:return new nU(e,t);case`heatmap`:return new qV(e,t);case`hillshade`:return new QV(e,t);case`line`:return new xU(e,t);case`raster`:return new qz(e,t);case`symbol`:return new gW(e,t)}}function oN(e,t,n){return!(e<0||e>25||n<0||n>=2**e||t<0||t>=2**e)}function sN(e,t){let{x:n,y:r}=KH.fromLngLat(t);return!(e<0||e>25||r<0||r>=1||n<0||n>=1)}function cN(e,t,n,r,i){e*=2,e<0&&(e=e*-1-1);let a=1<<n;return(a*a*e+a*i+r).toString(36)+n.toString(36)+t.toString(36)}function lN(e,t,n){t=2**n-t-1;let r=uN(e*256,t*256,n),i=uN((e+1)*256,(t+1)*256,n);return`${r[0]},${r[1]},${i[0]},${i[1]}`}function uN(e,t,n){let r=2*AW/256/2**n;return[e*r-AW,t*r-AW]}function dN(e,t,n){let r=``;for(let i=e;i>0;i--){let e=1<<i-1;r+=(t&e?1:0)+(n&e?2:0)}return r}function fN(e,t){let n=Math.abs(e.wrap*2)-+(e.wrap<0),r=Math.abs(t.wrap*2)-+(t.wrap<0);return e.overscaledZ-t.overscaledZ||r-n||t.canonical.y-e.canonical.y||t.canonical.x-e.canonical.x}function pN(e,t){return e-e%t}function mN(e){return pN(e+31,32)}function hN(e){if(!Number.isFinite(e)||e<=0)return ZW;let t=pN(Math.floor(e),256);return t===0?256:t}function gN(e){let t=e>>>0;return((t&255)<<24|(t&65280)<<8|t>>>8&65280|t>>>24&255)>>>0}function _N(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0;n[i++]=a>>>0&3,n[i++]=a>>>2&3,n[i++]=a>>>4&3,n[i++]=a>>>6&3,n[i++]=a>>>8&3,n[i++]=a>>>10&3,n[i++]=a>>>12&3,n[i++]=a>>>14&3,n[i++]=a>>>16&3,n[i++]=a>>>18&3,n[i++]=a>>>20&3,n[i++]=a>>>22&3,n[i++]=a>>>24&3,n[i++]=a>>>26&3,n[i++]=a>>>28&3,n[i++]=a>>>30&3,n[i++]=o>>>0&3,n[i++]=o>>>2&3,n[i++]=o>>>4&3,n[i++]=o>>>6&3,n[i++]=o>>>8&3,n[i++]=o>>>10&3,n[i++]=o>>>12&3,n[i++]=o>>>14&3,n[i++]=o>>>16&3,n[i++]=o>>>18&3,n[i++]=o>>>20&3,n[i++]=o>>>22&3,n[i++]=o>>>24&3,n[i++]=o>>>26&3,n[i++]=o>>>28&3,n[i]=o>>>30&3}function vN(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0;n[i++]=a>>>0&7,n[i++]=a>>>3&7,n[i++]=a>>>6&7,n[i++]=a>>>9&7,n[i++]=a>>>12&7,n[i++]=a>>>15&7,n[i++]=a>>>18&7,n[i++]=a>>>21&7,n[i++]=a>>>24&7,n[i++]=a>>>27&7,n[i++]=(a>>>30|(o&1)<<2)&7,n[i++]=o>>>1&7,n[i++]=o>>>4&7,n[i++]=o>>>7&7,n[i++]=o>>>10&7,n[i++]=o>>>13&7,n[i++]=o>>>16&7,n[i++]=o>>>19&7,n[i++]=o>>>22&7,n[i++]=o>>>25&7,n[i++]=o>>>28&7,n[i++]=(o>>>31|(s&3)<<1)&7,n[i++]=s>>>2&7,n[i++]=s>>>5&7,n[i++]=s>>>8&7,n[i++]=s>>>11&7,n[i++]=s>>>14&7,n[i++]=s>>>17&7,n[i++]=s>>>20&7,n[i++]=s>>>23&7,n[i++]=s>>>26&7,n[i]=s>>>29&7}function yN(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0;n[i++]=a>>>0&15,n[i++]=a>>>4&15,n[i++]=a>>>8&15,n[i++]=a>>>12&15,n[i++]=a>>>16&15,n[i++]=a>>>20&15,n[i++]=a>>>24&15,n[i++]=a>>>28&15,n[i++]=o>>>0&15,n[i++]=o>>>4&15,n[i++]=o>>>8&15,n[i++]=o>>>12&15,n[i++]=o>>>16&15,n[i++]=o>>>20&15,n[i++]=o>>>24&15,n[i++]=o>>>28&15,n[i++]=s>>>0&15,n[i++]=s>>>4&15,n[i++]=s>>>8&15,n[i++]=s>>>12&15,n[i++]=s>>>16&15,n[i++]=s>>>20&15,n[i++]=s>>>24&15,n[i++]=s>>>28&15,n[i++]=c>>>0&15,n[i++]=c>>>4&15,n[i++]=c>>>8&15,n[i++]=c>>>12&15,n[i++]=c>>>16&15,n[i++]=c>>>20&15,n[i++]=c>>>24&15,n[i]=c>>>28&15}function bN(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0;n[i++]=a>>>0&31,n[i++]=a>>>5&31,n[i++]=a>>>10&31,n[i++]=a>>>15&31,n[i++]=a>>>20&31,n[i++]=a>>>25&31,n[i++]=(a>>>30|(o&7)<<2)&31,n[i++]=o>>>3&31,n[i++]=o>>>8&31,n[i++]=o>>>13&31,n[i++]=o>>>18&31,n[i++]=o>>>23&31,n[i++]=(o>>>28|(s&1)<<4)&31,n[i++]=s>>>1&31,n[i++]=s>>>6&31,n[i++]=s>>>11&31,n[i++]=s>>>16&31,n[i++]=s>>>21&31,n[i++]=s>>>26&31,n[i++]=(s>>>31|(c&15)<<1)&31,n[i++]=c>>>4&31,n[i++]=c>>>9&31,n[i++]=c>>>14&31,n[i++]=c>>>19&31,n[i++]=c>>>24&31,n[i++]=(c>>>29|(l&3)<<3)&31,n[i++]=l>>>2&31,n[i++]=l>>>7&31,n[i++]=l>>>12&31,n[i++]=l>>>17&31,n[i++]=l>>>22&31,n[i]=l>>>27&31}function xN(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0;n[i++]=a>>>0&63,n[i++]=a>>>6&63,n[i++]=a>>>12&63,n[i++]=a>>>18&63,n[i++]=a>>>24&63,n[i++]=(a>>>30|(o&15)<<2)&63,n[i++]=o>>>4&63,n[i++]=o>>>10&63,n[i++]=o>>>16&63,n[i++]=o>>>22&63,n[i++]=(o>>>28|(s&3)<<4)&63,n[i++]=s>>>2&63,n[i++]=s>>>8&63,n[i++]=s>>>14&63,n[i++]=s>>>20&63,n[i++]=s>>>26&63,n[i++]=c>>>0&63,n[i++]=c>>>6&63,n[i++]=c>>>12&63,n[i++]=c>>>18&63,n[i++]=c>>>24&63,n[i++]=(c>>>30|(l&15)<<2)&63,n[i++]=l>>>4&63,n[i++]=l>>>10&63,n[i++]=l>>>16&63,n[i++]=l>>>22&63,n[i++]=(l>>>28|(u&3)<<4)&63,n[i++]=u>>>2&63,n[i++]=u>>>8&63,n[i++]=u>>>14&63,n[i++]=u>>>20&63,n[i]=u>>>26&63}function SN(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0;n[i++]=a>>>0&127,n[i++]=a>>>7&127,n[i++]=a>>>14&127,n[i++]=a>>>21&127,n[i++]=(a>>>28|(o&7)<<4)&127,n[i++]=o>>>3&127,n[i++]=o>>>10&127,n[i++]=o>>>17&127,n[i++]=o>>>24&127,n[i++]=(o>>>31|(s&63)<<1)&127,n[i++]=s>>>6&127,n[i++]=s>>>13&127,n[i++]=s>>>20&127,n[i++]=(s>>>27|(c&3)<<5)&127,n[i++]=c>>>2&127,n[i++]=c>>>9&127,n[i++]=c>>>16&127,n[i++]=c>>>23&127,n[i++]=(c>>>30|(l&31)<<2)&127,n[i++]=l>>>5&127,n[i++]=l>>>12&127,n[i++]=l>>>19&127,n[i++]=(l>>>26|(u&1)<<6)&127,n[i++]=u>>>1&127,n[i++]=u>>>8&127,n[i++]=u>>>15&127,n[i++]=u>>>22&127,n[i++]=(u>>>29|(d&15)<<3)&127,n[i++]=d>>>4&127,n[i++]=d>>>11&127,n[i++]=d>>>18&127,n[i]=d>>>25&127}function CN(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,f=e[t+7]>>>0;n[i++]=a>>>0&255,n[i++]=a>>>8&255,n[i++]=a>>>16&255,n[i++]=a>>>24&255,n[i++]=o>>>0&255,n[i++]=o>>>8&255,n[i++]=o>>>16&255,n[i++]=o>>>24&255,n[i++]=s>>>0&255,n[i++]=s>>>8&255,n[i++]=s>>>16&255,n[i++]=s>>>24&255,n[i++]=c>>>0&255,n[i++]=c>>>8&255,n[i++]=c>>>16&255,n[i++]=c>>>24&255,n[i++]=l>>>0&255,n[i++]=l>>>8&255,n[i++]=l>>>16&255,n[i++]=l>>>24&255,n[i++]=u>>>0&255,n[i++]=u>>>8&255,n[i++]=u>>>16&255,n[i++]=u>>>24&255,n[i++]=d>>>0&255,n[i++]=d>>>8&255,n[i++]=d>>>16&255,n[i++]=d>>>24&255,n[i++]=f>>>0&255,n[i++]=f>>>8&255,n[i++]=f>>>16&255,n[i]=f>>>24&255}function wN(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,f=e[t+7]>>>0,p=e[t+8]>>>0;n[i++]=a>>>0&511,n[i++]=a>>>9&511,n[i++]=a>>>18&511,n[i++]=(a>>>27|(o&15)<<5)&511,n[i++]=o>>>4&511,n[i++]=o>>>13&511,n[i++]=o>>>22&511,n[i++]=(o>>>31|(s&255)<<1)&511,n[i++]=s>>>8&511,n[i++]=s>>>17&511,n[i++]=(s>>>26|(c&7)<<6)&511,n[i++]=c>>>3&511,n[i++]=c>>>12&511,n[i++]=c>>>21&511,n[i++]=(c>>>30|(l&127)<<2)&511,n[i++]=l>>>7&511,n[i++]=l>>>16&511,n[i++]=(l>>>25|(u&3)<<7)&511,n[i++]=u>>>2&511,n[i++]=u>>>11&511,n[i++]=u>>>20&511,n[i++]=(u>>>29|(d&63)<<3)&511,n[i++]=d>>>6&511,n[i++]=d>>>15&511,n[i++]=(d>>>24|(f&1)<<8)&511,n[i++]=f>>>1&511,n[i++]=f>>>10&511,n[i++]=f>>>19&511,n[i++]=(f>>>28|(p&31)<<4)&511,n[i++]=p>>>5&511,n[i++]=p>>>14&511,n[i]=p>>>23&511}function TN(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,f=e[t+7]>>>0,p=e[t+8]>>>0,m=e[t+9]>>>0;n[i++]=a>>>0&1023,n[i++]=a>>>10&1023,n[i++]=a>>>20&1023,n[i++]=(a>>>30|(o&255)<<2)&1023,n[i++]=o>>>8&1023,n[i++]=o>>>18&1023,n[i++]=(o>>>28|(s&63)<<4)&1023,n[i++]=s>>>6&1023,n[i++]=s>>>16&1023,n[i++]=(s>>>26|(c&15)<<6)&1023,n[i++]=c>>>4&1023,n[i++]=c>>>14&1023,n[i++]=(c>>>24|(l&3)<<8)&1023,n[i++]=l>>>2&1023,n[i++]=l>>>12&1023,n[i++]=l>>>22&1023,n[i++]=u>>>0&1023,n[i++]=u>>>10&1023,n[i++]=u>>>20&1023,n[i++]=(u>>>30|(d&255)<<2)&1023,n[i++]=d>>>8&1023,n[i++]=d>>>18&1023,n[i++]=(d>>>28|(f&63)<<4)&1023,n[i++]=f>>>6&1023,n[i++]=f>>>16&1023,n[i++]=(f>>>26|(p&15)<<6)&1023,n[i++]=p>>>4&1023,n[i++]=p>>>14&1023,n[i++]=(p>>>24|(m&3)<<8)&1023,n[i++]=m>>>2&1023,n[i++]=m>>>12&1023,n[i]=m>>>22&1023}function EN(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,f=e[t+7]>>>0,p=e[t+8]>>>0,m=e[t+9]>>>0,h=e[t+10]>>>0;n[i++]=a>>>0&2047,n[i++]=a>>>11&2047,n[i++]=(a>>>22|(o&1)<<10)&2047,n[i++]=o>>>1&2047,n[i++]=o>>>12&2047,n[i++]=(o>>>23|(s&3)<<9)&2047,n[i++]=s>>>2&2047,n[i++]=s>>>13&2047,n[i++]=(s>>>24|(c&7)<<8)&2047,n[i++]=c>>>3&2047,n[i++]=c>>>14&2047,n[i++]=(c>>>25|(l&15)<<7)&2047,n[i++]=l>>>4&2047,n[i++]=l>>>15&2047,n[i++]=(l>>>26|(u&31)<<6)&2047,n[i++]=u>>>5&2047,n[i++]=u>>>16&2047,n[i++]=(u>>>27|(d&63)<<5)&2047,n[i++]=d>>>6&2047,n[i++]=d>>>17&2047,n[i++]=(d>>>28|(f&127)<<4)&2047,n[i++]=f>>>7&2047,n[i++]=f>>>18&2047,n[i++]=(f>>>29|(p&255)<<3)&2047,n[i++]=p>>>8&2047,n[i++]=p>>>19&2047,n[i++]=(p>>>30|(m&511)<<2)&2047,n[i++]=m>>>9&2047,n[i++]=m>>>20&2047,n[i++]=(m>>>31|(h&1023)<<1)&2047,n[i++]=h>>>10&2047,n[i]=h>>>21&2047}function DN(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,f=e[t+7]>>>0,p=e[t+8]>>>0,m=e[t+9]>>>0,h=e[t+10]>>>0,g=e[t+11]>>>0;n[i++]=a>>>0&4095,n[i++]=a>>>12&4095,n[i++]=(a>>>24|(o&15)<<8)&4095,n[i++]=o>>>4&4095,n[i++]=o>>>16&4095,n[i++]=(o>>>28|(s&255)<<4)&4095,n[i++]=s>>>8&4095,n[i++]=s>>>20&4095,n[i++]=c>>>0&4095,n[i++]=c>>>12&4095,n[i++]=(c>>>24|(l&15)<<8)&4095,n[i++]=l>>>4&4095,n[i++]=l>>>16&4095,n[i++]=(l>>>28|(u&255)<<4)&4095,n[i++]=u>>>8&4095,n[i++]=u>>>20&4095,n[i++]=d>>>0&4095,n[i++]=d>>>12&4095,n[i++]=(d>>>24|(f&15)<<8)&4095,n[i++]=f>>>4&4095,n[i++]=f>>>16&4095,n[i++]=(f>>>28|(p&255)<<4)&4095,n[i++]=p>>>8&4095,n[i++]=p>>>20&4095,n[i++]=m>>>0&4095,n[i++]=m>>>12&4095,n[i++]=(m>>>24|(h&15)<<8)&4095,n[i++]=h>>>4&4095,n[i++]=h>>>16&4095,n[i++]=(h>>>28|(g&255)<<4)&4095,n[i++]=g>>>8&4095,n[i]=g>>>20&4095}function ON(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,f=e[t+7]>>>0,p=e[t+8]>>>0,m=e[t+9]>>>0,h=e[t+10]>>>0,g=e[t+11]>>>0,_=e[t+12]>>>0,v=e[t+13]>>>0,y=e[t+14]>>>0,b=e[t+15]>>>0;n[i++]=a>>>0&65535,n[i++]=a>>>16&65535,n[i++]=o>>>0&65535,n[i++]=o>>>16&65535,n[i++]=s>>>0&65535,n[i++]=s>>>16&65535,n[i++]=c>>>0&65535,n[i++]=c>>>16&65535,n[i++]=l>>>0&65535,n[i++]=l>>>16&65535,n[i++]=u>>>0&65535,n[i++]=u>>>16&65535,n[i++]=d>>>0&65535,n[i++]=d>>>16&65535,n[i++]=f>>>0&65535,n[i++]=f>>>16&65535,n[i++]=p>>>0&65535,n[i++]=p>>>16&65535,n[i++]=m>>>0&65535,n[i++]=m>>>16&65535,n[i++]=h>>>0&65535,n[i++]=h>>>16&65535,n[i++]=g>>>0&65535,n[i++]=g>>>16&65535,n[i++]=_>>>0&65535,n[i++]=_>>>16&65535,n[i++]=v>>>0&65535,n[i++]=v>>>16&65535,n[i++]=y>>>0&65535,n[i++]=y>>>16&65535,n[i++]=b>>>0&65535,n[i]=b>>>16&65535}function kN(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0;n[i++]=t>>>0&1,n[i++]=t>>>1&1,n[i++]=t>>>2&1,n[i++]=t>>>3&1,n[i++]=t>>>4&1,n[i++]=t>>>5&1,n[i++]=t>>>6&1,n[i++]=t>>>7&1,n[i++]=t>>>8&1,n[i++]=t>>>9&1,n[i++]=t>>>10&1,n[i++]=t>>>11&1,n[i++]=t>>>12&1,n[i++]=t>>>13&1,n[i++]=t>>>14&1,n[i++]=t>>>15&1,n[i++]=t>>>16&1,n[i++]=t>>>17&1,n[i++]=t>>>18&1,n[i++]=t>>>19&1,n[i++]=t>>>20&1,n[i++]=t>>>21&1,n[i++]=t>>>22&1,n[i++]=t>>>23&1,n[i++]=t>>>24&1,n[i++]=t>>>25&1,n[i++]=t>>>26&1,n[i++]=t>>>27&1,n[i++]=t>>>28&1,n[i++]=t>>>29&1,n[i++]=t>>>30&1,n[i++]=t>>>31&1}}function AN(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0;n[i++]=t>>>0&3,n[i++]=t>>>2&3,n[i++]=t>>>4&3,n[i++]=t>>>6&3,n[i++]=t>>>8&3,n[i++]=t>>>10&3,n[i++]=t>>>12&3,n[i++]=t>>>14&3,n[i++]=t>>>16&3,n[i++]=t>>>18&3,n[i++]=t>>>20&3,n[i++]=t>>>22&3,n[i++]=t>>>24&3,n[i++]=t>>>26&3,n[i++]=t>>>28&3,n[i++]=t>>>30&3,n[i++]=r>>>0&3,n[i++]=r>>>2&3,n[i++]=r>>>4&3,n[i++]=r>>>6&3,n[i++]=r>>>8&3,n[i++]=r>>>10&3,n[i++]=r>>>12&3,n[i++]=r>>>14&3,n[i++]=r>>>16&3,n[i++]=r>>>18&3,n[i++]=r>>>20&3,n[i++]=r>>>22&3,n[i++]=r>>>24&3,n[i++]=r>>>26&3,n[i++]=r>>>28&3,n[i++]=r>>>30&3}}function jN(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0,o=e[a++]>>>0;n[i++]=t>>>0&7,n[i++]=t>>>3&7,n[i++]=t>>>6&7,n[i++]=t>>>9&7,n[i++]=t>>>12&7,n[i++]=t>>>15&7,n[i++]=t>>>18&7,n[i++]=t>>>21&7,n[i++]=t>>>24&7,n[i++]=t>>>27&7,n[i++]=(t>>>30|(r&1)<<2)&7,n[i++]=r>>>1&7,n[i++]=r>>>4&7,n[i++]=r>>>7&7,n[i++]=r>>>10&7,n[i++]=r>>>13&7,n[i++]=r>>>16&7,n[i++]=r>>>19&7,n[i++]=r>>>22&7,n[i++]=r>>>25&7,n[i++]=r>>>28&7,n[i++]=(r>>>31|(o&3)<<1)&7,n[i++]=o>>>2&7,n[i++]=o>>>5&7,n[i++]=o>>>8&7,n[i++]=o>>>11&7,n[i++]=o>>>14&7,n[i++]=o>>>17&7,n[i++]=o>>>20&7,n[i++]=o>>>23&7,n[i++]=o>>>26&7,n[i++]=o>>>29&7}}function MN(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0,o=e[a++]>>>0,s=e[a++]>>>0;n[i++]=t>>>0&15,n[i++]=t>>>4&15,n[i++]=t>>>8&15,n[i++]=t>>>12&15,n[i++]=t>>>16&15,n[i++]=t>>>20&15,n[i++]=t>>>24&15,n[i++]=t>>>28&15,n[i++]=r>>>0&15,n[i++]=r>>>4&15,n[i++]=r>>>8&15,n[i++]=r>>>12&15,n[i++]=r>>>16&15,n[i++]=r>>>20&15,n[i++]=r>>>24&15,n[i++]=r>>>28&15,n[i++]=o>>>0&15,n[i++]=o>>>4&15,n[i++]=o>>>8&15,n[i++]=o>>>12&15,n[i++]=o>>>16&15,n[i++]=o>>>20&15,n[i++]=o>>>24&15,n[i++]=o>>>28&15,n[i++]=s>>>0&15,n[i++]=s>>>4&15,n[i++]=s>>>8&15,n[i++]=s>>>12&15,n[i++]=s>>>16&15,n[i++]=s>>>20&15,n[i++]=s>>>24&15,n[i++]=s>>>28&15}}function NN(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0,o=e[a++]>>>0,s=e[a++]>>>0,c=e[a++]>>>0;n[i++]=t>>>0&31,n[i++]=t>>>5&31,n[i++]=t>>>10&31,n[i++]=t>>>15&31,n[i++]=t>>>20&31,n[i++]=t>>>25&31,n[i++]=(t>>>30|(r&7)<<2)&31,n[i++]=r>>>3&31,n[i++]=r>>>8&31,n[i++]=r>>>13&31,n[i++]=r>>>18&31,n[i++]=r>>>23&31,n[i++]=(r>>>28|(o&1)<<4)&31,n[i++]=o>>>1&31,n[i++]=o>>>6&31,n[i++]=o>>>11&31,n[i++]=o>>>16&31,n[i++]=o>>>21&31,n[i++]=o>>>26&31,n[i++]=(o>>>31|(s&15)<<1)&31,n[i++]=s>>>4&31,n[i++]=s>>>9&31,n[i++]=s>>>14&31,n[i++]=s>>>19&31,n[i++]=s>>>24&31,n[i++]=(s>>>29|(c&3)<<3)&31,n[i++]=c>>>2&31,n[i++]=c>>>7&31,n[i++]=c>>>12&31,n[i++]=c>>>17&31,n[i++]=c>>>22&31,n[i++]=c>>>27&31}}function PN(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0,o=e[a++]>>>0,s=e[a++]>>>0,c=e[a++]>>>0,l=e[a++]>>>0;n[i++]=t>>>0&63,n[i++]=t>>>6&63,n[i++]=t>>>12&63,n[i++]=t>>>18&63,n[i++]=t>>>24&63,n[i++]=(t>>>30|(r&15)<<2)&63,n[i++]=r>>>4&63,n[i++]=r>>>10&63,n[i++]=r>>>16&63,n[i++]=r>>>22&63,n[i++]=(r>>>28|(o&3)<<4)&63,n[i++]=o>>>2&63,n[i++]=o>>>8&63,n[i++]=o>>>14&63,n[i++]=o>>>20&63,n[i++]=o>>>26&63,n[i++]=s>>>0&63,n[i++]=s>>>6&63,n[i++]=s>>>12&63,n[i++]=s>>>18&63,n[i++]=s>>>24&63,n[i++]=(s>>>30|(c&15)<<2)&63,n[i++]=c>>>4&63,n[i++]=c>>>10&63,n[i++]=c>>>16&63,n[i++]=c>>>22&63,n[i++]=(c>>>28|(l&3)<<4)&63,n[i++]=l>>>2&63,n[i++]=l>>>8&63,n[i++]=l>>>14&63,n[i++]=l>>>20&63,n[i++]=l>>>26&63}}function FN(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0,o=e[a++]>>>0,s=e[a++]>>>0,c=e[a++]>>>0,l=e[a++]>>>0,u=e[a++]>>>0;n[i++]=t>>>0&127,n[i++]=t>>>7&127,n[i++]=t>>>14&127,n[i++]=t>>>21&127,n[i++]=(t>>>28|(r&7)<<4)&127,n[i++]=r>>>3&127,n[i++]=r>>>10&127,n[i++]=r>>>17&127,n[i++]=r>>>24&127,n[i++]=(r>>>31|(o&63)<<1)&127,n[i++]=o>>>6&127,n[i++]=o>>>13&127,n[i++]=o>>>20&127,n[i++]=(o>>>27|(s&3)<<5)&127,n[i++]=s>>>2&127,n[i++]=s>>>9&127,n[i++]=s>>>16&127,n[i++]=s>>>23&127,n[i++]=(s>>>30|(c&31)<<2)&127,n[i++]=c>>>5&127,n[i++]=c>>>12&127,n[i++]=c>>>19&127,n[i++]=(c>>>26|(l&1)<<6)&127,n[i++]=l>>>1&127,n[i++]=l>>>8&127,n[i++]=l>>>15&127,n[i++]=l>>>22&127,n[i++]=(l>>>29|(u&15)<<3)&127,n[i++]=u>>>4&127,n[i++]=u>>>11&127,n[i++]=u>>>18&127,n[i++]=u>>>25&127}}function IN(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0,o=e[a++]>>>0,s=e[a++]>>>0,c=e[a++]>>>0,l=e[a++]>>>0,u=e[a++]>>>0,d=e[a++]>>>0;n[i++]=t>>>0&255,n[i++]=t>>>8&255,n[i++]=t>>>16&255,n[i++]=t>>>24&255,n[i++]=r>>>0&255,n[i++]=r>>>8&255,n[i++]=r>>>16&255,n[i++]=r>>>24&255,n[i++]=o>>>0&255,n[i++]=o>>>8&255,n[i++]=o>>>16&255,n[i++]=o>>>24&255,n[i++]=s>>>0&255,n[i++]=s>>>8&255,n[i++]=s>>>16&255,n[i++]=s>>>24&255,n[i++]=c>>>0&255,n[i++]=c>>>8&255,n[i++]=c>>>16&255,n[i++]=c>>>24&255,n[i++]=l>>>0&255,n[i++]=l>>>8&255,n[i++]=l>>>16&255,n[i++]=l>>>24&255,n[i++]=u>>>0&255,n[i++]=u>>>8&255,n[i++]=u>>>16&255,n[i++]=u>>>24&255,n[i++]=d>>>0&255,n[i++]=d>>>8&255,n[i++]=d>>>16&255,n[i++]=d>>>24&255}}function LN(e,t,n,r){let i=r,a=t;for(let t=0;t<128;t++){let t=e[a++]>>>0;n[i++]=t&65535,n[i++]=t>>>16&65535}}function RN(e,t,n,r,i){let a=XW[i]>>>0,o=t,s=0,c=e[o]>>>0,l=r;for(let t=0;t<8;t++){for(let t=0;t<32;t++)if(s+i<=32){let r=c>>>s&a;n[l+t]=r|0,s+=i,s===32&&(s=0,o++,t!==31&&(c=e[o]>>>0))}else{let r=32-s,u=c>>>s;o++,c=e[o]>>>0;let d=i-r,f=-1>>>32-d>>>0,p=(u|(c&f)<<r)&a;n[l+t]=p|0,s=d}l+=32,s=0,t<7&&(c=e[o]>>>0)}}function zN(){let e=new Uint8Array($W);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 BN(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:zN()}}function VN(e,t){if(t<=e.encodedWords.length)return e.encodedWords;let n=new Uint32Array(Math.max(16,t*2));return e.encodedWords=n,n}function HN(e,t,n,r){r.byteContainer.length<n&&(r.byteContainer=new Uint8Array(n*2),r.byteContainerI32=void 0);let i=r.byteContainer,a=n>>>2;if(i.byteOffset&3)for(let n=0;n<a;n=n+1|0){let r=e[t+n|0]|0,a=n<<2;i[a]=r&255,i[a+1|0]=r>>>8&255,i[a+2|0]=r>>>16&255,i[a+3|0]=r>>>24&255}else{let n=r.byteContainerI32;(!n||n.buffer!==i.buffer||n.byteOffset!==i.byteOffset||n.length<a)&&(n=r.byteContainerI32=new Int32Array(i.buffer,i.byteOffset,i.byteLength>>>2)),n.set(e.subarray(t,t+a))}let o=n&3;if(o>0){let n=e[t+a|0]|0,r=a<<2;for(let e=0;e<o;e=e+1|0)i[r+e|0]=n>>>(e<<3)&255}return i}function UN(e,t,n){let r=e[t++]|0,i=n.dataToBePacked;for(let a=2;a<=32;a=a+1|0){if(!(r>>>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 o=e[t++]>>>0,s=mN(o),c=o*a+31>>>5;if(t+c>e.length)throw Error(`FastPFOR decode: truncated exception stream (bitWidth=${a}, size=${o}, streamWordIndex=${t}, needWords=${c}, availableWords=${e.length-t}, encodedWords=${e.length})`);let l=i[a];(!l||l.length<s)&&(l=i[a]=new Uint32Array(s));let u=0;for(;u<o;u=u+32|0)$N(e,t,l,u,a),t=t+a|0;let d=u-o|0;t=t-(d*a>>>5)|0,n.exceptionSizes[a]=o}return t}function WN(e,t,n,r,i){switch(i){case 1:kN(e,t,n,r);break;case 2:AN(e,t,n,r);break;case 3:jN(e,t,n,r);break;case 4:MN(e,t,n,r);break;case 5:NN(e,t,n,r);break;case 6:PN(e,t,n,r);break;case 7:FN(e,t,n,r);break;case 8:IN(e,t,n,r);break;case 16:LN(e,t,n,r);break;default:RN(e,t,n,r,i)}return t+(i<<3)|0}function GN(e,t,n,r){if(n+2>t)throw Error(`FastPFOR decode: byteContainer underflow at block=${r} (need 2 bytes for [bitWidth, exceptionCount], bytePos=${n}, byteSize=${t})`);let i=e[n++],a=e[n++];if(i>32)throw Error(`FastPFOR decode: invalid bitWidth=${i} at block=${r} (expected 0..32). This likely indicates corrupted or truncated input.`);return{bitWidth:i,exceptionCount:a,bytePosIn:n}}function KN(e,t,n,r,i,a){if(n+1>t)throw Error(`FastPFOR decode: exception header underflow at block=${a} (need 1 byte for maxBits, bytePos=${n}, byteSize=${t})`);let o=e[n++];if(o<r||o>32)throw Error(`FastPFOR decode: invalid maxBits=${o} at block=${a} (bitWidth=${r}, expected ${r}..32)`);let s=o-r|0;if(s<1||s>32)throw Error(`FastPFOR decode: invalid exceptionBitWidth=${s} at block=${a} (bitWidth=${r}, maxBits=${o})`);if(n+i>t)throw Error(`FastPFOR decode: exception positions underflow at block=${a} (need=${i}, have=${t-n})`);return{maxBits:o,exceptionBitWidth:s,bytePosIn:n}}function qN(e,t,n,r,i,a,o,s,c){let{maxBits:l,exceptionBitWidth:u,bytePosIn:d}=KN(i,a,o,n,r,c);if(o=d,u===1){let a=1<<n;for(let n=0;n<r;n=n+1|0){let n=i[o++];e[n+t|0]|=a}return o}let f=s.dataToBePacked[u];if(!f)throw Error(`FastPFOR decode: missing exception stream for exceptionBitWidth=${u} (bitWidth=${n}, maxBits=${l}) at block ${c}`);let p=s.dataPointers,m=p[u]|0,h=s.exceptionSizes[u]|0;if(m+r>h)throw Error(`FastPFOR decode: exception stream overflow for exceptionBitWidth=${u} (ptr=${m}, need ${r}, size=${h}) at block ${c}`);for(let a=0;a<r;a=a+1|0){let r=i[o++],a=f[m++]|0;e[r+t|0]|=a<<n}return p[u]=m,o}function JN(e,t,n,r,i,a,o,s,c,l){let u=n|0,d=0;for(let t=0;t<o;t=t+1|0){let n=GN(s,c,d,t);d=n.bytePosIn;let r=n.bitWidth,o=n.exceptionCount,f=a+t*256|0;switch(r){case 0:i.fill(0,f,f+256);break;case 32:for(let t=0;t<256;t=t+1|0)i[f+t|0]=e[u+t|0]|0;u=u+256|0;break;default:u=WN(e,u,i,f,r)}o>0&&(d=qN(i,f,r,o,s,c,d,l,t))}if(u!==r)throw Error(`FastPFOR decode: packed region mismatch (pageStart=${t}, packedStart=${n}, consumedPackedEnd=${u}, expectedPackedEnd=${r}, packedWords=${r-n}, encoded.length=${e.length})`)}function YN(e,t,n,r,i,a){let o=n|0,s=e[o]|0;if(s<=0||o+s>e.length-1)throw Error(`FastPFOR decode: invalid whereMeta=${s} at pageStart=${o} (expected > 0 and pageStart+whereMeta < encoded.length=${e.length})`);let c=o+1|0,l=o+s|0,u=e[l]>>>0,d=u+3>>>2,f=l+1,p=f+d;if(p>=e.length)throw Error(`FastPFOR decode: invalid byteSize=${u} (metaInts=${d}, pageStart=${o}, packedEnd=${l}, byteContainerStart=${f}) causes bitmapPos=${p} out of bounds (encoded.length=${e.length})`);let m=HN(e,f,u,a),h=u,g=UN(e,p,a);return a.dataPointers.fill(0),JN(e,o,c,l,t,r|0,i/256|0,m,h,a),g}function XN(e,t,n,r,i,a){let o=r+pN(i,256),s=r,c=n;for(;s!==o;){let n=Math.min(QW,o-s);c=YN(e,t,c,s,n,a),s=s+n|0}return c}function ZN(e,t,n,r,i,a){if(a===0)return t;let o=0,s=t,c=t+n,l=i,u=i,d=i+a,f=0,p=0;for(;s<c&&u<d;){let t=e[s]>>>o&255;if(o+=8,s+=o>>>5,o&=31,f|=(t&127)<<p,t&128)r[u++]=f|0,f=0,p=0;else if(p+=7,p>28)throw Error(`FastPFOR VByte: unterminated value (expected MSB=1 terminator within 5 bytes; shift=${p}, partial=${f}, decoded=${u-l}/${a}, inPos=${s}, inEnd=${c})`)}if(u!==d)throw Error(`FastPFOR VByte: truncated stream (decoded=${u-l}, expected=${a}, consumedWords=${s-t}/${n}, vbyteStart=${t}, vbyteEnd=${c})`);return s}function QN(e,t,n){let r=0,i=0,a=new Uint32Array(t),o=n??zN();if(e.length>0){let t=e[r]|0;if(r=r+1|0,t&255)throw Error(`FastPFOR decode: invalid alignedLength=${t} (expected multiple of 256)`);if(i+t>a.length)throw Error(`FastPFOR decode: output buffer too small (outPos=${i}, alignedLength=${t}, out.length=${a.length})`);r=XN(e,a,r,i,t,o),i=i+t|0}let s=e.length-r|0,c=t-i|0;return ZN(e,r,s,a,i,c),a}function $N(e,t,n,r,i){switch(i){case 2:_N(e,t,n,r);return;case 3:vN(e,t,n,r);return;case 4:yN(e,t,n,r);return;case 5:bN(e,t,n,r);return;case 6:xN(e,t,n,r);return;case 7:SN(e,t,n,r);return;case 8:CN(e,t,n,r);return;case 9:wN(e,t,n,r);return;case 10:TN(e,t,n,r);return;case 11:EN(e,t,n,r);return;case 12:DN(e,t,n,r);return;case 16:ON(e,t,n,r);return;case 32:for(let i=0;i<32;i=i+1|0)n[r+i|0]=e[t+i|0]|0;return}let a=XW[i]>>>0,o=t,s=0,c=e[o]>>>0;for(let t=0;t<32;t++)if(s+i<=32){let l=c>>>s&a;n[r+t]=l|0,s+=i,s===32&&(s=0,o++,t!==31&&(c=e[o]>>>0))}else{let l=32-s,u=c>>>s;o++,c=e[o]>>>0;let d=XW[i-l]>>>0,f=(u|(c&d)<<l)&a;n[r+t]=f|0,s=i-l}}function eP(e,t,n,r){if(t<0||n<0||t+n>e.length)throw RangeError(`decodeBigEndianInt32sInto: out of bounds (offset=${t}, byteLength=${n}, bytes.length=${e.length})`);let i=Math.floor(n/4),a=n%4!=0,o=a?i+1:i;if(r.length<o)throw RangeError(`decodeBigEndianInt32sInto: out.length=${r.length} < ${o}`);if(i>0){let n=e.byteOffset+t;if(n&3)for(let n=0;n<i;n++){let i=t+n*4;r[n]=e[i]<<24|e[i+1]<<16|e[i+2]<<8|e[i+3]|0}else{let t=new Uint32Array(e.buffer,n,i);for(let e=0;e<i;e++)r[e]=gN(t[e])|0}}if(a){let a=t+i*4,o=n-i*4,s=0;for(let t=0;t<o;t++)s|=e[a+t]<<24-t*8;r[i]=s|0}return o}function tP(e,t,n){let r=new Uint32Array(n),i=0,a=t.get();for(let t=0;t<r.length;t++){let t=e[a++],n=t&127;if(t<128){r[i++]=n;continue}if(t=e[a++],n|=(t&127)<<7,t<128){r[i++]=n;continue}if(t=e[a++],n|=(t&127)<<14,t<128){r[i++]=n;continue}if(t=e[a++],n|=(t&127)<<21,t<128){r[i++]=n;continue}t=e[a++],n|=(t&15)<<28,r[i++]=n}return t.set(a),r}function nP(e,t,n){let r=new BigUint64Array(n);for(let n=0;n<r.length;n++)r[n]=rP(e,t);return r}function rP(e,t){let n=BigInt(0),r=0,i=t.get();for(;i<e.length;){let t=e[i++];if(n|=BigInt(t&127)<<BigInt(r),!(t&128))break;if(r+=7,r>=64)throw Error(`Varint too long`)}return t.set(i),n}function iP(e,t,n){let r=new Float64Array(n);for(let i=0;i<n;i++)r[i]=aP(e,t);return r}function aP(e,t){let n,r;return r=e[t.get()],t.increment(),n=r&127,r<128||(r=e[t.get()],t.increment(),n|=(r&127)<<7,r<128)||(r=e[t.get()],t.increment(),n|=(r&127)<<14,r<128)||(r=e[t.get()],t.increment(),n|=(r&127)<<21,r<128)?n:(r=e[t.get()],n|=(r&15)<<28,oP(n,e,t))}function oP(e,t,n){let r,i;if(i=t[n.get()],n.increment(),r=(i&112)>>4,i<128||(i=t[n.get()],n.increment(),r|=(i&127)<<3,i<128)||(i=t[n.get()],n.increment(),r|=(i&127)<<10,i<128)||(i=t[n.get()],n.increment(),r|=(i&127)<<17,i<128)||(i=t[n.get()],n.increment(),r|=(i&127)<<24,i<128)||(i=t[n.get()],n.increment(),r|=(i&1)<<31,i<128))return r*4294967296+(e>>>0);throw Error(`Expected varint not more than 10 bytes`)}function sP(e,t,n,r){return cP(e,t,n,r,BN(n>>>2))}function cP(e,t,n,r,i){let a=r.get();if(n&3)throw Error(`FastPFOR: invalid encodedByteLength=${n} at offset=${a} (encodedBytes.length=${e.length}; expected a multiple of 4 bytes for an int32 big-endian word stream)`);let o=n>>>2,s=VN(i,o);eP(e,a,n,s);let c=QN(s.subarray(0,o),t,i.decoderWorkspace);return r.add(n),c}function lP(e){return e>>>1^-(e&1)}function uP(e){return e>>BigInt(1)^-(e&BigInt(1))}function dP(e){return e%2==1?(e+1)/-2:e/2}function fP(e){let t=new Int32Array(e.length);for(let n=0;n<e.length;n++)t[n]=lP(e[n]);return t}function pP(e){let t=new BigInt64Array(e.length);for(let n=0;n<e.length;n++)t[n]=uP(e[n]);return t}function mP(e){for(let t=0;t<e.length;t++)e[t]=dP(e[t])}function hP(e,t,n){if(n===void 0){n=0;for(let r=0;r<t;r++)n+=e[r]}let r=new Uint32Array(n),i=0;for(let n=0;n<t;n++){let a=e[n],o=e[n+t];r.fill(o,i,i+a),i+=a}return r}function gP(e,t,n){if(n===void 0){n=0;for(let r=0;r<t;r++)n+=Number(e[r])}let r=new BigUint64Array(n),i=0;for(let n=0;n<t;n++){let a=Number(e[n]),o=e[n+t];r.fill(o,i,i+a),i+=a}return r}function _P(e,t,n){let r=new Float64Array(n),i=0;for(let n=0;n<t;n++){let a=e[n],o=e[n+t];r.fill(o,i,i+a),i+=a}return r}function vP(e){let t=new Int32Array(e.length);t[0]=lP(e[0]);let n=e.length/4*4,r=1;if(n>=4)for(;r<n-4;r+=4){let n=e[r],i=e[r+1],a=e[r+2],o=e[r+3];t[r]=lP(n)+t[r-1],t[r+1]=lP(i)+t[r],t[r+2]=lP(a)+t[r+1],t[r+3]=lP(o)+t[r+2]}for(;r!==e.length;++r)t[r]=lP(e[r])+t[r-1];return t}function yP(e){let t=new BigInt64Array(e.length);t[0]=uP(e[0]);let n=e.length/4*4,r=1;if(n>=4)for(;r<n-4;r+=4){let n=e[r],i=e[r+1],a=e[r+2],o=e[r+3];t[r]=uP(n)+t[r-1],t[r+1]=uP(i)+t[r],t[r+2]=uP(a)+t[r+1],t[r+3]=uP(o)+t[r+2]}for(;r!==t.length;++r)t[r]=uP(e[r])+t[r-1];return t}function bP(e){e[0]=dP(e[0]);let t=e.length/4*4,n=1;if(t>=4)for(;n<t-4;n+=4){let t=e[n],r=e[n+1],i=e[n+2],a=e[n+3];e[n]=dP(t)+e[n-1],e[n+1]=dP(r)+e[n],e[n+2]=dP(i)+e[n+1],e[n+3]=dP(a)+e[n+2]}for(;n!==e.length;++n)e[n]=dP(e[n])+e[n-1]}function xP(e,t,n){if(n===void 0){n=0;for(let r=0;r<t;r++)n+=e[r]}let r=new Int32Array(n),i=0;for(let n=0;n<t;n++){let a=e[n],o=e[n+t];o=lP(o),r.fill(o,i,i+a),i+=a}return r}function SP(e,t,n){if(n===void 0){n=0;for(let r=0;r<t;r++)n+=Number(e[r])}let r=new BigInt64Array(n),i=0;for(let n=0;n<t;n++){let a=Number(e[n]),o=e[n+t];o=uP(o),r.fill(o,i,i+a),i+=a}return r}function CP(e,t,n){let r=new Float64Array(n),i=0;for(let n=0;n<t;n++){let a=e[n],o=e[n+t];o=dP(o),r.fill(o,i,i+a),i+=a}return r}function wP(e){let t=e.length/4*4,n=1;if(t>=4)for(let r=e[0];n<t-4;n+=4)r=e[n]+=r,r=e[n+1]+=r,r=e[n+2]+=r,r=e[n+3]+=r;for(;n!==e.length;)e[n]+=e[n-1],++n}function TP(e){let t=0;for(let n=0;n<e.length;n++)e[n]+=t,t=e[n]}function EP(e){if(e.length<2)return new Int32Array(e);let t=new Int32Array(e.length);t[0]=lP(e[0]),t[1]=lP(e[1]);let n=e.length/4*4,r=2;if(n>=4)for(;r<n-4;r+=4){let n=e[r],i=e[r+1],a=e[r+2],o=e[r+3];t[r]=lP(n)+t[r-2],t[r+1]=lP(i)+t[r-1],t[r+2]=lP(a)+t[r],t[r+3]=lP(o)+t[r+1]}for(;r!==e.length;r+=2)t[r]=lP(e[r])+t[r-2],t[r+1]=lP(e[r+1])+t[r-1];return t}function DP(e,t,n,r){if(e.length<2)return new Int32Array(e);let i=new Int32Array(e.length),a=lP(e[0]),o=lP(e[1]);i[0]=OP(Math.round(a*t),n,r),i[1]=OP(Math.round(o*t),n,r);let s=e.length/16,c=2;if(s>=4)for(;c<s-4;c+=4){let s=e[c],l=e[c+1],u=lP(s)+a,d=lP(l)+o;i[c]=OP(Math.round(u*t),n,r),i[c+1]=OP(Math.round(d*t),n,r);let f=e[c+2],p=e[c+3];a=lP(f)+u,o=lP(p)+d,i[c+2]=OP(Math.round(a*t),n,r),i[c+3]=OP(Math.round(o*t),n,r)}for(;c!==e.length;c+=2)a+=lP(e[c]),o+=lP(e[c+1]),i[c]=OP(Math.round(a*t),n,r),i[c+1]=OP(Math.round(o*t),n,r);return i}function OP(e,t,n){return Math.min(n,Math.max(t,e))}function kP(e){let t=new Int32Array(e.length+1);t[0]=0,t[1]=lP(e[0]);let n=t[1];for(let r=2;r!==t.length;++r){let i=e[r-1],a=lP(i);n+=a,t[r]=t[r-1]+n}return new Uint32Array(t)}function AP(e,t,n){let r=new Int32Array(n+1);r[0]=0;let i=1,a=r[0];for(let n=0;n<t;n++){let o=e[n],s=e[n+t];s=lP(s);for(let e=i;e<i+o;e++)r[e]=s+a,a=r[e];i+=o}return r}function jP(e,t,n){let r=new Uint32Array(n+1);r[0]=0;let i=1,a=r[0];for(let n=0;n<t;n++){let o=e[n],s=e[n+t];for(let e=i;e<i+o;e++)r[e]=s+a,a=r[e];i+=o}return r}function MP(e,t,n){let r=new Int32Array(n),i=0,a=0;for(let n=0;n<t;n++){let o=e[n],s=e[n+t],c=lP(s);for(let e=0;e<o;e++)a+=c,r[i++]=a}return r}function NP(e,t,n){let r=new BigInt64Array(n),i=0,a=BigInt(0);for(let n=0;n<t;n++){let o=Number(e[n]),s=e[n+t],c=uP(s);for(let e=0;e<o;e++)a+=c,r[i++]=a}return r}function PP(e){let t=new Uint32Array(e.length);t[0]=lP(e[0])>>>0;for(let n=1;n<e.length;n++)t[n]=t[n-1]+lP(e[n])>>>0;return t}function FP(e){let t=new BigUint64Array(e.length);t[0]=BigInt.asUintN(64,uP(e[0]));for(let n=1;n<e.length;n++)t[n]=BigInt.asUintN(64,t[n-1]+uP(e[n]));return t}function IP(e){if(e.length<2)return new Uint32Array(e);let t=new Uint32Array(e.length);t[0]=lP(e[0])>>>0,t[1]=lP(e[1])>>>0;for(let n=2;n<e.length;n+=2)t[n]=t[n-2]+lP(e[n])>>>0,t[n+1]=t[n-1]+lP(e[n+1])>>>0;return t}function LP(e,t,n,r){let i=DP(e,t,n,r);return new Uint32Array(i)}function RP(e){return e[1]}function zP(e){return lP(e[1])}function BP(e){if(e.length===2){let t=lP(e[1]);return[t,t]}return[lP(e[2]),lP(e[3])]}function VP(e){return e[1]}function HP(e){return uP(e[1])}function UP(e){if(e.length===2){let t=uP(e[1]);return[t,t]}return[uP(e[2]),uP(e[3])]}function WP(e,t){let n=qP(e,t);return n.logicalLevelTechnique1===qW.MORTON?GP(n,e,t):(qW.RLE===n.logicalLevelTechnique1||qW.RLE===n.logicalLevelTechnique2)&&JW.NONE!==n.physicalLevelTechnique?KP(n,e,t):n}function GP(e,t,n){let r=tP(t,n,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:r[0],coordinateShift:r[1]}}function KP(e,t,n){let r=tP(t,n,2);return{physicalStreamType:e.physicalStreamType,logicalStreamType:e.logicalStreamType,logicalLevelTechnique1:e.logicalLevelTechnique1,logicalLevelTechnique2:e.logicalLevelTechnique2,physicalLevelTechnique:e.physicalLevelTechnique,numValues:e.numValues,byteLength:e.byteLength,decompressedCount:r[1],runs:r[0],numRleValues:r[1]}}function qP(e,t){let n=e[t.get()],r=iG[n>>4],i={};switch(r){case eG.DATA:i={dictionaryType:sG[n&15]};break;case eG.OFFSET:i={offsetType:cG[n&15]};break;case eG.LENGTH:i={lengthType:lG[n&15]}}t.increment();let a=e[t.get()],o=aG[a>>5],s=aG[a>>2&7],c=oG[a&3];t.increment();let l=tP(e,t,2),u=l[0],d=l[1];return{physicalStreamType:r,logicalStreamType:i,logicalLevelTechnique1:o,logicalLevelTechnique2:s,physicalLevelTechnique:c,numValues:u,byteLength:d,decompressedCount:u}}function JP(e,t,n){if(!t)return e;let r=t.size(),i=e.constructor,a=new i(r),o=0;for(let i=0;i<r;i++)a[i]=t.get(i)?e[o++]:n;return a}function YP(e,t,n){if(!n)return e;let r=n.size(),i=new dG(e,t),a=new dG(new Uint8Array(Math.ceil(r/8)),r),o=0;for(let e=0;e<r;e++){let t=n.get(e)?i.get(o++):!1;a.set(e,t)}return a.getBuffer()}function XP(e,t,n){for(let r=0;r<e;r++){let e=WP(t,n);n.add(e.byteLength)}}function ZP(e,t,n,r,i){let a=QP(e,Math.ceil(t/8),n,r);return i?YP(a,t,i):a}function QP(e,t,n,r){let i=new Uint8Array(t),a=0,o=r.get()+n;for(;a<t&&!(r.get()>=o);){let n=e[r.increment()];if(n<=127){let o=n+3,s=e[r.increment()],c=Math.min(a+o,t);i.fill(s,a,c),a=c}else{let o=256-n;for(let n=0;n<o&&a<t;n++)i[a++]=e[r.increment()]}}return r.set(o),i}function $P(e,t,n,r){let i=t.get(),a=i+n*Float32Array.BYTES_PER_ELEMENT,o=new Uint8Array(e.subarray(i,a)).buffer,s=new Float32Array(o);return t.set(a),r?JP(s,r,0):s}function eF(e,t,n,r){let i=t.get(),a=i+n*Float64Array.BYTES_PER_ELEMENT,o=new Uint8Array(e.subarray(i,a)).buffer,s=new Float64Array(o);return t.set(a),r?JP(s,r,0):s}function tF(e,t,n){let r=t.get(),i=n*Uint32Array.BYTES_PER_ELEMENT,a=new DataView(e.buffer,e.byteOffset,e.byteLength),o=new Uint32Array(n);for(let e=0;e<n;e++)o[e]=a.getUint32(r+e*Uint32Array.BYTES_PER_ELEMENT,!0);return t.add(i),o}function nF(e,t,n){let r=t.get(),i=n*BigUint64Array.BYTES_PER_ELEMENT,a=new DataView(e.buffer,e.byteOffset,e.byteLength),o=new BigUint64Array(n);for(let e=0;e<n;e++)o[e]=a.getBigUint64(r+e*BigUint64Array.BYTES_PER_ELEMENT,!0);return t.add(i),o}function rF(e,t,n){return n-t>=12?fG.decode(e.subarray(t,n)):iF(e,t,n)}function iF(e,t,n){let r=``,i=t;for(;i<n;){let t=e[i],a=null,o=t>239?4:t>223?3:t>191?2:1;if(i+o>n)break;let s,c,l;o===1?t<128&&(a=t):o===2?(s=e[i+1],(s&192)==128&&(a=(t&31)<<6|s&63,a<=127&&(a=null))):o===3?(s=e[i+1],c=e[i+2],(s&192)==128&&(c&192)==128&&(a=(t&15)<<12|(s&63)<<6|c&63,(a<=2047||a>=55296&&a<=57343)&&(a=null))):o===4&&(s=e[i+1],c=e[i+2],l=e[i+3],(s&192)==128&&(c&192)==128&&(l&192)==128&&(a=(t&15)<<18|(s&63)<<12|(c&63)<<6|l&63,(a<=65535||a>=1114112)&&(a=null))),a===null?(a=65533,o=1):a>65535&&(a-=65536,r+=String.fromCharCode(a>>>10&1023|55296),a=56320|a&1023),r+=String.fromCharCode(a),i+=o}return r}function aF(e,t,n,r,i){return bF(cF(e,t,n),n,r,i)}function oF(e,t,n,r,i){return xF(cF(e,t,n),n,r,i)}function sF(e,t,n){return TF(cF(e,t,n),n)}function cF(e,t,n){let r=n.physicalLevelTechnique;switch(r){case JW.FAST_PFOR:return sP(e,n.numValues,n.byteLength,t);case JW.VARINT:return tP(e,t,n.numValues);case JW.NONE:return tF(e,t,n.numValues);default:throw Error(`Specified physicalLevelTechnique ${r} is not supported (yet).`)}}function lF(e,t,n){let r=n.physicalLevelTechnique;switch(r){case JW.VARINT:return nP(e,t,n.numValues);case JW.NONE:return nF(e,t,n.numValues);default:throw Error(`Specified physicalLevelTechnique ${r} is not supported (yet).`)}}function uF(e,t,n){let r=cF(e,t,n);return r.length===1?lP(r[0]):zP(r)}function dF(e,t,n){let r=cF(e,t,n);return r.length===1?n.logicalLevelTechnique1===qW.DELTA?lP(r[0]):r[0]:RP(r)}function fF(e,t,n){return BP(cF(e,t,n))}function pF(e,t,n){return UP(nP(e,t,n.numValues))}function mF(e,t,n,r){return SF(lF(e,t,n),n,r)}function hF(e,t,n,r){return CF(lF(e,t,n),n,r)}function gF(e,t,n,r){let i=_F(e,t,n,!1);return r?JP(i,r,0):i}function _F(e,t,n,r){if(n.physicalLevelTechnique===JW.VARINT)return wF(iP(e,t,n.numValues),n,r);let i=lF(e,t,n),a=r?SF(i,n):CF(i,n);return Float64Array.from(a,Number)}function vF(e,t,n){let r=lF(e,t,n);return r.length===1?uP(r[0]):HP(r)}function yF(e,t,n){let r=lF(e,t,n);return r.length===1?n.logicalLevelTechnique1===qW.DELTA?uP(r[0]):r[0]:VP(r)}function bF(e,t,n,r){let i;switch(t.logicalLevelTechnique1){case qW.DELTA:if(t.logicalLevelTechnique2===qW.RLE){let n=t;if(!r)return MP(e,n.runs,n.numRleValues);e=hP(e,n.runs,n.numRleValues),i=vP(e)}else i=vP(e);break;case qW.RLE:i=xP(e,t.runs,t.numRleValues);break;case qW.MORTON:wP(e),i=new Int32Array(e);break;case qW.COMPONENTWISE_DELTA:if(n&&!r)return DP(e,n.scale,n.min,n.max);i=EP(e);break;case qW.NONE:i=fP(e);break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return r?JP(i,r,0):i}function xF(e,t,n,r){let i;switch(t.logicalLevelTechnique1){case qW.DELTA:if(t.logicalLevelTechnique2===qW.RLE){let n=t;i=PP(hP(e,n.runs,n.numRleValues))}else i=PP(e);break;case qW.RLE:i=hP(e,t.runs,t.numRleValues);break;case qW.MORTON:wP(e),i=e;break;case qW.COMPONENTWISE_DELTA:i=n&&!r?LP(e,n.scale,n.min,n.max):IP(e);break;case qW.NONE:i=e;break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return r?JP(i,r,0):i}function SF(e,t,n){let r;switch(t.logicalLevelTechnique1){case qW.DELTA:if(t.logicalLevelTechnique2===qW.RLE){let i=t;if(!n)return NP(e,i.runs,i.numRleValues);e=gP(e,i.runs,i.numRleValues),r=yP(e)}else r=yP(e);break;case qW.RLE:r=SP(e,t.runs,t.numRleValues);break;case qW.NONE:r=pP(e);break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return n?JP(r,n,BigInt(0)):r}function CF(e,t,n){let r;switch(t.logicalLevelTechnique1){case qW.DELTA:if(t.logicalLevelTechnique2===qW.RLE){let n=t;r=FP(gP(e,n.runs,n.numRleValues))}else r=FP(e);break;case qW.RLE:r=gP(e,t.runs,t.numRleValues);break;case qW.NONE:r=e;break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return n?JP(r,n,BigInt(0)):r}function wF(e,t,n){switch(t.logicalLevelTechnique1){case qW.DELTA:if(t.logicalLevelTechnique2===qW.RLE){let n=t;e=_P(e,n.runs,n.numRleValues)}return bP(e),e;case qW.RLE:return OF(e,t,n);case qW.NONE:return n&&mP(e),e;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}}function TF(e,t){if(t.logicalLevelTechnique1===qW.DELTA&&t.logicalLevelTechnique2===qW.NONE)return kP(e);if(t.logicalLevelTechnique1===qW.RLE&&t.logicalLevelTechnique2===qW.NONE){let n=t;return jP(e,n.runs,n.numRleValues)}if(t.logicalLevelTechnique1===qW.NONE&&t.logicalLevelTechnique2===qW.NONE){TP(e);let n=new Uint32Array(t.numValues+1);return n[0]=0,n.set(e,1),n}if(t.logicalLevelTechnique1===qW.DELTA&&t.logicalLevelTechnique2===qW.RLE){let n=t,r=AP(e,n.runs,n.numRleValues);return wP(r),new Uint32Array(r)}throw Error(`Only delta encoding is supported for transforming length to offset streams yet.`)}function EF(e,t,n,r,i=`int32`){let a=e.logicalLevelTechnique1;if(a===qW.RLE)return e.runs===1?uG.CONST:uG.FLAT;if(a!==qW.DELTA||e.logicalLevelTechnique2!==qW.RLE)return e.numValues===1?uG.CONST:uG.FLAT;let o=t instanceof dG?t.size():t,s=e;if(s.numRleValues!==o)return uG.FLAT;if(s.runs===1)return uG.SEQUENCE;if(s.runs!==2)return e.numValues===1?uG.CONST:uG.FLAT;let c=r.get();if(e.physicalLevelTechnique===JW.VARINT)return DF(n,r,i)?uG.SEQUENCE:e.numValues===1?uG.CONST:uG.FLAT;let l=r.get(),u=new Int32Array(n.buffer,n.byteOffset+l,4);return r.set(c),u[2]===2&&u[3]===2?uG.SEQUENCE:e.numValues===1?uG.CONST:uG.FLAT}function DF(e,t,n){let r=new KW(t.get());if(n===`int64`){let t=nP(e,r,4);return t[2]===BigInt(2)&&t[3]===BigInt(2)}let i=tP(e,r,4);return i[2]===2&&i[3]===2}function OF(e,t,n){return n?CP(e,t.runs,t.numRleValues):_P(e,t.runs,t.numRleValues)}function kF(e,t,n){return{x:AF(e,t)-n,y:AF(e>>1,t)-n}}function AF(e,t){let n=0;for(let r=0;r<t;r++)n|=(e&1<<2*r)>>r;return n}function jF(e){let t=Array(e.numGeometries),n=1,r=1,i=1,a=0,o=0,s=0,c=e.mortonSettings,l=e.topologyVector,u=l.geometryOffsets,d=l.partOffsets,f=l.ringOffsets,p=e.vertexOffsets,m=!p||p.length===0,h=e.containsPolygonGeometry(),g=e.vertexBuffer;for(let l=0;l<e.numGeometries;l++){let _=e.geometryType(l);switch(_){case hG.POINT:{let l,h;if(m)l=g[o++],h=g[o++];else if(e.vertexBufferType===_G.MORTON){let e=g[p[s++]],t=kF(e,c.numBits,c.coordinateShift);l=t.x,h=t.y}else{let e=p[s++]*2;l=g[e],h=g[e+1]}t[a++]=[[new Vx(l,h)]],u&&i++,d&&n++,f&&r++}break;case hG.MULTIPOINT:{let l=u[i]-u[i-1];i++;let d;if(m){d=Array(l);for(let e=0;e<l;e++){let t=g[o++],n=g[o++];d[e]=new Vx(t,n)}}else d=MF(e.vertexBufferType,g,p,s,l,!1,c),s+=l;t[a++]=d.map(e=>[e]),n+=l,r+=l}break;case hG.LINESTRING:{let l;h?(l=f[r]-f[r-1],r++):l=d[n]-d[n-1],n++;let _;m?(_=NF(g,o,l,!1),o+=l*2):(_=MF(e.vertexBufferType,g,p,s,l,!1,c),s+=l),t[a++]=[_],u&&i++}break;case hG.POLYGON:{let l=d[n]-d[n-1];n++;let h=Array(l-1),_,v=f[r]-f[r-1];if(r++,m){_=NF(g,o,v,!0),o+=v*2;for(let e=0;e<h.length;e++)v=f[r]-f[r-1],r++,h[e]=NF(g,o,v,!0),o+=v*2}else{_=MF(e.vertexBufferType,g,p,s,v,!0,c),s+=v;for(let t=0;t<h.length;t++)v=f[r]-f[r-1],r++,h[t]=MF(e.vertexBufferType,g,p,s,v,!0,c),s+=v}t[a++]=[_].concat(h),u&&i++}break;case hG.MULTILINESTRING:{let l=u[i]-u[i-1];i++;let _=Array(l);for(let t=0;t<l;t++){let i;if(h?(i=f[r]-f[r-1],r++):i=d[n]-d[n-1],n++,m)_[t]=NF(g,o,i,!1),o+=i*2;else{let n=MF(e.vertexBufferType,g,p,s,i,!1,c);_[t]=n,s+=i}}t[a++]=_}break;case hG.MULTIPOLYGON:{let l=u[i]-u[i-1];i++;let h=Array(l);for(let t=0;t<l;t++){let i=d[n]-d[n-1];n++;let a,l=Array(i-1),u=f[r]-f[r-1];r++,m?(a=NF(g,o,u,!0),o+=u*2):(a=MF(e.vertexBufferType,g,p,s,u,!0,c),s+=u);for(let t=0;t<l.length;t++){let n=f[r]-f[r-1];r++,m?(l[t]=NF(g,o,n,!0),o+=n*2):(l[t]=MF(e.vertexBufferType,g,p,s,n,!0,c),s+=n)}h[t]=[a].concat(l)}t[a++]=h.flat()}break;default:throw Error(`The specified geometry type (${_}) is currently not supported.`)}}return t}function MF(e,t,n,r,i,a,o){return e===_G.MORTON?FF(t,n,r,i,a,o):PF(t,n,r,i,a)}function NF(e,t,n,r){let i=Array(r?n+1:n);for(let r=0;r<n*2;r+=2){let n=e[t+r],a=e[t+r+1];i[r/2]=new Vx(n,a)}return r&&(i[i.length-1]=i[0]),i}function PF(e,t,n,r,i){let a=Array(i?r+1:r);for(let i=0;i<r*2;i+=2){let r=t[n+i/2]*2,o=e[r],s=e[r+1];a[i/2]=new Vx(o,s)}return i&&(a[a.length-1]=a[0]),a}function FF(e,t,n,r,i,a){let o=Array(i?r+1:r);for(let i=0;i<r;i++){let r=e[t[n+i]],s=kF(r,a.numBits,a.coordinateShift);o[i]=new Vx(s.x,s.y)}return i&&(o[o.length-1]=o[0]),o}function IF(e,t,n,r,i){return new yG(e,t,_G.VEC_2,n,r,i)}function LF(e,t,n,r,i,a){return new yG(e,t,_G.MORTON,n,r,i,a)}function RF(e,t,n,r){return new bG(_G.VEC_2,e,t,n,r)}function zF(e,t,n,r,i){return new bG(_G.MORTON,e,t,n,r,i)}function BF(e,t,n,r,i,a){return new SG(e,t,n,r,i,a)}function VF(e,t,n,r,i){return new CG(e,t,n,r,i)}function HF(e,t,n,r,i){let a=WP(e,n),o=EF(a,r,e,n),s,c,l,u;if(o===uG.CONST){let o=dF(e,n,a),d,f,p,m;for(let r=0;r<t-1;r++){let t=WP(e,n);switch(t.physicalStreamType){case eG.LENGTH:switch(t.logicalStreamType.lengthType){case rG.GEOMETRIES:d=sF(e,n,t);break;case rG.PARTS:f=sF(e,n,t);break;case rG.RINGS:p=sF(e,n,t);break;case rG.TRIANGLES:m=sF(e,n,t)}break;case eG.OFFSET:switch(t.logicalStreamType.offsetType){case nG.VERTEX:s=oF(e,n,t);break;case nG.INDEX:u=oF(e,n,t)}break;case eG.DATA:if(tG.VERTEX===t.logicalStreamType.dictionaryType)c=aF(e,n,t,i);else{let r=t;l={numBits:r.numBits,coordinateShift:r.coordinateShift},c=oF(e,n,t,i)}}}return u?d!==void 0||f!==void 0?BF(r,o,m,u,c,{geometryOffsets:d,partOffsets:f,ringOffsets:p}):BF(r,o,m,u,c):l===void 0?IF(r,o,{geometryOffsets:d,partOffsets:f,ringOffsets:p},s,c):LF(r,o,{geometryOffsets:d,partOffsets:f,ringOffsets:p},s,c,l)}let d=oF(e,n,a),f,p,m,h;for(let r=0;r<t-1;r++){let t=WP(e,n);switch(t.physicalStreamType){case eG.LENGTH:switch(t.logicalStreamType.lengthType){case rG.GEOMETRIES:f=oF(e,n,t);break;case rG.PARTS:p=oF(e,n,t);break;case rG.RINGS:m=oF(e,n,t);break;case rG.TRIANGLES:h=sF(e,n,t)}break;case eG.OFFSET:switch(t.logicalStreamType.offsetType){case nG.VERTEX:s=oF(e,n,t);break;case nG.INDEX:u=oF(e,n,t)}break;case eG.DATA:if(tG.VERTEX===t.logicalStreamType.dictionaryType)c=aF(e,n,t,i);else{let r=t;l={numBits:r.numBits,coordinateShift:r.coordinateShift},c=oF(e,n,t,i)}}}let g,_,v;return f?(g=UF(d,f,2),p&&m?(_=WF(d,g,p,!1),v=KF(d,g,_,m)):p&&(_=GF(d,g,p))):p&&m?(_=UF(d,p,1),v=WF(d,_,m,!0)):p&&(_=UF(d,p,0)),u&&!_?VF(d,h,u,c):u?VF(d,h,u,c,{geometryOffsets:g,partOffsets:_,ringOffsets:v}):l===void 0?RF(d,{geometryOffsets:g,partOffsets:_,ringOffsets:v},s,c):zF(d,{geometryOffsets:g,partOffsets:_,ringOffsets:v},s,c,l)}function UF(e,t,n){let r=new Uint32Array(e.length+1),i=0;r[0]=i;let a=0;for(let o=0;o<e.length;o++)i=r[o+1]=i+(e[o]>n?t[a++]:1);return r}function WF(e,t,n,r){let i=new Uint32Array(t[t.length-1]+1),a=0;i[0]=a;let o=1,s=0;for(let c=0;c<e.length;c++){let l=e[c],u=t[c+1]-t[c];if(l===5||l===2||r&&(l===4||l===1))for(let e=0;e<u;e++)a=i[o++]=a+n[s++];else for(let e=0;e<u;e++)i[o++]=++a}return i}function GF(e,t,n){let r=new Uint32Array(t[t.length-1]+1),i=0;r[0]=i;let a=1,o=0;for(let s=0;s<e.length;s++){let c=e[s],l=t[s+1]-t[s];if(c===4||c===1)for(let e=0;e<l;e++)i=r[a++]=i+n[o++];else for(let e=0;e<l;e++)r[a++]=++i}return r}function KF(e,t,n,r){let i=new Uint32Array(n[n.length-1]+1),a=0;i[0]=a;let o=1,s=1,c=0;for(let l=0;l<e.length;l++){let u=e[l],d=t[l+1]-t[l];if(u!==0&&u!==3)for(let e=0;e<d;e++){let e=n[o]-n[o-1];o++;for(let t=0;t<e;t++)a=i[s++]=a+r[c++]}else for(let e=0;e<d;e++)i[s++]=++a,o++}return i}function qF(e,t){let n=0;for(let r=0;r<t.length;r++){let i=t[r];i===255?(n++,r++):n+=e[i]}return n}function JF(e,t,n){let r=new Uint32Array(t.length);for(let e=1;e<t.length;e++)r[e]=r[e-1]+t[e-1];let i=new Uint8Array(qF(t,n)),a=0;for(let o=0;o<n.length;o++){let s=n[o];if(s===255)o++,i[a++]=n[o];else{let n=t[s],o=r[s];for(;n-->0;)i[a++]=e[o++]}}return i}function YF(e,t,n,r,i){let a,o,s,c,l,u=i,d,f;for(let e=0;e<r;e++){let e=WP(t,n);switch(e.physicalStreamType){case eG.PRESENT:{let r=new dG(ZP(t,e.numValues,e.byteLength,n),e.numValues);u=i??r;break}case eG.OFFSET:o=oF(t,n,e,void 0,u);break;case eG.LENGTH:{let r=sF(t,n,e);rG.DICTIONARY===e.logicalStreamType.lengthType?a=r:rG.SYMBOL===e.logicalStreamType.lengthType?c=r:d=r;break}case eG.DATA:{let r=t.subarray(n.get(),n.get()+e.byteLength);n.add(e.byteLength);let i=e.logicalStreamType.dictionaryType;tG.FSST===i?l=r:tG.SINGLE===i||tG.SHARED===i?s=r:tG.NONE===i&&(f=r);break}}}return XF(e,l,o,a,s,c,u)??ZF(e,s,o,a,u)??QF(e,d,f,o,u)}function XF(e,t,n,r,i,a,o){if(t){if(!n||!r||!i||!a)throw Error(`Incomplete FSST dictionary string column "${e}"`);return new AG(e,n,r,i,a,t,o)}}function ZF(e,t,n,r,i){if(t){if(!n||!r)throw Error(`Incomplete dictionary string column "${e}"`);return i?new kG(e,n,r,t,i):new kG(e,n,r,t)}}function QF(e,t,n,r,i){if(t&&n){if(r)return i?new kG(e,r,t,n,i):new kG(e,r,t,n);if(i&&i.size()!==t.length-1){let r=new Uint32Array(i.size()),a=0;for(let e=0;e<i.size();e++)i.get(e)?r[e]=a++:r[e]=0;return new kG(e,r,t,n,i)}return i?new OG(e,t,n,i):new OG(e,t,n)}}function $F(e,t,n,r){let i,a,o,s,c=!1;for(;!c;){let n=WP(e,t);switch(n.physicalStreamType){case eG.LENGTH:rG.DICTIONARY===n.logicalStreamType.lengthType?i=sF(e,t,n):o=sF(e,t,n);break;case eG.DATA:tG.SINGLE===n.logicalStreamType.dictionaryType||tG.SHARED===n.logicalStreamType.dictionaryType?(a=e.subarray(t.get(),t.get()+n.byteLength),c=!0):s=e.subarray(t.get(),t.get()+n.byteLength),t.add(n.byteLength)}}if(n.type!==`complexType`)throw Error(`Shared dictionary column ${n.name} must be a complex (struct) column.`);if(!i||!a)throw Error(`Incomplete shared dictionary for column "${n.name}"`);let l=n.complexType.children,u=[],d=s?{}:void 0,f=0;for(let c of l){let l=tP(e,t,1)[0];if(l===0)continue;let p=c.name?`${n.name}${c.name}`:n.name;if(r&&!r.has(p)){XP(l,e,t);continue}if(c.type!==`scalarField`||c.scalarField.physicalType!==UW.STRING)throw Error(`Currently only scalar string fields are implemented for a struct.`);if(l>1&&!c.nullable||l===1&&c.nullable)throw Error(`The number of streams for the child field ${c.name} does not match its nullability. nullibilty: ${c.nullable}, numStreams: ${l}`);let m;if(c.nullable){let n=WP(e,t);m=new dG(ZP(e,n.numValues,n.byteLength,t),n.numValues)}let h=oF(e,t,WP(e,t),void 0,m);if(s){if(!o)throw Error(`Incomplete shared FSST dictionary for column "${p}"`);u[f++]=new AG(p,h,i,a,o,s,m,d)}else u[f++]=new kG(p,h,i,a,m)}return u}function eI(e,t,n,r){let i=tI(n);if(r===0)return i.map(e=>new jG(e,[]));let a=nI(e,t,r),o=(a.presentStream?a.presentCount:a.lengthStream.length)/i.length,s=[],c=0,l=0;for(let e=0;e<i.length;e++){let t=sI(a,e,o,c,l);s.push(new jG(i[e],t.value,t.nullabilityBuffer)),c=t.countsEnd,l=t.valuesEnd}return s}function tI(e){let t=e.type===`complexType`?e.complexType.children:void 0;return!t||t.length===0?[e.name]:t.map(t=>e.name+(t.name??``))}function nI(e,t,n){let r=e[t.get()];t.add(1);let i=oF(e,t,WP(e,t)),a=n-1,o=[];r&MG.STRING&&(a-=rI(e,t,o)),a-=iI(e,t,r,o),a-=aI(e,t,r,o);let s,c=0;if(r&MG.PRESENCE){let n=oI(e,t);s=n.value,c=n.count,a--}let l=new Uint32Array;if(a>0&&(l=oF(e,t,WP(e,t)),a--),a!==0)throw Error(`Unexpected number of remaining streams while decoding map column: ${a}`);return{lengthStream:i,dictionary:o,presentStream:s,presentCount:c,flattenedValues:l}}function rI(e,t,n){let r=e[t.get()];t.add(1);let i=YF(``,e,t,r);if(i)for(let e=0;e<i.size;e++)n.push(i.getValue(e));return r}function iI(e,t,n,r){let i=0;return n&MG.INT32?(pI(r,aF(e,t,WP(e,t))),i++):n&MG.INT64&&(pI(r,mF(e,t,WP(e,t))),i++),n&MG.UINT32?(pI(r,oF(e,t,WP(e,t))),i++):n&MG.UINT64&&(pI(r,hF(e,t,WP(e,t))),i++),i}function aI(e,t,n,r){let i=0;return n&MG.FLOAT&&(pI(r,$P(e,t,WP(e,t).numValues)),i++),n&MG.DOUBLE&&(pI(r,eF(e,t,WP(e,t).numValues)),i++),i}function oI(e,t){let n=WP(e,t);if(n.physicalStreamType!==eG.PRESENT)throw Error(`Expected PRESENT stream for map column but found: ${n.physicalStreamType}`);let r=n.numValues,i=t.get(),a=new dG(ZP(e,r,n.byteLength,t),r);return t.set(i+n.byteLength),{value:a,count:r}}function sI(e,t,n,r,i){let{lengthStream:a,flattenedValues:o,presentStream:s,dictionary:c}=e,l=t*n,u=n,d;if(s){d=new dG(new Uint8Array(Math.ceil(n/8)),n),u=0;for(let e=0;e<n;e++)s.get(l+e)&&(d.set(e,!0),u++)}let f=r+u;if(f>a.length)throw Error(`Merged map counts underflow while decoding child streams`);let p=Array(n),m=r,h=i;for(let e=0;e<n;e++){if(s&&!s.get(l+e)){p[e]=null;continue}let t=h+a[m++];if(t>o.length)throw Error(`Map value stream underflow while decoding feature payload`);let n=cI(o,h,t,c);p[e]=n.value,h=n.nextIndex}let g=0;for(let e=r;e<f;e++)g+=a[e];let _=i+g;if(h!==_)throw Error(`Unused flattened map values remain after decode`);return{value:p,nullabilityBuffer:d,countsEnd:f,valuesEnd:_}}function cI(e,t,n,r){return n-t===1||e[t]===NG.START_LIST?uI(e,t,n,r):lI(e,t,n,r)}function lI(e,t,n,r){let i=Object.create(null),a=t;for(;a<n;){let t=fI(e[a++],r);if(typeof t!=`string`)throw Error(`Map key dictionary index does not resolve to a string: ${t}`);let o=uI(e,a,n,r);i[t]=o.value,a=o.nextIndex}return{value:i,nextIndex:a}}function uI(e,t,n,r){if(t>=n)throw Error(`Unexpected end of map value stream`);let i=e[t];if(i===NG.FALSE)return{value:!1,nextIndex:t+1};if(i===NG.TRUE)return{value:!0,nextIndex:t+1};if(i===NG.START_MAP){let i=dI(e,t,n);return{value:lI(e,t+2,i,r).value,nextIndex:i}}if(i===NG.START_LIST){let i=dI(e,t,n),a=[],o=t+2;for(;o<i;){let t=uI(e,o,i,r);a.push(t.value),o=t.nextIndex}return{value:a,nextIndex:i}}return{value:fI(i,r),nextIndex:t+1}}function dI(e,t,n){if(t+1>=n)throw Error(`Missing length for nested map/list payload`);let r=e[t+1];if(r<2)throw Error(`Invalid nested payload length: ${r}`);let i=t+r;if(i>n)throw Error(`Nested payload exceeds containing payload bounds`);return i}function fI(e,t){let n=e-NG.COUNT;if(n<0||n>=t.length)throw Error(`Scalar dictionary index out of range: ${e}`);return t[n]}function pI(e,t){for(let n of t)e.push(n)}function mI(e,t,n,r,i,a){return n.type===`scalarType`?a&&!a.has(n.name)?(XP(r,e,t),null):hI(r,e,t,i,n.scalarType,n):n.complexType?.physicalType===WW.MAP?eI(e,t,n,r):r===0?null:$F(e,t,n,a)}function hI(e,t,n,r,i,a){let o;if(e===0)return null;if(a.nullable){let e=WP(t,n),r=e.numValues,i=n.get(),a=ZP(t,r,e.byteLength,n);n.set(i+e.byteLength),o=new dG(a,e.numValues)}let s=o??r;switch(i.physicalType){case UW.UINT_32:case UW.INT_32:return bI(t,n,a,i,s);case UW.STRING:{let r=a.nullable?e-1:e;return YF(a.name,t,n,r,o)??null}case UW.BOOLEAN:return gI(t,n,a,r,s);case UW.UINT_64:case UW.INT_64:return yI(t,n,a,s,i);case UW.FLOAT:return _I(t,n,a,s);case UW.DOUBLE:return vI(t,n,a,s);default:throw Error(`The specified data type for the field is currently not supported: ${i}`)}}function gI(e,t,n,r,i){let a=WP(e,t),o=a.numValues,s=t.get(),c=xI(i)?i:void 0,l=ZP(e,o,a.byteLength,t,c);t.set(s+a.byteLength);let u=new dG(l,o);return new wG(n.name,u,i)}function _I(e,t,n,r){let i=WP(e,t),a=xI(r)?r:void 0,o=$P(e,t,i.numValues,a);return new TG(n.name,o,r)}function vI(e,t,n,r){let i=WP(e,t),a=xI(r)?r:void 0,o=eF(e,t,i.numValues,a);return new LW(n.name,o,r)}function yI(e,t,n,r,i){let a=WP(e,t),o=EF(a,r,e,t,`int64`),s=i.physicalType===UW.INT_64;if(o===uG.FLAT){let i=xI(r)?r:void 0,o=s?mF(e,t,a,i):hF(e,t,a,i);return new pG(n.name,o,r)}if(o===uG.SEQUENCE){let r=pF(e,t,a);return new mG(n.name,r[0],r[1],a.numRleValues,s)}let c=s?vF(e,t,a):yF(e,t,a);return new EG(n.name,c,r,s)}function bI(e,t,n,r,i){let a=WP(e,t),o=EF(a,i,e,t),s=r.physicalType===UW.INT_32;if(o===uG.FLAT){let r=xI(i)?i:void 0,o=s?aF(e,t,a,void 0,r):oF(e,t,a,void 0,r);return new IW(n.name,o,i)}if(o===uG.SEQUENCE){let r=fF(e,t,a);return new zW(n.name,r[0],r[1],a.numRleValues,s)}let c=s?uF(e,t,a):dF(e,t,a);return new BW(n.name,c,i,s)}function xI(e){return e instanceof dG}function SI(e){switch(e){case PG.ID:case PG.ID|PG.ID_NULLABLE:case PG.ID|PG.ID_LONG:case PG.ID|PG.ID_LONG|PG.ID_NULLABLE:return{nullable:(e&PG.ID_NULLABLE)!==0,columnScope:HW.FEATURE,type:`scalarType`,scalarType:{longID:(e&PG.ID_LONG)!==0,type:`logicalType`,logicalType:GW.ID}};case PG.GEOMETRY:return{nullable:!1,columnScope:HW.FEATURE,type:`complexType`,complexType:{type:`physicalType`,physicalType:WW.GEOMETRY,children:[]}};case PG.STRUCT:return{nullable:!1,columnScope:HW.FEATURE,type:`complexType`,complexType:{type:`physicalType`,physicalType:WW.STRUCT,children:[]}};case PG.MAP:return{nullable:!0,columnScope:HW.FEATURE,type:`complexType`,complexType:{type:`physicalType`,physicalType:WW.MAP,children:[]}};default:return OI(e)}}function CI(e){return e>=PG.SCALAR_BASE}function wI(e){return e===PG.STRUCT||e===PG.MAP}function TI(e){if(e.type===`scalarType`){let t=e.scalarType;if(t.type===`physicalType`)switch(t.physicalType){case UW.BOOLEAN:case UW.INT_8:case UW.UINT_8:case UW.INT_32:case UW.UINT_32:case UW.INT_64:case UW.UINT_64:case UW.FLOAT:case UW.DOUBLE:return!1;case UW.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 WW.GEOMETRY:case WW.STRUCT:case WW.MAP:return!0;default:return!1}}return console.warn(`Unexpected column type in hasStreamCount`,e),!1}function EI(e){return e.type===`scalarType`&&e.scalarType?.type===`logicalType`&&e.scalarType.logicalType===GW.ID}function DI(e){return e.type===`complexType`&&e.complexType?.type===`physicalType`&&e.complexType.physicalType===WW.GEOMETRY}function OI(e){let t;switch(e){case 10:case 11:t=UW.BOOLEAN;break;case 12:case 13:t=UW.INT_8;break;case 14:case 15:t=UW.UINT_8;break;case 16:case 17:t=UW.INT_32;break;case 18:case 19:t=UW.UINT_32;break;case 20:case 21:t=UW.INT_64;break;case 22:case 23:t=UW.UINT_64;break;case 24:case 25:t=UW.FLOAT;break;case 26:case 27:t=UW.DOUBLE;break;case 28:case 29:t=UW.STRING;break;default:return null}return{nullable:!!(e&1),columnScope:HW.FEATURE,type:`scalarType`,scalarType:{longID:!1,type:`physicalType`,physicalType:t}}}function kI(e,t){let n=tP(e,t,1)[0];if(n===0)return``;let r=t.get(),i=r+n,a=e.subarray(r,i);return t.add(n),FG.decode(a)}function AI(e){let t=e.name,n=e.nullable;return e.type===`scalarType`?{type:`scalarField`,scalarField:e.scalarType,name:t,nullable:n}:{type:`complexField`,complexField:e.complexType,name:t,nullable:n}}function jI(e,t){let n=tP(e,t,1)[0]>>>0,r=n>=PG.SCALAR_BASE?SI(n):null;if(!r)throw Error(`Unsupported field type code ${n}. Supported: 10-29(scalars), 30(STRUCT), 31(MAP)`);let i=m(p({},r),{name:kI(e,t)});if(i.type===`complexType`&&wI(n)){let n=i.complexType,r=tP(e,t,1)[0]>>>0;n.children=Array(r);for(let i=0;i<r;i++)n.children[i]=jI(e,t)}return AI(i)}function MI(e,t){let n=tP(e,t,1)[0]>>>0,r=SI(n);if(!r)throw Error(`Unsupported column type code ${n}. Supported: ${IG}`);let i;if(CI(n))i=kI(e,t);else if(n<PG.GEOMETRY)i=`id`;else if(n===PG.GEOMETRY)i=`geometry`;else throw Error(`Unsupported column type code ${n}. Supported: ${IG}`);let a=m(p({},r),{name:i});if(a.type===`complexType`&&wI(n)){let n=tP(e,t,1)[0]>>>0,r=a.complexType;r.children=Array(n);for(let i=0;i<n;i++)r.children[i]=jI(e,t)}return a}function NI(e,t){let n={};n.featureTables=[];let r={};if(r.name=kI(e,t),r.name.length===0)throw Error(`Missing layer name`);let i=tP(e,t,1)[0]>>>0,a=tP(e,t,1)[0]>>>0;r.columns=Array(a);for(let n=0;n<a;n++)r.columns[n]=MI(e,t);return n.featureTables.push(r),[n,i]}function PI(e,t,n=!0){let r=new KW(0),i=[];for(;r.get()<e.length;){let a=tP(e,r,1)[0]>>>0,o=r.get()+a;if(o>e.length)throw Error(`Block overruns tile: ${o} > ${e.length}`);let s=tP(e,r,1)[0]>>>0;if(s!==1&&s!==2){r.set(o);continue}let[c,l]=NI(e,r),u=c.featureTables[0],d=null,f=null,p=[],m=0;for(let i of u.columns){let a=i.name;if(EI(i)){let t=null;if(i.nullable){let n=WP(e,r),i=r.get(),a=ZP(e,n.numValues,n.byteLength,r);r.set(i+n.byteLength),t=new dG(a,n.numValues)}let o=WP(e,r);m=t?t.size():o.decompressedCount,d=FI(e,i,r,a,o,t??m,n)}else if(DI(i)){let n=tP(e,r,1)[0];if(m===0){let t=r.get();m=WP(e,r).decompressedCount,r.set(t)}t&&(t.scale=t.extent/l),f=HF(e,n,r,m,t)}else{let t=TI(i)?tP(e,r,1)[0]:1;if(t===0)continue;let n=mI(e,r,i,t,m,void 0);if(n){if(Array.isArray(n))for(let e of n)p.push(e);else p.push(n)}}}let h=new VW(u.name,f,d,p,l);i.push(h),r.set(o)}return i}function FI(e,t,n,r,i,a,o=!1){var s;let c=(s=t.scalarType)!=null&&s.longID?UW.UINT_64:UW.UINT_32,l=typeof a==`number`?void 0:a,u=EF(i,a,e,n,c===UW.UINT_64?`int64`:`int32`);if(c===UW.UINT_32)switch(u){case uG.FLAT:return new IW(r,oF(e,n,i,void 0,l),a);case uG.SEQUENCE:{let t=fF(e,n,i);return new zW(r,t[0],t[1],i.numRleValues,!1)}case uG.CONST:return new BW(r,dF(e,n,i),a,!1)}switch(u){case uG.FLAT:return o?new LW(r,gF(e,n,i,l),a):new pG(r,hF(e,n,i,l),a);case uG.SEQUENCE:{let t=pF(e,n,i);return new mG(r,t[0],t[1],i.numRleValues,!1)}case uG.CONST:return new EG(r,yF(e,n,i),a,!1)}throw Error(`Vector type not supported for id column.`)}function II(e){return typeof e==`object`&&!!e&&`evaluate`in e}function LI(e,t,n,r,i){return DC(e,(e,a)=>{let o=t instanceof Nz?t.get(a):null;return II(o)?o.evaluate(n,r,void 0,i):o})}function RI(e,t){return t-e}var zI,BI,VI,HI,UI,WI,GI,KI,qI,JI,YI,XI,ZI,QI,$I,eL,tL,nL,rL,iL,aL,oL,sL,cL,lL,uL,dL,fL,pL,mL,hL,gL,_L,vL,yL,bL,xL,SL,CL,wL,TL,EL,DL,OL,kL,AL,jL,ML,NL,PL,FL,IL,LL,RL,zL,BL,VL,HL,UL,WL,GL,KL,qL,JL,YL,XL,ZL,QL,$L,eR,tR,nR,rR,iR,aR,oR,sR,cR,lR,uR,dR,fR,pR,mR,hR,gR,_R,vR,yR,bR,xR,SR,CR,wR,TR,ER,DR,OR,kR,AR,jR,MR,NR,PR,FR,IR,LR,RR,zR,BR,VR,HR,UR,WR,GR,KR,qR,JR,YR,XR,ZR,QR,$R,ez,tz,nz,rz,iz,az,oz,sz,cz,lz,uz,dz,fz,pz,mz,hz,gz,_z,vz,yz,bz,xz,Sz,Cz,wz,Tz,Ez,Dz,Oz,kz,Az,jz,Mz,Nz,Pz,Fz,Iz,Lz,Rz,zz,Bz,Vz,Hz,Uz,Wz,Gz,Kz,qz,Jz,Yz,Xz,Zz,Qz,$z,eB,tB,nB,rB,iB,aB,oB,sB,cB,lB,uB,dB,fB,pB,mB,hB,gB,_B,vB,yB,bB,xB,SB,CB,wB,TB,EB,DB,OB,kB,AB,jB,MB,NB,PB,FB,IB,LB,RB,zB,BB,VB,HB,UB,WB,GB,KB,qB,JB,YB,XB,ZB,QB,$B,eV,tV,nV,rV,iV,aV,oV,sV,cV,lV,uV,dV,fV,pV,mV,hV,gV,_V,vV,yV,bV,xV,SV,CV,wV,TV,EV,DV,OV,kV,AV,jV,MV,NV,PV,FV,IV,LV,RV,zV,BV,VV,HV,UV,WV,GV,KV,qV,JV,YV,XV,ZV,QV,$V,eH,tH,nH,rH,iH,aH,oH,sH,cH,lH,uH,dH,fH,pH,mH,hH,gH,_H,vH,yH,bH,xH,SH,CH,wH,TH,EH,DH,OH,kH,AH,jH,MH,NH,PH,FH,IH,LH,RH,zH,BH,VH,HH,UH,WH,GH,KH,qH,JH,YH,XH,ZH,QH,$H,eU,tU,nU,rU,iU,aU,oU,sU,cU,lU,uU,dU,fU,pU,mU,hU,gU,_U,vU,yU,bU,xU,SU,CU,wU,TU,EU,DU,OU,kU,AU,jU,MU,NU,PU,FU,IU,LU,RU,zU,BU,VU,HU,UU,WU,GU,KU,qU,JU,YU,XU,ZU,QU,$U,eW,tW,nW,rW,iW,aW,oW,sW,cW,lW,uW,dW,fW,pW,mW,hW,gW,_W,vW,yW,bW,xW,SW,CW,wW,TW,EW,DW,OW,kW,AW,jW,MW,NW,PW,FW,IW,LW,RW,zW,BW,VW,HW,UW,WW,GW,KW,qW,JW,YW,XW,ZW,QW,$W,eG,tG,nG,rG,iG,aG,oG,sG,cG,lG,uG,dG,fG,pG,mG,hG,gG,_G,vG,yG,bG,xG,SG,CG,wG,TG,EG,DG,OG,kG,AG,jG,MG,NG,PG,FG,IG,LG,RG,zG,BG,VG,HG=g(()=>{zI=Object.create,BI=Object.defineProperty,VI=Object.getOwnPropertyDescriptor,HI=Object.getOwnPropertyNames,UI=Object.getPrototypeOf,WI=Object.prototype.hasOwnProperty,GI=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),KI=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=HI(t),a=0,o=i.length,s;a<o;a++)s=i[a],!WI.call(e,s)&&s!==n&&BI(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=VI(t,s))||r.enumerable});return e},qI=(e,t,n)=>(n=e==null?{}:zI(UI(e)),KI(t||!e||!e.__esModule||!WI.call(e,`default`)?BI(n,`default`,{value:e,enumerable:!0}):n,e)),Vx.prototype={clone(){return new Vx(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,n=e.y-this.y;return t*t+n*n},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,n=e[2]*this.x+e[3]*this.y;return this.x=t,this.y=n,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),n=Math.sin(e),r=t*this.x-n*this.y,i=n*this.x+t*this.y;return this.x=r,this.y=i,this},_rotateAround(e,t){let n=Math.cos(e),r=Math.sin(e),i=t.x+n*(this.x-t.x)-r*(this.y-t.y),a=t.y+r*(this.x-t.x)+n*(this.y-t.y);return this.x=i,this.y=a,this},_round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},constructor:Vx},Vx.convert=function(e){if(e instanceof Vx)return e;if(Array.isArray(e))return new Vx(+e[0],+e[1]);if(e.x!==void 0&&e.y!==void 0)return new Vx(+e.x,+e.y);throw Error(`Expected [x, y] or {x, y} point format`)},XI=typeof Float32Array<`u`?Float32Array:Array,Math.PI/180,180/Math.PI,ZI=sS,QI=cS,$I=gS,eL=pS,(function(){var e=dS();return function(t,n,r,i,a,o){var s,c;for(n||=3,r||=0,c=i?Math.min(i*n+r,t.length):t.length,s=r;s<c;s+=n)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2];return t}})(),tL=NS,(function(){var e=jS();return function(t,n,r,i,a,o){var s,c;for(n||=4,r||=0,c=i?Math.min(i*n+r,t.length):t.length,s=r;s<c;s+=n)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],e[3]=t[s+3],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2],t[s+3]=e[3];return t}})(),nL=MS,rL=FS,(function(){var e=dS(),t=mS(1,0,0),n=mS(0,1,0);return function(r,i,a){var o=SS(i,a);return o<-.999999?(CS(e,t,i),eL(e)<1e-6&&CS(e,n,i),xS(e,e),RS(r,e,Math.PI),r):o>.999999?(r[0]=0,r[1]=0,r[2]=0,r[3]=1,r):(CS(e,i,a),r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=1+o,rL(r,r))}})(),(function(){var e=LS(),t=LS();return function(n,r,i,a,o,s){return BS(e,r,o,s),BS(t,i,a,s),BS(n,e,t,2*s*(1-s)),n}})(),(function(){var e=Gx();return function(t,n,r,i){return e[0]=r[0],e[3]=r[1],e[6]=r[2],e[1]=i[0],e[4]=i[1],e[7]=i[2],e[2]=-n[0],e[5]=-n[1],e[8]=-n[2],rL(t,VS(t,e))}})(),iL=qS,(function(){var e=US();return function(t,n,r,i,a,o){var s,c;for(n||=2,r||=0,c=i?Math.min(i*n+r,t.length):t.length,s=r;s<c;s+=n)e[0]=t[s],e[1]=t[s+1],a(e,e,o),t[s]=e[0],t[s+1]=e[1];return t}})(),aL=8192,oL=gC(.25,.1,.25,1),sL=1,cL={},lL=null,uL=(e,t)=>S(null,null,function*(){let n=new Blob([new Uint8Array(e)],{type:`image/png`});try{return createImageBitmap(n,t)}catch(e){throw Error(`Could not load image because of ${ZS(e).message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}}),dL=e=>new Promise((t,n)=>{let r=new Image;r.onload=()=>{t(r),URL.revokeObjectURL(r.src),r.onload=null,window.requestAnimationFrame(()=>r.src=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=`)},r.onerror=()=>n(Error(`Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`));let i=new Blob([new Uint8Array(e)],{type:`image/png`});r.src=URL.createObjectURL(i)}),fL=85.051129,pL={touchstart:!0,touchmove:!0,touchmoveWindow:!0,touchend:!0,touchcancel:!0},mL={dblclick:!0,click:!0,mouseover:!0,mouseout:!0,mousedown:!0,mousemove:!0,mousemoveWindow:!0,mouseup:!0,mouseupWindow:!0,contextmenu:!0,wheel:!0},hL=`AbortError`,gL=class extends Error{constructor(e=hL){super(e instanceof Error?e.message:e),this.name=hL,e instanceof Error&&e.stack&&(this.stack=e.stack)}},_L={MAX_PARALLEL_IMAGE_REQUESTS:16,MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:8,MAX_TILE_CACHE_ZOOM_LEVELS:5,REGISTERED_PROTOCOLS:{},WORKER_URL:``},vL=`global-dispatcher`,yL=class extends Error{constructor(e,t,n,r){super(`AJAXError: ${t} (${e}): ${n}`),this.status=e,this.statusText=t,this.url=n,this.body=r}},bL=e=>e.startsWith(`file:`)||nw()?.startsWith(`file:`)&&!/^\w+:/.test(e),xL=function(e,t){return S(this,null,function*(){var n,r;if(e.url.includes(`://`)&&!/^https?:|^file:/.test(e.url)){let r=$C(e.url);if(r){let n=yield r(e,t);return!n.data&&e.type===`arrayBuffer`?yC(n,{data:new ArrayBuffer(0)}):n}if(FC(self)&&(n=self.worker)!=null&&n.actor)return self.worker.actor.sendAsync({type:`GR`,data:e,targetMapId:vL},t)}if(!bL(e.url)){if(fetch&&Request&&AbortController&&Object.hasOwn(Request.prototype,`signal`))return rw(e,t);if(FC(self)&&(r=self.worker)!=null&&r.actor)return self.worker.actor.sendAsync({type:`GR`,data:e,mustQueue:!0,targetMapId:vL},t)}return iw(e,t)})},SL=(e,t)=>xL(yC(e,{type:`json`}),t),CL=(e,t)=>xL(yC(e,{type:`arrayBuffer`}),t),wL=e=>{let t=window.document.createElement(`video`);return t.muted=!0,new Promise(n=>{t.onloadstart=()=>{n(t)};for(let n of e){let e=window.document.createElement(`source`);aw(n)||(t.crossOrigin=`Anonymous`),e.src=n,t.appendChild(e)}})},TL=class{constructor(e,t={}){yC(this,t),this.type=e}},EL=class extends TL{constructor(e,t={}){super(`error`,yC({error:e},t))}},DL=class{on(e,t){return this._listeners||={},ow(e,t,this._listeners),{unsubscribe:()=>{this.off(e,t)}}}off(e,t){return sw(e,t,this._listeners),sw(e,t,this._oneTimeListeners),this}once(e,t){return t?(this._oneTimeListeners||={},ow(e,t,this._oneTimeListeners),this):new Promise(t=>this.once(e,t))}fire(e,t){let n=typeof e==`string`?new TL(e,t||{}):e,r=n.type;if(this.listens(r)){n.target=this;let e=(this._listeners?.[r])?.slice()??[];for(let t of e)t.call(this,n);let t=(this._oneTimeListeners?.[r])?.slice()??[];for(let e of t)sw(r,e,this._oneTimeListeners),e.call(this,n);let i=this._eventedParent;i&&(yC(n,typeof this._eventedParentData==`function`?this._eventedParentData():this._eventedParentData),i.fire(n))}else n instanceof EL&&console.error(n.error);return this}listens(e){var t,n,r;return!!((t=this._listeners?.[e])!=null&&t.length||(n=this._oneTimeListeners?.[e])!=null&&n.length||(r=this._eventedParent)!=null&&r.listens(e))}setEventedParent(e,t){return this._eventedParent=e,this._eventedParentData=t,this}},OL={$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`}]}}}}},kL=OL,AL=[`type`,`source`,`source-layer`,`minzoom`,`maxzoom`,`filter`,`layout`],jL=class{constructor(e,t,n,r,i=`error`){this.message=(e?`${e}: `:``)+n,r&&(this.identifier=r),this.severity=i,t!=null&&t.__line__&&(this.line=t.__line__)}},ML={kind:`null`},NL={kind:`number`},PL={kind:`string`},FL={kind:`boolean`},IL={kind:`color`},LL={kind:`projectionDefinition`},RL={kind:`object`},zL={kind:`value`},BL={kind:`error`},VL={kind:`collator`},HL={kind:`formatted`},UL={kind:`padding`},WL={kind:`colorArray`},GL={kind:`numberArray`},KL={kind:`resolvedImage`},qL={kind:`variableAnchorOffsetCollection`},JL=[ML,NL,PL,FL,IL,LL,HL,RL,cw(zL),UL,GL,WL,KL,qL],YL=.96422,XL=.82521,ZL=4/29,QL=6/29,$L=3*QL*QL,eR=Math.PI/180,tR=180/Math.PI,nR=Object.hasOwn||function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},rR={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]},aR=(iR=class{constructor(e,t,n,r=1,i=!0){this.r=e,this.g=t,this.b=n,this.a=r,i||(this.r*=r,this.g*=r,this.b*=r,r||this.overwriteGetter(`rgb`,[e,t,n,r]))}static parse(e){if(e instanceof iR)return e;if(typeof e!=`string`)return;let t=Tw(e);if(t)return new iR(...t,!1)}get rgb(){let{r:e,g:t,b:n,a:r}=this,i=r||1/0;return this.overwriteGetter(`rgb`,[e/i,t/i,n/i,r])}get hcl(){return this.overwriteGetter(`hcl`,xw(this.rgb))}get lab(){return this.overwriteGetter(`lab`,hw(this.rgb))}overwriteGetter(e,t){return Object.defineProperty(this,e,{value:t}),t}toString(){let[e,t,n,r]=this.rgb;return`rgba(${[e,t,n].map(e=>Math.round(e*255)).join(`,`)},${r})`}static interpolate(e,t,n,r=`rgb`){switch(r){case`rgb`:{let[r,i,a,o]=jw(e.rgb,t.rgb,n);return new iR(r,i,a,o,!1)}case`hcl`:{let[r,i,a,o]=e.hcl,[s,c,l,u]=t.hcl,d,f;if(!isNaN(r)&&!isNaN(s)){let e=s-r;s>r&&e>180?e-=360:s<r&&r-s>180&&(e+=360),d=r+n*e}else isNaN(r)?isNaN(s)?d=NaN:(d=s,(a===1||a===0)&&(f=c)):(d=r,(l===1||l===0)&&(f=i));let[p,m,h,g]=Sw([d,f??Aw(i,c,n),Aw(a,l,n),Aw(o,u,n)]);return new iR(p,m,h,g,!1)}case`lab`:{let[r,i,a,o]=vw(jw(e.lab,t.lab,n));return new iR(r,i,a,o,!1)}}}},iR.black=new iR(0,0,0,1),iR.white=new iR(1,1,1,1),iR.transparent=new iR(0,0,0,0),iR.red=new iR(1,0,0,1),iR),oR=[`bottom`,`center`,`top`],sR=class{constructor(e,t,n,r,i,a){this.text=e,this.image=t,this.scale=n,this.fontStack=r,this.textColor=i,this.verticalAlign=a}},cR=class e{constructor(e){this.sections=e}static fromString(t){return new e([new sR(t,null,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(e=>e.text.length!==0||e.image&&e.image.name.length!==0)}static factory(t){return t instanceof e?t:e.fromString(t)}toString(){return this.sections.length===0?``:this.sections.map(e=>e.text).join(``)}},lR=class e{constructor(e){this.values=e.slice()}static parse(t){if(t instanceof e)return t;if(typeof t==`number`)return new e([t,t,t,t]);if(Array.isArray(t)&&!(t.length<1||t.length>4)){for(let e of t)if(typeof e!=`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 e(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,n,r){return new e(jw(t.values,n.values,r))}},uR=class e{constructor(e){this.values=e.slice()}static parse(t){if(t instanceof e)return t;if(typeof t==`number`)return new e([t]);if(Array.isArray(t)){for(let e of t)if(typeof e!=`number`)return;return new e(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,n,r){return new e(jw(t.values,n.values,r))}},dR=class e{constructor(e){this.values=e.slice()}static parse(t){if(t instanceof e)return t;if(typeof t==`string`){let n=aR.parse(t);return n?new e([n]):void 0}if(!Array.isArray(t))return;let n=[];for(let e of t){if(typeof e!=`string`)return;let t=aR.parse(e);if(!t)return;n.push(t)}return new e(n)}toString(){return JSON.stringify(this.values)}static interpolate(t,n,r,i=`rgb`){let a=[];if(t.values.length!=n.values.length)throw Error(`colorArray: Arrays have mismatched length (${t.values.length} vs. ${n.values.length}), cannot interpolate.`);for(let e=0;e<t.values.length;e++)a.push(aR.interpolate(t.values[e],n.values[e],r,i));return new e(a)}},fR=class extends Error{constructor(e,t){super(e),this.name=`RuntimeError`,this.path=t}toJSON(){return this.message}},pR=new Set([`center`,`left`,`right`,`top`,`bottom`,`top-left`,`top-right`,`bottom-left`,`bottom-right`]),mR=class e{constructor(e){this.values=e.slice()}static parse(t){if(t instanceof e)return t;if(!(!Array.isArray(t)||t.length<1||t.length%2!=0)){for(let e=0;e<t.length;e+=2){let n=t[e],r=t[e+1];if(typeof n!=`string`||!pR.has(n)||!Array.isArray(r)||r.length!==2||typeof r[0]!=`number`||typeof r[1]!=`number`)return}return new e(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,n,r,i){let a=t.values,o=n.values;if(a.length!==o.length)throw new fR(`Cannot interpolate values of different length. from: ${t.toString()}, to: ${n.toString()}`,i);let s=[];for(let e=0;e<a.length;e+=2){if(a[e]!==o[e])throw new fR(`Cannot interpolate values containing mismatched anchors. from[${e}]: ${a[e]}, to[${e}]: ${o[e]}`,i);s.push(a[e]);let[t,n]=a[e+1],[c,l]=o[e+1];s.push([Aw(t,c,r),Aw(n,l,r)])}return new e(s)}},hR=class e{constructor(e){this.name=e.name,this.available=e.available}toString(){return this.name}static fromString(t){return t?new e({name:t,available:!1}):null}},gR=class e{constructor(e,t,n){this.from=e,this.to=t,this.transition=n}toString(){return this.from===this.to&&this.transition===1?this.from:JSON.stringify([this.from,this.to,this.transition])}static interpolate(t,n,r){return new e(t,n,r)}static parse(t){if(t instanceof e)return t;if(Array.isArray(t)&&t.length===3&&typeof t[0]==`string`&&typeof t[1]==`string`&&typeof t[2]==`number`)return new e(t[0],t[1],t[2]);if(typeof t==`object`&&typeof t.from==`string`&&typeof t.to==`string`&&typeof t.transition==`number`)return new e(t.from,t.to,t.transition);if(typeof t==`string`)return new e(t,t,1)}},_R=class{constructor(e,t,n){this.sensitivity=e?t?`variant`:`case`:t?`accent`:`base`,this.locale=n,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:`search`})}compare(e,t){return this.collator.compare(e,t)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}},vR=class e{constructor(e,t){this.type=e,this.value=t}static parse(t,n){if(t.length!==2)return n.error(`'literal' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!Pw(t[1]))return n.error(`invalid value of type "${typeof t[1]}"`);let r=t[1],i=Fw(r),a=n.expectedType;return i.kind===`array`&&i.N===0&&a&&a.kind===`array`&&(typeof a.N!=`number`||a.N===0)&&(i=a),new e(i,r)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}},yR=[`Unknown`,`Point`,`LineString`,`Polygon`],bR=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`?yR[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=aR.parse(e),this._parseColorCache.set(e,t)),t}},xR=class e{constructor(e,t,n,r){this.type=e,this.input=t,this.key=r,this.labels=[],this.outputs=[];for(let[e,t]of n)this.labels.push(e),this.outputs.push(t)}static parse(t,n){if(t.length-1<4)return n.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return n.error(`Expected an even number of arguments.`);let r=n.parse(t[1],1,NL);if(!r)return null;let i=[],a=null;n.expectedType&&n.expectedType.kind!==`value`&&(a=n.expectedType);for(let e=1;e<t.length;e+=2){let r=e===1?-1/0:t[e],o=t[e+1],s=e,c=e+1;if(typeof r!=`number`)return n.error(`Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.`,s);if(i.length&&i[i.length-1][0]>=r)return n.error(`Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.`,s);let l=n.parse(o,c,a);if(!l)return null;a||=l.type,i.push([r,l])}return new e(a,r,i,n.key)}evaluate(e){let t=this.labels,n=this.outputs;if(t.length===1)return n[0].evaluate(e);let r=this.input.evaluate(e);if(r<=t[0])return n[0].evaluate(e);let i=t.length;return r>=t[i-1]?n[i-1].evaluate(e):n[Lw(t,r,this.key)].evaluate(e)}eachChild(e){e(this.input);for(let t of this.outputs)e(t)}outputDefined(){return this.outputs.every(e=>e.outputDefined())}},SR=class e{constructor(e,t,n,r,i,a){this.type=e,this.operator=t,this.interpolation=n,this.input=r,this.key=a,this.labels=[],this.outputs=[];for(let[e,t]of i)this.labels.push(e),this.outputs.push(t)}static interpolationFactor(e,t,n,r){let i=0;if(e.name===`exponential`)i=zw(t,e.base,n,r);else if(e.name===`linear`)i=zw(t,1,n,r);else if(e.name===`cubic-bezier`){let a=e.controlPoints;i=Rw(a[0],a[1],a[2],a[3])(zw(t,1,n,r))}return i}static parse(t,n){let[r,i,a,...o]=t;if(!Array.isArray(i)||i.length===0)return n.error(`Expected an interpolation type expression.`,1);if(i[0]===`linear`)i={name:`linear`};else if(i[0]===`exponential`){let e=i[1];if(typeof e!=`number`)return n.error(`Exponential interpolation requires a numeric base.`,1,1);i={name:`exponential`,base:e}}else if(i[0]===`cubic-bezier`){let e=i.slice(1);if(e.length!==4||e.some(e=>typeof e!=`number`||e<0||e>1))return n.error(`Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.`,1);i={name:`cubic-bezier`,controlPoints:e}}else return n.error(`Unknown interpolation type ${String(i[0])}`,1,0);if(t.length-1<4)return n.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return n.error(`Expected an even number of arguments.`);if(a=n.parse(a,2,NL),!a)return null;let s=[],c=null;(r===`interpolate-hcl`||r===`interpolate-lab`)&&n.expectedType!=WL?c=IL:n.expectedType&&n.expectedType.kind!==`value`&&(c=n.expectedType);for(let e=0;e<o.length;e+=2){let t=o[e],r=o[e+1],i=e+3,a=e+4;if(typeof t!=`number`)return n.error(`Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.`,i);if(s.length&&s[s.length-1][0]>=t)return n.error(`Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.`,i);let l=n.parse(r,a,c);if(!l)return null;c||=l.type,s.push([t,l])}return!pw(c,NL)&&!pw(c,LL)&&!pw(c,IL)&&!pw(c,UL)&&!pw(c,GL)&&!pw(c,WL)&&!pw(c,qL)&&!pw(c,cw(NL))?n.error(`Type ${lw(c)} is not interpolatable.`):new e(c,r,i,a,s,n.key)}evaluate(t){let n=this.labels,r=this.outputs;if(n.length===1)return r[0].evaluate(t);let i=this.input.evaluate(t);if(i<=n[0])return r[0].evaluate(t);let a=n.length;if(i>=n[a-1])return r[a-1].evaluate(t);let o=Lw(n,i,this.key),s=n[o],c=n[o+1],l=e.interpolationFactor(this.interpolation,i,s,c),u=r[o].evaluate(t),d=r[o+1].evaluate(t);switch(this.operator){case`interpolate`:switch(this.type.kind){case`number`:return Aw(u,d,l);case`color`:return aR.interpolate(u,d,l);case`padding`:return lR.interpolate(u,d,l);case`colorArray`:return dR.interpolate(u,d,l);case`numberArray`:return uR.interpolate(u,d,l);case`variableAnchorOffsetCollection`:return mR.interpolate(u,d,l,this.key);case`array`:return jw(u,d,l);case`projectionDefinition`:return gR.interpolate(u,d,l)}case`interpolate-hcl`:switch(this.type.kind){case`color`:return aR.interpolate(u,d,l,`hcl`);case`colorArray`:return dR.interpolate(u,d,l,`hcl`)}case`interpolate-lab`:switch(this.type.kind){case`color`:return aR.interpolate(u,d,l,`lab`);case`colorArray`:return dR.interpolate(u,d,l,`lab`)}}}eachChild(e){e(this.input);for(let t of this.outputs)e(t)}outputDefined(){return this.outputs.every(e=>e.outputDefined())}},CR={color:aR.interpolate,number:Aw,padding:lR.interpolate,numberArray:uR.interpolate,colorArray:dR.interpolate,variableAnchorOffsetCollection:mR.interpolate,array:jw},wR=class e{constructor(e){this.type=HL,this.sections=e}static parse(t,n){if(t.length<2)return n.error(`Expected at least one argument.`);let r=t[1];if(!Array.isArray(r)&&typeof r==`object`)return n.error(`First argument must be an image or text section.`);let i=[],a=!1;for(let e=1;e<=t.length-1;++e){let r=t[e];if(a&&typeof r==`object`&&!Array.isArray(r)){a=!1;let e=null;if(r[`font-scale`]&&(e=n.parse(r[`font-scale`],1,NL),!e))return null;let t=null;if(r[`text-font`]&&(t=n.parse(r[`text-font`],1,cw(PL)),!t))return null;let o=null;if(r[`text-color`]&&(o=n.parse(r[`text-color`],1,IL),!o))return null;let s=null;if(r[`vertical-align`]){if(typeof r[`vertical-align`]==`string`&&!oR.includes(r[`vertical-align`]))return n.error(`'vertical-align' must be one of: 'bottom', 'center', 'top' but found '${r[`vertical-align`]}' instead.`);if(s=n.parse(r[`vertical-align`],1,PL),!s)return null}let c=i[i.length-1];c.scale=e,c.font=t,c.textColor=o,c.verticalAlign=s}else{let r=n.parse(t[e],1,zL);if(!r)return null;let o=r.type.kind;if(o!==`string`&&o!==`value`&&o!==`null`&&o!==`resolvedImage`)return n.error(`Formatted text type must be 'string', 'value', 'image' or 'null'.`);a=!0,i.push({content:r,scale:null,font:null,textColor:null,verticalAlign:null})}}return new e(i)}evaluate(e){return new cR(this.sections.map(t=>{let n=t.content.evaluate(e);return Fw(n)===KL?new sR(``,n,null,null,null,t.verticalAlign?t.verticalAlign.evaluate(e):null):new sR(Iw(n),null,t.scale?t.scale.evaluate(e):null,t.font?t.font.evaluate(e).join(`,`):null,t.textColor?t.textColor.evaluate(e):null,t.verticalAlign?t.verticalAlign.evaluate(e):null)}))}eachChild(e){for(let t of this.sections)e(t.content),t.scale&&e(t.scale),t.font&&e(t.font),t.textColor&&e(t.textColor),t.verticalAlign&&e(t.verticalAlign)}outputDefined(){return!1}},TR={string:PL,number:NL,boolean:FL,object:RL},ER=class e{constructor(e,t,n){this.type=e,this.args=t,this.key=n}static parse(t,n){if(t.length<2)return n.error(`Expected at least one argument.`);let r=1,i,a=t[0];if(a===`array`){let e;if(t.length>2){let i=t[1];if(typeof i!=`string`||!(i in TR)||i===`object`)return n.error(`The item type argument of "array" must be one of string, number, boolean`,1);e=TR[i],r++}else e=zL;let a;if(t.length>3){if(t[2]!==null&&(typeof t[2]!=`number`||t[2]<0||t[2]!==Math.floor(t[2])))return n.error(`The length argument to "array" must be a positive integer literal`,2);a=t[2],r++}i=cw(e,a)}else{if(!TR[a])throw Error(`Types doesn't contain name = ${a}`);i=TR[a]}let o=[];for(;r<t.length;r++){let e=n.parse(t[r],r,zL);if(!e)return null;o.push(e)}return new e(i,o,n.key)}evaluate(e){for(let t=0;t<this.args.length;t++){let n=this.args[t].evaluate(e);if(!uw(this.type,Fw(n)))return n;if(t===this.args.length-1)throw new fR(`Expected value to be of type ${lw(this.type)}, but found ${lw(Fw(n))} instead.`,this.key)}throw Error()}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}},DR={"to-boolean":FL,"to-color":IL,"to-number":NL,"to-string":PL},OR=class e{constructor(e,t,n){this.type=e,this.args=t,this.key=n}static parse(t,n){if(t.length<2)return n.error(`Expected at least one argument.`);let r=t[0];if(!DR[r])throw Error(`Can't parse ${r} as it is not part of the known types`);if((r===`to-boolean`||r===`to-string`)&&t.length!==2)return n.error(`Expected one argument.`);let i=DR[r],a=[];for(let e=1;e<t.length;e++){let r=n.parse(t[e],e,zL);if(!r)return null;a.push(r)}return new e(i,a,n.key)}evaluate(e){switch(this.type.kind){case`boolean`:return!!this.args[0].evaluate(e);case`color`:{let t,n;for(let r of this.args){if(t=r.evaluate(e),n=null,t instanceof aR)return t;if(typeof t==`string`){let n=e.parseColor(t);if(n)return n}else if(Array.isArray(t)&&(n=t.length<3||t.length>4?`Invalid rgba value ${JSON.stringify(t)}: expected an array containing either three or four numeric values.`:Nw(t[0],t[1],t[2],t[3]),!n))return new aR(t[0]/255,t[1]/255,t[2]/255,t[3])}throw new fR(n||`Could not parse color from value '${typeof t==`string`?t:JSON.stringify(t)}'`,this.key)}case`padding`:{let t;for(let n of this.args){t=n.evaluate(e);let r=lR.parse(t);if(r)return r}throw new fR(`Could not parse padding from value '${typeof t==`string`?t:JSON.stringify(t)}'`,this.key)}case`numberArray`:{let t;for(let n of this.args){t=n.evaluate(e);let r=uR.parse(t);if(r)return r}throw new fR(`Could not parse numberArray from value '${typeof t==`string`?t:JSON.stringify(t)}'`,this.key)}case`colorArray`:{let t;for(let n of this.args){t=n.evaluate(e);let r=dR.parse(t);if(r)return r}throw new fR(`Could not parse colorArray from value '${typeof t==`string`?t:JSON.stringify(t)}'`,this.key)}case`variableAnchorOffsetCollection`:{let t;for(let n of this.args){t=n.evaluate(e);let r=mR.parse(t);if(r)return r}throw new fR(`Could not parse variableAnchorOffsetCollection from value '${typeof t==`string`?t:JSON.stringify(t)}'`,this.key)}case`number`:{let t=null;for(let n of this.args){if(t=n.evaluate(e),t===null)return 0;let r=Number(t);if(!isNaN(r))return r}throw new fR(`Could not convert ${JSON.stringify(t)} to number.`,this.key)}case`formatted`:return cR.fromString(Iw(this.args[0].evaluate(e)));case`resolvedImage`:return hR.fromString(Iw(this.args[0].evaluate(e)));case`projectionDefinition`:{let t=this.args[0].evaluate(e);if(gR.parse(t))return t;throw new fR(`Could not parse projectionDefinition from value '${typeof t==`string`?t:JSON.stringify(t)}'`,this.key)}default:return Iw(this.args[0].evaluate(e))}}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}},kR=class e{constructor(e,t){this.type=t.type,this.bindings=[].concat(e),this.result=t}evaluate(e){return this.result.evaluate(e)}eachChild(e){for(let t of this.bindings)e(t[1]);e(this.result)}static parse(t,n){if(t.length<4)return n.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);let r=[];for(let e=1;e<t.length-1;e+=2){let i=t[e];if(typeof i!=`string`)return n.error(`Expected string, but found ${typeof i} instead.`,e);if(/[^a-zA-Z0-9_]/.test(i))return n.error(`Variable names must contain only alphanumeric characters or '_'.`,e);let a=n.parse(t[e+1],e+1);if(!a)return null;r.push([i,a])}let i=n.parse(t[t.length-1],t.length-1,n.expectedType,r);return i?new e(r,i):null}outputDefined(){return this.result.outputDefined()}},AR=class e{constructor(e,t){this.type=t.type,this.name=e,this.boundExpression=t}static parse(t,n){if(t.length!==2||typeof t[1]!=`string`)return n.error(`'var' expression requires exactly one string literal argument.`);let r=t[1];return n.scope.has(r)?new e(r,n.scope.get(r)):n.error(`Unknown variable "${r}". Make sure "${r}" has been bound in an enclosing "let" expression before using it.`,1)}evaluate(e){return this.boundExpression.evaluate(e)}eachChild(){}outputDefined(){return!1}},jR=class e{constructor(e,t,n,r){this.type=e,this.index=t,this.input=n,this.key=r}static parse(t,n){if(t.length!==3)return n.error(`Expected 2 arguments, but found ${t.length-1} instead.`);let r=n.parse(t[1],1,NL),i=n.parse(t[2],2,cw(n.expectedType||zL));if(!r||!i)return null;let a=i.type;return new e(a.itemType,r,i,n.key)}evaluate(e){let t=this.index.evaluate(e),n=this.input.evaluate(e);if(t<0)throw new fR(`Array index out of bounds: ${t} < 0.`,this.key);if(t>=n.length)throw new fR(`Array index out of bounds: ${t} > ${n.length-1}.`,this.key);if(t!==Math.floor(t))throw new fR(`Array index must be an integer, but found ${t} instead.`,this.key);return n[t]}eachChild(e){e(this.index),e(this.input)}outputDefined(){return!1}},MR=class e{constructor(e,t,n){this.needle=e,this.haystack=t,this.key=n,this.type=FL}static parse(t,n){if(t.length!==3)return n.error(`Expected 2 arguments, but found ${t.length-1} instead.`);let r=n.parse(t[1],1,zL),i=n.parse(t[2],2,zL);return!r||!i?null:dw(r.type,[FL,PL,NL,ML,zL])?new e(r,i,n.key):n.error(`Expected first argument to be of type boolean, string, number or null, but found ${lw(r.type)} instead`)}evaluate(e){let t=this.needle.evaluate(e),n=this.haystack.evaluate(e);if(!n)return!1;if(!fw(t,[`boolean`,`string`,`number`,`null`]))throw new fR(`Expected first argument to be of type boolean, string, number or null, but found ${lw(Fw(t))} instead.`,this.key);if(!fw(n,[`string`,`array`]))throw new fR(`Expected second argument to be of type array or string, but found ${lw(Fw(n))} instead.`,this.key);return n.indexOf(t)>=0}eachChild(e){e(this.needle),e(this.haystack)}outputDefined(){return!0}},NR=class e{constructor(e,t,n,r){this.needle=e,this.haystack=t,this.key=n,this.fromIndex=r,this.type=NL}static parse(t,n){if(t.length<=2||t.length>=5)return n.error(`Expected 2 or 3 arguments, but found ${t.length-1} instead.`);let r=n.parse(t[1],1,zL),i=n.parse(t[2],2,zL);if(!r||!i)return null;if(!dw(r.type,[FL,PL,NL,ML,zL]))return n.error(`Expected first argument to be of type boolean, string, number or null, but found ${lw(r.type)} instead`);if(t.length===4){let a=n.parse(t[3],3,NL);return a?new e(r,i,n.key,a):null}return new e(r,i,n.key)}evaluate(e){let t=this.needle.evaluate(e),n=this.haystack.evaluate(e);if(!fw(t,[`boolean`,`string`,`number`,`null`]))throw new fR(`Expected first argument to be of type boolean, string, number or null, but found ${lw(Fw(t))} instead.`,this.key);let r;if(this.fromIndex&&(r=this.fromIndex.evaluate(e)),fw(n,[`string`])){let e=n.indexOf(t,r);return e===-1?-1:[...n.slice(0,e)].length}if(fw(n,[`array`]))return n.indexOf(t,r);throw new fR(`Expected second argument to be of type array or string, but found ${lw(Fw(n))} instead.`,this.key)}eachChild(e){e(this.needle),e(this.haystack),this.fromIndex&&e(this.fromIndex)}outputDefined(){return!1}},PR=class e{constructor(e,t,n,r,i,a){this.inputType=e,this.type=t,this.input=n,this.cases=r,this.outputs=i,this.otherwise=a}static parse(t,n){if(t.length<5)return n.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return n.error(`Expected an even number of arguments.`);let r,i;n.expectedType&&n.expectedType.kind!==`value`&&(i=n.expectedType);let a={},o=[];for(let e=2;e<t.length-1;e+=2){let s=t[e],c=t[e+1];Array.isArray(s)||(s=[s]);let l=n.concat(e);if(s.length===0)return l.error(`Expected at least one branch label.`);for(let e of s){if(typeof e!=`number`&&typeof e!=`string`)return l.error(`Branch labels must be numbers or strings.`);if(typeof e==`number`&&Math.abs(e)>2**53-1)return l.error(`Branch labels must be integers no larger than ${2**53-1}.`);if(typeof e==`number`&&Math.floor(e)!==e)return l.error(`Numeric branch labels must be integer values.`);if(!r)r=Fw(e);else if(l.checkSubtype(r,Fw(e)))return null;if(a[String(e)]!==void 0)return l.error(`Branch labels must be unique.`);a[String(e)]=o.length}let u=n.parse(c,e,i);if(!u)return null;i||=u.type,o.push(u)}let s=n.parse(t[1],1,zL);if(!s)return null;let c=n.parse(t[t.length-1],t.length-1,i);return!c||s.type.kind!==`value`&&n.concat(1).checkSubtype(r,s.type)?null:new e(r,i,s,a,o,c)}evaluate(e){let t=this.input.evaluate(e);return(Fw(t)===this.inputType&&this.outputs[this.cases[t]]||this.otherwise).evaluate(e)}eachChild(e){e(this.input),this.outputs.forEach(e),e(this.otherwise)}outputDefined(){return this.outputs.every(e=>e.outputDefined())&&this.otherwise.outputDefined()}},FR=class e{constructor(e,t,n){this.type=e,this.branches=t,this.otherwise=n}static parse(t,n){if(t.length<4)return n.error(`Expected at least 3 arguments, but found only ${t.length-1}.`);if(t.length%2!=0)return n.error(`Expected an odd number of arguments.`);let r;n.expectedType&&n.expectedType.kind!==`value`&&(r=n.expectedType);let i=[];for(let e=1;e<t.length-1;e+=2){let a=n.parse(t[e],e,FL);if(!a)return null;let o=n.parse(t[e+1],e+1,r);if(!o)return null;i.push([a,o]),r||=o.type}let a=n.parse(t[t.length-1],t.length-1,r);if(!a)return null;if(!r)throw Error(`Can't infer output type`);return new e(r,i,a)}evaluate(e){for(let[t,n]of this.branches)if(t.evaluate(e))return n.evaluate(e);return this.otherwise.evaluate(e)}eachChild(e){for(let[t,n]of this.branches)e(t),e(n);e(this.otherwise)}outputDefined(){return this.branches.every(([e,t])=>t.outputDefined())&&this.otherwise.outputDefined()}},IR=class e{constructor(e,t,n,r,i){this.type=e,this.input=t,this.beginIndex=n,this.key=r,this.endIndex=i}static parse(t,n){if(t.length<=2||t.length>=5)return n.error(`Expected 2 or 3 arguments, but found ${t.length-1} instead.`);let r=n.parse(t[1],1,zL),i=n.parse(t[2],2,NL);if(!r||!i)return null;if(!dw(r.type,[cw(zL),PL,zL]))return n.error(`Expected first argument to be of type array or string, but found ${lw(r.type)} instead`);if(t.length===4){let a=n.parse(t[3],3,NL);return a?new e(r.type,r,i,n.key,a):null}return new e(r.type,r,i,n.key)}evaluate(e){let t=this.input.evaluate(e),n=this.beginIndex.evaluate(e),r;if(this.endIndex&&(r=this.endIndex.evaluate(e)),fw(t,[`string`]))return[...t].slice(n,r).join(``);if(fw(t,[`array`]))return t.slice(n,r);throw new fR(`Expected first argument to be of type array or string, but found ${lw(Fw(t))} instead.`,this.key)}eachChild(e){e(this.input),e(this.beginIndex),this.endIndex&&e(this.endIndex)}outputDefined(){return!1}},LR=class e{constructor(e,t){this.type=e,this.args=t}static parse(t,n){if(t.length<2)return n.error(`Expected at least one argument.`);let r=null,i=n.expectedType;i&&i.kind!==`value`&&(r=i);let a=[];for(let e of t.slice(1)){let t=n.parse(e,1+a.length,r,void 0,{typeAnnotation:`omit`});if(!t)return null;r||=t.type,a.push(t)}if(!r)throw Error(`No output type`);return i&&a.some(e=>uw(i,e.type))?new e(zL,a):new e(r,a)}evaluate(e){let t=null,n=0,r;for(let i of this.args)if(n++,t=i.evaluate(e),t&&t instanceof hR&&!t.available&&(r||=t.name,t=null,n===this.args.length&&(t=r)),t!==null)break;return t}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}},RR=aT(`==`,qw,$w),zR=aT(`!=`,Jw,eT),BR=aT(`<`,Yw,tT),VR=aT(`>`,Xw,nT),HR=aT(`<=`,Zw,rT),UR=aT(`>=`,Qw,iT),WR=class e{constructor(e,t,n){this.type=VL,this.locale=n,this.caseSensitive=e,this.diacriticSensitive=t}static parse(t,n){if(t.length!==2)return n.error(`Expected one argument.`);let r=t[1];if(typeof r!=`object`||Array.isArray(r))return n.error(`Collator options argument must be an object.`);let i=n.parse(r[`case-sensitive`]!==void 0&&r[`case-sensitive`],1,FL);if(!i)return null;let a=n.parse(r[`diacritic-sensitive`]!==void 0&&r[`diacritic-sensitive`],1,FL);if(!a)return null;let o=null;return r.locale&&(o=n.parse(r.locale,1,PL),!o)?null:new e(i,a,o)}evaluate(e){return new _R(this.caseSensitive.evaluate(e),this.diacriticSensitive.evaluate(e),this.locale?this.locale.evaluate(e):null)}eachChild(e){e(this.caseSensitive),e(this.diacriticSensitive),this.locale&&e(this.locale)}outputDefined(){return!1}},GR=class e{constructor(e,t,n,r,i,a){this.type=PL,this.number=e,this.locale=t,this.currency=n,this.unit=r,this.minFractionDigits=i,this.maxFractionDigits=a}static parse(t,n){if(t.length!==3)return n.error(`Expected two arguments.`);let r=n.parse(t[1],1,NL);if(!r)return null;let i=t[2];if(typeof i!=`object`||Array.isArray(i))return n.error(`NumberFormat options argument must be an object.`);let a=null;if(i.locale&&(a=n.parse(i.locale,1,PL),!a))return null;let o=null;if(i.currency&&(o=n.parse(i.currency,1,PL),!o))return null;let s=null;if(i.unit&&(s=n.parse(i.unit,1,PL),!s))return null;if(o&&s)return n.error("NumberFormat options `currency` and `unit` are mutually exclusive");let c=null;if(i[`min-fraction-digits`]&&(c=n.parse(i[`min-fraction-digits`],1,NL),!c))return null;let l=null;return i[`max-fraction-digits`]&&(l=n.parse(i[`max-fraction-digits`],1,NL),!l)?null:new e(r,a,o,s,c,l)}evaluate(e){return new Intl.NumberFormat(this.locale?this.locale.evaluate(e):[],{style:this.currency?`currency`:this.unit?`unit`:`decimal`,currency:this.currency?this.currency.evaluate(e):void 0,unit:this.unit?this.unit.evaluate(e):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(e):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(e):void 0}).format(this.number.evaluate(e))}eachChild(e){e(this.number),this.locale&&e(this.locale),this.currency&&e(this.currency),this.unit&&e(this.unit),this.minFractionDigits&&e(this.minFractionDigits),this.maxFractionDigits&&e(this.maxFractionDigits)}outputDefined(){return!1}},KR=class e{constructor(e){this.type=KL,this.input=e}static parse(t,n){if(t.length!==2)return n.error(`Expected two arguments.`);let r=n.parse(t[1],1,PL);return r?new e(r):n.error(`No image name provided.`)}evaluate(e){let t=this.input.evaluate(e),n=hR.fromString(t);return n&&e.availableImages&&(n.available=e.availableImages.indexOf(t)>-1),n}eachChild(e){e(this.input)}outputDefined(){return!1}},qR=class e{constructor(e,t){this.input=e,this.key=t,this.type=NL}static parse(t,n){if(t.length!==2)return n.error(`Expected 1 argument, but found ${t.length-1} instead.`);let r=n.parse(t[1],1);return r?r.type.kind!==`array`&&r.type.kind!==`string`&&r.type.kind!==`value`?n.error(`Expected argument of type string or array, but found ${lw(r.type)} instead.`):new e(r,n.key):null}evaluate(e){let t=this.input.evaluate(e);if(typeof t==`string`)return[...t].length;if(Array.isArray(t))return t.length;throw new fR(`Expected value to be of type string or array, but found ${lw(Fw(t))} instead.`,this.key)}eachChild(e){e(this.input)}outputDefined(){return!1}},JR=8192,YR=class e{constructor(e,t){this.type=FL,this.geojson=e,this.geometries=t}static parse(t,n){if(t.length!==2)return n.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if(Pw(t[1])){let n=t[1];if(n.type===`FeatureCollection`){let t=[];for(let e of n.features){let{type:n,coordinates:r}=e.geometry;n===`Polygon`&&t.push(r),n===`MultiPolygon`&&t.push(...r)}if(t.length)return new e(n,{type:`MultiPolygon`,coordinates:t})}else if(n.type===`Feature`){let t=n.geometry.type;if(t===`Polygon`||t===`MultiPolygon`)return new e(n,n.geometry)}else if(n.type===`Polygon`||n.type===`MultiPolygon`)return new e(n,n)}return n.error(`'within' expression requires valid geojson object that contains polygon geometry type.`)}evaluate(e){if(e.geometry()!=null&&e.canonicalID()!=null){if(e.geometryType()===`Point`)return AT(e,this.geometries);if(e.geometryType()===`LineString`)return jT(e,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}},XR=class{constructor(e=[],t=(e,t)=>e<t?-1:+(e>t)){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let e=(this.length>>1)-1;e>=0;e--)this._down(e)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(this.length===0)return;let e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){let{data:t,compare:n}=this,r=t[e];for(;e>0;){let i=e-1>>1,a=t[i];if(n(r,a)>=0)break;t[e]=a,e=i}t[e]=r}_down(e){let{data:t,compare:n}=this,r=this.length>>1,i=t[e];for(;e<r;){let r=(e<<1)+1,a=r+1;if(a<this.length&&n(t[a],t[r])<0&&(r=a),n(t[r],i)>=0)break;t[e]=t[r],e=r}t[e]=i}},ZR=Math.PI/180,QR=class{constructor(e){let t=ZR*6378.137*1e3,n=Math.cos(e*ZR),r=1/(1-.0066943799901413165*(1-n*n)),i=Math.sqrt(r);this.kx=t*i*n,this.ky=t*i*r*.9933056200098587}distance(e,t){let n=this.wrap(e[0]-t[0])*this.kx,r=(e[1]-t[1])*this.ky;return Math.sqrt(n*n+r*r)}pointOnLine(e,t){let n=1/0,r,i,a,o;for(let s=0;s<e.length-1;s++){let c=e[s][0],l=e[s][1],u=this.wrap(e[s+1][0]-c)*this.kx,d=(e[s+1][1]-l)*this.ky,f=0;(u!==0||d!==0)&&(f=(this.wrap(t[0]-c)*this.kx*u+(t[1]-l)*this.ky*d)/(u*u+d*d),f>1?(c=e[s+1][0],l=e[s+1][1]):f>0&&(c+=u/this.kx*f,l+=d/this.ky*f)),u=this.wrap(t[0]-c)*this.kx,d=(t[1]-l)*this.ky;let p=u*u+d*d;p<n&&(n=p,r=c,i=l,a=s,o=f)}return{point:[r,i],index:a,t:Math.max(0,Math.min(1,o))}}wrap(e){for(;e<-180;)e+=360;for(;e>180;)e-=360;return e}},$R=class e{constructor(e,t){this.type=NL,this.geojson=e,this.geometries=t}static parse(t,n){if(t.length!==2)return n.error(`'distance' expression requires exactly one argument, but found ${t.length-1} instead.`);if(Pw(t[1])){let n=t[1];if(n.type===`FeatureCollection`)return new e(n,n.features.map(e=>tE(e.geometry)).flat());if(n.type===`Feature`)return new e(n,tE(n.geometry));if(`type`in n&&`coordinates`in n)return new e(n,tE(n))}return n.error(`'distance' expression requires valid geojson object that contains polygon geometry type.`)}evaluate(e){if(e.geometry()!=null&&e.canonicalID()!=null){if(e.geometryType()===`Point`)return QT(e,this.geometries);if(e.geometryType()===`LineString`)return $T(e,this.geometries);if(e.geometryType()===`Polygon`)return eE(e,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}},ez=class e{constructor(e){let t=null;for(let n of e)if(!t)t=n.type;else{if(t===n.type)continue;t=zL;break}this.type=cw(t??zL,e.length),this.arr=e}static parse(t,n){if(t.length!==2)return n.error(`'semiliteral' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!Pw(t[1]))return n.error(`invalid value of type "${typeof t[1]}"`);let r=t[1],i=Fw(r);if(i.kind===`array`){let t=r.map(e=>n.parse(e,null,zL));return new e(t)}return new vR(i,r)}evaluate(e){return this.arr.map(t=>t.evaluate(e))}eachChild(e){this.arr.forEach(e)}outputDefined(){return this.arr.every(e=>e.outputDefined())}},tz=class e{constructor(e){this.key=e,this.type=zL}static parse(t,n){if(t.length!==2)return n.error(`Expected 1 argument, but found ${t.length-1} instead.`);let r=t[1];return r==null?n.error(`Global state property must be defined.`):typeof r==`string`?new e(r):n.error(`Global state property must be string, but found ${typeof t[1]} instead.`)}evaluate(e){let t=e.globals?.globalState;return!t||Object.keys(t).length===0?null:ww(t,this.key)??null}eachChild(){}outputDefined(){return!1}},nz={"==":RR,"!=":zR,">":VR,"<":BR,">=":UR,"<=":HR,array:ER,at:jR,boolean:ER,case:FR,coalesce:LR,collator:WR,format:wR,image:KR,in:MR,"index-of":NR,interpolate:SR,"interpolate-hcl":SR,"interpolate-lab":SR,length:qR,let:kR,literal:vR,match:PR,number:ER,"number-format":GR,object:ER,semiliteral:ez,slice:IR,step:xR,string:ER,"to-boolean":OR,"to-color":OR,"to-number":OR,"to-string":OR,var:AR,within:YR,distance:$R,"global-state":tz},rz=class extends Error{constructor(e,t){super(t),this.message=t,this.key=e}},iz=class e{constructor(e,t=[]){this.parent=e,this.bindings={};for(let[e,n]of t)this.bindings[e]=n}concat(t){return new e(this,t)}get(e){if(this.bindings[e])return this.bindings[e];if(this.parent)return this.parent.get(e);throw Error(`${e} not found in scope.`)}has(e){return this.bindings[e]?!0:this.parent?this.parent.has(e):!1}},az=class e{constructor(e,t,n=[],r,i=new iz,a=[]){this.registry=e,this.path=n,this.key=n.map(e=>`[${e}]`).join(``),this.scope=i,this.errors=a,this.expectedType=r,this._isConstant=t}parse(e,t,n,r,i={}){return t?this.concat(t,n,r)._parse(e,i):this._parse(e,i)}_parse(e,t){(e===null||typeof e==`string`||typeof e==`boolean`||typeof e==`number`)&&(e=[`literal`,e]);let n=this.key;function r(e,t,r){return r===`assert`?new ER(t,[e],n):r===`coerce`?new OR(t,[e],n):e}if(Array.isArray(e)){if(e.length===0)return this.error(`Expected an array with at least one element. If you wanted a literal array, use ["literal", []].`);let n=e[0];if(typeof n!=`string`)return this.error(`Expression name must be a string, but found ${typeof n} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;let i=this.registry[n];if(i){let n=i.parse(e,this);if(!n)return null;if(this.expectedType){let e=this.expectedType,i=n.type;if((e.kind===`string`||e.kind===`number`||e.kind===`boolean`||e.kind===`object`||e.kind===`array`)&&i.kind===`value`)n=r(n,e,t.typeAnnotation||`assert`);else if(e.kind===`projectionDefinition`&&[`string`,`array`,`value`].includes(i.kind)||[`color`,`formatted`,`resolvedImage`].includes(e.kind)&&[`value`,`string`].includes(i.kind)||[`padding`,`numberArray`].includes(e.kind)&&[`value`,`number`,`array`].includes(i.kind)||e.kind===`colorArray`&&[`value`,`string`,`array`].includes(i.kind)||e.kind===`variableAnchorOffsetCollection`&&[`value`,`array`].includes(i.kind))n=r(n,e,t.typeAnnotation||`coerce`);else if(this.checkSubtype(e,i))return null}if(!(n instanceof vR)&&n.type.kind!==`resolvedImage`&&this._isConstant(n)){let e=new bR;try{n=new vR(n.type,n.evaluate(e))}catch(e){return this.error(e.message),null}}return n}return this.error(`Unknown expression "${n}". If you wanted a literal array, use ["literal", [...]].`,0)}return e===void 0?this.error(`'undefined' value invalid. Use null instead.`):typeof e==`object`?this.error(`Bare objects invalid. Use ["literal", {...}] instead.`):this.error(`Expected an array, but found ${typeof e} instead.`)}concat(t,n,r){let i=typeof t==`number`?this.path.concat(t):this.path,a=r?this.scope.concat(r):this.scope;return new e(this.registry,this._isConstant,i,n||null,a,this.errors)}error(e,...t){let n=`${this.key}${t.map(e=>`[${e}]`).join(``)}`;this.errors.push(new rz(n,e))}checkSubtype(e,t){let n=uw(e,t);return n&&this.error(n),n}},oz=class e{constructor(e,t,n,r,i){this.name=e,this.type=t,this._evaluate=n,this.args=r,this.key=i}evaluate(e){return this._evaluate(e,this.args,this.key)}eachChild(e){this.args.forEach(e)}outputDefined(){return!1}static parse(t,n){let r=t[0],i=e.definitions[r];if(!i)return n.error(`Unknown expression "${r}". If you wanted a literal array, use ["literal", [...]].`,0);let a=Array.isArray(i)?i[0]:i.type,o=Array.isArray(i)?[[i[1],i[2]]]:i.overloads,s=o.filter(([e])=>!Array.isArray(e)||e.length===t.length-1),c=null;for(let[i,o]of s){c=new az(n.registry,cE,n.path,null,n.scope);let s=[],l=!1;for(let e=1;e<t.length;e++){let n=t[e],r=Array.isArray(i)?i[e-1]:i.type,a=c.parse(n,1+s.length,r);if(!a){l=!0;break}s.push(a)}if(!l){if(Array.isArray(i)&&i.length!==s.length){c.error(`Expected ${i.length} arguments, but found ${s.length} instead.`);continue}for(let e=0;e<s.length;e++){let t=Array.isArray(i)?i[e]:i.type,n=s[e];c.concat(e+1).checkSubtype(t,n.type)}if(c.errors.length===0)return new e(r,a,o,s,n.key)}}if(s.length===1)n.errors.push(...c.errors);else{let e=(s.length?s:o).map(([e])=>sE(e)).join(` | `),r=[];for(let e=1;e<t.length;e++){let i=n.parse(t[e],1+r.length);if(!i)return null;r.push(lw(i.type))}n.error(`Expected arguments of type ${e}, but found (${r.join(`, `)}) instead.`)}return null}static register(t,n){e.definitions=n;for(let r in n)t[r]=e}},oz.register(nz,{error:[BL,[PL],(e,[t],n)=>{throw new fR(t.evaluate(e),n)}],typeof:[PL,[zL],(e,[t])=>lw(Fw(t.evaluate(e)))],"to-rgba":[cw(NL,4),[IL],(e,[t])=>{let[n,r,i,a]=t.evaluate(e).rgb;return[n*255,r*255,i*255,a]}],rgb:[IL,[NL,NL,NL],nE],rgba:[IL,[NL,NL,NL,NL],nE],has:{type:FL,overloads:[[[PL],(e,[t])=>rE(t.evaluate(e),e.properties())],[[PL,RL],(e,[t,n])=>rE(t.evaluate(e),n.evaluate(e))]]},get:{type:zL,overloads:[[[PL],(e,[t])=>iE(t.evaluate(e),e.properties())],[[PL,RL],(e,[t,n])=>iE(t.evaluate(e),n.evaluate(e))]]},"feature-state":[zL,[PL],(e,[t])=>iE(t.evaluate(e),e.featureState||{})],properties:[RL,[],e=>e.properties()],"geometry-type":[PL,[],e=>e.geometryType()],id:[zL,[],e=>e.id()],zoom:[NL,[],e=>e.globals.zoom],"heatmap-density":[NL,[],e=>e.globals.heatmapDensity||0],elevation:[NL,[],e=>e.globals.elevation||0],"line-progress":[NL,[],e=>e.globals.lineProgress||0],accumulated:[zL,[],e=>e.globals.accumulated===void 0?null:e.globals.accumulated],"+":[NL,oE(NL),(e,t)=>{let n=0;for(let r of t)n+=r.evaluate(e);return n}],"*":[NL,oE(NL),(e,t)=>{let n=1;for(let r of t)n*=r.evaluate(e);return n}],"-":{type:NL,overloads:[[[NL,NL],(e,[t,n])=>t.evaluate(e)-n.evaluate(e)],[[NL],(e,[t])=>-t.evaluate(e)]]},"/":[NL,[NL,NL],(e,[t,n])=>t.evaluate(e)/n.evaluate(e)],"%":[NL,[NL,NL],(e,[t,n])=>t.evaluate(e)%n.evaluate(e)],ln2:[NL,[],()=>Math.LN2],pi:[NL,[],()=>Math.PI],e:[NL,[],()=>Math.E],"^":[NL,[NL,NL],(e,[t,n])=>t.evaluate(e)**+n.evaluate(e)],sqrt:[NL,[NL],(e,[t])=>Math.sqrt(t.evaluate(e))],log10:[NL,[NL],(e,[t])=>Math.log(t.evaluate(e))/Math.LN10],ln:[NL,[NL],(e,[t])=>Math.log(t.evaluate(e))],log2:[NL,[NL],(e,[t])=>Math.log(t.evaluate(e))/Math.LN2],sin:[NL,[NL],(e,[t])=>Math.sin(t.evaluate(e))],cos:[NL,[NL],(e,[t])=>Math.cos(t.evaluate(e))],tan:[NL,[NL],(e,[t])=>Math.tan(t.evaluate(e))],asin:[NL,[NL],(e,[t])=>Math.asin(t.evaluate(e))],acos:[NL,[NL],(e,[t])=>Math.acos(t.evaluate(e))],atan:[NL,[NL],(e,[t])=>Math.atan(t.evaluate(e))],min:[NL,oE(NL),(e,t)=>Math.min(...t.map(t=>t.evaluate(e)))],max:[NL,oE(NL),(e,t)=>Math.max(...t.map(t=>t.evaluate(e)))],abs:[NL,[NL],(e,[t])=>Math.abs(t.evaluate(e))],round:[NL,[NL],(e,[t])=>{let n=t.evaluate(e);return n<0?-Math.round(-n):Math.round(n)}],floor:[NL,[NL],(e,[t])=>Math.floor(t.evaluate(e))],ceil:[NL,[NL],(e,[t])=>Math.ceil(t.evaluate(e))],"filter-==":[FL,[PL,zL],(e,[t,n])=>e.properties()[t.value]===n.value],"filter-id-==":[FL,[zL],(e,[t])=>e.id()===t.value],"filter-type-==":[FL,[PL],(e,[t])=>e.geometryType()===t.value],"filter-<":[FL,[PL,zL],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r<i}],"filter-id-<":[FL,[zL],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n<r}],"filter->":[FL,[PL,zL],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r>i}],"filter-id->":[FL,[zL],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n>r}],"filter-<=":[FL,[PL,zL],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r<=i}],"filter-id-<=":[FL,[zL],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n<=r}],"filter->=":[FL,[PL,zL],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r>=i}],"filter-id->=":[FL,[zL],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n>=r}],"filter-has":[FL,[zL],(e,[t])=>{let n=t.value,r=e.properties();return n in r&&r[n]!==void 0}],"filter-has-id":[FL,[],e=>e.id()!==null&&e.id()!==void 0],"filter-type-in":[FL,[cw(PL)],(e,[t])=>t.value.indexOf(e.geometryType())>=0],"filter-id-in":[FL,[cw(zL)],(e,[t])=>t.value.indexOf(e.id())>=0],"filter-in-small":[FL,[PL,cw(zL)],(e,[t,n])=>n.value.indexOf(e.properties()[t.value])>=0],"filter-in-large":[FL,[PL,cw(zL)],(e,[t,n])=>aE(e.properties()[t.value],n.value,0,n.value.length-1)],all:{type:FL,overloads:[[[FL,FL],(e,[t,n])=>t.evaluate(e)&&n.evaluate(e)],[oE(FL),(e,t)=>{for(let n of t)if(!n.evaluate(e))return!1;return!0}]]},any:{type:FL,overloads:[[[FL,FL],(e,[t,n])=>t.evaluate(e)||n.evaluate(e)],[oE(FL),(e,t)=>{for(let n of t)if(n.evaluate(e))return!0;return!1}]]},"!":[FL,[FL],(e,[t])=>!t.evaluate(e)],"is-supported-script":[FL,[PL],(e,[t])=>{let n=e.globals&&e.globals.isSupportedScript;return!n||n(t.evaluate(e))}],upcase:[PL,[PL],(e,[t])=>t.evaluate(e).toUpperCase()],downcase:[PL,[PL],(e,[t])=>t.evaluate(e).toLowerCase()],concat:[PL,oE(zL),(e,t)=>t.map(t=>Iw(t.evaluate(e))).join(``)],split:[cw(PL),[PL,PL],(e,[t,n])=>t.evaluate(e).split(n.evaluate(e))],join:[PL,[cw(PL),PL],(e,[t,n])=>t.evaluate(e).join(n.evaluate(e))],"resolved-locale":[PL,[VL],(e,[t])=>t.evaluate(e).resolvedLocale()]}),sz=/^(.*)-transition$/,cz=class{constructor(e,t,n,r){this.expression=e,this._warningHistory={},this._evaluator=new bR,this._defaultValue=n?BE(n):null,this._enumValues=n&&n.type===`enum`?n.values:null,this._globalState=r,this._rootKey=t}evaluateWithoutErrorHandling(e,t,n,r,i,a){return this._globalState&&(e=VE(e,this._globalState)),this._evaluator.globals=e,this._evaluator.feature=t,this._evaluator.featureState=n,this._evaluator.canonical=r,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)}evaluate(e,t,n,r,i,a){this._globalState&&(e=VE(e,this._globalState)),this._evaluator.globals=e,this._evaluator.feature=t||null,this._evaluator.featureState=n||null,this._evaluator.canonical=r,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{let e=this.expression.evaluate(this._evaluator);if(e==null||typeof e==`number`&&e!==e)return this._defaultValue;if(this._enumValues&&!(e in this._enumValues))throw new fR(`Expected value to be one of ${Object.keys(this._enumValues).map(e=>JSON.stringify(e)).join(`, `)}, but found ${JSON.stringify(e)} instead.`,``);return e}catch(e){let t=e instanceof fR?e.path:``,n=`${t}|${e.message}`;return this._warningHistory[n]||(this._warningHistory[n]=!0,typeof console<`u`&&console.warn(AE(this._rootKey,t,e.message,this._defaultValue))),this._defaultValue}}},lz=class{constructor(e,t,n){this.kind=e,this._styleExpression=t,this.isStateDependent=e!==`constant`&&!uE(t.expression),this.globalStateRefs=RE(t.expression),this._globalState=n}evaluateWithoutErrorHandling(e,t,n,r,i,a){return this._globalState&&(e=VE(e,this._globalState)),this._styleExpression.evaluateWithoutErrorHandling(e,t,n,r,i,a)}evaluate(e,t,n,r,i,a){return this._globalState&&(e=VE(e,this._globalState)),this._styleExpression.evaluate(e,t,n,r,i,a)}},uz=class{constructor(e,t,n,r,i){this.kind=e,this.zoomStops=n,this._styleExpression=t,this.isStateDependent=e!==`camera`&&!uE(t.expression),this.globalStateRefs=RE(t.expression),this.interpolationType=r,this._globalState=i}evaluateWithoutErrorHandling(e,t,n,r,i,a){return this._globalState&&(e=VE(e,this._globalState)),this._styleExpression.evaluateWithoutErrorHandling(e,t,n,r,i,a)}evaluate(e,t,n,r,i,a){return this._globalState&&(e=VE(e,this._globalState)),this._styleExpression.evaluate(e,t,n,r,i,a)}interpolationFactor(e,t,n){return this.interpolationType?SR.interpolationFactor(this.interpolationType,e,t,n):0}},dz=class e{constructor(e,t,n){this.isStateDependent=!1,this.globalStateRefs=new Set,this._globalState=null,jE(t),this._parameters=e,this._specification=n,this._rootKey=t,this._defaultValue=BE(n),this._warningHistory={};let r=xE(this._parameters,this._specification);this.kind=r.kind,this.interpolationFactor=r.interpolationFactor,this.zoomStops=r.zoomStops,this.interpolationType=r.interpolationType,this._innerEvaluate=r.evaluate}evaluate(e,t){try{return this._innerEvaluate(e,t)}catch(e){let t=e instanceof Error?e.message:String(e),n=`|${t}`;return this._warningHistory[n]||(this._warningHistory[n]=!0,typeof console<`u`&&console.warn(AE(this._rootKey,``,t,this._defaultValue))),this._defaultValue}}static deserialize(t){return new e(t._parameters,t._rootKey,t._specification)}static serialize(e){return{_parameters:e._parameters,_specification:e._specification,_rootKey:e._rootKey}}},fz={type:`boolean`,default:!1,transition:!1,"property-type":`data-driven`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]}},pz={promoteId:OD},mz=1114111,hz=/^u\+(?:([0-9a-f]{1,6})(?:-([0-9a-f]{1,6}))?|([0-9a-f]{0,5}\?{1,6}))$/i,gz={"*"(){return[]},array:uD,boolean:mD,number:dD,color:hD,constants:oD,enum:gD,filter:yD,function:fD,layer:wD,object:lD,source:DD,light:kD,sky:AD,terrain:jD,projection:zD,projectionDefinition:BD,string:TD,formatted:MD,resolvedImage:ND,padding:PD,numberArray:FD,colorArray:ID,variableAnchorOffsetCollection:LD,sprite:RD,state:WD,fontFaces:KD},YD.source=QD(XD(DD)),YD.sprite=QD(XD(RD)),YD.glyphs=QD(XD(JD)),YD.fontFaces=QD(XD(KD)),YD.light=QD(XD(kD)),YD.sky=QD(XD(AD)),YD.terrain=QD(XD(jD)),YD.state=QD(XD(WD)),YD.layer=QD(XD(wD)),YD.filter=QD(XD(yD)),YD.paintProperty=QD(XD(SD)),YD.layoutProperty=QD(XD(CD)),_z={type:`enum`,"property-type":`data-constant`,expression:{interpolated:!1,parameters:[`global-state`]},values:{visible:{},none:{}},transition:!1,default:`visible`},vz=class{constructor(e,t,n){this._rootKey=t,this._globalState=n,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=NE(e,this._rootKey,_z,this._globalState);if(t.result===`error`)throw this._literalValue=`visible`,this._compiledValue=void 0,Error(t.value.map(e=>`${e.key}: ${e.message}`).join(`, `));this._literalValue=void 0,this._compiledValue=t.value,this._globalStateRefs=RE(t.value.expression)}getGlobalStateRefs(){return this._globalStateRefs}},yz=YD,bz=new Set(Object.keys(kL).filter(e=>e.startsWith(`source_`)).map(e=>e.slice(7).replaceAll(`_`,`-`))),xz=class e{constructor(e,t,n){let r=this.cells=[];if(e instanceof ArrayBuffer){this.arrayBuffer=e;let i=new Int32Array(this.arrayBuffer);e=i[0],t=i[1],n=i[2],this.d=t+2*n;for(let e=0;e<this.d*this.d;e++){let t=i[3+e],n=i[3+e+1];r.push(t===n?null:i.subarray(t,n))}let a=i[3+r.length],o=i[3+r.length+1];this.keys=i.subarray(a,o),this.bboxes=i.subarray(o),this.insert=this._insertReadonly}else{this.d=t+2*n;for(let e=0;e<this.d*this.d;e++)r.push([]);this.keys=[],this.bboxes=[]}this.n=t,this.extent=e,this.padding=n,this.scale=t/e,this.uid=0;let i=n/t*e;this.min=-i,this.max=e+i}insert(e,t,n,r,i){this._forEachCell(t,n,r,i,this._insertCell,this.uid++,void 0,void 0),this.keys.push(e),this.bboxes.push(t),this.bboxes.push(n),this.bboxes.push(r),this.bboxes.push(i)}_insertReadonly(){throw Error(`Cannot insert into a GridIndex created from an ArrayBuffer.`)}_insertCell(e,t,n,r,i,a){this.cells[i].push(a)}query(e,t,n,r,i){let a=this.min,o=this.max;if(e<=a&&t<=a&&o<=n&&o<=r&&!i)return[...this.keys];{let a=[];return this._forEachCell(e,t,n,r,this._queryCell,a,{},i),a}}_queryCell(e,t,n,r,i,a,o,s){let c=this.cells[i];if(c!==null){let i=this.keys,l=this.bboxes;for(let u of c)if(o[u]===void 0){let c=u*4;(s?s(l[c+0],l[c+1],l[c+2],l[c+3]):e<=l[c+2]&&t<=l[c+3]&&n>=l[c+0]&&r>=l[c+1])?(o[u]=!0,a.push(i[u])):o[u]=!1}}}_forEachCell(e,t,n,r,i,a,o,s){let c=this._convertToCellCoord(e),l=this._convertToCellCoord(t),u=this._convertToCellCoord(n),d=this._convertToCellCoord(r);for(let f=c;f<=u;f++)for(let c=l;c<=d;c++){let l=this.d*c+f;if((!s||s(this._convertFromCellCoord(f),this._convertFromCellCoord(c),this._convertFromCellCoord(f+1),this._convertFromCellCoord(c+1)))&&i.call(this,e,t,n,r,l,a,o,s))return}}_convertFromCellCoord(e){return(e-this.padding)/this.scale}_convertToCellCoord(e){return Math.max(0,Math.min(this.d-1,Math.floor(e*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let e=this.cells,t=3+this.cells.length+1+1,n=0;for(let e of this.cells)n+=e.length;let r=new Int32Array(t+n+this.keys.length+this.bboxes.length);r[0]=this.extent,r[1]=this.n,r[2]=this.padding;let i=t;for(let t=0;t<e.length;t++){let n=e[t];r[3+t]=i,r.set(n,i),i+=n.length}return r[3+e.length]=i,r.set(this.keys,i),i+=this.keys.length,r[3+e.length+1]=i,r.set(this.bboxes,i),i+=this.bboxes.length,r.buffer}static serialize(e,t){let n=e.toArrayBuffer();return t&&t.push(n),{buffer:n}}static deserialize(t){return new e(t.buffer)}},Sz={},iO(`Object`,Object),iO(`Set`,Set),iO(`TransferableGridIndex`,xz),iO(`Color`,aR),iO(`Error`,Error),iO(`AJAXError`,yL),iO(`ResolvedImage`,hR),iO(`StylePropertyFunction`,dz),iO(`StyleExpression`,cz,{omit:[`_evaluator`]}),iO(`ZoomDependentExpression`,uz),iO(`ZoomConstantExpression`,lz),iO(`CompoundExpression`,oz,{omit:[`_evaluate`]});for(let e in nz)nz[e]._classRegistryKey||iO(`Expression_${e}`,nz[e]);Cz=class{constructor(){this.first=!0}update(e,t){let n=Math.floor(e);return this.first?(this.first=!1,this.lastIntegerZoom=n,this.lastIntegerZoomTime=0,this.lastZoom=e,this.lastFloorZoom=n,!0):(this.lastFloorZoom>n?(this.lastIntegerZoom=n+1,this.lastIntegerZoomTime=t):this.lastFloorZoom<n&&(this.lastIntegerZoom=n,this.lastIntegerZoomTime=t),e!==this.lastZoom&&(this.lastZoom=e,this.lastFloorZoom=n,!0))}},wz=class{constructor(e,t){this.zoom=e,t?(this.now=t.now||0,this.fadeDuration=t.fadeDuration||0,this.zoomHistory=t.zoomHistory||new Cz,this.transition=t.transition||{}):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Cz,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),n=this.crossFadingFactor();return e>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:t+(1-t)*n}:{fromScale:.5,toScale:1,t:1-(1-n)*t}}},Tz=`-transition`,Ez=class{constructor(e,t,n,r){this.property=e,this.value=t,this.expression=IE(t===void 0?e.specification.default:t,n,e.specification,r)}isDataDriven(){return this.expression.kind===`source`||this.expression.kind===`composite`}getGlobalStateRefs(){return this.expression.globalStateRefs||new Set}possiblyEvaluate(e,t,n){return this.property.possiblyEvaluate(this,e,t,n)}},Dz=class{constructor(e,t,n){this.property=e,this.value=new Ez(e,void 0,t,n)}transitioned(e,t){return new kz(this.property,this.value,t,yC({},e.transition,this.transition),e.now)}untransitioned(){return new kz(this.property,this.value,null,{},0)}},Oz=class{constructor(e,t,n){this._properties=e,this._values=Object.create(e.defaultTransitionablePropertyValues),this._globalState=n,this._rootKey=t}_propertyRootKey(e){return`${this._rootKey}.${String(e)}`}hasProperty(e){return e in this._properties.defaultTransitionablePropertyValues}getValue(e){return AC(this._values[e].value.value)}setValue(e,t){Object.hasOwn(this._values,e)||(this._values[e]=new Dz(this._values[e].property,this._propertyRootKey(e),this._globalState)),this._values[e].value=new Ez(this._values[e].property,t===null?void 0:AC(t),this._propertyRootKey(e),this._globalState)}getTransition(e){return AC(this._values[e].transition)}setTransition(e,t){Object.hasOwn(this._values,e)||(this._values[e]=new Dz(this._values[e].property,this._propertyRootKey(e),this._globalState)),this._values[e].transition=AC(t)||void 0}serialize(){let e={};for(let t of Object.keys(this._values)){let n=this.getValue(t);n!==void 0&&(e[t]=n);let r=this.getTransition(t);r!==void 0&&(e[`${t}${Tz}`]=r)}return e}transitioned(e,t){let n=new Az(this._properties);for(let r of Object.keys(this._values))n._values[r]=this._values[r].transitioned(e,t._values[r]);return n}untransitioned(){let e=new Az(this._properties);for(let t of Object.keys(this._values))e._values[t]=this._values[t].untransitioned();return e}},kz=class{constructor(e,t,n,r,i){this.property=e,this.value=t,this.begin=i+r.delay||0,this.end=this.begin+r.duration||0,e.specification.transition&&(r.delay||r.duration)&&(this.prior=n)}possiblyEvaluate(e,t,n){let r=e.now||0,i=this.value.possiblyEvaluate(e,t,n),a=this.prior;if(!a)return i;if(r>this.end||this.value.isDataDriven())return this.prior=null,i;if(r<this.begin)return a.possiblyEvaluate(e,t,n);{let o=(r-this.begin)/(this.end-this.begin);return this.property.interpolate(a.possiblyEvaluate(e,t,n),i,hC(o))}}},Az=class{constructor(e){this._properties=e,this._values=Object.create(e.defaultTransitioningPropertyValues)}possiblyEvaluate(e,t,n){let r=new Nz(this._properties);for(let i of Object.keys(this._values))r._values[i]=this._values[i].possiblyEvaluate(e,t,n);return r}hasTransition(){for(let e of Object.keys(this._values))if(this._values[e].prior)return!0;return!1}},jz=class{constructor(e,t,n){this._properties=e,this._values=Object.create(e.defaultPropertyValues),this._globalState=n,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 AC(this._values[e].value)}setValue(e,t){this._values[e]=new Ez(this._values[e].property,t===null?void 0:AC(t),this._propertyRootKey(e),this._globalState)}serialize(){let e={};for(let t of Object.keys(this._values)){let n=this.getValue(t);n!==void 0&&(e[t]=n)}return e}possiblyEvaluate(e,t,n){let r=new Nz(this._properties);for(let i of Object.keys(this._values))r._values[i]=this._values[i].possiblyEvaluate(e,t,n);return r}},Mz=class{constructor(e,t,n){this.property=e,this.value=t,this.parameters=n}isConstant(){return this.value.kind===`constant`}constantOr(e){return this.value.kind===`constant`?this.value.value:e}evaluate(e,t,n,r){return this.property.evaluate(this.value,this.parameters,e,t,n,r)}},Nz=class{constructor(e){this._properties=e,this._values=Object.create(e.defaultPossiblyEvaluatedValues)}get(e){return this._values[e]}},Pz=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,n){if(fO(e,t))return jC(`Property "${this.name}" is trying to interpolate arrays of different lengths. Rendering may 'jump'.`),t;let r=this.specification.type,i=CR[r];return i?i(e,t,n):e}},Fz=class{constructor(e,t,n){this.specification=e,this.name=t,this.overrides=n}possiblyEvaluate(e,t,n,r){return e.expression.kind===`constant`||e.expression.kind===`camera`?new Mz(this,{kind:`constant`,value:e.expression.evaluate(t,null,{},n,r)},t):new Mz(this,e.expression,t)}interpolate(e,t,n){if(e.value.kind!==`constant`||t.value.kind!==`constant`)return e;if(e.value.value===void 0||t.value.value===void 0)return new Mz(this,{kind:`constant`,value:void 0},e.parameters);if(fO(e.value.value,t.value.value))return jC(`Property "${this.name}" is trying to interpolate arrays of different lengths. Rendering may 'jump'.`),t;let r=this.specification.type,i=CR[r];if(i){let r=i(e.value.value,t.value.value,n);return new Mz(this,{kind:`constant`,value:r},e.parameters)}return e}evaluate(e,t,n,r,i,a){return e.kind===`constant`?e.value:e.evaluate(t,n,r,i,a)}},Iz=class extends Fz{possiblyEvaluate(e,t,n,r){if(e.value===void 0)return new Mz(this,{kind:`constant`,value:void 0},t);if(e.expression.kind===`constant`){let i=e.expression.evaluate(t,null,{},n,r),a=e.property.specification.type===`resolvedImage`&&typeof i!=`string`?i.name:i,o=this._calculate(a,a,a,t);return new Mz(this,{kind:`constant`,value:o},t)}if(e.expression.kind===`camera`){let n=this._calculate(e.expression.evaluate({zoom:t.zoom-1}),e.expression.evaluate({zoom:t.zoom}),e.expression.evaluate({zoom:t.zoom+1}),t);return new Mz(this,{kind:`constant`,value:n},t)}return new Mz(this,e.expression,t)}evaluate(e,t,n,r,i,a){if(e.kind===`source`){let o=e.evaluate(t,n,r,i,a);return this._calculate(o,o,o,t)}return e.kind===`composite`?this._calculate(e.evaluate({zoom:Math.floor(t.zoom)-1},n,r),e.evaluate({zoom:Math.floor(t.zoom)},n,r),e.evaluate({zoom:Math.floor(t.zoom)+1},n,r),t):e.value}_calculate(e,t,n,r){return r.zoom>r.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:n,to:t}}interpolate(e){return e}},Lz=class{constructor(e,t){this.specification=e,this.name=t}possiblyEvaluate(e,t,n,r){if(e.value!==void 0){if(e.expression.kind===`constant`){let i=e.expression.evaluate(t,null,{},n,r);return this._calculate(i,i,i,t)}return this._calculate(e.expression.evaluate(new wz(Math.floor(t.zoom-1),t)),e.expression.evaluate(new wz(Math.floor(t.zoom),t)),e.expression.evaluate(new wz(Math.floor(t.zoom+1),t)),t)}}_calculate(e,t,n,r){return r.zoom>r.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:n,to:t}}interpolate(e){return e}},Rz=class{constructor(e,t){this.specification=e,this.name=t}possiblyEvaluate(e,t,n,r){return!!e.expression.evaluate(t,null,{},n,r)}interpolate(){return!1}},zz=class{constructor(e){this.properties=e,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let t in e){let n=e[t];n.specification.overridable&&this.overridableProperties.push(t);let r=this.defaultPropertyValues[t]=new Ez(n,void 0,n.name,void 0),i=this.defaultTransitionablePropertyValues[t]=new Dz(n,n.name,void 0);this.defaultTransitioningPropertyValues[t]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[t]=r.possiblyEvaluate({})}}},iO(`DataDrivenProperty`,Fz),iO(`DataConstantProperty`,Pz),iO(`CrossFadedDataDrivenProperty`,Iz),iO(`CrossFadedProperty`,Lz),iO(`ColorRampProperty`,Rz),Bz=` is a PAINT property not a LAYOUT property. Use get/setPaintProperty instead?`,Vz=` is a LAYOUT property not a PAINT property. Use get/setLayoutProperty instead?`,Hz=class extends DL{constructor(e,t,n){if(super(),this.id=e.id,this.type=e.type,this._globalState=n,this._featureFilter={filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set},this._visibilityExpression=$D(this.visibility,`layers[${this.id}].layout.visibility`,n),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=ZE(e.filter,`layers[${this.id}].filter`,n)),t.layout&&(this._unevaluatedLayout=new jz(t.layout,`layers[${this.id}].layout`,n)),t.paint)){this._transitionablePaint=new Oz(t.paint,`layers[${this.id}].paint`,n);for(let t in e.paint)this.setPaintProperty(t,e.paint[t],{validate:!1});for(let t in e.layout)this.setLayoutProperty(t,e.layout[t],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Nz(t.paint)}}setFilter(e){this.filter=e,this._featureFilter=ZE(e,`layers[${this.id}].filter`,this._globalState)}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(e){var t;if(e===`visibility`)return this.visibility;if((t=this._transitionablePaint)!=null&&t.hasProperty(e))throw Error(e+Bz);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 n=this._unevaluatedLayout._values[t];for(let t of n.getGlobalStateRefs())e.add(t)}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 n=this._transitionablePaint._values[t].value;for(let r of n.getGlobalStateRefs()){let i=e.get(r)??[];i.push({name:t,value:n.value}),e.set(r,i)}}return e}getVisibilityAffectingGlobalStateRefs(){return this._visibilityExpression.getGlobalStateRefs()}setLayoutProperty(e,t,n={}){var r;if(e===`visibility`){this.visibility=t,this._visibilityExpression.setValue(t),this.recalculateVisibility();return}if((r=this._transitionablePaint)!=null&&r.hasProperty(e)){this.fire(new EL(Error(e+Bz)));return}t!=null&&this._validate(yz.layoutProperty,`layers.${this.id}.layout.${e}`,e,t,n)||this._unevaluatedLayout.setValue(e,t)}getPaintProperty(e){var t,n;if(e.endsWith(`-transition`)){let n=e.slice(0,-11);if(n===`visibility`||(t=this._unevaluatedLayout)!=null&&t.hasProperty(n))throw Error(e+Vz);return this._transitionablePaint.getTransition(n)}if(e===`visibility`||(n=this._unevaluatedLayout)!=null&&n.hasProperty(e))throw Error(e+Vz);return this._transitionablePaint.getValue(e)}setPaintProperty(e,t,n={}){var r;if(e===`visibility`||(r=this._unevaluatedLayout)!=null&&r.hasProperty(e))return this.fire(new EL(Error(e+Vz))),!1;if(t!=null&&this._validate(yz.paintProperty,`layers.${this.id}.paint.${e}`,e,t,n))return!1;if(e.endsWith(`-transition`))return this._transitionablePaint.setTransition(e.slice(0,-11),t||void 0),!1;{let n=this._transitionablePaint._values[e],r=n.property.specification[`property-type`]===`cross-faded-data-driven`,i=n.value.isDataDriven(),a=n.value;this._transitionablePaint.setValue(e,t),this._handleSpecialPaintPropertyUpdate(e);let o=this._transitionablePaint._values[e].value;return o.isDataDriven()||i||r||this._handleOverridablePaintPropertyUpdate(e,a,o)}}_handleSpecialPaintPropertyUpdate(e){}_handleOverridablePaintPropertyUpdate(e,t,n){return!1}isHidden(e=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)}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.visibility=this.visibility),OC(e,(e,t)=>e!==void 0&&!(t===`layout`&&!Object.keys(e).length)&&!(t===`paint`&&!Object.keys(e).length))}_validate(e,t,n,r,i={}){return rO(this,e,{key:t,layerType:this.type,objectKey:n,value:r},i)}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 Mz&&fE(t.property.specification)&&(t.value.kind===`source`||t.value.kind===`composite`)&&t.value.isStateDependent)return!0}return!1}},Wz=()=>Uz||=new zz({"raster-opacity":new Pz(kL.paint_raster[`raster-opacity`],`raster-opacity`),"raster-hue-rotate":new Pz(kL.paint_raster[`raster-hue-rotate`],`raster-hue-rotate`),"raster-brightness-min":new Pz(kL.paint_raster[`raster-brightness-min`],`raster-brightness-min`),"raster-brightness-max":new Pz(kL.paint_raster[`raster-brightness-max`],`raster-brightness-max`),"raster-saturation":new Pz(kL.paint_raster[`raster-saturation`],`raster-saturation`),"raster-contrast":new Pz(kL.paint_raster[`raster-contrast`],`raster-contrast`),resampling:new Pz(kL.paint_raster.resampling,`resampling`),"raster-resampling":new Pz(kL.paint_raster[`raster-resampling`],`raster-resampling`),"raster-fade-duration":new Pz(kL.paint_raster[`raster-fade-duration`],`raster-fade-duration`)}),Gz={get paint(){return Wz()}},Kz=e=>e.type===`raster`,qz=class extends Hz{constructor(e,t){super(e,Gz,t)}},Jz={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Yz=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}},Xz=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()}},Zz=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t){let n=this.length;return this.resize(n+1),this.emplace(n,e,t)}emplace(e,t,n){let r=e*2;return this.int16[r+0]=t,this.int16[r+1]=n,e}},Zz.prototype.bytesPerElement=4,iO(`StructArrayLayout2i4`,Zz),Qz=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=e*3;return this.int16[i+0]=t,this.int16[i+1]=n,this.int16[i+2]=r,e}},Qz.prototype.bytesPerElement=6,iO(`StructArrayLayout3i6`,Qz),$z=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,n,r)}emplace(e,t,n,r,i){let a=e*4;return this.int16[a+0]=t,this.int16[a+1]=n,this.int16[a+2]=r,this.int16[a+3]=i,e}},$z.prototype.bytesPerElement=8,iO(`StructArrayLayout4i8`,$z),eB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,n,r,i,a)}emplace(e,t,n,r,i,a,o){let s=e*6;return this.int16[s+0]=t,this.int16[s+1]=n,this.int16[s+2]=r,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,e}},eB.prototype.bytesPerElement=12,iO(`StructArrayLayout2i4i12`,eB),tB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,n,r,i,a)}emplace(e,t,n,r,i,a,o){let s=e*4,c=e*8;return this.int16[s+0]=t,this.int16[s+1]=n,this.uint8[c+4]=r,this.uint8[c+5]=i,this.uint8[c+6]=a,this.uint8[c+7]=o,e}},tB.prototype.bytesPerElement=8,iO(`StructArrayLayout2i4ub8`,tB),nB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t){let n=this.length;return this.resize(n+1),this.emplace(n,e,t)}emplace(e,t,n){let r=e*2;return this.float32[r+0]=t,this.float32[r+1]=n,e}},nB.prototype.bytesPerElement=8,iO(`StructArrayLayout2f8`,nB),rB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s,c,l){let u=this.length;return this.resize(u+1),this.emplace(u,e,t,n,r,i,a,o,s,c,l)}emplace(e,t,n,r,i,a,o,s,c,l,u){let d=e*10;return this.uint16[d+0]=t,this.uint16[d+1]=n,this.uint16[d+2]=r,this.uint16[d+3]=i,this.uint16[d+4]=a,this.uint16[d+5]=o,this.uint16[d+6]=s,this.uint16[d+7]=c,this.uint16[d+8]=l,this.uint16[d+9]=u,e}},rB.prototype.bytesPerElement=20,iO(`StructArrayLayout10ui20`,rB),iB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s){let c=this.length;return this.resize(c+1),this.emplace(c,e,t,n,r,i,a,o,s)}emplace(e,t,n,r,i,a,o,s,c){let l=e*8;return this.uint16[l+0]=t,this.uint16[l+1]=n,this.uint16[l+2]=r,this.uint16[l+3]=i,this.uint16[l+4]=a,this.uint16[l+5]=o,this.uint16[l+6]=s,this.uint16[l+7]=c,e}},iB.prototype.bytesPerElement=16,iO(`StructArrayLayout8ui16`,iB),aB=class extends Xz{_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,n,r,i,a,o,s,c,l,u,d,f){let p=this.length;return this.resize(p+1),this.emplace(p,e,t,n,r,i,a,o,s,c,l,u,d,f)}emplace(e,t,n,r,i,a,o,s,c,l,u,d,f,p){let m=e*14,h=e*7;return this.int16[m+0]=t,this.int16[m+1]=n,this.int16[m+2]=r,this.int16[m+3]=i,this.uint16[m+4]=a,this.uint16[m+5]=o,this.uint16[m+6]=s,this.uint16[m+7]=c,this.int16[m+8]=l,this.int16[m+9]=u,this.int16[m+10]=d,this.int16[m+11]=f,this.float32[h+6]=p,e}},aB.prototype.bytesPerElement=28,iO(`StructArrayLayout4i4ui4i1f28`,aB),oB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=e*3;return this.float32[i+0]=t,this.float32[i+1]=n,this.float32[i+2]=r,e}},oB.prototype.bytesPerElement=12,iO(`StructArrayLayout3f12`,oB),sB=class extends Xz{_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 n=e*1;return this.uint32[n+0]=t,e}},sB.prototype.bytesPerElement=4,iO(`StructArrayLayout1ul4`,sB),cB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s,c){let l=this.length;return this.resize(l+1),this.emplace(l,e,t,n,r,i,a,o,s,c)}emplace(e,t,n,r,i,a,o,s,c,l){let u=e*10,d=e*5;return this.int16[u+0]=t,this.int16[u+1]=n,this.int16[u+2]=r,this.int16[u+3]=i,this.int16[u+4]=a,this.int16[u+5]=o,this.uint32[d+3]=s,this.uint16[u+8]=c,this.uint16[u+9]=l,e}},cB.prototype.bytesPerElement=20,iO(`StructArrayLayout6i1ul2ui20`,cB),lB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,n,r,i,a)}emplace(e,t,n,r,i,a,o){let s=e*6;return this.int16[s+0]=t,this.int16[s+1]=n,this.int16[s+2]=r,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,e}},lB.prototype.bytesPerElement=12,iO(`StructArrayLayout2i2i2i12`,lB),uB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i){let a=this.length;return this.resize(a+1),this.emplace(a,e,t,n,r,i)}emplace(e,t,n,r,i,a){let o=e*4,s=e*8;return this.float32[o+0]=t,this.float32[o+1]=n,this.float32[o+2]=r,this.int16[s+6]=i,this.int16[s+7]=a,e}},uB.prototype.bytesPerElement=16,iO(`StructArrayLayout2f1f2i16`,uB),dB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,n,r,i,a)}emplace(e,t,n,r,i,a,o){let s=e*16,c=e*4,l=e*8;return this.uint8[s+0]=t,this.uint8[s+1]=n,this.float32[c+1]=r,this.float32[c+2]=i,this.int16[l+6]=a,this.int16[l+7]=o,e}},dB.prototype.bytesPerElement=16,iO(`StructArrayLayout2ub2f2i16`,dB),fB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=e*3;return this.uint16[i+0]=t,this.uint16[i+1]=n,this.uint16[i+2]=r,e}},fB.prototype.bytesPerElement=6,iO(`StructArrayLayout3ui6`,fB),pB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_){let v=this.length;return this.resize(v+1),this.emplace(v,e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_)}emplace(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v){let y=e*26,b=e*13,x=e*52;return this.int16[y+0]=t,this.int16[y+1]=n,this.uint16[y+2]=r,this.uint16[y+3]=i,this.uint32[b+2]=a,this.uint32[b+3]=o,this.uint32[b+4]=s,this.uint16[y+10]=c,this.uint16[y+11]=l,this.uint16[y+12]=u,this.float32[b+7]=d,this.float32[b+8]=f,this.uint8[x+36]=p,this.uint8[x+37]=m,this.uint8[x+38]=h,this.uint32[b+10]=g,this.int16[y+22]=_,this.float32[b+12]=v,e}},pB.prototype.bytesPerElement=52,iO(`StructArrayLayout2i2ui3ul3ui2f3ub1ul1i1f52`,pB),mB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O){let k=this.length;return this.resize(k+1),this.emplace(k,e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O)}emplace(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k){let A=e*34,j=e*17;return this.int16[A+0]=t,this.int16[A+1]=n,this.int16[A+2]=r,this.int16[A+3]=i,this.int16[A+4]=a,this.int16[A+5]=o,this.int16[A+6]=s,this.int16[A+7]=c,this.uint16[A+8]=l,this.uint16[A+9]=u,this.uint16[A+10]=d,this.uint16[A+11]=f,this.uint16[A+12]=p,this.uint16[A+13]=m,this.uint16[A+14]=h,this.uint16[A+15]=g,this.uint16[A+16]=_,this.uint16[A+17]=v,this.uint16[A+18]=y,this.uint16[A+19]=b,this.uint16[A+20]=x,this.uint16[A+21]=S,this.uint16[A+22]=C,this.uint32[j+12]=w,this.float32[j+13]=T,this.float32[j+14]=E,this.uint16[A+30]=D,this.uint16[A+31]=O,this.float32[j+16]=k,e}},mB.prototype.bytesPerElement=68,iO(`StructArrayLayout8i15ui1ul2f2ui1f68`,mB),hB=class extends Xz{_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 n=e*1;return this.float32[n+0]=t,e}},hB.prototype.bytesPerElement=4,iO(`StructArrayLayout1f4`,hB),gB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=e*6,a=e*3;return this.uint16[i+0]=t,this.float32[a+1]=n,this.float32[a+2]=r,e}},gB.prototype.bytesPerElement=12,iO(`StructArrayLayout1ui2f12`,gB),_B=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=e*2,a=e*4;return this.uint32[i+0]=t,this.uint16[a+2]=n,this.uint16[a+3]=r,e}},_B.prototype.bytesPerElement=8,iO(`StructArrayLayout1ul2ui8`,_B),vB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t){let n=this.length;return this.resize(n+1),this.emplace(n,e,t)}emplace(e,t,n){let r=e*2;return this.uint16[r+0]=t,this.uint16[r+1]=n,e}},vB.prototype.bytesPerElement=4,iO(`StructArrayLayout2ui4`,vB),yB=class extends Xz{_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 n=e*1;return this.uint16[n+0]=t,e}},yB.prototype.bytesPerElement=2,iO(`StructArrayLayout1ui2`,yB),bB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n,r){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,n,r)}emplace(e,t,n,r,i){let a=e*4;return this.float32[a+0]=t,this.float32[a+1]=n,this.float32[a+2]=r,this.float32[a+3]=i,e}},bB.prototype.bytesPerElement=16,iO(`StructArrayLayout4f16`,bB),xB=class extends Yz{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 Vx(this.anchorPointX,this.anchorPointY)}},xB.prototype.size=20,SB=class extends cB{get(e){return new xB(this,e)}},iO(`CollisionBoxArray`,SB),CB=class extends Yz{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]}},CB.prototype.size=52,wB=class extends pB{get(e){return new CB(this,e)}},iO(`PlacedSymbolArray`,wB),TB=class extends Yz{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]}},TB.prototype.size=68,EB=class extends mB{get(e){return new TB(this,e)}},iO(`SymbolInstanceArray`,EB),DB=class extends hB{getoffsetX(e){return this.float32[e*1+0]}},iO(`GlyphOffsetArray`,DB),OB=class extends Qz{getx(e){return this.int16[e*3+0]}gety(e){return this.int16[e*3+1]}gettileUnitDistanceFromAnchor(e){return this.int16[e*3+2]}},iO(`SymbolLineVertexArray`,OB),kB=class extends Yz{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]}},kB.prototype.size=12,AB=class extends gB{get(e){return new kB(this,e)}},iO(`TextAnchorOffsetArray`,AB),jB=class extends Yz{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]}},jB.prototype.size=8,MB=class extends _B{get(e){return new jB(this,e)}},iO(`FeatureIndexArray`,MB),NB=class extends Zz{},PB=class extends Qz{},FB=class extends $z{},IB=class extends Zz{},LB=class extends Zz{},RB=class extends eB{},zB=class extends tB{},BB=class extends nB{},VB=class extends rB{},HB=class extends iB{},UB=class extends aB{},WB=class extends oB{},GB=class extends sB{},KB=class extends lB{},qB=class extends uB{},JB=class extends dB{},YB=class extends fB{},XB=class extends fB{},ZB=class extends vB{},QB=class extends yB{},$B=pO([{name:`a_pos`,components:2,type:`Int16`}],4),eV=$B.members,$B.size,$B.alignment,tV=class e{constructor(e=[]){this._forceNewSegmentOnNextPrepare=!1,this.segments=e}prepareSegment(t,n,r,i){let a=this.segments[this.segments.length-1];return t>e.MAX_VERTEX_ARRAY_LENGTH&&jC(`Max vertices per segment is ${e.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}. Consider using the \`fillLargeMeshArrays\` function if you require meshes with more than ${e.MAX_VERTEX_ARRAY_LENGTH} vertices.`),this._forceNewSegmentOnNextPrepare||!a||a.vertexLength+t>e.MAX_VERTEX_ARRAY_LENGTH||a.sortKey!==i?this.createNewSegment(n,r,i):a}createNewSegment(e,t,n){let r={vertexOffset:e.length,primitiveOffset:t.length,vertexLength:0,primitiveLength:0,vaos:{}};return n!==void 0&&(r.sortKey=n),this._forceNewSegmentOnNextPrepare=!1,this.segments.push(r),r}getOrCreateLatestSegment(e,t,n){return this.prepareSegment(0,e,t,n)}forceNewSegmentOnNextPrepare(){this._forceNewSegmentOnNextPrepare=!0}get(){return this.segments}destroy(){for(let e of this.segments)for(let t in e.vaos)e.vaos[t].destroy()}static simpleSegment(t,n,r,i){return new e([{vertexOffset:t,primitiveOffset:n,vertexLength:r,primitiveLength:i,vaos:{},sortKey:0}])}},tV.MAX_VERTEX_ARRAY_LENGTH=2**16-1,iO(`SegmentVector`,tV),nV=pO([{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`}]),rV=pO([{name:`a_dasharray_from`,components:4,type:`Uint16`},{name:`a_dasharray_to`,components:4,type:`Uint16`}]),iV=GI(((e,t)=>{function n(e,t){for(var n=e.length&3,r=e.length-n,i=t,a,o=3432918353,s=461845907,c,l=0;l<r;)c=e.charCodeAt(l)&255|(e.charCodeAt(++l)&255)<<8|(e.charCodeAt(++l)&255)<<16|(e.charCodeAt(++l)&255)<<24,++l,c=(c&65535)*o+(((c>>>16)*o&65535)<<16)&4294967295,c=c<<15|c>>>17,c=(c&65535)*s+(((c>>>16)*s&65535)<<16)&4294967295,i^=c,i=i<<13|i>>>19,a=(i&65535)*5+(((i>>>16)*5&65535)<<16)&4294967295,i=(a&65535)+27492+(((a>>>16)+58964&65535)<<16);switch(c=0,n){case 3:c^=(e.charCodeAt(l+2)&255)<<16;case 2:c^=(e.charCodeAt(l+1)&255)<<8;case 1:c^=e.charCodeAt(l)&255,c=(c&65535)*o+(((c>>>16)*o&65535)<<16)&4294967295,c=c<<15|c>>>17,c=(c&65535)*s+(((c>>>16)*s&65535)<<16)&4294967295,i^=c}return i^=e.length,i^=i>>>16,i=(i&65535)*2246822507+(((i>>>16)*2246822507&65535)<<16)&4294967295,i^=i>>>13,i=(i&65535)*3266489909+(((i>>>16)*3266489909&65535)<<16)&4294967295,i^=i>>>16,i>>>0}t!==void 0&&(t.exports=n)})),aV=GI(((e,t)=>{function n(e,t){for(var n=e.length,r=t^n,i=0,a;n>=4;)a=e.charCodeAt(i)&255|(e.charCodeAt(++i)&255)<<8|(e.charCodeAt(++i)&255)<<16|(e.charCodeAt(++i)&255)<<24,a=(a&65535)*1540483477+(((a>>>16)*1540483477&65535)<<16),a^=a>>>24,a=(a&65535)*1540483477+(((a>>>16)*1540483477&65535)<<16),r=(r&65535)*1540483477+(((r>>>16)*1540483477&65535)<<16)^a,n-=4,++i;switch(n){case 3:r^=(e.charCodeAt(i+2)&255)<<16;case 2:r^=(e.charCodeAt(i+1)&255)<<8;case 1:r^=e.charCodeAt(i)&255,r=(r&65535)*1540483477+(((r>>>16)*1540483477&65535)<<16)}return r^=r>>>13,r=(r&65535)*1540483477+(((r>>>16)*1540483477&65535)<<16),r^=r>>>15,r>>>0}t.exports=n})),oV=qI(GI(((e,t)=>{var n=iV(),r=aV();t.exports=n,t.exports.murmur3=n,t.exports.murmur2=r}))(),1),sV=class e{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(e,t,n,r){this.ids.push(_O(e)),this.positions.push(t,n,r)}getPositions(e){if(!this.indexed)throw Error(`Trying to get index, but feature positions are not indexed`);let t=_O(e),n=0,r=this.ids.length-1;for(;n<r;){let e=n+r>>1;this.ids[e]>=t?r=e:n=e+1}let i=[];for(;this.ids[n]===t;){let e=this.positions[3*n],t=this.positions[3*n+1],r=this.positions[3*n+2];i.push({index:e,start:t,end:r}),n++}return i}static serialize(e,t){let n=new Float64Array(e.ids),r=new Uint32Array(e.positions);return vO(n,r,0,n.length-1),t&&t.push(n.buffer,r.buffer),{ids:n,positions:r}}static deserialize(t){let n=new e;return n.ids=t.ids,n.positions=t.positions,n.indexed=!0,n}},iO(`FeaturePositionMap`,sV),cV=class{constructor(e,t){this.gl=e.gl,this.location=t}},lV=class extends cV{constructor(e,t){super(e,t),this.current=0}set(e){this.current!==e&&(this.current=e,this.gl.uniform1i(this.location,e))}},uV=class extends cV{constructor(e,t){super(e,t),this.current=0}set(e){this.current!==e&&(this.current=e,this.gl.uniform1f(this.location,e))}},dV=class extends cV{constructor(e,t){super(e,t),this.current=[0,0]}set(e){(e[0]!==this.current[0]||e[1]!==this.current[1])&&(this.current=e,this.gl.uniform2f(this.location,e[0],e[1]))}},fV=class extends cV{constructor(e,t){super(e,t),this.current=[0,0,0]}set(e){(e[0]!==this.current[0]||e[1]!==this.current[1]||e[2]!==this.current[2])&&(this.current=e,this.gl.uniform3f(this.location,e[0],e[1],e[2]))}},pV=class extends cV{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]))}},mV=class extends cV{constructor(e,t){super(e,t),this.current=aR.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))}},hV=class extends cV{constructor(e,t){super(e,t),this.current=[]}set(e){if(e!=this.current){this.current=e;let t=new Float32Array(e.length*4);for(let n=0;n<e.length;n++)t[4*n]=e[n].r,t[4*n+1]=e[n].g,t[4*n+2]=e[n].b,t[4*n+3]=e[n].a;this.gl.uniform4fv(this.location,t)}}},gV=class extends cV{constructor(e,t){super(e,t),this.current=[]}set(e){if(e!=this.current){this.current=e;let t=new Float32Array(e);this.gl.uniform1fv(this.location,t)}}},_V=new Float32Array(16),vV=class extends cV{constructor(e,t){super(e,t),this.current=_V}set(e){if(e[12]!==this.current[12]||e[0]!==this.current[0]){this.current=e,this.gl.uniformMatrix4fv(this.location,!1,e);return}for(let t=1;t<16;t++)if(e[t]!==this.current[t]){this.current=e,this.gl.uniformMatrix4fv(this.location,!1,e);break}}},yV=class{constructor(e,t,n){this.value=e,this.uniformNames=t.map(e=>`u_${e}`),this.type=n}setUniform(e,t,n){e.set(n.constantOr(this.value))}getBinding(e,t,n){return this.type===`color`?new mV(e,t):new uV(e,t)}},bV=class{constructor(e,t){this.uniformNames=t.map(e=>`u_${e}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(e,t){this.pixelRatioFrom=t.pixelRatio,this.pixelRatioTo=e.pixelRatio,this.patternFrom=t.tlbr,this.patternTo=e.tlbr}setConstantDashPositions(e,t){this.dashTo=[0,e.y,e.height,e.width],this.dashFrom=[0,t.y,t.height,t.width]}setUniform(e,t,n,r){let i=null;r===`u_pattern_to`?i=this.patternTo:r===`u_pattern_from`?i=this.patternFrom:r===`u_dasharray_to`?i=this.dashTo:r===`u_dasharray_from`?i=this.dashFrom:r===`u_pixel_ratio_to`?i=this.pixelRatioTo:r===`u_pixel_ratio_from`&&(i=this.pixelRatioFrom),i!==null&&e.set(i)}getBinding(e,t,n){return n.startsWith(`u_pattern`)||n.startsWith(`u_dasharray_`)?new pV(e,t):new uV(e,t)}},xV=class{constructor(e,t,n,r){this.expression=e,this.type=n,this.maxValue=0,this.paintVertexAttributes=t.map(e=>({name:`a_${e}`,type:`Float32`,components:n===`color`?2:1,offset:0})),this.paintVertexArray=new r}populatePaintArray(e,t,n){let r=this.paintVertexArray.length,i=this.expression.evaluate(new wz(0,n),t,{},n.canonical,[],n.formattedSection);this.paintVertexArray.resize(e),this._setPaintValue(r,e,i)}updatePaintArray(e,t,n,r,i){let a=this.expression.evaluate(new wz(0,i),n,r);this._setPaintValue(e,t,a)}_setPaintValue(e,t,n){if(this.type===`color`){let r=bO(n);for(let n=e;n<t;n++)this.paintVertexArray.emplace(n,r[0],r[1])}else{for(let r=e;r<t;r++)this.paintVertexArray.emplace(r,n);this.maxValue=Math.max(this.maxValue,Math.abs(n))}}upload(e){var t,n;(t=this.paintVertexArray)!=null&&t.arrayBuffer.byteLength&&((n=this.paintVertexBuffer)!=null&&n.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=e.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}},SV=class{constructor(e,t,n,r,i,a){this.expression=e,this.uniformNames=t.map(e=>`u_${e}_t`),this.type=n,this.useIntegerZoom=r,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=t.map(e=>({name:`a_${e}`,type:`Float32`,components:n===`color`?4:2,offset:0})),this.paintVertexArray=new a}populatePaintArray(e,t,n){let r=this.expression.evaluate(new wz(this.zoom,n),t,{},n.canonical,[],n.formattedSection),i=this.expression.evaluate(new wz(this.zoom+1,n),t,{},n.canonical,[],n.formattedSection),a=this.paintVertexArray.length;this.paintVertexArray.resize(e),this._setPaintValue(a,e,r,i)}updatePaintArray(e,t,n,r,i){let a=this.expression.evaluate(new wz(this.zoom,i),n,r),o=this.expression.evaluate(new wz(this.zoom+1,i),n,r);this._setPaintValue(e,t,a,o)}_setPaintValue(e,t,n,r){if(this.type===`color`){let i=bO(n),a=bO(r);for(let n=e;n<t;n++)this.paintVertexArray.emplace(n,i[0],i[1],a[0],a[1])}else{for(let i=e;i<t;i++)this.paintVertexArray.emplace(i,n,r);this.maxValue=Math.max(this.maxValue,Math.abs(n),Math.abs(r))}}upload(e){var t,n;(t=this.paintVertexArray)!=null&&t.arrayBuffer.byteLength&&((n=this.paintVertexBuffer)!=null&&n.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=e.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}setUniform(e,t){let n=this.useIntegerZoom?Math.floor(t.zoom):t.zoom,r=_C(this.expression.interpolationFactor(n,this.zoom,this.zoom+1),0,1);e.set(r)}getBinding(e,t,n){return new uV(e,t)}},CV=class{constructor(e,t,n,r,i,a){this.expression=e,this.type=t,this.useIntegerZoom=n,this.zoom=r,this.layerId=a,this.zoomInPaintVertexArray=new i,this.zoomOutPaintVertexArray=new i}populatePaintArray(e,t,n){let r=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(e),this.zoomOutPaintVertexArray.resize(e),this._setPaintValues(r,e,this.getPositionIds(t),n)}updatePaintArray(e,t,n,r,i){this._setPaintValues(e,t,this.getPositionIds(n),i)}_setPaintValues(e,t,n,r){let i=this.getPositions(r);if(!i||!n)return;let a=i[n.min],o=i[n.mid],s=i[n.max];if(a&&o&&s)for(let n=e;n<t;n++)this.emplace(this.zoomInPaintVertexArray,n,a,o),this.emplace(this.zoomOutPaintVertexArray,n,s,o)}upload(e){var t,n;if((t=this.zoomInPaintVertexArray)!=null&&t.arrayBuffer.byteLength&&(n=this.zoomOutPaintVertexArray)!=null&&n.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()}},wV=class extends CV{getPositions(e){return e.imagePositions}getPositionIds(e){return e.patterns?.[this.layerId]}getVertexAttributes(){return nV.members}emplace(e,t,n,r){e.emplace(t,n.tlbr[0],n.tlbr[1],n.tlbr[2],n.tlbr[3],r.tlbr[0],r.tlbr[1],r.tlbr[2],r.tlbr[3],n.pixelRatio,r.pixelRatio)}},TV=class extends CV{getPositions(e){return e.dashPositions}getPositionIds(e){return e.dashes?.[this.layerId]}getVertexAttributes(){return rV.members}emplace(e,t,n,r){e.emplace(t,0,n.y,n.height,n.width,0,r.y,r.height,r.width)}},EV=class{constructor(e,t,n){this.binders={},this._buffers=[];let r=[];for(let i in e.paint._values){if(!n(i))continue;let a=e.paint.get(i);if(!(a instanceof Mz)||!fE(a.property.specification))continue;let o=xO(i,e.type),s=a.value,c=a.property.specification.type,l=a.property.useIntegerZoom,u=a.property.specification[`property-type`],d=u===`cross-faded`||u===`cross-faded-data-driven`;if(s.kind===`constant`)this.binders[i]=d?new bV(s.value,o):new yV(s.value,o,c),r.push(`/u_${i}`);else if(s.kind===`source`||d){let n=CO(i,c,`source`);this.binders[i]=d?i===`line-dasharray`?new TV(s,c,l,t,n,e.id):new wV(s,c,l,t,n,e.id):new xV(s,o,c,n),r.push(`/a_${i}`)}else{let e=CO(i,c,`composite`);this.binders[i]=new SV(s,o,c,l,t,e),r.push(`/z_${i}`)}}this.cacheKey=r.sort().join(``)}getMaxValue(e){let t=this.binders[e];return t instanceof xV||t instanceof SV?t.maxValue:0}populatePaintArrays(e,t,n){for(let r in this.binders){let i=this.binders[r];(i instanceof xV||i instanceof SV||i instanceof CV)&&i.populatePaintArray(e,t,n)}}setConstantPatternPositions(e,t){for(let n in this.binders){let r=this.binders[n];r instanceof bV&&r.setConstantPatternPositions(e,t)}}setConstantDashPositions(e,t){for(let n in this.binders){let r=this.binders[n];r instanceof bV&&r.setConstantDashPositions(e,t)}}updatePaintArrays(e,t,n,r,i){let a=!1;for(let o of e){let e=t.getPositions(o.id);for(let t of e){let e=n.feature(t.index);for(let n in this.binders){let s=this.binders[n];(s instanceof xV||s instanceof SV||s instanceof CV)&&s.expression.isStateDependent===!0&&(s.expression=r.paint.get(n).value,s.updatePaintArray(t.start,t.end,e,o.state,i),a=!0)}}}return a}defines(){let e=[];for(let t in this.binders){let n=this.binders[t];(n instanceof yV||n instanceof bV)&&e.push(...n.uniformNames.map(e=>`#define HAS_UNIFORM_${e}`))}return e}getBinderAttributes(){let e=[];for(let t in this.binders){let n=this.binders[t];if(n instanceof xV||n instanceof SV)for(let t of n.paintVertexAttributes)e.push(t.name);else if(n instanceof CV){let t=n.getVertexAttributes();for(let n of t)e.push(n.name)}}return e}getBinderUniforms(){let e=[];for(let t in this.binders){let n=this.binders[t];if(n instanceof yV||n instanceof bV||n instanceof SV)for(let t of n.uniformNames)e.push(t)}return e}getPaintVertexBuffers(){return this._buffers}getUniforms(e,t){let n=[];for(let r in this.binders){let i=this.binders[r];if(i instanceof yV||i instanceof bV||i instanceof SV){for(let a of i.uniformNames)if(t[a]){let o=i.getBinding(e,t[a],a);n.push({name:a,property:r,binding:o})}}}return n}setUniforms(e,t,n,r){for(let{name:e,property:i,binding:a}of t)this.binders[i].setUniform(a,r,n.get(i),e)}updatePaintBuffers(e){this._buffers=[];for(let t in this.binders){let n=this.binders[t];if(e&&n instanceof CV){let t=e.fromScale===2?n.zoomInPaintVertexBuffer:n.zoomOutPaintVertexBuffer;t&&this._buffers.push(t)}else(n instanceof xV||n instanceof SV)&&n.paintVertexBuffer&&this._buffers.push(n.paintVertexBuffer)}}upload(e){for(let t in this.binders){let n=this.binders[t];(n instanceof xV||n instanceof SV||n instanceof CV)&&n.upload(e)}this.updatePaintBuffers()}destroy(){for(let e in this.binders){let t=this.binders[e];(t instanceof xV||t instanceof SV||t instanceof CV)&&t.destroy()}}},DV=class{constructor(e,t,n=()=>!0){this.programConfigurations={};for(let r of e)this.programConfigurations[r.id]=new EV(r,t,n);this.needsUpload=!1,this._featureMap=new sV,this._bufferOffset=0}populatePaintArrays(e,t,n,r){for(let n in this.programConfigurations)this.programConfigurations[n].populatePaintArrays(e,t,r);t.id!==void 0&&this._featureMap.add(t.id,n,this._bufferOffset,e),this._bufferOffset=e,this.needsUpload=!0}updatePaintArrays(e,t,n,r){for(let i of n)this.needsUpload=this.programConfigurations[i.id].updatePaintArrays(e,this._featureMap,t,i,r)||this.needsUpload}get(e){return this.programConfigurations[e]}upload(e){if(this.needsUpload){for(let t in this.programConfigurations)this.programConfigurations[t].upload(e);this.needsUpload=!1}}destroy(){for(let e in this.programConfigurations)this.programConfigurations[e].destroy()}},iO(`ConstantBinder`,yV),iO(`CrossFadedConstantBinder`,bV),iO(`SourceExpressionBinder`,xV),iO(`CrossFadedPatternBinder`,wV),iO(`CrossFadedDasharrayBinder`,TV),iO(`CompositeExpressionBinder`,SV),iO(`ProgramConfiguration`,EV,{omit:[`_buffers`]}),iO(`ProgramConfigurationSet`,DV),OV=2**14-1,kV=-OV-1,AV=-32768,jV=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(e=>e.id),this.index=e.index,this.hasDependencies=!1,this.layoutVertexArray=new IB,this.indexArray=new XB,this.segments=new tV,this.programConfigurations=new DV(e.layers,e.zoom),this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id)}populate(e,t,n){let r=this.layers[0],i=[],a=null,o=!1,s=r.type===`heatmap`;if(r.type===`circle`){let e=r;a=e.layout.get(`circle-sort-key`),o=!a.isConstant(),s||=e.paint.get(`circle-pitch-alignment`)===`map`}let c=s?t.subdivisionGranularity.circle:1,l=new wz(this.zoom),u=this.layers[0]._featureFilter.needGeometry;for(let{feature:t,id:r,index:s,sourceLayerIndex:c}of e){let e=TO(t,u);if(!this.layers[0]._featureFilter.filter(l,e,n))continue;let d=o?a.evaluate(e,{},n):void 0,f={id:r,properties:t.properties,type:t.type,sourceLayerIndex:c,index:s,geometry:u?e.geometry:wO(t),patterns:{},sortKey:d};i.push(f)}o&&i.sort((e,t)=>e.sortKey-t.sortKey);for(let r of i){let{geometry:i,index:a,sourceLayerIndex:o}=r,s=e[a].feature;this.addFeature(r,i,a,n,c),t.featureIndex.insert(s,i,a,o,this.index)}}update(e,t,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:n})}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,eV),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(e,t,n,r,i=1){let a;switch(i){case 1:a=[0,7];break;case 3:a=[0,2,5,7];break;case 5:a=[0,1,3,4,6,7];break;case 7:a=[0,1,2,3,4,5,6,7];break;default:throw Error(`Invalid circle bucket granularity: ${i}; valid values are 1, 3, 5, 7.`)}let o=a.length;for(let n of t)for(let t of n){let n=t.x,r=t.y;if(n<0||n>=8192||r<0||r>=8192)continue;let i=this.segments.prepareSegment(o*o,this.layoutVertexArray,this.indexArray,e.sortKey),s=i.vertexLength;for(let e=0;e<o;e++)for(let t=0;t<o;t++)EO(this.layoutVertexArray,n,r,a[t],a[e]);for(let e=0;e<o-1;e++)for(let t=0;t<o-1;t++){let n=s+e*o+t,r=s+(e+1)*o+t;this.indexArray.emplaceBack(n,r+1,n+1),this.indexArray.emplaceBack(n,r,r+1)}i.vertexLength+=o*o,i.primitiveLength+=(o-1)*(o-1)*2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,{imagePositions:{},canonical:r})}},iO(`CircleBucket`,jV,{omit:[`layers`]}),NV=()=>MV||=new zz({"circle-sort-key":new Fz(kL.layout_circle[`circle-sort-key`],`circle-sort-key`)}),FV=()=>PV||=new zz({"circle-radius":new Fz(kL.paint_circle[`circle-radius`],`circle-radius`),"circle-color":new Fz(kL.paint_circle[`circle-color`],`circle-color`),"circle-blur":new Fz(kL.paint_circle[`circle-blur`],`circle-blur`),"circle-opacity":new Fz(kL.paint_circle[`circle-opacity`],`circle-opacity`),"circle-translate":new Pz(kL.paint_circle[`circle-translate`],`circle-translate`),"circle-translate-anchor":new Pz(kL.paint_circle[`circle-translate-anchor`],`circle-translate-anchor`),"circle-pitch-scale":new Pz(kL.paint_circle[`circle-pitch-scale`],`circle-pitch-scale`),"circle-pitch-alignment":new Pz(kL.paint_circle[`circle-pitch-alignment`],`circle-pitch-alignment`),"circle-stroke-width":new Fz(kL.paint_circle[`circle-stroke-width`],`circle-stroke-width`),"circle-stroke-color":new Fz(kL.paint_circle[`circle-stroke-color`],`circle-stroke-color`),"circle-stroke-opacity":new Fz(kL.paint_circle[`circle-stroke-opacity`],`circle-stroke-opacity`)}),IV={get paint(){return FV()},get layout(){return NV()}},LV=e=>e.type===`circle`,RV=class extends Hz{constructor(e,t){super(e,IV,t)}createBucket(e){return new jV(e)}queryRadius(e){let t=e;return BO(`circle-radius`,this,t)+BO(`circle-stroke-width`,this,t)+VO(this.paint.get(`circle-translate`))}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:n,geometry:r,transform:i,pixelsToTileUnits:a,unwrappedTileID:o,getElevation:s}){let c=HO(e,this.paint.get(`circle-translate`),this.paint.get(`circle-translate-anchor`),-i.bearingInRadians,a),l=this.paint.get(`circle-radius`).evaluate(t,n)+this.paint.get(`circle-stroke-width`).evaluate(t,n),u=this.paint.get(`circle-pitch-scale`),d=this.paint.get(`circle-pitch-alignment`),f,p;return d===`map`?(f=c,p=l*a):(f=ZO(c,i,o,s),p=l),YO({queryGeometry:f,size:p,transform:i,unwrappedTileID:o,getElevation:s,pitchAlignment:d,pitchScale:u},r)}},zV=class extends jV{},iO(`HeatmapBucket`,zV,{omit:[`layers`]}),VV=()=>BV||=new zz({"heatmap-radius":new Fz(kL.paint_heatmap[`heatmap-radius`],`heatmap-radius`),"heatmap-weight":new Fz(kL.paint_heatmap[`heatmap-weight`],`heatmap-weight`),"heatmap-intensity":new Pz(kL.paint_heatmap[`heatmap-intensity`],`heatmap-intensity`),"heatmap-color":new Rz(kL.paint_heatmap[`heatmap-color`],`heatmap-color`),"heatmap-opacity":new Pz(kL.paint_heatmap[`heatmap-opacity`],`heatmap-opacity`)}),HV={get paint(){return VV()}},UV=class e{constructor(e,t){QO(this,e,1,t)}resize(e){$O(this,e,1)}clone(){return new e({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(e,t,n,r,i){ek(e,t,n,r,i,1)}},WV=class e{constructor(e,t){QO(this,e,4,t)}resize(e){$O(this,e,4)}replace(e,t){t?this.data.set(e):this.data=e instanceof Uint8ClampedArray?new Uint8Array(e.buffer):e}clone(){return new e({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(e,t,n,r,i){ek(e,t,n,r,i,4)}setPixel(e,t,n){let r=(e*this.width+t)*4;this.data[r+0]=Math.round(n.r*255/n.a),this.data[r+1]=Math.round(n.g*255/n.a),this.data[r+2]=Math.round(n.b*255/n.a),this.data[r+3]=Math.round(n.a*255)}},iO(`AlphaImage`,UV),iO(`RGBAImage`,WV),GV=`big-fb`,KV=e=>e.type===`heatmap`,qV=class extends Hz{createBucket(e){return new zV(e)}constructor(e,t){super(e,HV,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=nk({expression:e,evaluationKey:`heatmapDensity`,image:this.colorRamp}),this.colorRampTexture=null}resize(){this.heatmapFbos.has(`big-fb`)&&this.heatmapFbos.delete(GV)}queryRadius(e){return BO(`heatmap-radius`,this,e)}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:n,geometry:r,transform:i,pixelsToTileUnits:a,unwrappedTileID:o,getElevation:s}){return YO({queryGeometry:e,size:this.paint.get(`heatmap-radius`).evaluate(t,n)*a,transform:i,unwrappedTileID:o,getElevation:s},r)}hasOffscreenPass(){return this.paint.get(`heatmap-opacity`)!==0&&!this.isHidden()}},YV=()=>JV||=new zz({"hillshade-illumination-direction":new Pz(kL.paint_hillshade[`hillshade-illumination-direction`],`hillshade-illumination-direction`),"hillshade-illumination-altitude":new Pz(kL.paint_hillshade[`hillshade-illumination-altitude`],`hillshade-illumination-altitude`),"hillshade-illumination-anchor":new Pz(kL.paint_hillshade[`hillshade-illumination-anchor`],`hillshade-illumination-anchor`),"hillshade-exaggeration":new Pz(kL.paint_hillshade[`hillshade-exaggeration`],`hillshade-exaggeration`),"hillshade-shadow-color":new Pz(kL.paint_hillshade[`hillshade-shadow-color`],`hillshade-shadow-color`),"hillshade-highlight-color":new Pz(kL.paint_hillshade[`hillshade-highlight-color`],`hillshade-highlight-color`),"hillshade-accent-color":new Pz(kL.paint_hillshade[`hillshade-accent-color`],`hillshade-accent-color`),"hillshade-method":new Pz(kL.paint_hillshade[`hillshade-method`],`hillshade-method`),resampling:new Pz(kL.paint_hillshade.resampling,`resampling`)}),XV={get paint(){return YV()}},ZV=e=>e.type===`hillshade`,QV=class extends Hz{constructor(e,t){super(e,XV,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,n=this.paint.get(`hillshade-highlight-color`).values,r=this.paint.get(`hillshade-shadow-color`).values,i=Math.max(e.length,t.length,n.length,r.length);e=e.concat(Array(i-e.length).fill(e.at(-1))),t=t.concat(Array(i-t.length).fill(t.at(-1))),n=n.concat(Array(i-n.length).fill(n.at(-1))),r=r.concat(Array(i-r.length).fill(r.at(-1)));let a=t.map(HC);return{directionRadians:e.map(HC),altitudeRadians:a,shadowColor:r,highlightColor:n}}hasOffscreenPass(){return this.paint.get(`hillshade-exaggeration`)!==0&&!this.isHidden()}},eH=()=>$V||=new zz({"color-relief-opacity":new Pz(kL[`paint_color-relief`][`color-relief-opacity`],`color-relief-opacity`),"color-relief-color":new Rz(kL[`paint_color-relief`][`color-relief-color`],`color-relief-color`),resampling:new Pz(kL[`paint_color-relief`].resampling,`resampling`)}),tH={get paint(){return eH()}},nH=class{constructor(e,t,n,r){this.context=e,this.format=n,this.texture=e.gl.createTexture(),this._ownedHandle=this.texture,this.update(t,r)}update(e,t,n){let{width:r,height:i}=e,a=(this.size?.[0]!==r||this.size[1]!==i)&&!n,{context:o}=this,{gl:s}=o;this.useMipmap=!!(t!=null&&t.useMipmap),a&&this.size&&this.format===s.RGBA&&(s.deleteTexture(this.texture),this.texture=s.createTexture(),this._ownedHandle=this.texture,this.magFilter=void 0,this.minFilter=void 0,this.wrap=void 0),s.bindTexture(s.TEXTURE_2D,this.texture),o.pixelStoreUnpackFlipY.set(!1),o.pixelStoreUnpack.set(1);let c=this.format===s.RGBA&&t?.premultiply!==!1;if(a){if(this.size=[r,i],this.format===s.RGBA&&r>0&&i>0){let t=this.useMipmap?Math.floor(Math.log2(Math.max(r,i)))+1:1;if(s.texStorage2D(s.TEXTURE_2D,t,s.RGBA8,r,i),rk(e)){o.pixelStoreUnpackPremultiplyAlpha.set(!1);let{data:t}=e;c&&t&&(t=tk(t)),t&&s.texSubImage2D(s.TEXTURE_2D,0,0,0,r,i,s.RGBA,s.UNSIGNED_BYTE,t)}else o.pixelStoreUnpackPremultiplyAlpha.set(c),s.texSubImage2D(s.TEXTURE_2D,0,0,0,s.RGBA,s.UNSIGNED_BYTE,e)}else rk(e)?(o.pixelStoreUnpackPremultiplyAlpha.set(!1),this._uploadRawData(e,c,r,i,s)):(o.pixelStoreUnpackPremultiplyAlpha.set(c),this._uploadDomImage(e,s))}else{let{x:t,y:a}=n||{x:0,y:0};rk(e)?(o.pixelStoreUnpackPremultiplyAlpha.set(!1),this._updateRawData(e,c,t,a,r,i,s)):(o.pixelStoreUnpackPremultiplyAlpha.set(c),this._updateDomImage(e,t,a,s))}this.useMipmap&&!(rk(e)&&e.data===null)&&s.generateMipmap(s.TEXTURE_2D),o.pixelStoreUnpackFlipY.setDefault(),o.pixelStoreUnpack.setDefault(),o.pixelStoreUnpackPremultiplyAlpha.setDefault()}_uploadDomImage(e,t){t.texImage2D(t.TEXTURE_2D,0,this.format,this.format,t.UNSIGNED_BYTE,e)}_uploadRawData(e,t,n,r,i){let{data:a}=e;t&&a&&(a=tk(a)),i.texImage2D(i.TEXTURE_2D,0,this.format,n,r,0,this.format,i.UNSIGNED_BYTE,a)}_updateDomImage(e,t,n,r){r.texSubImage2D(r.TEXTURE_2D,0,t,n,r.RGBA,r.UNSIGNED_BYTE,e)}_updateRawData(e,t,n,r,i,a,o){let{data:s}=e;t&&s&&(s=tk(s)),o.texSubImage2D(o.TEXTURE_2D,0,n,r,i,a,o.RGBA,o.UNSIGNED_BYTE,s)}bind(e,t,n){let{context:r}=this,{gl:i}=r;this.texture!==this._ownedHandle&&(this.texture=this._ownedHandle),i.bindTexture(i.TEXTURE_2D,this.texture),(n===i.LINEAR_MIPMAP_NEAREST||n===i.LINEAR_MIPMAP_LINEAR)&&!this.useMipmap&&(n=i.LINEAR);let a=n||e;e!==this.magFilter&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,e),this.magFilter=e),a!==this.minFilter&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,a),this.minFilter=a),t!==this.wrap&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,t),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,t),this.wrap=t)}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}},iH=(rH=class{constructor(e,t,n,r=1,i=1,a=1,o=0){if(this.uid=e,t.height!==t.width)throw RangeError(`DEM tiles must be square`);if(n&&![`mapbox`,`terrarium`,`custom`].includes(n)){jC(`"${n}" is not a valid encoding type. Valid types include "mapbox", "terrarium" and "custom".`);return}this.stride=t.height;let s=this.dim=t.height-4;switch(this.data=new Uint32Array(t.data.buffer),rH.byteViewCache.set(this,new Uint8Array(this.data.buffer)),n){case`terrarium`:this.redFactor=256,this.greenFactor=1,this.blueFactor=1/256,this.baseShift=32768;break;case`custom`:this.redFactor=r,this.greenFactor=i,this.blueFactor=a,this.baseShift=o;break;default:this.redFactor=6553.6,this.greenFactor=25.6,this.blueFactor=.1,this.baseShift=1e4}for(let e=-2;e<s+2;e++){let t=this._idx(0,Math.max(0,Math.min(s-1,e)));(e<0||e>=s)&&this.data.copyWithin(this._idx(0,e),t,t+s),this.data.fill(this.data[t],this._idx(-2,e),this._idx(0,e)),this.data.fill(this.data[t+s-1],this._idx(s,e),this._idx(s+1,e)+1)}let c=this._getByteView();this.min=2**53-1,this.max=-(2**53-1);for(let e=0;e<s;e++)for(let t=0;t<s;t++){let n=this._idx(e,t)*4,r=this._unpackAtIndex(c,n);r>this.max&&(this.max=r),r<this.min&&(this.min=r)}}get(e,t){let n=this._getByteView(),r=this._idx(e,t)*4;return this._unpackAtIndex(n,r)}sampleBilinear(e,t){let n=Math.floor(e),r=Math.floor(t);if(n<-1||n>=this.dim||r<-1||r>=this.dim)throw RangeError(`Out of range source coordinates for DEM data. x: ${e}, y: ${t}, dim: ${this.dim}`);let i=this._getByteView(),a=((r+2)*this.stride+n+2)*4,o=this.stride*4,s=e-n,c=t-r,l=this._unpackAtIndex(i,a),u=this._unpackAtIndex(i,a+4),d=this._unpackAtIndex(i,a+o),f=this._unpackAtIndex(i,a+o+4);return l*(1-s)*(1-c)+u*s*(1-c)+d*(1-s)*c+f*s*c}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,n){return e*this.redFactor+t*this.greenFactor+n*this.blueFactor-this.baseShift}pack(e){return ik(e,this.getUnpackVector())}getPixels(){return new WV({width:this.stride,height:this.stride},this._getByteView())}backfillBorder(e,t,n){if(this.dim!==e.dim)throw Error(`dem dimension mismatch`);let r=t*this.dim,i=t*this.dim+this.dim,a=n*this.dim,o=n*this.dim+this.dim;switch(t){case-1:r=i-2;break;case 1:i=r+2}switch(n){case-1:a=o-2;break;case 1:o=a+2}let s=-t*this.dim,c=-n*this.dim;for(let t=a;t<o;t++)for(let n=r;n<i;n++)this.data[this._idx(n,t)]=e.data[this._idx(n+s,t+c)]}_getByteView(){let e=rH.byteViewCache.get(this);return e?.buffer!==this.data.buffer&&(e=new Uint8Array(this.data.buffer),rH.byteViewCache.set(this,e)),e}_unpackAtIndex(e,t){return this.unpack(e[t],e[t+1],e[t+2])}},rH.byteViewCache=new WeakMap,rH),iO(`DEMData`,iH),aH=e=>e.type===`color-relief`,oH=class extends Hz{constructor(e,t){super(e,tH,t)}_createColorRamp(e){let t={elevationStops:[],colorStops:[]},n=this._transitionablePaint._values[`color-relief-color`].value.expression;if(n instanceof lz&&n._styleExpression.expression instanceof SR){this.colorRampExpression=n;let e=n._styleExpression.expression;t.elevationStops=e.labels,t.colorStops=[];for(let n of t.elevationStops)t.colorStops.push(e.evaluate({globals:{elevation:n}}))}if(t.elevationStops.length<1&&(t.elevationStops=[0],t.colorStops=[aR.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 r={elevationStops:[],colorStops:[]},i=(t.elevationStops.length-1)/(e-1);for(let e=0;e<t.elevationStops.length-.5;e+=i)r.elevationStops.push(t.elevationStops[Math.round(e)]),r.colorStops.push(t.colorStops[Math.round(e)]);return jC(`Too many colors in specification of ${this.id} color-relief layer, may not render properly. Max possible colors: ${e}, provided: ${t.elevationStops.length}`),r}_colorRampChanged(){return this.colorRampExpression!=this._transitionablePaint._values[`color-relief-color`].value.expression}getColorRampTextures(e,t,n){if(this.colorRampTextures&&!this._colorRampChanged())return this.colorRampTextures;let r=this._createColorRamp(t),i=new WV({width:r.colorStops.length,height:1}),a=new WV({width:r.colorStops.length,height:1});for(let e=0;e<r.elevationStops.length;e++){let t=ik(r.elevationStops[e],n);a.setPixel(0,e,new aR(t.r/255,t.g/255,t.b/255,1)),i.setPixel(0,e,r.colorStops[e])}return this.colorRampTextures={elevationTexture:new nH(e,a,e.gl.RGBA),colorTexture:new nH(e,i,e.gl.RGBA)},this.colorRampTextures}hasOffscreenPass(){return!this.isHidden()&&!!this.colorRampTextures}},sH=pO([{name:`a_pos`,components:2,type:`Int16`}],4),cH=sH.members,sH.size,sH.alignment,lH=new Set,uH=!1,dH=!1,fH=new Float64Array,pH=0,mH=[],hH=[],gH=[],_H=[],vH=new Uint32Array,yH=new Uint32Array,bH=new Uint32Array(256),xH=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)}},CH=(SH=class{constructor(e){this.fill=e.fill,this.line=e.line,this.tile=e.tile,this.stencil=e.stencil,this.circle=e.circle}},SH.noSubdivision=new SH({fill:new xH(0,0),line:new xH(0,0),tile:new xH(0,0),stencil:new xH(0,0),circle:1}),SH),iO(`SubdivisionGranularityExpression`,xH),iO(`SubdivisionGranularitySetting`,CH),wH=-32768,TH=32767,EH=class{constructor(e,t){this._vertexBuffer=[],this._vertexDictionary=new Map,this._used=!1,this._granularity=e,this._granularityCellSize=aL/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 n=Math.round(e)|0,r=Math.round(t)|0,i=this._getKey(n,r);if(this._vertexDictionary.has(i))return this._vertexDictionary.get(i);let a=this._vertexBuffer.length/2;return this._vertexDictionary.set(i,a),this._vertexBuffer.push(n,r),a}_subdivideTrianglesScanline(e){if(this._granularity<2)return qk(this._vertexBuffer,e);let t=[],n=e.length;for(let r=0;r<n;r+=3){let n=[e[r+0],e[r+1],e[r+2]],i=[this._vertexBuffer[e[r+0]*2+0],this._vertexBuffer[e[r+0]*2+1],this._vertexBuffer[e[r+1]*2+0],this._vertexBuffer[e[r+1]*2+1],this._vertexBuffer[e[r+2]*2+0],this._vertexBuffer[e[r+2]*2+1]],a=1/0,o=1/0,s=-1/0,c=-1/0;for(let e=0;e<3;e++){let t=i[e*2],n=i[e*2+1];a=Math.min(a,t),s=Math.max(s,t),o=Math.min(o,n),c=Math.max(c,n)}if(a===s||o===c)continue;let l=Math.floor(a/this._granularityCellSize),u=Math.ceil(s/this._granularityCellSize),d=Math.floor(o/this._granularityCellSize),f=Math.ceil(c/this._granularityCellSize);if(l===u&&d===f){t.push(...n);continue}for(let e=d;e<f;e++){let r=this._scanlineGenerateVertexRingForCellRow(e,i,n);Jk(this._vertexBuffer,r,t)}}return t}_scanlineGenerateVertexRingForCellRow(e,t,n){let r=e*this._granularityCellSize,i=r+this._granularityCellSize,a=[];for(let e=0;e<3;e++){let o=t[e*2],s=t[e*2+1],c=t[(e+1)*2%6],l=t[((e+1)*2+1)%6],u=t[(e+2)*2%6],d=t[((e+2)*2+1)%6],f=c-o,p=l-s,m=f===0,h=p===0,g=(r-s)/p,_=(i-s)/p,v=Math.min(g,_),y=Math.max(g,_);if(!h&&(v>=1||y<=0)||h&&(s<r||s>i)){l>=r&&l<=i&&a.push(n[(e+1)%3]);continue}if(!h&&v>0){let e=o+f*v,t=s+p*v;a.push(this._vertexToIndex(e,t))}let b=o+f*Math.max(v,0),x=o+f*Math.min(y,1);if(m||this._generateIntraEdgeVertices(a,o,s,c,l,b,x),!h&&y<1){let e=o+f*y,t=s+p*y;a.push(this._vertexToIndex(e,t))}(h||l>=r&&l<=i)&&a.push(n[(e+1)%3]),!h&&(l<=r||l>=i)&&this._generateInterEdgeVertices(a,o,s,c,l,u,d,x,r,i)}return a}_generateIntraEdgeVertices(e,t,n,r,i,a,o){let s=r-t,c=i-n,l=c===0,u=l?Math.min(t,r):Math.min(a,o),d=l?Math.max(t,r):Math.max(a,o),f=Math.floor(u/this._granularityCellSize)+1,p=Math.ceil(d/this._granularityCellSize)-1;if(l?t<r:a<o)for(let r=f;r<=p;r++){let i=r*this._granularityCellSize,a=n+c*(i-t)/s;e.push(this._vertexToIndex(i,a))}else for(let r=p;r>=f;r--){let i=r*this._granularityCellSize,a=n+c*(i-t)/s;e.push(this._vertexToIndex(i,a))}}_generateInterEdgeVertices(e,t,n,r,i,a,o,s,c,l){let u=i-n,d=a-r,f=o-i,p=(c-i)/f,m=(l-i)/f,h=Math.min(p,m),g=Math.max(p,m),_=r+d*h,v=Math.floor(Math.min(_,s)/this._granularityCellSize)+1,y=Math.ceil(Math.max(_,s)/this._granularityCellSize)-1,b=s<_,x=f===0;if(x&&(o===c||o===l))return;if(x||h>=1||g<=0){let e=t-a,r=n-o,i=(c-o)/r,u=(l-o)/r,d=a+e*Math.min(i,u);v=Math.floor(Math.min(d,s)/this._granularityCellSize)+1,y=Math.ceil(Math.max(d,s)/this._granularityCellSize)-1,b=s<d}let S=u>0?l:c;if(b)for(let t=v;t<=y;t++){let n=t*this._granularityCellSize;e.push(this._vertexToIndex(n,S))}else for(let t=y;t>=v;t--){let n=t*this._granularityCellSize;e.push(this._vertexToIndex(n,S))}}_generateOutline(e){let t=[];for(let n of e){let e=Gk(n,this._granularity,!0),r=this._pointArrayToIndices(e),i=[];for(let e=1;e<r.length;e++)i.push(r[e-1]),i.push(r[e]);t.push(i)}return t}_handlePoles(e){let t=!1,n=!1;this._canonical&&(this._canonical.y===0&&(t=!0),this._canonical.y===(1<<this._canonical.z)-1&&(n=!0)),(t||n)&&this._fillPoles(e,t,n)}_ensureNoPoleVertices(){let e=this._vertexBuffer;for(let t=0;t<e.length;t+=2){let n=e[t+1];n===-32768&&(e[t+1]=-32767),n===32767&&(e[t+1]=32766)}}_generatePoleQuad(e,t,n,r,i,a){r>i==(a===-32768)?(e.push(n),e.push(t),e.push(this._vertexToIndex(r,a)),e.push(this._vertexToIndex(i,a)),e.push(n),e.push(this._vertexToIndex(r,a))):(e.push(t),e.push(n),e.push(this._vertexToIndex(r,a)),e.push(n),e.push(this._vertexToIndex(i,a)),e.push(this._vertexToIndex(r,a)))}_fillPoles(e,t,n){let r=this._vertexBuffer,i=aL,a=e.length;for(let o=2;o<a;o+=3){let a=e[o-2],s=e[o-1],c=e[o],l=r[a*2],u=r[a*2+1],d=r[s*2],f=r[s*2+1],p=r[c*2],m=r[c*2+1];t&&(u===0&&f===0&&this._generatePoleQuad(e,a,s,l,d,wH),f===0&&m===0&&this._generatePoleQuad(e,s,c,d,p,wH),m===0&&u===0&&this._generatePoleQuad(e,c,a,p,l,wH)),n&&(u===i&&f===i&&this._generatePoleQuad(e,a,s,l,d,TH),f===i&&m===i&&this._generatePoleQuad(e,s,c,d,p,TH),m===i&&u===i&&this._generatePoleQuad(e,c,a,p,l,TH))}}_initializeVertices(e){for(let t=0;t<e.length;t+=2)this._vertexToIndex(e[t],e[t+1])}subdividePolygonInternal(e,t){if(this._used)throw Error(`Subdivision: multiple use not allowed.`);this._used=!0;let{flattened:n,holeIndices:r}=Kk(e);this._initializeVertices(n);let i;try{let e=sk(n,r),t=this._convertIndices(n,e);i=this._subdivideTrianglesScanline(t)}catch(e){console.error(e)}let a=[];return t&&(a=this._generateOutline(e)),this._ensureNoPoleVertices(),this._handlePoles(i),this._granularity>=2&&this._canonical?.z===0&&(i=this._removeTrianglesOutsideTileX(i),a=a.map(e=>this._removeLinesOutsideTileX(e))),{verticesFlattened:this._vertexBuffer,indicesTriangles:i,indicesLineList:a}}_vertexOutsideTileX(e){let t=this._vertexBuffer[e*2];return t<0||t>8192}_removeTrianglesOutsideTileX(e){let t=[];for(let n=0;n<e.length;n+=3)this._vertexOutsideTileX(e[n])||this._vertexOutsideTileX(e[n+1])||this._vertexOutsideTileX(e[n+2])||t.push(e[n],e[n+1],e[n+2]);return t}_removeLinesOutsideTileX(e){let t=[];for(let n=0;n<e.length;n+=2)this._vertexOutsideTileX(e[n])||this._vertexOutsideTileX(e[n+1])||t.push(e[n],e[n+1]);return t}_convertIndices(e,t){let n=[];for(let r of t){let t=e[r*2],i=e[r*2+1];n.push(this._vertexToIndex(t,i))}return n}_pointArrayToIndices(e){let t=[];for(let n of e)t.push(this._vertexToIndex(n.x,n.y));return t}},DH=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(e=>e.id),this.index=e.index,this.hasDependencies=!1,this.sdfPatterns={},this.patternFeatures=[],this.layoutVertexArray=new LB,this.indexArray=new XB,this.indexArray2=new ZB,this.programConfigurations=new DV(e.layers,e.zoom),this.segments=new tV,this.segments2=new tV,this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id)}populate(e,t,n){this.hasDependencies=ak(`fill`,this.layers,t);let r=this.layers[0].layout.get(`fill-sort-key`),i=!r.isConstant(),a=[],o=new wz(this.zoom),s=this.layers[0]._featureFilter.needGeometry;for(let{feature:c,id:l,index:u,sourceLayerIndex:d}of e){let e=TO(c,s);if(!this.layers[0]._featureFilter.filter(o,e,n))continue;let f=i?r.evaluate(e,{},n,t.availableImages):void 0,p={id:l,properties:c.properties,type:c.type,sourceLayerIndex:d,index:u,geometry:s?e.geometry:wO(c),patterns:{},sortKey:f};a.push(p)}i&&a.sort((e,t)=>e.sortKey-t.sortKey);for(let r of a){let{geometry:i,index:a,sourceLayerIndex:o}=r;if(this.hasDependencies){let e=ok(`fill`,this.layers,r,{zoom:this.zoom},t);this.patternFeatures.push(e)}else this.addFeature(r,i,a,n,{},t.subdivisionGranularity);let s=e[a].feature;t.featureIndex.insert(s,i,a,o,this.index)}}update(e,t,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:n})}addFeatures({options:e,canonical:t,patternPositions:n,patternMap:r}){this.detectSdfPatterns(r);for(let r of this.patternFeatures)this.addFeature(r,r.geometry,r.index,t,n,e.subdivisionGranularity)}detectSdfPatterns(e){for(let t of this.patternFeatures)for(let n in t.patterns){let r=t.patterns[n];this.recordSdfPattern(n,e[r.min]),this.recordSdfPattern(n,e[r.mid]),this.recordSdfPattern(n,e[r.max])}for(let t of this.layers){let n=t.paint.get(`fill-pattern`).constantOr(null);n&&(this.recordSdfPattern(t.id,e[n.from.toString()]),this.recordSdfPattern(t.id,e[n.to.toString()]))}}recordSdfPattern(e,t){if(!t)return;let n=t.sdf===!0,r=this.sdfPatterns[e];r===void 0?this.sdfPatterns[e]=n:r!==n&&jC(`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,cH),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.indexBuffer2=e.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(e,t,n,r,i,a){for(let e of Uw(t,500)){let t=Wk(e,r,a.fill.getGranularityForZoomLevel(r.z)),n=this.layoutVertexArray;Yk((e,t)=>{n.emplaceBack(e,t)},this.segments,this.layoutVertexArray,this.indexArray,t.verticesFlattened,t.indicesTriangles,this.segments2,this.indexArray2,t.indicesLineList)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,{imagePositions:i,canonical:r})}},iO(`FillBucket`,DH,{omit:[`layers`,`patternFeatures`]}),kH=()=>OH||=new zz({"fill-sort-key":new Fz(kL.layout_fill[`fill-sort-key`],`fill-sort-key`)}),jH=()=>AH||=new zz({"fill-antialias":new Pz(kL.paint_fill[`fill-antialias`],`fill-antialias`),"fill-opacity":new Fz(kL.paint_fill[`fill-opacity`],`fill-opacity`),"fill-layer-opacity":new Pz(kL.paint_fill[`fill-layer-opacity`],`fill-layer-opacity`),"fill-color":new Fz(kL.paint_fill[`fill-color`],`fill-color`),"fill-outline-color":new Fz(kL.paint_fill[`fill-outline-color`],`fill-outline-color`),"fill-translate":new Pz(kL.paint_fill[`fill-translate`],`fill-translate`),"fill-translate-anchor":new Pz(kL.paint_fill[`fill-translate-anchor`],`fill-translate-anchor`),"fill-pattern":new Iz(kL.paint_fill[`fill-pattern`],`fill-pattern`)}),MH={get paint(){return jH()},get layout(){return kH()}},NH=e=>e.type===`fill`,PH=class extends Hz{constructor(e,t){super(e,MH,t)}recalculate(e,t){super.recalculate(e,t);let n=this.paint._values[`fill-outline-color`];n.value.kind===`constant`&&n.value.value===void 0&&(this.paint._values[`fill-outline-color`]=this.paint._values[`fill-color`])}createBucket(e){return new DH(e)}queryRadius(){return VO(this.paint.get(`fill-translate`))}queryIntersectsFeature({queryGeometry:e,geometry:t,transform:n,pixelsToTileUnits:r}){return kO(HO(e,this.paint.get(`fill-translate`),this.paint.get(`fill-translate-anchor`),-n.bearingInRadians,r),t)}isTileClipped(){return!0}},FH=pO([{name:`a_pos`,components:2,type:`Int16`},{name:`a_normal_ed`,components:4,type:`Int16`}],4),IH=pO([{name:`a_centroid`,components:2,type:`Int16`}],4),LH=FH.members,FH.size,FH.alignment,RH=class e{constructor(){this.minX=1/0,this.maxX=-1/0,this.minY=1/0,this.maxY=-1/0}extend(e){return this.minX=Math.min(this.minX,e.x),this.minY=Math.min(this.minY,e.y),this.maxX=Math.max(this.maxX,e.x),this.maxY=Math.max(this.maxY,e.y),this}expandBy(e){return this.minX-=e,this.minY-=e,this.maxX+=e,this.maxY+=e,(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(e){return this.expandBy(-e)}map(t){let n=new e;return n.extend(t(new Vx(this.minX,this.minY))),n.extend(t(new Vx(this.maxX,this.minY))),n.extend(t(new Vx(this.minX,this.maxY))),n.extend(t(new Vx(this.maxX,this.maxY))),n}static fromPoints(t){let n=new e;for(let e of t)n.extend(e);return n}contains(e){return e.x>=this.minX&&e.x<=this.maxX&&e.y>=this.minY&&e.y<=this.maxY}empty(){return this.minX>this.maxX}width(){return this.maxX-this.minX}height(){return this.maxY-this.minY}covers(e){return!this.empty()&&!e.empty()&&e.minX>=this.minX&&e.maxX<=this.maxX&&e.minY>=this.minY&&e.maxY<=this.maxY}intersects(e){return!this.empty()&&!e.empty()&&e.minX<=this.maxX&&e.maxX>=this.minX&&e.minY<=this.maxY&&e.maxY>=this.minY}},zH=RH.fromPoints([new Vx(0,0),new Vx(aL,aL)]),BH=class{constructor(e,t,n,r,i){for(this.properties=Object.create(null),this.extent=n,this.type=0,this.id=void 0,this._pbf=e,this._geometry=-1,this._keys=r,this._values=i;e.pos<t;){let t=e.readVarint();if(t===8)this.id=e.readVarint();else if(t===18){let t=e.readVarint()+e.pos;for(;e.pos<t;){let t=r[e.readVarint()],n=i[e.readVarint()];this.properties[t]=n}}else t===24?this.type=e.readVarint():(t===34&&(this._geometry=e.pos),e.skip(t))}}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,n=[],r,i=1,a=0,o=0,s=0;for(;e.pos<t;){if(a<=0){let t=e.readVarint();if(i=t&7,a=t>>3,a===0)continue}if(a--,i===1)o+=e.readSVarint(),s+=e.readSVarint(),r&&n.push(r),r=[new Vx(o,s)];else if(i===2)o+=e.readSVarint(),s+=e.readSVarint(),r&&r.push(new Vx(o,s));else if(i===7)r&&r.push(r[0].clone());else throw Error(`unknown command ${i}`)}return r&&n.push(r),n}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,n=1,r=0,i=0,a=0,o=1/0,s=-1/0,c=1/0,l=-1/0;for(;e.pos<t;){if(r<=0){let t=e.readVarint();if(n=t&7,r=t>>3,r===0)continue}if(r--,n===1||n===2)i+=e.readSVarint(),a+=e.readSVarint(),i<o&&(o=i),i>s&&(s=i),a<c&&(c=a),a>l&&(l=a);else if(n!==7)throw Error(`unknown command ${n}`)}return[o,c,s,l]}toGeoJSON(e,t,n){let r=this.extent*2**n,i=this.extent*e,a=this.extent*t,o=this.loadGeometry();function s(e){return[(e.x+i)*360/r-180,360/Math.PI*Math.atan(Math.exp((1-(e.y+a)*2/r)*Math.PI))-90]}function c(e){return e.map(s)}let l;if(this.type===1){let e=[];for(let t of o)e.push(t[0]);let t=c(e);l=e.length===1?{type:`Point`,coordinates:t[0]}:{type:`MultiPoint`,coordinates:t}}else if(this.type===2){let e=o.map(c);l=e.length===1?{type:`LineString`,coordinates:e[0]}:{type:`MultiLineString`,coordinates:e}}else if(this.type===3){let e=tA(o),t=[];for(let n of e)t.push(n.map(c));l=t.length===1?{type:`Polygon`,coordinates:t[0]}:{type:`MultiPolygon`,coordinates:t}}else throw Error(`unknown feature type`);let u={type:`Feature`,geometry:l,properties:this.properties};return this.id!=null&&(u.id=this.id),u}},BH.types=[`Unknown`,`Point`,`LineString`,`Polygon`],VH=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 t=e.readVarint();t===10?this.name=e.readString():t===18?(this._features.push(e.pos),e.skip(t)):t===26?this._keys.push(e.readString()):t===34?this._values.push(rA(e)):t===40?this.extent=e.readVarint():t===120?this.version=e.readVarint():e.skip(t)}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 BH(this._pbf,t,this.extent,this._keys,this._values)}},HH=class{constructor(e,t=e.length){let n=Object.create(null);for(;e.pos<t;){let t=e.readVarint();if(t===26){let t=new VH(e,e.readVarint()+e.pos);t.length&&(n[t.name]=t)}else e.skip(t)}this.layers=n}},UH=6371008.8,WH=class e{constructor(e,t){if(isNaN(e)||isNaN(t))throw Error(`Invalid LngLat object: (${e}, ${t})`);if(this.lng=+e,this.lat=+t,this.lat>90||this.lat<-90)throw Error(`Invalid LngLat latitude value: must be between -90 and 90`)}wrap(){return new e(vC(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(e){let t=Math.PI/180,n=this.lat*t,r=e.lat*t,i=Math.sin(n)*Math.sin(r)+Math.cos(n)*Math.cos(r)*Math.cos((e.lng-this.lng)*t);return UH*Math.acos(Math.min(i,1))}static convert(t){if(t instanceof e)return t;if(Array.isArray(t)&&(t.length===2||t.length===3))return new e(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&typeof t==`object`&&t)return new e(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>]")}},GH=2*Math.PI*UH,KH=class e{constructor(e,t,n=0){this.x=+e,this.y=+t,this.z=+n}static fromLngLat(t,n=0){let r=WH.convert(t);return new e(aA(r.lng),oA(r.lat),sA(n,r.lat))}toLngLat(){return new WH(cA(this.x),lA(this.y))}toAltitude(){return uA(this.z,this.y)}meterInMercatorCoordinateUnits(){return 1/GH*dA(lA(this.y))}},qH=89.25,JH=8192,YH=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(e=>e.id),this.index=e.index,this.hasDependencies=!1,this.layoutVertexArray=new RB,this.centroidVertexArray=new NB,this.indexArray=new XB,this.programConfigurations=new DV(e.layers,e.zoom),this.segments=new tV,this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id)}populate(e,t,n){this.features=[],this.hasDependencies=ak(`fill-extrusion`,this.layers,t);let r=new wz(this.zoom),i=this.layers[0],a=i.layout.get(`fill-extrusion-rounded-corner-distance`),o=i._featureFilter.needGeometry;for(let{feature:s,id:c,index:l,sourceLayerIndex:u}of e){let e=TO(s,o);if(!i._featureFilter.filter(r,e,n))continue;let d=o?e.geometry:wO(s),f={id:c,sourceLayerIndex:u,index:l,geometry:a>0?xA(d,a,n):d,properties:s.properties,type:s.type,patterns:{}};this.hasDependencies?this.features.push(ok(`fill-extrusion`,this.layers,f,{zoom:this.zoom},t)):this.addFeature(f,f.geometry,l,n,{},t.subdivisionGranularity),t.featureIndex.insert(s,f.geometry,l,u,this.index,!0)}}addFeatures({options:e,canonical:t,patternPositions:n}){for(let r of this.features){let{geometry:i}=r;this.addFeature(r,i,r.index,t,n,e.subdivisionGranularity)}}update(e,t,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:n})}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,LH),this.centroidVertexBuffer=e.createVertexBuffer(this.centroidVertexArray,IH.members,!0),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(e,t,n,r,i,a){let o=this.layers[0],s=o.layout?o.layout.get(`fill-extrusion-rounded-corner-distance`):0,c=s>0?xA(t,s,r):t;for(let t of Uw(c,500)){let n={x:0,y:0,sampleCount:0},i=this.layoutVertexArray.length;this.processPolygon(n,r,e,t,a);let o=this.layoutVertexArray.length-i,s=Math.floor(n.x/n.sampleCount),c=Math.floor(n.y/n.sampleCount);for(let e=0;e<o;e++)this.centroidVertexArray.emplaceBack(s,c)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,{imagePositions:i,canonical:r})}processPolygon(e,t,n,r,i){if(r.length<1||eA(r[0]))return;for(let t of r)t.length!==0&&DA(e,t);let a={segment:this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray)},o=i.fill.getGranularityForZoomLevel(t.z),s=BH.types[n.type]===`Polygon`;for(let e of r){if(e.length===0||eA(e))continue;let t=Gk(e,o,s);this._generateSideFaces(t,a)}if(!s)return;let c=Wk(r,t,o,!1),l=this.layoutVertexArray;Yk((e,t)=>{EA(l,e,t,0,0,1,1,0)},this.segments,this.layoutVertexArray,this.indexArray,c.verticesFlattened,c.indicesTriangles)}_generateSideFaces(e,t){let n=0;for(let r=1;r<e.length;r++){let i=e[r],a=e[r-1];if($k(i,a))continue;t.segment.vertexLength+4>tV.MAX_VERTEX_ARRAY_LENGTH&&(t.segment=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let o=i.sub(a)._perp()._unit(),s=a.dist(i);n+s>32768&&(n=0),EA(this.layoutVertexArray,i.x,i.y,o.x,o.y,0,0,n),EA(this.layoutVertexArray,i.x,i.y,o.x,o.y,0,1,n),n+=s,EA(this.layoutVertexArray,a.x,a.y,o.x,o.y,0,0,n),EA(this.layoutVertexArray,a.x,a.y,o.x,o.y,0,1,n);let c=t.segment.vertexLength;this.indexArray.emplaceBack(c,c+2,c+1),this.indexArray.emplaceBack(c+1,c+2,c+3),t.segment.vertexLength+=4,t.segment.primitiveLength+=2}}},iO(`FillExtrusionBucket`,YH,{omit:[`layers`,`features`]}),ZH=()=>XH||=new zz({"fill-extrusion-rounded-corner-distance":new Pz(kL[`layout_fill-extrusion`][`fill-extrusion-rounded-corner-distance`],`fill-extrusion-rounded-corner-distance`)}),$H=()=>QH||=new zz({"fill-extrusion-opacity":new Pz(kL[`paint_fill-extrusion`][`fill-extrusion-opacity`],`fill-extrusion-opacity`),"fill-extrusion-color":new Fz(kL[`paint_fill-extrusion`][`fill-extrusion-color`],`fill-extrusion-color`),"fill-extrusion-translate":new Pz(kL[`paint_fill-extrusion`][`fill-extrusion-translate`],`fill-extrusion-translate`),"fill-extrusion-translate-anchor":new Pz(kL[`paint_fill-extrusion`][`fill-extrusion-translate-anchor`],`fill-extrusion-translate-anchor`),"fill-extrusion-pattern":new Iz(kL[`paint_fill-extrusion`][`fill-extrusion-pattern`],`fill-extrusion-pattern`),"fill-extrusion-height":new Fz(kL[`paint_fill-extrusion`][`fill-extrusion-height`],`fill-extrusion-height`),"fill-extrusion-base":new Fz(kL[`paint_fill-extrusion`][`fill-extrusion-base`],`fill-extrusion-base`),"fill-extrusion-vertical-gradient":new Pz(kL[`paint_fill-extrusion`][`fill-extrusion-vertical-gradient`],`fill-extrusion-vertical-gradient`)}),eU={get paint(){return $H()},get layout(){return ZH()}},tU=e=>e.type===`fill-extrusion`,nU=class extends Hz{constructor(e,t){super(e,eU,t)}createBucket(e){return new YH(e)}queryRadius(){return VO(this.paint.get(`fill-extrusion-translate`))}is3D(){return!0}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:n,geometry:r,transform:i,pixelsToTileUnits:a,pixelPosMatrix:o}){let s=HO(e,this.paint.get(`fill-extrusion-translate`),this.paint.get(`fill-extrusion-translate-anchor`),-i.bearingInRadians,a),c=this.paint.get(`fill-extrusion-height`).evaluate(t,n),l=this.paint.get(`fill-extrusion-base`).evaluate(t,n),u=MA(s,o,0),d=jA(r,l,c,o),f=d[0],p=d[1];return AA(f,p,u)}},rU=`geojsonvt_clip_start`,iU=`geojsonvt_clip_end`,aU=pO([{name:`a_pos_normal`,components:2,type:`Int16`},{name:`a_data`,components:4,type:`Uint8`}],4),oU=aU.members,aU.size,aU.alignment,sU=pO([{name:`a_uv_x`,components:1,type:`Float32`},{name:`a_split_index`,components:1,type:`Float32`}]),cU=sU.members,sU.size,sU.alignment,lU=Math.cos(75/2*(Math.PI/180)),uU=1/2,dU=2**14/uU,fU=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(e=>e.id),this.index=e.index,this.hasDependencies=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={};for(let e of this.layers)this.gradients[e.id]={};this.layoutVertexArray=new zB,this.layoutVertexArray2=new BB,this.indexArray=new XB,this.programConfigurations=new DV(e.layers,e.zoom),this.segments=new tV,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id)}populate(e,t,n){this.hasDependencies=ak(`line`,this.layers,t)||this.hasLineDasharray(this.layers);let r=this.layers[0].layout.get(`line-sort-key`),i=!r.isConstant(),a=[],o=new wz(this.zoom),s=this.layers[0]._featureFilter.needGeometry;for(let{feature:t,id:c,index:l,sourceLayerIndex:u}of e){let e=TO(t,s);if(!this.layers[0]._featureFilter.filter(o,e,n))continue;let d=i?r.evaluate(e,{},n):void 0,f={id:c,properties:t.properties,type:t.type,sourceLayerIndex:u,index:l,geometry:s?e.geometry:wO(t),patterns:{},dashes:{},sortKey:d};a.push(f)}i&&a.sort((e,t)=>e.sortKey-t.sortKey);for(let r of a){let{geometry:i,index:a,sourceLayerIndex:o}=r;this.hasDependencies?(ak(`line`,this.layers,t)?ok(`line`,this.layers,r,{zoom:this.zoom},t):this.hasLineDasharray(this.layers)&&this.addLineDashDependencies(this.layers,r,this.zoom,t),this.patternFeatures.push(r)):this.addFeature(r,i,a,n,{},{},t.subdivisionGranularity);let s=e[a].feature;t.featureIndex.insert(s,i,a,o,this.index)}}update(e,t,n,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:n,dashPositions:r})}addFeatures({options:e,canonical:t,patternPositions:n,dashPositions:r}){for(let i of this.patternFeatures)this.addFeature(i,i.geometry,i.index,t,n,r,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,cU)),this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,oU),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[rU],end:+e.properties[iU]}}addFeature(e,t,n,r,i,a,o){let s=this.layers[0].layout,c=s.get(`line-join`).evaluate(e,{}),l=s.get(`line-cap`).evaluate(e,{}),u=s.get(`line-miter-limit`).evaluate(e,{}),d=s.get(`line-round-limit`).evaluate(e,{});this.lineClips=this.lineFeatureClips(e);for(let n of t)this.addLine(n,e,c,l,u,d,r,o);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,{imagePositions:i,dashPositions:a,canonical:r})}addLine(e,t,n,r,i,a,o,s){this.distance=0,this.scaledDistance=0,this.totalDistance=0;let c=o?s.line.getGranularityForZoomLevel(o.z):1;if(e=Gk(e,c),this.lineClips){this.lineClipsArray.push(this.lineClips);for(let t=0;t<e.length-1;t++)this.totalDistance+=e[t].dist(e[t+1]);this.updateScaledDistance(),this.maxLineLength=Math.max(this.maxLineLength,this.totalDistance)}let l=BH.types[t.type]===`Polygon`,u=e.length;for(;u>=2&&e[u-1].equals(e[u-2]);)u--;let d=0;for(;d<u-1&&e[d].equals(e[d+1]);)d++;if(u-d<(l?3:2))return;n===`bevel`&&(i=1.05);let f=this.overscaling<=16?15*aL/(512*this.overscaling):0,p=this.segments.prepareSegment(u*10,this.layoutVertexArray,this.indexArray),m,h,g,_,v;this.e1=this.e2=-1,l&&(m=e[u-2],v=e[d].sub(m)._unit()._perp());for(let t=d;t<u;t++){if(g=t===u-1?l?e[d+1]:void 0:e[t+1],g&&e[t].equals(g))continue;v&&(_=v),m&&(h=m),m=e[t],v=g?g.sub(m)._unit()._perp():_,_||=v;let o=_.add(v);(o.x!==0||o.y!==0)&&o._unit();let s=_.x*v.x+_.y*v.y,c=o.x*v.x+o.y*v.y,y=c===0?1/0:1/c,b=2*Math.sqrt(2-2*c),x=c<lU&&h&&g,S=_.x*v.y-_.y*v.x>0;if(x&&t>d){let e=m.dist(h);if(e>2*f){let t=m.sub(m.sub(h)._mult(f/e)._round());this.updateDistance(h,t),this.addCurrentVertex(t,_,0,0,p),h=t}}let C=h&&g,w=C?n:l?`butt`:r;if(C&&w===`round`&&(y<a?w=`miter`:y<=2&&(w=`fakeround`)),w===`miter`&&y>i&&(w=`bevel`),w===`bevel`&&(y>2&&(w=`flipbevel`),y<i&&(w=`miter`)),h&&this.updateDistance(h,m),w===`miter`)o._mult(y),this.addCurrentVertex(m,o,0,0,p);else if(w===`flipbevel`){if(y>100)o=v.mult(-1);else{let e=y*_.add(v).mag()/_.sub(v).mag();o._perp()._mult(e*(S?-1:1))}this.addCurrentVertex(m,o,0,0,p),this.addCurrentVertex(m,o.mult(-1),0,0,p)}else if(w===`bevel`||w===`fakeround`){let e=-Math.sqrt(y*y-1),t=S?e:0,n=S?0:e;if(h&&this.addCurrentVertex(m,_,t,n,p),w===`fakeround`){let e=Math.round(b*180/Math.PI/20);for(let t=1;t<e;t++){let n=t/e;if(n!==.5){let e=n-.5,t=1.0904+s*(-3.2452+s*(3.55645-s*1.43519)),r=.848013+s*(-1.06021+s*.215638);n+=n*e*(n-1)*(t*e*e+r)}let r=v.sub(_)._mult(n)._add(_)._unit()._mult(S?-1:1);this.addHalfVertex(m,r.x,r.y,!1,S,0,p)}}g&&this.addCurrentVertex(m,v,-t,-n,p)}else if(w===`butt`)this.addCurrentVertex(m,o,0,0,p);else if(w===`square`){let e=h?1:-1;this.addCurrentVertex(m,o,e,e,p)}else w===`round`&&(h&&(this.addCurrentVertex(m,_,0,0,p),this.addCurrentVertex(m,_,1,1,p,!0)),g&&(this.addCurrentVertex(m,v,-1,-1,p,!0),this.addCurrentVertex(m,v,0,0,p)));if(x&&t<u-1){let e=m.dist(g);if(e>2*f){let t=m.add(g.sub(m)._mult(f/e)._round());this.updateDistance(m,t),this.addCurrentVertex(t,v,0,0,p),m=t}}}}addCurrentVertex(e,t,n,r,i,a=!1){let o=t.x+t.y*n,s=t.y-t.x*n,c=-t.x+t.y*r,l=-t.y-t.x*r;this.addHalfVertex(e,o,s,a,!1,n,i),this.addHalfVertex(e,c,l,a,!0,-r,i),this.distance>dU/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(e,t,n,r,i,a))}addHalfVertex({x:e,y:t},n,r,i,a,o,s){let c=(this.lineClips?this.scaledDistance*(dU-1):this.scaledDistance)*uU;if(this.layoutVertexArray.emplaceBack((e<<1)+ +!!i,(t<<1)+ +!!a,Math.round(63*n)+128,Math.round(63*r)+128,(o===0?0:o<0?-1:1)+1|(c&63)<<2,c>>6),this.lineClips){let e=(this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start);this.layoutVertexArray2.emplaceBack(e,this.lineClipsArray.length)}let l=s.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,l,this.e2),s.primitiveLength++),a?this.e2=l:this.e1=l}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(e,t){this.distance+=e.dist(t),this.updateScaledDistance()}hasLineDasharray(e){for(let t of e){let e=t.paint.get(`line-dasharray`);if(e&&!e.isConstant())return!0}return!1}addLineDashDependencies(e,t,n,r){for(let i of e){let e=i.paint.get(`line-dasharray`);if(!e||e.value.kind===`constant`)continue;let a=i.layout.get(`line-cap`).evaluate(t,{})===`round`,o={dasharray:e.value.evaluate({zoom:n-1},t,{}),round:a},s={dasharray:e.value.evaluate({zoom:n},t,{}),round:a},c={dasharray:e.value.evaluate({zoom:n+1},t,{}),round:a},l=`${o.dasharray.join(`,`)},${o.round}`,u=`${s.dasharray.join(`,`)},${s.round}`,d=`${c.dasharray.join(`,`)},${c.round}`;r.dashDependencies[l]=o,r.dashDependencies[u]=s,r.dashDependencies[d]=c,t.dashes[i.id]={min:l,mid:u,max:d}}}},iO(`LineBucket`,fU,{omit:[`layers`,`patternFeatures`]}),mU=()=>pU||=new zz({"line-cap":new Fz(kL.layout_line[`line-cap`],`line-cap`),"line-join":new Fz(kL.layout_line[`line-join`],`line-join`),"line-miter-limit":new Fz(kL.layout_line[`line-miter-limit`],`line-miter-limit`),"line-round-limit":new Fz(kL.layout_line[`line-round-limit`],`line-round-limit`),"line-sort-key":new Fz(kL.layout_line[`line-sort-key`],`line-sort-key`)}),gU=()=>hU||=new zz({"line-opacity":new Fz(kL.paint_line[`line-opacity`],`line-opacity`),"line-layer-opacity":new Pz(kL.paint_line[`line-layer-opacity`],`line-layer-opacity`),"line-color":new Fz(kL.paint_line[`line-color`],`line-color`),"line-translate":new Pz(kL.paint_line[`line-translate`],`line-translate`),"line-translate-anchor":new Pz(kL.paint_line[`line-translate-anchor`],`line-translate-anchor`),"line-width":new Fz(kL.paint_line[`line-width`],`line-width`),"line-gap-width":new Fz(kL.paint_line[`line-gap-width`],`line-gap-width`),"line-offset":new Fz(kL.paint_line[`line-offset`],`line-offset`),"line-blur":new Fz(kL.paint_line[`line-blur`],`line-blur`),"line-dasharray":new Iz(kL.paint_line[`line-dasharray`],`line-dasharray`),"line-pattern":new Iz(kL.paint_line[`line-pattern`],`line-pattern`),"line-gradient":new Rz(kL.paint_line[`line-gradient`],`line-gradient`)}),_U={get paint(){return gU()},get layout(){return mU()}},vU=class extends Fz{possiblyEvaluate(e,t){return t=new wz(Math.floor(t.zoom),{now:t.now,fadeDuration:t.fadeDuration,zoomHistory:t.zoomHistory,transition:t.transition}),super.possiblyEvaluate(e,t)}evaluate(e,t,n,r){return t=yC({},t,{zoom:Math.floor(t.zoom)}),super.evaluate(e,t,n,r)}},bU=e=>e.type===`line`,xU=class extends Hz{constructor(e,t){super(e,_U,t),this.gradientVersion=0,yU||(yU=new vU(_U.paint.properties[`line-width`].specification,`line-floorwidth`),yU.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(e){if(e===`line-gradient`){let e=this.gradientExpression();this.stepInterpolant=PE(e)?e._styleExpression.expression instanceof xR:!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`]=yU.possiblyEvaluate(this._transitioningPaint._values[`line-width`].value,e)}createBucket(e){return new fU(e)}queryRadius(e){let t=e,n=NA(BO(`line-width`,this,t),BO(`line-gap-width`,this,t)),r=BO(`line-offset`,this,t);return n/2+Math.abs(r)+VO(this.paint.get(`line-translate`))}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:n,geometry:r,transform:i,pixelsToTileUnits:a}){let o=HO(e,this.paint.get(`line-translate`),this.paint.get(`line-translate-anchor`),-i.bearingInRadians,a),s=a/2*NA(this.paint.get(`line-width`).evaluate(t,n),this.paint.get(`line-gap-width`).evaluate(t,n)),c=this.paint.get(`line-offset`).evaluate(t,n);return c&&(r=WO(r,c*a)),AO(o,r,s)}isTileClipped(){return!0}},SU=pO([{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),CU=pO([{name:`a_projected_pos`,components:3,type:`Float32`}],4),pO([{name:`a_fade_opacity`,components:1,type:`Uint32`}],4),wU=pO([{name:`a_placed`,components:2,type:`Uint8`},{name:`a_shift`,components:2,type:`Float32`},{name:`a_box_real`,components:2,type:`Int16`}]),pO([{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`}]),TU=pO([{name:`a_pos`,components:2,type:`Int16`},{name:`a_anchor_pos`,components:2,type:`Int16`},{name:`a_extrude`,components:2,type:`Int16`}],4),EU=pO([{name:`a_pos`,components:2,type:`Float32`},{name:`a_radius`,components:1,type:`Float32`},{name:`a_flags`,components:2,type:`Int16`}],4),pO([{name:`triangle`,components:3,type:`Uint16`}]),pO([{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`}]),pO([{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`}]),pO([{type:`Float32`,name:`offsetX`}]),pO([{type:`Int16`,name:`x`},{type:`Int16`,name:`y`},{type:`Int16`,name:`tileUnitDistanceFromAnchor`}]),pO([{type:`Uint16`,name:`textAnchor`},{type:`Float32`,components:2,name:`textOffset`}]),DU=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(DU.isParsed())throw Error(`RTL text plugin already registered.`);this.applyArabicShaping=e.applyArabicShaping,this.processBidirectionalText=e.processBidirectionalText,this.processStyledBidirectionalText=e.processStyledBidirectionalText,this.loadScriptResolve()}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getRTLTextPluginStatus(){return this.pluginStatus}syncState(e,t){return S(this,null,function*(){if(this.isParsed())return this.getState();if(e.pluginStatus!==`loading`)return this.setState(e),e;let n=e.pluginURL,r=new Promise(e=>{this.loadScriptResolve=e}),i=new Promise(e=>setTimeout(()=>e(),this.TIMEOUT));if(yield t(n),yield Promise.race([r,i]),this.isParsed()){let e={pluginStatus:`loaded`,pluginURL:n};return this.setState(e),e}throw this.setState({pluginStatus:`error`,pluginURL:``}),Error(`RTL Text Plugin failed to import scripts from ${n}`)})}},OU={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`},kU={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]},AU={لآ:[65269,65270],لأ:[65271,65272],لإ:[65273,65274],لا:[65275,65276]},jU=1604,MU=/[\u0600-\u06ff\u0750-\u077f\u0870-\u089f\u08a0-\u08ff\ufb50-\ufdff\ufe70-\ufeff]/,NU=new Map;for(let[e,t]of Object.entries(OU))UA(t,e,NU);PU=typeof Intl<`u`&&`Segmenter`in Intl,LU={"!":`︕`,"#":`#`,$:`$`,"%":`%`,"&":`&`,"(":`︵`,")":`︶`,"*":`*`,"+":`+`,",":`︐`,"-":`︲`,".":`・`,"/":`/`,":":`︓`,";":`︔`,"<":`︿`,"=":`=`,">":`﹀`,"?":`︖`,"@":`@`,"[":`﹇`,"\\":`\`,"]":`﹈`,"^":`^`,_:`︳`,"`":```,"{":`︷`,"|":`―`,"}":`︸`,"~":`~`,"¢":`¢`,"£":`£`,"¥":`¥`,"¦":`¦`,"¬":`¬`,"¯":` ̄`,"–":`︲`,"—":`︱`,"‘":`﹃`,"’":`﹄`,"“":`﹁`,"”":`﹂`,"…":`︙`,"⋯":`︙`,"‧":`・`,"₩":`₩`,"、":`︑`,"。":`︒`,"〈":`︿`,"〉":`﹀`,"《":`︽`,"》":`︾`,"「":`﹁`,"」":`﹂`,"『":`﹃`,"』":`﹄`,"【":`︻`,"】":`︼`,"〔":`︹`,"〕":`︺`,"〖":`︗`,"〗":`︘`,"!":`︕`,"(":`︵`,")":`︶`,",":`︐`,"-":`︲`,".":`・`,":":`︓`,";":`︔`,"<":`︿`,">":`﹀`,"?":`︖`,"[":`﹇`,"]":`﹈`,"_":`︳`,"{":`︷`,"|":`―`,"}":`︸`,"⦅":`︵`,"⦆":`︶`,"。":`︒`,"「":`﹁`,"」":`﹂`},RU={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},zU={40:!0},BU=class e{constructor(e=``,t=[],n=[]){this.text=e,this.sections=t,this.sectionIndex=n,this.imageSectionID=null,this._graphemes=null}graphemes(){return this._graphemes??=rj(this.text),this._graphemes}static fromFeature(t,n){let r=new e;for(let e of t.sections)e.image?r.addImageSection(e):r.addTextSection(e,n);return r}length(){return this.graphemes().length}getSection(e){return this.sections[this.sectionIndex[e]]}getSectionIndex(e){return this.sectionIndex[e]}verticalizePunctuation(){this.text=mj(this.text),this._graphemes=null}hasZeroWidthSpaces(){return this.text.includes(``)}trim(){let e=this.graphemes(),t=0;for(;t<e.length&&_j(e[t]);)t++;let n=e.length;for(;n>t&&_j(e[n-1]);)n--;this.text=e.slice(t,n).join(``),this.sectionIndex=this.sectionIndex.slice(t,n),this._graphemes=null}substring(t,n){let r=this.graphemes().slice(t,n).join(``),i=this.sectionIndex.slice(t,n);return new e(r,this.sections,i)}toCodeUnitIndex(e){return this.graphemes().slice(0,e).join(``).length}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((e,t)=>Math.max(e,this.sections[t].scale),0)}getMaxImageSize(e){let t=0,n=0;for(let r=0;r<this.length();r++){let i=this.getSection(r);if(`imageName`in i){let r=e[i.imageName];if(!r)continue;let a=r.displaySize;t=Math.max(t,a[0]),n=Math.max(n,a[1])}}return{maxImageWidth:t,maxImageHeight:n}}_appendSection(e,t){let n=this.graphemes(),r=n.length>0?n[n.length-1]:``,i=rj(r+e);this.text+=e,this._graphemes=n.slice(0,r?-1:void 0).concat(i);let a=i.length-+!!r;for(let e=0;e<a;e++)this.sectionIndex.push(t)}addTextSection(e,t){this.sections.push({scale:e.scale||1,verticalAlign:e.verticalAlign||`bottom`,fontStack:e.fontStack||t}),this._appendSection(e.text,this.sections.length-1)}addImageSection(e){let t=e.image?e.image.name:``;if(t.length===0){jC(`Can't add FormattedSection with an empty image.`);return}let n=this.getNextImageSectionCharCode();if(!n){jC(`Reached maximum number of images 6401`);return}this.sections.push({scale:1,verticalAlign:e.verticalAlign||`bottom`,imageName:t}),this._appendSection(String.fromCharCode(n),this.sections.length-1)}getNextImageSectionCharCode(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}determineLineBreaks(e,t,n,r,i){let a=[],o=this.determineAverageLineWidth(e,t,n,r,i),s=this.hasZeroWidthSpaces(),c=this.graphemes(),l=null,u=0,d=0;for(let t=0;t<c.length;t++){let f=c[t];if(t>0){let e=c[t-1].codePointAt(0),n=f.codePointAt(0),r=LA(e),i=VA(e)&&VA(n);(RU[e]||r||`imageName`in this.getSection(t-1)||c[t+1]!==void 0&&zU[n]||i&&(l??=ij(this.text)).has(d))&&a.push(yj(t,u,o,a,vj(e,n,r&&s),!1))}oj(f.codePointAt(0))||(u+=hj(f,this.getSection(t),n,r,e,i)),d+=f.length}return bj(yj(this.length(),u,o,a,0,!0))}determineAverageLineWidth(e,t,n,r,i){let a=0,o=0;for(let t of this.graphemes()){let s=this.getSection(o);a+=hj(t,s,n,r,e,i),o++}let s=Math.max(1,Math.ceil(a/t));return a/s}},VU=xj(),HU=/[\u061c\u200e\u200f\u202a-\u202e\u2066-\u2069]/,UU=new Set([`WS`,`FSI`,`LRI`,`RLI`,`PDI`]),WU=new Set([`S`,`B`]),GU=4294967296,1/GU,KU=typeof TextDecoder>`u`?null:new TextDecoder(`utf-8`),qU=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,n=this.length){let r;for(;r=this.nextField(n);)e(r,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)*GU;return this.pos+=8,e}readSFixed64(){let e=this.dataView.getUint32(this.pos,!0)+this.dataView.getInt32(this.pos+4,!0)*GU;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,n=t[this.pos++];if(n<128)return n;let r=n&127,i;return i=t[this.pos++],r|=(i&127)<<7,i<128||(i=t[this.pos++],r|=(i&127)<<14,i<128)||(i=t[this.pos++],r|=(i&127)<<21,i<128)?r:(i=t[this.pos],r|=(i&15)<<28,Mj(r,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&&KU?KU.decode(this.buf.subarray(t,e)):Pj(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 n=this.readPackedEnd();for(;this.pos<n;)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}`)}},JU=class{constructor(e,{pixelRatio:t,version:n,isWebGLImage:r=!1,stretchX:i,stretchY:a,content:o,textFitWidth:s,textFitHeight:c}){this.paddedRect=e,this.pixelRatio=t,this.stretchX=i,this.stretchY=a,this.content=o,this.version=n,this.needsFirstWebGLRender=r,this.textFitWidth=s,this.textFitHeight=c}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]}},YU=class{constructor(e,t){let n={},r={};this.haveRenderCallbacks=[],this.patchedUpdateVersion=-1;let i=[];this.addImages(e,n,i),this.addImages(t,r,i);let{w:a,h:o}=Vj(i),s=new WV({width:a||1,height:o||1});for(let t in e){let r=e[t];if(r.isWebGLImage)continue;let i=n[t].paddedRect;WV.copy(r.data,s,{x:0,y:0},{x:i.x+1,y:i.y+1},r.data)}for(let e in t){let n=t[e],i=r[e].paddedRect,a=i.x+1,o=i.y+1,c=n.data.width,l=n.data.height;WV.copy(n.data,s,{x:0,y:0},{x:a,y:o},n.data),WV.copy(n.data,s,{x:0,y:l-1},{x:a,y:o-1},{width:c,height:1}),WV.copy(n.data,s,{x:0,y:0},{x:a,y:o+l},{width:c,height:1}),WV.copy(n.data,s,{x:c-1,y:0},{x:a-1,y:o},{width:1,height:l}),WV.copy(n.data,s,{x:0,y:0},{x:a+c,y:o},{width:1,height:l})}this.image=s,this.iconPositions=n,this.patternPositions=r}addImages(e,t,n){for(let r in e){let i=e[r],a={x:0,y:0,w:i.data.width+2,h:i.data.height+2};n.push(a),t[r]=new JU(a,i),i.hasRenderCallback&&this.haveRenderCallbacks.push(r)}}patchUpdatedImages(e,t){if(e.dispatchRenderCallbacks(this.haveRenderCallbacks),this.patchedUpdateVersion!==e.updateVersion){this.patchedUpdateVersion=e.updateVersion;for(let n in this.iconPositions)this.patchUpdatedImage(this.iconPositions[n],e.getImage(n),t);for(let n in this.patternPositions)this.patchUpdatedImage(this.patternPositions[n],e.getImage(n),t)}}patchUpdatedImage(e,t,n){if(!e||!t||!e.needsFirstWebGLRender&&e.version===t.version)return;e.needsFirstWebGLRender=!1,e.version=t.version;let[r,i]=e.tl,a=t.userImage?.data;if(!zj(a)){n.update(t.data,void 0,{x:r,y:i});return}let{width:o,height:s}=t.data;n.context.setCustomLayerDefaults(),a.renderWithWebGL({gl:n.context.gl,texture:n.texture,x:r,y:i,width:o,height:s}),n.context.setDirty()}},iO(`ImagePosition`,JU),iO(`ImageAtlas`,YU),XU=(function(e){return e[e.none=0]=`none`,e[e.horizontal=1]=`horizontal`,e[e.vertical=2]=`vertical`,e[e.horizontalOnly=3]=`horizontalOnly`,e})(XU||{}),ZU=RegExp(`^\\p{gc=M}$`,`u`),QU=32640,$U=class e extends Vx{constructor(e,t,n,r){super(e,t),this.angle=n,r!==void 0&&(this.segment=r)}clone(){return new e(this.x,this.y,this.angle,this.segment)}},iO(`Anchor`,$U),eW=class{constructor(e,t,n,r,i,a,o,s,c,l){var u;if(this.boxStartIndex=e.length,c){let e=a.top,t=a.bottom,n=a.collisionPadding;n&&(e-=n[1],t+=n[3]);let r=t-e;r>0&&(r=Math.max(10,r),this.circleDiameter=r)}else{let c=(u=a.image)!=null&&u.content&&(a.image.textFitWidth||a.image.textFitHeight)?hM(a):{x1:a.left,y1:a.top,x2:a.right,y2:a.bottom};c.y1=c.y1*o-s[0],c.y2=c.y2*o+s[2],c.x1=c.x1*o-s[3],c.x2=c.x2*o+s[1];let d=a.collisionPadding;if(d&&(c.x1-=d[0]*o,c.y1-=d[1]*o,c.x2+=d[2]*o,c.y2+=d[3]*o),l){let e=new Vx(c.x1,c.y1),t=new Vx(c.x2,c.y1),n=new Vx(c.x1,c.y2),r=new Vx(c.x2,c.y2),i=l*Math.PI/180;e._rotate(i),t._rotate(i),n._rotate(i),r._rotate(i),c.x1=Math.min(e.x,t.x,n.x,r.x),c.x2=Math.max(e.x,t.x,n.x,r.x),c.y1=Math.min(e.y,t.y,n.y,r.y),c.y2=Math.max(e.y,t.y,n.y,r.y)}e.emplaceBack(t.x,t.y,c.x1,c.y1,c.x2,c.y2,n,r,i)}this.boxEndIndex=e.length}},tW=class{constructor(e=[],t=(e,t)=>e<t?-1:+(e>t)){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let e=(this.length>>1)-1;e>=0;e--)this._down(e)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(this.length===0)return;let e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){let{data:t,compare:n}=this,r=t[e];for(;e>0;){let i=e-1>>1,a=t[i];if(n(r,a)>=0)break;t[e]=a,e=i}t[e]=r}_down(e){let{data:t,compare:n}=this,r=this.length>>1,i=t[e];for(;e<r;){let r=(e<<1)+1,a=r+1;if(a<this.length&&n(t[a],t[r])<0&&(r=a),n(t[r],i)>=0)break;t[e]=t[r],e=r}t[e]=i}},nW=class{constructor(e,t,n,r){this.p=new Vx(e,t),this.h=n,this.d=BM(this.p,r),this.max=this.d+this.h*Math.SQRT2}},rW=(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})({}),iW=1/0,aW=[{name:`a_fade_opacity`,components:1,type:`Uint8`,offset:0}],oW=class{constructor(e){this.layoutVertexArray=new UB,this.indexArray=new XB,this.programConfigurations=e,this.segments=new tV,this.dynamicLayoutVertexArray=new WB,this.opacityVertexArray=new GB,this.hasVisibleVertices=!1,this.placedSymbolArray=new wB}isEmpty(){return this.layoutVertexArray.length===0&&this.indexArray.length===0&&this.dynamicLayoutVertexArray.length===0&&this.opacityVertexArray.length===0}upload(e,t,n,r){this.isEmpty()||(n&&(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,SU.members),this.indexBuffer=e.createIndexBuffer(this.indexArray,t),this.dynamicLayoutVertexBuffer=e.createVertexBuffer(this.dynamicLayoutVertexArray,CU.members,!0),this.opacityVertexBuffer=e.createVertexBuffer(this.opacityVertexArray,aW,!0),this.opacityVertexBuffer.itemSize=1),(n||r)&&this.programConfigurations.upload(e))}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())}},iO(`SymbolBuffers`,oW),sW=class{constructor(e,t,n){this.layoutVertexArray=new e,this.layoutAttributes=t,this.indexArray=new n,this.segments=new tV,this.collisionVertexArray=new JB}upload(e){this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=e.createVertexBuffer(this.collisionVertexArray,wU.members,!0)}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())}},iO(`CollisionBuffers`,sW),cW=class{constructor(e){this.collisionBoxArray=e.collisionBoxArray,this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(e=>e.id),this.index=e.index,this.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=_M(this.zoom,t[`text-size`]),this.iconSizeData=_M(this.zoom,t[`icon-size`]);let n=this.layers[0].layout,r=n.get(`symbol-sort-key`),i=n.get(`symbol-z-order`);this.canOverlap=QM(n,`text-overlap`,`text-allow-overlap`)!==`never`||QM(n,`icon-overlap`,`icon-allow-overlap`)!==`never`||n.get(`text-ignore-placement`)||n.get(`icon-ignore-placement`),this.sortFeaturesByKey=i!==`viewport-y`&&!r.isConstant();let a=i===`viewport-y`||i===`auto`&&!this.sortFeaturesByKey;this.sortFeaturesByY=a&&this.canOverlap,n.get(`symbol-placement`)===`point`&&(this.writingModes=n.get(`text-writing-mode`).map(e=>XU[e])),this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id),this.sourceID=e.sourceID}createArrays(){this.text=new oW(new DV(this.layers,this.zoom,e=>e.startsWith(`text`))),this.icon=new oW(new DV(this.layers,this.zoom,e=>e.startsWith(`icon`))),this.glyphOffsetArray=new DB,this.lineVertexArray=new OB,this.symbolInstances=new EB,this.textAnchorOffsets=new AB}calculateGlyphDependencies(e,t,n,r,i){var a;let o=(r||this.allowVerticalPlacement)&&i,s=BU.fromFeature(e,n),c=s.graphemes();for(let e=0;e<c.length;e++){let n=s.getSection(e);if(`imageName`in n)continue;let r=t[a=n.fontStack]||(t[a]={}),i=c[e];aj(i)&&(r[i]=!0);for(let e of i){if(r[e]=!0,!o)continue;let t=LU[e];t&&(r[t]=!0)}}}populate(e,t,n){let r=this.layers[0],i=r.layout,a=i.get(`text-font`),o=i.get(`text-field`),s=i.get(`icon-image`),c=(o.value.kind!==`constant`||o.value.value instanceof cR&&!o.value.value.isEmpty()||o.value.value.toString().length>0)&&(a.value.kind!==`constant`||a.value.value.length>0),l=s.value.kind!==`constant`||!!s.value.value||Object.keys(s.parameters).length>0,u=i.get(`symbol-sort-key`);if(this.features=[],!c&&!l)return;let d=t.iconDependencies,f=t.glyphDependencies,p=t.availableImages,m=new wz(this.zoom);for(let{feature:t,id:o,index:s,sourceLayerIndex:h}of e){let e=r._featureFilter.needGeometry,g=TO(t,e);if(!r._featureFilter.filter(m,g,n))continue;e||(g.geometry=wO(t));let _;if(c){let e=r.getValueAndResolveTokens(`text-field`,g,n,p),t=cR.factory(e);this.hasRTLText||=tN(t),_=tj(t,r,g)}let v;if(l){let e=r.getValueAndResolveTokens(`icon-image`,g,n,p);v=e instanceof hR?e:hR.fromString(e)}if(!_&&!v)continue;let y=this.sortFeaturesByKey?u.evaluate(g,{},n):void 0,b={id:o,text:_,icon:v,index:s,sourceLayerIndex:h,geometry:g.geometry,properties:t.properties,type:BH.types[t.type],sortKey:y};if(this.features.push(b),v&&(d[v.name]=!0),_){let e=a.evaluate(g,{},n).join(`,`),t=i.get(`text-rotation-alignment`)!==`viewport`&&i.get(`symbol-placement`)!==`point`;this.allowVerticalPlacement=this.writingModes?.includes(2);let r=sj(_.toString());this.calculateGlyphDependencies(_,f,e,t,r);for(let e of _.sections)e.image&&(d[e.image.name]=!0)}}i.get(`symbol-placement`)===`line`&&(this.features=nj(this.features)),this.sortFeaturesByKey&&this.features.sort((e,t)=>e.sortKey-t.sortKey)}update(e,t,n){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(e,t,this.layers,{imagePositions:n}),this.icon.programConfigurations.updatePaintArrays(e,t,this.layers,{imagePositions:n}))}addFeatures({options:e,canonical:t,glyphMap:n,glyphPositions:r,iconMap:i,iconPositions:a,showCollisionBoxes:o}){WM({bucket:this,glyphMap:n,glyphPositions:r,imageMap:i,imagePositions:a,showCollisionBoxes:o,canonical:t,subdivisionGranularity:e.subdivisionGranularity})}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 n=this.lineVertexArray.length;if(e.segment!==void 0){let n=e.dist(t[e.segment+1]),r=e.dist(t[e.segment]),i={};for(let r=e.segment+1;r<t.length;r++)i[r]={x:t[r].x,y:t[r].y,tileUnitDistanceFromAnchor:n},r<t.length-1&&(n+=t[r+1].dist(t[r]));for(let n=e.segment||0;n>=0;n--)i[n]={x:t[n].x,y:t[n].y,tileUnitDistanceFromAnchor:r},n>0&&(r+=t[n-1].dist(t[n]));for(let e=0;e<t.length;e++){let t=i[e];this.lineVertexArray.emplaceBack(t.x,t.y,t.tileUnitDistanceFromAnchor)}}return{lineStartIndex:n,lineLength:this.lineVertexArray.length-n}}addSymbols(e,t,n,r,i,a,o,s,c,l,u,d,f){let p=e.indexArray,m=e.layoutVertexArray,h=e.segments.prepareSegment(4*t.length,m,p,this.canOverlap?a.sortKey:void 0),g=this.glyphOffsetArray.length,_=h.vertexLength,v=this.allowVerticalPlacement&&o===2?Math.PI/2:0,y=a.text&&a.text.sections;for(let r=0;r<t.length;r++){let{tl:i,tr:o,bl:c,br:l,tex:u,pixelOffsetTL:g,pixelOffsetBR:_,minFontScaleX:b,minFontScaleY:x,glyphOffset:S,isSDF:C,sectionIndex:w}=t[r],T=h.vertexLength,E=S[1];$M(m,s.x,s.y,i.x,E+i.y,u.x,u.y,n,C,g.x,g.y,b,x,f),$M(m,s.x,s.y,o.x,E+o.y,u.x+u.w,u.y,n,C,_.x,g.y,b,x,f),$M(m,s.x,s.y,c.x,E+c.y,u.x,u.y+u.h,n,C,g.x,_.y,b,x,f),$M(m,s.x,s.y,l.x,E+l.y,u.x+u.w,u.y+u.h,n,C,_.x,_.y,b,x,f),eN(e.dynamicLayoutVertexArray,s,v),p.emplaceBack(T,T+2,T+1),p.emplaceBack(T+1,T+2,T+3),h.vertexLength+=4,h.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(S[0]),(r===t.length-1||w!==t[r+1].sectionIndex)&&e.programConfigurations.populatePaintArrays(m.length,a,a.index,{imagePositions:{},canonical:d,formattedSection:y?.[w]})}e.placedSymbolArray.emplaceBack(s.x,s.y,g,this.glyphOffsetArray.length-g,_,c,l,s.segment,n?n[0]:0,n?n[1]:0,r[0],r[1],o,0,!1,0,u,f)}_addCollisionDebugVertex(e,t,n,r,i,a){return t.emplaceBack(0,0),e.emplaceBack(n.x,n.y,r,i,Math.round(a.x),Math.round(a.y))}addCollisionDebugVertices(e,t,n,r,i,a,o){let s=i.segments.prepareSegment(4,i.layoutVertexArray,i.indexArray),c=s.vertexLength,l=i.layoutVertexArray,u=i.collisionVertexArray,d=o.anchorX,f=o.anchorY;this._addCollisionDebugVertex(l,u,a,d,f,new Vx(e,t)),this._addCollisionDebugVertex(l,u,a,d,f,new Vx(n,t)),this._addCollisionDebugVertex(l,u,a,d,f,new Vx(n,r)),this._addCollisionDebugVertex(l,u,a,d,f,new Vx(e,r)),s.vertexLength+=4;let p=i.indexArray;p.emplaceBack(c,c+1),p.emplaceBack(c+1,c+2),p.emplaceBack(c+2,c+3),p.emplaceBack(c+3,c),s.primitiveLength+=4}addDebugCollisionBoxes(e,t,n,r){for(let i=e;i<t;i++){let e=this.collisionBoxArray.get(i),t=e.x1,a=e.y1,o=e.x2,s=e.y2;this.addCollisionDebugVertices(t,a,o,s,r?this.textCollisionBox:this.iconCollisionBox,e.anchorPoint,n)}}generateCollisionDebugBuffers(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new sW(KB,TU.members,ZB),this.iconCollisionBox=new sW(KB,TU.members,ZB);for(let e=0;e<this.symbolInstances.length;e++){let t=this.symbolInstances.get(e);this.addDebugCollisionBoxes(t.textBoxStartIndex,t.textBoxEndIndex,t,!0),this.addDebugCollisionBoxes(t.verticalTextBoxStartIndex,t.verticalTextBoxEndIndex,t,!0),this.addDebugCollisionBoxes(t.iconBoxStartIndex,t.iconBoxEndIndex,t,!1),this.addDebugCollisionBoxes(t.verticalIconBoxStartIndex,t.verticalIconBoxEndIndex,t,!1)}}_deserializeCollisionBoxesForSymbol(e,t,n,r,i,a,o,s,c){let l={};for(let r=t;r<n;r++){let t=e.get(r);l.textBox={x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2,anchorPointX:t.anchorPointX,anchorPointY:t.anchorPointY},l.textFeatureIndex=t.featureIndex;break}for(let t=r;t<i;t++){let n=e.get(t);l.verticalTextBox={x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2,anchorPointX:n.anchorPointX,anchorPointY:n.anchorPointY},l.verticalTextFeatureIndex=n.featureIndex;break}for(let t=a;t<o;t++){let n=e.get(t);l.iconBox={x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2,anchorPointX:n.anchorPointX,anchorPointY:n.anchorPointY},l.iconFeatureIndex=n.featureIndex;break}for(let t=s;t<c;t++){let n=e.get(t);l.verticalIconBox={x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2,anchorPointX:n.anchorPointX,anchorPointY:n.anchorPointY},l.verticalIconFeatureIndex=n.featureIndex;break}return l}deserializeCollisionBoxes(e){this.collisionArrays=[];for(let t=0;t<this.symbolInstances.length;t++){let n=this.symbolInstances.get(t);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(e,n.textBoxStartIndex,n.textBoxEndIndex,n.verticalTextBoxStartIndex,n.verticalTextBoxEndIndex,n.iconBoxStartIndex,n.iconBoxEndIndex,n.verticalIconBoxStartIndex,n.verticalIconBoxEndIndex))}}hasTextData(){return this.text.segments.get().length>0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(e,t){let n=e.placedSymbolArray.get(t),r=n.vertexStartIndex+n.numGlyphs*4;for(let t=n.vertexStartIndex;t<r;t+=4)e.indexArray.emplaceBack(t,t+2,t+1),e.indexArray.emplaceBack(t+1,t+2,t+3)}getSortedSymbolIndexes(e){if(this.sortedAngle===e&&this.symbolInstanceIndexes!==void 0)return this.symbolInstanceIndexes;let t=Math.sin(e),n=Math.cos(e),r=[],i=[],a=[];for(let e=0;e<this.symbolInstances.length;++e){a.push(e);let o=this.symbolInstances.get(e);r.push(Math.round(t*o.anchorX+n*o.anchorY)|0),i.push(o.featureIndex)}return a.sort((e,t)=>r[e]-r[t]||i[t]-i[e]),a}addToSortKeyRanges(e,t){let n=this.sortKeyRanges[this.sortKeyRanges.length-1];n?.sortKey===t?n.symbolInstanceEnd=e+1:this.sortKeyRanges.push({sortKey:t,symbolInstanceStart:e,symbolInstanceEnd:e+1})}sortFeatures(e){if(this.sortFeaturesByY&&this.sortedAngle!==e&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(e),this.sortedAngle=e,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let e of this.symbolInstanceIndexes){let t=this.symbolInstances.get(e);this.featureSortOrder.push(t.featureIndex);let n=[t.rightJustifiedTextSymbolIndex,t.centerJustifiedTextSymbolIndex,t.leftJustifiedTextSymbolIndex];for(let e=0;e<n.length;e++){let t=n[e];t>=0&&n.indexOf(t)===e&&this.addIndicesForPlacedSymbol(this.text,t)}t.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,t.verticalPlacedTextSymbolIndex),t.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,t.placedIconSymbolIndex),t.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,t.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}},iO(`SymbolBucket`,cW,{omit:[`layers`,`collisionBoxArray`,`features`,`compareText`]}),uW=()=>lW||=new zz({"symbol-placement":new Pz(kL.layout_symbol[`symbol-placement`],`symbol-placement`),"symbol-spacing":new Pz(kL.layout_symbol[`symbol-spacing`],`symbol-spacing`),"symbol-avoid-edges":new Pz(kL.layout_symbol[`symbol-avoid-edges`],`symbol-avoid-edges`),"symbol-sort-key":new Fz(kL.layout_symbol[`symbol-sort-key`],`symbol-sort-key`),"symbol-z-order":new Pz(kL.layout_symbol[`symbol-z-order`],`symbol-z-order`),"icon-allow-overlap":new Pz(kL.layout_symbol[`icon-allow-overlap`],`icon-allow-overlap`),"icon-overlap":new Pz(kL.layout_symbol[`icon-overlap`],`icon-overlap`),"icon-ignore-placement":new Pz(kL.layout_symbol[`icon-ignore-placement`],`icon-ignore-placement`),"icon-optional":new Pz(kL.layout_symbol[`icon-optional`],`icon-optional`),"icon-rotation-alignment":new Fz(kL.layout_symbol[`icon-rotation-alignment`],`icon-rotation-alignment`),"icon-size":new Fz(kL.layout_symbol[`icon-size`],`icon-size`),"icon-text-fit":new Pz(kL.layout_symbol[`icon-text-fit`],`icon-text-fit`),"icon-text-fit-padding":new Pz(kL.layout_symbol[`icon-text-fit-padding`],`icon-text-fit-padding`),"icon-image":new Fz(kL.layout_symbol[`icon-image`],`icon-image`),"icon-rotate":new Fz(kL.layout_symbol[`icon-rotate`],`icon-rotate`),"icon-padding":new Fz(kL.layout_symbol[`icon-padding`],`icon-padding`),"icon-keep-upright":new Pz(kL.layout_symbol[`icon-keep-upright`],`icon-keep-upright`),"icon-offset":new Fz(kL.layout_symbol[`icon-offset`],`icon-offset`),"icon-anchor":new Fz(kL.layout_symbol[`icon-anchor`],`icon-anchor`),"icon-pitch-alignment":new Pz(kL.layout_symbol[`icon-pitch-alignment`],`icon-pitch-alignment`),"text-pitch-alignment":new Pz(kL.layout_symbol[`text-pitch-alignment`],`text-pitch-alignment`),"text-rotation-alignment":new Pz(kL.layout_symbol[`text-rotation-alignment`],`text-rotation-alignment`),"text-field":new Fz(kL.layout_symbol[`text-field`],`text-field`),"text-font":new Fz(kL.layout_symbol[`text-font`],`text-font`),"text-size":new Fz(kL.layout_symbol[`text-size`],`text-size`),"text-max-width":new Fz(kL.layout_symbol[`text-max-width`],`text-max-width`),"text-line-height":new Pz(kL.layout_symbol[`text-line-height`],`text-line-height`),"text-letter-spacing":new Fz(kL.layout_symbol[`text-letter-spacing`],`text-letter-spacing`),"text-justify":new Fz(kL.layout_symbol[`text-justify`],`text-justify`),"text-radial-offset":new Fz(kL.layout_symbol[`text-radial-offset`],`text-radial-offset`),"text-variable-anchor":new Pz(kL.layout_symbol[`text-variable-anchor`],`text-variable-anchor`),"text-variable-anchor-offset":new Fz(kL.layout_symbol[`text-variable-anchor-offset`],`text-variable-anchor-offset`),"text-anchor":new Fz(kL.layout_symbol[`text-anchor`],`text-anchor`),"text-max-angle":new Pz(kL.layout_symbol[`text-max-angle`],`text-max-angle`),"text-writing-mode":new Pz(kL.layout_symbol[`text-writing-mode`],`text-writing-mode`),"text-rotate":new Fz(kL.layout_symbol[`text-rotate`],`text-rotate`),"text-padding":new Pz(kL.layout_symbol[`text-padding`],`text-padding`),"text-keep-upright":new Pz(kL.layout_symbol[`text-keep-upright`],`text-keep-upright`),"text-transform":new Fz(kL.layout_symbol[`text-transform`],`text-transform`),"text-offset":new Fz(kL.layout_symbol[`text-offset`],`text-offset`),"text-allow-overlap":new Pz(kL.layout_symbol[`text-allow-overlap`],`text-allow-overlap`),"text-overlap":new Pz(kL.layout_symbol[`text-overlap`],`text-overlap`),"text-ignore-placement":new Pz(kL.layout_symbol[`text-ignore-placement`],`text-ignore-placement`),"text-optional":new Pz(kL.layout_symbol[`text-optional`],`text-optional`),"symbol-height-offset":new Fz(kL.layout_symbol[`symbol-height-offset`],`symbol-height-offset`),"symbol-height-anchor":new Pz(kL.layout_symbol[`symbol-height-anchor`],`symbol-height-anchor`)}),fW=()=>dW||=new zz({"icon-opacity":new Fz(kL.paint_symbol[`icon-opacity`],`icon-opacity`),"icon-color":new Fz(kL.paint_symbol[`icon-color`],`icon-color`),"icon-halo-color":new Fz(kL.paint_symbol[`icon-halo-color`],`icon-halo-color`),"icon-halo-width":new Fz(kL.paint_symbol[`icon-halo-width`],`icon-halo-width`),"icon-halo-blur":new Fz(kL.paint_symbol[`icon-halo-blur`],`icon-halo-blur`),"icon-translate":new Pz(kL.paint_symbol[`icon-translate`],`icon-translate`),"icon-translate-anchor":new Pz(kL.paint_symbol[`icon-translate-anchor`],`icon-translate-anchor`),"text-opacity":new Fz(kL.paint_symbol[`text-opacity`],`text-opacity`),"text-color":new Fz(kL.paint_symbol[`text-color`],`text-color`,{runtimeType:IL,getOverride:e=>e.textColor,hasOverride:e=>!!e.textColor}),"text-halo-color":new Fz(kL.paint_symbol[`text-halo-color`],`text-halo-color`),"text-halo-width":new Fz(kL.paint_symbol[`text-halo-width`],`text-halo-width`),"text-halo-blur":new Fz(kL.paint_symbol[`text-halo-blur`],`text-halo-blur`),"text-translate":new Pz(kL.paint_symbol[`text-translate`],`text-translate`),"text-translate-anchor":new Pz(kL.paint_symbol[`text-translate-anchor`],`text-translate-anchor`)}),pW={get paint(){return fW()},get layout(){return uW()}},mW=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:ML,this.defaultValue=e}evaluate(e){if(e.formattedSection){let t=this.defaultValue.property.overrides;if(t!=null&&t.hasOverride(e.formattedSection))return t.getOverride(e.formattedSection)}return e.feature&&e.featureState?this.defaultValue.evaluate(e.feature,e.featureState):this.defaultValue.property.specification.default}eachChild(e){if(!this.defaultValue.isConstant()){let t=this.defaultValue.value;e(t._styleExpression.expression)}}outputDefined(){return!1}serialize(){return null}},iO(`FormatSectionOverride`,mW,{omit:[`defaultValue`]}),hW=e=>e.type===`symbol`,gW=class e extends Hz{constructor(e,t){super(e,pW,t)}recalculate(e,t){super.recalculate(e,t);let n=this.layout.get(`icon-rotation-alignment`);if((n.value.kind!==`constant`||n.value.value===`auto`)&&(this.layout._values[`icon-rotation-alignment`]=new Mz(n.property,{kind:`constant`,value:this.layout.get(`symbol-placement`)===`point`?`viewport`:`map`},n.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 e=this.layout.get(`text-writing-mode`);if(e){let t=[];for(let n of e)t.includes(n)||t.push(n);this.layout._values[`text-writing-mode`]=t}else this.layout._values[`text-writing-mode`]=[`horizontal`]}this._setPaintOverrides()}getValueAndResolveTokens(e,t,n,r){let i=this.layout.get(e).evaluate(t,{},n,r),a=this._unevaluatedLayout._values[e];return!a.isDataDriven()&&!ME(a.value)&&i?nN(t.properties,i):i}createBucket(e){return new cW(e)}queryRadius(){return 0}queryIntersectsFeature(){throw Error(`Should take a different path in FeatureIndex`)}_setPaintOverrides(){for(let t of pW.paint.overridableProperties){if(!e.hasPaintOverride(this.layout,t))continue;let n=this.paint.get(t),r=new cz(new mW(n),`layers[${this.id}].paint.${n.property.name}`,n.property.specification),i=null;i=n.value.kind===`constant`||n.value.kind===`source`?new lz(`source`,r):new uz(`composite`,r,n.value.zoomStops),this.paint._values[t]=new Mz(n.property,i,n.parameters)}}_handleOverridablePaintPropertyUpdate(t,n,r){return!this.layout||n.isDataDriven()||r.isDataDriven()?!1:e.hasPaintOverride(this.layout,t)}static hasPaintOverride(e,t){let n=e.get(`text-field`),r=pW.paint.properties[t],i=!1,a=e=>{var t;for(let n of e)if((t=r.overrides)!=null&&t.hasOverride(n)){i=!0;return}};if(n.value.kind===`constant`&&n.value.value instanceof cR)a(n.value.value.sections);else if(n.value.kind===`source`||n.value.kind===`composite`){let e=t=>{if(!i){if(t instanceof vR&&Fw(t.value)===HL){let e=t.value;a(e.sections)}else t instanceof wR?a(t.sections):t.eachChild(e)}},t=n.value;t._styleExpression&&e(t._styleExpression.expression)}return i}},vW=()=>_W||=new zz({"background-color":new Pz(kL.paint_background[`background-color`],`background-color`),"background-pattern":new Lz(kL.paint_background[`background-pattern`],`background-pattern`),"background-opacity":new Pz(kL.paint_background[`background-opacity`],`background-opacity`)}),yW={get paint(){return vW()}},bW=e=>e.type===`background`,xW=class extends Hz{constructor(e,t){super(e,yW,t)}},SW=e=>e.type===`custom`,CW=class extends Hz{constructor(e,t){super(e,{},t),this.onAdd=e=>{this.implementation.onAdd&&this.implementation.onAdd(e,e.painter.context.gl)},this.onRemove=e=>{this.implementation.onRemove&&this.implementation.onRemove(e,e.painter.context.gl)},this.implementation=e}is3D(){return this.implementation.renderingMode===`3d`}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw Error(`Custom layers cannot be serialized`)}},wW=class{constructor(e){this._methodToThrottle=e,this._triggered=!1,this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle()}}trigger(){var e;this._triggered||(this._triggered=!0,(e=this._channel)==null||e.port1.postMessage(!0))}remove(){delete this._channel,this._methodToThrottle=()=>{}}},TW={once:!0},EW=class{constructor(e,t){this.target=e,this.mapId=t,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new wW(()=>this.process()),this.subscription=VC(this.target,`message`,e=>this.receive(e),!1),this.globalScope=FC(self)?e:window}registerMessageHandler(e,t){this.messageHandlers[e]=t}unregisterMessageHandler(e){delete this.messageHandlers[e]}sendAsync(e,t){return new Promise((n,r)=>{let i=Math.round(Math.random()*0xde0b6b3a7640000).toString(36).substring(0,10),a=t?VC(t.signal,`abort`,()=>{a?.unsubscribe(),delete this.resolveRejects[i];let n={id:i,type:`<cancel>`,origin:location.origin,targetMapId:e.targetMapId,sourceMapId:this.mapId};this.target.postMessage(n),r(new gL(t.signal.reason))},TW):null;this.resolveRejects[i]={resolve:e=>{a?.unsubscribe(),n(e)},reject:e=>{a?.unsubscribe(),r(e)}};let o=[],s=m(p({},e),{id:i,sourceMapId:this.mapId,origin:location.origin,data:lO(e.data,o)});this.target.postMessage(s,{transfer:o})})}receive(e){let t=e.data,n=t.id,r=[`file://`,`resource://android`,`null`],i=[t.origin,location.origin],a=t.origin===location.origin,o=i.some(e=>r.includes(e));if((a||o)&&!(t.targetMapId&&this.mapId!==t.targetMapId)){if(t.type===`<cancel>`){delete this.tasks[n];let e=this.abortControllers[n];delete this.abortControllers[n],e&&e.abort();return}if(FC(self)||t.mustQueue){this.tasks[n]=t,this.taskQueue.push(n),this.invoker.trigger();return}this.processTask(n,t)}}process(){if(this.taskQueue.length===0)return;let e=this.taskQueue.shift(),t=this.tasks[e];delete this.tasks[e],this.taskQueue.length>0&&this.invoker.trigger(),t&&this.processTask(e,t)}processTask(e,t){return S(this,null,function*(){if(t.type===`<response>`){let n=this.resolveRejects[e];if(delete this.resolveRejects[e],!n)return;t.error?n.reject(ZS(uO(t.error))):n.resolve(uO(t.data));return}if(!this.messageHandlers[t.type]){this.completeTask(e,null,null);return}let n=uO(t.data),r=new AbortController;this.abortControllers[e]=r;try{let i=yield this.messageHandlers[t.type](t.sourceMapId,n,r);this.completeTask(e,null,i)}catch(t){this.completeTask(e,ZS(t))}})}completeTask(e,t,n){let r=[];delete this.abortControllers[e];let i={id:e,type:`<response>`,sourceMapId:this.mapId,origin:location.origin,error:t?lO(t):null,data:lO(n,r)};this.target.postMessage(i,{transfer:r})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},DW=class{constructor(e,t,n){if(!oN(e,t,n))throw Error(`x=${t}, y=${n}, z=${e} outside of bounds. 0<=x<${2**e}, 0<=y<${2**e} 0<=z<=25 `);this.z=e,this.x=t,this.y=n,this.key=cN(0,e,e,t,n)}equals(e){return this.z===e.z&&this.x===e.x&&this.y===e.y}url(e,t,n){let r=lN(this.x,this.y,this.z),i=dN(this.z,this.x,this.y);return e[(this.x+this.y)%e.length].replace(/{prefix}/g,(this.x%16).toString(16)+(this.y%16).toString(16)).replace(/{z}/g,String(this.z)).replace(/{x}/g,String(this.x)).replace(/{y}/g,String(n===`tms`?2**this.z-this.y-1:this.y)).replace(/{ratio}/g,t>1?`@2x`:``).replace(/{quadkey}/g,i).replace(/{bbox-epsg-3857}/g,r)}isChildOf(e){let t=this.z-e.z;return t>0&&e.x===this.x>>t&&e.y===this.y>>t}getTilePoint(e){let t=2**this.z;return new Vx((e.x*t-this.x)*aL,(e.y*t-this.y)*aL)}toString(){return`${this.z}/${this.x}/${this.y}`}},OW=class{constructor(e,t){this.wrap=e,this.canonical=t,this.key=cN(e,t.z,t.z,t.x,t.y)}},kW=class e{constructor(e,t,n,r,i){if(this.terrainRttPosMatrix32f=null,e<n)throw Error(`overscaledZ should be >= z; overscaledZ = ${e}; z = ${n}`);this.overscaledZ=e,this.wrap=t,this.canonical=new DW(n,+r,+i),this.key=cN(t,e,n,r,i)}clone(){return new e(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(e){return this.overscaledZ===e.overscaledZ&&this.wrap===e.wrap&&this.canonical.equals(e.canonical)}scaledTo(t){if(t>this.overscaledZ)throw Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);let n=this.canonical.z-t;return t>this.canonical.z?new e(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new e(t,this.wrap,t,this.canonical.x>>n,this.canonical.y>>n)}isOverscaled(){return this.overscaledZ>this.canonical.z}calculateScaledKey(e,t){if(e>this.overscaledZ)throw Error(`targetZ > this.overscaledZ; targetZ = ${e}; overscaledZ = ${this.overscaledZ}`);let n=this.canonical.z-e;return e>this.canonical.z?cN(this.wrap*+t,e,this.canonical.z,this.canonical.x,this.canonical.y):cN(this.wrap*+t,e,e,this.canonical.x>>n,this.canonical.y>>n)}isChildOf(e){if(e.wrap!==this.wrap||this.overscaledZ-e.overscaledZ<=0)return!1;if(e.overscaledZ===0)return this.overscaledZ>0;let t=this.canonical.z-e.canonical.z;return t<0?!1:e.canonical.x===this.canonical.x>>t&&e.canonical.y===this.canonical.y>>t}children(t){if(this.overscaledZ>=t)return[new e(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let n=this.canonical.z+1,r=this.canonical.x*2,i=this.canonical.y*2;return[new e(n,this.wrap,n,r,i),new e(n,this.wrap,n,r+1,i),new e(n,this.wrap,n,r,i+1),new e(n,this.wrap,n,r+1,i+1)]}isLessThan(e){return this.wrap<e.wrap?!0:this.wrap>e.wrap?!1:this.overscaledZ<e.overscaledZ?!0:this.overscaledZ>e.overscaledZ?!1:this.canonical.x<e.canonical.x?!0:this.canonical.x>e.canonical.x?!1:this.canonical.y<e.canonical.y}wrapped(){return new e(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)}unwrapTo(t){return new e(this.overscaledZ,t,this.canonical.z,this.canonical.x,this.canonical.y)}overscaleFactor(){return 2**(this.overscaledZ-this.canonical.z)}toUnwrapped(){return new OW(this.wrap,this.canonical)}toString(){return`${this.overscaledZ}/${this.canonical.x}/${this.canonical.y}`}getTilePoint(e){return this.canonical.getTilePoint(new KH(e.x-this.wrap,e.y))}normalizeCoordinates(t,n,r=aL){if(t>=0&&t<r&&n>=0&&n<r)return{tileID:this,x:t,y:n};let i=Math.floor(t/r),a=Math.floor(n/r),o=t-i*r,s=n-a*r,c=this.canonical.z,l=1<<c,u=this.canonical.y+a;if(u<0||u>=l)return null;let d=this.canonical.x+i,f=this.wrap;return d<0?(f-=Math.ceil(-d/l),d=(d%l+l)%l):d>=l&&(f+=Math.floor(d/l),d%=l),{tileID:new e(this.overscaledZ,f,c,d,u),x:o,y:s}}},AW=Math.PI*6378137,iO(`CanonicalTileID`,DW),iO(`OverscaledTileID`,kW,{omit:[`terrainRttPosMatrix32f`]}),jW=`_geojsonTileLayer`,MW=class{constructor(e){this._stringToNumber={},this._numberToString=[];for(let t=0;t<e.length;t++){let n=e[t];this._stringToNumber[n]=t,this._numberToString[t]=n}}encode(e){return this._stringToNumber[e]}decode(e){if(e>=this._numberToString.length)throw Error(`Out of bounds. Index requested n=${e} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[e]}},NW=class{constructor(e,t,n,r,i){this.type=`Feature`,this._vectorTileFeature=e,this._x=n,this._y=r,this._z=t;for(let t in e.properties)typeof e.properties[t]==`string`&&e.properties[t].startsWith(`__$json__:`)&&(e.properties[t]=JSON.parse(e.properties[t].slice(10)));this.properties=e.properties,this.id=i}projectPoint(e,t,n,r){return[(e.x+t)*360/r-180,360/Math.PI*Math.atan(Math.exp((1-(e.y+n)*2/r)*Math.PI))-90]}projectLine(e,t,n,r){return e.map(e=>this.projectPoint(e,t,n,r))}get geometry(){if(this._geometry)return this._geometry;let e=this._vectorTileFeature,t=e.extent*2**this._z,n=e.extent*this._x,r=e.extent*this._y,i=e.loadGeometry();switch(e.type){case 1:{let e=[];for(let t of i)e.push(t[0]);let a=this.projectLine(e,n,r,t);this._geometry=e.length===1?{type:`Point`,coordinates:a[0]}:{type:`MultiPoint`,coordinates:a};break}case 2:{let e=i.map(e=>this.projectLine(e,n,r,t));this._geometry=e.length===1?{type:`LineString`,coordinates:e[0]}:{type:`MultiLineString`,coordinates:e};break}case 3:{let e=tA(i),a=[];for(let i of e)a.push(i.map(e=>this.projectLine(e,n,r,t)));this._geometry=a.length===1?{type:`Polygon`,coordinates:a[0]}:{type:`MultiPolygon`,coordinates:a};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}},PW=class{constructor(e,t,n){this._name=e,this.dataBuffer=t,typeof n==`number`?this._size=n:(this.nullabilityBuffer=n,this._size=n.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}},FW=class extends PW{},IW=class extends FW{getValueFromBuffer(e){return this.dataBuffer[e]}},LW=class extends FW{getValueFromBuffer(e){return this.dataBuffer[e]}},RW=class extends PW{constructor(e,t,n,r){super(e,t,r),this.delta=n}},zW=class extends RW{constructor(e,t,n,r,i){super(e,i?Int32Array.of(t):Uint32Array.of(t),n,r)}getValueFromBuffer(e){return this.dataBuffer[0]+e*this.delta}},BW=class extends PW{constructor(e,t,n,r){super(e,r?Int32Array.of(t):Uint32Array.of(t),n)}getValueFromBuffer(e){return this.dataBuffer[0]}},VW=class{constructor(e,t,n,r,i=4096){if(this._name=e,this._geometryVector=t,this._idVector=n,this._propertyVectors=r,this._extent=i,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||=new Map(this.propertyVectors.map(e=>[e.name,e])),this.propertyVectorsMap.get(e)}get numFeatures(){return this.geometryVector.numGeometries}get extent(){return this._extent}getFeatures(){let e=[],t=this.geometryVector.getGeometries();for(let n=0;n<this.numFeatures;n++){let r;if(this.idVector){let e=this.idVector.getValue(n);e!==null&&(r=this.containsMaxSafeIntegerValues(this.idVector)?Number(e):e)}let i={coordinates:t[n],type:this.geometryVector.geometryType(n)},a={};for(let e of this.propertyVectors){if(!e)continue;let t=e.name,r=e.getValue(n);r!==null&&(a[t]=r)}e.push({id:r,geometry:i,properties:a})}return e}containsMaxSafeIntegerValues(e){return e instanceof IW||e instanceof BW||e instanceof zW||e instanceof LW}},HW={FEATURE:0,VERTEX:1},UW={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},WW={GEOMETRY:0,STRUCT:1,MAP:2},GW={ID:0},KW=class{constructor(e){this.value=e}get(){return this.value}set(e){this.value=e}increment(){return this.value++}add(e){this.value+=e}},(function(e){e.NONE=`NONE`,e.DELTA=`DELTA`,e.COMPONENTWISE_DELTA=`COMPONENTWISE_DELTA`,e.RLE=`RLE`,e.MORTON=`MORTON`})(qW||={}),(function(e){e.NONE=`NONE`,e.FAST_PFOR=`FAST_PFOR`,e.VARINT=`VARINT`})(JW||={}),YW=new Uint32Array(33),YW[0]=0;for(let e=1;e<=32;e++)YW[e]=e===32?4294967295:4294967295>>>32-e;XW=YW,ZW=65536,QW=hN(ZW),$W=3*QW/256+QW|0,(function(e){e.PRESENT=`PRESENT`,e.DATA=`DATA`,e.OFFSET=`OFFSET`,e.LENGTH=`LENGTH`})(eG||={}),(function(e){e.NONE=`NONE`,e.SINGLE=`SINGLE`,e.SHARED=`SHARED`,e.VERTEX=`VERTEX`,e.MORTON=`MORTON`,e.FSST=`FSST`})(tG||={}),(function(e){e.VERTEX=`VERTEX`,e.INDEX=`INDEX`,e.STRING=`STRING`,e.KEY=`KEY`})(nG||={}),(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`})(rG||={}),iG=[eG.PRESENT,eG.DATA,eG.OFFSET,eG.LENGTH],aG=[qW.NONE,qW.DELTA,qW.COMPONENTWISE_DELTA,qW.RLE,qW.MORTON],oG=[JW.NONE,JW.FAST_PFOR,JW.VARINT],sG=[tG.NONE,tG.SINGLE,tG.SHARED,tG.VERTEX,tG.MORTON,tG.FSST],cG=[nG.VERTEX,nG.INDEX,nG.STRING,nG.KEY],lG=[rG.VAR_BINARY,rG.GEOMETRIES,rG.PARTS,rG.RINGS,rG.TRIANGLES,rG.SYMBOL,rG.DICTIONARY],(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`})(uG||={}),dG=class{constructor(e,t){this.values=e,this._size=t}get(e){let t=Math.floor(e/8),n=e%8;return(this.values[t]>>n&1)==1}set(e,t){let n=Math.floor(e/8),r=e%8;this.values[n]=this.values[n]|+!!t<<r}getInt(e){let t=Math.floor(e/8),n=e%8;return this.values[t]>>n&1}size(){return this._size}getBuffer(){return this.values}},fG=new TextDecoder,pG=class extends FW{getValueFromBuffer(e){return this.dataBuffer[e]}},mG=class extends RW{constructor(e,t,n,r,i){super(e,i?BigInt64Array.of(t):BigUint64Array.of(t),n,r)}getValueFromBuffer(e){return this.dataBuffer[0]+BigInt(e)*this.delta}},(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`})(hG||={}),(function(e){e[e.POINT=0]=`POINT`,e[e.LINESTRING=1]=`LINESTRING`,e[e.POLYGON=2]=`POLYGON`})(gG||={}),(function(e){e[e.MORTON=0]=`MORTON`,e[e.VEC_2=1]=`VEC_2`,e[e.VEC_3=2]=`VEC_3`})(_G||={}),vG=class{constructor(e,t,n,r,i){this._vertexBufferType=e,this._topologyVector=t,this._vertexOffsets=n,this._vertexBuffer=r,this._mortonSettings=i}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 t=this.vertexOffsets[e],n=this.vertexBuffer[t],r=kF(n,this.mortonSettings.numBits,this.mortonSettings.coordinateShift);return[r.x,r.y]}let t=this.vertexOffsets?this.vertexOffsets[e]*2:e*2;return[this.vertexBuffer[t],this.vertexBuffer[t+1]]}getGeometries(){return jF(this)}get mortonSettings(){return this._mortonSettings}},yG=class extends vG{constructor(e,t,n,r,i,a,o){super(n,r,i,a,o),this._numGeometries=e,this._geometryType=t}geometryType(e){return this._geometryType}get numGeometries(){return this._numGeometries}containsPolygonGeometry(){return this._geometryType===hG.POLYGON||this._geometryType===hG.MULTIPOLYGON}containsSingleGeometryType(){return!0}},bG=class extends vG{constructor(e,t,n,r,i,a){super(e,n,r,i,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)===hG.POLYGON||this.geometryType(e)===hG.MULTIPOLYGON)return!0;return!1}containsSingleGeometryType(){return!1}},xG=class{constructor(e,t,n,r){this._triangleOffsets=e,this._indexBuffer=t,this._vertexBuffer=n,this._topologyVector=r}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 RF(e,this._topologyVector,void 0,this._vertexBuffer).getGeometries()}[Symbol.iterator](){return null}},SG=class extends xG{constructor(e,t,n,r,i,a){super(n,r,i,a),this._numGeometries=e,this._geometryType=t}geometryType(e){return this._geometryType}get numGeometries(){return this._numGeometries}containsSingleGeometryType(){return!0}},CG=class extends xG{constructor(e,t,n,r,i){super(t,n,r,i),this._geometryTypes=e}geometryType(e){return this._geometryTypes[e]}get numGeometries(){return this._geometryTypes.length}containsSingleGeometryType(){return!1}},wG=class extends PW{constructor(e,t,n){super(e,t.getBuffer(),n),this.dataVector=t}getValueFromBuffer(e){return this.dataVector.get(e)}},TG=class extends FW{getValueFromBuffer(e){return this.dataBuffer[e]}},EG=class extends PW{constructor(e,t,n,r){super(e,r?BigInt64Array.of(t):BigUint64Array.of(t),n)}getValueFromBuffer(e){return this.dataBuffer[0]}},DG=class extends PW{constructor(e,t,n,r){super(e,n,r),this.offsetBuffer=t}},OG=class extends DG{constructor(e,t,n,r){super(e,t,n,r??t.length-1)}getValueFromBuffer(e){let t=this.offsetBuffer[e],n=this.offsetBuffer[e+1];return rF(this.dataBuffer,t,n)}},kG=class extends DG{constructor(e,t,n,r,i){super(e,n,r,i??t.length),this.indexBuffer=t,this.indexBuffer=t}getValueFromBuffer(e){let t=this.indexBuffer[e],n=this.offsetBuffer[t],r=this.offsetBuffer[t+1];return rF(this.dataBuffer,n,r)}},AG=class extends DG{constructor(e,t,n,r,i,a,o,s){super(e,n,r,o??t.length),this.indexBuffer=t,this.symbolOffsetBuffer=i,this.symbolTableBuffer=a,this.sharedDictionaryCache=s}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],n=this.offsetBuffer[t],r=this.offsetBuffer[t+1];return rF(this.decodedDictionary,n,r)}decodeDictionary(){return this.symbolLengthBuffer??=this.offsetToLengthBuffer(this.symbolOffsetBuffer),JF(this.symbolTableBuffer,this.symbolLengthBuffer,this.dataBuffer)}offsetToLengthBuffer(e){let t=new Uint32Array(e.length-1),n=e[0];for(let r=1;r<e.length;r++){let i=e[r];t[r-1]=i-n,n=i}return t}},jG=class extends PW{constructor(e,t,n){super(e,new Uint8Array,n??t.length),this.values=t}getValueFromBuffer(e){return this.values[e]}},(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`})(MG||={}),(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`})(NG||={}),PG={ID:0,ID_NULLABLE:1,ID_LONG:2,GEOMETRY:4,SCALAR_BASE:10,STRUCT:30,MAP:31},FG=new TextDecoder,IG=`0-3(ID), 4(GEOMETRY), 10-29(scalars), 30(STRUCT), 31(MAP)`,LG=class{constructor(e,t){switch(this._featureData=e,this.properties=this._featureData.properties||{},this._featureData.geometry?.type){case hG.POINT:case hG.MULTIPOINT:this.type=1;break;case hG.LINESTRING:case hG.MULTILINESTRING:this.type=2;break;case hG.POLYGON:case hG.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 n=[];for(let e of t)n.push(new Vx(e.x,e.y));e.push(n)}return e}},RG=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 LG(this.features[e],this.extent)}},zG=class{constructor(e){this.layers={};let t=PI(new Uint8Array(e));this.layers=t.reduce((e,t)=>m(p({},e),{[t.name]:new RG(t)}),{})}},BG=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 xz(aL,16,0),this.grid3D=new xz(aL,16,0),this.featureIndexArray=new MB,this.promoteId=t}insert(e,t,n,r,i,a){let o=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(n,r,i);let s=a?this.grid3D:this.grid;for(let e of t){let t=[1/0,1/0,-1/0,-1/0];for(let n of e)t[0]=Math.min(t[0],n.x),t[1]=Math.min(t[1],n.y),t[2]=Math.max(t[2],n.x),t[3]=Math.max(t[3],n.y);t[0]<8192&&t[1]<8192&&t[2]>=0&&t[3]>=0&&s.insert(o,t[0],t[1],t[2],t[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=this.encoding===`mlt`?new zG(this.rawTileData).layers:new HH(new qU(this.rawTileData)).layers,this.sourceLayerCoder=new MW(this.vtLayers?Object.keys(this.vtLayers).sort():[jW])),this.vtLayers}query(e,t,n,r){this.loadVTLayers();let i=e.params,a=aL/e.tileSize/e.scale,o=ZE(i.filter,`queryRenderedFeatures filter`,i.globalState),s=e.queryGeometry,c=e.queryPadding*a,l=RH.fromPoints(s),u=this.grid.query(l.minX-c,l.minY-c,l.maxX+c,l.maxY+c),d=RH.fromPoints(e.cameraQueryGeometry).expandBy(c),f=this.grid3D.query(d.minX,d.minY,d.maxX,d.maxY,(t,n,r,i)=>RO(e.cameraQueryGeometry,t-c,n-c,r+c,i+c));for(let e of f)u.push(e);u.sort(RI);let p={},m;for(let c of u){if(c===m)continue;m=c;let l=this.featureIndexArray.get(c),u=null;this.loadMatchingFeature(p,l.bucketIndex,l.sourceLayerIndex,l.featureIndex,o,i.layers,i.availableImages,t,n,r,(t,n,r)=>(u||=wO(t),n.queryIntersectsFeature({queryGeometry:s,feature:t,featureState:r,geometry:u,zoom:this.z,transform:e.transform,pixelsToTileUnits:a,pixelPosMatrix:e.pixelPosMatrix,unwrappedTileID:this.tileID.toUnwrapped(),getElevation:e.getElevation})))}return p}loadMatchingFeature(e,t,n,r,i,a,o,s,c,l,u){let d=this.bucketLayerIDs[t];if(a&&!d.some(e=>a.has(e)))return;let f=this.sourceLayerCoder.decode(n),p=this.vtLayers[f].feature(r);if(i.needGeometry){let e=TO(p,!0);if(!i.filter(new wz(this.tileID.overscaledZ),e,this.tileID.canonical))return}else if(!i.filter(new wz(this.tileID.overscaledZ),p))return;let m=this.getId(p,f);for(let t of d){if(a&&!a.has(t))continue;let n=s[t];if(!n)continue;let i={};m&&l&&(i=l.getState(n.sourceLayer||`_geojsonTileLayer`,m));let d=yC({},c[t]);d.paint=LI(d.paint,n.paint,p,i,o),d.layout=LI(d.layout,n.layout,p,i,o);let f=!u||u(p,n,i);if(!f)continue;let h=new NW(p,this.z,this.x,this.y,m);h.layer=d;let g=e[t];g===void 0&&(g=e[t]=[]),g.push({featureIndex:r,feature:h,intersectionZ:f})}}lookupSymbolFeatures(e,t,n,r,i,a,o,s){let c={};this.loadVTLayers();let l=ZE(i.filterSpec,`queryRenderedFeatures symbol filter`,i.globalState);for(let i of e)this.loadMatchingFeature(c,n,r,i,l,a,o,s,t);return c}hasLayer(e){for(let t of this.bucketLayerIDs)for(let n of t)if(e===n)return!0;return!1}getId(e,t){var n;let r=e.id;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&&(n=e.properties)!=null&&n.cluster&&this.promoteId&&(r=Number(e.properties.cluster_id))}return r}},iO(`FeatureIndex`,BG,{omit:[`rawTileData`,`sourceLayerCoder`]}),VG=class{constructor(e,t){this.max=e,this.onRemove=t,this.reset()}reset(){for(let e in this.data)for(let t of this.data[e])t.timeout&&clearTimeout(t.timeout),this.onRemove(t.value);return this.data={},this.order=[],this}add(e,t,n){let r=e.wrapped().key;this.data[r]===void 0&&(this.data[r]=[]);let i={value:t,timeout:void 0};if(n!==void 0&&(i.timeout=setTimeout(()=>{this.remove(e,i)},n)),this.data[r].push(i),this.order.push(r),this.order.length>this.max){let e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}has(e){return e.wrapped().key in this.data}getAndRemove(e){return this.has(e)?this._getAndRemoveByKey(e.wrapped().key):null}_getAndRemoveByKey(e){let t=this.data[e].shift();return t.timeout&&clearTimeout(t.timeout),this.data[e].length===0&&delete this.data[e],this.order.splice(this.order.indexOf(e),1),t.value}getByKey(e){let t=this.data[e];return t?t[0].value:null}get(e){return this.has(e)?this.data[e.wrapped().key][0].value:null}remove(e,t){if(!this.has(e))return this;let n=e.wrapped().key,r=t===void 0?0:this.data[n].indexOf(t),i=this.data[n][r];return this.data[n].splice(r,1),i.timeout&&clearTimeout(i.timeout),this.data[n].length===0&&delete this.data[n],this.onRemove(i.value),this.order.splice(this.order.indexOf(n),1),this}setMaxSize(e){for(this.max=e;this.order.length>this.max;){let e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}filter(e){let t=[];for(let n in this.data)for(let r of this.data[n])e(r.value)||t.push(r);for(let e of t)this.remove(e.value.tileID,e)}}}),UG={};v(UG,{AJAXError:()=>yL,AttributionControl:()=>l4,BoxZoomHandler:()=>A2,CanvasSource:()=>SQ,CooperativeGesturesHandler:()=>n4,DoubleClickZoomHandler:()=>X2,DragPanHandler:()=>$2,DragRotateHandler:()=>e4,EXTENT:()=>aL,EdgeInsets:()=>w$,ErrorEvent:()=>EL,Event:()=>TL,Evented:()=>DL,FullscreenControl:()=>V4,FullscreenEvent:()=>B4,GPUInitializationError:()=>y2,GeoJSONSource:()=>pQ,GeolocateControl:()=>L4,GeolocateErrorEvent:()=>I4,GeolocateEvent:()=>P4,GeolocatePositionEvent:()=>F4,GlobeControl:()=>U4,Hash:()=>b2,ImageSource:()=>bQ,KeyboardHandler:()=>q2,LngLat:()=>WH,LngLatBounds:()=>cQ,LogoControl:()=>u4,Map:()=>y4,MapBoxZoomEvent:()=>MZ,MapContextEvent:()=>FZ,MapLibreEvent:()=>wZ,MapLibreMap:()=>y4,MapMouseEvent:()=>kZ,MapMovementEvent:()=>TZ,MapProjectionEvent:()=>PZ,MapSourceDataEvent:()=>OZ,MapStyleDataEvent:()=>DZ,MapStyleImageMissingEvent:()=>IZ,MapStyleLoadEvent:()=>EZ,MapTerrainEvent:()=>NZ,MapTouchEvent:()=>AZ,MapWheelEvent:()=>jZ,Marker:()=>A4,MarkerClickEvent:()=>k4,MarkerDragEvent:()=>O4,MercatorCoordinate:()=>KH,NavigationControl:()=>x4,Point:()=>Vx,Popup:()=>q4,PopupEvent:()=>K4,RasterDEMTileSource:()=>fQ,RasterTileSource:()=>dQ,ScaleControl:()=>z4,ScrollZoomHandler:()=>Y2,Style:()=>Y$,TerrainControl:()=>H4,TwoFingersTouchPitchHandler:()=>G2,TwoFingersTouchRotateHandler:()=>W2,TwoFingersTouchZoomHandler:()=>U2,TwoFingersTouchZoomRotateHandler:()=>t4,VectorTileSource:()=>uQ,VideoSource:()=>xQ,addProtocol:()=>ew,addSourceType:()=>DQ,clearPrewarmedResources:()=>AK,config:()=>_L,createTileMesh:()=>sq,getGlobalDispatcher:()=>jK,getMaxParallelImageRequests:()=>cZ,getRTLTextPluginStatus:()=>iZ,getVersion:()=>aZ,getWorkerCount:()=>oZ,getWorkerUrl:()=>uZ,importScriptInWorkers:()=>fZ,isTimeFrozen:()=>ZG,now:()=>JG,prewarm:()=>kK,removeProtocol:()=>tw,restoreNow:()=>XG,setMaxParallelImageRequests:()=>lZ,setNow:()=>YG,setRTLTextPlugin:()=>rZ,setWorkerCount:()=>sZ,setWorkerUrl:()=>dZ});function WG(){var e=new XI(4);return XI!=Float32Array&&(e[1]=0,e[2]=0),e[0]=1,e[3]=1,e}function GG(e,t){var n=t[0],r=t[1],i=t[2],a=t[3],o=n*a-i*r;return o?(o=1/o,e[0]=a*o,e[1]=-r*o,e[2]=-i*o,e[3]=n*o,e):null}function KG(e){return e[0]*e[3]-e[2]*e[1]}function qG(e,t,n){var r=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(n),c=Math.cos(n);return e[0]=r*c+a*s,e[1]=i*c+o*s,e[2]=r*-s+a*c,e[3]=i*-s+o*c,e}function JG(){return yZ.getCurrentTime()}function YG(e){yZ.setNow(e)}function XG(){yZ.restoreNow()}function ZG(){return yZ.isFrozen()}function QG(e,t){let n={};for(let t in e)t!==`ref`&&(n[t]=e[t]);return AL.forEach(e=>{e in t&&(n[e]=t[e])}),n}function $G(e){e=e.slice();let t=Object.create(null);for(let n=0;n<e.length;n++)t[e[n].id]=e[n];for(let n=0;n<e.length;n++)`ref`in e[n]&&(e[n]=QG(e[n],t[e[n].ref]));return e}function eK(e,t){if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!eK(e[n],t[n]))return!1;return!0}if(typeof e==`object`&&e&&t!==null){if(typeof t!=`object`||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(!eK(e[n],t[n]))return!1;return!0}return e===t}function tK(e,t){e.push(t)}function nK(e,t,n){tK(n,{command:`addSource`,args:[e,t[e]]})}function rK(e,t,n){tK(t,{command:`removeSource`,args:[e]}),n[e]=!0}function iK(e,t,n,r){rK(e,n,r),nK(e,t,n)}function aK(e,t,n){let r;for(r in e[n])if(Object.prototype.hasOwnProperty.call(e[n],r)&&r!==`data`&&!eK(e[n][r],t[n][r]))return!1;for(r in t[n])if(Object.prototype.hasOwnProperty.call(t[n],r)&&r!==`data`&&!eK(e[n][r],t[n][r]))return!1;return!0}function oK(e,t,n,r){e||={},t||={};let i;for(i in e)Object.prototype.hasOwnProperty.call(e,i)&&(Object.prototype.hasOwnProperty.call(t,i)||rK(i,n,r));for(i in t)Object.prototype.hasOwnProperty.call(t,i)&&(Object.prototype.hasOwnProperty.call(e,i)?eK(e[i],t[i])||(e[i].type===`geojson`&&t[i].type===`geojson`&&aK(e,t,i)?tK(n,{command:`setGeoJSONSourceData`,args:[i,t[i].data]}):iK(i,t,n,r)):nK(i,t,n))}function sK(e,t,n,r,i,a){e||={},t||={};for(let o in e)Object.prototype.hasOwnProperty.call(e,o)&&(eK(e[o],t[o])||n.push({command:a,args:[r,o,t[o],i]}));for(let o in t)Object.prototype.hasOwnProperty.call(t,o)&&!Object.prototype.hasOwnProperty.call(e,o)&&(eK(e[o],t[o])||n.push({command:a,args:[r,o,t[o],i]}))}function cK(e){return e.id}function lK(e,t){return e[t.id]=t,e}function uK(e,t,n){e||=[],t||=[];let r=e.map(cK),i=t.map(cK),a=e.reduce(lK,{}),o=t.reduce(lK,{}),s=r.slice(),c=Object.create(null),l,u,d,f,p;for(let e=0,t=0;e<r.length;e++)l=r[e],Object.prototype.hasOwnProperty.call(o,l)?t++:(tK(n,{command:`removeLayer`,args:[l]}),s.splice(s.indexOf(l,t),1));for(let e=0,t=0;e<i.length;e++)l=i[i.length-1-e],s[s.length-1-e]!==l&&(Object.prototype.hasOwnProperty.call(a,l)?(tK(n,{command:`removeLayer`,args:[l]}),s.splice(s.lastIndexOf(l,s.length-t),1)):t++,f=s[s.length-e],tK(n,{command:`addLayer`,args:[o[l],f]}),s.splice(s.length-e,0,l),c[l]=!0);for(let e=0;e<i.length;e++)if(l=i[e],u=a[l],d=o[l],!(c[l]||eK(u,d))){if(!eK(u.source,d.source)||!eK(u[`source-layer`],d[`source-layer`])||!eK(u.type,d.type)){tK(n,{command:`removeLayer`,args:[l]}),f=s[s.lastIndexOf(l)+1],tK(n,{command:`addLayer`,args:[d,f]});continue}for(p in sK(u.layout,d.layout,n,l,null,`setLayoutProperty`),sK(u.paint,d.paint,n,l,null,`setPaintProperty`),eK(u.filter,d.filter)||tK(n,{command:`setFilter`,args:[l,d.filter]}),(!eK(u.minzoom,d.minzoom)||!eK(u.maxzoom,d.maxzoom))&&tK(n,{command:`setLayerZoomRange`,args:[l,d.minzoom,d.maxzoom]}),u)Object.prototype.hasOwnProperty.call(u,p)&&p!==`layout`&&p!==`paint`&&p!==`filter`&&p!==`metadata`&&p!==`minzoom`&&p!==`maxzoom`&&(p.indexOf(`paint.`)===0?sK(u[p],d[p],n,l,p.slice(6),`setPaintProperty`):eK(u[p],d[p])||tK(n,{command:`setLayerProperty`,args:[l,p,d[p]]}));for(p in d)Object.prototype.hasOwnProperty.call(d,p)&&!Object.prototype.hasOwnProperty.call(u,p)&&p!==`layout`&&p!==`paint`&&p!==`filter`&&p!==`metadata`&&p!==`minzoom`&&p!==`maxzoom`&&(p.indexOf(`paint.`)===0?sK(u[p],d[p],n,l,p.slice(6),`setPaintProperty`):eK(u[p],d[p])||tK(n,{command:`setLayerProperty`,args:[l,p,d[p]]}))}}function dK(e,t){if(!e)return[{command:`setStyle`,args:[t]}];let n=[];try{if(!eK(e.version,t.version))return[{command:`setStyle`,args:[t]}];eK(e.center,t.center)||n.push({command:`setCenter`,args:[t.center]}),eK(e.state,t.state)||n.push({command:`setGlobalState`,args:[t.state]}),eK(e.centerAltitude,t.centerAltitude)||n.push({command:`setCenterAltitude`,args:[t.centerAltitude]}),eK(e.zoom,t.zoom)||n.push({command:`setZoom`,args:[t.zoom]}),eK(e.bearing,t.bearing)||n.push({command:`setBearing`,args:[t.bearing]}),eK(e.pitch,t.pitch)||n.push({command:`setPitch`,args:[t.pitch]}),eK(e.roll,t.roll)||n.push({command:`setRoll`,args:[t.roll]}),eK(e.sprite,t.sprite)||n.push({command:`setSprite`,args:[t.sprite]}),eK(e.glyphs,t.glyphs)||n.push({command:`setGlyphs`,args:[t.glyphs]}),eK(e[`font-faces`],t[`font-faces`])||n.push({command:`setFontFaces`,args:[t[`font-faces`]]}),eK(e.transition,t.transition)||n.push({command:`setTransition`,args:[t.transition]}),eK(e.light,t.light)||n.push({command:`setLight`,args:[t.light]}),eK(e.terrain,t.terrain)||n.push({command:`setTerrain`,args:[t.terrain]}),eK(e.sky,t.sky)||n.push({command:`setSky`,args:[t.sky]}),eK(e.projection,t.projection)||n.push({command:`setProjection`,args:[t.projection]});let r={},i=[];oK(e.sources,t.sources,i,r);let a=[];e.layers&&e.layers.forEach(e=>{`source`in e&&r[e.source]?n.push({command:`removeLayer`,args:[e.id]}):a.push(e)}),n=n.concat(i),uK(a,t.layers,n)}catch(e){console.warn(`Unable to compute style diff:`,e),n=[{command:`setStyle`,args:[t]}]}return n}function fK(){let e={},t=kL.$version;for(let n in kL.$root){let r=kL.$root[n];if(r.required){let i=null;i=n===`version`?t:r.type===`array`?[]:{},i!=null&&(e[n]=i)}}return e}function pK(e){let t=[];if(typeof e==`string`)t.push({id:`default`,url:e});else if(e&&e.length>0){let n=[];for(let{id:r,url:i}of e){let e=`${r}${i}`;n.includes(e)||(n.push(e),t.push({id:r,url:i}))}}return t}function mK(e,t,n){try{let r=new URL(e);return r.pathname+=`${t}${n}`,r.toString()}catch{throw Error(`Invalid sprite URL "${e}", must be absolute. Modify style specification directly or use TransformStyleFunction to correct the issue dynamically`)}}function hK(e,t,n,r){return S(this,null,function*(){let i=pK(e),a=n>1?`@2x`:``,o={},s={};for(let{id:e,url:n}of i){let i=yield t.transformRequest(mK(n,a,`.json`),`SpriteJSON`);o[e]=SL(i,r);let c=yield t.transformRequest(mK(n,a,`.png`),`SpriteImage`);s[e]=SZ.getImage(c,r)}return yield Promise.all([...Object.values(o),...Object.values(s)]),gK(o,s)})}function gK(e,t){return S(this,null,function*(){let n={};for(let r in e){n[r]={};let i=(yield t[r]).data;if(!i)throw Error(`Could not load sprite image for ${r}: the response is empty`);let a=vZ.getImageCanvasContext(i),o=(yield e[r]).data;for(let e in o){let{width:t,height:i,x:s,y:c,sdf:l,pixelRatio:u,stretchX:d,stretchY:f,content:p,textFitWidth:m,textFitHeight:h}=o[e],g={width:t,height:i,x:s,y:c,context:a};n[r][e]={data:null,pixelRatio:u,sdf:l,stretchX:d,stretchY:f,content:p,textFitWidth:m,textFitHeight:h,spriteData:g}}}return n})}function _K(e){let t=/^u\+([0-9a-f]*)(\?+)$/i.exec(e);if(t){let[,e,n]=t;return e.length+n.length>6?null:vK(parseInt(`${e}${`0`.repeat(n.length)}`,16),parseInt(`${e}${`f`.repeat(n.length)}`,16))}let n=/^u\+([0-9a-f]{1,6})(?:-([0-9a-f]{1,6}))?$/i.exec(e);if(!n)return null;let r=parseInt(n[1],16);return vK(r,n[2]===void 0?r:parseInt(n[2],16))}function vK(e,t){return e>t||e>zZ?null:{start:e,end:Math.min(t,zZ)}}function yK(e,t){return e.ranges.some(({start:e,end:n})=>t>=e&&t<=n)}function bK(e,t,n,r,i,a,o,s,c){for(let l=t;l<t+r;l++)xK(e,n*a+l,a,i,o,s,c);for(let l=n;l<n+i;l++)xK(e,l*a+t,1,r,o,s,c)}function xK(e,t,n,r,i,a,o){a[0]=0,o[0]=-0x56bc75e2d63100000,o[1]=UZ,i[0]=e[t];for(let s=1,c=0,l=0;s<r;s++){i[s]=e[t+s*n];let r=s*s;do{let e=a[c];l=(i[s]-i[e]+r-e*e)/(s-e)/2}while(l<=o[c]&&--c>-1);c++,a[c]=s,o[c]=l,o[c+1]=UZ}for(let s=0,c=0;s<r;s++){for(;o[c+1]<s;)c++;let r=a[c],l=s-r;e[t+s*n]=i[r]+l*l}}function SK(e){if(!e)return!1;let t=globalThis.location;if(!t)return!1;try{return new URL(e,t.href).origin!==t.origin}catch{return!1}}function CK(){let e=pZ.url;if(!/^https?:/.test(e))return``;let t=e.endsWith(`-dev.mjs`)?`maplibre-gl-worker-dev.mjs`:`maplibre-gl-worker.mjs`;return new URL(`./${t}`,e).href}function wK(e,t){if(t)try{return new Worker(e,{type:`module`})}catch(e){console.warn(`Module worker not supported, falling back to classic worker`,e)}return new Worker(e)}function TK(e){return S(this,null,function*(){let t=yield fetch(e);if(!t.ok)throw Error(`Failed to fetch worker script (${t.status}): ${e}`);let n=yield t.text(),r=new Blob([n],{type:`text/javascript`});return URL.createObjectURL(r)})}function EK(e){let t=new Blob([`import ${JSON.stringify(new URL(e,pZ.url).href)}`],{type:`text/javascript`});return URL.createObjectURL(t)}function DK(){return S(this,null,function*(){let e=_L.WORKER_URL||CK(),t=!(e!=null&&e.endsWith(`.cjs`));if(!SK(e))return wK(e,t);if(t){let n=EK(e);try{return wK(n,t)}finally{URL.revokeObjectURL(n)}}let n=yield TK(e);try{return wK(n,t)}finally{URL.revokeObjectURL(n)}})}function OK(){return aQ||=new rQ,aQ}function kK(){OK().acquire(nQ)}function AK(){let e=aQ;e&&(e.isPreloaded()&&e.numActive()===1?(e.release(nQ),aQ=null):console.warn(`Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()`))}function jK(){return sQ||(sQ=new oQ(OK(),vL),sQ.registerMessageHandler(`GR`,(e,t,n)=>xL(t,n))),sQ}function MK(e,t){let n=Yx();return tS(n,n,[1,1,0]),nS(n,n,[e.width*.5,e.height*.5,1]),e.calculatePosMatrix?eS(n,n,e.calculatePosMatrix(t.toUnwrapped())):n}function NK(e,t,n){if(e)for(let r of e){let e=t[r];if(e?.source===n&&e.type===`fill-extrusion`)return!0}else for(let e in t){let r=t[e];if(r.source===n&&r.type===`fill-extrusion`)return!0}return!1}function PK(e,t,n,r,i,a,o){let s=NK(i?.layers??null,t,e.id),c=a.maxPitchScaleFactor(),l=e.tilesIn(r,c,s);l.sort(LK);let u=[];for(let r of l)u.push({wrappedTileID:r.tileID.wrapped().key,queryResults:r.tile.queryRenderedFeatures(t,n,e.getState(),r.queryGeometry,r.cameraQueryGeometry,r.scale,i,a,c,MK(a,r.tileID),o?(e,t)=>o(r.tileID,e,t):void 0)});return zK(RK(u),e)}function FK(e,t,n,r,i,a,o){let s={},c=a.queryRenderedSymbols(r),l=[];for(let e of Object.keys(c).map(Number))l.push(o[e]);l.sort(LK);for(let n of l){let r=n.featureIndex.lookupSymbolFeatures(c[n.bucketInstanceId],t,n.bucketIndex,n.sourceLayerIndex,{filterSpec:i.filter,globalState:i.globalState},i.layers,i.availableImages,e);for(let e in r){s[e]||(s[e]=[]);let t=r[e];t.sort((e,t)=>{let r=n.featureSortOrder;if(r){let n=r.indexOf(e.featureIndex);return r.indexOf(t.featureIndex)-n}return t.featureIndex-e.featureIndex});for(let n of t)s[e].push(n)}}return BK(s,e,n)}function IK(e,t){let n=e.getRenderableIds().map(t=>e.getTileByID(t)),r=[],i={};for(let e of n){let n=e.tileID.canonical.key;i[n]||(i[n]=!0,e.querySourceFeatures(r,t))}return r}function LK(e,t){let n=e.tileID,r=t.tileID;return n.overscaledZ-r.overscaledZ||n.canonical.y-r.canonical.y||n.wrap-r.wrap||n.canonical.x-r.canonical.x}function RK(e){let t={},n={};for(let{queryResults:r,wrappedTileID:i}of e){n[i]||(n[i]={});let e=n[i];for(let n in r){let i=r[n];e[n]||(e[n]={});let a=e[n];t[n]||(t[n]=[]);for(let e of i)a[e.featureIndex]||(a[e.featureIndex]=!0,t[n].push(e))}}return t}function zK(e,t){for(let n in e)for(let r of e[n])VK(r,t);return e}function BK(e,t,n){for(let r in e)for(let i of e[r]){let e=n[t[r].source];VK(i,e)}return e}function VK(e,t){let n=e.feature,r=t.getFeatureState(n.layer[`source-layer`],n.id);n.source=n.layer.source,n.layer[`source-layer`]&&(n.sourceLayer=n.layer[`source-layer`]),n.state=r}function HK(e,t,n,r){return S(this,null,function*(){let i=e;if(e.url?i=(yield SL(yield t.transformRequest(e.url,`Source`),n)).data:yield vZ.frameAsync(n,r),!i)return null;let a=bC(yC(i,e),[`tiles`,`minzoom`,`maxzoom`,`attribution`,`bounds`,`scheme`,`tileSize`,`encoding`]);return`vector_layers`in i&&i.vector_layers&&(a.vectorLayerIds=i.vector_layers.map(e=>e.id)),a})}function UK(e,t){return t?e.properties[t]:e.id}function WK(e,t){let n=new Map;if(e==null||e.type==null)return n;if(e.type===`Feature`){let r=UK(e,t);return r==null?void 0:(n.set(r,e),n)}if(e.type===`FeatureCollection`){let r=new Set;for(let i of e.features){let e=UK(i,t);if(e==null||r.has(e))return;r.add(e),n.set(e,i)}return n}}function GK(e,t,n){let r=[];if(t.removeAll)e.clear();else if(t.remove)for(let n of t.remove){let t=e.get(n);t&&(r.push(t.geometry),e.delete(n))}if(t.add)for(let i of t.add){let t=UK(i,n);if(t==null)continue;let a=e.get(t);a&&r.push(a.geometry),r.push(i.geometry),e.set(t,i)}if(t.update)for(let n of t.update){let t=e.get(n.id);if(!t)continue;let i=!!n.newGeometry,a=n.removeAllProperties||n.removeProperties?.length>0||n.addOrUpdateProperties?.length>0;if(!i&&!a)continue;r.push(t.geometry);let o=p({},t);if(e.set(n.id,o),i&&(r.push(n.newGeometry),o.geometry=n.newGeometry),a){if(o.properties=n.removeAllProperties?{}:p({},o.properties||{}),n.removeProperties)for(let e of n.removeProperties)delete o.properties[e];if(n.addOrUpdateProperties)for(let{key:e,value:t}of n.addOrUpdateProperties)o.properties[e]=t}}return r}function KK(e,t,n){if(!e)return t||{};if(!t)return e||{};n&&(YK(e.add,n),YK(t.add,n));let r=ZK(e),i=ZK(t);qK(r,i);let a={};if((r.removeAll||i.removeAll)&&(a.removeAll=!0),a.remove=new Set([...r.remove,...i.remove]),a.add=new Map([...r.add,...i.add]),a.update=new Map([...r.update,...i.update]),a.remove.size&&a.add.size)for(let e of a.add.keys())a.remove.delete(e);let o=QK(a);return n&&XK(o.add,n),o}function qK(e,t){t.removeAll&&(e.add.clear(),e.update.clear(),e.remove.clear(),t.remove.clear());for(let n of t.remove)e.add.delete(n),e.update.delete(n);for(let[n,r]of t.update){let i=e.update.get(n);i&&(t.update.set(n,JK(i,r)),e.update.delete(n))}}function JK(e,t){let n={id:e.id};if(t.removeAllProperties&&(delete e.removeProperties,delete e.addOrUpdateProperties,delete t.removeProperties),t.removeProperties&&e.addOrUpdateProperties){let n=new Set(t.removeProperties);e.addOrUpdateProperties=e.addOrUpdateProperties.filter(e=>!n.has(e.key))}return(e.removeAllProperties||t.removeAllProperties)&&(n.removeAllProperties=!0),(e.removeProperties||t.removeProperties)&&(n.removeProperties=[...e.removeProperties||[],...t.removeProperties||[]]),(e.addOrUpdateProperties||t.addOrUpdateProperties)&&(n.addOrUpdateProperties=[...e.addOrUpdateProperties||[],...t.addOrUpdateProperties||[]]),(e.newGeometry||t.newGeometry)&&(n.newGeometry=t.newGeometry||e.newGeometry),n}function YK(e,t){if(e)for(let n of e){let e=UK(n,t);e!=null&&(n.id=e)}}function XK(e,t){if(e)for(let n of e)UK(n,t)!=null&&delete n.id}function ZK(e){if(!e)return{};let t={};return t.removeAll=e.removeAll,t.remove=new Set(e.remove||[]),t.add=new Map(e.add?.map(e=>[e.id,e])),t.update=new Map(e.update?.map(e=>[e.id,e])),t}function QK(e){let t={};return e.removeAll&&(t.removeAll=e.removeAll),e.remove&&(t.remove=Array.from(e.remove)),e.add&&(t.add=Array.from(e.add.values())),e.update&&(t.update=Array.from(e.update.values())),t}function $K(e){return!e||e.length===0?[]:typeof e[0]==`number`?[e]:e.flatMap(e=>$K(e))}function eq(e){return e.type===`GeometryCollection`?e.geometries.flatMap(e=>eq(e)):$K(e.coordinates)}function tq(e){let t=new cQ,n;switch(e.type){case`FeatureCollection`:n=e.features.flatMap(e=>eq(e.geometry));break;case`Feature`:n=eq(e.geometry);break;default:n=eq(e)}if(n.length===0)return t;for(let e of n){let[n,r]=e;t.extend([n,r])}return t}function nq({x:e,y:t,z:n},r=0){let i=cA((e-r)/2**n),a=lA((t+1+r)/2**n),o=cA((e+1+r)/2**n),s=lA((t-r)/2**n);return new cQ([i,a],[o,s])}function rq(e){e*=Math.PI/180;let t=Math.sin(e),n=Math.cos(e);return[(2*n+1)/3,(-Math.sqrt(3)*t-n+1)/3,(Math.sqrt(3)*t-n+1)/3]}function iq(e){return e>0?1/(1-e):1+e}function aq(e){return e>0?1-1/(1.001-e):-e}function oq(e,t){let n=sq(t,`16bit`),r=NB.deserialize({arrayBuffer:n.vertices,length:n.vertices.byteLength/2/2}),i=XB.deserialize({arrayBuffer:n.indices,length:n.indices.byteLength/2/3});return new _Q(e.createVertexBuffer(r,vQ.members),e.createIndexBuffer(i),tV.simpleSegment(0,0,r.length,i.length))}function sq(e,t){let n=e.granularity===void 0?1:Math.max(e.granularity,1),r=n+(e.generateBorders?2:0),i=n+(e.extendToNorthPole||e.generateBorders?1:0)+(e.extendToSouthPole||e.generateBorders?1:0),a=r+1,o=i+1,s=e.generateBorders?-1:0,c=e.generateBorders||e.extendToNorthPole?-1:0,l=n+ +!!e.generateBorders,u=n+(e.generateBorders||e.extendToSouthPole?1:0),d=a*o,f=r*i*6,p=a*o>65536;if(p&&t===`16bit`)throw Error(`Granularity is too large and meshes would not fit inside 16 bit vertex indices.`);let m=p||t===`32bit`,h=new Int16Array(d*2),g=0;for(let t=c;t<=u;t++)for(let r=s;r<=l;r++){let i=r/n*aL;r===-1&&(i=-yQ),r===n+1&&(i=aL+yQ);let a=t/n*aL;t===-1&&(a=e.extendToNorthPole?wH:-yQ),t===n+1&&(a=e.extendToSouthPole?TH:aL+yQ),h[g++]=i,h[g++]=a}let _=m?new Uint32Array(f):new Uint16Array(f),v=0;for(let e=0;e<i;e++)for(let t=0;t<r;t++){let n=t+e*a,r=t+1+e*a,i=t+(e+1)*a,o=t+1+(e+1)*a;_[v++]=n,_[v++]=i,_[v++]=r,_[v++]=r,_[v++]=i,_[v++]=o}return{vertices:h.buffer.slice(0),indices:_.buffer.slice(0),uses32bitIndices:m}}function cq(e){let t=RH.fromPoints(e),n=t.width(),r=t.height(),i=Math.max(0,Math.floor(-Math.log(Math.max(n,r))/Math.LN2)),a=2**i;return new DW(i,Math.floor((t.minX+t.maxX)/2*a),Math.floor((t.minY+t.maxY)/2*a))}function lq(e){let t=e[1].x-e[0].x,n=e[1].y-e[0].y,r=e[2].x-e[0].x;return t*(e[2].y-e[0].y)-n*r<0}function uq(e,t){if(t===`flat`||fq(e))return mQ;let[n,r,i,a]=e,o=n.x-r.x+i.x-a.x,s=n.y-r.y+i.y-a.y,c=[r.x-i.x,r.y-i.y,a.x-i.x,a.y-i.y],[l,u,d,f]=c,p=KG(c),m=(o*f-d*s)/p,h=(l*s-o*u)/p,g=[1,1+m,1+m+h,1+h],_=Math.max(...g)/Math.min(...g),v=t===`perspective`?0:dq(_);return!(_>=1&&_<=512)||v>=1?mQ:[m,h,v]}function dq(e){let t=(1-4/e)/.9921875;return Math.max(0,t)}function fq(e){let[t,n,r,i]=e;return t.x+r.x===n.x+i.x&&t.y+r.y===n.y+i.y}function pq(e,t){let n={};if(!t)return n;for(let r of e){let e=r.layerIds.map(e=>t.getLayer(e)).filter(Boolean);if(e.length!==0){r.layers=e,r.stateDependentLayerIds&&(r.stateDependentLayers=r.stateDependentLayerIds.map(t=>e.filter(e=>e.id===t)[0]));for(let t of e)n[t.id]=r}}return n}function mq(){return AQ||=new kQ,AQ}function hq(e){let t=[];for(let n in e)t.push({id:n,state:e[n]});return t}function gq(e,t,n,r){let i=IS([],e,t),a=1/i[3]/n*r;return tL(i,i,[a,a,1/i[3],a])}function _q(e,t,n,r){let i=r?4:0,a=r?0:4,o=0,s=[],c=[];for(let t=0;t<4;t++){let n=$I([],e[t+a],e[t+i]),r=pS(n);_S(n,n,1/r),s.push(r),c.push(n)}for(let t=0;t<4;t++){let r=oC(e[t+i],c[t],n);o=r!==null&&r>=0?Math.max(o,r):Math.max(o,s[t])}let l=vq(e,t),u=yq(n,l);if(u!==null){let e=u/SS(c[0],l);o=Math.min(o,e)}for(let t=0;t<4;t++){let n=Math.min(o,s[t]);e[t+a]=[e[t+i][0]+c[t][0]*n,e[t+i][1]+c[t][1]*n,e[t+i][2]+c[t][2]*n,1]}}function vq(e,t){let n=$I([],e[t[0]],e[t[1]]),r=$I([],e[t[2]],e[t[1]]),i=[0,0,0,0];return xS(i,CS([],n,r)),i[3]=-SS(i,e[t[0]]),i}function yq(e,t){let n=PS([],e,1/eL(e)),r=$I([],t,_S([],n,SS(t,n))),i=eL(r);if(i>0){let e=Math.sqrt(1-n[3]*n[3]);return iC(t,hS([],_S([],n,-n[3]),_S([],r,e/i)))}return null}function bq(e,t,n){let r=t.intersectsFrustum(e);if(!n||r===0)return r;let i=t.intersectsPlane(n);return i===0?0:r===2&&i===2?2:1}function xq(e,t,n){let r=0,i=(n-t)/10;for(let a=0;a<10;a++){let o=t+(a+.5)/10*(n-t);r+=i*Math.cos(o)**+e}return r}function Sq(e,t){return function(n,r,i,a,o){let s=2*((e-1)/TC(Math.cos(HC(qH-o))/Math.cos(HC(qH)))-1),c=Math.acos(i/a),l=2*xq(s-1,0,HC(o/2)),u=Math.min(HC(qH),c+HC(o/2)),d=Math.min(u,c-HC(o/2)),f=xq(s-1,d,u),p=Math.atan(r/i),m=Math.hypot(r,i),h=n;return h+=TC(a/m/Math.max(.5,Math.cos(HC(o/2)))),h+=s*TC(Math.cos(p))/2,h-=TC(Math.max(1,f/l/t))/2,h}}function Cq(e,t){let n=(t.roundZoom?Math.round:Math.floor)(e.zoom+TC(e.tileSize/t.tileSize));return Math.max(0,n)}function wq(e,t){let n=_C((15-(qH-e.pitch-e.fov/2))/15,0,1),r=Math.max(500,t??0);return e.elevation+n*r}function Tq(e,t,n){let r=e.planes[1],i=e.points.map(e=>{let i=r[0]*e[0]+r[1]*e[1]+r[2]*e[2]+r[3];if(Math.abs(i)>1e-6)return e;let a=[e[0]-n[0],e[1]-n[1],e[2]-n[2]],o=r[0]*a[0]+r[1]*a[1]+r[2]*a[2];if(o>=-1e-9)return e;let s=t/-o;return[e[0]+a[0]*s,e[1]+a[1]*s,e[2]+a[2]*s,e[3]]}),a=e.planes.map((e,n)=>n===1?[e[0],e[1],e[2],e[3]+t]:e),o=[1/0,1/0,1/0],s=[-1/0,-1/0,-1/0];for(let e of i)for(let t=0;t<3;t++)o[t]=Math.min(o[t],e[t]),s[t]=Math.max(s[t],e[t]);return new PQ(i,a,new NQ(o,s))}function Eq(e,t){let n=e.getCameraFrustum(),r=e.getClippingPlane();if(r&&t.maxContentElevation>0){let i=Math.hypot(r[0],r[1],r[2]);if(i>0){let a=1+t.maxContentElevation/UH,o=_C(-r[3]/i,-1,1),s=Math.cos(Math.acos(o)+Math.acos(1/a));r=[r[0],r[1],r[2],-s*i],n=Tq(n,Math.sqrt(a*a-1),e.cameraPosition)}}let i=yA(e),a=KH.fromLngLat(e.center,e.elevation),o=wq(e,t.maxContentElevation),s=e.getCoveringTilesDetailsProvider(),c=s.allowVariableZoom(e,t),l=Cq(e,t),u=t.minzoom||0,d=t.maxzoom===void 0?e.maxZoom:t.maxzoom,f=Math.min(Math.max(0,l),d),p=2**f,m=[p*i.x,p*i.y,0],h=[p*a.x,p*a.y,0],g=Math.hypot(a.x-i.x,a.y-i.y),_=Math.abs(a.z-i.z),v=Math.hypot(g,_),y=e=>({zoom:0,x:0,y:0,wrap:e,fullyVisible:!1}),b=[],x=[];if(e.renderWorldCopies&&s.allowWorldCopies())for(let e=1;e<=3;e++)b.push(y(-e)),b.push(y(e));for(b.push(y(0));b.length>0;){let p=b.pop(),g=p.x,y=p.y,S=p.fullyVisible,C={x:g,y,z:p.zoom},w=s.getTileBoundingVolume(C,p.wrap,o,t);if(!S){let e=bq(n,w,r);if(e===0)continue;S=e===2}let T=s.distanceToTile2d(i.x,i.y,C,w),E=l;c&&(E=(t.calculateTileZoom||FQ)(e.zoom+TC(e.tileSize/t.tileSize),T,_,v,e.fov)),E=(t.roundZoom?Math.round:Math.floor)(E),E=Math.max(0,E);let D=Math.min(E,d);if(p.wrap=s.getWrap(a,C,p.wrap),p.zoom>=D){if(p.zoom<u)continue;let e=f-p.zoom,n=m[0]-.5-(g<<e),r=m[1]-.5-(y<<e),i=t.reparseOverscaled?Math.max(p.zoom,E):p.zoom;x.push({tileID:new kW(p.zoom===d?i:p.zoom,p.wrap,p.zoom,g,y),distanceSq:iL([h[0]-.5-g,h[1]-.5-y]),tileDistanceToCamera:Math.sqrt(n*n+r*r)});continue}for(let e=0;e<4;e++){let t=(g<<1)+e%2,n=(y<<1)+(e>>1),r=p.zoom+1;b.push({zoom:r,x:t,y:n,wrap:p.wrap,fullyVisible:S})}}return x.sort((e,t)=>e.distanceSq-t.distanceSq).map(e=>e.tileID)}function Dq(e){return e===`raster`||e===`image`||e===`video`}function Oq(e,t,n,r,i,a,o){let s=JG(),c=mC(t);for(let l of t){let t=e.getTileById(l.key);(t.fadingDirection===0||t.fadeOpacity===0)&&t.resetFadeLogic(),!kq(e,t,n,s,r,i,o)&&(Aq(e,t,n,s,a,o)||Mq(t,c,s,o)||t.resetFadeLogic())}}function kq(e,t,n,r,i,a,o){if(!t.hasData())return!1;let{tileID:s,fadingRole:c,fadingDirection:l,fadingParentID:u}=t;if(c===0&&l===1&&u)return n[u.key]=u,!0;let d=Math.max(s.overscaledZ-i,a);for(let i=s.overscaledZ-1;i>=d;i--){let a=s.scaledTo(i),c=e.getLoadedTile(a);if(c)return t.setCrossFadeLogic({fadingRole:0,fadingDirection:1,fadingParentID:c.tileID,fadeEndTime:r+o}),c.setCrossFadeLogic({fadingRole:1,fadingDirection:0,fadeEndTime:r+o}),n[a.key]=a,!0}return!1}function Aq(e,t,n,r,i,a){if(!t.hasData())return!1;let o=t.tileID.children(i),s=jq(e,t,o,n,r,i,a);if(s)return!0;for(let c of o)jq(e,t,c.children(i),n,r,i,a)&&(s=!0);return s}function jq(e,t,n,r,i,a,o){if(n[0].overscaledZ>=a)return!1;let s=!1;for(let a of n){let n=e.getLoadedTile(a);if(!n)continue;let{fadingRole:c,fadingDirection:l,fadingParentID:u}=n;(c!==0||l!==0||!u)&&(n.setCrossFadeLogic({fadingRole:0,fadingDirection:0,fadingParentID:t.tileID,fadeEndTime:i+o}),t.setCrossFadeLogic({fadingRole:1,fadingDirection:1,fadeEndTime:i+o})),r[a.key]=a,s=!0}return s}function Mq(e,t,n,r){let i=e.tileID;if(e.selfFading)return!0;if(e.hasData())return!1;if(t.has(i)){let t=n+r;return e.setSelfFadeLogic(t),!0}return!1}function Nq(e,t){if(t<=0)return!1;let n=JG();for(let t of e.getAllTiles())if(t.fadeEndTime>=n)return!0;return!1}function Pq(e,t){var n,r;let i=t.getRenderableIds();for(let a of i){if(!((n=e.neighboringTiles)!=null&&n[a]))continue;let i=t.getTileById(a);e.neighboringTiles[a].backfilled||Fq(e,i),!((r=i.neighboringTiles?.[e.tileID.key])!=null&&r.backfilled)&&Fq(i,e)}}function Fq(e,t){var n;e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0,e.needsColorReliefPrepare=!0;let r=t.tileID.canonical.x-e.tileID.canonical.x,i=t.tileID.canonical.y-e.tileID.canonical.y,a=2**e.tileID.canonical.z,o=t.tileID.key;(r!==0||i!==0)&&(Math.abs(i)>1||(Math.abs(r)>1&&(Math.abs(r+a)===1?r+=a:Math.abs(r-a)===1&&(r-=a)),t.dem&&e.dem&&(e.dem.backfillBorder(t.dem,r,i),(n=e.neighboringTiles)!=null&&n[o]&&(e.neighboringTiles[o].backfilled=!0))))}function Iq(e,t,n,r,i){return i?e?e(t,n)+r:r===0?void 0:r:r}function Lq(e,t){let n=!0;return e===`always`||(e===`never`||t===`never`)&&(n=!1),n}function Rq(e,t){let n=1/(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]),r=1/(t[8]*t[8]+t[9]*t[9]+t[10]*t[10]),i=t[0]*n,a=t[4]*n,o=t[8]*r,s=t[1]*n,c=t[5]*n,l=t[9]*r,u=t[2]*n,d=t[6]*n,f=t[10]*r;e[0]=i,e[1]=a,e[2]=o,e[4]=s,e[5]=c,e[6]=l,e[8]=u,e[9]=d,e[10]=f;let p=t[12],m=t[13],h=t[14];return e[12]=-i*p-s*m-u*h,e[13]=-a*p-c*m-d*h,e[14]=-o*p-l*m-f*h,e[3]=0,e[7]=0,e[11]=0,e[15]=1,e}function zq(e,t){return e[0]=1/t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1/t[5],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=0,e[11]=1/t[14],e[12]=0,e[13]=0,e[14]=-1,e[15]=t[10]/t[14],e}function Bq(e,t){let n=1/(t[0]*t[5]-t[1]*t[4]);return e[0]=t[5]*n,e[1]=-t[1]*n,e[2]=0,e[3]=0,e[4]=-t[4]*n,e[5]=t[0]*n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1/t[10],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1/t[15],e}function Vq(e,t,n){let r=Yx();if(!e){let{vecSouth:e,vecEast:n}=Uq(t),i=WG();i[0]=n[0],i[1]=n[1],i[2]=e[0],i[3]=e[1],GG(i,i),r[0]=i[0],r[1]=i[1],r[4]=i[2],r[5]=i[3]}return nS(r,r,[1/n,1/n,1]),r}function Hq(e,t,n,r){if(e){let e=Yx();if(!t){let{vecSouth:t,vecEast:r}=Uq(n);e[0]=r[0],e[1]=r[1],e[4]=t[0],e[5]=t[1]}return nS(e,e,[r,r,1]),e}return n.pixelsToClipSpaceMatrix}function Uq(e){let t=Math.cos(e.rollInRadians),n=Math.sin(e.rollInRadians),r=Math.cos(e.pitchInRadians),i=Math.cos(e.bearingInRadians),a=Math.sin(e.bearingInRadians),o=US();o[0]=-i*r*n-a*t,o[1]=-a*r*n+i*t;let s=KS(o);s<1e-9?YS(o):GS(o,o,1/s);let c=US();c[0]=i*r*t-a*n,c[1]=a*r*t+i*n;let l=KS(c);return l<1e-9?YS(c):GS(c,c,1/l),{vecEast:c,vecSouth:o}}function Wq(e,t,n){return Iq(e.getElevation,t,n,e.heightOffset??0,e.heightAnchorGround??!0)}function Gq(e,t,n,r){let i;r==null?(i=[e,t,0,1],sJ(i,i,n)):(i=[e,t,r,1],IS(i,i,n));let a=i[3];return{point:new Vx(i[0]/a,i[1]/a),signedDistanceFromCamera:a,isOccluded:!1}}function Kq(e,t){return .5+e/t*.5}function qq(e,t){return e.x>=-t[0]&&e.x<=t[0]&&e.y>=-t[1]&&e.y<=t[1]}function Jq(e,t,n,r,i,a,o,s,c,l,u,d,f){let p=n?e.textSizeData:e.iconSizeData,m=xM(p,t.transform.zoom),h=[256/t.width*2+1,256/t.height*2+1],g=n?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;g.clear();let _=e.lineVertexArray,v=n?e.text.placedSymbolArray:e.icon.placedSymbolArray,y=t.transform.width/t.transform.height,b=!1;for(let n=0;n<v.length;n++){let x=v.get(n);if(x.hidden||x.writingMode===2&&!b){oJ(x.numGlyphs,g);continue}b=!1;let S=new Vx(x.anchorX,x.anchorY),C={getElevation:f,pitchedLabelPlaneMatrix:r,lineVertexArray:_,pitchWithMap:a,projectionCache:{projections:{},offsets:{},cachedAnchorPoint:void 0,anyProjectionOccluded:!1},transform:t.transform,tileAnchorPoint:S,unwrappedTileID:c,width:l,height:u,translation:d},w=nJ(x.anchorX,x.anchorY,C);if(!qq(w.point,h)){oJ(x.numGlyphs,g);continue}let T=w.signedDistanceFromCamera,E=Kq(t.transform.cameraToCenterDistance,T),D=bM(p,m,x),O=a?D*t.transform.getPitchedTextCorrection(x.anchorX,x.anchorY,c)/E:D*E,k=Zq({projectionContext:C,pitchedLabelPlaneMatrixInverse:i,symbol:x,fontSize:O,flip:!1,keepUpright:o,glyphOffsetArray:e.glyphOffsetArray,dynamicLayoutVertexArray:g,aspectRatio:y,rotateToLine:s});b=k.useVertical,(k.notEnoughRoom||b||k.needsFlipping&&Zq({projectionContext:C,pitchedLabelPlaneMatrixInverse:i,symbol:x,fontSize:O,flip:!0,keepUpright:o,glyphOffsetArray:e.glyphOffsetArray,dynamicLayoutVertexArray:g,aspectRatio:y,rotateToLine:s}).notEnoughRoom)&&oJ(x.numGlyphs,g)}n?e.text.dynamicLayoutVertexBuffer.updateData(g):e.icon.dynamicLayoutVertexBuffer.updateData(g)}function Yq(e,t,n,r,i,a,o,s){let c=a.glyphStartIndex+a.numGlyphs,l=a.lineStartIndex,u=a.lineStartIndex+a.lineLength,d=t.getoffsetX(a.glyphStartIndex),f=t.getoffsetX(c-1),p=aJ(e*d,n,r,i,a.segment,l,u,s,o);if(!p)return null;let m=aJ(e*f,n,r,i,a.segment,l,u,s,o);return!m||s.projectionCache.anyProjectionOccluded?null:{first:p,last:m}}function Xq(e,t,n,r){return e===1&&Math.abs(n.y-t.y)>Math.abs(n.x-t.x)*r?{useVertical:!0}:(e===2?t.y<n.y:t.x>n.x)?{needsFlipping:!0}:null}function Zq(e){let{projectionContext:t,pitchedLabelPlaneMatrixInverse:n,symbol:r,fontSize:i,flip:a,keepUpright:o,glyphOffsetArray:s,dynamicLayoutVertexArray:c,aspectRatio:l,rotateToLine:u}=e,d=i/24,f=r.lineOffsetX*d,p=r.lineOffsetY*d,m;if(r.numGlyphs>1){let e=r.glyphStartIndex+r.numGlyphs,i=r.lineStartIndex,c=r.lineStartIndex+r.lineLength,h=Yq(d,s,f,p,a,r,u,t);if(!h)return{notEnoughRoom:!0};let g=tJ(h.first.point.x,h.first.point.y,t,n),_=tJ(h.last.point.x,h.last.point.y,t,n);if(o&&!a){let e=Xq(r.writingMode,g,_,l);if(e)return e}m=[h.first];for(let n=r.glyphStartIndex+1;n<e-1;n++){let e=aJ(d*s.getoffsetX(n),f,p,a,r.segment,i,c,t,u);if(!e)return{notEnoughRoom:!0};m.push(e)}m.push(h.last)}else{if(o&&!a){let e=eJ(t.tileAnchorPoint.x,t.tileAnchorPoint.y,t).point,i=r.lineStartIndex+r.segment+1,a=new Vx(t.lineVertexArray.getx(i),t.lineVertexArray.gety(i)),o=eJ(a.x,a.y,t),s=o.signedDistanceFromCamera>0?o.point:Qq(t.tileAnchorPoint,a,e,1,t),c=tJ(e.x,e.y,t,n),u=tJ(s.x,s.y,t,n),d=Xq(r.writingMode,c,u,l);if(d)return d}let e=aJ(d*s.getoffsetX(r.glyphStartIndex),f,p,a,r.segment,r.lineStartIndex,r.lineStartIndex+r.lineLength,t,u);if(!e||t.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};m=[e]}for(let e of m)eN(c,e.point,e.angle);return{}}function Qq(e,t,n,r,i){let a=e.add(e.sub(t)._unit()),o=eJ(a.x,a.y,i).point,s=n.sub(o);return n.add(s._mult(r/s.mag()))}function $q(e,t,n){let r=t.projectionCache;if(r.projections[e])return r.projections[e];let i=new Vx(t.lineVertexArray.getx(e),t.lineVertexArray.gety(e)),a=eJ(i.x,i.y,t);if(a.signedDistanceFromCamera>0)return r.projections[e]=a.point,r.anyProjectionOccluded||=a.isOccluded,a.point;let o=e-n.direction,s=n.distanceFromAnchor===0?t.tileAnchorPoint:new Vx(t.lineVertexArray.getx(o),t.lineVertexArray.gety(o)),c=n.absOffsetX-n.distanceFromAnchor+1;return Qq(s,i,n.previousVertex,c,t)}function eJ(e,t,n){let r=e+n.translation[0],i=t+n.translation[1],a;return n.pitchWithMap?(a=Gq(r,i,n.pitchedLabelPlaneMatrix,Wq(n,r,i)),a.isOccluded=!1):(a=n.transform.projectTileCoordinates(r,i,n.unwrappedTileID,Wq(n,r,i)),a.point.x=(a.point.x*.5+.5)*n.width,a.point.y=(-a.point.y*.5+.5)*n.height),a}function tJ(e,t,n,r){if(n.pitchWithMap){let i=[e,t,0,1];IS(i,i,r);let a=i[0]/i[3],o=i[1]/i[3];return n.transform.projectTileCoordinates(a,o,n.unwrappedTileID,Wq(n,a,o)).point}return{x:e/n.width*2-1,y:1-t/n.height*2}}function nJ(e,t,n){return n.transform.projectTileCoordinates(e,t,n.unwrappedTileID,Wq(n,e,t))}function rJ(e,t,n){return e._unit()._perp()._mult(t*n)}function iJ(e,t,n,r,i,a,o,s,c){if(s.projectionCache.offsets[e])return s.projectionCache.offsets[e];let l=n.add(t);if(e+c.direction<r||e+c.direction>=i)return s.projectionCache.offsets[e]=l,l;let u=$q(e+c.direction,s,c),d=rJ(u.sub(n),o,c.direction),f=n.add(d),p=u.add(d);return s.projectionCache.offsets[e]=NC(a,l,f,p)||l,s.projectionCache.offsets[e]}function aJ(e,t,n,r,i,a,o,s,c){let l=r?e-t:e+t,u=l>0?1:-1,d=0;r&&(u*=-1,d=Math.PI),u<0&&(d+=Math.PI);let f=u>0?a+i:a+i+1,p;s.projectionCache.cachedAnchorPoint?p=s.projectionCache.cachedAnchorPoint:(p=eJ(s.tileAnchorPoint.x,s.tileAnchorPoint.y,s).point,s.projectionCache.cachedAnchorPoint=p);let m=p,h=p,g,_,v=0,y=0,b=Math.abs(l),x=[],S;for(;v+y<=b;){if(f+=u,f<a||f>=o)return null;v+=y,h=m,_=g;let e={absOffsetX:b,direction:u,distanceFromAnchor:v,previousVertex:h};if(m=$q(f,s,e),n===0)x.push(h),S=m.sub(h);else{let t,r=m.sub(h);t=r.mag()===0?rJ($q(f+u,s,e).sub(m),n,u):rJ(r,n,u),_||=h.add(t),g=iJ(f,t,m,a,o,_,n,s,e),x.push(_),S=g.sub(_)}y=S.mag()}let C=(b-v)/y,w=S._mult(C)._add(_||h),T=d+Math.atan2(m.y-h.y,m.x-h.x);return x.push(w),{point:w,angle:c?T:0,path:x}}function oJ(e,t){for(let n=0;n<e;n++){let e=t.length;t.resize(e+4),t.float32.set(HQ,e*3)}}function sJ(e,t,n){let r=t[0],i=t[1];return e[0]=n[0]*r+n[4]*i+n[12],e[1]=n[1]*r+n[5]*i+n[13],e[3]=n[3]*r+n[7]*i+n[15],e}function cJ(e,t){let n=VQ;return Bq(n,t.pitchedLabelPlaneMatrix),e.map(e=>{let r=Gq(e.x,e.y,n,Wq(t,e.x,e.y)),i=t.transform.projectTileCoordinates(r.point.x,r.point.y,t.unwrappedTileID,Wq(t,r.point.x,r.point.y));return i.point.x=(i.point.x*.5+.5)*t.width,i.point.y=(-i.point.y*.5+.5)*t.height,i})}function lJ(e){let t=0,n=0,r=0,i=0;for(let a=0;a<e.length;a++)e[a].isOccluded?(r=a+1,i=0):(i++,i>n&&(n=i,t=r));return e.slice(t,t+n)}function uJ(e,t,n,r,i){let{horizontalAlign:a,verticalAlign:o}=Zj(e),s=-(a-.5)*t,c=-(o-.5)*n;return new Vx(s+r[0]*i,c+r[1]*i)}function dJ(e,t,n,r,i,a){(!r||r.length===0)&&(r=[0,0,0,0]);let o=r[0]-100,s=r[1]-100,c=r[2]-100,l=r[3]-100;e.emplaceBack(+!!t,+!!n,i||0,a||0,o,s),e.emplaceBack(+!!t,+!!n,i||0,a||0,c,s),e.emplaceBack(+!!t,+!!n,i||0,a||0,c,l),e.emplaceBack(+!!t,+!!n,i||0,a||0,o,l)}function fJ(e){if(e.opacity===0&&!e.placed)return 0;if(e.opacity===1&&e.placed)return 4294967295;let t=+!!e.placed,n=Math.floor(e.opacity*127);return n*XQ+t*ZQ+n*QQ+t*$Q+n*512+t*256+n*2+t}function pJ(e,t,n,r,i,a){if(i-r<=n)return;let o=r+i>>1;mJ(e,t,o,r,i,a),pJ(e,t,n,r,o-1,1-a),pJ(e,t,n,o+1,i,1-a)}function mJ(e,t,n,r,i,a){for(;i>r;){if(i-r>600){let o=i-r+1,s=n-r+1,c=Math.log(o),l=.5*Math.exp(2*c/3),u=.5*Math.sqrt(c*l*(o-l)/o)*(s-o/2<0?-1:1);mJ(e,t,n,Math.max(r,Math.floor(n-s*l/o+u)),Math.min(i,Math.floor(n+(o-s)*l/o+u)),a)}let o=t[2*n+a],s=r,c=i;for(hJ(e,t,r,n),t[2*i+a]>o&&hJ(e,t,r,i);s<c;){for(hJ(e,t,s,c),s++,c--;t[2*s+a]<o;)s++;for(;t[2*c+a]>o;)c--}t[2*r+a]===o?hJ(e,t,r,c):(c++,hJ(e,t,c,i)),c<=n&&(r=c+1),n<=c&&(i=c-1)}}function hJ(e,t,n,r){gJ(e,n,r),gJ(t,2*n,2*r),gJ(t,2*n+1,2*r+1)}function gJ(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function _J(e,t,n,r){let i=e-n,a=t-r;return i*i+a*a}function vJ(e,t){let n=/#pragma maplibre: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,r=t.match(/in ([\w]+) ([\w]+)/g),i=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),a=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),o=a?a.concat(i):i,s=r?r.length:0,c={};return e=e.replace(n,(e,t,n,r,i)=>(c[i]=!0,t===`define`?`
|
|
2711
|
+
Use an identity property function instead: \`{ "type": "identity", "property": ${JSON.stringify(d[1])} }\`.`)];let f=[];return e.layerType===`symbol`&&s===`text-font`&&_E(cD(o))&&sD(o.type)===`identity`&&f.push(new jL(n,o,`"text-font" does not support identity functions`)),f.concat(r({key:e.key,value:o,valueSpec:u,style:i,styleSpec:a,expressionContext:`property`,propertyType:t,propertyKey:s}))}function SD(e){return xD(e,`paint`)}function CD(e){return xD(e,`layout`)}function wD(e){var t,n;let r=[],i=e.value,a=e.key,o=e.style,s=e.styleSpec;if(gE(i)!==`object`)return[new jL(a,i,`object expected, ${gE(i)} found`)];!i.type&&!i.ref&&r.push(new jL(a,i,`either "type" or "ref" is required`));let c=sD(i.type),l=sD(i.ref);if(i.id){let t=sD(i.id);for(let n=0;n<e.arrayIndex;n++){let e=o.layers[n];sD(e.id)===t&&r.push(new jL(a,i.id,`duplicate layer id "${i.id}", previously used at line ${e.id.__line__}`))}}if(`ref`in i){[`type`,`source`,`source-layer`,`filter`,`layout`].forEach(e=>{e in i&&r.push(new jL(a,i[e],`"${e}" is prohibited for ref layers`))});let e;o.layers.forEach(t=>{sD(t.id)===l&&(e=t)}),e?e.ref?r.push(new jL(a,i.ref,`ref cannot reference another ref layer`)):c=sD(e.type):r.push(new jL(a,i.ref,`ref layer "${l}" not found`))}else if(c!==`background`){if(!i.source)r.push(new jL(a,i,`missing required property "source"`));else{let e=o.sources&&o.sources[i.source],t=e&&sD(e.type);e?t===`vector`&&c===`raster`?r.push(new jL(a,i.source,`layer "${i.id}" requires a raster source`)):t!==`raster-dem`&&c===`hillshade`||t!==`raster-dem`&&c===`color-relief`?r.push(new jL(a,i.source,`layer "${i.id}" requires a raster-dem source`)):t===`raster`&&c!==`raster`?r.push(new jL(a,i.source,`layer "${i.id}" requires a vector source`)):t===`vector`&&!i[`source-layer`]?r.push(new jL(a,i,`layer "${i.id}" must specify a "source-layer"`)):t===`raster-dem`&&c!==`hillshade`&&c!==`color-relief`?r.push(new jL(a,i.source,`raster-dem source can only be used with layer type 'hillshade' or 'color-relief'.`)):c===`line`&&i.paint&&i.paint[`line-gradient`]&&(t!==`geojson`||!e.lineMetrics)&&r.push(new jL(a,i,`layer "${i.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):r.push(new jL(a,i.source,`source "${i.source}" not found`))}}return c===`raster`&&(t=i.paint)!=null&&t.resampling&&(n=i.paint)!=null&&n[`raster-resampling`]&&r.push(new jL(a,i.paint,`layer "${i.id}" redundantly specifies "resampling" and "raster-resampling" paint properties, but only one is allowed. It is advised to use "resampling".`)),r=r.concat(lD({key:a,value:i,valueSpec:s.layer,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*"(){return[]},type(){return e.validateSpec({key:`${a}.type`,value:i.type,valueSpec:s.layer.type,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,object:i,objectKey:`type`})},filter:yD,layout(e){return lD({layer:i,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*"(e){return CD(hE({layerType:c},e))}}})},paint(e){return lD({layer:i,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*"(e){return SD(hE({layerType:c},e))}}})}}})),r}function TD(e){let t=e.value,n=e.key,r=gE(t);return r===`string`?[]:[new jL(n,t,`string expected, ${r} found`)]}function ED(e){let t=e.sourceName??``,n=e.value,r=e.styleSpec,i=r.source_raster_dem,a=e.style,o=[],s=gE(n);if(n===void 0)return o;if(s!==`object`)return o.push(new jL(`source_raster_dem`,n,`object expected, ${s} found`)),o;let c=sD(n.encoding)===`custom`,l=[`redFactor`,`greenFactor`,`blueFactor`,`baseShift`],u=e.value.encoding?`"${e.value.encoding}"`:`Default`;for(let s in n)!c&&l.includes(s)?o.push(new jL(s,n[s],`In "${t}": "${s}" is only valid when "encoding" is set to "custom". ${u} encoding found`)):i[s]?o=o.concat(e.validateSpec({key:s,value:n[s],valueSpec:i[s],validateSpec:e.validateSpec,style:a,styleSpec:r})):o.push(new jL(s,n[s],`unknown property "${s}"`));return o}function DD(e){let t=e.value,n=e.key,r=e.styleSpec,i=e.style,a=e.validateSpec;if(!t.type)return[new jL(n,t,`"type" is required`)];let o=sD(t.type),s;switch(o){case`vector`:case`raster`:return s=lD({key:n,value:t,valueSpec:r[`source_${o.replace(`-`,`_`)}`],style:e.style,styleSpec:r,objectElementValidators:pz,validateSpec:a}),s;case`raster-dem`:return s=ED({sourceName:n,value:t,style:e.style,styleSpec:r,validateSpec:a}),s;case`geojson`:if(s=lD({key:n,value:t,valueSpec:r.source_geojson,style:i,styleSpec:r,validateSpec:a,objectElementValidators:pz}),t.cluster)for(let e in t.clusterProperties){let[r,i]=t.clusterProperties[e],o=typeof r==`string`?[r,[`accumulated`],[`get`,e]]:r;s.push(...pD({key:`${n}.${e}.map`,value:i,validateSpec:a,expressionContext:`cluster-map`})),s.push(...pD({key:`${n}.${e}.reduce`,value:o,validateSpec:a,expressionContext:`cluster-reduce`}))}return s;case`video`:return lD({key:n,value:t,valueSpec:r.source_video,style:i,validateSpec:a,styleSpec:r});case`image`:return lD({key:n,value:t,valueSpec:r.source_image,style:i,validateSpec:a,styleSpec:r});case`canvas`:return[new jL(n,null,`Please use runtime APIs to add canvas sources, rather than including them in stylesheets.`,`source.canvas`)];default:return gD({key:`${n}.type`,value:t.type,valueSpec:{values:[`vector`,`raster`,`raster-dem`,`geojson`,`video`,`image`]},style:i,validateSpec:a,styleSpec:r})}}function OD({key:e,value:t}){if(gE(t)===`string`)return TD({key:e,value:t});{let n=[];for(let r in t)n.push(...TD({key:`${e}.${r}`,value:t[r]}));return n}}function kD(e){let t=e.value,n=e.styleSpec,r=n.light,i=e.style,a=[],o=gE(t);if(t===void 0)return a;if(o!==`object`)return a=a.concat([new jL(`light`,t,`object expected, ${o} found`)]),a;for(let o in t){let s=o.match(sz);a=s&&r[s[1]]&&r[s[1]].transition?a.concat(e.validateSpec({key:o,value:t[o],valueSpec:n.transition,validateSpec:e.validateSpec,style:i,styleSpec:n})):r[o]?a.concat(e.validateSpec({key:o,value:t[o],valueSpec:r[o],validateSpec:e.validateSpec,style:i,styleSpec:n})):a.concat([new jL(o,t[o],`unknown property "${o}"`)])}return a}function AD(e){let t=e.value,n=e.styleSpec,r=n.sky,i=e.style,a=gE(t);if(t===void 0)return[];if(a!==`object`)return[new jL(`sky`,t,`object expected, ${a} found`)];let o=[];for(let a in t){let s=a.match(sz);o=s&&r[s[1]]&&r[s[1]].transition?o.concat(e.validateSpec({key:a,value:t[a],valueSpec:n.transition,style:i,styleSpec:n})):r[a]?o.concat(e.validateSpec({key:a,value:t[a],valueSpec:r[a],style:i,styleSpec:n})):o.concat([new jL(a,t[a],`unknown property "${a}"`)])}return o}function jD(e){let t=e.value,n=e.styleSpec,r=n.terrain,i=e.style,a=[],o=gE(t);if(t===void 0)return a;if(o!==`object`)return a=a.concat([new jL(`terrain`,t,`object expected, ${o} found`)]),a;for(let o in t)a=r[o]?a.concat(e.validateSpec({key:o,value:t[o],valueSpec:r[o],validateSpec:e.validateSpec,style:i,styleSpec:n})):a.concat([new jL(o,t[o],`unknown property "${o}"`)]);return a}function MD(e){return TD(e).length===0?[]:pD(e)}function ND(e){return TD(e).length===0?[]:pD(e)}function PD(e){let t=e.key,n=e.value;if(gE(n)===`array`){if(n.length<1||n.length>4)return[new jL(t,n,`padding requires 1 to 4 values; ${n.length} values found`)];let r={type:`number`},i=[];for(let a=0;a<n.length;a++)i=i.concat(e.validateSpec({key:`${t}[${a}]`,value:n[a],validateSpec:e.validateSpec,valueSpec:r}));return i}return dD({key:t,value:n,valueSpec:{}})}function FD(e){let t=e.key,n=e.value;if(gE(n)===`array`){let r={type:`number`};if(n.length<1)return[new jL(t,n,`array length at least 1 expected, length 0 found`)];let i=[];for(let a=0;a<n.length;a++)i=i.concat(e.validateSpec({key:`${t}[${a}]`,value:n[a],validateSpec:e.validateSpec,valueSpec:r}));return i}return dD({key:t,value:n,valueSpec:{}})}function ID(e){let t=e.key,n=e.value;if(gE(n)===`array`){if(n.length<1)return[new jL(t,n,`array length at least 1 expected, length 0 found`)];let e=[];for(let r=0;r<n.length;r++)e=e.concat(hD({key:`${t}[${r}]`,value:n[r],valueSpec:{}}));return e}return hD({key:t,value:n,valueSpec:{}})}function LD(e){let t=e.key,n=e.value,r=gE(n),i=e.styleSpec;if(r!==`array`||n.length<1||n.length%2!=0)return[new jL(t,n,`variableAnchorOffsetCollection requires a non-empty array of even length`)];let a=[];for(let r=0;r<n.length;r+=2)a=a.concat(gD({key:`${t}[${r}]`,value:n[r],valueSpec:i.layout_symbol[`text-anchor`]})),a=a.concat(uD({key:`${t}[${r+1}]`,value:n[r+1],valueSpec:{length:2,value:`number`},validateSpec:e.validateSpec,style:e.style,styleSpec:i}));return a}function RD(e){let t=[],n=e.value,r=e.key;if(Array.isArray(n)){let i=[],a=[];for(let o in n)n[o].id&&i.includes(n[o].id)&&t.push(new jL(r,n,`all the sprites' ids must be unique, but ${n[o].id} is duplicated`)),i.push(n[o].id),n[o].url&&a.includes(n[o].url)&&t.push(new jL(r,n,`all the sprites' URLs must be unique, but ${n[o].url} is duplicated`)),a.push(n[o].url),t=t.concat(lD({key:`${r}[${o}]`,value:n[o],valueSpec:{id:{type:`string`,required:!0},url:{type:`string`,required:!0}},validateSpec:e.validateSpec}));return t}return TD({key:r,value:n})}function zD(e){let t=e.value,n=e.styleSpec,r=n.projection,i=e.style,a=gE(t);if(t===void 0)return[];if(a!==`object`)return[new jL(`projection`,t,`object expected, ${a} found`)];let o=[];for(let a in t)o=r[a]?o.concat(e.validateSpec({key:a,value:t[a],valueSpec:r[a],style:i,styleSpec:n})):o.concat([new jL(a,t[a],`unknown property "${a}"`)]);return o}function BD(e){let t=e.key,n=e.value;n=n instanceof String?n.valueOf():n;let r=gE(n);return r===`array`&&!HD(n)&&!VD(n)?[new jL(t,n,`projection expected, invalid array ${JSON.stringify(n)} found`)]:[`array`,`string`].includes(r)?[]:[new jL(t,n,`projection expected, invalid type "${r}" found`)]}function VD(e){return!![`interpolate`,`step`,`literal`].includes(e[0])}function HD(e){return Array.isArray(e)&&e.length===3&&typeof e[0]==`string`&&typeof e[1]==`string`&&typeof e[2]==`number`}function UD(e){return!!e&&e.constructor===Object}function WD(e){return UD(e.value)?[]:[new jL(e.key,e.value,`object expected, ${gE(e.value)} found`)]}function GD(e,t){if(gE(t)!==`string`)return[];let n=`${t}`,r=()=>[new jL(e,t,`invalid unicode range, expected a value such as "U+26", "U+0-10FFFF" or "U+4??"`)],i=n.match(hz);if(!i)return r();let[,a,o,s]=i;if(s!==void 0)return s.length>6?r():[];let c=parseInt(a,16),l=o===void 0?c:parseInt(o,16);return c>mz||l>mz?[new jL(e,t,`unicode range is out of bounds, the maximum code point is U+10FFFF`)]:c>l?[new jL(e,t,`unicode range start must not be greater than its end, but ${n} is`)]:[]}function KD(e){let t=e.key??`font-faces`,n=e.value,r=e.validateSpec,i=e.styleSpec??OL,a=e.style;if(!UD(n))return[new jL(t,n,`object expected, ${gE(n)} found`)];let o=[];for(let e in n){let s=n[e],c=gE(s);if(c===`string`)o.push(...TD({key:`${t}.${e}`,value:s}));else if(c===`array`){let n={url:{type:`string`,required:!0},"unicode-range":{type:`array`,value:`string`}};for(let[c,l]of s.entries()){let s=`${t}.${e}[${c}]`;o.push(...lD({key:s,value:l,valueSpec:n,styleSpec:i,style:a,validateSpec:r}));let u=UD(l)?l[`unicode-range`]:void 0;if(gE(u)===`array`)for(let[e,t]of u.entries())o.push(...GD(`${s}.unicode-range[${e}]`,t))}}else o.push(new jL(`${t}.${e}`,s,`string or array expected, ${c} found`))}return o}function qD(e){let t=e.value,n=e.valueSpec,r=e.styleSpec;return e.validateSpec=qD,n.expression&&_E(sD(t))?fD(e):n.expression&&ME(cD(t))?pD(e):n.type&&gz[n.type]?gz[n.type](e):lD(hE({},e,{valueSpec:n.type?r[n.type]:n}))}function JD(e){let t=e.value,n=e.key,r=TD(e);return r.length||(t.indexOf(`{fontstack}`)===-1&&r.push(new jL(n,t,`"glyphs" url must include a "{fontstack}" token`)),t.indexOf(`{range}`)===-1&&r.push(new jL(n,t,`"glyphs" url must include a "{range}" token`))),r}function YD(e,t=kL){let n=[];return n=n.concat(qD({key:``,value:e,valueSpec:t.$root,styleSpec:t,style:e,validateSpec:qD,objectElementValidators:{glyphs:JD,"*"(){return[]}}})),e.constants&&(n=n.concat(oD({key:`constants`,value:e.constants,style:e,styleSpec:t,validateSpec:qD}))),ZD(n)}function XD(e){return function(t){return e(Object.assign({},t,{validateSpec:qD}))}}function ZD(e){return[].concat(e).sort((e,t)=>e.line-t.line)}function QD(e){return function(...t){return ZD(e.apply(this,t))}}function $D(e,t,n){return new vz(e,t,n)}function eO(e){return Object.entries(e.sources??{}).filter(([,e])=>!bz.has(e.type)).map(([e])=>`sources.${e}`)}function tO(e,t){let n=eO(t);return nO(e,yz(t).filter(({message:e})=>!n.some(t=>e.startsWith(`${t}:`)||e.startsWith(`${t}.`))))}function nO(e,t){let n=!1;for(let r of t){if(r.severity===`warning`){jC(r.message);continue}e.fire(new EL(Error(r.message))),n=!0}return n}function rO(e,t,n,r){return r?.validate!==!1&&nO(e,t(p({styleSpec:kL},n)))}function iO(e,t,n={}){if(Sz[e])throw Error(`${e} is already registered.`);Object.defineProperty(t,"_classRegistryKey",{value:e,writeable:!1}),Sz[e]={klass:t,omit:n.omit||[],shallow:n.shallow||[]}}function aO(e){return e&&typeof ArrayBuffer<`u`&&(e instanceof ArrayBuffer||e.constructor?.name===`ArrayBuffer`)}function oO(e){let t=e.constructor;return e.$name||t._classRegistryKey}function sO(e){if(typeof e!=`object`||!e)return!1;let t=oO(e);return t&&t!==`Object`}function cO(e){return!sO(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||aO(e)||RC(e)||ArrayBuffer.isView(e)||e instanceof ImageData)}function lO(e,t){if(cO(e))return(aO(e)||RC(e))&&t&&t.push(e),ArrayBuffer.isView(e)&&t&&t.push(e.buffer),e instanceof ImageData&&t&&t.push(e.data.buffer),e;if(Array.isArray(e)){let n=[];for(let r of e)n.push(lO(r,t));return n}if(typeof e!=`object`)throw Error(`can't serialize object of type ${typeof e}`);let n=oO(e);if(!n)throw Error(`can't serialize object of unregistered class ${e.constructor.name}`);if(!Sz[n])throw Error(`${n} is not registered.`);let{klass:r}=Sz[n],i=r.serialize?r.serialize(e,t):{};if(r.serialize){if(i===t?.[t.length-1])throw Error(`statically serialized object won't survive transfer of $name property`)}else{for(let r in e){if(!e.hasOwnProperty(r)||Sz[n].omit.includes(r))continue;let a=e[r];a!==void 0&&(i[r]=Sz[n].shallow.includes(r)?a:lO(a,t))}e instanceof Error&&(i.message=e.message)}if(i.$name)throw Error(`$name property is reserved for worker serialization logic.`);return n!==`Object`&&(i.$name=n),i}function uO(e){if(cO(e))return e;if(Array.isArray(e))return e.map(uO);if(typeof e!=`object`)throw Error(`can't deserialize object of type ${typeof e}`);let t=oO(e)||`Object`;if(!Sz[t])throw Error(`can't deserialize unregistered class ${t}`);let{klass:n}=Sz[t];if(!n)throw Error(`can't deserialize unregistered class ${t}`);if(n.deserialize)return n.deserialize(e);let r=Object.create(n.prototype);for(let n of Object.keys(e)){if(n===`$name`)continue;let i=e[n];r[n]=Sz[t].shallow.includes(n)?i:uO(i)}return r}function dO(e){if(Array.isArray(e))return e.length;let t=e?.values;return Array.isArray(t)?t.length:void 0}function fO(e,t){let n=dO(e),r=dO(t);return n!==void 0&&r!==void 0&&n!==r}function pO(e,t=1){let n=0,r=0;return{members:e.map(e=>{let i=mO(e.type),a=n=hO(n,Math.max(t,i)),o=e.components||1;return r=Math.max(r,i),n+=i*o,{name:e.name,type:e.type,components:o,offset:a}}),size:hO(n,Math.max(r,t)),alignment:t}}function mO(e){return Jz[e].BYTES_PER_ELEMENT}function hO(e,t){return Math.ceil(e/t)*t}function gO(e,t){return e=_C(Math.floor(e),0,255),t=_C(Math.floor(t),0,255),256*e+t}function _O(e){let t=+e;return!isNaN(t)&&t<=2**53-1?t:(0,oV.default)(String(e))}function vO(e,t,n,r){for(;n<r;){let i=e[n+r>>1],a=n-1,o=r+1;for(;;){do a++;while(e[a]<i);do o--;while(e[o]>i);if(a>=o)break;yO(e,a,o),yO(t,3*a,3*o),yO(t,3*a+1,3*o+1),yO(t,3*a+2,3*o+2)}o-n<r-o?(vO(e,t,n,o),n=o+1):(vO(e,t,o+1,r),r=o)}}function yO(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function bO(e){return[gO(255*e.r,255*e.g),gO(255*e.b,255*e.a)]}function xO(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 SO(e){return{"line-pattern":{source:VB,composite:VB},"fill-pattern":{source:VB,composite:VB},"fill-extrusion-pattern":{source:VB,composite:VB},"line-dasharray":{source:HB,composite:HB}}[e]}function CO(e,t,n){let r={color:{source:nB,composite:bB},number:{source:hB,composite:nB}};return SO(e)?.[n]||r[t][n]}function wO(e){let t=aL/e.extent,n=e.loadGeometry();for(let e of n)for(let n of e){let e=Math.round(n.x*t),r=Math.round(n.y*t);n.x=_C(e,kV,OV),n.y=_C(r,kV,OV),(e<n.x||e>n.x+1||r<n.y||r>n.y+1)&&jC(`Geometry exceeds allowed extent, reduce your vector tile buffer size`)}return n}function TO(e,t){return{type:e.type,id:e.id,properties:e.properties,geometry:t?wO(e):[]}}function EO(e,t,n,r,i){e.emplaceBack(AV+t*8+r,AV+n*8+i)}function DO(e,t){for(let n of e)if(LO(t,n))return!0;for(let n of t)if(LO(e,n))return!0;return MO(e,t)}function OO(e,t,n){return LO(e,t)?!0:PO(t,e,n)}function kO(e,t){if(e.length===1)return IO(t,e[0]);for(let n of t)for(let t of n)if(LO(e,t))return!0;for(let n of e)if(IO(t,n))return!0;for(let n of t)if(MO(e,n))return!0;return!1}function AO(e,t,n){for(let r of t){if(e.length>=3){for(let t of r)if(LO(e,t))return!0}if(jO(e,r,n))return!0}return!1}function jO(e,t,n){if(e.length>1){if(MO(e,t))return!0;for(let r of t)if(PO(r,e,n))return!0}for(let r of e)if(PO(r,t,n))return!0;return!1}function MO(e,t){if(e.length===0||t.length===0)return!1;for(let n=0;n<e.length-1;n++){let r=e[n],i=e[n+1];for(let e=0;e<t.length-1;e++){let n=t[e],a=t[e+1];if(NO(r,i,n,a))return!0}}return!1}function NO(e,t,n,r){return MC(e,n,r)!==MC(t,n,r)&&MC(e,t,n)!==MC(e,t,r)}function PO(e,t,n){let r=n*n;if(t.length===1)return e.distSqr(t[0])<r;for(let n=1;n<t.length;n++){let i=t[n-1],a=t[n];if(FO(e,i,a)<r)return!0}return!1}function FO(e,t,n){let r=t.distSqr(n);if(r===0)return e.distSqr(t);let i=((e.x-t.x)*(n.x-t.x)+(e.y-t.y)*(n.y-t.y))/r;return i<0?e.distSqr(t):i>1?e.distSqr(n):e.distSqr(n.sub(t)._mult(i)._add(t))}function IO(e,t){let n=!1,r,i,a;for(let o of e){r=o;for(let e=0,o=r.length-1;e<r.length;o=e++)i=r[e],a=r[o],i.y>t.y!=a.y>t.y&&t.x<(a.x-i.x)*(t.y-i.y)/(a.y-i.y)+i.x&&(n=!n)}return n}function LO(e,t){let n=!1;for(let r=0,i=e.length-1;r<e.length;i=r++){let a=e[r],o=e[i];a.y>t.y!=o.y>t.y&&t.x<(o.x-a.x)*(t.y-a.y)/(o.y-a.y)+a.x&&(n=!n)}return n}function RO(e,t,n,r,i){for(let a of e)if(t<=a.x&&n<=a.y&&r>=a.x&&i>=a.y)return!0;let a=[new Vx(t,n),new Vx(t,i),new Vx(r,i),new Vx(r,n)];if(e.length>2){for(let t of a)if(LO(e,t))return!0}for(let t=0;t<e.length-1;t++){let n=e[t],r=e[t+1];if(zO(n,r,a))return!0}return!1}function zO(e,t,n){let r=n[0],i=n[2];if(e.x<r.x&&t.x<r.x||e.x>i.x&&t.x>i.x||e.y<r.y&&t.y<r.y||e.y>i.y&&t.y>i.y)return!1;let a=MC(e,t,n[0]);return a!==MC(e,t,n[1])||a!==MC(e,t,n[2])||a!==MC(e,t,n[3])}function BO(e,t,n){let r=t.paint.get(e).value;return r.kind===`constant`?r.value:n.programConfigurations.get(t.id).getMaxValue(e)}function VO(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1])}function HO(e,t,n,r,i){if(!t[0]&&!t[1])return e;let a=Vx.convert(t)._mult(i);n===`viewport`&&a._rotate(-r);let o=[];for(let t of e)o.push(t.sub(a));return o}function UO(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n],i=t.at(-1);(n===0||i&&!r.equals(i))&&t.push(r)}return t}function WO(e,t){let n=[];for(let r of e){let e=UO(r),i=[];for(let n=0;n<e.length;n++){let r=e[n],a=e[n-1],o=e[n+1],s=n===0?new Vx(0,0):r.sub(a)._unit()._perp(),c=n===e.length-1?new Vx(0,0):o.sub(r)._unit()._perp(),l=s._add(c)._unit(),u=l.x*c.x+l.y*c.y;u!==0&&l._mult(1/u),i.push(l._mult(t)._add(r))}n.push(i)}return n}function GO({queryGeometry:e,size:t},n){return OO(e,n,t)}function KO({queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i},a){return OO(e,a,t*(n.projectTileCoordinates(a.x,a.y,r,i?.(a.x,a.y)).signedDistanceFromCamera/n.cameraToCenterDistance))}function qO({queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i},a){let o=n.projectTileCoordinates(a.x,a.y,r,i?.(a.x,a.y)).signedDistanceFromCamera,s=t*(n.cameraToCenterDistance/o);return OO(e,XO(a,n,r,i),s)}function JO({queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i},a){return OO(e,XO(a,n,r,i),t)}function YO({queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i,pitchAlignment:a=`map`,pitchScale:o=`map`},s){let c=a===`map`?o===`map`?GO:KO:o===`map`?qO:JO,l={queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i};for(let e of s)for(let t of e)if(c(l,t))return!0;return!1}function XO(e,t,n,r){let i=t.projectTileCoordinates(e.x,e.y,n,r?.(e.x,e.y)).point;return new Vx((i.x*.5+.5)*t.width,(-i.y*.5+.5)*t.height)}function ZO(e,t,n,r){return e.map(e=>XO(e,t,n,r))}function QO(e,{width:t,height:n},r,i){if(!i)i=new Uint8Array(t*n*r);else if(i instanceof Uint8ClampedArray)i=new Uint8Array(i.buffer);else if(i.length!==t*n*r)throw RangeError(`mismatched image size. expected: ${i.length} but got: ${t*n*r}`);return e.width=t,e.height=n,e.data=i,e}function $O(e,{width:t,height:n},r){if(t===e.width&&n===e.height)return;let i=QO({},{width:t,height:n},r);ek(e,i,{x:0,y:0},{x:0,y:0},{width:Math.min(e.width,t),height:Math.min(e.height,n)},r),e.width=t,e.height=n,e.data=i.data}function ek(e,t,n,r,i,a){if(i.width===0||i.height===0)return t;if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw RangeError(`out of range source coordinates for image copy`);if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw RangeError(`out of range destination coordinates for image copy`);let o=e.data,s=t.data;if(o===s)throw Error(`srcData equals dstData, so image is already copied`);for(let c=0;c<i.height;c++){let l=((n.y+c)*e.width+n.x)*a,u=((r.y+c)*t.width+r.x)*a;for(let e=0;e<i.width*a;e++)s[u+e]=o[l+e]}return t}function tk(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n+=4){let r=e[n+3];t[n+0]=Math.round(e[n+0]*r/255),t[n+1]=Math.round(e[n+1]*r/255),t[n+2]=Math.round(e[n+2]*r/255),t[n+3]=r}return t}function nk(e){let t={},n=e.resolution||256,r=e.clips?e.clips.length:1,i=e.image||new WV({width:n,height:r});if(!SC(n))throw Error(`width is not a power of 2 - ${n}`);let a=(r,a,o)=>{t[e.evaluationKey]=o;let s=e.expression.evaluate(t);i.setPixel(r/4/n,a/4,s)};if(e.clips)for(let t=0,i=0;t<r;++t,i+=n*4)for(let r=0,o=0;r<n;r++,o+=4){let s=r/(n-1),{start:c,end:l}=e.clips[t],u=c*(1-s)+l*s;a(i,o,u)}else for(let e=0,t=0;e<n;e++,t+=4){let r=e/(n-1);a(0,t,r)}return i}function rk(e){return`data`in e}function ik(e,t){let n=t[0],r=t[1],i=t[2],a=t[3],o=Math.min(n,r,i),s=Math.round((e+a)/o);return{r:Math.floor(s*o/n)%256,g:Math.floor(s*o/r)%256,b:Math.floor(s*o/i)%256}}function ak(e,t,n){let r=n.patternDependencies,i=!1;for(let n of t){let t=n.paint.get(`${e}-pattern`);t.isConstant()||(i=!0);let a=t.constantOr(null);a&&(i=!0,r[a.to]=!0,r[a.from]=!0)}return i}function ok(e,t,n,r,i){let{zoom:a}=r,o=i.patternDependencies;for(let r of t){let t=r.paint.get(`${e}-pattern`).value;if(t.kind!==`constant`){let e=t.evaluate({zoom:a-1},n,{},i.availableImages),s=t.evaluate({zoom:a},n,{},i.availableImages),c=t.evaluate({zoom:a+1},n,{},i.availableImages);e=e!=null&&e.name?e.name:e,s=s!=null&&s.name?s.name:s,c=c!=null&&c.name?c.name:c,o[e]=!0,o[s]=!0,o[c]=!0,n.patterns[r.id]={min:e,mid:s,max:c}}}return n}function sk(e,t,n=2){let r=t&&t.length,i=r?t[0]*n:e.length;lH.size&&lH.clear();let a=ck(e,0,i,n,!0),o=[];if(!a||a.next===a.prev)return o;let s=0,c=0,l=0;if(r&&(a=hk(e,t,a,n)),e.length>80*n){s=e[0],c=e[1];let t=s,r=c;for(let a=n;a<i;a+=n){let n=e[a],i=e[a+1];n<s&&(s=n),i<c&&(c=i),n>t&&(t=n),i>r&&(r=i)}l=Math.max(t-s,r-c),l=l===0?0:32767/l}return uk(a,o,s,c,l),o}function ck(e,t,n,r,i){let a=null;if(i===Uk(e,t,n,r)>0)for(let i=t;i<n;i+=r)a=Bk(i/r|0,e[i],e[i+1],a);else for(let i=n-r;i>=t;i-=r)a=Bk(i/r|0,e[i],e[i+1],a);return a&&Nk(a,a.next)&&(Vk(a),a=a.next),a}function lk(e,t=e){let n=t===e,r=e,i;do i=!1,r!==r.next&&(lH.size===0||!lH.has(r))&&(Nk(r,r.next)||Mk(r.prev,r,r.next)===0)?((n||r===t)&&(t=r.prev),uH=!0,Vk(r),r=r.prev,i=!0):(n||r!==t)&&(r=r.next,i=!n);while(i||r!==t);return t}function uk(e,t,n,r,i){i&&Tk(e,n,r,i);let a=e,o=!1;for(;e.prev!==e.next;){let s=e.prev,c=e.next;if(Mk(s,e,c)<0&&(i?fk(e,n,r,i):dk(e))){t.push(s.i,e.i,c.i),Vk(e),e=c,a=c;continue}if(e=c,e===a){if(uH=!1,e=lk(e),uH){a=e;continue}if(!o){e=pk(e,t),a=e,o=!0;continue}mk(e,t,n,r,i);break}}}function dk(e){let t=e.prev,n=e,r=e.next,i=t.x,a=n.x,o=r.x,s=t.y,c=n.y,l=r.y,u=Math.min(i,a,o),d=Math.min(s,c,l),f=Math.max(i,a,o),p=Math.max(s,c,l),m=r.next;for(;m!==t;){if(m.x>=u&&m.x<=f&&m.y>=d&&m.y<=p&&(i!==m.x||s!==m.y)&&Ak(i,s,a,c,o,l,m.x,m.y)&&Mk(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function fk(e,t,n,r){let i=e.prev,a=e,o=e.next,s=i.x,c=a.x,l=o.x,u=i.y,d=a.y,f=o.y,p=Math.min(s,c,l),m=Math.min(u,d,f),h=Math.max(s,c,l),g=Math.max(u,d,f),_=Ok(p,m,t,n,r),v=Ok(h,g,t,n,r),y=e.prevZ;for(;y&&y.z>=_;){if(y.x>=p&&y.x<=h&&y.y>=m&&y.y<=g&&y!==o&&(s!==y.x||u!==y.y)&&Ak(s,u,c,d,l,f,y.x,y.y)&&Mk(y.prev,y,y.next)>=0)return!1;y=y.prevZ}let b=e.nextZ;for(;b&&b.z<=v;){if(b.x>=p&&b.x<=h&&b.y>=m&&b.y<=g&&b!==o&&(s!==b.x||u!==b.y)&&Ak(s,u,c,d,l,f,b.x,b.y)&&Mk(b.prev,b,b.next)>=0)return!1;b=b.nextZ}return!0}function pk(e,t){let n=e,r=!1;do{let i=n.prev,a=n.next.next;Pk(i,n,n.next,a,!1)&&Lk(i,a)&&Lk(a,i)&&(t.push(i.i,n.i,a.i),Vk(n),Vk(n.next),n=e=a,r=!0),n=n.next}while(n!==e);return r?lk(n):n}function mk(e,t,n,r,i){let a=e;do{let e=a.next.next;for(;e!==a.prev;){if(a.i!==e.i&&jk(a,e)){let o=zk(a,e);a=lk(a,a.next),o=lk(o,o.next),uk(a,t,n,r,i),uk(o,t,n,r,i);return}e=e.next}a=a.next}while(a!==e)}function hk(e,t,n,r){let i=[];for(let n=0,a=t.length;n<a;n++){let o=ck(e,t[n]*r,n<a-1?t[n+1]*r:e.length,r,!1);o===o.next&&lH.add(o),i.push(kk(o))}i.sort(gk),vk(e.length/r,t.length),yk(n,n),dH=!0;for(let e=0;e<i.length;e++)n=_k(i[e],n);return dH=!1,lk(n)}function gk(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 _k(e,t){let n=Ck(e,t);if(!n)return t;let r=zk(n,e),i=r.next;return yk(n,i.next),lk(r,r.next),lk(n,n.next)}function vk(e,t){let n=Math.ceil((e+2*t)/16)+t+2;fH.length<n*4&&(fH=new Float64Array(n*4)),pH=0}function yk(e,t){let n=e;do{let e=pH++;mH[e]=n;let r=1/0,i=1/0,a=-1/0,o=-1/0,s=0;do{let t=n.next;n.z=e,n.x<r&&(r=n.x),n.x>a&&(a=n.x),n.y<i&&(i=n.y),n.y>o&&(o=n.y),t.x<r&&(r=t.x),t.x>a&&(a=t.x),t.y<i&&(i=t.y),t.y>o&&(o=t.y),n=t}while(++s<16&&n!==t);hH[e]=n;let c=e*4;fH[c]=r,fH[c+1]=i,fH[c+2]=a,fH[c+3]=o}while(n!==t)}function bk(e,t){let n=e.z*4;t.x<fH[n]&&(fH[n]=t.x),t.y<fH[n+1]&&(fH[n+1]=t.y),t.x>fH[n+2]&&(fH[n+2]=t.x),t.y>fH[n+3]&&(fH[n+3]=t.y)}function xk(e){let t=hH[e];for(;t.prev.next!==t;)t=t.next;return hH[e]=t,t}function Sk(e){let t=mH[e];for(;t.prev.next!==t;)t=t.next;return mH[e]=t,t}function Ck(e,t){let n=t,r=e.x,i=e.y,a=-1/0,o;if(Nk(e,n))return n;for(let t=0,s=0;t<pH;t++,s+=4){if(i<fH[s+1]||i>fH[s+3]||fH[s]>r||fH[s+2]<=a)continue;let c=xk(t);n=Sk(t);do{if(n.prev.next===n){if(Nk(e,n.next))return n.next;if(i<=n.y&&i>=n.next.y&&n.next.y!==n.y){let e=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(e<=r&&e>a&&(a=e,o=n.x<n.next.x?n:n.next,e===r))return o}}n=n.next}while(n!==c)}if(!o)return null;let s=o.x,c=o.y,l=Math.min(i,c),u=Math.max(i,c),d=1/0;for(let t=0,f=0;t<pH;t++,f+=4){if(fH[f+2]<s||fH[f]>r||fH[f+3]<l||fH[f+1]>u)continue;let p=xk(t);n=Sk(t);do{if(n.prev.next===n&&r>=n.x&&n.x>=s&&r!==n.x&&Ak(i<c?r:a,i,s,c,i<c?a:r,i,n.x,n.y)){let t=Math.abs(i-n.y)/(r-n.x);(Lk(n,e)||n.y===i&&n.next.y===i&&n.next.x>r)&&(t<d||t===d&&(n.x>o.x||n.x===o.x&&wk(o,n)))&&(o=n,d=t)}n=n.next}while(n!==p)}return o}function wk(e,t){return Mk(e.prev,e,t.prev)<0&&Mk(t.next,e,e.next)<0}function Tk(e,t,n,r){let i=e,a=0;do i.z=Ok(i.x,i.y,t,n,r),gH[a++]=i,i=i.next;while(i!==e);Ek(a);let o=null;for(let e=0;e<a;e++){let t=gH[e];t.prevZ=o,o&&(o.nextZ=t),o=t}o.nextZ=null}function Ek(e){if(e<=32){for(let t=1;t<e;t++){let e=gH[t],n=e.z,r=t-1;for(;r>=0&&gH[r].z>n;)gH[r+1]=gH[r],r--;gH[r+1]=e}return}vH.length<e&&(vH=new Uint32Array(e),yH=new Uint32Array(e),_H=Array(e));for(let t=0;t<e;t++)vH[t]=gH[t].z;Dk(e,gH,vH,_H,yH,0),Dk(e,_H,yH,gH,vH,8),Dk(e,gH,vH,_H,yH,16),Dk(e,_H,yH,gH,vH,24)}function Dk(e,t,n,r,i,a){bH.fill(0);for(let t=0;t<e;t++)bH[n[t]>>>a&255]++;let o=0;for(let e=0;e<256;e++){let t=bH[e];bH[e]=o,o+=t}for(let o=0;o<e;o++){let e=n[o],s=bH[e>>>a&255]++;r[s]=t[o],i[s]=e}}function Ok(e,t,n,r,i){return e=(e-n)*i|0,t=(t-r)*i|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 kk(e){let t=e,n=e;do(t.x<n.x||t.x===n.x&&t.y<n.y)&&(n=t),t=t.next;while(t!==e);return n}function Ak(e,t,n,r,i,a,o,s){return(i-o)*(t-s)>=(e-o)*(a-s)&&(e-o)*(r-s)>=(n-o)*(t-s)&&(n-o)*(a-s)>=(i-o)*(r-s)}function jk(e,t){let n=Nk(e,t)&&Mk(e.prev,e,e.next)>0&&Mk(t.prev,t,t.next)>0;return e.next.i!==t.i&&(n||Lk(e,t)&&Lk(t,e)&&(Mk(e.prev,e,t.prev)!==0||Mk(e,t.prev,t)!==0))&&!Ik(e,t)&&(n||Rk(e,t))}function Mk(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function Nk(e,t){return e.x===t.x&&e.y===t.y}function Pk(e,t,n,r,i=!0){let a=Mk(e,t,n),o=Mk(e,t,r),s=Mk(n,r,e),c=Mk(n,r,t);return(a>0&&o<0||a<0&&o>0)&&(s>0&&c<0||s<0&&c>0)?!0:i?!!(a===0&&Fk(e,n,t)||o===0&&Fk(e,r,t)||s===0&&Fk(n,e,r)||c===0&&Fk(n,t,r)):!1}function Fk(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function Ik(e,t){let n=Math.min(e.x,t.x),r=Math.max(e.x,t.x),i=Math.min(e.y,t.y),a=Math.max(e.y,t.y),o=e;do{let s=o.next;if(o.x>r&&s.x>r||o.x<n&&s.x<n||o.y>a&&s.y>a||o.y<i&&s.y<i){o=s;continue}if(o.i!==e.i&&s.i!==e.i&&o.i!==t.i&&s.i!==t.i&&Pk(o,s,e,t))return!0;o=s}while(o!==e);return!1}function Lk(e,t){return Mk(e.prev,e,e.next)<0?Mk(e,t,e.next)>=0&&Mk(e,e.prev,t)>=0:Mk(e,t,e.prev)<0||Mk(e,e.next,t)<0}function Rk(e,t){let n=e,r=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do{let e=n.next;n.y>a!=e.y>a&&i<(e.x-n.x)*(a-n.y)/(e.y-n.y)+n.x&&(r=!r),n=e}while(n!==e);return r}function zk(e,t){let n=Hk(e.i,e.x,e.y),r=Hk(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,n.next=i,i.prev=n,r.next=n,n.prev=r,a.next=r,r.prev=a,r}function Bk(e,t,n,r){let i=Hk(e,t,n);return r?(i.next=r.next,i.prev=r,r.next.prev=i,r.next=i):(i.prev=i,i.next=i),i}function Vk(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),dH&&bk(e.prev,e.next)}function Hk(e,t,n){return{i:e,x:t,y:n,prev:null,next:null,z:0,prevZ:null,nextZ:null}}function Uk(e,t,n,r){let i=0;for(let a=t,o=n-r;a<n;a+=r)i+=(e[o]-e[a])*(e[a+1]+e[o+1]),o=a;return i}function Wk(e,t,n,r=!0){return new EH(n,t).subdividePolygonInternal(e,r)}function Gk(e,t,n=!1){if(!e||e.length<1||e.length<2)return[];let r=e[0],i=e[e.length-1],a=n&&(r.x!==i.x||r.y!==i.y);if(t<2)return a?[...e,e[0]]:[...e];let o=Math.floor(aL/t),s=[];s.push(new Vx(e[0].x,e[0].y));let c=e.length,l=a?c:c-1;for(let t=0;t<l;t++){let n=e[t],r=t<c-1?e[t+1]:e[0],i=n.x,a=n.y,l=r.x,u=r.y,d=i!==l,f=a!==u;if(!d&&!f)continue;let p=l-i,m=u-a,h=Math.abs(p),g=Math.abs(m),_=i,v=a;for(;;){let e=p>0?(Math.floor(_/o)+1)*o:(Math.ceil(_/o)-1)*o,t=m>0?(Math.floor(v/o)+1)*o:(Math.ceil(v/o)-1)*o,n=Math.abs(_-e),r=Math.abs(v-t),i=Math.abs(_-l),a=Math.abs(v-u),c=d?n/h:1/0,y=f?r/g:1/0;if((i<=n||!d)&&(a<=r||!f))break;if(c<y&&d||!f){_=e,v+=m*c;let t=new Vx(_,Math.round(v));(s[s.length-1].x!==t.x||s[s.length-1].y!==t.y)&&s.push(t)}else{_+=p*y,v=t;let e=new Vx(Math.round(_),v);(s[s.length-1].x!==e.x||s[s.length-1].y!==e.y)&&s.push(e)}}let y=new Vx(l,u);(s[s.length-1].x!==y.x||s[s.length-1].y!==y.y)&&s.push(y)}return s}function Kk(e){let t=[],n=[];for(let r of e)if(r.length!==0){r!==e[0]&&t.push(n.length/2);for(let e of r)n.push(e.x),n.push(e.y)}return{flattened:n,holeIndices:t}}function qk(e,t){let n=[];for(let r=0;r<t.length;r+=3){let i=t[r],a=t[r+1],o=t[r+2],s=e[i*2],c=e[i*2+1],l=e[a*2],u=e[a*2+1],d=e[o*2],f=e[o*2+1],p=l-s,m=u-c,h=d-s;p*(f-c)-m*h>0?(n.push(i),n.push(o),n.push(a)):(n.push(i),n.push(a),n.push(o))}return n}function Jk(e,t,n){if(t.length===0)throw Error(`Subdivision vertex ring is empty.`);let r=0,i=e[t[0]*2];for(let n=1;n<t.length;n++){let a=e[t[n]*2];a<i&&(i=a,r=n)}let a=t.length,o=r,s=(o+1)%a;for(;;){let r=o-1>=0?o-1:a-1,i=(s+1)%a,c=e[t[r]*2],l=e[t[r]*2+1],u=e[t[i]*2],d=e[t[i]*2+1],f=e[t[o]*2],p=e[t[o]*2+1],m=e[t[s]*2],h=e[t[s]*2+1],g=!1;if(c<u)g=!0;else if(c>u)g=!1;else{let e=h-p,t=-(m-f),n=p<h?1:-1;((c-f)*e+(l-p)*t)*n>((u-f)*e+(d-p)*t)*n&&(g=!0)}if(g){let e=t[r],i=t[o],c=t[s];e!==i&&e!==c&&i!==c&&n.push(c,i,e),o--,o<0&&(o=a-1)}else{let e=t[i],r=t[o],c=t[s];e!==r&&e!==c&&r!==c&&n.push(c,r,e),s++,s>=a&&(s=0)}if(r===i)break}}function Yk(e,t,n,r,i,a,o,s,c){let l=i.length/2,u=o&&s&&c;if(l<tV.MAX_VERTEX_ARRAY_LENGTH){let d=t.prepareSegment(l,n,r),f=d.vertexLength;for(let e=0;e<a.length;e+=3)r.emplaceBack(f+a[e],f+a[e+1],f+a[e+2]);d.vertexLength+=l,d.primitiveLength+=a.length/3;let p,m;u&&(m=o.prepareSegment(l,n,s),p=m.vertexLength,m.vertexLength+=l);for(let t=0;t<i.length;t+=2)e(i[t],i[t+1]);if(u)for(let e of c){for(let t=1;t<e.length;t+=2)s.emplaceBack(p+e[t-1],p+e[t]);m.primitiveLength+=e.length/2}}else Zk(t,n,r,i,a,e),u&&Qk(o,n,s,i,c,e),t.forceNewSegmentOnNextPrepare(),o?.forceNewSegmentOnNextPrepare()}function Xk(e,t,n,r,i,a,o){if(a){let a=r.count;return n(t[i*2],t[i*2+1]),e[i]=r.count,r.count++,o.vertexLength++,a}return e[i]}function Zk(e,t,n,r,i,a){let o=[];for(let e=0;e<r.length/2;e++)o.push(-1);let s={count:0},c=0,l=e.getOrCreateLatestSegment(t,n),u=l.vertexLength;for(let d=2;d<i.length;d+=3){let f=i[d-2],p=i[d-1],m=i[d],h=o[f]<c,g=o[p]<c,_=o[m]<c,v=+!!h+ +!!g+ +!!_;l.vertexLength+v>tV.MAX_VERTEX_ARRAY_LENGTH&&(l=e.createNewSegment(t,n),c=s.count,h=!0,g=!0,_=!0,u=0);let y=Xk(o,r,a,s,f,h,l),b=Xk(o,r,a,s,p,g,l),x=Xk(o,r,a,s,m,_,l);n.emplaceBack(u+y-c,u+b-c,u+x-c),l.primitiveLength++}}function Qk(e,t,n,r,i,a){let o=[];for(let e=0;e<r.length/2;e++)o.push(-1);let s={count:0},c=0,l=e.getOrCreateLatestSegment(t,n),u=l.vertexLength;for(let d of i)for(let i=1;i<d.length;i+=2){let f=d[i-1],p=d[i],m=o[f]<c,h=o[p]<c,g=+!!m+ +!!h;l.vertexLength+g>tV.MAX_VERTEX_ARRAY_LENGTH&&(l=e.createNewSegment(t,n),c=s.count,m=!0,h=!0,u=0);let _=Xk(o,r,a,s,f,m,l),v=Xk(o,r,a,s,p,h,l);n.emplaceBack(u+_-c,u+v-c),l.primitiveLength++}}function $k(e,t){return e.x===t.x&&(e.x<0||e.x>8192)||e.y===t.y&&(e.y<0||e.y>8192)}function eA(e){return e.every(e=>e.x<0)||e.every(e=>e.x>8192)||e.every(e=>e.y<0)||e.every(e=>e.y>8192)}function tA(e){let t=e.length;if(t<=1)return[e];let n=[],r,i;for(let a=0;a<t;a++){let t=nA(e[a]);t!==0&&(i===void 0&&(i=t<0),i===t<0?(r&&n.push(r),r=[e[a]]):r&&r.push(e[a]))}return r&&n.push(r),n}function nA(e){let t=0;for(let n=0,r=e.length,i=r-1,a,o;n<r;i=n++)a=e[n],o=e[i],t+=(o.x-a.x)*(a.y+o.y);return t}function rA(e){let t=null,n=e.readVarint()+e.pos;for(;e.pos<n;){let n=e.readVarint();t=n===10?e.readString():n===21?e.readFloat():n===25?e.readDouble():n===32?e.readVarint(!0):n===40?e.readVarint():n===48?e.readSVarint():n===56?e.readBoolean():(e.skip(n),null)}if(t==null)throw Error(`unknown feature value`);return t}function iA(e){return GH*Math.cos(e*Math.PI/180)}function aA(e){return(180+e)/360}function oA(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function sA(e,t){return e/iA(t)}function cA(e){return e*360-180}function lA(e){let t=180-e*360;return 360/Math.PI*Math.atan(Math.exp(t*Math.PI/180))-90}function uA(e,t){return e*iA(lA(t))}function dA(e){return 1/Math.cos(e*Math.PI/180)}function fA(e,t,n){let r=1/(1<<n.z);return new KH(e/aL*r+n.x*r,t/aL*r+n.y*r)}function pA(e,t,n){return fA(e,t,n).toLngLat()}function mA(e,t){let n=_C(t.lat,-85.051129,fL);return new Vx(aA(t.lng)*e,oA(n)*e)}function hA(e,t){return new KH(t.x/e,t.y/e).toLngLat()}function gA(e){return e.cameraToCenterDistance*Math.min(Math.tan(HC(90-e.pitch))*.85,Math.tan(HC(qH-e.pitch)))}function _A(e,t){let n=e.canonical,r=t/wC(n.z),i=n.x+2**n.z*e.wrap,a=new Float64Array(16);return Qx(a),tS(a,a,[i*r,n.y*r,0]),nS(a,a,[r/aL,r/aL,1]),a}function vA(e,t,n,r,i){let a=KH.fromLngLat(e,t),o=i*sA(1,e.lat),{x:s,y:c,z:l}=bA(n,r),u=o*-s,d=o*-c,f=o*l;return new KH(a.x+u,a.y+d,a.z+f)}function yA(e){let t=sA(1,e.center.lat)*e.worldSize;return vA(e.center,e.elevation,e.pitch,e.bearing,e.cameraToCenterDistance/t)}function bA(e,t){let n=HC(e),r=HC(t),i=Math.cos(-n),a=Math.sin(n);return{x:a*Math.sin(r),y:-a*Math.cos(r),z:i}}function xA(e,t,n){if(t<=0||!e||e.length===0)return e;let r=SA(t,n);return e.map(e=>CA(e,r))}function SA(e,t){let n=pA(aL/2,aL/2,t),r=KH.fromLngLat(n).meterInMercatorCoordinateUnits(),i=(1<<t.z)*aL;return e*r*i}function CA(e,t){if(!e||e.length<3)return e;let n=e[0].x===e[e.length-1].x&&e[0].y===e[e.length-1].y,r=n?e.length-1:e.length;if(r<3)return e;let i=[];for(let n=0;n<r;n++){let a=e[(n-1+r)%r],o=e[n],s=e[(n+1)%r];if($k(a,o)||$k(o,s)){i.push(o.clone());continue}TA(i,a,o,s,t)}let a=wA(i);return a.length<3?e:(n&&a.push(a[0].clone()),a)}function wA(e){let t=[];for(let n of e){let e=n.round(),r=t[t.length-1];(r?.x!==e.x||r?.y!==e.y)&&t.push(e)}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 TA(e,t,n,r,i){let a=t.sub(n),o=r.sub(n),s=a.mag(),c=o.mag();if(s<1e-6||c<1e-6){e.push(n.clone());return}a._div(s),o._div(c);let l=a.x*o.x+a.y*o.y;if(Math.abs(l)>Math.cos(5*Math.PI/180)){e.push(n.clone());return}let u=.2,d=Math.min(i,s*u,c*u),f=n.add(a.mult(d)),p=n.add(o.mult(d)),m=Math.sqrt((1+l)/2),h=n.add(a.add(o)._unit()._mult(d/m)),g=f.sub(h).angleWith(p.sub(h)),_=Math.max(2,Math.ceil(Math.abs(g)/(Math.PI/6)-1e-6));for(let t=0;t<=_;t++)e.push(f.rotateAround(t/_*g,h))}function EA(e,t,n,r,i,a,o,s){e.emplaceBack(t,n,Math.floor(r*JH)*2+o,i*JH*2,a*JH*2,Math.round(s))}function DA(e,t){for(let n=0;n<t.length;n++){let r=t[n];(n!==t.length-1||t[0].x!==r.x||t[0].y!==r.y)&&(e.x+=r.x,e.y+=r.y,e.sampleCount++)}}function OA(e,t){return e.x*t.x+e.y*t.y}function kA(e,t){if(e.length===1){let n=0,r=t[n++],i;for(;!i||r.equals(i);)if(i=t[n++],!i)return 1/0;for(;n<t.length;n++){let a=t[n],o=e[0],s=i.sub(r),c=a.sub(r),l=o.sub(r),u=OA(s,s),d=OA(s,c),f=OA(c,c),p=OA(l,s),m=OA(l,c),h=u*f-d*d,g=(f*p-d*m)/h,_=(u*m-d*p)/h,v=1-g-_,y=r.z*v+i.z*g+a.z*_;if(isFinite(y))return y}return 1/0}{let e=1/0;for(let n of t)e=Math.min(e,n.z);return e}}function AA(e,t,n){let r=1/0;kO(n,t)&&(r=kA(n,t[0]));for(let i=0;i<t.length;i++){let a=t[i],o=e[i];for(let e=0;e<a.length-1;e++){let t=a[e],i=a[e+1],s=o[e],c=[t,i,o[e+1],s,t];DO(n,c)&&(r=Math.min(r,kA(n,c)))}}return r!==1/0&&r}function jA(e,t,n,r){let i=[],a=[],o=r[8]*t,s=r[9]*t,c=r[10]*t,l=r[11]*t,u=r[8]*n,d=r[9]*n,f=r[10]*n,p=r[11]*n;for(let t of e){let e=[],n=[];for(let i of t){let t=i.x,a=i.y,m=r[0]*t+r[4]*a+r[12],h=r[1]*t+r[5]*a+r[13],g=r[2]*t+r[6]*a+r[14],_=r[3]*t+r[7]*a+r[15],v=m+o,y=h+s,b=g+c,x=_+l,S=m+u,C=h+d,w=g+f,T=_+p,E=new Vx(v/x,y/x);E.z=b/x,e.push(E);let D=new Vx(S/T,C/T);D.z=w/T,n.push(D)}i.push(e),a.push(n)}return[i,a]}function MA(e,t,n){let r=[];for(let i of e){let e=[i.x,i.y,n,1];IS(e,e,t),r.push(new Vx(e[0]/e[3],e[1]/e[3]))}return r}function NA(e,t){return t>0?t+2*e:e}function PA(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 FA(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 IA(e){return/[\u02EA\u02EB\u1100-\u11FF\u2E80-\u2FDF\u3000-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7C6\uD7CB-\uD7FB\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 LA(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 RA(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 zA(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 BA(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 VA(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 HA(e,t){return/(?:[\u1039\u17D2\u1A60\u1BAB\u200D\uAAF6]|\uD802\uDE3F|\uD804[\uDD33\uDFD0]|\uD806[\uDD3E\uDE47\uDE99]|\uD807[\uDD45\uDD97\uDF42])$/.test(e)||RegExp(`^\\p{gc=Mc}`,`u`).test(t)}function UA(e,t,n){let r=0;for(let i of e.split(`;`)){let[e,a]=i.split(`,`).map(e=>parseInt(e,36)),o=r+e;for(let e=o;e<o+a;e++)n.set(e,t);r=o+a}}function WA(e){return NU.get(e)??`U`}function GA(e){return e===`D`||e===`L`||e===`C`}function KA(e){return e===`D`||e===`R`||e===`C`}function qA(e,t,n){return e===`D`?t&&n?3:t?1:n?2:0:e===`R`?+!!t:e===`L`?n?2:0:null}function JA(e){return[...e].map(e=>{let t=e.codePointAt(0);return{codePoint:t,type:WA(t),form:null}})}function YA(e){let t=e.filter(e=>e.type!==`T`);for(let e=0;e<t.length;e++){let n=t[e],r=e>0&&GA(t[e-1].type),i=e+1<t.length&&KA(t[e+1].type);n.form=qA(n.type,r,i)}}function XA(e){let t=!1;for(let n of e)n.type===`T`?n.form=t?3:0:t=n.form===2||n.form===3}function ZA(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.codePoint!==jU){t.push(r);continue}let i=n+1;for(;i<e.length&&e[i].type===`T`;)i++;let a=e[i],o=a&&AU[String.fromCodePoint(jU,a.codePoint)];if(!o){t.push(r);continue}let s=r.form===3||r.form===1;t.push({codePoint:o[+!!s],type:`R`,form:0}),t.push(...e.slice(n+1,i)),n=i}return t}function QA(e){if(e.form===null)return e.codePoint;let t=kU[e.codePoint];return t&&(t[e.form]||t[0])||e.codePoint}function $A(e){if(!MU.test(e))return e;let t=JA(e);return YA(t),XA(t),ZA(t).map(e=>String.fromCodePoint(QA(e))).join(``)}function ej(e,t,n){let r=t.layout.get(`text-transform`).evaluate(n,{});return r===`uppercase`?e=e.toLocaleUpperCase():r===`lowercase`&&(e=e.toLocaleLowerCase()),(DU.applyArabicShaping??$A)(e)}function tj(e,t,n){for(let r of e.sections)r.text=ej(r.text,t,n);return e}function nj(e){let t={},n={},r=[],i=0;function a(t){r.push(e[t]),i++}function o(e,t,i){let a=n[e];return delete n[e],n[t]=a,r[a].geometry[0].pop(),r[a].geometry[0]=r[a].geometry[0].concat(i[0]),a}function s(e,n,i){let a=t[n];return delete t[n],t[e]=a,r[a].geometry[0].shift(),r[a].geometry[0]=i[0].concat(r[a].geometry[0]),a}function c(e,t,n){let r=n?t[0][t[0].length-1]:t[0][0];return`${e}:${r.x}:${r.y}`}for(let l=0;l<e.length;l++){let u=e[l],d=u.geometry,f=u.text?u.text.toString():null;if(!f){a(l);continue}let p=c(f,d),m=c(f,d,!0);if(p in n&&m in t&&n[p]!==t[m]){let e=s(p,m,d),i=o(p,m,r[e].geometry);delete t[p],delete n[m],n[c(f,r[i].geometry,!0)]=i,r[e].geometry=null}else p in n?o(p,m,d):m in t?s(p,m,d):(a(l),t[p]=i-1,n[m]=i-1)}return r.filter(e=>e.geometry)}function rj(e){if(!PU||!BA(e))return[...e];FU??=new Intl.Segmenter(void 0,{granularity:`grapheme`});let t=[];for(let{segment:n}of FU.segment(e)){let e=t.length-1;e>=0&&HA(t[e],n)?t[e]+=n:t.push(n)}return t}function ij(e){let t=new Set;if(PU){IU??=new Intl.Segmenter(void 0,{granularity:`word`});for(let{index:n}of IU.segment(e))t.add(n);return t}let n=0;for(let r of e.split(RegExp(`\\b|(?=\\p{Ideo})`,`u`)))t.add(n),n+=r.length;return t}function aj(e){let t=e.codePointAt(0);return e.length>(t>65535?2:1)}function oj(e){return/\s/u.test(String.fromCodePoint(e))}function sj(e){for(let t of e)if(RA(t.codePointAt(0)))return!0;return!1}function cj(e){for(let t of e)if(!lj(t.codePointAt(0)))return!1;return!0}function lj(e){return!PA(e)}function uj(e){return!(RA(e)||zA(e))}function dj(e){return RegExp(`\\p{sc=Arab}`,`u`).test(String.fromCodePoint(e))}function fj(e){return FA(e)}function pj(e){for(let t of e)if(fj(t.codePointAt(0)))return!0;return!1}function mj(e){let t=``,n={premature:!0,value:void 0},r=e[Symbol.iterator](),i=r.next(),a=e[Symbol.iterator]();a.next();let o=a.next();for(;!i.done;)(o.done||!uj(o.value.codePointAt(0))||LU[o.value])&&(n.premature||!uj(n.value.codePointAt(0))||LU[n.value])&&LU[i.value]?t+=LU[i.value]:t+=i.value,n={value:i.value,premature:!1},i=r.next(),o=a.next();return t}function hj(e,t,n,r,i,a){if(`fontStack`in t){let r=n[t.fontStack],a=r?.[e];if(a)return a.metrics.advance*t.scale+i;let o=0;for(let n of e){let e=r?.[n];e&&(o+=e.metrics.advance*t.scale+i)}return o}{let e=r[t.imageName];return e?e.displaySize[0]*t.scale*24/a+i:0}}function gj(e,t,n,r){let i=(e-t)**2;return r?e<t?i/2:i*2:i+Math.abs(n)*n}function _j(e){return/^\s+$/u.test(e)}function vj(e,t,n){let r=0;return(e===10||e===13)&&(r-=1e4),n&&(r+=150),(e===40||e===65288)&&(r+=50),(t===41||t===65289)&&(r+=50),r}function yj(e,t,n,r,i,a){let o=null,s=gj(t,n,i,a);for(let e of r){let r=gj(t-e.x,n,i,a)+e.badness;r<=s&&(o=e,s=r)}return{index:e,x:t,priorBreak:o,badness:s}}function bj(e){return e?bj(e.priorBreak).concat(e.index):[]}function xj(){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`},n={},r={};n.L=1,r[1]=`L`,Object.keys(t).forEach(function(e,t){n[e]=1<<t+1,r[n[e]]=e}),Object.freeze(n);var i=n.LRI|n.RLI|n.FSI,a=n.L|n.R|n.AL,o=n.B|n.S|n.WS|n.ON|n.FSI|n.LRI|n.RLI|n.PDI,s=n.BN|n.RLE|n.LRE|n.RLO|n.LRO|n.PDF,c=n.S|n.WS|n.B|i|n.PDI|s,l=null;function u(){if(!l){l=new Map;var e=0;for(var r in t)if(t.hasOwnProperty(r))for(var i=t[r],a=``,o=void 0,s=!1,c=0,u=0;u<=i.length+1;u+=1){var d=i[u];if(d!==`,`&&u!==i.length)d===`+`?(s=!0,c=e=c+parseInt(a,36),a=``):a+=d;else{s?o=e+parseInt(a,36):(c=e=c+parseInt(a,36),o=e),s=!1,a=``,c=o;for(var f=e;f<o+1;f+=1)l.set(f,n[r])}}}}function d(e){return u(),l.get(e.codePointAt(0))||n.L}function f(e){return r[d(e)]}var p={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 m(e,t){var n=0,r=new Map,i=t&&new Map,a;return e.split(`,`).forEach(function e(o){if(o.indexOf(`+`)!==-1)for(var s=+o;s--;)e(a);else{a=o;var c=o.split(`>`),l=c[0],u=c[1];l=String.fromCodePoint(n+=parseInt(l,36)),u=String.fromCodePoint(n+=parseInt(u,36)),r.set(l,u),t&&i.set(u,l)}}),{map:r,reverseMap:i}}var h,g,_;function v(){if(!h){var e=m(p.pairs,!0),t=e.map,n=e.reverseMap;h=t,g=n,_=m(p.canonical,!1).map}}function y(e){return v(),h.get(e)||null}function b(e){return v(),g.get(e)||null}function x(e){return v(),_.get(e)||null}var S=n.L,C=n.R,w=n.EN,T=n.ES,E=n.ET,D=n.AN,O=n.CS,k=n.B,A=n.S,j=n.ON,M=n.BN,N=n.NSM,P=n.AL,F=n.LRO,I=n.RLO,L=n.LRE,R=n.RLE,z=n.PDF,B=n.LRI,V=n.RLI,H=n.FSI,U=n.PDI;function W(e,t){for(var n=125,r=new Uint32Array(e.length),l=0;l<e.length;l++)r[l]=d(e[l]);var u=new Map;function f(e,t){var n=r[e];r[e]=t,u.set(n,u.get(n)-1),n&o&&u.set(o,u.get(o)-1),u.set(t,(u.get(t)||0)+1),t&o&&u.set(o,(u.get(o)||0)+1)}for(var p=new Uint8Array(e.length),m=new Map,h=[],g=null,_=0;_<e.length;_++)g||h.push(g={start:_,end:e.length-1,level:t===`rtl`?1:t===`ltr`?0:Vt(_,!1)}),r[_]&k&&(g.end=_,g=null);for(var v=R|L|I|F|i|U|z|k,W=function(e){return e+(e&1?1:2)},G=function(e){return e+(e&1?2:1)},K=0;K<h.length;K++){g=h[K];var q=[{_level:g.level,_override:0,_isolate:0}],J=void 0,Y=0,X=0,Z=0;u.clear();for(var ee=g.start;ee<=g.end;ee++){var te=r[ee];if(J=q[q.length-1],u.set(te,(u.get(te)||0)+1),te&o&&u.set(o,(u.get(o)||0)+1),te&v){if(te&(R|L)){p[ee]=J._level;var ne=(te===R?G:W)(J._level);ne<=n&&!Y&&!X?q.push({_level:ne,_override:0,_isolate:0}):Y||X++}else if(te&(I|F)){p[ee]=J._level;var re=(te===I?G:W)(J._level);re<=n&&!Y&&!X?q.push({_level:re,_override:te&I?C:S,_isolate:0}):Y||X++}else if(te&i){te&H&&(te=Vt(ee+1,!0)===1?V:B),p[ee]=J._level,J._override&&f(ee,J._override);var Q=(te===V?G:W)(J._level);Q<=n&&Y===0&&X===0?(Z++,q.push({_level:Q,_override:0,_isolate:1,_isolInitIndex:ee})):Y++}else if(te&U){if(Y>0)Y--;else if(Z>0){for(X=0;!q[q.length-1]._isolate;)q.pop();var ie=q[q.length-1]._isolInitIndex;ie!=null&&(m.set(ie,ee),m.set(ee,ie)),q.pop(),Z--}J=q[q.length-1],p[ee]=J._level,J._override&&f(ee,J._override)}else te&z?(Y===0&&(X>0?X--:!J._isolate&&q.length>1&&(q.pop(),J=q[q.length-1])),p[ee]=J._level):te&k&&(p[ee]=g.level)}else p[ee]=J._level,J._override&&te!==M&&f(ee,J._override)}for(var ae=[],oe=null,se=g.start;se<=g.end;se++){var ce=r[se];if(!(ce&s)){var le=p[se],ue=ce&i,de=ce===U;oe&&le===oe._level?(oe._end=se,oe._endsWithIsolInit=ue):ae.push(oe={_start:se,_end:se,_level:le,_startsWithPDI:de,_endsWithIsolInit:ue})}}for(var fe=[],pe=0;pe<ae.length;pe++){var me=ae[pe];if(!me._startsWithPDI||me._startsWithPDI&&!m.has(me._start)){for(var he=[oe=me],ge=void 0;oe&&oe._endsWithIsolInit&&(ge=m.get(oe._end))!=null;)for(var _e=pe+1;_e<ae.length;_e++)if(ae[_e]._start===ge){he.push(oe=ae[_e]);break}for(var ve=[],ye=0;ye<he.length;ye++)for(var be=he[ye],xe=be._start;xe<=be._end;xe++)ve.push(xe);for(var Se=p[ve[0]],Ce=g.level,we=ve[0]-1;we>=0;we--)if(!(r[we]&s)){Ce=p[we];break}var Te=ve[ve.length-1],Ee=p[Te],De=g.level;if(!(r[Te]&i)){for(var Oe=Te+1;Oe<=g.end;Oe++)if(!(r[Oe]&s)){De=p[Oe];break}}fe.push({_seqIndices:ve,_sosType:Math.max(Ce,Se)%2?C:S,_eosType:Math.max(De,Ee)%2?C:S})}}for(var ke=0;ke<fe.length;ke++){var Ae=fe[ke],je=Ae._seqIndices,Me=Ae._sosType,Ne=Ae._eosType,Pe=p[je[0]]&1?C:S;if(u.get(N))for(var Fe=0;Fe<je.length;Fe++){var Ie=je[Fe];if(r[Ie]&N){for(var Le=Me,Re=Fe-1;Re>=0;Re--)if(!(r[je[Re]]&s)){Le=r[je[Re]];break}f(Ie,Le&(i|U)?j:Le)}}if(u.get(w))for(var ze=0;ze<je.length;ze++){var Be=je[ze];if(r[Be]&w)for(var Ve=ze-1;Ve>=-1;Ve--){var He=Ve===-1?Me:r[je[Ve]];if(He&a){He===P&&f(Be,D);break}}}if(u.get(P))for(var Ue=0;Ue<je.length;Ue++){var We=je[Ue];r[We]&P&&f(We,C)}if(u.get(T)||u.get(O))for(var Ge=1;Ge<je.length-1;Ge++){var Ke=je[Ge];if(r[Ke]&(T|O)){for(var qe=0,Je=0,Ye=Ge-1;Ye>=0&&(qe=r[je[Ye]],qe&s);Ye--);for(var Xe=Ge+1;Xe<je.length&&(Je=r[je[Xe]],Je&s);Xe++);qe===Je&&(r[Ke]===T?qe===w:qe&(w|D))&&f(Ke,qe)}}if(u.get(w)){for(var Ze=0;Ze<je.length;Ze++)if(r[je[Ze]]&w){for(var Qe=Ze-1;Qe>=0&&r[je[Qe]]&(E|s);Qe--)f(je[Qe],w);for(Ze++;Ze<je.length&&r[je[Ze]]&(E|s|w);Ze++)r[je[Ze]]!==w&&f(je[Ze],w)}}if(u.get(E)||u.get(T)||u.get(O))for(var $e=0;$e<je.length;$e++){var et=je[$e];if(r[et]&(E|T|O)){f(et,j);for(var tt=$e-1;tt>=0&&r[je[tt]]&s;tt--)f(je[tt],j);for(var nt=$e+1;nt<je.length&&r[je[nt]]&s;nt++)f(je[nt],j)}}if(u.get(w))for(var rt=0,it=Me;rt<je.length;rt++){var at=je[rt],ot=r[at];ot&w?it===S&&f(at,S):ot&a&&(it=ot)}if(u.get(o)){for(var st=C|w|D,ct=st|S,lt=[],ut=[],dt=0;dt<je.length;dt++)if(r[je[dt]]&o){var ft=e[je[dt]],pt=void 0;if(y(ft)!==null){if(ut.length<63)ut.push({char:ft,seqIndex:dt});else break}else if((pt=b(ft))!==null)for(var mt=ut.length-1;mt>=0;mt--){var ht=ut[mt].char;if(ht===pt||ht===b(x(ft))||y(x(ht))===ft){lt.push([ut[mt].seqIndex,dt]),ut.length=mt;break}}}lt.sort(function(e,t){return e[0]-t[0]});for(var gt=0;gt<lt.length;gt++){for(var _t=lt[gt],vt=_t[0],yt=_t[1],bt=!1,xt=0,St=vt+1;St<yt;St++){var Ct=je[St];if(r[Ct]&ct){bt=!0;var wt=r[Ct]&st?C:S;if(wt===Pe){xt=wt;break}}}if(bt&&!xt){xt=Me;for(var Tt=vt-1;Tt>=0;Tt--){var Et=je[Tt];if(r[Et]&ct){var Dt=r[Et]&st?C:S;xt=Dt===Pe?Pe:Dt;break}}}if(xt){if(r[je[vt]]=r[je[yt]]=xt,xt!==Pe){for(var Ot=vt+1;Ot<je.length;Ot++)if(!(r[je[Ot]]&s)){d(e[je[Ot]])&N&&(r[je[Ot]]=xt);break}}if(xt!==Pe){for(var kt=yt+1;kt<je.length;kt++)if(!(r[je[kt]]&s)){d(e[je[kt]])&N&&(r[je[kt]]=xt);break}}}}for(var At=0;At<je.length;At++)if(r[je[At]]&o){for(var jt=At,$=At,Mt=Me,Nt=At-1;Nt>=0;Nt--)if(r[je[Nt]]&s)jt=Nt;else{Mt=r[je[Nt]]&st?C:S;break}for(var Pt=Ne,Ft=At+1;Ft<je.length;Ft++)if(r[je[Ft]]&(o|s))$=Ft;else{Pt=r[je[Ft]]&st?C:S;break}for(var It=jt;It<=$;It++)r[je[It]]=Mt===Pt?Mt:Pe;At=$}}}for(var Lt=g.start;Lt<=g.end;Lt++){var Rt=p[Lt],zt=r[Lt];if(Rt&1?zt&(S|w|D)&&p[Lt]++:zt&C?p[Lt]++:zt&(D|w)&&(p[Lt]+=2),zt&s&&(p[Lt]=Lt===0?g.level:p[Lt-1]),Lt===g.end||d(e[Lt])&(A|k))for(var Bt=Lt;Bt>=0&&d(e[Bt])&c;Bt--)p[Bt]=g.level}}return{levels:p,paragraphs:h};function Vt(t,n){for(var a=t;a<e.length;a++){var o=r[a];if(o&(C|P))return 1;if(o&(k|S)||n&&o===U)return 0;if(o&i){var s=Ht(a);a=s===-1?e.length:s}}return 0}function Ht(t){for(var n=1,a=t+1;a<e.length;a++){var o=r[a];if(o&k)break;if(o&U){if(--n===0)return a}else o&i&&n++}return-1}}var G=`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`,K;function q(){if(!K){var e=m(G,!0),t=e.map;e.reverseMap.forEach(function(e,n){t.set(n,e)}),K=t}}function J(e){return q(),K.get(e)||null}function Y(e,t,n,r){var i=e.length;n=Math.max(0,n==null?0:+n),r=Math.min(i-1,r==null?i-1:+r);for(var a=new Map,o=n;o<=r;o++)if(t[o]&1){var s=J(e[o]);s!==null&&a.set(o,s)}return a}function X(e,t,n,r){var i=e.length;n=Math.max(0,n==null?0:+n),r=Math.min(i-1,r==null?i-1:+r);var a=[];return t.paragraphs.forEach(function(i){var o=Math.max(n,i.start),s=Math.min(r,i.end);if(o<s){for(var l=t.levels.slice(o,s+1),u=s;u>=o&&d(e[u])&c;u--)l[u]=i.level;for(var f=i.level,p=1/0,m=0;m<l.length;m++){var h=l[m];h>f&&(f=h),h<p&&(p=h|1)}for(var g=f;g>=p;g--)for(var _=0;_<l.length;_++)if(l[_]>=g){for(var v=_;_+1<l.length&&l[_+1]>=g;)_++;_>v&&a.push([v+o,_+o])}}}),a}function Z(e,t,n,r){var i=ee(e,t,n,r),a=[].concat(e);return i.forEach(function(n,r){a[r]=(t.levels[n]&1?J(e[n]):null)||e[n]}),a.join(``)}function ee(e,t,n,r){for(var i=X(e,t,n,r),a=[],o=0;o<e.length;o++)a[o]=o;return i.forEach(function(e){for(var t=e[0],n=e[1],r=a.slice(t,n+1),i=r.length;i--;)a[n-i]=r[i]}),a}return e.closingToOpeningBracket=b,e.getBidiCharType=d,e.getBidiCharTypeName=f,e.getCanonicalBracket=x,e.getEmbeddingLevels=W,e.getMirroredCharacter=J,e.getMirroredCharactersMap=Y,e.getReorderSegments=X,e.getReorderedIndices=ee,e.getReorderedString=Z,e.openingToClosingBracket=y,Object.defineProperty(e,"__esModule",{value:!0}),e})({})}function Sj(e,t,n,r){let i=[],a=n;for(let o of rj(e.slice(n,r)))i.push({index:a,text:o,level:t[a]}),a+=o.length;return i}function Cj(e,t){let n=!0;for(let r=e.length-1;r>=0;r--){let i=VU.getBidiCharTypeName(e[r].text[0]);WU.has(i)?(e[r].level=t,n=!0):n&&UU.has(i)?e[r].level=t:n=!1}}function wj(e,t){let n=t,r=1/0;for(let{level:t}of e)t>n&&(n=t),(t|1)<r&&(r=t|1);let i=e.slice();for(let e=n;e>=r;e--)for(let t=0;t<i.length;t++){if(i[t].level<e)continue;let n=t;for(;n+1<i.length&&i[n+1].level>=e;)n++;for(let e=t,r=n;e<r;e++,r--)[i[e],i[r]]=[i[r],i[e]];t=n}return i}function Tj(e){return e.level%2==0?e.text:VU.getMirroredCharacter(e.text)??e.text}function Ej(e,t){return e.find(e=>t>=e.start&&t<=e.end)?.level??0}function Dj(e,t,n,r,i){let a=Sj(e,t,r,i);Cj(a,n);let o=``,s=[];for(let e of wj(a,n)){if(HU.test(e.text))continue;let t=Tj(e);o+=t,s.push(...Array(t.length).fill(e.index))}return{text:o,sourceIndices:s}}function Oj(e,t){let n=t.filter(t=>t>0&&t<e.length),r=[...new Set([0,...n,e.length])].sort((e,t)=>e-t),i=[];for(let e=0;e+1<r.length;e++)i.push([r[e],r[e+1]]);return i}function kj(e,t){let{levels:n,paragraphs:r}=VU.getEmbeddingLevels(e);return Oj(e,t.concat(r.map(e=>e.start))).map(([t,i])=>Dj(e,n,Ej(r,t),t,i))}function Aj(e,t){return kj(e,t).map(e=>e.text)}function jj(e,t,n){return kj(e,n).map(e=>[e.text,e.sourceIndices.map(e=>t[e]??0)])}function Mj(e,t,n){let r=n.buf,i,a;if(a=r[n.pos++],i=(a&112)>>4,a<128||(a=r[n.pos++],i|=(a&127)<<3,a<128)||(a=r[n.pos++],i|=(a&127)<<10,a<128)||(a=r[n.pos++],i|=(a&127)<<17,a<128)||(a=r[n.pos++],i|=(a&127)<<24,a<128)||(a=r[n.pos++],i|=(a&1)<<31,a<128))return Nj(e,i,t);throw Error(`Expected varint not more than 10 bytes`)}function Nj(e,t,n){return n?t*4294967296+(e>>>0):(t>>>0)*4294967296+(e>>>0)}function Pj(e,t,n){let r=``,i=t;for(;i<n;){let t=e[i],a=null,o=t>239?4:t>223?3:t>191?2:1;if(i+o>n)break;let s,c,l;o===1?t<128&&(a=t):o===2?(s=e[i+1],(s&192)==128&&(a=(t&31)<<6|s&63,a<=127&&(a=null))):o===3?(s=e[i+1],c=e[i+2],(s&192)==128&&(c&192)==128&&(a=(t&15)<<12|(s&63)<<6|c&63,(a<=2047||a>=55296&&a<=57343)&&(a=null))):o===4&&(s=e[i+1],c=e[i+2],l=e[i+3],(s&192)==128&&(c&192)==128&&(l&192)==128&&(a=(t&15)<<18|(s&63)<<12|(c&63)<<6|l&63,(a<=65535||a>=1114112)&&(a=null))),a===null?(a=65533,o=1):a>65535&&(a-=65536,r+=String.fromCharCode(a>>>10&1023|55296),a=56320|a&1023),r+=String.fromCharCode(a),i+=o}return r}function Fj(e,t,n){e===1&&n.readMessage(Ij,t)}function Ij(e,t,n){if(e===3){let{id:e,bitmap:r,width:i,height:a,left:o,top:s,advance:c}=n.readMessage(Lj,{});t.push({id:e,bitmap:new UV({width:i+6,height:a+6},r),metrics:{width:i,height:a,left:o,top:s,advance:c}})}}function Lj(e,t,n){e===1?t.id=n.readVarint():e===2?t.bitmap=n.readBytes():e===3?t.width=n.readVarint():e===4?t.height=n.readVarint():e===5?t.left=n.readSVarint():e===6?t.top=n.readSVarint():e===7&&(t.advance=n.readVarint())}function Rj(e){return new qU(e).readFields(Fj,[])}function zj(e){return typeof e?.renderWithWebGL==`function`}function Bj(e){let{userImage:t}=e;return!(t!=null&&t.render)||!t.render()?!1:(zj(t.data)||e.data.replace(new Uint8Array(t.data.buffer)),!0)}function Vj(e){let t=0,n=0;for(let r of e)t+=r.w*r.h,n=Math.max(n,r.w);e.sort((e,t)=>t.h-e.h);let r=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(t/.95)),n),h:1/0}],i=0,a=0;for(let t of e)for(let e=r.length-1;e>=0;e--){let n=r[e];if(!(t.w>n.w||t.h>n.h)){if(t.x=n.x,t.y=n.y,a=Math.max(a,t.y+t.h),i=Math.max(i,t.x+t.w),t.w===n.w&&t.h===n.h){let t=r.pop();t&&e<r.length&&(r[e]=t)}else t.h===n.h?(n.x+=t.w,n.w-=t.w):t.w===n.w?(n.y+=t.h,n.h-=t.h):(r.push({x:n.x+t.w,y:n.y,w:n.w-t.w,h:t.h}),n.y+=t.h,n.h-=t.h);break}}return{w:i,h:a,fill:t/(i*a)||0}}function Hj(e){for(let t of e)if(t.positionedGlyphs.length!==0)return!1;return!0}function Uj(e,t){let n=[],r=0;for(let i of t)n.push(e.substring(r,i)),r=i;return r<e.length()&&n.push(e.substring(r,e.length())),n}function Wj(e){let t=[],n=0;for(;n<e.length;){if(!ZU.test(e[n])){t.push(n),n++;continue}let r=n;for(;r<e.length&&ZU.test(e[r]);)r++;let i=e[r];if(i!==void 0&&fj(i.codePointAt(0))){t.push(r);for(let e=r-1;e>=n;e--)t.push(e);n=r+1}else{for(let e=n;e<r;e++)t.push(e);n=r}}return t}function Gj(e){let t=[],n=0;for(let r of e.graphemes())t.push(...Array(r.length).fill(e.sectionIndex[n])),n++;return t}function Kj(e,t){let n=t.map(t=>e.toCodeUnitIndex(t)),r=DU.isParsed()?DU:null;if(e.sections.length===1)return r?r.processBidirectionalText(e.toString(),n).map(t=>Yj(t,e.sections,[...t].map(()=>0))):Aj(e.toString(),n).map(t=>qj([...t],e.sections,[...t].map(()=>0)));let i=Gj(e);return r?r.processStyledBidirectionalText(e.text,i,n).map(([t,n])=>Yj(t,e.sections,n)):jj(e.text,i,n).map(([t,n])=>{let r=[...t];return qj(r,e.sections,Jj(r).map(e=>n[e]??0))})}function qj(e,t,n){let r=new BU(e.join(``),t,[]),i=0;for(let e of r.graphemes())r.sectionIndex.push(n[i]??0),i+=[...e].length;return r}function Jj(e){let t=[],n=0;for(let r of e)t.push(n),n+=r.length;return t}function Yj(e,t,n){let r=[...e],i=Jj(r),a=Wj(r);return qj(a.map(e=>r[e]),t,a.map(e=>n[i[e]]??0))}function Xj(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m){let h=BU.fromFeature(e,i);d===2&&h.verticalizePunctuation();let g=h.determineLineBreaks(l,a,t,r,p),_=pj(h.text)?Kj(h,g):Uj(h,g),v=[],y={positionedLines:v,text:h.toString(),top:u[1],bottom:u[1],left:u[0],right:u[0],writingMode:d,iconsInText:!1,verticalizable:!1};return lM(y,t,n,r,_,o,s,c,d,l,f,m),!Hj(v)&&y}function Zj(e){let t=.5,n=.5;switch(e){case`right`:case`top-right`:case`bottom-right`:t=1;break;case`left`:case`top-left`:case`bottom-left`:t=0}switch(e){case`bottom`:case`bottom-right`:case`bottom-left`:n=1;break;case`top`:case`top-right`:case`top-left`:n=0}return{horizontalAlign:t,verticalAlign:n}}function Qj(e,t,n){let r=t.getMaxScale()*24,{maxImageWidth:i,maxImageHeight:a}=t.getMaxImageSize(e),o=Math.max(r,a*n);return{verticalLineContentWidth:Math.max(r,i*n),horizontalLineContentHeight:o}}function $j(e){switch(e){case`top`:return 0;case`center`:return .5;default:return 1}}function eM(e,t,n,r){if(e!=null&&e.rect)return e;let i=t[n.fontStack]?.[r];return i?{rect:null,metrics:i.metrics}:null}function tM(e,t,n){return!(e===1||!t&&!RA(n)||t&&(oj(n)||dj(n)))}function nM(e){return RegExp(`\\p{Nd}`,`u`).test(String.fromCodePoint(e))}function rM(e){return RegExp(`\\p{Lu}`,`u`).test(String.fromCodePoint(e))}function iM(e){return/[\p{P}\p{S}]/u.test(String.fromCodePoint(e))}function aM(e){let t=e.some(nM)&&e.every(e=>nM(e)||iM(e)),n=e.length<=3&&e.every(e=>rM(e)||nM(e));return t||n}function oM(e){return(nM(e)||rM(e))&&!dj(e)}function sM(e,t){let n=!1;for(let r=0;r<e.length;r++){if(t[r])continue;let i=LU[e[r]];i&&(r===0||t[r-1])&&(r===e.length-1||t[r+1])&&(e[r]=i,t[r]=!0,n=!0)}return n}function cM(e){let t=e.graphemes().slice(),n=t.map(e=>e.codePointAt(0)),r=n.map(RA),i=t=>!r[t]&&!oj(n[t])&&!(`imageName`in e.getSection(t));for(let e=0;e<n.length;e++){if(!i(e))continue;let t=e;for(;t+1<n.length&&i(t+1);)t++;if(aM(n.slice(e,t+1)))for(let i=e;i<=t;i++)r[i]=oM(n[i]);e=t}return sM(t,r)&&(e.text=t.join(``),e._graphemes=null),r}function lM(e,t,n,r,i,a,o,s,c,l,u,d){var f;let p=0,m=0,h=0,g=0,_=s===`right`?1:s===`left`?0:.5,v=24/d,y=0;for(let o of i){o.trim();let i=o.getMaxScale(),s={positionedGlyphs:[],lineOffset:0};e.positionedLines[y]=s;let d=s.positionedGlyphs,b=0;if(!o.length()){m+=a,++y;continue}let x=Qj(r,o,v),S=c===2&&!u?cM(o):null,C=o.graphemes();for(let a=0;a<C.length;a++){let s=o.getSection(a),h=C[a],g=h.codePointAt(0),_=S?S[a]:tM(c,u,g),y=`fontStack`in s&&aj(h)&&!((f=t[s.fontStack])!=null&&f[h])?[...h]:[h];for(let c of y){let u={glyph:c.codePointAt(0),grapheme:c,imageName:null,x:p,y:m+-17,vertical:_,scale:1,fontStack:``,sectionIndex:o.getSectionIndex(a),metrics:null,rect:null},f;if(`fontStack`in s){if(f=uM(s,c,_,x,t,n),!f)continue;u.fontStack=s.fontStack}else{if(e.iconsInText=!0,s.scale*=v,f=dM(s,_,i,x,r),!f)continue;b=Math.max(b,f.imageOffset),u.imageName=s.imageName}let{rect:h,metrics:g,baselineOffset:y}=f;if(u.y+=y,u.scale=s.scale,u.metrics=g,u.rect=h,d.push(u),!_)p+=g.advance*s.scale+l;else{e.verticalizable=!0;let t=`imageName`in s?g.advance:24;p+=t*s.scale+l}}}if(d.length!==0){let e=p-l;h=Math.max(e,h),fM(d,0,d.length-1,_)}p=0;let w=(i-1)*24;s.lineOffset=Math.max(b,w);let T=a*i+b;m+=T,g=Math.max(T,g),++y}let{horizontalAlign:b,verticalAlign:x}=Zj(o);pM(e.positionedLines,_,b,x,h,g,a,m,i.length),e.top+=-x*m,e.bottom=e.top+m,e.left+=-b*h,e.right=e.left+h}function uM(e,t,n,r,i,a){let o=eM(a[e.fontStack]?.[t],i,e,t);if(o===null)return null;let s;if(n)s=r.verticalLineContentWidth-e.scale*24;else{let t=$j(e.verticalAlign);s=(r.horizontalLineContentHeight-e.scale*24)*t}return{rect:o.rect,metrics:o.metrics,baselineOffset:s}}function dM(e,t,n,r,i){let a=i[e.imageName];if(!a)return null;let o=a.paddedRect,s=a.displaySize,c={width:s[0],height:s[1],left:1,top:-3,advance:t?s[1]:s[0]},l;if(t)l=r.verticalLineContentWidth-s[1]*e.scale;else{let t=$j(e.verticalAlign);l=(r.horizontalLineContentHeight-s[1]*e.scale)*t}let u=(t?s[0]:s[1])*e.scale-24*n;return{rect:o,metrics:c,baselineOffset:l,imageOffset:u}}function fM(e,t,n,r){if(r===0)return;let i=e[n],a=i.metrics.advance*i.scale,o=(e[n].x+a)*r;for(let r=t;r<=n;r++)e[r].x-=o}function pM(e,t,n,r,i,a,o,s,c){let l=(t-n)*i,u=0;u=a===o?-r*c*o+.5*o:-s*r- -17;for(let t of e)for(let e of t.positionedGlyphs)e.x+=l,e.y+=u}function mM(e,t,n){let{horizontalAlign:r,verticalAlign:i}=Zj(n),a=t[0],o=t[1],s=a-e.displaySize[0]*r,c=s+e.displaySize[0],l=o-e.displaySize[1]*i;return{image:e,top:l,bottom:l+e.displaySize[1],left:s,right:c}}function hM(e){let t=e.left,n=e.top,r=e.right-t,i=e.bottom-n,a=e.image.content[2]-e.image.content[0],o=e.image.content[3]-e.image.content[1],s=e.image.textFitWidth??`stretchOrShrink`,c=e.image.textFitHeight??`stretchOrShrink`,l=a/o;if(c===`proportional`){if(s===`stretchOnly`&&r/i<l||s===`proportional`){let e=Math.ceil(i*l);t*=e/r,r=e}}else if(s===`proportional`&&c===`stretchOnly`&&l!==0&&r/i>l){let e=Math.ceil(r/l);n*=e/i,i=e}return{x1:t,y1:n,x2:t+r,y2:n+i}}function gM(e,t,n,r,i,a){let o=e.image,s;if(o.content){let e=o.content,t=o.pixelRatio||1;s=[e[0]/t,e[1]/t,o.displaySize[0]-e[2]/t,o.displaySize[1]-e[3]/t]}let c=t.left*a,l=t.right*a,u,d,f,p;n===`width`||n===`both`?(p=i[0]+c-r[3],d=i[0]+l+r[1]):(p=i[0]+(c+l-o.displaySize[0])/2,d=p+o.displaySize[0]);let m=t.top*a,h=t.bottom*a;return n===`height`||n===`both`?(u=i[1]+m-r[0],f=i[1]+h+r[2]):(u=i[1]+(m+h-o.displaySize[1])/2,f=u+o.displaySize[1]),{image:o,top:u,right:d,bottom:f,left:p,collisionPadding:s}}function _M(e,t){let{expression:n}=t;if(n.kind===`constant`)return{kind:`constant`,layoutSize:n.evaluate(new wz(e+1))};if(n.kind===`source`)return{kind:`source`};if(n.kind===`composite`){let{minZoom:t,maxZoom:r}=vM(n.zoomStops,e);return{kind:`composite`,minZoom:t,maxZoom:r,interpolationType:n.interpolationType}}{let t=yM(n),r=n.evaluate(new wz(e+1));return{kind:`camera`,zoomStops:n.zoomStops,sizes:t,layoutSize:r,interpolationType:n.interpolationType}}}function vM(e,t){let n=0;for(;n<e.length&&e[n]<=t;)n++;n=Math.max(0,n-1);let r=n;for(;r<e.length&&e[r]<t+1;)r++;return r=Math.min(e.length-1,r),{minZoom:e[n],maxZoom:e[r]}}function yM(e){return e.zoomStops.map(t=>e.evaluate(new wz(t===-1/0?e.zoomStops[1]-1:t)))}function bM(e,{uSize:t,uSizeT:n},{lowerSize:r,upperSize:i}){return e.kind===`source`?r/128:e.kind===`composite`?CR.number(r/128,i/128,n):t}function xM(e,t){let n=0,r=0;return e.kind===`constant`?r=e.layoutSize:e.kind===`camera`?r=SM(e,t):e.kind===`composite`&&(n=CM(e,t)),{uSizeT:n,uSize:r}}function SM({zoomStops:e,sizes:t,layoutSize:n,interpolationType:r},i){let a=e.length-1;for(;a>0&&e[a]>i;)a--;let o=Math.min(a+1,e.length-1),s=r?_C(SR.interpolationFactor(r,i,e[a],e[o]),0,1):0;return Math.min(CR.number(t[a],t[o],s),n)}function CM({interpolationType:e,minZoom:t,maxZoom:n},r){return e?_C(SR.interpolationFactor(e,r,t,n),0,1):0}function wM(e,t,n,r,i){if(t.segment===void 0||n===0)return!0;let a=t,o=t.segment+1,s=0;for(;s>-n/2;){if(o--,o<0)return!1;s-=e[o].dist(a),a=e[o]}s+=e[o].dist(e[o+1]),o++;let c=[],l=0;for(;s<n/2;){let t=e[o-1],n=e[o],a=e[o+1];if(!a)return!1;let u=t.angleTo(n)-n.angleTo(a);for(u=Math.abs((u+3*Math.PI)%(Math.PI*2)-Math.PI),c.push({distance:s,angleDelta:u}),l+=u;s-c[0].distance>r;)l-=c.shift().angleDelta;if(l>i)return!1;o++,s+=n.dist(a)}return!0}function TM(e){let t=0;for(let n=0;n<e.length-1;n++)t+=e[n].dist(e[n+1]);return t}function EM(e,t,n){return e?3/5*t*n:0}function DM(e,t){return Math.max(e?e.right-e.left:0,t?t.right-t.left:0)}function OM(e,t,n,r,i,a){let o=EM(n,i,a),s=DM(n,r)*a,c=0,l=TM(e)/2;for(let n=0;n<e.length-1;n++){let r=e[n],i=e[n+1],a=r.dist(i);if(c+a>l){let u=(l-c)/a,d=new $U(CR.number(r.x,i.x,u),CR.number(r.y,i.y,u),i.angleTo(r),n);return d._round(),!o||wM(e,d,s,o,t)?d:void 0}c+=a}}function kM(e,t,n,r,i,a,o,s,c){let l=EM(r,a,o),u=DM(r,i),d=u*o,f=e[0].x===0||e[0].x===c||e[0].y===0||e[0].y===c;t-d<t/4&&(t=d+t/4);let p=a*2;return AM(e,f?t/2*s%t:(u/2+p)*o*s%t,t,l,n,d,f,!1,c)}function AM(e,t,n,r,i,a,o,s,c){let l=a/2,u=TM(e),d=0,f=t-n,p=[];for(let t=0;t<e.length-1;t++){let o=e[t],s=e[t+1],m=o.dist(s),h=s.angleTo(o);for(;f+n<d+m;){f+=n;let g=(f-d)/m,_=CR.number(o.x,s.x,g),v=CR.number(o.y,s.y,g);if(_>=0&&_<c&&v>=0&&v<c&&f-l>=0&&f+l<=u){let n=new $U(_,v,h,t);n._round(),(!r||wM(e,n,a,r,i))&&p.push(n)}}d+=m}return!s&&!p.length&&!o&&(p=AM(e,d/2,n,r,i,a,o,!0,c)),p}function jM(e,t,n,r,i){let a=[];for(let o of e){let e;for(let s=0;s<o.length-1;s++){let c=o[s],l=o[s+1];c.x<t&&l.x<t||(c.x<t?c=new Vx(t,c.y+(l.y-c.y)*((t-c.x)/(l.x-c.x)))._round():l.x<t&&(l=new Vx(t,c.y+(l.y-c.y)*((t-c.x)/(l.x-c.x)))._round()),!(c.y<n&&l.y<n)&&(c.y<n?c=new Vx(c.x+(l.x-c.x)*((n-c.y)/(l.y-c.y)),n)._round():l.y<n&&(l=new Vx(c.x+(l.x-c.x)*((n-c.y)/(l.y-c.y)),n)._round()),!(c.x>=r&&l.x>=r)&&(c.x>=r?c=new Vx(r,c.y+(l.y-c.y)*((r-c.x)/(l.x-c.x)))._round():l.x>=r&&(l=new Vx(r,c.y+(l.y-c.y)*((r-c.x)/(l.x-c.x)))._round()),!(c.y>=i&&l.y>=i)&&(c.y>=i?c=new Vx(c.x+(l.x-c.x)*((i-c.y)/(l.y-c.y)),i)._round():l.y>=i&&(l=new Vx(c.x+(l.x-c.x)*((i-c.y)/(l.y-c.y)),i)._round()),(!e||!c.equals(e[e.length-1]))&&(e=[c],a.push(e)),e.push(l)))))}}return a}function MM(e,t,n,r){let i=[],a=e.image,o=a.pixelRatio,s=a.paddedRect.w-2,c=a.paddedRect.h-2,l={x1:e.left,y1:e.top,x2:e.right,y2:e.bottom},u=a.stretchX||[[0,s]],d=a.stretchY||[[0,c]],f=(e,t)=>e+t[1]-t[0],p=u.reduce(f,0),m=d.reduce(f,0),h=s-p,g=c-m,_=0,v=p,y=0,b=m,x=0,S=h,C=0,w=g;if(a.content&&r){let t=a.content,n=t[2]-t[0],r=t[3]-t[1];(a.textFitWidth||a.textFitHeight)&&(l=hM(e)),_=NM(u,0,t[0]),y=NM(d,0,t[1]),v=NM(u,t[0],t[2]),b=NM(d,t[1],t[3]),x=t[0]-_,C=t[1]-y,S=n-v,w=r-b}let T=l.x1,E=l.y1,D=l.x2-T,O=l.y2-E,k=(e,r,i,s)=>{let c=FM(e.stretch-_,v,D,T),l=IM(e.fixed-x,S,e.stretch,p),u=FM(r.stretch-y,b,O,E),d=IM(r.fixed-C,w,r.stretch,m),f=FM(i.stretch-_,v,D,T),h=IM(i.fixed-x,S,i.stretch,p),g=FM(s.stretch-y,b,O,E),k=IM(s.fixed-C,w,s.stretch,m),A=new Vx(c,u),j=new Vx(f,u),M=new Vx(f,g),N=new Vx(c,g),P=new Vx(l/o,d/o),F=new Vx(h/o,k/o),I=t*Math.PI/180;if(I){let e=Math.sin(I),t=Math.cos(I),n=[t,-e,e,t];A._matMult(n),j._matMult(n),N._matMult(n),M._matMult(n)}let L=e.stretch+e.fixed,R=i.stretch+i.fixed,z=r.stretch+r.fixed,B=s.stretch+s.fixed;return{tl:A,tr:j,bl:N,br:M,tex:{x:a.paddedRect.x+1+L,y:a.paddedRect.y+1+z,w:R-L,h:B-z},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:P,pixelOffsetBR:F,minFontScaleX:S/o/D,minFontScaleY:w/o/O,isSDF:n}};if(!r||!a.stretchX&&!a.stretchY)i.push(k({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:s+1},{fixed:0,stretch:c+1}));else{let e=PM(u,h,p),t=PM(d,g,m);for(let n=0;n<e.length-1;n++){let r=e[n],a=e[n+1];for(let e=0;e<t.length-1;e++){let n=t[e],o=t[e+1];i.push(k(r,n,a,o))}}}return i}function NM(e,t,n){let r=0;for(let i of e)r+=Math.max(t,Math.min(n,i[1]))-Math.max(t,Math.min(n,i[0]));return r}function PM(e,t,n){let r=[{fixed:-1,stretch:0}];for(let[t,n]of e){let e=r[r.length-1];r.push({fixed:t-e.stretch,stretch:e.stretch}),r.push({fixed:t-e.stretch,stretch:e.stretch+(n-t)})}return r.push({fixed:t+1,stretch:n}),r}function FM(e,t,n,r){return e/t*n+r}function IM(e,t,n,r){return e-t*n/r}function LM(e,t,n,r,i,a,o,s){let c=r.layout.get(`text-rotate`).evaluate(a,{})*Math.PI/180,l=[];for(let e of t.positionedLines)for(let r of e.positionedGlyphs){if(!r.rect)continue;let a=r.rect||{},u=4,d=!0,f=1,p=0,m=(i||s)&&r.vertical,h=r.metrics.advance*r.scale/2;if(s&&t.verticalizable){let t=(r.scale-1)*24,n=(24-r.metrics.width*r.scale)/2;p=e.lineOffset/2-(r.imageName?-n:t)}if(r.imageName){let e=o[r.imageName];d=e.sdf,f=e.pixelRatio,u=1/f}let g=i?[r.x+h,r.y]:[0,0],_=i?[0,0]:[r.x+h+n[0],r.y+n[1]-p],v=[0,0];m&&(v=_,_=[0,0]);let y=r.metrics.isDoubleResolution?2:1,b=(r.metrics.left-u)*r.scale-h+_[0],x=(-r.metrics.top-u)*r.scale+_[1],S=b+a.w/y*r.scale/f,C=x+a.h/y*r.scale/f,w=new Vx(b,x),T=new Vx(S,x),E=new Vx(b,C),D=new Vx(S,C);if(m){let e=new Vx(-h,h- -17),t=-Math.PI/2,n=12-h,i=r.imageName?n:0,a=new Vx(22-n,-i),o=new Vx(...v);w._rotateAround(t,e)._add(a)._add(o),T._rotateAround(t,e)._add(a)._add(o),E._rotateAround(t,e)._add(a)._add(o),D._rotateAround(t,e)._add(a)._add(o)}if(c){let e=Math.sin(c),t=Math.cos(c),n=[t,-e,e,t];w._matMult(n),T._matMult(n),E._matMult(n),D._matMult(n)}let O=new Vx(0,0),k=new Vx(0,0);l.push({tl:w,tr:T,bl:E,br:D,tex:a,writingMode:t.writingMode,glyphOffset:g,sectionIndex:r.sectionIndex,isSDF:d,pixelOffsetTL:O,pixelOffsetBR:k,minFontScaleX:0,minFontScaleY:0})}return l}function RM(e,t=1){let n=RH.fromPoints(e[0]),r=Math.min(n.width(),n.height()),i=r/2,a=new tW([],zM),{minX:o,minY:s,maxX:c,maxY:l}=n;if(r===0)return new Vx(o,s);for(let t=o;t<c;t+=r)for(let n=s;n<l;n+=r)a.push(new nW(t+i,n+i,i,e));let u=VM(e),d=u;for(;a.length;){let n=a.pop();(n.d>d.d||!d.d)&&(d=n),!(n.max-d.d<=t)&&(i=n.h/2,a.push(new nW(n.p.x-i,n.p.y-i,i,e)),a.push(new nW(n.p.x+i,n.p.y-i,i,e)),a.push(new nW(n.p.x-i,n.p.y+i,i,e)),a.push(new nW(n.p.x+i,n.p.y+i,i,e)))}return u.d>0&&d.d-u.d<=t?u.p:d.p}function zM(e,t){return t.max-e.max}function BM(e,t){let n=!1,r=1/0;for(let i of t)for(let t=0,a=i.length,o=a-1;t<a;o=t++){let a=i[t],s=i[o];a.y>e.y!=s.y>e.y&&e.x<(s.x-a.x)*(e.y-a.y)/(s.y-a.y)+a.x&&(n=!n),r=Math.min(r,FO(e,a,s))}return(n?1:-1)*Math.sqrt(r)}function VM(e){let t=0,n=0,r=0,i=e[0];for(let e=0,a=i.length,o=a-1;e<a;o=e++){let a=i[e],s=i[o],c=a.x*s.y-s.x*a.y;n+=(a.x+s.x)*c,r+=(a.y+s.y)*c,t+=c*3}return new nW(n/t,r/t,0,e)}function HM(e,t){function n(e,t){let n=0,r=0;t<0&&(t=0);let i=t/Math.SQRT2;switch(e){case`top-right`:case`top-left`:r=i-7;break;case`bottom-right`:case`bottom-left`:r=-i+7;break;case`bottom`:r=-t+7;break;case`top`:r=t-7}switch(e){case`top-right`:case`bottom-right`:n=-i;break;case`top-left`:case`bottom-left`:n=i;break;case`left`:n=t;break;case`right`:n=-t}return[n,r]}function r(e,t,n){let r=0,i=0;switch(t=Math.abs(t),n=Math.abs(n),e){case`top-right`:case`top-left`:case`top`:i=n-7;break;case`bottom-right`:case`bottom-left`:case`bottom`:i=-n+7}switch(e){case`top-right`:case`bottom-right`:case`right`:r=-t;break;case`top-left`:case`bottom-left`:case`left`:r=t}return[r,i]}return t[1]===iW?n(e,t[0]):r(e,t[0],t[1])}function UM(e,t,n){let r=e.layout,i=r.get(`text-variable-anchor-offset`)?.evaluate(t,{},n);if(i){let e=i.values,t=[];for(let n=0;n<e.length;n+=2){let r=t[n]=e[n],i=e[n+1].map(e=>e*24);r.startsWith(`top`)?i[1]-=7:r.startsWith(`bottom`)&&(i[1]+=7),t[n+1]=i}return new mR(t)}let a=r.get(`text-variable-anchor`);if(a){let i;i=e._unevaluatedLayout.getValue(`text-radial-offset`)===void 0?r.get(`text-offset`).evaluate(t,{},n).map(e=>e*24):[r.get(`text-radial-offset`).evaluate(t,{},n)*24,iW];let o=[];for(let e of a)o.push(e,HM(e,i));return new mR(o)}return null}function WM(e){var t,n;e.bucket.createArrays();let r=512*e.bucket.overscaling;e.bucket.tilePixelRatio=aL/r,e.bucket.compareText={},e.bucket.iconsNeedLinear=!1;let i=e.bucket.layers[0],a=i.layout,o=i._unevaluatedLayout._values,s={layoutIconSize:o[`icon-size`].possiblyEvaluate(new wz(e.bucket.zoom+1),e.canonical),layoutTextSize:o[`text-size`].possiblyEvaluate(new wz(e.bucket.zoom+1),e.canonical),textMaxSize:o[`text-size`].possiblyEvaluate(new wz(18))};if(e.bucket.textSizeData.kind===`composite`){let{minZoom:t,maxZoom:n}=e.bucket.textSizeData;s.compositeTextSizes=[o[`text-size`].possiblyEvaluate(new wz(t),e.canonical),o[`text-size`].possiblyEvaluate(new wz(n),e.canonical)]}if(e.bucket.iconSizeData.kind===`composite`){let{minZoom:t,maxZoom:n}=e.bucket.iconSizeData;s.compositeIconSizes=[o[`icon-size`].possiblyEvaluate(new wz(t),e.canonical),o[`icon-size`].possiblyEvaluate(new wz(n),e.canonical)]}let c=a.get(`text-line-height`)*24,l=a.get(`text-rotation-alignment`)!==`viewport`&&a.get(`symbol-placement`)!==`point`,u=a.get(`text-keep-upright`),d=a.get(`text-size`);for(let r of e.bucket.features){let o=a.get(`text-font`).evaluate(r,{},e.canonical).join(`,`),f=d.evaluate(r,{},e.canonical),p=s.layoutTextSize.evaluate(r,{},e.canonical),m=s.layoutIconSize.evaluate(r,{},e.canonical),h={horizontal:{},vertical:void 0},g=r.text,_=[0,0];if(g){let t=g.toString(),n=a.get(`text-letter-spacing`).evaluate(r,{},e.canonical)*24,s=cj(t)?n:0,d=a.get(`text-anchor`).evaluate(r,{},e.canonical),m=UM(i,r,e.canonical);if(!m){let t=a.get(`text-radial-offset`).evaluate(r,{},e.canonical);_=t?HM(d,[t*24,iW]):a.get(`text-offset`).evaluate(r,{},e.canonical).map(e=>e*24)}let v=l?`center`:a.get(`text-justify`).evaluate(r,{},e.canonical),y=a.get(`symbol-placement`)===`point`?a.get(`text-max-width`).evaluate(r,{},e.canonical)*24:1/0,b=()=>{e.bucket.allowVerticalPlacement&&sj(t)&&(h.vertical=Xj(g,e.glyphMap,e.glyphPositions,e.imagePositions,o,y,c,d,`left`,s,_,2,!0,p,f))};if(!l&&m){let t=new Set;if(v===`auto`)for(let e=0;e<m.values.length;e+=2)t.add(GM(m.values[e]));else t.add(v);let n=!1;for(let r of t)if(!h.horizontal[r]){if(n)h.horizontal[r]=h.horizontal[0];else{let t=Xj(g,e.glyphMap,e.glyphPositions,e.imagePositions,o,y,c,`center`,r,s,_,1,!1,p,f);t&&(h.horizontal[r]=t,n=t.positionedLines.length===1)}}b()}else{v===`auto`&&(v=GM(d));let n=Xj(g,e.glyphMap,e.glyphPositions,e.imagePositions,o,y,c,d,v,s,_,1,!1,p,f);n&&(h.horizontal[v]=n),b(),sj(t)&&l&&u&&(h.vertical=Xj(g,e.glyphMap,e.glyphPositions,e.imagePositions,o,y,c,d,v,s,_,2,!1,p,f))}}let v,y=!1;if((t=r.icon)!=null&&t.name){let t=e.imageMap[r.icon.name];t&&(v=mM(e.imagePositions[r.icon.name],a.get(`icon-offset`).evaluate(r,{},e.canonical),a.get(`icon-anchor`).evaluate(r,{},e.canonical)),y=!!t.sdf,e.bucket.sdfIcons===void 0?e.bucket.sdfIcons=y:e.bucket.sdfIcons!==y&&jC(`Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer`),t.pixelRatio===e.bucket.pixelRatio?a.get(`icon-rotate`).constantOr(1)!==0&&(e.bucket.iconsNeedLinear=!0):e.bucket.iconsNeedLinear=!0)}let b=YM(h.horizontal)||h.vertical;(n=e.bucket).iconsInText||(n.iconsInText=b?b.iconsInText:!1),(b||v)&&KM(e.bucket,r,h,v,e.imageMap,s,p,m,_,y,e.canonical,e.subdivisionGranularity)}e.showCollisionBoxes&&e.bucket.generateCollisionDebugBuffers()}function GM(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 KM(e,t,n,r,i,a,o,s,c,l,u,d){let f=a.textMaxSize.evaluate(t,{});f===void 0&&(f=o);let p=e.layers[0].layout,m=p.get(`icon-offset`).evaluate(t,{},u),h=YM(n.horizontal),g=o/24,_=e.tilePixelRatio*g,v=e.tilePixelRatio*f/24,y=e.tilePixelRatio*s,b=e.tilePixelRatio*p.get(`symbol-spacing`),x=p.get(`text-padding`)*e.tilePixelRatio,S=rN(p,t,u,e.tilePixelRatio),C=p.get(`text-max-angle`)/180*Math.PI,w=p.get(`text-rotation-alignment`)!==`viewport`&&p.get(`symbol-placement`)!==`point`,T=p.get(`icon-rotation-alignment`).constantOr(`viewport`)===`map`&&p.get(`symbol-placement`)!==`point`,E=p.get(`symbol-placement`),D=b/2,O=p.get(`icon-text-fit`),k;r&&O!==`none`&&(e.allowVerticalPlacement&&n.vertical&&(k=gM(r,n.vertical,O,p.get(`icon-text-fit-padding`),m,g)),h&&(r=gM(r,h,O,p.get(`icon-text-fit-padding`),m,g)));let A=u?d.line.getGranularityForZoomLevel(u.z):1,j=(s,d)=>{d.x<0||d.x>=8192||d.y<0||d.y>=8192||XM(e,d,s,n,r,i,k,e.layers[0],e.collisionBoxArray,t.index,t.sourceLayerIndex,e.index,_,[x,x,x,x],w,c,y,S,T,m,t,a,l,u,o)};if(E===`line`)for(let i of jM(t.geometry,0,0,aL,aL)){let t=Gk(i,A),a=kM(t,b,C,n.vertical||h,r,24,v,e.overscaling,aL);for(let n of a){let r=h;(!r||!ZM(e,r.text,D,n))&&j(t,n)}}else if(E===`line-center`){for(let e of t.geometry)if(e.length>1){let t=Gk(e,A),i=OM(t,C,n.vertical||h,r,24,v);i&&j(t,i)}}else if(t.type===`Polygon`)for(let e of Uw(t.geometry,0)){let t=RM(e,16);j(Gk(e[0],A,!0),new $U(t.x,t.y,0))}else if(t.type===`LineString`)for(let e of t.geometry){let t=Gk(e,A);j(t,new $U(t[0].x,t[0].y,0))}else if(t.type===`Point`)for(let e of t.geometry)for(let t of e)j([t],new $U(t.x,t.y,0))}function qM(e,t){let n=e.length,r=t?.values;if(r?.length>0)for(let t=0;t<r.length;t+=2){let n=rW[r[t]],i=r[t+1];e.emplaceBack(n,i[0],i[1])}return[n,e.length]}function JM(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){let g=LM(t,n,s,i,a,o,r,e.allowVerticalPlacement),_=e.textSizeData,v=null;_.kind===`source`?(v=[128*i.layout.get(`text-size`).evaluate(o,{})],v[0]>32640&&jC(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)):_.kind===`composite`&&(v=[128*m.compositeTextSizes[0].evaluate(o,{},h),128*m.compositeTextSizes[1].evaluate(o,{},h)],(v[0]>32640||v[1]>32640)&&jC(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)),e.addSymbols(e.text,g,v,s,a,o,u,t,l.lineStartIndex,l.lineLength,p,h,c);for(let t of d)f[t]=e.text.placedSymbolArray.length-1;return g.length*4}function YM(e){for(let t in e)return e[t];return null}function XM(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w){let T=e.addToLineVertexArray(t,n),E=s.layout.get(`symbol-height-offset`).evaluate(b,{},C);E>e.maxHeightOffset&&(e.maxHeightOffset=E);let D,O,k,A,j=0,M=0,N=0,P=0,F=-1,I=-1,L={},R=(0,oV.default)(``);if(e.allowVerticalPlacement&&r.vertical){let e=s.layout.get(`text-rotate`).evaluate(b,{},C)+90,n=r.vertical;k=new eW(c,t,l,u,d,n,f,p,m,e),o&&(A=new eW(c,t,l,u,d,o,g,_,m,e))}if(i){let n=s.layout.get(`icon-rotate`).evaluate(b,{}),r=s.layout.get(`icon-text-fit`)!==`none`,a=MM(i,n,S,r),f=o?MM(o,n,S,r):void 0;O=new eW(c,t,l,u,d,i,g,_,!1,n),j=a.length*4;let p=e.iconSizeData,m=null;p.kind===`source`?(m=[128*s.layout.get(`icon-size`).evaluate(b,{})],m[0]>32640&&jC(`${e.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)):p.kind===`composite`&&(m=[128*x.compositeIconSizes[0].evaluate(b,{},C),128*x.compositeIconSizes[1].evaluate(b,{},C)],(m[0]>32640||m[1]>32640)&&jC(`${e.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)),e.addSymbols(e.icon,a,m,y,v,b,0,t,T.lineStartIndex,T.lineLength,-1,C,E),F=e.icon.placedSymbolArray.length-1,f&&(M=f.length*4,e.addSymbols(e.icon,f,m,y,v,b,2,t,T.lineStartIndex,T.lineLength,-1,C,E),I=e.icon.placedSymbolArray.length-1)}let z=Object.keys(r.horizontal);for(let n of z){let i=r.horizontal[n];D||=(R=(0,oV.default)(i.text),new eW(c,t,l,u,d,i,f,p,m,s.layout.get(`text-rotate`).evaluate(b,{},C)));let o=i.positionedLines.length===1;if(N+=JM(e,t,i,a,s,m,b,h,E,T,r.vertical?1:3,o?z:[n],L,F,x,C),o)break}r.vertical&&(P+=JM(e,t,r.vertical,a,s,m,b,h,E,T,2,[`vertical`],L,I,x,C));let B=D?D.boxStartIndex:e.collisionBoxArray.length,V=D?D.boxEndIndex:e.collisionBoxArray.length,H=k?k.boxStartIndex:e.collisionBoxArray.length,U=k?k.boxEndIndex:e.collisionBoxArray.length,W=O?O.boxStartIndex:e.collisionBoxArray.length,G=O?O.boxEndIndex:e.collisionBoxArray.length,K=A?A.boxStartIndex:e.collisionBoxArray.length,q=A?A.boxEndIndex:e.collisionBoxArray.length,J=-1,Y=(e,t)=>e!=null&&e.circleDiameter?Math.max(e.circleDiameter,t):t;J=Y(D,J),J=Y(k,J),J=Y(O,J),J=Y(A,J);let X=+(J>-1);X&&(J*=w/24),e.glyphOffsetArray.length>=e.maxGlyphs&&jC(`Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907`),b.sortKey!==void 0&&e.addToSortKeyRanges(e.symbolInstances.length,b.sortKey);let Z=UM(s,b,C),[ee,te]=qM(e.textAnchorOffsets,Z);e.symbolInstances.emplaceBack(t.x,t.y,L.right>=0?L.right:-1,L.center>=0?L.center:-1,L.left>=0?L.left:-1,L.vertical||-1,F,I,R,B,V,H,U,W,G,K,q,l,N,P,j,M,X,0,f,J,ee,te,E)}function ZM(e,t,n,r){let i=e.compareText;if(!(t in i))i[t]=[];else{let e=i[t];for(let t=e.length-1;t>=0;t--)if(r.dist(e[t])<n)return!0}return i[t].push(r),!1}function QM(e,t,n){let r=`never`,i=e.get(t);return i?r=i:e.get(n)&&(r=`always`),r}function $M(e,t,n,r,i,a,o,s,c,l,u,d,f,p){let m=s?Math.min(QU,Math.round(s[0])):0,h=s?Math.min(QU,Math.round(s[1])):0;e.emplaceBack(t,n,Math.round(r*32),Math.round(i*32),a,o,(m<<1)+ +!!c,h,l*16,u*16,d*256,f*256,p)}function eN(e,t,n){e.emplaceBack(t.x,t.y,n),e.emplaceBack(t.x,t.y,n),e.emplaceBack(t.x,t.y,n),e.emplaceBack(t.x,t.y,n)}function tN(e){for(let t of e.sections)if(pj(t.text))return!0;return!1}function nN(e,t){return t.replace(/{([^{}]+)}/g,(t,n)=>e&&n in e?String(e[n]):``)}function rN(e,t,n,r=1){let i=e.get(`icon-padding`).evaluate(t,{},n)?.values;return[i[0]*r,i[1]*r,i[2]*r,i[3]*r]}function iN(e){let t=[],n=e.id;return n===void 0&&t.push(new jL(`layers.${n}`,null,`missing required property "id"`)),e.render===void 0&&t.push(new jL(`layers.${n}`,null,`missing required method "render"`)),e.renderingMode&&e.renderingMode!==`2d`&&e.renderingMode!==`3d`&&t.push(new jL(`layers.${n}`,null,`property "renderingMode" must be either "2d" or "3d"`)),t}function aN(e,t){if(e.type===`custom`)return new CW(e,t);switch(e.type){case`background`:return new xW(e,t);case`circle`:return new RV(e,t);case`color-relief`:return new oH(e,t);case`fill`:return new PH(e,t);case`fill-extrusion`:return new nU(e,t);case`heatmap`:return new qV(e,t);case`hillshade`:return new QV(e,t);case`line`:return new xU(e,t);case`raster`:return new qz(e,t);case`symbol`:return new gW(e,t)}}function oN(e,t,n){return!(e<0||e>25||n<0||n>=2**e||t<0||t>=2**e)}function sN(e,t){let{x:n,y:r}=KH.fromLngLat(t);return!(e<0||e>25||r<0||r>=1||n<0||n>=1)}function cN(e,t,n,r,i){e*=2,e<0&&(e=e*-1-1);let a=1<<n;return(a*a*e+a*i+r).toString(36)+n.toString(36)+t.toString(36)}function lN(e,t,n){t=2**n-t-1;let r=uN(e*256,t*256,n),i=uN((e+1)*256,(t+1)*256,n);return`${r[0]},${r[1]},${i[0]},${i[1]}`}function uN(e,t,n){let r=2*AW/256/2**n;return[e*r-AW,t*r-AW]}function dN(e,t,n){let r=``;for(let i=e;i>0;i--){let e=1<<i-1;r+=(t&e?1:0)+(n&e?2:0)}return r}function fN(e,t){let n=Math.abs(e.wrap*2)-+(e.wrap<0),r=Math.abs(t.wrap*2)-+(t.wrap<0);return e.overscaledZ-t.overscaledZ||r-n||t.canonical.y-e.canonical.y||t.canonical.x-e.canonical.x}function pN(e,t){return e-e%t}function mN(e){return pN(e+31,32)}function hN(e){if(!Number.isFinite(e)||e<=0)return ZW;let t=pN(Math.floor(e),256);return t===0?256:t}function gN(e){let t=e>>>0;return((t&255)<<24|(t&65280)<<8|t>>>8&65280|t>>>24&255)>>>0}function _N(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0;n[i++]=a>>>0&3,n[i++]=a>>>2&3,n[i++]=a>>>4&3,n[i++]=a>>>6&3,n[i++]=a>>>8&3,n[i++]=a>>>10&3,n[i++]=a>>>12&3,n[i++]=a>>>14&3,n[i++]=a>>>16&3,n[i++]=a>>>18&3,n[i++]=a>>>20&3,n[i++]=a>>>22&3,n[i++]=a>>>24&3,n[i++]=a>>>26&3,n[i++]=a>>>28&3,n[i++]=a>>>30&3,n[i++]=o>>>0&3,n[i++]=o>>>2&3,n[i++]=o>>>4&3,n[i++]=o>>>6&3,n[i++]=o>>>8&3,n[i++]=o>>>10&3,n[i++]=o>>>12&3,n[i++]=o>>>14&3,n[i++]=o>>>16&3,n[i++]=o>>>18&3,n[i++]=o>>>20&3,n[i++]=o>>>22&3,n[i++]=o>>>24&3,n[i++]=o>>>26&3,n[i++]=o>>>28&3,n[i]=o>>>30&3}function vN(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0;n[i++]=a>>>0&7,n[i++]=a>>>3&7,n[i++]=a>>>6&7,n[i++]=a>>>9&7,n[i++]=a>>>12&7,n[i++]=a>>>15&7,n[i++]=a>>>18&7,n[i++]=a>>>21&7,n[i++]=a>>>24&7,n[i++]=a>>>27&7,n[i++]=(a>>>30|(o&1)<<2)&7,n[i++]=o>>>1&7,n[i++]=o>>>4&7,n[i++]=o>>>7&7,n[i++]=o>>>10&7,n[i++]=o>>>13&7,n[i++]=o>>>16&7,n[i++]=o>>>19&7,n[i++]=o>>>22&7,n[i++]=o>>>25&7,n[i++]=o>>>28&7,n[i++]=(o>>>31|(s&3)<<1)&7,n[i++]=s>>>2&7,n[i++]=s>>>5&7,n[i++]=s>>>8&7,n[i++]=s>>>11&7,n[i++]=s>>>14&7,n[i++]=s>>>17&7,n[i++]=s>>>20&7,n[i++]=s>>>23&7,n[i++]=s>>>26&7,n[i]=s>>>29&7}function yN(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0;n[i++]=a>>>0&15,n[i++]=a>>>4&15,n[i++]=a>>>8&15,n[i++]=a>>>12&15,n[i++]=a>>>16&15,n[i++]=a>>>20&15,n[i++]=a>>>24&15,n[i++]=a>>>28&15,n[i++]=o>>>0&15,n[i++]=o>>>4&15,n[i++]=o>>>8&15,n[i++]=o>>>12&15,n[i++]=o>>>16&15,n[i++]=o>>>20&15,n[i++]=o>>>24&15,n[i++]=o>>>28&15,n[i++]=s>>>0&15,n[i++]=s>>>4&15,n[i++]=s>>>8&15,n[i++]=s>>>12&15,n[i++]=s>>>16&15,n[i++]=s>>>20&15,n[i++]=s>>>24&15,n[i++]=s>>>28&15,n[i++]=c>>>0&15,n[i++]=c>>>4&15,n[i++]=c>>>8&15,n[i++]=c>>>12&15,n[i++]=c>>>16&15,n[i++]=c>>>20&15,n[i++]=c>>>24&15,n[i]=c>>>28&15}function bN(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0;n[i++]=a>>>0&31,n[i++]=a>>>5&31,n[i++]=a>>>10&31,n[i++]=a>>>15&31,n[i++]=a>>>20&31,n[i++]=a>>>25&31,n[i++]=(a>>>30|(o&7)<<2)&31,n[i++]=o>>>3&31,n[i++]=o>>>8&31,n[i++]=o>>>13&31,n[i++]=o>>>18&31,n[i++]=o>>>23&31,n[i++]=(o>>>28|(s&1)<<4)&31,n[i++]=s>>>1&31,n[i++]=s>>>6&31,n[i++]=s>>>11&31,n[i++]=s>>>16&31,n[i++]=s>>>21&31,n[i++]=s>>>26&31,n[i++]=(s>>>31|(c&15)<<1)&31,n[i++]=c>>>4&31,n[i++]=c>>>9&31,n[i++]=c>>>14&31,n[i++]=c>>>19&31,n[i++]=c>>>24&31,n[i++]=(c>>>29|(l&3)<<3)&31,n[i++]=l>>>2&31,n[i++]=l>>>7&31,n[i++]=l>>>12&31,n[i++]=l>>>17&31,n[i++]=l>>>22&31,n[i]=l>>>27&31}function xN(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0;n[i++]=a>>>0&63,n[i++]=a>>>6&63,n[i++]=a>>>12&63,n[i++]=a>>>18&63,n[i++]=a>>>24&63,n[i++]=(a>>>30|(o&15)<<2)&63,n[i++]=o>>>4&63,n[i++]=o>>>10&63,n[i++]=o>>>16&63,n[i++]=o>>>22&63,n[i++]=(o>>>28|(s&3)<<4)&63,n[i++]=s>>>2&63,n[i++]=s>>>8&63,n[i++]=s>>>14&63,n[i++]=s>>>20&63,n[i++]=s>>>26&63,n[i++]=c>>>0&63,n[i++]=c>>>6&63,n[i++]=c>>>12&63,n[i++]=c>>>18&63,n[i++]=c>>>24&63,n[i++]=(c>>>30|(l&15)<<2)&63,n[i++]=l>>>4&63,n[i++]=l>>>10&63,n[i++]=l>>>16&63,n[i++]=l>>>22&63,n[i++]=(l>>>28|(u&3)<<4)&63,n[i++]=u>>>2&63,n[i++]=u>>>8&63,n[i++]=u>>>14&63,n[i++]=u>>>20&63,n[i]=u>>>26&63}function SN(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0;n[i++]=a>>>0&127,n[i++]=a>>>7&127,n[i++]=a>>>14&127,n[i++]=a>>>21&127,n[i++]=(a>>>28|(o&7)<<4)&127,n[i++]=o>>>3&127,n[i++]=o>>>10&127,n[i++]=o>>>17&127,n[i++]=o>>>24&127,n[i++]=(o>>>31|(s&63)<<1)&127,n[i++]=s>>>6&127,n[i++]=s>>>13&127,n[i++]=s>>>20&127,n[i++]=(s>>>27|(c&3)<<5)&127,n[i++]=c>>>2&127,n[i++]=c>>>9&127,n[i++]=c>>>16&127,n[i++]=c>>>23&127,n[i++]=(c>>>30|(l&31)<<2)&127,n[i++]=l>>>5&127,n[i++]=l>>>12&127,n[i++]=l>>>19&127,n[i++]=(l>>>26|(u&1)<<6)&127,n[i++]=u>>>1&127,n[i++]=u>>>8&127,n[i++]=u>>>15&127,n[i++]=u>>>22&127,n[i++]=(u>>>29|(d&15)<<3)&127,n[i++]=d>>>4&127,n[i++]=d>>>11&127,n[i++]=d>>>18&127,n[i]=d>>>25&127}function CN(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,f=e[t+7]>>>0;n[i++]=a>>>0&255,n[i++]=a>>>8&255,n[i++]=a>>>16&255,n[i++]=a>>>24&255,n[i++]=o>>>0&255,n[i++]=o>>>8&255,n[i++]=o>>>16&255,n[i++]=o>>>24&255,n[i++]=s>>>0&255,n[i++]=s>>>8&255,n[i++]=s>>>16&255,n[i++]=s>>>24&255,n[i++]=c>>>0&255,n[i++]=c>>>8&255,n[i++]=c>>>16&255,n[i++]=c>>>24&255,n[i++]=l>>>0&255,n[i++]=l>>>8&255,n[i++]=l>>>16&255,n[i++]=l>>>24&255,n[i++]=u>>>0&255,n[i++]=u>>>8&255,n[i++]=u>>>16&255,n[i++]=u>>>24&255,n[i++]=d>>>0&255,n[i++]=d>>>8&255,n[i++]=d>>>16&255,n[i++]=d>>>24&255,n[i++]=f>>>0&255,n[i++]=f>>>8&255,n[i++]=f>>>16&255,n[i]=f>>>24&255}function wN(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,f=e[t+7]>>>0,p=e[t+8]>>>0;n[i++]=a>>>0&511,n[i++]=a>>>9&511,n[i++]=a>>>18&511,n[i++]=(a>>>27|(o&15)<<5)&511,n[i++]=o>>>4&511,n[i++]=o>>>13&511,n[i++]=o>>>22&511,n[i++]=(o>>>31|(s&255)<<1)&511,n[i++]=s>>>8&511,n[i++]=s>>>17&511,n[i++]=(s>>>26|(c&7)<<6)&511,n[i++]=c>>>3&511,n[i++]=c>>>12&511,n[i++]=c>>>21&511,n[i++]=(c>>>30|(l&127)<<2)&511,n[i++]=l>>>7&511,n[i++]=l>>>16&511,n[i++]=(l>>>25|(u&3)<<7)&511,n[i++]=u>>>2&511,n[i++]=u>>>11&511,n[i++]=u>>>20&511,n[i++]=(u>>>29|(d&63)<<3)&511,n[i++]=d>>>6&511,n[i++]=d>>>15&511,n[i++]=(d>>>24|(f&1)<<8)&511,n[i++]=f>>>1&511,n[i++]=f>>>10&511,n[i++]=f>>>19&511,n[i++]=(f>>>28|(p&31)<<4)&511,n[i++]=p>>>5&511,n[i++]=p>>>14&511,n[i]=p>>>23&511}function TN(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,f=e[t+7]>>>0,p=e[t+8]>>>0,m=e[t+9]>>>0;n[i++]=a>>>0&1023,n[i++]=a>>>10&1023,n[i++]=a>>>20&1023,n[i++]=(a>>>30|(o&255)<<2)&1023,n[i++]=o>>>8&1023,n[i++]=o>>>18&1023,n[i++]=(o>>>28|(s&63)<<4)&1023,n[i++]=s>>>6&1023,n[i++]=s>>>16&1023,n[i++]=(s>>>26|(c&15)<<6)&1023,n[i++]=c>>>4&1023,n[i++]=c>>>14&1023,n[i++]=(c>>>24|(l&3)<<8)&1023,n[i++]=l>>>2&1023,n[i++]=l>>>12&1023,n[i++]=l>>>22&1023,n[i++]=u>>>0&1023,n[i++]=u>>>10&1023,n[i++]=u>>>20&1023,n[i++]=(u>>>30|(d&255)<<2)&1023,n[i++]=d>>>8&1023,n[i++]=d>>>18&1023,n[i++]=(d>>>28|(f&63)<<4)&1023,n[i++]=f>>>6&1023,n[i++]=f>>>16&1023,n[i++]=(f>>>26|(p&15)<<6)&1023,n[i++]=p>>>4&1023,n[i++]=p>>>14&1023,n[i++]=(p>>>24|(m&3)<<8)&1023,n[i++]=m>>>2&1023,n[i++]=m>>>12&1023,n[i]=m>>>22&1023}function EN(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,f=e[t+7]>>>0,p=e[t+8]>>>0,m=e[t+9]>>>0,h=e[t+10]>>>0;n[i++]=a>>>0&2047,n[i++]=a>>>11&2047,n[i++]=(a>>>22|(o&1)<<10)&2047,n[i++]=o>>>1&2047,n[i++]=o>>>12&2047,n[i++]=(o>>>23|(s&3)<<9)&2047,n[i++]=s>>>2&2047,n[i++]=s>>>13&2047,n[i++]=(s>>>24|(c&7)<<8)&2047,n[i++]=c>>>3&2047,n[i++]=c>>>14&2047,n[i++]=(c>>>25|(l&15)<<7)&2047,n[i++]=l>>>4&2047,n[i++]=l>>>15&2047,n[i++]=(l>>>26|(u&31)<<6)&2047,n[i++]=u>>>5&2047,n[i++]=u>>>16&2047,n[i++]=(u>>>27|(d&63)<<5)&2047,n[i++]=d>>>6&2047,n[i++]=d>>>17&2047,n[i++]=(d>>>28|(f&127)<<4)&2047,n[i++]=f>>>7&2047,n[i++]=f>>>18&2047,n[i++]=(f>>>29|(p&255)<<3)&2047,n[i++]=p>>>8&2047,n[i++]=p>>>19&2047,n[i++]=(p>>>30|(m&511)<<2)&2047,n[i++]=m>>>9&2047,n[i++]=m>>>20&2047,n[i++]=(m>>>31|(h&1023)<<1)&2047,n[i++]=h>>>10&2047,n[i]=h>>>21&2047}function DN(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,f=e[t+7]>>>0,p=e[t+8]>>>0,m=e[t+9]>>>0,h=e[t+10]>>>0,g=e[t+11]>>>0;n[i++]=a>>>0&4095,n[i++]=a>>>12&4095,n[i++]=(a>>>24|(o&15)<<8)&4095,n[i++]=o>>>4&4095,n[i++]=o>>>16&4095,n[i++]=(o>>>28|(s&255)<<4)&4095,n[i++]=s>>>8&4095,n[i++]=s>>>20&4095,n[i++]=c>>>0&4095,n[i++]=c>>>12&4095,n[i++]=(c>>>24|(l&15)<<8)&4095,n[i++]=l>>>4&4095,n[i++]=l>>>16&4095,n[i++]=(l>>>28|(u&255)<<4)&4095,n[i++]=u>>>8&4095,n[i++]=u>>>20&4095,n[i++]=d>>>0&4095,n[i++]=d>>>12&4095,n[i++]=(d>>>24|(f&15)<<8)&4095,n[i++]=f>>>4&4095,n[i++]=f>>>16&4095,n[i++]=(f>>>28|(p&255)<<4)&4095,n[i++]=p>>>8&4095,n[i++]=p>>>20&4095,n[i++]=m>>>0&4095,n[i++]=m>>>12&4095,n[i++]=(m>>>24|(h&15)<<8)&4095,n[i++]=h>>>4&4095,n[i++]=h>>>16&4095,n[i++]=(h>>>28|(g&255)<<4)&4095,n[i++]=g>>>8&4095,n[i]=g>>>20&4095}function ON(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,f=e[t+7]>>>0,p=e[t+8]>>>0,m=e[t+9]>>>0,h=e[t+10]>>>0,g=e[t+11]>>>0,_=e[t+12]>>>0,v=e[t+13]>>>0,y=e[t+14]>>>0,b=e[t+15]>>>0;n[i++]=a>>>0&65535,n[i++]=a>>>16&65535,n[i++]=o>>>0&65535,n[i++]=o>>>16&65535,n[i++]=s>>>0&65535,n[i++]=s>>>16&65535,n[i++]=c>>>0&65535,n[i++]=c>>>16&65535,n[i++]=l>>>0&65535,n[i++]=l>>>16&65535,n[i++]=u>>>0&65535,n[i++]=u>>>16&65535,n[i++]=d>>>0&65535,n[i++]=d>>>16&65535,n[i++]=f>>>0&65535,n[i++]=f>>>16&65535,n[i++]=p>>>0&65535,n[i++]=p>>>16&65535,n[i++]=m>>>0&65535,n[i++]=m>>>16&65535,n[i++]=h>>>0&65535,n[i++]=h>>>16&65535,n[i++]=g>>>0&65535,n[i++]=g>>>16&65535,n[i++]=_>>>0&65535,n[i++]=_>>>16&65535,n[i++]=v>>>0&65535,n[i++]=v>>>16&65535,n[i++]=y>>>0&65535,n[i++]=y>>>16&65535,n[i++]=b>>>0&65535,n[i]=b>>>16&65535}function kN(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0;n[i++]=t>>>0&1,n[i++]=t>>>1&1,n[i++]=t>>>2&1,n[i++]=t>>>3&1,n[i++]=t>>>4&1,n[i++]=t>>>5&1,n[i++]=t>>>6&1,n[i++]=t>>>7&1,n[i++]=t>>>8&1,n[i++]=t>>>9&1,n[i++]=t>>>10&1,n[i++]=t>>>11&1,n[i++]=t>>>12&1,n[i++]=t>>>13&1,n[i++]=t>>>14&1,n[i++]=t>>>15&1,n[i++]=t>>>16&1,n[i++]=t>>>17&1,n[i++]=t>>>18&1,n[i++]=t>>>19&1,n[i++]=t>>>20&1,n[i++]=t>>>21&1,n[i++]=t>>>22&1,n[i++]=t>>>23&1,n[i++]=t>>>24&1,n[i++]=t>>>25&1,n[i++]=t>>>26&1,n[i++]=t>>>27&1,n[i++]=t>>>28&1,n[i++]=t>>>29&1,n[i++]=t>>>30&1,n[i++]=t>>>31&1}}function AN(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0;n[i++]=t>>>0&3,n[i++]=t>>>2&3,n[i++]=t>>>4&3,n[i++]=t>>>6&3,n[i++]=t>>>8&3,n[i++]=t>>>10&3,n[i++]=t>>>12&3,n[i++]=t>>>14&3,n[i++]=t>>>16&3,n[i++]=t>>>18&3,n[i++]=t>>>20&3,n[i++]=t>>>22&3,n[i++]=t>>>24&3,n[i++]=t>>>26&3,n[i++]=t>>>28&3,n[i++]=t>>>30&3,n[i++]=r>>>0&3,n[i++]=r>>>2&3,n[i++]=r>>>4&3,n[i++]=r>>>6&3,n[i++]=r>>>8&3,n[i++]=r>>>10&3,n[i++]=r>>>12&3,n[i++]=r>>>14&3,n[i++]=r>>>16&3,n[i++]=r>>>18&3,n[i++]=r>>>20&3,n[i++]=r>>>22&3,n[i++]=r>>>24&3,n[i++]=r>>>26&3,n[i++]=r>>>28&3,n[i++]=r>>>30&3}}function jN(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0,o=e[a++]>>>0;n[i++]=t>>>0&7,n[i++]=t>>>3&7,n[i++]=t>>>6&7,n[i++]=t>>>9&7,n[i++]=t>>>12&7,n[i++]=t>>>15&7,n[i++]=t>>>18&7,n[i++]=t>>>21&7,n[i++]=t>>>24&7,n[i++]=t>>>27&7,n[i++]=(t>>>30|(r&1)<<2)&7,n[i++]=r>>>1&7,n[i++]=r>>>4&7,n[i++]=r>>>7&7,n[i++]=r>>>10&7,n[i++]=r>>>13&7,n[i++]=r>>>16&7,n[i++]=r>>>19&7,n[i++]=r>>>22&7,n[i++]=r>>>25&7,n[i++]=r>>>28&7,n[i++]=(r>>>31|(o&3)<<1)&7,n[i++]=o>>>2&7,n[i++]=o>>>5&7,n[i++]=o>>>8&7,n[i++]=o>>>11&7,n[i++]=o>>>14&7,n[i++]=o>>>17&7,n[i++]=o>>>20&7,n[i++]=o>>>23&7,n[i++]=o>>>26&7,n[i++]=o>>>29&7}}function MN(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0,o=e[a++]>>>0,s=e[a++]>>>0;n[i++]=t>>>0&15,n[i++]=t>>>4&15,n[i++]=t>>>8&15,n[i++]=t>>>12&15,n[i++]=t>>>16&15,n[i++]=t>>>20&15,n[i++]=t>>>24&15,n[i++]=t>>>28&15,n[i++]=r>>>0&15,n[i++]=r>>>4&15,n[i++]=r>>>8&15,n[i++]=r>>>12&15,n[i++]=r>>>16&15,n[i++]=r>>>20&15,n[i++]=r>>>24&15,n[i++]=r>>>28&15,n[i++]=o>>>0&15,n[i++]=o>>>4&15,n[i++]=o>>>8&15,n[i++]=o>>>12&15,n[i++]=o>>>16&15,n[i++]=o>>>20&15,n[i++]=o>>>24&15,n[i++]=o>>>28&15,n[i++]=s>>>0&15,n[i++]=s>>>4&15,n[i++]=s>>>8&15,n[i++]=s>>>12&15,n[i++]=s>>>16&15,n[i++]=s>>>20&15,n[i++]=s>>>24&15,n[i++]=s>>>28&15}}function NN(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0,o=e[a++]>>>0,s=e[a++]>>>0,c=e[a++]>>>0;n[i++]=t>>>0&31,n[i++]=t>>>5&31,n[i++]=t>>>10&31,n[i++]=t>>>15&31,n[i++]=t>>>20&31,n[i++]=t>>>25&31,n[i++]=(t>>>30|(r&7)<<2)&31,n[i++]=r>>>3&31,n[i++]=r>>>8&31,n[i++]=r>>>13&31,n[i++]=r>>>18&31,n[i++]=r>>>23&31,n[i++]=(r>>>28|(o&1)<<4)&31,n[i++]=o>>>1&31,n[i++]=o>>>6&31,n[i++]=o>>>11&31,n[i++]=o>>>16&31,n[i++]=o>>>21&31,n[i++]=o>>>26&31,n[i++]=(o>>>31|(s&15)<<1)&31,n[i++]=s>>>4&31,n[i++]=s>>>9&31,n[i++]=s>>>14&31,n[i++]=s>>>19&31,n[i++]=s>>>24&31,n[i++]=(s>>>29|(c&3)<<3)&31,n[i++]=c>>>2&31,n[i++]=c>>>7&31,n[i++]=c>>>12&31,n[i++]=c>>>17&31,n[i++]=c>>>22&31,n[i++]=c>>>27&31}}function PN(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0,o=e[a++]>>>0,s=e[a++]>>>0,c=e[a++]>>>0,l=e[a++]>>>0;n[i++]=t>>>0&63,n[i++]=t>>>6&63,n[i++]=t>>>12&63,n[i++]=t>>>18&63,n[i++]=t>>>24&63,n[i++]=(t>>>30|(r&15)<<2)&63,n[i++]=r>>>4&63,n[i++]=r>>>10&63,n[i++]=r>>>16&63,n[i++]=r>>>22&63,n[i++]=(r>>>28|(o&3)<<4)&63,n[i++]=o>>>2&63,n[i++]=o>>>8&63,n[i++]=o>>>14&63,n[i++]=o>>>20&63,n[i++]=o>>>26&63,n[i++]=s>>>0&63,n[i++]=s>>>6&63,n[i++]=s>>>12&63,n[i++]=s>>>18&63,n[i++]=s>>>24&63,n[i++]=(s>>>30|(c&15)<<2)&63,n[i++]=c>>>4&63,n[i++]=c>>>10&63,n[i++]=c>>>16&63,n[i++]=c>>>22&63,n[i++]=(c>>>28|(l&3)<<4)&63,n[i++]=l>>>2&63,n[i++]=l>>>8&63,n[i++]=l>>>14&63,n[i++]=l>>>20&63,n[i++]=l>>>26&63}}function FN(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0,o=e[a++]>>>0,s=e[a++]>>>0,c=e[a++]>>>0,l=e[a++]>>>0,u=e[a++]>>>0;n[i++]=t>>>0&127,n[i++]=t>>>7&127,n[i++]=t>>>14&127,n[i++]=t>>>21&127,n[i++]=(t>>>28|(r&7)<<4)&127,n[i++]=r>>>3&127,n[i++]=r>>>10&127,n[i++]=r>>>17&127,n[i++]=r>>>24&127,n[i++]=(r>>>31|(o&63)<<1)&127,n[i++]=o>>>6&127,n[i++]=o>>>13&127,n[i++]=o>>>20&127,n[i++]=(o>>>27|(s&3)<<5)&127,n[i++]=s>>>2&127,n[i++]=s>>>9&127,n[i++]=s>>>16&127,n[i++]=s>>>23&127,n[i++]=(s>>>30|(c&31)<<2)&127,n[i++]=c>>>5&127,n[i++]=c>>>12&127,n[i++]=c>>>19&127,n[i++]=(c>>>26|(l&1)<<6)&127,n[i++]=l>>>1&127,n[i++]=l>>>8&127,n[i++]=l>>>15&127,n[i++]=l>>>22&127,n[i++]=(l>>>29|(u&15)<<3)&127,n[i++]=u>>>4&127,n[i++]=u>>>11&127,n[i++]=u>>>18&127,n[i++]=u>>>25&127}}function IN(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0,o=e[a++]>>>0,s=e[a++]>>>0,c=e[a++]>>>0,l=e[a++]>>>0,u=e[a++]>>>0,d=e[a++]>>>0;n[i++]=t>>>0&255,n[i++]=t>>>8&255,n[i++]=t>>>16&255,n[i++]=t>>>24&255,n[i++]=r>>>0&255,n[i++]=r>>>8&255,n[i++]=r>>>16&255,n[i++]=r>>>24&255,n[i++]=o>>>0&255,n[i++]=o>>>8&255,n[i++]=o>>>16&255,n[i++]=o>>>24&255,n[i++]=s>>>0&255,n[i++]=s>>>8&255,n[i++]=s>>>16&255,n[i++]=s>>>24&255,n[i++]=c>>>0&255,n[i++]=c>>>8&255,n[i++]=c>>>16&255,n[i++]=c>>>24&255,n[i++]=l>>>0&255,n[i++]=l>>>8&255,n[i++]=l>>>16&255,n[i++]=l>>>24&255,n[i++]=u>>>0&255,n[i++]=u>>>8&255,n[i++]=u>>>16&255,n[i++]=u>>>24&255,n[i++]=d>>>0&255,n[i++]=d>>>8&255,n[i++]=d>>>16&255,n[i++]=d>>>24&255}}function LN(e,t,n,r){let i=r,a=t;for(let t=0;t<128;t++){let t=e[a++]>>>0;n[i++]=t&65535,n[i++]=t>>>16&65535}}function RN(e,t,n,r,i){let a=XW[i]>>>0,o=t,s=0,c=e[o]>>>0,l=r;for(let t=0;t<8;t++){for(let t=0;t<32;t++)if(s+i<=32){let r=c>>>s&a;n[l+t]=r|0,s+=i,s===32&&(s=0,o++,t!==31&&(c=e[o]>>>0))}else{let r=32-s,u=c>>>s;o++,c=e[o]>>>0;let d=i-r,f=-1>>>32-d>>>0,p=(u|(c&f)<<r)&a;n[l+t]=p|0,s=d}l+=32,s=0,t<7&&(c=e[o]>>>0)}}function zN(){let e=new Uint8Array($W);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 BN(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:zN()}}function VN(e,t){if(t<=e.encodedWords.length)return e.encodedWords;let n=new Uint32Array(Math.max(16,t*2));return e.encodedWords=n,n}function HN(e,t,n,r){r.byteContainer.length<n&&(r.byteContainer=new Uint8Array(n*2),r.byteContainerI32=void 0);let i=r.byteContainer,a=n>>>2;if(i.byteOffset&3)for(let n=0;n<a;n=n+1|0){let r=e[t+n|0]|0,a=n<<2;i[a]=r&255,i[a+1|0]=r>>>8&255,i[a+2|0]=r>>>16&255,i[a+3|0]=r>>>24&255}else{let n=r.byteContainerI32;(!n||n.buffer!==i.buffer||n.byteOffset!==i.byteOffset||n.length<a)&&(n=r.byteContainerI32=new Int32Array(i.buffer,i.byteOffset,i.byteLength>>>2)),n.set(e.subarray(t,t+a))}let o=n&3;if(o>0){let n=e[t+a|0]|0,r=a<<2;for(let e=0;e<o;e=e+1|0)i[r+e|0]=n>>>(e<<3)&255}return i}function UN(e,t,n){let r=e[t++]|0,i=n.dataToBePacked;for(let a=2;a<=32;a=a+1|0){if(!(r>>>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 o=e[t++]>>>0,s=mN(o),c=o*a+31>>>5;if(t+c>e.length)throw Error(`FastPFOR decode: truncated exception stream (bitWidth=${a}, size=${o}, streamWordIndex=${t}, needWords=${c}, availableWords=${e.length-t}, encodedWords=${e.length})`);let l=i[a];(!l||l.length<s)&&(l=i[a]=new Uint32Array(s));let u=0;for(;u<o;u=u+32|0)$N(e,t,l,u,a),t=t+a|0;let d=u-o|0;t=t-(d*a>>>5)|0,n.exceptionSizes[a]=o}return t}function WN(e,t,n,r,i){switch(i){case 1:kN(e,t,n,r);break;case 2:AN(e,t,n,r);break;case 3:jN(e,t,n,r);break;case 4:MN(e,t,n,r);break;case 5:NN(e,t,n,r);break;case 6:PN(e,t,n,r);break;case 7:FN(e,t,n,r);break;case 8:IN(e,t,n,r);break;case 16:LN(e,t,n,r);break;default:RN(e,t,n,r,i)}return t+(i<<3)|0}function GN(e,t,n,r){if(n+2>t)throw Error(`FastPFOR decode: byteContainer underflow at block=${r} (need 2 bytes for [bitWidth, exceptionCount], bytePos=${n}, byteSize=${t})`);let i=e[n++],a=e[n++];if(i>32)throw Error(`FastPFOR decode: invalid bitWidth=${i} at block=${r} (expected 0..32). This likely indicates corrupted or truncated input.`);return{bitWidth:i,exceptionCount:a,bytePosIn:n}}function KN(e,t,n,r,i,a){if(n+1>t)throw Error(`FastPFOR decode: exception header underflow at block=${a} (need 1 byte for maxBits, bytePos=${n}, byteSize=${t})`);let o=e[n++];if(o<r||o>32)throw Error(`FastPFOR decode: invalid maxBits=${o} at block=${a} (bitWidth=${r}, expected ${r}..32)`);let s=o-r|0;if(s<1||s>32)throw Error(`FastPFOR decode: invalid exceptionBitWidth=${s} at block=${a} (bitWidth=${r}, maxBits=${o})`);if(n+i>t)throw Error(`FastPFOR decode: exception positions underflow at block=${a} (need=${i}, have=${t-n})`);return{maxBits:o,exceptionBitWidth:s,bytePosIn:n}}function qN(e,t,n,r,i,a,o,s,c){let{maxBits:l,exceptionBitWidth:u,bytePosIn:d}=KN(i,a,o,n,r,c);if(o=d,u===1){let a=1<<n;for(let n=0;n<r;n=n+1|0){let n=i[o++];e[n+t|0]|=a}return o}let f=s.dataToBePacked[u];if(!f)throw Error(`FastPFOR decode: missing exception stream for exceptionBitWidth=${u} (bitWidth=${n}, maxBits=${l}) at block ${c}`);let p=s.dataPointers,m=p[u]|0,h=s.exceptionSizes[u]|0;if(m+r>h)throw Error(`FastPFOR decode: exception stream overflow for exceptionBitWidth=${u} (ptr=${m}, need ${r}, size=${h}) at block ${c}`);for(let a=0;a<r;a=a+1|0){let r=i[o++],a=f[m++]|0;e[r+t|0]|=a<<n}return p[u]=m,o}function JN(e,t,n,r,i,a,o,s,c,l){let u=n|0,d=0;for(let t=0;t<o;t=t+1|0){let n=GN(s,c,d,t);d=n.bytePosIn;let r=n.bitWidth,o=n.exceptionCount,f=a+t*256|0;switch(r){case 0:i.fill(0,f,f+256);break;case 32:for(let t=0;t<256;t=t+1|0)i[f+t|0]=e[u+t|0]|0;u=u+256|0;break;default:u=WN(e,u,i,f,r)}o>0&&(d=qN(i,f,r,o,s,c,d,l,t))}if(u!==r)throw Error(`FastPFOR decode: packed region mismatch (pageStart=${t}, packedStart=${n}, consumedPackedEnd=${u}, expectedPackedEnd=${r}, packedWords=${r-n}, encoded.length=${e.length})`)}function YN(e,t,n,r,i,a){let o=n|0,s=e[o]|0;if(s<=0||o+s>e.length-1)throw Error(`FastPFOR decode: invalid whereMeta=${s} at pageStart=${o} (expected > 0 and pageStart+whereMeta < encoded.length=${e.length})`);let c=o+1|0,l=o+s|0,u=e[l]>>>0,d=u+3>>>2,f=l+1,p=f+d;if(p>=e.length)throw Error(`FastPFOR decode: invalid byteSize=${u} (metaInts=${d}, pageStart=${o}, packedEnd=${l}, byteContainerStart=${f}) causes bitmapPos=${p} out of bounds (encoded.length=${e.length})`);let m=HN(e,f,u,a),h=u,g=UN(e,p,a);return a.dataPointers.fill(0),JN(e,o,c,l,t,r|0,i/256|0,m,h,a),g}function XN(e,t,n,r,i,a){let o=r+pN(i,256),s=r,c=n;for(;s!==o;){let n=Math.min(QW,o-s);c=YN(e,t,c,s,n,a),s=s+n|0}return c}function ZN(e,t,n,r,i,a){if(a===0)return t;let o=0,s=t,c=t+n,l=i,u=i,d=i+a,f=0,p=0;for(;s<c&&u<d;){let t=e[s]>>>o&255;if(o+=8,s+=o>>>5,o&=31,f|=(t&127)<<p,t&128)r[u++]=f|0,f=0,p=0;else if(p+=7,p>28)throw Error(`FastPFOR VByte: unterminated value (expected MSB=1 terminator within 5 bytes; shift=${p}, partial=${f}, decoded=${u-l}/${a}, inPos=${s}, inEnd=${c})`)}if(u!==d)throw Error(`FastPFOR VByte: truncated stream (decoded=${u-l}, expected=${a}, consumedWords=${s-t}/${n}, vbyteStart=${t}, vbyteEnd=${c})`);return s}function QN(e,t,n){let r=0,i=0,a=new Uint32Array(t),o=n??zN();if(e.length>0){let t=e[r]|0;if(r=r+1|0,t&255)throw Error(`FastPFOR decode: invalid alignedLength=${t} (expected multiple of 256)`);if(i+t>a.length)throw Error(`FastPFOR decode: output buffer too small (outPos=${i}, alignedLength=${t}, out.length=${a.length})`);r=XN(e,a,r,i,t,o),i=i+t|0}let s=e.length-r|0,c=t-i|0;return ZN(e,r,s,a,i,c),a}function $N(e,t,n,r,i){switch(i){case 2:_N(e,t,n,r);return;case 3:vN(e,t,n,r);return;case 4:yN(e,t,n,r);return;case 5:bN(e,t,n,r);return;case 6:xN(e,t,n,r);return;case 7:SN(e,t,n,r);return;case 8:CN(e,t,n,r);return;case 9:wN(e,t,n,r);return;case 10:TN(e,t,n,r);return;case 11:EN(e,t,n,r);return;case 12:DN(e,t,n,r);return;case 16:ON(e,t,n,r);return;case 32:for(let i=0;i<32;i=i+1|0)n[r+i|0]=e[t+i|0]|0;return}let a=XW[i]>>>0,o=t,s=0,c=e[o]>>>0;for(let t=0;t<32;t++)if(s+i<=32){let l=c>>>s&a;n[r+t]=l|0,s+=i,s===32&&(s=0,o++,t!==31&&(c=e[o]>>>0))}else{let l=32-s,u=c>>>s;o++,c=e[o]>>>0;let d=XW[i-l]>>>0,f=(u|(c&d)<<l)&a;n[r+t]=f|0,s=i-l}}function eP(e,t,n,r){if(t<0||n<0||t+n>e.length)throw RangeError(`decodeBigEndianInt32sInto: out of bounds (offset=${t}, byteLength=${n}, bytes.length=${e.length})`);let i=Math.floor(n/4),a=n%4!=0,o=a?i+1:i;if(r.length<o)throw RangeError(`decodeBigEndianInt32sInto: out.length=${r.length} < ${o}`);if(i>0){let n=e.byteOffset+t;if(n&3)for(let n=0;n<i;n++){let i=t+n*4;r[n]=e[i]<<24|e[i+1]<<16|e[i+2]<<8|e[i+3]|0}else{let t=new Uint32Array(e.buffer,n,i);for(let e=0;e<i;e++)r[e]=gN(t[e])|0}}if(a){let a=t+i*4,o=n-i*4,s=0;for(let t=0;t<o;t++)s|=e[a+t]<<24-t*8;r[i]=s|0}return o}function tP(e,t,n){let r=new Uint32Array(n),i=0,a=t.get();for(let t=0;t<r.length;t++){let t=e[a++],n=t&127;if(t<128){r[i++]=n;continue}if(t=e[a++],n|=(t&127)<<7,t<128){r[i++]=n;continue}if(t=e[a++],n|=(t&127)<<14,t<128){r[i++]=n;continue}if(t=e[a++],n|=(t&127)<<21,t<128){r[i++]=n;continue}t=e[a++],n|=(t&15)<<28,r[i++]=n}return t.set(a),r}function nP(e,t,n){let r=new BigUint64Array(n);for(let n=0;n<r.length;n++)r[n]=rP(e,t);return r}function rP(e,t){let n=BigInt(0),r=0,i=t.get();for(;i<e.length;){let t=e[i++];if(n|=BigInt(t&127)<<BigInt(r),!(t&128))break;if(r+=7,r>=64)throw Error(`Varint too long`)}return t.set(i),n}function iP(e,t,n){let r=new Float64Array(n);for(let i=0;i<n;i++)r[i]=aP(e,t);return r}function aP(e,t){let n,r;return r=e[t.get()],t.increment(),n=r&127,r<128||(r=e[t.get()],t.increment(),n|=(r&127)<<7,r<128)||(r=e[t.get()],t.increment(),n|=(r&127)<<14,r<128)||(r=e[t.get()],t.increment(),n|=(r&127)<<21,r<128)?n:(r=e[t.get()],n|=(r&15)<<28,oP(n,e,t))}function oP(e,t,n){let r,i;if(i=t[n.get()],n.increment(),r=(i&112)>>4,i<128||(i=t[n.get()],n.increment(),r|=(i&127)<<3,i<128)||(i=t[n.get()],n.increment(),r|=(i&127)<<10,i<128)||(i=t[n.get()],n.increment(),r|=(i&127)<<17,i<128)||(i=t[n.get()],n.increment(),r|=(i&127)<<24,i<128)||(i=t[n.get()],n.increment(),r|=(i&1)<<31,i<128))return r*4294967296+(e>>>0);throw Error(`Expected varint not more than 10 bytes`)}function sP(e,t,n,r){return cP(e,t,n,r,BN(n>>>2))}function cP(e,t,n,r,i){let a=r.get();if(n&3)throw Error(`FastPFOR: invalid encodedByteLength=${n} at offset=${a} (encodedBytes.length=${e.length}; expected a multiple of 4 bytes for an int32 big-endian word stream)`);let o=n>>>2,s=VN(i,o);eP(e,a,n,s);let c=QN(s.subarray(0,o),t,i.decoderWorkspace);return r.add(n),c}function lP(e){return e>>>1^-(e&1)}function uP(e){return e>>BigInt(1)^-(e&BigInt(1))}function dP(e){return e%2==1?(e+1)/-2:e/2}function fP(e){let t=new Int32Array(e.length);for(let n=0;n<e.length;n++)t[n]=lP(e[n]);return t}function pP(e){let t=new BigInt64Array(e.length);for(let n=0;n<e.length;n++)t[n]=uP(e[n]);return t}function mP(e){for(let t=0;t<e.length;t++)e[t]=dP(e[t])}function hP(e,t,n){if(n===void 0){n=0;for(let r=0;r<t;r++)n+=e[r]}let r=new Uint32Array(n),i=0;for(let n=0;n<t;n++){let a=e[n],o=e[n+t];r.fill(o,i,i+a),i+=a}return r}function gP(e,t,n){if(n===void 0){n=0;for(let r=0;r<t;r++)n+=Number(e[r])}let r=new BigUint64Array(n),i=0;for(let n=0;n<t;n++){let a=Number(e[n]),o=e[n+t];r.fill(o,i,i+a),i+=a}return r}function _P(e,t,n){let r=new Float64Array(n),i=0;for(let n=0;n<t;n++){let a=e[n],o=e[n+t];r.fill(o,i,i+a),i+=a}return r}function vP(e){let t=new Int32Array(e.length);t[0]=lP(e[0]);let n=e.length/4*4,r=1;if(n>=4)for(;r<n-4;r+=4){let n=e[r],i=e[r+1],a=e[r+2],o=e[r+3];t[r]=lP(n)+t[r-1],t[r+1]=lP(i)+t[r],t[r+2]=lP(a)+t[r+1],t[r+3]=lP(o)+t[r+2]}for(;r!==e.length;++r)t[r]=lP(e[r])+t[r-1];return t}function yP(e){let t=new BigInt64Array(e.length);t[0]=uP(e[0]);let n=e.length/4*4,r=1;if(n>=4)for(;r<n-4;r+=4){let n=e[r],i=e[r+1],a=e[r+2],o=e[r+3];t[r]=uP(n)+t[r-1],t[r+1]=uP(i)+t[r],t[r+2]=uP(a)+t[r+1],t[r+3]=uP(o)+t[r+2]}for(;r!==t.length;++r)t[r]=uP(e[r])+t[r-1];return t}function bP(e){e[0]=dP(e[0]);let t=e.length/4*4,n=1;if(t>=4)for(;n<t-4;n+=4){let t=e[n],r=e[n+1],i=e[n+2],a=e[n+3];e[n]=dP(t)+e[n-1],e[n+1]=dP(r)+e[n],e[n+2]=dP(i)+e[n+1],e[n+3]=dP(a)+e[n+2]}for(;n!==e.length;++n)e[n]=dP(e[n])+e[n-1]}function xP(e,t,n){if(n===void 0){n=0;for(let r=0;r<t;r++)n+=e[r]}let r=new Int32Array(n),i=0;for(let n=0;n<t;n++){let a=e[n],o=e[n+t];o=lP(o),r.fill(o,i,i+a),i+=a}return r}function SP(e,t,n){if(n===void 0){n=0;for(let r=0;r<t;r++)n+=Number(e[r])}let r=new BigInt64Array(n),i=0;for(let n=0;n<t;n++){let a=Number(e[n]),o=e[n+t];o=uP(o),r.fill(o,i,i+a),i+=a}return r}function CP(e,t,n){let r=new Float64Array(n),i=0;for(let n=0;n<t;n++){let a=e[n],o=e[n+t];o=dP(o),r.fill(o,i,i+a),i+=a}return r}function wP(e){let t=e.length/4*4,n=1;if(t>=4)for(let r=e[0];n<t-4;n+=4)r=e[n]+=r,r=e[n+1]+=r,r=e[n+2]+=r,r=e[n+3]+=r;for(;n!==e.length;)e[n]+=e[n-1],++n}function TP(e){let t=0;for(let n=0;n<e.length;n++)e[n]+=t,t=e[n]}function EP(e){if(e.length<2)return new Int32Array(e);let t=new Int32Array(e.length);t[0]=lP(e[0]),t[1]=lP(e[1]);let n=e.length/4*4,r=2;if(n>=4)for(;r<n-4;r+=4){let n=e[r],i=e[r+1],a=e[r+2],o=e[r+3];t[r]=lP(n)+t[r-2],t[r+1]=lP(i)+t[r-1],t[r+2]=lP(a)+t[r],t[r+3]=lP(o)+t[r+1]}for(;r!==e.length;r+=2)t[r]=lP(e[r])+t[r-2],t[r+1]=lP(e[r+1])+t[r-1];return t}function DP(e,t,n,r){if(e.length<2)return new Int32Array(e);let i=new Int32Array(e.length),a=lP(e[0]),o=lP(e[1]);i[0]=OP(Math.round(a*t),n,r),i[1]=OP(Math.round(o*t),n,r);let s=e.length/16,c=2;if(s>=4)for(;c<s-4;c+=4){let s=e[c],l=e[c+1],u=lP(s)+a,d=lP(l)+o;i[c]=OP(Math.round(u*t),n,r),i[c+1]=OP(Math.round(d*t),n,r);let f=e[c+2],p=e[c+3];a=lP(f)+u,o=lP(p)+d,i[c+2]=OP(Math.round(a*t),n,r),i[c+3]=OP(Math.round(o*t),n,r)}for(;c!==e.length;c+=2)a+=lP(e[c]),o+=lP(e[c+1]),i[c]=OP(Math.round(a*t),n,r),i[c+1]=OP(Math.round(o*t),n,r);return i}function OP(e,t,n){return Math.min(n,Math.max(t,e))}function kP(e){let t=new Int32Array(e.length+1);t[0]=0,t[1]=lP(e[0]);let n=t[1];for(let r=2;r!==t.length;++r){let i=e[r-1],a=lP(i);n+=a,t[r]=t[r-1]+n}return new Uint32Array(t)}function AP(e,t,n){let r=new Int32Array(n+1);r[0]=0;let i=1,a=r[0];for(let n=0;n<t;n++){let o=e[n],s=e[n+t];s=lP(s);for(let e=i;e<i+o;e++)r[e]=s+a,a=r[e];i+=o}return r}function jP(e,t,n){let r=new Uint32Array(n+1);r[0]=0;let i=1,a=r[0];for(let n=0;n<t;n++){let o=e[n],s=e[n+t];for(let e=i;e<i+o;e++)r[e]=s+a,a=r[e];i+=o}return r}function MP(e,t,n){let r=new Int32Array(n),i=0,a=0;for(let n=0;n<t;n++){let o=e[n],s=e[n+t],c=lP(s);for(let e=0;e<o;e++)a+=c,r[i++]=a}return r}function NP(e,t,n){let r=new BigInt64Array(n),i=0,a=BigInt(0);for(let n=0;n<t;n++){let o=Number(e[n]),s=e[n+t],c=uP(s);for(let e=0;e<o;e++)a+=c,r[i++]=a}return r}function PP(e){let t=new Uint32Array(e.length);t[0]=lP(e[0])>>>0;for(let n=1;n<e.length;n++)t[n]=t[n-1]+lP(e[n])>>>0;return t}function FP(e){let t=new BigUint64Array(e.length);t[0]=BigInt.asUintN(64,uP(e[0]));for(let n=1;n<e.length;n++)t[n]=BigInt.asUintN(64,t[n-1]+uP(e[n]));return t}function IP(e){if(e.length<2)return new Uint32Array(e);let t=new Uint32Array(e.length);t[0]=lP(e[0])>>>0,t[1]=lP(e[1])>>>0;for(let n=2;n<e.length;n+=2)t[n]=t[n-2]+lP(e[n])>>>0,t[n+1]=t[n-1]+lP(e[n+1])>>>0;return t}function LP(e,t,n,r){let i=DP(e,t,n,r);return new Uint32Array(i)}function RP(e){return e[1]}function zP(e){return lP(e[1])}function BP(e){if(e.length===2){let t=lP(e[1]);return[t,t]}return[lP(e[2]),lP(e[3])]}function VP(e){return e[1]}function HP(e){return uP(e[1])}function UP(e){if(e.length===2){let t=uP(e[1]);return[t,t]}return[uP(e[2]),uP(e[3])]}function WP(e,t){let n=qP(e,t);return n.logicalLevelTechnique1===qW.MORTON?GP(n,e,t):(qW.RLE===n.logicalLevelTechnique1||qW.RLE===n.logicalLevelTechnique2)&&JW.NONE!==n.physicalLevelTechnique?KP(n,e,t):n}function GP(e,t,n){let r=tP(t,n,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:r[0],coordinateShift:r[1]}}function KP(e,t,n){let r=tP(t,n,2);return{physicalStreamType:e.physicalStreamType,logicalStreamType:e.logicalStreamType,logicalLevelTechnique1:e.logicalLevelTechnique1,logicalLevelTechnique2:e.logicalLevelTechnique2,physicalLevelTechnique:e.physicalLevelTechnique,numValues:e.numValues,byteLength:e.byteLength,decompressedCount:r[1],runs:r[0],numRleValues:r[1]}}function qP(e,t){let n=e[t.get()],r=iG[n>>4],i={};switch(r){case eG.DATA:i={dictionaryType:sG[n&15]};break;case eG.OFFSET:i={offsetType:cG[n&15]};break;case eG.LENGTH:i={lengthType:lG[n&15]}}t.increment();let a=e[t.get()],o=aG[a>>5],s=aG[a>>2&7],c=oG[a&3];t.increment();let l=tP(e,t,2),u=l[0],d=l[1];return{physicalStreamType:r,logicalStreamType:i,logicalLevelTechnique1:o,logicalLevelTechnique2:s,physicalLevelTechnique:c,numValues:u,byteLength:d,decompressedCount:u}}function JP(e,t,n){if(!t)return e;let r=t.size(),i=e.constructor,a=new i(r),o=0;for(let i=0;i<r;i++)a[i]=t.get(i)?e[o++]:n;return a}function YP(e,t,n){if(!n)return e;let r=n.size(),i=new dG(e,t),a=new dG(new Uint8Array(Math.ceil(r/8)),r),o=0;for(let e=0;e<r;e++){let t=n.get(e)?i.get(o++):!1;a.set(e,t)}return a.getBuffer()}function XP(e,t,n){for(let r=0;r<e;r++){let e=WP(t,n);n.add(e.byteLength)}}function ZP(e,t,n,r,i){let a=QP(e,Math.ceil(t/8),n,r);return i?YP(a,t,i):a}function QP(e,t,n,r){let i=new Uint8Array(t),a=0,o=r.get()+n;for(;a<t&&!(r.get()>=o);){let n=e[r.increment()];if(n<=127){let o=n+3,s=e[r.increment()],c=Math.min(a+o,t);i.fill(s,a,c),a=c}else{let o=256-n;for(let n=0;n<o&&a<t;n++)i[a++]=e[r.increment()]}}return r.set(o),i}function $P(e,t,n,r){let i=t.get(),a=i+n*Float32Array.BYTES_PER_ELEMENT,o=new Uint8Array(e.subarray(i,a)).buffer,s=new Float32Array(o);return t.set(a),r?JP(s,r,0):s}function eF(e,t,n,r){let i=t.get(),a=i+n*Float64Array.BYTES_PER_ELEMENT,o=new Uint8Array(e.subarray(i,a)).buffer,s=new Float64Array(o);return t.set(a),r?JP(s,r,0):s}function tF(e,t,n){let r=t.get(),i=n*Uint32Array.BYTES_PER_ELEMENT,a=new DataView(e.buffer,e.byteOffset,e.byteLength),o=new Uint32Array(n);for(let e=0;e<n;e++)o[e]=a.getUint32(r+e*Uint32Array.BYTES_PER_ELEMENT,!0);return t.add(i),o}function nF(e,t,n){let r=t.get(),i=n*BigUint64Array.BYTES_PER_ELEMENT,a=new DataView(e.buffer,e.byteOffset,e.byteLength),o=new BigUint64Array(n);for(let e=0;e<n;e++)o[e]=a.getBigUint64(r+e*BigUint64Array.BYTES_PER_ELEMENT,!0);return t.add(i),o}function rF(e,t,n){return n-t>=12?fG.decode(e.subarray(t,n)):iF(e,t,n)}function iF(e,t,n){let r=``,i=t;for(;i<n;){let t=e[i],a=null,o=t>239?4:t>223?3:t>191?2:1;if(i+o>n)break;let s,c,l;o===1?t<128&&(a=t):o===2?(s=e[i+1],(s&192)==128&&(a=(t&31)<<6|s&63,a<=127&&(a=null))):o===3?(s=e[i+1],c=e[i+2],(s&192)==128&&(c&192)==128&&(a=(t&15)<<12|(s&63)<<6|c&63,(a<=2047||a>=55296&&a<=57343)&&(a=null))):o===4&&(s=e[i+1],c=e[i+2],l=e[i+3],(s&192)==128&&(c&192)==128&&(l&192)==128&&(a=(t&15)<<18|(s&63)<<12|(c&63)<<6|l&63,(a<=65535||a>=1114112)&&(a=null))),a===null?(a=65533,o=1):a>65535&&(a-=65536,r+=String.fromCharCode(a>>>10&1023|55296),a=56320|a&1023),r+=String.fromCharCode(a),i+=o}return r}function aF(e,t,n,r,i){return bF(cF(e,t,n),n,r,i)}function oF(e,t,n,r,i){return xF(cF(e,t,n),n,r,i)}function sF(e,t,n){return TF(cF(e,t,n),n)}function cF(e,t,n){let r=n.physicalLevelTechnique;switch(r){case JW.FAST_PFOR:return sP(e,n.numValues,n.byteLength,t);case JW.VARINT:return tP(e,t,n.numValues);case JW.NONE:return tF(e,t,n.numValues);default:throw Error(`Specified physicalLevelTechnique ${r} is not supported (yet).`)}}function lF(e,t,n){let r=n.physicalLevelTechnique;switch(r){case JW.VARINT:return nP(e,t,n.numValues);case JW.NONE:return nF(e,t,n.numValues);default:throw Error(`Specified physicalLevelTechnique ${r} is not supported (yet).`)}}function uF(e,t,n){let r=cF(e,t,n);return r.length===1?lP(r[0]):zP(r)}function dF(e,t,n){let r=cF(e,t,n);return r.length===1?n.logicalLevelTechnique1===qW.DELTA?lP(r[0]):r[0]:RP(r)}function fF(e,t,n){return BP(cF(e,t,n))}function pF(e,t,n){return UP(nP(e,t,n.numValues))}function mF(e,t,n,r){return SF(lF(e,t,n),n,r)}function hF(e,t,n,r){return CF(lF(e,t,n),n,r)}function gF(e,t,n,r){let i=_F(e,t,n,!1);return r?JP(i,r,0):i}function _F(e,t,n,r){if(n.physicalLevelTechnique===JW.VARINT)return wF(iP(e,t,n.numValues),n,r);let i=lF(e,t,n),a=r?SF(i,n):CF(i,n);return Float64Array.from(a,Number)}function vF(e,t,n){let r=lF(e,t,n);return r.length===1?uP(r[0]):HP(r)}function yF(e,t,n){let r=lF(e,t,n);return r.length===1?n.logicalLevelTechnique1===qW.DELTA?uP(r[0]):r[0]:VP(r)}function bF(e,t,n,r){let i;switch(t.logicalLevelTechnique1){case qW.DELTA:if(t.logicalLevelTechnique2===qW.RLE){let n=t;if(!r)return MP(e,n.runs,n.numRleValues);e=hP(e,n.runs,n.numRleValues),i=vP(e)}else i=vP(e);break;case qW.RLE:i=xP(e,t.runs,t.numRleValues);break;case qW.MORTON:wP(e),i=new Int32Array(e);break;case qW.COMPONENTWISE_DELTA:if(n&&!r)return DP(e,n.scale,n.min,n.max);i=EP(e);break;case qW.NONE:i=fP(e);break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return r?JP(i,r,0):i}function xF(e,t,n,r){let i;switch(t.logicalLevelTechnique1){case qW.DELTA:if(t.logicalLevelTechnique2===qW.RLE){let n=t;i=PP(hP(e,n.runs,n.numRleValues))}else i=PP(e);break;case qW.RLE:i=hP(e,t.runs,t.numRleValues);break;case qW.MORTON:wP(e),i=e;break;case qW.COMPONENTWISE_DELTA:i=n&&!r?LP(e,n.scale,n.min,n.max):IP(e);break;case qW.NONE:i=e;break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return r?JP(i,r,0):i}function SF(e,t,n){let r;switch(t.logicalLevelTechnique1){case qW.DELTA:if(t.logicalLevelTechnique2===qW.RLE){let i=t;if(!n)return NP(e,i.runs,i.numRleValues);e=gP(e,i.runs,i.numRleValues),r=yP(e)}else r=yP(e);break;case qW.RLE:r=SP(e,t.runs,t.numRleValues);break;case qW.NONE:r=pP(e);break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return n?JP(r,n,BigInt(0)):r}function CF(e,t,n){let r;switch(t.logicalLevelTechnique1){case qW.DELTA:if(t.logicalLevelTechnique2===qW.RLE){let n=t;r=FP(gP(e,n.runs,n.numRleValues))}else r=FP(e);break;case qW.RLE:r=gP(e,t.runs,t.numRleValues);break;case qW.NONE:r=e;break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return n?JP(r,n,BigInt(0)):r}function wF(e,t,n){switch(t.logicalLevelTechnique1){case qW.DELTA:if(t.logicalLevelTechnique2===qW.RLE){let n=t;e=_P(e,n.runs,n.numRleValues)}return bP(e),e;case qW.RLE:return OF(e,t,n);case qW.NONE:return n&&mP(e),e;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}}function TF(e,t){if(t.logicalLevelTechnique1===qW.DELTA&&t.logicalLevelTechnique2===qW.NONE)return kP(e);if(t.logicalLevelTechnique1===qW.RLE&&t.logicalLevelTechnique2===qW.NONE){let n=t;return jP(e,n.runs,n.numRleValues)}if(t.logicalLevelTechnique1===qW.NONE&&t.logicalLevelTechnique2===qW.NONE){TP(e);let n=new Uint32Array(t.numValues+1);return n[0]=0,n.set(e,1),n}if(t.logicalLevelTechnique1===qW.DELTA&&t.logicalLevelTechnique2===qW.RLE){let n=t,r=AP(e,n.runs,n.numRleValues);return wP(r),new Uint32Array(r)}throw Error(`Only delta encoding is supported for transforming length to offset streams yet.`)}function EF(e,t,n,r,i=`int32`){let a=e.logicalLevelTechnique1;if(a===qW.RLE)return e.runs===1?uG.CONST:uG.FLAT;if(a!==qW.DELTA||e.logicalLevelTechnique2!==qW.RLE)return e.numValues===1?uG.CONST:uG.FLAT;let o=t instanceof dG?t.size():t,s=e;if(s.numRleValues!==o)return uG.FLAT;if(s.runs===1)return uG.SEQUENCE;if(s.runs!==2)return e.numValues===1?uG.CONST:uG.FLAT;let c=r.get();if(e.physicalLevelTechnique===JW.VARINT)return DF(n,r,i)?uG.SEQUENCE:e.numValues===1?uG.CONST:uG.FLAT;let l=r.get(),u=new Int32Array(n.buffer,n.byteOffset+l,4);return r.set(c),u[2]===2&&u[3]===2?uG.SEQUENCE:e.numValues===1?uG.CONST:uG.FLAT}function DF(e,t,n){let r=new KW(t.get());if(n===`int64`){let t=nP(e,r,4);return t[2]===BigInt(2)&&t[3]===BigInt(2)}let i=tP(e,r,4);return i[2]===2&&i[3]===2}function OF(e,t,n){return n?CP(e,t.runs,t.numRleValues):_P(e,t.runs,t.numRleValues)}function kF(e,t,n){return{x:AF(e,t)-n,y:AF(e>>1,t)-n}}function AF(e,t){let n=0;for(let r=0;r<t;r++)n|=(e&1<<2*r)>>r;return n}function jF(e){let t=Array(e.numGeometries),n=1,r=1,i=1,a=0,o=0,s=0,c=e.mortonSettings,l=e.topologyVector,u=l.geometryOffsets,d=l.partOffsets,f=l.ringOffsets,p=e.vertexOffsets,m=!p||p.length===0,h=e.containsPolygonGeometry(),g=e.vertexBuffer;for(let l=0;l<e.numGeometries;l++){let _=e.geometryType(l);switch(_){case hG.POINT:{let l,h;if(m)l=g[o++],h=g[o++];else if(e.vertexBufferType===_G.MORTON){let e=g[p[s++]],t=kF(e,c.numBits,c.coordinateShift);l=t.x,h=t.y}else{let e=p[s++]*2;l=g[e],h=g[e+1]}t[a++]=[[new Vx(l,h)]],u&&i++,d&&n++,f&&r++}break;case hG.MULTIPOINT:{let l=u[i]-u[i-1];i++;let d;if(m){d=Array(l);for(let e=0;e<l;e++){let t=g[o++],n=g[o++];d[e]=new Vx(t,n)}}else d=MF(e.vertexBufferType,g,p,s,l,!1,c),s+=l;t[a++]=d.map(e=>[e]),n+=l,r+=l}break;case hG.LINESTRING:{let l;h?(l=f[r]-f[r-1],r++):l=d[n]-d[n-1],n++;let _;m?(_=NF(g,o,l,!1),o+=l*2):(_=MF(e.vertexBufferType,g,p,s,l,!1,c),s+=l),t[a++]=[_],u&&i++}break;case hG.POLYGON:{let l=d[n]-d[n-1];n++;let h=Array(l-1),_,v=f[r]-f[r-1];if(r++,m){_=NF(g,o,v,!0),o+=v*2;for(let e=0;e<h.length;e++)v=f[r]-f[r-1],r++,h[e]=NF(g,o,v,!0),o+=v*2}else{_=MF(e.vertexBufferType,g,p,s,v,!0,c),s+=v;for(let t=0;t<h.length;t++)v=f[r]-f[r-1],r++,h[t]=MF(e.vertexBufferType,g,p,s,v,!0,c),s+=v}t[a++]=[_].concat(h),u&&i++}break;case hG.MULTILINESTRING:{let l=u[i]-u[i-1];i++;let _=Array(l);for(let t=0;t<l;t++){let i;if(h?(i=f[r]-f[r-1],r++):i=d[n]-d[n-1],n++,m)_[t]=NF(g,o,i,!1),o+=i*2;else{let n=MF(e.vertexBufferType,g,p,s,i,!1,c);_[t]=n,s+=i}}t[a++]=_}break;case hG.MULTIPOLYGON:{let l=u[i]-u[i-1];i++;let h=Array(l);for(let t=0;t<l;t++){let i=d[n]-d[n-1];n++;let a,l=Array(i-1),u=f[r]-f[r-1];r++,m?(a=NF(g,o,u,!0),o+=u*2):(a=MF(e.vertexBufferType,g,p,s,u,!0,c),s+=u);for(let t=0;t<l.length;t++){let n=f[r]-f[r-1];r++,m?(l[t]=NF(g,o,n,!0),o+=n*2):(l[t]=MF(e.vertexBufferType,g,p,s,n,!0,c),s+=n)}h[t]=[a].concat(l)}t[a++]=h.flat()}break;default:throw Error(`The specified geometry type (${_}) is currently not supported.`)}}return t}function MF(e,t,n,r,i,a,o){return e===_G.MORTON?FF(t,n,r,i,a,o):PF(t,n,r,i,a)}function NF(e,t,n,r){let i=Array(r?n+1:n);for(let r=0;r<n*2;r+=2){let n=e[t+r],a=e[t+r+1];i[r/2]=new Vx(n,a)}return r&&(i[i.length-1]=i[0]),i}function PF(e,t,n,r,i){let a=Array(i?r+1:r);for(let i=0;i<r*2;i+=2){let r=t[n+i/2]*2,o=e[r],s=e[r+1];a[i/2]=new Vx(o,s)}return i&&(a[a.length-1]=a[0]),a}function FF(e,t,n,r,i,a){let o=Array(i?r+1:r);for(let i=0;i<r;i++){let r=e[t[n+i]],s=kF(r,a.numBits,a.coordinateShift);o[i]=new Vx(s.x,s.y)}return i&&(o[o.length-1]=o[0]),o}function IF(e,t,n,r,i){return new yG(e,t,_G.VEC_2,n,r,i)}function LF(e,t,n,r,i,a){return new yG(e,t,_G.MORTON,n,r,i,a)}function RF(e,t,n,r){return new bG(_G.VEC_2,e,t,n,r)}function zF(e,t,n,r,i){return new bG(_G.MORTON,e,t,n,r,i)}function BF(e,t,n,r,i,a){return new SG(e,t,n,r,i,a)}function VF(e,t,n,r,i){return new CG(e,t,n,r,i)}function HF(e,t,n,r,i){let a=WP(e,n),o=EF(a,r,e,n),s,c,l,u;if(o===uG.CONST){let o=dF(e,n,a),d,f,p,m;for(let r=0;r<t-1;r++){let t=WP(e,n);switch(t.physicalStreamType){case eG.LENGTH:switch(t.logicalStreamType.lengthType){case rG.GEOMETRIES:d=sF(e,n,t);break;case rG.PARTS:f=sF(e,n,t);break;case rG.RINGS:p=sF(e,n,t);break;case rG.TRIANGLES:m=sF(e,n,t)}break;case eG.OFFSET:switch(t.logicalStreamType.offsetType){case nG.VERTEX:s=oF(e,n,t);break;case nG.INDEX:u=oF(e,n,t)}break;case eG.DATA:if(tG.VERTEX===t.logicalStreamType.dictionaryType)c=aF(e,n,t,i);else{let r=t;l={numBits:r.numBits,coordinateShift:r.coordinateShift},c=oF(e,n,t,i)}}}return u?d!==void 0||f!==void 0?BF(r,o,m,u,c,{geometryOffsets:d,partOffsets:f,ringOffsets:p}):BF(r,o,m,u,c):l===void 0?IF(r,o,{geometryOffsets:d,partOffsets:f,ringOffsets:p},s,c):LF(r,o,{geometryOffsets:d,partOffsets:f,ringOffsets:p},s,c,l)}let d=oF(e,n,a),f,p,m,h;for(let r=0;r<t-1;r++){let t=WP(e,n);switch(t.physicalStreamType){case eG.LENGTH:switch(t.logicalStreamType.lengthType){case rG.GEOMETRIES:f=oF(e,n,t);break;case rG.PARTS:p=oF(e,n,t);break;case rG.RINGS:m=oF(e,n,t);break;case rG.TRIANGLES:h=sF(e,n,t)}break;case eG.OFFSET:switch(t.logicalStreamType.offsetType){case nG.VERTEX:s=oF(e,n,t);break;case nG.INDEX:u=oF(e,n,t)}break;case eG.DATA:if(tG.VERTEX===t.logicalStreamType.dictionaryType)c=aF(e,n,t,i);else{let r=t;l={numBits:r.numBits,coordinateShift:r.coordinateShift},c=oF(e,n,t,i)}}}let g,_,v;return f?(g=UF(d,f,2),p&&m?(_=WF(d,g,p,!1),v=KF(d,g,_,m)):p&&(_=GF(d,g,p))):p&&m?(_=UF(d,p,1),v=WF(d,_,m,!0)):p&&(_=UF(d,p,0)),u&&!_?VF(d,h,u,c):u?VF(d,h,u,c,{geometryOffsets:g,partOffsets:_,ringOffsets:v}):l===void 0?RF(d,{geometryOffsets:g,partOffsets:_,ringOffsets:v},s,c):zF(d,{geometryOffsets:g,partOffsets:_,ringOffsets:v},s,c,l)}function UF(e,t,n){let r=new Uint32Array(e.length+1),i=0;r[0]=i;let a=0;for(let o=0;o<e.length;o++)i=r[o+1]=i+(e[o]>n?t[a++]:1);return r}function WF(e,t,n,r){let i=new Uint32Array(t[t.length-1]+1),a=0;i[0]=a;let o=1,s=0;for(let c=0;c<e.length;c++){let l=e[c],u=t[c+1]-t[c];if(l===5||l===2||r&&(l===4||l===1))for(let e=0;e<u;e++)a=i[o++]=a+n[s++];else for(let e=0;e<u;e++)i[o++]=++a}return i}function GF(e,t,n){let r=new Uint32Array(t[t.length-1]+1),i=0;r[0]=i;let a=1,o=0;for(let s=0;s<e.length;s++){let c=e[s],l=t[s+1]-t[s];if(c===4||c===1)for(let e=0;e<l;e++)i=r[a++]=i+n[o++];else for(let e=0;e<l;e++)r[a++]=++i}return r}function KF(e,t,n,r){let i=new Uint32Array(n[n.length-1]+1),a=0;i[0]=a;let o=1,s=1,c=0;for(let l=0;l<e.length;l++){let u=e[l],d=t[l+1]-t[l];if(u!==0&&u!==3)for(let e=0;e<d;e++){let e=n[o]-n[o-1];o++;for(let t=0;t<e;t++)a=i[s++]=a+r[c++]}else for(let e=0;e<d;e++)i[s++]=++a,o++}return i}function qF(e,t){let n=0;for(let r=0;r<t.length;r++){let i=t[r];i===255?(n++,r++):n+=e[i]}return n}function JF(e,t,n){let r=new Uint32Array(t.length);for(let e=1;e<t.length;e++)r[e]=r[e-1]+t[e-1];let i=new Uint8Array(qF(t,n)),a=0;for(let o=0;o<n.length;o++){let s=n[o];if(s===255)o++,i[a++]=n[o];else{let n=t[s],o=r[s];for(;n-->0;)i[a++]=e[o++]}}return i}function YF(e,t,n,r,i){let a,o,s,c,l,u=i,d,f;for(let e=0;e<r;e++){let e=WP(t,n);switch(e.physicalStreamType){case eG.PRESENT:{let r=new dG(ZP(t,e.numValues,e.byteLength,n),e.numValues);u=i??r;break}case eG.OFFSET:o=oF(t,n,e,void 0,u);break;case eG.LENGTH:{let r=sF(t,n,e);rG.DICTIONARY===e.logicalStreamType.lengthType?a=r:rG.SYMBOL===e.logicalStreamType.lengthType?c=r:d=r;break}case eG.DATA:{let r=t.subarray(n.get(),n.get()+e.byteLength);n.add(e.byteLength);let i=e.logicalStreamType.dictionaryType;tG.FSST===i?l=r:tG.SINGLE===i||tG.SHARED===i?s=r:tG.NONE===i&&(f=r);break}}}return XF(e,l,o,a,s,c,u)??ZF(e,s,o,a,u)??QF(e,d,f,o,u)}function XF(e,t,n,r,i,a,o){if(t){if(!n||!r||!i||!a)throw Error(`Incomplete FSST dictionary string column "${e}"`);return new AG(e,n,r,i,a,t,o)}}function ZF(e,t,n,r,i){if(t){if(!n||!r)throw Error(`Incomplete dictionary string column "${e}"`);return i?new kG(e,n,r,t,i):new kG(e,n,r,t)}}function QF(e,t,n,r,i){if(t&&n){if(r)return i?new kG(e,r,t,n,i):new kG(e,r,t,n);if(i&&i.size()!==t.length-1){let r=new Uint32Array(i.size()),a=0;for(let e=0;e<i.size();e++)i.get(e)?r[e]=a++:r[e]=0;return new kG(e,r,t,n,i)}return i?new OG(e,t,n,i):new OG(e,t,n)}}function $F(e,t,n,r){let i,a,o,s,c=!1;for(;!c;){let n=WP(e,t);switch(n.physicalStreamType){case eG.LENGTH:rG.DICTIONARY===n.logicalStreamType.lengthType?i=sF(e,t,n):o=sF(e,t,n);break;case eG.DATA:tG.SINGLE===n.logicalStreamType.dictionaryType||tG.SHARED===n.logicalStreamType.dictionaryType?(a=e.subarray(t.get(),t.get()+n.byteLength),c=!0):s=e.subarray(t.get(),t.get()+n.byteLength),t.add(n.byteLength)}}if(n.type!==`complexType`)throw Error(`Shared dictionary column ${n.name} must be a complex (struct) column.`);if(!i||!a)throw Error(`Incomplete shared dictionary for column "${n.name}"`);let l=n.complexType.children,u=[],d=s?{}:void 0,f=0;for(let c of l){let l=tP(e,t,1)[0];if(l===0)continue;let p=c.name?`${n.name}${c.name}`:n.name;if(r&&!r.has(p)){XP(l,e,t);continue}if(c.type!==`scalarField`||c.scalarField.physicalType!==UW.STRING)throw Error(`Currently only scalar string fields are implemented for a struct.`);if(l>1&&!c.nullable||l===1&&c.nullable)throw Error(`The number of streams for the child field ${c.name} does not match its nullability. nullibilty: ${c.nullable}, numStreams: ${l}`);let m;if(c.nullable){let n=WP(e,t);m=new dG(ZP(e,n.numValues,n.byteLength,t),n.numValues)}let h=oF(e,t,WP(e,t),void 0,m);if(s){if(!o)throw Error(`Incomplete shared FSST dictionary for column "${p}"`);u[f++]=new AG(p,h,i,a,o,s,m,d)}else u[f++]=new kG(p,h,i,a,m)}return u}function eI(e,t,n,r){let i=tI(n);if(r===0)return i.map(e=>new jG(e,[]));let a=nI(e,t,r),o=(a.presentStream?a.presentCount:a.lengthStream.length)/i.length,s=[],c=0,l=0;for(let e=0;e<i.length;e++){let t=sI(a,e,o,c,l);s.push(new jG(i[e],t.value,t.nullabilityBuffer)),c=t.countsEnd,l=t.valuesEnd}return s}function tI(e){let t=e.type===`complexType`?e.complexType.children:void 0;return!t||t.length===0?[e.name]:t.map(t=>e.name+(t.name??``))}function nI(e,t,n){let r=e[t.get()];t.add(1);let i=oF(e,t,WP(e,t)),a=n-1,o=[];r&MG.STRING&&(a-=rI(e,t,o)),a-=iI(e,t,r,o),a-=aI(e,t,r,o);let s,c=0;if(r&MG.PRESENCE){let n=oI(e,t);s=n.value,c=n.count,a--}let l=new Uint32Array;if(a>0&&(l=oF(e,t,WP(e,t)),a--),a!==0)throw Error(`Unexpected number of remaining streams while decoding map column: ${a}`);return{lengthStream:i,dictionary:o,presentStream:s,presentCount:c,flattenedValues:l}}function rI(e,t,n){let r=e[t.get()];t.add(1);let i=YF(``,e,t,r);if(i)for(let e=0;e<i.size;e++)n.push(i.getValue(e));return r}function iI(e,t,n,r){let i=0;return n&MG.INT32?(pI(r,aF(e,t,WP(e,t))),i++):n&MG.INT64&&(pI(r,mF(e,t,WP(e,t))),i++),n&MG.UINT32?(pI(r,oF(e,t,WP(e,t))),i++):n&MG.UINT64&&(pI(r,hF(e,t,WP(e,t))),i++),i}function aI(e,t,n,r){let i=0;return n&MG.FLOAT&&(pI(r,$P(e,t,WP(e,t).numValues)),i++),n&MG.DOUBLE&&(pI(r,eF(e,t,WP(e,t).numValues)),i++),i}function oI(e,t){let n=WP(e,t);if(n.physicalStreamType!==eG.PRESENT)throw Error(`Expected PRESENT stream for map column but found: ${n.physicalStreamType}`);let r=n.numValues,i=t.get(),a=new dG(ZP(e,r,n.byteLength,t),r);return t.set(i+n.byteLength),{value:a,count:r}}function sI(e,t,n,r,i){let{lengthStream:a,flattenedValues:o,presentStream:s,dictionary:c}=e,l=t*n,u=n,d;if(s){d=new dG(new Uint8Array(Math.ceil(n/8)),n),u=0;for(let e=0;e<n;e++)s.get(l+e)&&(d.set(e,!0),u++)}let f=r+u;if(f>a.length)throw Error(`Merged map counts underflow while decoding child streams`);let p=Array(n),m=r,h=i;for(let e=0;e<n;e++){if(s&&!s.get(l+e)){p[e]=null;continue}let t=h+a[m++];if(t>o.length)throw Error(`Map value stream underflow while decoding feature payload`);let n=cI(o,h,t,c);p[e]=n.value,h=n.nextIndex}let g=0;for(let e=r;e<f;e++)g+=a[e];let _=i+g;if(h!==_)throw Error(`Unused flattened map values remain after decode`);return{value:p,nullabilityBuffer:d,countsEnd:f,valuesEnd:_}}function cI(e,t,n,r){return n-t===1||e[t]===NG.START_LIST?uI(e,t,n,r):lI(e,t,n,r)}function lI(e,t,n,r){let i=Object.create(null),a=t;for(;a<n;){let t=fI(e[a++],r);if(typeof t!=`string`)throw Error(`Map key dictionary index does not resolve to a string: ${t}`);let o=uI(e,a,n,r);i[t]=o.value,a=o.nextIndex}return{value:i,nextIndex:a}}function uI(e,t,n,r){if(t>=n)throw Error(`Unexpected end of map value stream`);let i=e[t];if(i===NG.FALSE)return{value:!1,nextIndex:t+1};if(i===NG.TRUE)return{value:!0,nextIndex:t+1};if(i===NG.START_MAP){let i=dI(e,t,n);return{value:lI(e,t+2,i,r).value,nextIndex:i}}if(i===NG.START_LIST){let i=dI(e,t,n),a=[],o=t+2;for(;o<i;){let t=uI(e,o,i,r);a.push(t.value),o=t.nextIndex}return{value:a,nextIndex:i}}return{value:fI(i,r),nextIndex:t+1}}function dI(e,t,n){if(t+1>=n)throw Error(`Missing length for nested map/list payload`);let r=e[t+1];if(r<2)throw Error(`Invalid nested payload length: ${r}`);let i=t+r;if(i>n)throw Error(`Nested payload exceeds containing payload bounds`);return i}function fI(e,t){let n=e-NG.COUNT;if(n<0||n>=t.length)throw Error(`Scalar dictionary index out of range: ${e}`);return t[n]}function pI(e,t){for(let n of t)e.push(n)}function mI(e,t,n,r,i,a){return n.type===`scalarType`?a&&!a.has(n.name)?(XP(r,e,t),null):hI(r,e,t,i,n.scalarType,n):n.complexType?.physicalType===WW.MAP?eI(e,t,n,r):r===0?null:$F(e,t,n,a)}function hI(e,t,n,r,i,a){let o;if(e===0)return null;if(a.nullable){let e=WP(t,n),r=e.numValues,i=n.get(),a=ZP(t,r,e.byteLength,n);n.set(i+e.byteLength),o=new dG(a,e.numValues)}let s=o??r;switch(i.physicalType){case UW.UINT_32:case UW.INT_32:return bI(t,n,a,i,s);case UW.STRING:{let r=a.nullable?e-1:e;return YF(a.name,t,n,r,o)??null}case UW.BOOLEAN:return gI(t,n,a,r,s);case UW.UINT_64:case UW.INT_64:return yI(t,n,a,s,i);case UW.FLOAT:return _I(t,n,a,s);case UW.DOUBLE:return vI(t,n,a,s);default:throw Error(`The specified data type for the field is currently not supported: ${i}`)}}function gI(e,t,n,r,i){let a=WP(e,t),o=a.numValues,s=t.get(),c=xI(i)?i:void 0,l=ZP(e,o,a.byteLength,t,c);t.set(s+a.byteLength);let u=new dG(l,o);return new wG(n.name,u,i)}function _I(e,t,n,r){let i=WP(e,t),a=xI(r)?r:void 0,o=$P(e,t,i.numValues,a);return new TG(n.name,o,r)}function vI(e,t,n,r){let i=WP(e,t),a=xI(r)?r:void 0,o=eF(e,t,i.numValues,a);return new LW(n.name,o,r)}function yI(e,t,n,r,i){let a=WP(e,t),o=EF(a,r,e,t,`int64`),s=i.physicalType===UW.INT_64;if(o===uG.FLAT){let i=xI(r)?r:void 0,o=s?mF(e,t,a,i):hF(e,t,a,i);return new pG(n.name,o,r)}if(o===uG.SEQUENCE){let r=pF(e,t,a);return new mG(n.name,r[0],r[1],a.numRleValues,s)}let c=s?vF(e,t,a):yF(e,t,a);return new EG(n.name,c,r,s)}function bI(e,t,n,r,i){let a=WP(e,t),o=EF(a,i,e,t),s=r.physicalType===UW.INT_32;if(o===uG.FLAT){let r=xI(i)?i:void 0,o=s?aF(e,t,a,void 0,r):oF(e,t,a,void 0,r);return new IW(n.name,o,i)}if(o===uG.SEQUENCE){let r=fF(e,t,a);return new zW(n.name,r[0],r[1],a.numRleValues,s)}let c=s?uF(e,t,a):dF(e,t,a);return new BW(n.name,c,i,s)}function xI(e){return e instanceof dG}function SI(e){switch(e){case PG.ID:case PG.ID|PG.ID_NULLABLE:case PG.ID|PG.ID_LONG:case PG.ID|PG.ID_LONG|PG.ID_NULLABLE:return{nullable:(e&PG.ID_NULLABLE)!==0,columnScope:HW.FEATURE,type:`scalarType`,scalarType:{longID:(e&PG.ID_LONG)!==0,type:`logicalType`,logicalType:GW.ID}};case PG.GEOMETRY:return{nullable:!1,columnScope:HW.FEATURE,type:`complexType`,complexType:{type:`physicalType`,physicalType:WW.GEOMETRY,children:[]}};case PG.STRUCT:return{nullable:!1,columnScope:HW.FEATURE,type:`complexType`,complexType:{type:`physicalType`,physicalType:WW.STRUCT,children:[]}};case PG.MAP:return{nullable:!0,columnScope:HW.FEATURE,type:`complexType`,complexType:{type:`physicalType`,physicalType:WW.MAP,children:[]}};default:return OI(e)}}function CI(e){return e>=PG.SCALAR_BASE}function wI(e){return e===PG.STRUCT||e===PG.MAP}function TI(e){if(e.type===`scalarType`){let t=e.scalarType;if(t.type===`physicalType`)switch(t.physicalType){case UW.BOOLEAN:case UW.INT_8:case UW.UINT_8:case UW.INT_32:case UW.UINT_32:case UW.INT_64:case UW.UINT_64:case UW.FLOAT:case UW.DOUBLE:return!1;case UW.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 WW.GEOMETRY:case WW.STRUCT:case WW.MAP:return!0;default:return!1}}return console.warn(`Unexpected column type in hasStreamCount`,e),!1}function EI(e){return e.type===`scalarType`&&e.scalarType?.type===`logicalType`&&e.scalarType.logicalType===GW.ID}function DI(e){return e.type===`complexType`&&e.complexType?.type===`physicalType`&&e.complexType.physicalType===WW.GEOMETRY}function OI(e){let t;switch(e){case 10:case 11:t=UW.BOOLEAN;break;case 12:case 13:t=UW.INT_8;break;case 14:case 15:t=UW.UINT_8;break;case 16:case 17:t=UW.INT_32;break;case 18:case 19:t=UW.UINT_32;break;case 20:case 21:t=UW.INT_64;break;case 22:case 23:t=UW.UINT_64;break;case 24:case 25:t=UW.FLOAT;break;case 26:case 27:t=UW.DOUBLE;break;case 28:case 29:t=UW.STRING;break;default:return null}return{nullable:!!(e&1),columnScope:HW.FEATURE,type:`scalarType`,scalarType:{longID:!1,type:`physicalType`,physicalType:t}}}function kI(e,t){let n=tP(e,t,1)[0];if(n===0)return``;let r=t.get(),i=r+n,a=e.subarray(r,i);return t.add(n),FG.decode(a)}function AI(e){let t=e.name,n=e.nullable;return e.type===`scalarType`?{type:`scalarField`,scalarField:e.scalarType,name:t,nullable:n}:{type:`complexField`,complexField:e.complexType,name:t,nullable:n}}function jI(e,t){let n=tP(e,t,1)[0]>>>0,r=n>=PG.SCALAR_BASE?SI(n):null;if(!r)throw Error(`Unsupported field type code ${n}. Supported: 10-29(scalars), 30(STRUCT), 31(MAP)`);let i=m(p({},r),{name:kI(e,t)});if(i.type===`complexType`&&wI(n)){let n=i.complexType,r=tP(e,t,1)[0]>>>0;n.children=Array(r);for(let i=0;i<r;i++)n.children[i]=jI(e,t)}return AI(i)}function MI(e,t){let n=tP(e,t,1)[0]>>>0,r=SI(n);if(!r)throw Error(`Unsupported column type code ${n}. Supported: ${IG}`);let i;if(CI(n))i=kI(e,t);else if(n<PG.GEOMETRY)i=`id`;else if(n===PG.GEOMETRY)i=`geometry`;else throw Error(`Unsupported column type code ${n}. Supported: ${IG}`);let a=m(p({},r),{name:i});if(a.type===`complexType`&&wI(n)){let n=tP(e,t,1)[0]>>>0,r=a.complexType;r.children=Array(n);for(let i=0;i<n;i++)r.children[i]=jI(e,t)}return a}function NI(e,t){let n={};n.featureTables=[];let r={};if(r.name=kI(e,t),r.name.length===0)throw Error(`Missing layer name`);let i=tP(e,t,1)[0]>>>0,a=tP(e,t,1)[0]>>>0;r.columns=Array(a);for(let n=0;n<a;n++)r.columns[n]=MI(e,t);return n.featureTables.push(r),[n,i]}function PI(e,t,n=!0){let r=new KW(0),i=[];for(;r.get()<e.length;){let a=tP(e,r,1)[0]>>>0,o=r.get()+a;if(o>e.length)throw Error(`Block overruns tile: ${o} > ${e.length}`);let s=tP(e,r,1)[0]>>>0;if(s!==1&&s!==2){r.set(o);continue}let[c,l]=NI(e,r),u=c.featureTables[0],d=null,f=null,p=[],m=0;for(let i of u.columns){let a=i.name;if(EI(i)){let t=null;if(i.nullable){let n=WP(e,r),i=r.get(),a=ZP(e,n.numValues,n.byteLength,r);r.set(i+n.byteLength),t=new dG(a,n.numValues)}let o=WP(e,r);m=t?t.size():o.decompressedCount,d=FI(e,i,r,a,o,t??m,n)}else if(DI(i)){let n=tP(e,r,1)[0];if(m===0){let t=r.get();m=WP(e,r).decompressedCount,r.set(t)}t&&(t.scale=t.extent/l),f=HF(e,n,r,m,t)}else{let t=TI(i)?tP(e,r,1)[0]:1;if(t===0)continue;let n=mI(e,r,i,t,m,void 0);if(n){if(Array.isArray(n))for(let e of n)p.push(e);else p.push(n)}}}let h=new VW(u.name,f,d,p,l);i.push(h),r.set(o)}return i}function FI(e,t,n,r,i,a,o=!1){var s;let c=(s=t.scalarType)!=null&&s.longID?UW.UINT_64:UW.UINT_32,l=typeof a==`number`?void 0:a,u=EF(i,a,e,n,c===UW.UINT_64?`int64`:`int32`);if(c===UW.UINT_32)switch(u){case uG.FLAT:return new IW(r,oF(e,n,i,void 0,l),a);case uG.SEQUENCE:{let t=fF(e,n,i);return new zW(r,t[0],t[1],i.numRleValues,!1)}case uG.CONST:return new BW(r,dF(e,n,i),a,!1)}switch(u){case uG.FLAT:return o?new LW(r,gF(e,n,i,l),a):new pG(r,hF(e,n,i,l),a);case uG.SEQUENCE:{let t=pF(e,n,i);return new mG(r,t[0],t[1],i.numRleValues,!1)}case uG.CONST:return new EG(r,yF(e,n,i),a,!1)}throw Error(`Vector type not supported for id column.`)}function II(e){return typeof e==`object`&&!!e&&`evaluate`in e}function LI(e,t,n,r,i){return DC(e,(e,a)=>{let o=t instanceof Nz?t.get(a):null;return II(o)?o.evaluate(n,r,void 0,i):o})}function RI(e,t){return t-e}var zI,BI,VI,HI,UI,WI,GI,KI,qI,JI,YI,XI,ZI,QI,$I,eL,tL,nL,rL,iL,aL,oL,sL,cL,lL,uL,dL,fL,pL,mL,hL,gL,_L,vL,yL,bL,xL,SL,CL,wL,TL,EL,DL,OL,kL,AL,jL,ML,NL,PL,FL,IL,LL,RL,zL,BL,VL,HL,UL,WL,GL,KL,qL,JL,YL,XL,ZL,QL,$L,eR,tR,nR,rR,iR,aR,oR,sR,cR,lR,uR,dR,fR,pR,mR,hR,gR,_R,vR,yR,bR,xR,SR,CR,wR,TR,ER,DR,OR,kR,AR,jR,MR,NR,PR,FR,IR,LR,RR,zR,BR,VR,HR,UR,WR,GR,KR,qR,JR,YR,XR,ZR,QR,$R,ez,tz,nz,rz,iz,az,oz,sz,cz,lz,uz,dz,fz,pz,mz,hz,gz,_z,vz,yz,bz,xz,Sz,Cz,wz,Tz,Ez,Dz,Oz,kz,Az,jz,Mz,Nz,Pz,Fz,Iz,Lz,Rz,zz,Bz,Vz,Hz,Uz,Wz,Gz,Kz,qz,Jz,Yz,Xz,Zz,Qz,$z,eB,tB,nB,rB,iB,aB,oB,sB,cB,lB,uB,dB,fB,pB,mB,hB,gB,_B,vB,yB,bB,xB,SB,CB,wB,TB,EB,DB,OB,kB,AB,jB,MB,NB,PB,FB,IB,LB,RB,zB,BB,VB,HB,UB,WB,GB,KB,qB,JB,YB,XB,ZB,QB,$B,eV,tV,nV,rV,iV,aV,oV,sV,cV,lV,uV,dV,fV,pV,mV,hV,gV,_V,vV,yV,bV,xV,SV,CV,wV,TV,EV,DV,OV,kV,AV,jV,MV,NV,PV,FV,IV,LV,RV,zV,BV,VV,HV,UV,WV,GV,KV,qV,JV,YV,XV,ZV,QV,$V,eH,tH,nH,rH,iH,aH,oH,sH,cH,lH,uH,dH,fH,pH,mH,hH,gH,_H,vH,yH,bH,xH,SH,CH,wH,TH,EH,DH,OH,kH,AH,jH,MH,NH,PH,FH,IH,LH,RH,zH,BH,VH,HH,UH,WH,GH,KH,qH,JH,YH,XH,ZH,QH,$H,eU,tU,nU,rU,iU,aU,oU,sU,cU,lU,uU,dU,fU,pU,mU,hU,gU,_U,vU,yU,bU,xU,SU,CU,wU,TU,EU,DU,OU,kU,AU,jU,MU,NU,PU,FU,IU,LU,RU,zU,BU,VU,HU,UU,WU,GU,KU,qU,JU,YU,XU,ZU,QU,$U,eW,tW,nW,rW,iW,aW,oW,sW,cW,lW,uW,dW,fW,pW,mW,hW,gW,_W,vW,yW,bW,xW,SW,CW,wW,TW,EW,DW,OW,kW,AW,jW,MW,NW,PW,FW,IW,LW,RW,zW,BW,VW,HW,UW,WW,GW,KW,qW,JW,YW,XW,ZW,QW,$W,eG,tG,nG,rG,iG,aG,oG,sG,cG,lG,uG,dG,fG,pG,mG,hG,gG,_G,vG,yG,bG,xG,SG,CG,wG,TG,EG,DG,OG,kG,AG,jG,MG,NG,PG,FG,IG,LG,RG,zG,BG,VG,HG=g(()=>{zI=Object.create,BI=Object.defineProperty,VI=Object.getOwnPropertyDescriptor,HI=Object.getOwnPropertyNames,UI=Object.getPrototypeOf,WI=Object.prototype.hasOwnProperty,GI=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),KI=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=HI(t),a=0,o=i.length,s;a<o;a++)s=i[a],!WI.call(e,s)&&s!==n&&BI(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=VI(t,s))||r.enumerable});return e},qI=(e,t,n)=>(n=e==null?{}:zI(UI(e)),KI(t||!e||!e.__esModule||!WI.call(e,`default`)?BI(n,`default`,{value:e,enumerable:!0}):n,e)),Vx.prototype={clone(){return new Vx(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,n=e.y-this.y;return t*t+n*n},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,n=e[2]*this.x+e[3]*this.y;return this.x=t,this.y=n,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),n=Math.sin(e),r=t*this.x-n*this.y,i=n*this.x+t*this.y;return this.x=r,this.y=i,this},_rotateAround(e,t){let n=Math.cos(e),r=Math.sin(e),i=t.x+n*(this.x-t.x)-r*(this.y-t.y),a=t.y+r*(this.x-t.x)+n*(this.y-t.y);return this.x=i,this.y=a,this},_round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},constructor:Vx},Vx.convert=function(e){if(e instanceof Vx)return e;if(Array.isArray(e))return new Vx(+e[0],+e[1]);if(e.x!==void 0&&e.y!==void 0)return new Vx(+e.x,+e.y);throw Error(`Expected [x, y] or {x, y} point format`)},XI=typeof Float32Array<`u`?Float32Array:Array,ZI=sS,QI=cS,$I=gS,eL=pS,(function(){var e=dS();return function(t,n,r,i,a,o){var s,c;for(n||=3,r||=0,c=i?Math.min(i*n+r,t.length):t.length,s=r;s<c;s+=n)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2];return t}})(),tL=NS,(function(){var e=jS();return function(t,n,r,i,a,o){var s,c;for(n||=4,r||=0,c=i?Math.min(i*n+r,t.length):t.length,s=r;s<c;s+=n)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],e[3]=t[s+3],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2],t[s+3]=e[3];return t}})(),nL=MS,rL=FS,(function(){var e=dS(),t=mS(1,0,0),n=mS(0,1,0);return function(r,i,a){var o=SS(i,a);return o<-.999999?(CS(e,t,i),eL(e)<1e-6&&CS(e,n,i),xS(e,e),RS(r,e,Math.PI),r):o>.999999?(r[0]=0,r[1]=0,r[2]=0,r[3]=1,r):(CS(e,i,a),r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=1+o,rL(r,r))}})(),(function(){var e=LS(),t=LS();return function(n,r,i,a,o,s){return BS(e,r,o,s),BS(t,i,a,s),BS(n,e,t,2*s*(1-s)),n}})(),(function(){var e=Gx();return function(t,n,r,i){return e[0]=r[0],e[3]=r[1],e[6]=r[2],e[1]=i[0],e[4]=i[1],e[7]=i[2],e[2]=-n[0],e[5]=-n[1],e[8]=-n[2],rL(t,VS(t,e))}})(),iL=qS,(function(){var e=US();return function(t,n,r,i,a,o){var s,c;for(n||=2,r||=0,c=i?Math.min(i*n+r,t.length):t.length,s=r;s<c;s+=n)e[0]=t[s],e[1]=t[s+1],a(e,e,o),t[s]=e[0],t[s+1]=e[1];return t}})(),aL=8192,oL=gC(.25,.1,.25,1),sL=1,cL={},lL=null,uL=(e,t)=>S(null,null,function*(){let n=new Blob([new Uint8Array(e)],{type:`image/png`});try{return createImageBitmap(n,t)}catch(e){throw Error(`Could not load image because of ${ZS(e).message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}}),dL=e=>new Promise((t,n)=>{let r=new Image;r.onload=()=>{t(r),URL.revokeObjectURL(r.src),r.onload=null,window.requestAnimationFrame(()=>r.src=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=`)},r.onerror=()=>n(Error(`Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`));let i=new Blob([new Uint8Array(e)],{type:`image/png`});r.src=URL.createObjectURL(i)}),fL=85.051129,pL={touchstart:!0,touchmove:!0,touchmoveWindow:!0,touchend:!0,touchcancel:!0},mL={dblclick:!0,click:!0,mouseover:!0,mouseout:!0,mousedown:!0,mousemove:!0,mousemoveWindow:!0,mouseup:!0,mouseupWindow:!0,contextmenu:!0,wheel:!0},hL=`AbortError`,gL=class extends Error{constructor(e=hL){super(e instanceof Error?e.message:e),this.name=hL,e instanceof Error&&e.stack&&(this.stack=e.stack)}},_L={MAX_PARALLEL_IMAGE_REQUESTS:16,MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:8,MAX_TILE_CACHE_ZOOM_LEVELS:5,REGISTERED_PROTOCOLS:{},WORKER_URL:``},vL=`global-dispatcher`,yL=class extends Error{constructor(e,t,n,r){super(`AJAXError: ${t} (${e}): ${n}`),this.status=e,this.statusText=t,this.url=n,this.body=r}},bL=e=>e.startsWith(`file:`)||nw()?.startsWith(`file:`)&&!/^\w+:/.test(e),xL=function(e,t){return S(this,null,function*(){var n,r;if(e.url.includes(`://`)&&!/^https?:|^file:/.test(e.url)){let r=$C(e.url);if(r){let n=yield r(e,t);return!n.data&&e.type===`arrayBuffer`?yC(n,{data:new ArrayBuffer(0)}):n}if(FC(self)&&(n=self.worker)!=null&&n.actor)return self.worker.actor.sendAsync({type:`GR`,data:e,targetMapId:vL},t)}if(!bL(e.url)){if(fetch&&Request&&AbortController&&Object.hasOwn(Request.prototype,`signal`))return rw(e,t);if(FC(self)&&(r=self.worker)!=null&&r.actor)return self.worker.actor.sendAsync({type:`GR`,data:e,mustQueue:!0,targetMapId:vL},t)}return iw(e,t)})},SL=(e,t)=>xL(yC(e,{type:`json`}),t),CL=(e,t)=>xL(yC(e,{type:`arrayBuffer`}),t),wL=e=>{let t=window.document.createElement(`video`);return t.muted=!0,new Promise(n=>{t.onloadstart=()=>{n(t)};for(let n of e){let e=window.document.createElement(`source`);aw(n)||(t.crossOrigin=`Anonymous`),e.src=n,t.appendChild(e)}})},TL=class{constructor(e,t={}){yC(this,t),this.type=e}},EL=class extends TL{constructor(e,t={}){super(`error`,yC({error:e},t))}},DL=class{on(e,t){return this._listeners||={},ow(e,t,this._listeners),{unsubscribe:()=>{this.off(e,t)}}}off(e,t){return sw(e,t,this._listeners),sw(e,t,this._oneTimeListeners),this}once(e,t){return t?(this._oneTimeListeners||={},ow(e,t,this._oneTimeListeners),this):new Promise(t=>this.once(e,t))}fire(e,t){let n=typeof e==`string`?new TL(e,t||{}):e,r=n.type;if(this.listens(r)){n.target=this;let e=(this._listeners?.[r])?.slice()??[];for(let t of e)t.call(this,n);let t=(this._oneTimeListeners?.[r])?.slice()??[];for(let e of t)sw(r,e,this._oneTimeListeners),e.call(this,n);let i=this._eventedParent;i&&(yC(n,typeof this._eventedParentData==`function`?this._eventedParentData():this._eventedParentData),i.fire(n))}else n instanceof EL&&console.error(n.error);return this}listens(e){var t,n,r;return!!((t=this._listeners?.[e])!=null&&t.length||(n=this._oneTimeListeners?.[e])!=null&&n.length||(r=this._eventedParent)!=null&&r.listens(e))}setEventedParent(e,t){return this._eventedParent=e,this._eventedParentData=t,this}},OL={$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`}]}}}}},kL=OL,AL=[`type`,`source`,`source-layer`,`minzoom`,`maxzoom`,`filter`,`layout`],jL=class{constructor(e,t,n,r,i=`error`){this.message=(e?`${e}: `:``)+n,r&&(this.identifier=r),this.severity=i,t!=null&&t.__line__&&(this.line=t.__line__)}},ML={kind:`null`},NL={kind:`number`},PL={kind:`string`},FL={kind:`boolean`},IL={kind:`color`},LL={kind:`projectionDefinition`},RL={kind:`object`},zL={kind:`value`},BL={kind:`error`},VL={kind:`collator`},HL={kind:`formatted`},UL={kind:`padding`},WL={kind:`colorArray`},GL={kind:`numberArray`},KL={kind:`resolvedImage`},qL={kind:`variableAnchorOffsetCollection`},JL=[ML,NL,PL,FL,IL,LL,HL,RL,cw(zL),UL,GL,WL,KL,qL],YL=.96422,XL=.82521,ZL=4/29,QL=6/29,$L=3*QL*QL,eR=Math.PI/180,tR=180/Math.PI,nR=Object.hasOwn||function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},rR={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]},aR=(iR=class{constructor(e,t,n,r=1,i=!0){this.r=e,this.g=t,this.b=n,this.a=r,i||(this.r*=r,this.g*=r,this.b*=r,r||this.overwriteGetter(`rgb`,[e,t,n,r]))}static parse(e){if(e instanceof iR)return e;if(typeof e!=`string`)return;let t=Tw(e);if(t)return new iR(...t,!1)}get rgb(){let{r:e,g:t,b:n,a:r}=this,i=r||1/0;return this.overwriteGetter(`rgb`,[e/i,t/i,n/i,r])}get hcl(){return this.overwriteGetter(`hcl`,xw(this.rgb))}get lab(){return this.overwriteGetter(`lab`,hw(this.rgb))}overwriteGetter(e,t){return Object.defineProperty(this,e,{value:t}),t}toString(){let[e,t,n,r]=this.rgb;return`rgba(${[e,t,n].map(e=>Math.round(e*255)).join(`,`)},${r})`}static interpolate(e,t,n,r=`rgb`){switch(r){case`rgb`:{let[r,i,a,o]=jw(e.rgb,t.rgb,n);return new iR(r,i,a,o,!1)}case`hcl`:{let[r,i,a,o]=e.hcl,[s,c,l,u]=t.hcl,d,f;if(!isNaN(r)&&!isNaN(s)){let e=s-r;s>r&&e>180?e-=360:s<r&&r-s>180&&(e+=360),d=r+n*e}else isNaN(r)?isNaN(s)?d=NaN:(d=s,(a===1||a===0)&&(f=c)):(d=r,(l===1||l===0)&&(f=i));let[p,m,h,g]=Sw([d,f??Aw(i,c,n),Aw(a,l,n),Aw(o,u,n)]);return new iR(p,m,h,g,!1)}case`lab`:{let[r,i,a,o]=vw(jw(e.lab,t.lab,n));return new iR(r,i,a,o,!1)}}}},iR.black=new iR(0,0,0,1),iR.white=new iR(1,1,1,1),iR.transparent=new iR(0,0,0,0),iR.red=new iR(1,0,0,1),iR),oR=[`bottom`,`center`,`top`],sR=class{constructor(e,t,n,r,i,a){this.text=e,this.image=t,this.scale=n,this.fontStack=r,this.textColor=i,this.verticalAlign=a}},cR=class e{constructor(e){this.sections=e}static fromString(t){return new e([new sR(t,null,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(e=>e.text.length!==0||e.image&&e.image.name.length!==0)}static factory(t){return t instanceof e?t:e.fromString(t)}toString(){return this.sections.length===0?``:this.sections.map(e=>e.text).join(``)}},lR=class e{constructor(e){this.values=e.slice()}static parse(t){if(t instanceof e)return t;if(typeof t==`number`)return new e([t,t,t,t]);if(Array.isArray(t)&&!(t.length<1||t.length>4)){for(let e of t)if(typeof e!=`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 e(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,n,r){return new e(jw(t.values,n.values,r))}},uR=class e{constructor(e){this.values=e.slice()}static parse(t){if(t instanceof e)return t;if(typeof t==`number`)return new e([t]);if(Array.isArray(t)){for(let e of t)if(typeof e!=`number`)return;return new e(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,n,r){return new e(jw(t.values,n.values,r))}},dR=class e{constructor(e){this.values=e.slice()}static parse(t){if(t instanceof e)return t;if(typeof t==`string`){let n=aR.parse(t);return n?new e([n]):void 0}if(!Array.isArray(t))return;let n=[];for(let e of t){if(typeof e!=`string`)return;let t=aR.parse(e);if(!t)return;n.push(t)}return new e(n)}toString(){return JSON.stringify(this.values)}static interpolate(t,n,r,i=`rgb`){let a=[];if(t.values.length!=n.values.length)throw Error(`colorArray: Arrays have mismatched length (${t.values.length} vs. ${n.values.length}), cannot interpolate.`);for(let e=0;e<t.values.length;e++)a.push(aR.interpolate(t.values[e],n.values[e],r,i));return new e(a)}},fR=class extends Error{constructor(e,t){super(e),this.name=`RuntimeError`,this.path=t}toJSON(){return this.message}},pR=new Set([`center`,`left`,`right`,`top`,`bottom`,`top-left`,`top-right`,`bottom-left`,`bottom-right`]),mR=class e{constructor(e){this.values=e.slice()}static parse(t){if(t instanceof e)return t;if(!(!Array.isArray(t)||t.length<1||t.length%2!=0)){for(let e=0;e<t.length;e+=2){let n=t[e],r=t[e+1];if(typeof n!=`string`||!pR.has(n)||!Array.isArray(r)||r.length!==2||typeof r[0]!=`number`||typeof r[1]!=`number`)return}return new e(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,n,r,i){let a=t.values,o=n.values;if(a.length!==o.length)throw new fR(`Cannot interpolate values of different length. from: ${t.toString()}, to: ${n.toString()}`,i);let s=[];for(let e=0;e<a.length;e+=2){if(a[e]!==o[e])throw new fR(`Cannot interpolate values containing mismatched anchors. from[${e}]: ${a[e]}, to[${e}]: ${o[e]}`,i);s.push(a[e]);let[t,n]=a[e+1],[c,l]=o[e+1];s.push([Aw(t,c,r),Aw(n,l,r)])}return new e(s)}},hR=class e{constructor(e){this.name=e.name,this.available=e.available}toString(){return this.name}static fromString(t){return t?new e({name:t,available:!1}):null}},gR=class e{constructor(e,t,n){this.from=e,this.to=t,this.transition=n}toString(){return this.from===this.to&&this.transition===1?this.from:JSON.stringify([this.from,this.to,this.transition])}static interpolate(t,n,r){return new e(t,n,r)}static parse(t){if(t instanceof e)return t;if(Array.isArray(t)&&t.length===3&&typeof t[0]==`string`&&typeof t[1]==`string`&&typeof t[2]==`number`)return new e(t[0],t[1],t[2]);if(typeof t==`object`&&typeof t.from==`string`&&typeof t.to==`string`&&typeof t.transition==`number`)return new e(t.from,t.to,t.transition);if(typeof t==`string`)return new e(t,t,1)}},_R=class{constructor(e,t,n){this.sensitivity=e?t?`variant`:`case`:t?`accent`:`base`,this.locale=n,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:`search`})}compare(e,t){return this.collator.compare(e,t)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}},vR=class e{constructor(e,t){this.type=e,this.value=t}static parse(t,n){if(t.length!==2)return n.error(`'literal' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!Pw(t[1]))return n.error(`invalid value of type "${typeof t[1]}"`);let r=t[1],i=Fw(r),a=n.expectedType;return i.kind===`array`&&i.N===0&&a&&a.kind===`array`&&(typeof a.N!=`number`||a.N===0)&&(i=a),new e(i,r)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}},yR=[`Unknown`,`Point`,`LineString`,`Polygon`],bR=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`?yR[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=aR.parse(e),this._parseColorCache.set(e,t)),t}},xR=class e{constructor(e,t,n,r){this.type=e,this.input=t,this.key=r,this.labels=[],this.outputs=[];for(let[e,t]of n)this.labels.push(e),this.outputs.push(t)}static parse(t,n){if(t.length-1<4)return n.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return n.error(`Expected an even number of arguments.`);let r=n.parse(t[1],1,NL);if(!r)return null;let i=[],a=null;n.expectedType&&n.expectedType.kind!==`value`&&(a=n.expectedType);for(let e=1;e<t.length;e+=2){let r=e===1?-1/0:t[e],o=t[e+1],s=e,c=e+1;if(typeof r!=`number`)return n.error(`Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.`,s);if(i.length&&i[i.length-1][0]>=r)return n.error(`Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.`,s);let l=n.parse(o,c,a);if(!l)return null;a||=l.type,i.push([r,l])}return new e(a,r,i,n.key)}evaluate(e){let t=this.labels,n=this.outputs;if(t.length===1)return n[0].evaluate(e);let r=this.input.evaluate(e);if(r<=t[0])return n[0].evaluate(e);let i=t.length;return r>=t[i-1]?n[i-1].evaluate(e):n[Lw(t,r,this.key)].evaluate(e)}eachChild(e){e(this.input);for(let t of this.outputs)e(t)}outputDefined(){return this.outputs.every(e=>e.outputDefined())}},SR=class e{constructor(e,t,n,r,i,a){this.type=e,this.operator=t,this.interpolation=n,this.input=r,this.key=a,this.labels=[],this.outputs=[];for(let[e,t]of i)this.labels.push(e),this.outputs.push(t)}static interpolationFactor(e,t,n,r){let i=0;if(e.name===`exponential`)i=zw(t,e.base,n,r);else if(e.name===`linear`)i=zw(t,1,n,r);else if(e.name===`cubic-bezier`){let a=e.controlPoints;i=Rw(a[0],a[1],a[2],a[3])(zw(t,1,n,r))}return i}static parse(t,n){let[r,i,a,...o]=t;if(!Array.isArray(i)||i.length===0)return n.error(`Expected an interpolation type expression.`,1);if(i[0]===`linear`)i={name:`linear`};else if(i[0]===`exponential`){let e=i[1];if(typeof e!=`number`)return n.error(`Exponential interpolation requires a numeric base.`,1,1);i={name:`exponential`,base:e}}else if(i[0]===`cubic-bezier`){let e=i.slice(1);if(e.length!==4||e.some(e=>typeof e!=`number`||e<0||e>1))return n.error(`Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.`,1);i={name:`cubic-bezier`,controlPoints:e}}else return n.error(`Unknown interpolation type ${String(i[0])}`,1,0);if(t.length-1<4)return n.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return n.error(`Expected an even number of arguments.`);if(a=n.parse(a,2,NL),!a)return null;let s=[],c=null;(r===`interpolate-hcl`||r===`interpolate-lab`)&&n.expectedType!=WL?c=IL:n.expectedType&&n.expectedType.kind!==`value`&&(c=n.expectedType);for(let e=0;e<o.length;e+=2){let t=o[e],r=o[e+1],i=e+3,a=e+4;if(typeof t!=`number`)return n.error(`Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.`,i);if(s.length&&s[s.length-1][0]>=t)return n.error(`Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.`,i);let l=n.parse(r,a,c);if(!l)return null;c||=l.type,s.push([t,l])}return!pw(c,NL)&&!pw(c,LL)&&!pw(c,IL)&&!pw(c,UL)&&!pw(c,GL)&&!pw(c,WL)&&!pw(c,qL)&&!pw(c,cw(NL))?n.error(`Type ${lw(c)} is not interpolatable.`):new e(c,r,i,a,s,n.key)}evaluate(t){let n=this.labels,r=this.outputs;if(n.length===1)return r[0].evaluate(t);let i=this.input.evaluate(t);if(i<=n[0])return r[0].evaluate(t);let a=n.length;if(i>=n[a-1])return r[a-1].evaluate(t);let o=Lw(n,i,this.key),s=n[o],c=n[o+1],l=e.interpolationFactor(this.interpolation,i,s,c),u=r[o].evaluate(t),d=r[o+1].evaluate(t);switch(this.operator){case`interpolate`:switch(this.type.kind){case`number`:return Aw(u,d,l);case`color`:return aR.interpolate(u,d,l);case`padding`:return lR.interpolate(u,d,l);case`colorArray`:return dR.interpolate(u,d,l);case`numberArray`:return uR.interpolate(u,d,l);case`variableAnchorOffsetCollection`:return mR.interpolate(u,d,l,this.key);case`array`:return jw(u,d,l);case`projectionDefinition`:return gR.interpolate(u,d,l)}case`interpolate-hcl`:switch(this.type.kind){case`color`:return aR.interpolate(u,d,l,`hcl`);case`colorArray`:return dR.interpolate(u,d,l,`hcl`)}case`interpolate-lab`:switch(this.type.kind){case`color`:return aR.interpolate(u,d,l,`lab`);case`colorArray`:return dR.interpolate(u,d,l,`lab`)}}}eachChild(e){e(this.input);for(let t of this.outputs)e(t)}outputDefined(){return this.outputs.every(e=>e.outputDefined())}},CR={color:aR.interpolate,number:Aw,padding:lR.interpolate,numberArray:uR.interpolate,colorArray:dR.interpolate,variableAnchorOffsetCollection:mR.interpolate,array:jw},wR=class e{constructor(e){this.type=HL,this.sections=e}static parse(t,n){if(t.length<2)return n.error(`Expected at least one argument.`);let r=t[1];if(!Array.isArray(r)&&typeof r==`object`)return n.error(`First argument must be an image or text section.`);let i=[],a=!1;for(let e=1;e<=t.length-1;++e){let r=t[e];if(a&&typeof r==`object`&&!Array.isArray(r)){a=!1;let e=null;if(r[`font-scale`]&&(e=n.parse(r[`font-scale`],1,NL),!e))return null;let t=null;if(r[`text-font`]&&(t=n.parse(r[`text-font`],1,cw(PL)),!t))return null;let o=null;if(r[`text-color`]&&(o=n.parse(r[`text-color`],1,IL),!o))return null;let s=null;if(r[`vertical-align`]){if(typeof r[`vertical-align`]==`string`&&!oR.includes(r[`vertical-align`]))return n.error(`'vertical-align' must be one of: 'bottom', 'center', 'top' but found '${r[`vertical-align`]}' instead.`);if(s=n.parse(r[`vertical-align`],1,PL),!s)return null}let c=i[i.length-1];c.scale=e,c.font=t,c.textColor=o,c.verticalAlign=s}else{let r=n.parse(t[e],1,zL);if(!r)return null;let o=r.type.kind;if(o!==`string`&&o!==`value`&&o!==`null`&&o!==`resolvedImage`)return n.error(`Formatted text type must be 'string', 'value', 'image' or 'null'.`);a=!0,i.push({content:r,scale:null,font:null,textColor:null,verticalAlign:null})}}return new e(i)}evaluate(e){return new cR(this.sections.map(t=>{let n=t.content.evaluate(e);return Fw(n)===KL?new sR(``,n,null,null,null,t.verticalAlign?t.verticalAlign.evaluate(e):null):new sR(Iw(n),null,t.scale?t.scale.evaluate(e):null,t.font?t.font.evaluate(e).join(`,`):null,t.textColor?t.textColor.evaluate(e):null,t.verticalAlign?t.verticalAlign.evaluate(e):null)}))}eachChild(e){for(let t of this.sections)e(t.content),t.scale&&e(t.scale),t.font&&e(t.font),t.textColor&&e(t.textColor),t.verticalAlign&&e(t.verticalAlign)}outputDefined(){return!1}},TR={string:PL,number:NL,boolean:FL,object:RL},ER=class e{constructor(e,t,n){this.type=e,this.args=t,this.key=n}static parse(t,n){if(t.length<2)return n.error(`Expected at least one argument.`);let r=1,i,a=t[0];if(a===`array`){let e;if(t.length>2){let i=t[1];if(typeof i!=`string`||!(i in TR)||i===`object`)return n.error(`The item type argument of "array" must be one of string, number, boolean`,1);e=TR[i],r++}else e=zL;let a;if(t.length>3){if(t[2]!==null&&(typeof t[2]!=`number`||t[2]<0||t[2]!==Math.floor(t[2])))return n.error(`The length argument to "array" must be a positive integer literal`,2);a=t[2],r++}i=cw(e,a)}else{if(!TR[a])throw Error(`Types doesn't contain name = ${a}`);i=TR[a]}let o=[];for(;r<t.length;r++){let e=n.parse(t[r],r,zL);if(!e)return null;o.push(e)}return new e(i,o,n.key)}evaluate(e){for(let t=0;t<this.args.length;t++){let n=this.args[t].evaluate(e);if(!uw(this.type,Fw(n)))return n;if(t===this.args.length-1)throw new fR(`Expected value to be of type ${lw(this.type)}, but found ${lw(Fw(n))} instead.`,this.key)}throw Error()}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}},DR={"to-boolean":FL,"to-color":IL,"to-number":NL,"to-string":PL},OR=class e{constructor(e,t,n){this.type=e,this.args=t,this.key=n}static parse(t,n){if(t.length<2)return n.error(`Expected at least one argument.`);let r=t[0];if(!DR[r])throw Error(`Can't parse ${r} as it is not part of the known types`);if((r===`to-boolean`||r===`to-string`)&&t.length!==2)return n.error(`Expected one argument.`);let i=DR[r],a=[];for(let e=1;e<t.length;e++){let r=n.parse(t[e],e,zL);if(!r)return null;a.push(r)}return new e(i,a,n.key)}evaluate(e){switch(this.type.kind){case`boolean`:return!!this.args[0].evaluate(e);case`color`:{let t,n;for(let r of this.args){if(t=r.evaluate(e),n=null,t instanceof aR)return t;if(typeof t==`string`){let n=e.parseColor(t);if(n)return n}else if(Array.isArray(t)&&(n=t.length<3||t.length>4?`Invalid rgba value ${JSON.stringify(t)}: expected an array containing either three or four numeric values.`:Nw(t[0],t[1],t[2],t[3]),!n))return new aR(t[0]/255,t[1]/255,t[2]/255,t[3])}throw new fR(n||`Could not parse color from value '${typeof t==`string`?t:JSON.stringify(t)}'`,this.key)}case`padding`:{let t;for(let n of this.args){t=n.evaluate(e);let r=lR.parse(t);if(r)return r}throw new fR(`Could not parse padding from value '${typeof t==`string`?t:JSON.stringify(t)}'`,this.key)}case`numberArray`:{let t;for(let n of this.args){t=n.evaluate(e);let r=uR.parse(t);if(r)return r}throw new fR(`Could not parse numberArray from value '${typeof t==`string`?t:JSON.stringify(t)}'`,this.key)}case`colorArray`:{let t;for(let n of this.args){t=n.evaluate(e);let r=dR.parse(t);if(r)return r}throw new fR(`Could not parse colorArray from value '${typeof t==`string`?t:JSON.stringify(t)}'`,this.key)}case`variableAnchorOffsetCollection`:{let t;for(let n of this.args){t=n.evaluate(e);let r=mR.parse(t);if(r)return r}throw new fR(`Could not parse variableAnchorOffsetCollection from value '${typeof t==`string`?t:JSON.stringify(t)}'`,this.key)}case`number`:{let t=null;for(let n of this.args){if(t=n.evaluate(e),t===null)return 0;let r=Number(t);if(!isNaN(r))return r}throw new fR(`Could not convert ${JSON.stringify(t)} to number.`,this.key)}case`formatted`:return cR.fromString(Iw(this.args[0].evaluate(e)));case`resolvedImage`:return hR.fromString(Iw(this.args[0].evaluate(e)));case`projectionDefinition`:{let t=this.args[0].evaluate(e);if(gR.parse(t))return t;throw new fR(`Could not parse projectionDefinition from value '${typeof t==`string`?t:JSON.stringify(t)}'`,this.key)}default:return Iw(this.args[0].evaluate(e))}}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}},kR=class e{constructor(e,t){this.type=t.type,this.bindings=[].concat(e),this.result=t}evaluate(e){return this.result.evaluate(e)}eachChild(e){for(let t of this.bindings)e(t[1]);e(this.result)}static parse(t,n){if(t.length<4)return n.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);let r=[];for(let e=1;e<t.length-1;e+=2){let i=t[e];if(typeof i!=`string`)return n.error(`Expected string, but found ${typeof i} instead.`,e);if(/[^a-zA-Z0-9_]/.test(i))return n.error(`Variable names must contain only alphanumeric characters or '_'.`,e);let a=n.parse(t[e+1],e+1);if(!a)return null;r.push([i,a])}let i=n.parse(t[t.length-1],t.length-1,n.expectedType,r);return i?new e(r,i):null}outputDefined(){return this.result.outputDefined()}},AR=class e{constructor(e,t){this.type=t.type,this.name=e,this.boundExpression=t}static parse(t,n){if(t.length!==2||typeof t[1]!=`string`)return n.error(`'var' expression requires exactly one string literal argument.`);let r=t[1];return n.scope.has(r)?new e(r,n.scope.get(r)):n.error(`Unknown variable "${r}". Make sure "${r}" has been bound in an enclosing "let" expression before using it.`,1)}evaluate(e){return this.boundExpression.evaluate(e)}eachChild(){}outputDefined(){return!1}},jR=class e{constructor(e,t,n,r){this.type=e,this.index=t,this.input=n,this.key=r}static parse(t,n){if(t.length!==3)return n.error(`Expected 2 arguments, but found ${t.length-1} instead.`);let r=n.parse(t[1],1,NL),i=n.parse(t[2],2,cw(n.expectedType||zL));if(!r||!i)return null;let a=i.type;return new e(a.itemType,r,i,n.key)}evaluate(e){let t=this.index.evaluate(e),n=this.input.evaluate(e);if(t<0)throw new fR(`Array index out of bounds: ${t} < 0.`,this.key);if(t>=n.length)throw new fR(`Array index out of bounds: ${t} > ${n.length-1}.`,this.key);if(t!==Math.floor(t))throw new fR(`Array index must be an integer, but found ${t} instead.`,this.key);return n[t]}eachChild(e){e(this.index),e(this.input)}outputDefined(){return!1}},MR=class e{constructor(e,t,n){this.needle=e,this.haystack=t,this.key=n,this.type=FL}static parse(t,n){if(t.length!==3)return n.error(`Expected 2 arguments, but found ${t.length-1} instead.`);let r=n.parse(t[1],1,zL),i=n.parse(t[2],2,zL);return!r||!i?null:dw(r.type,[FL,PL,NL,ML,zL])?new e(r,i,n.key):n.error(`Expected first argument to be of type boolean, string, number or null, but found ${lw(r.type)} instead`)}evaluate(e){let t=this.needle.evaluate(e),n=this.haystack.evaluate(e);if(!n)return!1;if(!fw(t,[`boolean`,`string`,`number`,`null`]))throw new fR(`Expected first argument to be of type boolean, string, number or null, but found ${lw(Fw(t))} instead.`,this.key);if(!fw(n,[`string`,`array`]))throw new fR(`Expected second argument to be of type array or string, but found ${lw(Fw(n))} instead.`,this.key);return n.indexOf(t)>=0}eachChild(e){e(this.needle),e(this.haystack)}outputDefined(){return!0}},NR=class e{constructor(e,t,n,r){this.needle=e,this.haystack=t,this.key=n,this.fromIndex=r,this.type=NL}static parse(t,n){if(t.length<=2||t.length>=5)return n.error(`Expected 2 or 3 arguments, but found ${t.length-1} instead.`);let r=n.parse(t[1],1,zL),i=n.parse(t[2],2,zL);if(!r||!i)return null;if(!dw(r.type,[FL,PL,NL,ML,zL]))return n.error(`Expected first argument to be of type boolean, string, number or null, but found ${lw(r.type)} instead`);if(t.length===4){let a=n.parse(t[3],3,NL);return a?new e(r,i,n.key,a):null}return new e(r,i,n.key)}evaluate(e){let t=this.needle.evaluate(e),n=this.haystack.evaluate(e);if(!fw(t,[`boolean`,`string`,`number`,`null`]))throw new fR(`Expected first argument to be of type boolean, string, number or null, but found ${lw(Fw(t))} instead.`,this.key);let r;if(this.fromIndex&&(r=this.fromIndex.evaluate(e)),fw(n,[`string`])){let e=n.indexOf(t,r);return e===-1?-1:[...n.slice(0,e)].length}if(fw(n,[`array`]))return n.indexOf(t,r);throw new fR(`Expected second argument to be of type array or string, but found ${lw(Fw(n))} instead.`,this.key)}eachChild(e){e(this.needle),e(this.haystack),this.fromIndex&&e(this.fromIndex)}outputDefined(){return!1}},PR=class e{constructor(e,t,n,r,i,a){this.inputType=e,this.type=t,this.input=n,this.cases=r,this.outputs=i,this.otherwise=a}static parse(t,n){if(t.length<5)return n.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return n.error(`Expected an even number of arguments.`);let r,i;n.expectedType&&n.expectedType.kind!==`value`&&(i=n.expectedType);let a={},o=[];for(let e=2;e<t.length-1;e+=2){let s=t[e],c=t[e+1];Array.isArray(s)||(s=[s]);let l=n.concat(e);if(s.length===0)return l.error(`Expected at least one branch label.`);for(let e of s){if(typeof e!=`number`&&typeof e!=`string`)return l.error(`Branch labels must be numbers or strings.`);if(typeof e==`number`&&Math.abs(e)>2**53-1)return l.error(`Branch labels must be integers no larger than ${2**53-1}.`);if(typeof e==`number`&&Math.floor(e)!==e)return l.error(`Numeric branch labels must be integer values.`);if(!r)r=Fw(e);else if(l.checkSubtype(r,Fw(e)))return null;if(a[String(e)]!==void 0)return l.error(`Branch labels must be unique.`);a[String(e)]=o.length}let u=n.parse(c,e,i);if(!u)return null;i||=u.type,o.push(u)}let s=n.parse(t[1],1,zL);if(!s)return null;let c=n.parse(t[t.length-1],t.length-1,i);return!c||s.type.kind!==`value`&&n.concat(1).checkSubtype(r,s.type)?null:new e(r,i,s,a,o,c)}evaluate(e){let t=this.input.evaluate(e);return(Fw(t)===this.inputType&&this.outputs[this.cases[t]]||this.otherwise).evaluate(e)}eachChild(e){e(this.input),this.outputs.forEach(e),e(this.otherwise)}outputDefined(){return this.outputs.every(e=>e.outputDefined())&&this.otherwise.outputDefined()}},FR=class e{constructor(e,t,n){this.type=e,this.branches=t,this.otherwise=n}static parse(t,n){if(t.length<4)return n.error(`Expected at least 3 arguments, but found only ${t.length-1}.`);if(t.length%2!=0)return n.error(`Expected an odd number of arguments.`);let r;n.expectedType&&n.expectedType.kind!==`value`&&(r=n.expectedType);let i=[];for(let e=1;e<t.length-1;e+=2){let a=n.parse(t[e],e,FL);if(!a)return null;let o=n.parse(t[e+1],e+1,r);if(!o)return null;i.push([a,o]),r||=o.type}let a=n.parse(t[t.length-1],t.length-1,r);if(!a)return null;if(!r)throw Error(`Can't infer output type`);return new e(r,i,a)}evaluate(e){for(let[t,n]of this.branches)if(t.evaluate(e))return n.evaluate(e);return this.otherwise.evaluate(e)}eachChild(e){for(let[t,n]of this.branches)e(t),e(n);e(this.otherwise)}outputDefined(){return this.branches.every(([e,t])=>t.outputDefined())&&this.otherwise.outputDefined()}},IR=class e{constructor(e,t,n,r,i){this.type=e,this.input=t,this.beginIndex=n,this.key=r,this.endIndex=i}static parse(t,n){if(t.length<=2||t.length>=5)return n.error(`Expected 2 or 3 arguments, but found ${t.length-1} instead.`);let r=n.parse(t[1],1,zL),i=n.parse(t[2],2,NL);if(!r||!i)return null;if(!dw(r.type,[cw(zL),PL,zL]))return n.error(`Expected first argument to be of type array or string, but found ${lw(r.type)} instead`);if(t.length===4){let a=n.parse(t[3],3,NL);return a?new e(r.type,r,i,n.key,a):null}return new e(r.type,r,i,n.key)}evaluate(e){let t=this.input.evaluate(e),n=this.beginIndex.evaluate(e),r;if(this.endIndex&&(r=this.endIndex.evaluate(e)),fw(t,[`string`]))return[...t].slice(n,r).join(``);if(fw(t,[`array`]))return t.slice(n,r);throw new fR(`Expected first argument to be of type array or string, but found ${lw(Fw(t))} instead.`,this.key)}eachChild(e){e(this.input),e(this.beginIndex),this.endIndex&&e(this.endIndex)}outputDefined(){return!1}},LR=class e{constructor(e,t){this.type=e,this.args=t}static parse(t,n){if(t.length<2)return n.error(`Expected at least one argument.`);let r=null,i=n.expectedType;i&&i.kind!==`value`&&(r=i);let a=[];for(let e of t.slice(1)){let t=n.parse(e,1+a.length,r,void 0,{typeAnnotation:`omit`});if(!t)return null;r||=t.type,a.push(t)}if(!r)throw Error(`No output type`);return i&&a.some(e=>uw(i,e.type))?new e(zL,a):new e(r,a)}evaluate(e){let t=null,n=0,r;for(let i of this.args)if(n++,t=i.evaluate(e),t&&t instanceof hR&&!t.available&&(r||=t.name,t=null,n===this.args.length&&(t=r)),t!==null)break;return t}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}},RR=aT(`==`,qw,$w),zR=aT(`!=`,Jw,eT),BR=aT(`<`,Yw,tT),VR=aT(`>`,Xw,nT),HR=aT(`<=`,Zw,rT),UR=aT(`>=`,Qw,iT),WR=class e{constructor(e,t,n){this.type=VL,this.locale=n,this.caseSensitive=e,this.diacriticSensitive=t}static parse(t,n){if(t.length!==2)return n.error(`Expected one argument.`);let r=t[1];if(typeof r!=`object`||Array.isArray(r))return n.error(`Collator options argument must be an object.`);let i=n.parse(r[`case-sensitive`]!==void 0&&r[`case-sensitive`],1,FL);if(!i)return null;let a=n.parse(r[`diacritic-sensitive`]!==void 0&&r[`diacritic-sensitive`],1,FL);if(!a)return null;let o=null;return r.locale&&(o=n.parse(r.locale,1,PL),!o)?null:new e(i,a,o)}evaluate(e){return new _R(this.caseSensitive.evaluate(e),this.diacriticSensitive.evaluate(e),this.locale?this.locale.evaluate(e):null)}eachChild(e){e(this.caseSensitive),e(this.diacriticSensitive),this.locale&&e(this.locale)}outputDefined(){return!1}},GR=class e{constructor(e,t,n,r,i,a){this.type=PL,this.number=e,this.locale=t,this.currency=n,this.unit=r,this.minFractionDigits=i,this.maxFractionDigits=a}static parse(t,n){if(t.length!==3)return n.error(`Expected two arguments.`);let r=n.parse(t[1],1,NL);if(!r)return null;let i=t[2];if(typeof i!=`object`||Array.isArray(i))return n.error(`NumberFormat options argument must be an object.`);let a=null;if(i.locale&&(a=n.parse(i.locale,1,PL),!a))return null;let o=null;if(i.currency&&(o=n.parse(i.currency,1,PL),!o))return null;let s=null;if(i.unit&&(s=n.parse(i.unit,1,PL),!s))return null;if(o&&s)return n.error("NumberFormat options `currency` and `unit` are mutually exclusive");let c=null;if(i[`min-fraction-digits`]&&(c=n.parse(i[`min-fraction-digits`],1,NL),!c))return null;let l=null;return i[`max-fraction-digits`]&&(l=n.parse(i[`max-fraction-digits`],1,NL),!l)?null:new e(r,a,o,s,c,l)}evaluate(e){return new Intl.NumberFormat(this.locale?this.locale.evaluate(e):[],{style:this.currency?`currency`:this.unit?`unit`:`decimal`,currency:this.currency?this.currency.evaluate(e):void 0,unit:this.unit?this.unit.evaluate(e):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(e):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(e):void 0}).format(this.number.evaluate(e))}eachChild(e){e(this.number),this.locale&&e(this.locale),this.currency&&e(this.currency),this.unit&&e(this.unit),this.minFractionDigits&&e(this.minFractionDigits),this.maxFractionDigits&&e(this.maxFractionDigits)}outputDefined(){return!1}},KR=class e{constructor(e){this.type=KL,this.input=e}static parse(t,n){if(t.length!==2)return n.error(`Expected two arguments.`);let r=n.parse(t[1],1,PL);return r?new e(r):n.error(`No image name provided.`)}evaluate(e){let t=this.input.evaluate(e),n=hR.fromString(t);return n&&e.availableImages&&(n.available=e.availableImages.indexOf(t)>-1),n}eachChild(e){e(this.input)}outputDefined(){return!1}},qR=class e{constructor(e,t){this.input=e,this.key=t,this.type=NL}static parse(t,n){if(t.length!==2)return n.error(`Expected 1 argument, but found ${t.length-1} instead.`);let r=n.parse(t[1],1);return r?r.type.kind!==`array`&&r.type.kind!==`string`&&r.type.kind!==`value`?n.error(`Expected argument of type string or array, but found ${lw(r.type)} instead.`):new e(r,n.key):null}evaluate(e){let t=this.input.evaluate(e);if(typeof t==`string`)return[...t].length;if(Array.isArray(t))return t.length;throw new fR(`Expected value to be of type string or array, but found ${lw(Fw(t))} instead.`,this.key)}eachChild(e){e(this.input)}outputDefined(){return!1}},JR=8192,YR=class e{constructor(e,t){this.type=FL,this.geojson=e,this.geometries=t}static parse(t,n){if(t.length!==2)return n.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if(Pw(t[1])){let n=t[1];if(n.type===`FeatureCollection`){let t=[];for(let e of n.features){let{type:n,coordinates:r}=e.geometry;n===`Polygon`&&t.push(r),n===`MultiPolygon`&&t.push(...r)}if(t.length)return new e(n,{type:`MultiPolygon`,coordinates:t})}else if(n.type===`Feature`){let t=n.geometry.type;if(t===`Polygon`||t===`MultiPolygon`)return new e(n,n.geometry)}else if(n.type===`Polygon`||n.type===`MultiPolygon`)return new e(n,n)}return n.error(`'within' expression requires valid geojson object that contains polygon geometry type.`)}evaluate(e){if(e.geometry()!=null&&e.canonicalID()!=null){if(e.geometryType()===`Point`)return AT(e,this.geometries);if(e.geometryType()===`LineString`)return jT(e,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}},XR=class{constructor(e=[],t=(e,t)=>e<t?-1:+(e>t)){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let e=(this.length>>1)-1;e>=0;e--)this._down(e)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(this.length===0)return;let e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){let{data:t,compare:n}=this,r=t[e];for(;e>0;){let i=e-1>>1,a=t[i];if(n(r,a)>=0)break;t[e]=a,e=i}t[e]=r}_down(e){let{data:t,compare:n}=this,r=this.length>>1,i=t[e];for(;e<r;){let r=(e<<1)+1,a=r+1;if(a<this.length&&n(t[a],t[r])<0&&(r=a),n(t[r],i)>=0)break;t[e]=t[r],e=r}t[e]=i}},ZR=Math.PI/180,QR=class{constructor(e){let t=ZR*6378.137*1e3,n=Math.cos(e*ZR),r=1/(1-.0066943799901413165*(1-n*n)),i=Math.sqrt(r);this.kx=t*i*n,this.ky=t*i*r*.9933056200098587}distance(e,t){let n=this.wrap(e[0]-t[0])*this.kx,r=(e[1]-t[1])*this.ky;return Math.sqrt(n*n+r*r)}pointOnLine(e,t){let n=1/0,r,i,a,o;for(let s=0;s<e.length-1;s++){let c=e[s][0],l=e[s][1],u=this.wrap(e[s+1][0]-c)*this.kx,d=(e[s+1][1]-l)*this.ky,f=0;(u!==0||d!==0)&&(f=(this.wrap(t[0]-c)*this.kx*u+(t[1]-l)*this.ky*d)/(u*u+d*d),f>1?(c=e[s+1][0],l=e[s+1][1]):f>0&&(c+=u/this.kx*f,l+=d/this.ky*f)),u=this.wrap(t[0]-c)*this.kx,d=(t[1]-l)*this.ky;let p=u*u+d*d;p<n&&(n=p,r=c,i=l,a=s,o=f)}return{point:[r,i],index:a,t:Math.max(0,Math.min(1,o))}}wrap(e){for(;e<-180;)e+=360;for(;e>180;)e-=360;return e}},$R=class e{constructor(e,t){this.type=NL,this.geojson=e,this.geometries=t}static parse(t,n){if(t.length!==2)return n.error(`'distance' expression requires exactly one argument, but found ${t.length-1} instead.`);if(Pw(t[1])){let n=t[1];if(n.type===`FeatureCollection`)return new e(n,n.features.map(e=>tE(e.geometry)).flat());if(n.type===`Feature`)return new e(n,tE(n.geometry));if(`type`in n&&`coordinates`in n)return new e(n,tE(n))}return n.error(`'distance' expression requires valid geojson object that contains polygon geometry type.`)}evaluate(e){if(e.geometry()!=null&&e.canonicalID()!=null){if(e.geometryType()===`Point`)return QT(e,this.geometries);if(e.geometryType()===`LineString`)return $T(e,this.geometries);if(e.geometryType()===`Polygon`)return eE(e,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}},ez=class e{constructor(e){let t=null;for(let n of e)if(!t)t=n.type;else{if(t===n.type)continue;t=zL;break}this.type=cw(t??zL,e.length),this.arr=e}static parse(t,n){if(t.length!==2)return n.error(`'semiliteral' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!Pw(t[1]))return n.error(`invalid value of type "${typeof t[1]}"`);let r=t[1],i=Fw(r);if(i.kind===`array`){let t=r.map(e=>n.parse(e,null,zL));return new e(t)}return new vR(i,r)}evaluate(e){return this.arr.map(t=>t.evaluate(e))}eachChild(e){this.arr.forEach(e)}outputDefined(){return this.arr.every(e=>e.outputDefined())}},tz=class e{constructor(e){this.key=e,this.type=zL}static parse(t,n){if(t.length!==2)return n.error(`Expected 1 argument, but found ${t.length-1} instead.`);let r=t[1];return r==null?n.error(`Global state property must be defined.`):typeof r==`string`?new e(r):n.error(`Global state property must be string, but found ${typeof t[1]} instead.`)}evaluate(e){let t=e.globals?.globalState;return!t||Object.keys(t).length===0?null:ww(t,this.key)??null}eachChild(){}outputDefined(){return!1}},nz={"==":RR,"!=":zR,">":VR,"<":BR,">=":UR,"<=":HR,array:ER,at:jR,boolean:ER,case:FR,coalesce:LR,collator:WR,format:wR,image:KR,in:MR,"index-of":NR,interpolate:SR,"interpolate-hcl":SR,"interpolate-lab":SR,length:qR,let:kR,literal:vR,match:PR,number:ER,"number-format":GR,object:ER,semiliteral:ez,slice:IR,step:xR,string:ER,"to-boolean":OR,"to-color":OR,"to-number":OR,"to-string":OR,var:AR,within:YR,distance:$R,"global-state":tz},rz=class extends Error{constructor(e,t){super(t),this.message=t,this.key=e}},iz=class e{constructor(e,t=[]){this.parent=e,this.bindings={};for(let[e,n]of t)this.bindings[e]=n}concat(t){return new e(this,t)}get(e){if(this.bindings[e])return this.bindings[e];if(this.parent)return this.parent.get(e);throw Error(`${e} not found in scope.`)}has(e){return this.bindings[e]?!0:this.parent?this.parent.has(e):!1}},az=class e{constructor(e,t,n=[],r,i=new iz,a=[]){this.registry=e,this.path=n,this.key=n.map(e=>`[${e}]`).join(``),this.scope=i,this.errors=a,this.expectedType=r,this._isConstant=t}parse(e,t,n,r,i={}){return t?this.concat(t,n,r)._parse(e,i):this._parse(e,i)}_parse(e,t){(e===null||typeof e==`string`||typeof e==`boolean`||typeof e==`number`)&&(e=[`literal`,e]);let n=this.key;function r(e,t,r){return r===`assert`?new ER(t,[e],n):r===`coerce`?new OR(t,[e],n):e}if(Array.isArray(e)){if(e.length===0)return this.error(`Expected an array with at least one element. If you wanted a literal array, use ["literal", []].`);let n=e[0];if(typeof n!=`string`)return this.error(`Expression name must be a string, but found ${typeof n} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;let i=this.registry[n];if(i){let n=i.parse(e,this);if(!n)return null;if(this.expectedType){let e=this.expectedType,i=n.type;if((e.kind===`string`||e.kind===`number`||e.kind===`boolean`||e.kind===`object`||e.kind===`array`)&&i.kind===`value`)n=r(n,e,t.typeAnnotation||`assert`);else if(e.kind===`projectionDefinition`&&[`string`,`array`,`value`].includes(i.kind)||[`color`,`formatted`,`resolvedImage`].includes(e.kind)&&[`value`,`string`].includes(i.kind)||[`padding`,`numberArray`].includes(e.kind)&&[`value`,`number`,`array`].includes(i.kind)||e.kind===`colorArray`&&[`value`,`string`,`array`].includes(i.kind)||e.kind===`variableAnchorOffsetCollection`&&[`value`,`array`].includes(i.kind))n=r(n,e,t.typeAnnotation||`coerce`);else if(this.checkSubtype(e,i))return null}if(!(n instanceof vR)&&n.type.kind!==`resolvedImage`&&this._isConstant(n)){let e=new bR;try{n=new vR(n.type,n.evaluate(e))}catch(e){return this.error(e.message),null}}return n}return this.error(`Unknown expression "${n}". If you wanted a literal array, use ["literal", [...]].`,0)}return e===void 0?this.error(`'undefined' value invalid. Use null instead.`):typeof e==`object`?this.error(`Bare objects invalid. Use ["literal", {...}] instead.`):this.error(`Expected an array, but found ${typeof e} instead.`)}concat(t,n,r){let i=typeof t==`number`?this.path.concat(t):this.path,a=r?this.scope.concat(r):this.scope;return new e(this.registry,this._isConstant,i,n||null,a,this.errors)}error(e,...t){let n=`${this.key}${t.map(e=>`[${e}]`).join(``)}`;this.errors.push(new rz(n,e))}checkSubtype(e,t){let n=uw(e,t);return n&&this.error(n),n}},oz=class e{constructor(e,t,n,r,i){this.name=e,this.type=t,this._evaluate=n,this.args=r,this.key=i}evaluate(e){return this._evaluate(e,this.args,this.key)}eachChild(e){this.args.forEach(e)}outputDefined(){return!1}static parse(t,n){let r=t[0],i=e.definitions[r];if(!i)return n.error(`Unknown expression "${r}". If you wanted a literal array, use ["literal", [...]].`,0);let a=Array.isArray(i)?i[0]:i.type,o=Array.isArray(i)?[[i[1],i[2]]]:i.overloads,s=o.filter(([e])=>!Array.isArray(e)||e.length===t.length-1),c=null;for(let[i,o]of s){c=new az(n.registry,cE,n.path,null,n.scope);let s=[],l=!1;for(let e=1;e<t.length;e++){let n=t[e],r=Array.isArray(i)?i[e-1]:i.type,a=c.parse(n,1+s.length,r);if(!a){l=!0;break}s.push(a)}if(!l){if(Array.isArray(i)&&i.length!==s.length){c.error(`Expected ${i.length} arguments, but found ${s.length} instead.`);continue}for(let e=0;e<s.length;e++){let t=Array.isArray(i)?i[e]:i.type,n=s[e];c.concat(e+1).checkSubtype(t,n.type)}if(c.errors.length===0)return new e(r,a,o,s,n.key)}}if(s.length===1)n.errors.push(...c.errors);else{let e=(s.length?s:o).map(([e])=>sE(e)).join(` | `),r=[];for(let e=1;e<t.length;e++){let i=n.parse(t[e],1+r.length);if(!i)return null;r.push(lw(i.type))}n.error(`Expected arguments of type ${e}, but found (${r.join(`, `)}) instead.`)}return null}static register(t,n){e.definitions=n;for(let r in n)t[r]=e}},oz.register(nz,{error:[BL,[PL],(e,[t],n)=>{throw new fR(t.evaluate(e),n)}],typeof:[PL,[zL],(e,[t])=>lw(Fw(t.evaluate(e)))],"to-rgba":[cw(NL,4),[IL],(e,[t])=>{let[n,r,i,a]=t.evaluate(e).rgb;return[n*255,r*255,i*255,a]}],rgb:[IL,[NL,NL,NL],nE],rgba:[IL,[NL,NL,NL,NL],nE],has:{type:FL,overloads:[[[PL],(e,[t])=>rE(t.evaluate(e),e.properties())],[[PL,RL],(e,[t,n])=>rE(t.evaluate(e),n.evaluate(e))]]},get:{type:zL,overloads:[[[PL],(e,[t])=>iE(t.evaluate(e),e.properties())],[[PL,RL],(e,[t,n])=>iE(t.evaluate(e),n.evaluate(e))]]},"feature-state":[zL,[PL],(e,[t])=>iE(t.evaluate(e),e.featureState||{})],properties:[RL,[],e=>e.properties()],"geometry-type":[PL,[],e=>e.geometryType()],id:[zL,[],e=>e.id()],zoom:[NL,[],e=>e.globals.zoom],"heatmap-density":[NL,[],e=>e.globals.heatmapDensity||0],elevation:[NL,[],e=>e.globals.elevation||0],"line-progress":[NL,[],e=>e.globals.lineProgress||0],accumulated:[zL,[],e=>e.globals.accumulated===void 0?null:e.globals.accumulated],"+":[NL,oE(NL),(e,t)=>{let n=0;for(let r of t)n+=r.evaluate(e);return n}],"*":[NL,oE(NL),(e,t)=>{let n=1;for(let r of t)n*=r.evaluate(e);return n}],"-":{type:NL,overloads:[[[NL,NL],(e,[t,n])=>t.evaluate(e)-n.evaluate(e)],[[NL],(e,[t])=>-t.evaluate(e)]]},"/":[NL,[NL,NL],(e,[t,n])=>t.evaluate(e)/n.evaluate(e)],"%":[NL,[NL,NL],(e,[t,n])=>t.evaluate(e)%n.evaluate(e)],ln2:[NL,[],()=>Math.LN2],pi:[NL,[],()=>Math.PI],e:[NL,[],()=>Math.E],"^":[NL,[NL,NL],(e,[t,n])=>t.evaluate(e)**+n.evaluate(e)],sqrt:[NL,[NL],(e,[t])=>Math.sqrt(t.evaluate(e))],log10:[NL,[NL],(e,[t])=>Math.log(t.evaluate(e))/Math.LN10],ln:[NL,[NL],(e,[t])=>Math.log(t.evaluate(e))],log2:[NL,[NL],(e,[t])=>Math.log(t.evaluate(e))/Math.LN2],sin:[NL,[NL],(e,[t])=>Math.sin(t.evaluate(e))],cos:[NL,[NL],(e,[t])=>Math.cos(t.evaluate(e))],tan:[NL,[NL],(e,[t])=>Math.tan(t.evaluate(e))],asin:[NL,[NL],(e,[t])=>Math.asin(t.evaluate(e))],acos:[NL,[NL],(e,[t])=>Math.acos(t.evaluate(e))],atan:[NL,[NL],(e,[t])=>Math.atan(t.evaluate(e))],min:[NL,oE(NL),(e,t)=>Math.min(...t.map(t=>t.evaluate(e)))],max:[NL,oE(NL),(e,t)=>Math.max(...t.map(t=>t.evaluate(e)))],abs:[NL,[NL],(e,[t])=>Math.abs(t.evaluate(e))],round:[NL,[NL],(e,[t])=>{let n=t.evaluate(e);return n<0?-Math.round(-n):Math.round(n)}],floor:[NL,[NL],(e,[t])=>Math.floor(t.evaluate(e))],ceil:[NL,[NL],(e,[t])=>Math.ceil(t.evaluate(e))],"filter-==":[FL,[PL,zL],(e,[t,n])=>e.properties()[t.value]===n.value],"filter-id-==":[FL,[zL],(e,[t])=>e.id()===t.value],"filter-type-==":[FL,[PL],(e,[t])=>e.geometryType()===t.value],"filter-<":[FL,[PL,zL],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r<i}],"filter-id-<":[FL,[zL],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n<r}],"filter->":[FL,[PL,zL],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r>i}],"filter-id->":[FL,[zL],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n>r}],"filter-<=":[FL,[PL,zL],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r<=i}],"filter-id-<=":[FL,[zL],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n<=r}],"filter->=":[FL,[PL,zL],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r>=i}],"filter-id->=":[FL,[zL],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n>=r}],"filter-has":[FL,[zL],(e,[t])=>{let n=t.value,r=e.properties();return n in r&&r[n]!==void 0}],"filter-has-id":[FL,[],e=>e.id()!==null&&e.id()!==void 0],"filter-type-in":[FL,[cw(PL)],(e,[t])=>t.value.indexOf(e.geometryType())>=0],"filter-id-in":[FL,[cw(zL)],(e,[t])=>t.value.indexOf(e.id())>=0],"filter-in-small":[FL,[PL,cw(zL)],(e,[t,n])=>n.value.indexOf(e.properties()[t.value])>=0],"filter-in-large":[FL,[PL,cw(zL)],(e,[t,n])=>aE(e.properties()[t.value],n.value,0,n.value.length-1)],all:{type:FL,overloads:[[[FL,FL],(e,[t,n])=>t.evaluate(e)&&n.evaluate(e)],[oE(FL),(e,t)=>{for(let n of t)if(!n.evaluate(e))return!1;return!0}]]},any:{type:FL,overloads:[[[FL,FL],(e,[t,n])=>t.evaluate(e)||n.evaluate(e)],[oE(FL),(e,t)=>{for(let n of t)if(n.evaluate(e))return!0;return!1}]]},"!":[FL,[FL],(e,[t])=>!t.evaluate(e)],"is-supported-script":[FL,[PL],(e,[t])=>{let n=e.globals&&e.globals.isSupportedScript;return!n||n(t.evaluate(e))}],upcase:[PL,[PL],(e,[t])=>t.evaluate(e).toUpperCase()],downcase:[PL,[PL],(e,[t])=>t.evaluate(e).toLowerCase()],concat:[PL,oE(zL),(e,t)=>t.map(t=>Iw(t.evaluate(e))).join(``)],split:[cw(PL),[PL,PL],(e,[t,n])=>t.evaluate(e).split(n.evaluate(e))],join:[PL,[cw(PL),PL],(e,[t,n])=>t.evaluate(e).join(n.evaluate(e))],"resolved-locale":[PL,[VL],(e,[t])=>t.evaluate(e).resolvedLocale()]}),sz=/^(.*)-transition$/,cz=class{constructor(e,t,n,r){this.expression=e,this._warningHistory={},this._evaluator=new bR,this._defaultValue=n?BE(n):null,this._enumValues=n&&n.type===`enum`?n.values:null,this._globalState=r,this._rootKey=t}evaluateWithoutErrorHandling(e,t,n,r,i,a){return this._globalState&&(e=VE(e,this._globalState)),this._evaluator.globals=e,this._evaluator.feature=t,this._evaluator.featureState=n,this._evaluator.canonical=r,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)}evaluate(e,t,n,r,i,a){this._globalState&&(e=VE(e,this._globalState)),this._evaluator.globals=e,this._evaluator.feature=t||null,this._evaluator.featureState=n||null,this._evaluator.canonical=r,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{let e=this.expression.evaluate(this._evaluator);if(e==null||typeof e==`number`&&e!==e)return this._defaultValue;if(this._enumValues&&!(e in this._enumValues))throw new fR(`Expected value to be one of ${Object.keys(this._enumValues).map(e=>JSON.stringify(e)).join(`, `)}, but found ${JSON.stringify(e)} instead.`,``);return e}catch(e){let t=e instanceof fR?e.path:``,n=`${t}|${e.message}`;return this._warningHistory[n]||(this._warningHistory[n]=!0,typeof console<`u`&&console.warn(AE(this._rootKey,t,e.message,this._defaultValue))),this._defaultValue}}},lz=class{constructor(e,t,n){this.kind=e,this._styleExpression=t,this.isStateDependent=e!==`constant`&&!uE(t.expression),this.globalStateRefs=RE(t.expression),this._globalState=n}evaluateWithoutErrorHandling(e,t,n,r,i,a){return this._globalState&&(e=VE(e,this._globalState)),this._styleExpression.evaluateWithoutErrorHandling(e,t,n,r,i,a)}evaluate(e,t,n,r,i,a){return this._globalState&&(e=VE(e,this._globalState)),this._styleExpression.evaluate(e,t,n,r,i,a)}},uz=class{constructor(e,t,n,r,i){this.kind=e,this.zoomStops=n,this._styleExpression=t,this.isStateDependent=e!==`camera`&&!uE(t.expression),this.globalStateRefs=RE(t.expression),this.interpolationType=r,this._globalState=i}evaluateWithoutErrorHandling(e,t,n,r,i,a){return this._globalState&&(e=VE(e,this._globalState)),this._styleExpression.evaluateWithoutErrorHandling(e,t,n,r,i,a)}evaluate(e,t,n,r,i,a){return this._globalState&&(e=VE(e,this._globalState)),this._styleExpression.evaluate(e,t,n,r,i,a)}interpolationFactor(e,t,n){return this.interpolationType?SR.interpolationFactor(this.interpolationType,e,t,n):0}},dz=class e{constructor(e,t,n){this.isStateDependent=!1,this.globalStateRefs=new Set,this._globalState=null,jE(t),this._parameters=e,this._specification=n,this._rootKey=t,this._defaultValue=BE(n),this._warningHistory={};let r=xE(this._parameters,this._specification);this.kind=r.kind,this.interpolationFactor=r.interpolationFactor,this.zoomStops=r.zoomStops,this.interpolationType=r.interpolationType,this._innerEvaluate=r.evaluate}evaluate(e,t){try{return this._innerEvaluate(e,t)}catch(e){let t=e instanceof Error?e.message:String(e),n=`|${t}`;return this._warningHistory[n]||(this._warningHistory[n]=!0,typeof console<`u`&&console.warn(AE(this._rootKey,``,t,this._defaultValue))),this._defaultValue}}static deserialize(t){return new e(t._parameters,t._rootKey,t._specification)}static serialize(e){return{_parameters:e._parameters,_specification:e._specification,_rootKey:e._rootKey}}},fz={type:`boolean`,default:!1,transition:!1,"property-type":`data-driven`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]}},pz={promoteId:OD},mz=1114111,hz=/^u\+(?:([0-9a-f]{1,6})(?:-([0-9a-f]{1,6}))?|([0-9a-f]{0,5}\?{1,6}))$/i,gz={"*"(){return[]},array:uD,boolean:mD,number:dD,color:hD,constants:oD,enum:gD,filter:yD,function:fD,layer:wD,object:lD,source:DD,light:kD,sky:AD,terrain:jD,projection:zD,projectionDefinition:BD,string:TD,formatted:MD,resolvedImage:ND,padding:PD,numberArray:FD,colorArray:ID,variableAnchorOffsetCollection:LD,sprite:RD,state:WD,fontFaces:KD},YD.source=QD(XD(DD)),YD.sprite=QD(XD(RD)),YD.glyphs=QD(XD(JD)),YD.fontFaces=QD(XD(KD)),YD.light=QD(XD(kD)),YD.sky=QD(XD(AD)),YD.terrain=QD(XD(jD)),YD.state=QD(XD(WD)),YD.layer=QD(XD(wD)),YD.filter=QD(XD(yD)),YD.paintProperty=QD(XD(SD)),YD.layoutProperty=QD(XD(CD)),_z={type:`enum`,"property-type":`data-constant`,expression:{interpolated:!1,parameters:[`global-state`]},values:{visible:{},none:{}},transition:!1,default:`visible`},vz=class{constructor(e,t,n){this._rootKey=t,this._globalState=n,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=NE(e,this._rootKey,_z,this._globalState);if(t.result===`error`)throw this._literalValue=`visible`,this._compiledValue=void 0,Error(t.value.map(e=>`${e.key}: ${e.message}`).join(`, `));this._literalValue=void 0,this._compiledValue=t.value,this._globalStateRefs=RE(t.value.expression)}getGlobalStateRefs(){return this._globalStateRefs}},yz=YD,bz=new Set(Object.keys(kL).filter(e=>e.startsWith(`source_`)).map(e=>e.slice(7).replaceAll(`_`,`-`))),xz=class e{constructor(e,t,n){let r=this.cells=[];if(e instanceof ArrayBuffer){this.arrayBuffer=e;let i=new Int32Array(this.arrayBuffer);e=i[0],t=i[1],n=i[2],this.d=t+2*n;for(let e=0;e<this.d*this.d;e++){let t=i[3+e],n=i[3+e+1];r.push(t===n?null:i.subarray(t,n))}let a=i[3+r.length],o=i[3+r.length+1];this.keys=i.subarray(a,o),this.bboxes=i.subarray(o),this.insert=this._insertReadonly}else{this.d=t+2*n;for(let e=0;e<this.d*this.d;e++)r.push([]);this.keys=[],this.bboxes=[]}this.n=t,this.extent=e,this.padding=n,this.scale=t/e,this.uid=0;let i=n/t*e;this.min=-i,this.max=e+i}insert(e,t,n,r,i){this._forEachCell(t,n,r,i,this._insertCell,this.uid++,void 0,void 0),this.keys.push(e),this.bboxes.push(t),this.bboxes.push(n),this.bboxes.push(r),this.bboxes.push(i)}_insertReadonly(){throw Error(`Cannot insert into a GridIndex created from an ArrayBuffer.`)}_insertCell(e,t,n,r,i,a){this.cells[i].push(a)}query(e,t,n,r,i){let a=this.min,o=this.max;if(e<=a&&t<=a&&o<=n&&o<=r&&!i)return[...this.keys];{let a=[];return this._forEachCell(e,t,n,r,this._queryCell,a,{},i),a}}_queryCell(e,t,n,r,i,a,o,s){let c=this.cells[i];if(c!==null){let i=this.keys,l=this.bboxes;for(let u of c)if(o[u]===void 0){let c=u*4;(s?s(l[c+0],l[c+1],l[c+2],l[c+3]):e<=l[c+2]&&t<=l[c+3]&&n>=l[c+0]&&r>=l[c+1])?(o[u]=!0,a.push(i[u])):o[u]=!1}}}_forEachCell(e,t,n,r,i,a,o,s){let c=this._convertToCellCoord(e),l=this._convertToCellCoord(t),u=this._convertToCellCoord(n),d=this._convertToCellCoord(r);for(let f=c;f<=u;f++)for(let c=l;c<=d;c++){let l=this.d*c+f;if((!s||s(this._convertFromCellCoord(f),this._convertFromCellCoord(c),this._convertFromCellCoord(f+1),this._convertFromCellCoord(c+1)))&&i.call(this,e,t,n,r,l,a,o,s))return}}_convertFromCellCoord(e){return(e-this.padding)/this.scale}_convertToCellCoord(e){return Math.max(0,Math.min(this.d-1,Math.floor(e*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let e=this.cells,t=3+this.cells.length+1+1,n=0;for(let e of this.cells)n+=e.length;let r=new Int32Array(t+n+this.keys.length+this.bboxes.length);r[0]=this.extent,r[1]=this.n,r[2]=this.padding;let i=t;for(let t=0;t<e.length;t++){let n=e[t];r[3+t]=i,r.set(n,i),i+=n.length}return r[3+e.length]=i,r.set(this.keys,i),i+=this.keys.length,r[3+e.length+1]=i,r.set(this.bboxes,i),i+=this.bboxes.length,r.buffer}static serialize(e,t){let n=e.toArrayBuffer();return t&&t.push(n),{buffer:n}}static deserialize(t){return new e(t.buffer)}},Sz={},iO(`Object`,Object),iO(`Set`,Set),iO(`TransferableGridIndex`,xz),iO(`Color`,aR),iO(`Error`,Error),iO(`AJAXError`,yL),iO(`ResolvedImage`,hR),iO(`StylePropertyFunction`,dz),iO(`StyleExpression`,cz,{omit:[`_evaluator`]}),iO(`ZoomDependentExpression`,uz),iO(`ZoomConstantExpression`,lz),iO(`CompoundExpression`,oz,{omit:[`_evaluate`]});for(let e in nz)nz[e]._classRegistryKey||iO(`Expression_${e}`,nz[e]);Cz=class{constructor(){this.first=!0}update(e,t){let n=Math.floor(e);return this.first?(this.first=!1,this.lastIntegerZoom=n,this.lastIntegerZoomTime=0,this.lastZoom=e,this.lastFloorZoom=n,!0):(this.lastFloorZoom>n?(this.lastIntegerZoom=n+1,this.lastIntegerZoomTime=t):this.lastFloorZoom<n&&(this.lastIntegerZoom=n,this.lastIntegerZoomTime=t),e!==this.lastZoom&&(this.lastZoom=e,this.lastFloorZoom=n,!0))}},wz=class{constructor(e,t){this.zoom=e,t?(this.now=t.now||0,this.fadeDuration=t.fadeDuration||0,this.zoomHistory=t.zoomHistory||new Cz,this.transition=t.transition||{}):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Cz,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),n=this.crossFadingFactor();return e>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:t+(1-t)*n}:{fromScale:.5,toScale:1,t:1-(1-n)*t}}},Tz=`-transition`,Ez=class{constructor(e,t,n,r){this.property=e,this.value=t,this.expression=IE(t===void 0?e.specification.default:t,n,e.specification,r)}isDataDriven(){return this.expression.kind===`source`||this.expression.kind===`composite`}getGlobalStateRefs(){return this.expression.globalStateRefs||new Set}possiblyEvaluate(e,t,n){return this.property.possiblyEvaluate(this,e,t,n)}},Dz=class{constructor(e,t,n){this.property=e,this.value=new Ez(e,void 0,t,n)}transitioned(e,t){return new kz(this.property,this.value,t,yC({},e.transition,this.transition),e.now)}untransitioned(){return new kz(this.property,this.value,null,{},0)}},Oz=class{constructor(e,t,n){this._properties=e,this._values=Object.create(e.defaultTransitionablePropertyValues),this._globalState=n,this._rootKey=t}_propertyRootKey(e){return`${this._rootKey}.${String(e)}`}hasProperty(e){return e in this._properties.defaultTransitionablePropertyValues}getValue(e){return AC(this._values[e].value.value)}setValue(e,t){Object.hasOwn(this._values,e)||(this._values[e]=new Dz(this._values[e].property,this._propertyRootKey(e),this._globalState)),this._values[e].value=new Ez(this._values[e].property,t===null?void 0:AC(t),this._propertyRootKey(e),this._globalState)}getTransition(e){return AC(this._values[e].transition)}setTransition(e,t){Object.hasOwn(this._values,e)||(this._values[e]=new Dz(this._values[e].property,this._propertyRootKey(e),this._globalState)),this._values[e].transition=AC(t)||void 0}serialize(){let e={};for(let t of Object.keys(this._values)){let n=this.getValue(t);n!==void 0&&(e[t]=n);let r=this.getTransition(t);r!==void 0&&(e[`${t}${Tz}`]=r)}return e}transitioned(e,t){let n=new Az(this._properties);for(let r of Object.keys(this._values))n._values[r]=this._values[r].transitioned(e,t._values[r]);return n}untransitioned(){let e=new Az(this._properties);for(let t of Object.keys(this._values))e._values[t]=this._values[t].untransitioned();return e}},kz=class{constructor(e,t,n,r,i){this.property=e,this.value=t,this.begin=i+r.delay||0,this.end=this.begin+r.duration||0,e.specification.transition&&(r.delay||r.duration)&&(this.prior=n)}possiblyEvaluate(e,t,n){let r=e.now||0,i=this.value.possiblyEvaluate(e,t,n),a=this.prior;if(!a)return i;if(r>this.end||this.value.isDataDriven())return this.prior=null,i;if(r<this.begin)return a.possiblyEvaluate(e,t,n);{let o=(r-this.begin)/(this.end-this.begin);return this.property.interpolate(a.possiblyEvaluate(e,t,n),i,hC(o))}}},Az=class{constructor(e){this._properties=e,this._values=Object.create(e.defaultTransitioningPropertyValues)}possiblyEvaluate(e,t,n){let r=new Nz(this._properties);for(let i of Object.keys(this._values))r._values[i]=this._values[i].possiblyEvaluate(e,t,n);return r}hasTransition(){for(let e of Object.keys(this._values))if(this._values[e].prior)return!0;return!1}},jz=class{constructor(e,t,n){this._properties=e,this._values=Object.create(e.defaultPropertyValues),this._globalState=n,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 AC(this._values[e].value)}setValue(e,t){this._values[e]=new Ez(this._values[e].property,t===null?void 0:AC(t),this._propertyRootKey(e),this._globalState)}serialize(){let e={};for(let t of Object.keys(this._values)){let n=this.getValue(t);n!==void 0&&(e[t]=n)}return e}possiblyEvaluate(e,t,n){let r=new Nz(this._properties);for(let i of Object.keys(this._values))r._values[i]=this._values[i].possiblyEvaluate(e,t,n);return r}},Mz=class{constructor(e,t,n){this.property=e,this.value=t,this.parameters=n}isConstant(){return this.value.kind===`constant`}constantOr(e){return this.value.kind===`constant`?this.value.value:e}evaluate(e,t,n,r){return this.property.evaluate(this.value,this.parameters,e,t,n,r)}},Nz=class{constructor(e){this._properties=e,this._values=Object.create(e.defaultPossiblyEvaluatedValues)}get(e){return this._values[e]}},Pz=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,n){if(fO(e,t))return jC(`Property "${this.name}" is trying to interpolate arrays of different lengths. Rendering may 'jump'.`),t;let r=this.specification.type,i=CR[r];return i?i(e,t,n):e}},Fz=class{constructor(e,t,n){this.specification=e,this.name=t,this.overrides=n}possiblyEvaluate(e,t,n,r){return e.expression.kind===`constant`||e.expression.kind===`camera`?new Mz(this,{kind:`constant`,value:e.expression.evaluate(t,null,{},n,r)},t):new Mz(this,e.expression,t)}interpolate(e,t,n){if(e.value.kind!==`constant`||t.value.kind!==`constant`)return e;if(e.value.value===void 0||t.value.value===void 0)return new Mz(this,{kind:`constant`,value:void 0},e.parameters);if(fO(e.value.value,t.value.value))return jC(`Property "${this.name}" is trying to interpolate arrays of different lengths. Rendering may 'jump'.`),t;let r=this.specification.type,i=CR[r];if(i){let r=i(e.value.value,t.value.value,n);return new Mz(this,{kind:`constant`,value:r},e.parameters)}return e}evaluate(e,t,n,r,i,a){return e.kind===`constant`?e.value:e.evaluate(t,n,r,i,a)}},Iz=class extends Fz{possiblyEvaluate(e,t,n,r){if(e.value===void 0)return new Mz(this,{kind:`constant`,value:void 0},t);if(e.expression.kind===`constant`){let i=e.expression.evaluate(t,null,{},n,r),a=e.property.specification.type===`resolvedImage`&&typeof i!=`string`?i.name:i,o=this._calculate(a,a,a,t);return new Mz(this,{kind:`constant`,value:o},t)}if(e.expression.kind===`camera`){let n=this._calculate(e.expression.evaluate({zoom:t.zoom-1}),e.expression.evaluate({zoom:t.zoom}),e.expression.evaluate({zoom:t.zoom+1}),t);return new Mz(this,{kind:`constant`,value:n},t)}return new Mz(this,e.expression,t)}evaluate(e,t,n,r,i,a){if(e.kind===`source`){let o=e.evaluate(t,n,r,i,a);return this._calculate(o,o,o,t)}return e.kind===`composite`?this._calculate(e.evaluate({zoom:Math.floor(t.zoom)-1},n,r),e.evaluate({zoom:Math.floor(t.zoom)},n,r),e.evaluate({zoom:Math.floor(t.zoom)+1},n,r),t):e.value}_calculate(e,t,n,r){return r.zoom>r.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:n,to:t}}interpolate(e){return e}},Lz=class{constructor(e,t){this.specification=e,this.name=t}possiblyEvaluate(e,t,n,r){if(e.value!==void 0){if(e.expression.kind===`constant`){let i=e.expression.evaluate(t,null,{},n,r);return this._calculate(i,i,i,t)}return this._calculate(e.expression.evaluate(new wz(Math.floor(t.zoom-1),t)),e.expression.evaluate(new wz(Math.floor(t.zoom),t)),e.expression.evaluate(new wz(Math.floor(t.zoom+1),t)),t)}}_calculate(e,t,n,r){return r.zoom>r.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:n,to:t}}interpolate(e){return e}},Rz=class{constructor(e,t){this.specification=e,this.name=t}possiblyEvaluate(e,t,n,r){return!!e.expression.evaluate(t,null,{},n,r)}interpolate(){return!1}},zz=class{constructor(e){this.properties=e,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let t in e){let n=e[t];n.specification.overridable&&this.overridableProperties.push(t);let r=this.defaultPropertyValues[t]=new Ez(n,void 0,n.name,void 0),i=this.defaultTransitionablePropertyValues[t]=new Dz(n,n.name,void 0);this.defaultTransitioningPropertyValues[t]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[t]=r.possiblyEvaluate({})}}},iO(`DataDrivenProperty`,Fz),iO(`DataConstantProperty`,Pz),iO(`CrossFadedDataDrivenProperty`,Iz),iO(`CrossFadedProperty`,Lz),iO(`ColorRampProperty`,Rz),Bz=` is a PAINT property not a LAYOUT property. Use get/setPaintProperty instead?`,Vz=` is a LAYOUT property not a PAINT property. Use get/setLayoutProperty instead?`,Hz=class extends DL{constructor(e,t,n){if(super(),this.id=e.id,this.type=e.type,this._globalState=n,this._featureFilter={filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set},this._visibilityExpression=$D(this.visibility,`layers[${this.id}].layout.visibility`,n),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=ZE(e.filter,`layers[${this.id}].filter`,n)),t.layout&&(this._unevaluatedLayout=new jz(t.layout,`layers[${this.id}].layout`,n)),t.paint)){this._transitionablePaint=new Oz(t.paint,`layers[${this.id}].paint`,n);for(let t in e.paint)this.setPaintProperty(t,e.paint[t],{validate:!1});for(let t in e.layout)this.setLayoutProperty(t,e.layout[t],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Nz(t.paint)}}setFilter(e){this.filter=e,this._featureFilter=ZE(e,`layers[${this.id}].filter`,this._globalState)}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(e){var t;if(e===`visibility`)return this.visibility;if((t=this._transitionablePaint)!=null&&t.hasProperty(e))throw Error(e+Bz);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 n=this._unevaluatedLayout._values[t];for(let t of n.getGlobalStateRefs())e.add(t)}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 n=this._transitionablePaint._values[t].value;for(let r of n.getGlobalStateRefs()){let i=e.get(r)??[];i.push({name:t,value:n.value}),e.set(r,i)}}return e}getVisibilityAffectingGlobalStateRefs(){return this._visibilityExpression.getGlobalStateRefs()}setLayoutProperty(e,t,n={}){var r;if(e===`visibility`){this.visibility=t,this._visibilityExpression.setValue(t),this.recalculateVisibility();return}if((r=this._transitionablePaint)!=null&&r.hasProperty(e)){this.fire(new EL(Error(e+Bz)));return}t!=null&&this._validate(yz.layoutProperty,`layers.${this.id}.layout.${e}`,e,t,n)||this._unevaluatedLayout.setValue(e,t)}getPaintProperty(e){var t,n;if(e.endsWith(`-transition`)){let n=e.slice(0,-11);if(n===`visibility`||(t=this._unevaluatedLayout)!=null&&t.hasProperty(n))throw Error(e+Vz);return this._transitionablePaint.getTransition(n)}if(e===`visibility`||(n=this._unevaluatedLayout)!=null&&n.hasProperty(e))throw Error(e+Vz);return this._transitionablePaint.getValue(e)}setPaintProperty(e,t,n={}){var r;if(e===`visibility`||(r=this._unevaluatedLayout)!=null&&r.hasProperty(e))return this.fire(new EL(Error(e+Vz))),!1;if(t!=null&&this._validate(yz.paintProperty,`layers.${this.id}.paint.${e}`,e,t,n))return!1;if(e.endsWith(`-transition`))return this._transitionablePaint.setTransition(e.slice(0,-11),t||void 0),!1;{let n=this._transitionablePaint._values[e],r=n.property.specification[`property-type`]===`cross-faded-data-driven`,i=n.value.isDataDriven(),a=n.value;this._transitionablePaint.setValue(e,t),this._handleSpecialPaintPropertyUpdate(e);let o=this._transitionablePaint._values[e].value;return o.isDataDriven()||i||r||this._handleOverridablePaintPropertyUpdate(e,a,o)}}_handleSpecialPaintPropertyUpdate(e){}_handleOverridablePaintPropertyUpdate(e,t,n){return!1}isHidden(e=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)}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.visibility=this.visibility),OC(e,(e,t)=>e!==void 0&&!(t===`layout`&&!Object.keys(e).length)&&!(t===`paint`&&!Object.keys(e).length))}_validate(e,t,n,r,i={}){return rO(this,e,{key:t,layerType:this.type,objectKey:n,value:r},i)}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 Mz&&fE(t.property.specification)&&(t.value.kind===`source`||t.value.kind===`composite`)&&t.value.isStateDependent)return!0}return!1}},Wz=()=>Uz||=new zz({"raster-opacity":new Pz(kL.paint_raster[`raster-opacity`],`raster-opacity`),"raster-hue-rotate":new Pz(kL.paint_raster[`raster-hue-rotate`],`raster-hue-rotate`),"raster-brightness-min":new Pz(kL.paint_raster[`raster-brightness-min`],`raster-brightness-min`),"raster-brightness-max":new Pz(kL.paint_raster[`raster-brightness-max`],`raster-brightness-max`),"raster-saturation":new Pz(kL.paint_raster[`raster-saturation`],`raster-saturation`),"raster-contrast":new Pz(kL.paint_raster[`raster-contrast`],`raster-contrast`),resampling:new Pz(kL.paint_raster.resampling,`resampling`),"raster-resampling":new Pz(kL.paint_raster[`raster-resampling`],`raster-resampling`),"raster-fade-duration":new Pz(kL.paint_raster[`raster-fade-duration`],`raster-fade-duration`)}),Gz={get paint(){return Wz()}},Kz=e=>e.type===`raster`,qz=class extends Hz{constructor(e,t){super(e,Gz,t)}},Jz={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Yz=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}},Xz=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()}},Zz=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t){let n=this.length;return this.resize(n+1),this.emplace(n,e,t)}emplace(e,t,n){let r=e*2;return this.int16[r+0]=t,this.int16[r+1]=n,e}},Zz.prototype.bytesPerElement=4,iO(`StructArrayLayout2i4`,Zz),Qz=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=e*3;return this.int16[i+0]=t,this.int16[i+1]=n,this.int16[i+2]=r,e}},Qz.prototype.bytesPerElement=6,iO(`StructArrayLayout3i6`,Qz),$z=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,n,r)}emplace(e,t,n,r,i){let a=e*4;return this.int16[a+0]=t,this.int16[a+1]=n,this.int16[a+2]=r,this.int16[a+3]=i,e}},$z.prototype.bytesPerElement=8,iO(`StructArrayLayout4i8`,$z),eB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,n,r,i,a)}emplace(e,t,n,r,i,a,o){let s=e*6;return this.int16[s+0]=t,this.int16[s+1]=n,this.int16[s+2]=r,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,e}},eB.prototype.bytesPerElement=12,iO(`StructArrayLayout2i4i12`,eB),tB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,n,r,i,a)}emplace(e,t,n,r,i,a,o){let s=e*4,c=e*8;return this.int16[s+0]=t,this.int16[s+1]=n,this.uint8[c+4]=r,this.uint8[c+5]=i,this.uint8[c+6]=a,this.uint8[c+7]=o,e}},tB.prototype.bytesPerElement=8,iO(`StructArrayLayout2i4ub8`,tB),nB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t){let n=this.length;return this.resize(n+1),this.emplace(n,e,t)}emplace(e,t,n){let r=e*2;return this.float32[r+0]=t,this.float32[r+1]=n,e}},nB.prototype.bytesPerElement=8,iO(`StructArrayLayout2f8`,nB),rB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s,c,l){let u=this.length;return this.resize(u+1),this.emplace(u,e,t,n,r,i,a,o,s,c,l)}emplace(e,t,n,r,i,a,o,s,c,l,u){let d=e*10;return this.uint16[d+0]=t,this.uint16[d+1]=n,this.uint16[d+2]=r,this.uint16[d+3]=i,this.uint16[d+4]=a,this.uint16[d+5]=o,this.uint16[d+6]=s,this.uint16[d+7]=c,this.uint16[d+8]=l,this.uint16[d+9]=u,e}},rB.prototype.bytesPerElement=20,iO(`StructArrayLayout10ui20`,rB),iB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s){let c=this.length;return this.resize(c+1),this.emplace(c,e,t,n,r,i,a,o,s)}emplace(e,t,n,r,i,a,o,s,c){let l=e*8;return this.uint16[l+0]=t,this.uint16[l+1]=n,this.uint16[l+2]=r,this.uint16[l+3]=i,this.uint16[l+4]=a,this.uint16[l+5]=o,this.uint16[l+6]=s,this.uint16[l+7]=c,e}},iB.prototype.bytesPerElement=16,iO(`StructArrayLayout8ui16`,iB),aB=class extends Xz{_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,n,r,i,a,o,s,c,l,u,d,f){let p=this.length;return this.resize(p+1),this.emplace(p,e,t,n,r,i,a,o,s,c,l,u,d,f)}emplace(e,t,n,r,i,a,o,s,c,l,u,d,f,p){let m=e*14,h=e*7;return this.int16[m+0]=t,this.int16[m+1]=n,this.int16[m+2]=r,this.int16[m+3]=i,this.uint16[m+4]=a,this.uint16[m+5]=o,this.uint16[m+6]=s,this.uint16[m+7]=c,this.int16[m+8]=l,this.int16[m+9]=u,this.int16[m+10]=d,this.int16[m+11]=f,this.float32[h+6]=p,e}},aB.prototype.bytesPerElement=28,iO(`StructArrayLayout4i4ui4i1f28`,aB),oB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=e*3;return this.float32[i+0]=t,this.float32[i+1]=n,this.float32[i+2]=r,e}},oB.prototype.bytesPerElement=12,iO(`StructArrayLayout3f12`,oB),sB=class extends Xz{_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 n=e*1;return this.uint32[n+0]=t,e}},sB.prototype.bytesPerElement=4,iO(`StructArrayLayout1ul4`,sB),cB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s,c){let l=this.length;return this.resize(l+1),this.emplace(l,e,t,n,r,i,a,o,s,c)}emplace(e,t,n,r,i,a,o,s,c,l){let u=e*10,d=e*5;return this.int16[u+0]=t,this.int16[u+1]=n,this.int16[u+2]=r,this.int16[u+3]=i,this.int16[u+4]=a,this.int16[u+5]=o,this.uint32[d+3]=s,this.uint16[u+8]=c,this.uint16[u+9]=l,e}},cB.prototype.bytesPerElement=20,iO(`StructArrayLayout6i1ul2ui20`,cB),lB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,n,r,i,a)}emplace(e,t,n,r,i,a,o){let s=e*6;return this.int16[s+0]=t,this.int16[s+1]=n,this.int16[s+2]=r,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,e}},lB.prototype.bytesPerElement=12,iO(`StructArrayLayout2i2i2i12`,lB),uB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i){let a=this.length;return this.resize(a+1),this.emplace(a,e,t,n,r,i)}emplace(e,t,n,r,i,a){let o=e*4,s=e*8;return this.float32[o+0]=t,this.float32[o+1]=n,this.float32[o+2]=r,this.int16[s+6]=i,this.int16[s+7]=a,e}},uB.prototype.bytesPerElement=16,iO(`StructArrayLayout2f1f2i16`,uB),dB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,n,r,i,a)}emplace(e,t,n,r,i,a,o){let s=e*16,c=e*4,l=e*8;return this.uint8[s+0]=t,this.uint8[s+1]=n,this.float32[c+1]=r,this.float32[c+2]=i,this.int16[l+6]=a,this.int16[l+7]=o,e}},dB.prototype.bytesPerElement=16,iO(`StructArrayLayout2ub2f2i16`,dB),fB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=e*3;return this.uint16[i+0]=t,this.uint16[i+1]=n,this.uint16[i+2]=r,e}},fB.prototype.bytesPerElement=6,iO(`StructArrayLayout3ui6`,fB),pB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_){let v=this.length;return this.resize(v+1),this.emplace(v,e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_)}emplace(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v){let y=e*26,b=e*13,x=e*52;return this.int16[y+0]=t,this.int16[y+1]=n,this.uint16[y+2]=r,this.uint16[y+3]=i,this.uint32[b+2]=a,this.uint32[b+3]=o,this.uint32[b+4]=s,this.uint16[y+10]=c,this.uint16[y+11]=l,this.uint16[y+12]=u,this.float32[b+7]=d,this.float32[b+8]=f,this.uint8[x+36]=p,this.uint8[x+37]=m,this.uint8[x+38]=h,this.uint32[b+10]=g,this.int16[y+22]=_,this.float32[b+12]=v,e}},pB.prototype.bytesPerElement=52,iO(`StructArrayLayout2i2ui3ul3ui2f3ub1ul1i1f52`,pB),mB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O){let k=this.length;return this.resize(k+1),this.emplace(k,e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O)}emplace(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k){let A=e*34,j=e*17;return this.int16[A+0]=t,this.int16[A+1]=n,this.int16[A+2]=r,this.int16[A+3]=i,this.int16[A+4]=a,this.int16[A+5]=o,this.int16[A+6]=s,this.int16[A+7]=c,this.uint16[A+8]=l,this.uint16[A+9]=u,this.uint16[A+10]=d,this.uint16[A+11]=f,this.uint16[A+12]=p,this.uint16[A+13]=m,this.uint16[A+14]=h,this.uint16[A+15]=g,this.uint16[A+16]=_,this.uint16[A+17]=v,this.uint16[A+18]=y,this.uint16[A+19]=b,this.uint16[A+20]=x,this.uint16[A+21]=S,this.uint16[A+22]=C,this.uint32[j+12]=w,this.float32[j+13]=T,this.float32[j+14]=E,this.uint16[A+30]=D,this.uint16[A+31]=O,this.float32[j+16]=k,e}},mB.prototype.bytesPerElement=68,iO(`StructArrayLayout8i15ui1ul2f2ui1f68`,mB),hB=class extends Xz{_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 n=e*1;return this.float32[n+0]=t,e}},hB.prototype.bytesPerElement=4,iO(`StructArrayLayout1f4`,hB),gB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=e*6,a=e*3;return this.uint16[i+0]=t,this.float32[a+1]=n,this.float32[a+2]=r,e}},gB.prototype.bytesPerElement=12,iO(`StructArrayLayout1ui2f12`,gB),_B=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=e*2,a=e*4;return this.uint32[i+0]=t,this.uint16[a+2]=n,this.uint16[a+3]=r,e}},_B.prototype.bytesPerElement=8,iO(`StructArrayLayout1ul2ui8`,_B),vB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t){let n=this.length;return this.resize(n+1),this.emplace(n,e,t)}emplace(e,t,n){let r=e*2;return this.uint16[r+0]=t,this.uint16[r+1]=n,e}},vB.prototype.bytesPerElement=4,iO(`StructArrayLayout2ui4`,vB),yB=class extends Xz{_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 n=e*1;return this.uint16[n+0]=t,e}},yB.prototype.bytesPerElement=2,iO(`StructArrayLayout1ui2`,yB),bB=class extends Xz{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n,r){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,n,r)}emplace(e,t,n,r,i){let a=e*4;return this.float32[a+0]=t,this.float32[a+1]=n,this.float32[a+2]=r,this.float32[a+3]=i,e}},bB.prototype.bytesPerElement=16,iO(`StructArrayLayout4f16`,bB),xB=class extends Yz{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 Vx(this.anchorPointX,this.anchorPointY)}},xB.prototype.size=20,SB=class extends cB{get(e){return new xB(this,e)}},iO(`CollisionBoxArray`,SB),CB=class extends Yz{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]}},CB.prototype.size=52,wB=class extends pB{get(e){return new CB(this,e)}},iO(`PlacedSymbolArray`,wB),TB=class extends Yz{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]}},TB.prototype.size=68,EB=class extends mB{get(e){return new TB(this,e)}},iO(`SymbolInstanceArray`,EB),DB=class extends hB{getoffsetX(e){return this.float32[e*1+0]}},iO(`GlyphOffsetArray`,DB),OB=class extends Qz{getx(e){return this.int16[e*3+0]}gety(e){return this.int16[e*3+1]}gettileUnitDistanceFromAnchor(e){return this.int16[e*3+2]}},iO(`SymbolLineVertexArray`,OB),kB=class extends Yz{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]}},kB.prototype.size=12,AB=class extends gB{get(e){return new kB(this,e)}},iO(`TextAnchorOffsetArray`,AB),jB=class extends Yz{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]}},jB.prototype.size=8,MB=class extends _B{get(e){return new jB(this,e)}},iO(`FeatureIndexArray`,MB),NB=class extends Zz{},PB=class extends Qz{},FB=class extends $z{},IB=class extends Zz{},LB=class extends Zz{},RB=class extends eB{},zB=class extends tB{},BB=class extends nB{},VB=class extends rB{},HB=class extends iB{},UB=class extends aB{},WB=class extends oB{},GB=class extends sB{},KB=class extends lB{},qB=class extends uB{},JB=class extends dB{},YB=class extends fB{},XB=class extends fB{},ZB=class extends vB{},QB=class extends yB{},$B=pO([{name:`a_pos`,components:2,type:`Int16`}],4),eV=$B.members,$B.size,$B.alignment,tV=class e{constructor(e=[]){this._forceNewSegmentOnNextPrepare=!1,this.segments=e}prepareSegment(t,n,r,i){let a=this.segments[this.segments.length-1];return t>e.MAX_VERTEX_ARRAY_LENGTH&&jC(`Max vertices per segment is ${e.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}. Consider using the \`fillLargeMeshArrays\` function if you require meshes with more than ${e.MAX_VERTEX_ARRAY_LENGTH} vertices.`),this._forceNewSegmentOnNextPrepare||!a||a.vertexLength+t>e.MAX_VERTEX_ARRAY_LENGTH||a.sortKey!==i?this.createNewSegment(n,r,i):a}createNewSegment(e,t,n){let r={vertexOffset:e.length,primitiveOffset:t.length,vertexLength:0,primitiveLength:0,vaos:{}};return n!==void 0&&(r.sortKey=n),this._forceNewSegmentOnNextPrepare=!1,this.segments.push(r),r}getOrCreateLatestSegment(e,t,n){return this.prepareSegment(0,e,t,n)}forceNewSegmentOnNextPrepare(){this._forceNewSegmentOnNextPrepare=!0}get(){return this.segments}destroy(){for(let e of this.segments)for(let t in e.vaos)e.vaos[t].destroy()}static simpleSegment(t,n,r,i){return new e([{vertexOffset:t,primitiveOffset:n,vertexLength:r,primitiveLength:i,vaos:{},sortKey:0}])}},tV.MAX_VERTEX_ARRAY_LENGTH=2**16-1,iO(`SegmentVector`,tV),nV=pO([{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`}]),rV=pO([{name:`a_dasharray_from`,components:4,type:`Uint16`},{name:`a_dasharray_to`,components:4,type:`Uint16`}]),iV=GI(((e,t)=>{function n(e,t){for(var n=e.length&3,r=e.length-n,i=t,a,o=3432918353,s=461845907,c,l=0;l<r;)c=e.charCodeAt(l)&255|(e.charCodeAt(++l)&255)<<8|(e.charCodeAt(++l)&255)<<16|(e.charCodeAt(++l)&255)<<24,++l,c=(c&65535)*o+(((c>>>16)*o&65535)<<16)&4294967295,c=c<<15|c>>>17,c=(c&65535)*s+(((c>>>16)*s&65535)<<16)&4294967295,i^=c,i=i<<13|i>>>19,a=(i&65535)*5+(((i>>>16)*5&65535)<<16)&4294967295,i=(a&65535)+27492+(((a>>>16)+58964&65535)<<16);switch(c=0,n){case 3:c^=(e.charCodeAt(l+2)&255)<<16;case 2:c^=(e.charCodeAt(l+1)&255)<<8;case 1:c^=e.charCodeAt(l)&255,c=(c&65535)*o+(((c>>>16)*o&65535)<<16)&4294967295,c=c<<15|c>>>17,c=(c&65535)*s+(((c>>>16)*s&65535)<<16)&4294967295,i^=c}return i^=e.length,i^=i>>>16,i=(i&65535)*2246822507+(((i>>>16)*2246822507&65535)<<16)&4294967295,i^=i>>>13,i=(i&65535)*3266489909+(((i>>>16)*3266489909&65535)<<16)&4294967295,i^=i>>>16,i>>>0}t!==void 0&&(t.exports=n)})),aV=GI(((e,t)=>{function n(e,t){for(var n=e.length,r=t^n,i=0,a;n>=4;)a=e.charCodeAt(i)&255|(e.charCodeAt(++i)&255)<<8|(e.charCodeAt(++i)&255)<<16|(e.charCodeAt(++i)&255)<<24,a=(a&65535)*1540483477+(((a>>>16)*1540483477&65535)<<16),a^=a>>>24,a=(a&65535)*1540483477+(((a>>>16)*1540483477&65535)<<16),r=(r&65535)*1540483477+(((r>>>16)*1540483477&65535)<<16)^a,n-=4,++i;switch(n){case 3:r^=(e.charCodeAt(i+2)&255)<<16;case 2:r^=(e.charCodeAt(i+1)&255)<<8;case 1:r^=e.charCodeAt(i)&255,r=(r&65535)*1540483477+(((r>>>16)*1540483477&65535)<<16)}return r^=r>>>13,r=(r&65535)*1540483477+(((r>>>16)*1540483477&65535)<<16),r^=r>>>15,r>>>0}t.exports=n})),oV=qI(GI(((e,t)=>{var n=iV(),r=aV();t.exports=n,t.exports.murmur3=n,t.exports.murmur2=r}))(),1),sV=class e{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(e,t,n,r){this.ids.push(_O(e)),this.positions.push(t,n,r)}getPositions(e){if(!this.indexed)throw Error(`Trying to get index, but feature positions are not indexed`);let t=_O(e),n=0,r=this.ids.length-1;for(;n<r;){let e=n+r>>1;this.ids[e]>=t?r=e:n=e+1}let i=[];for(;this.ids[n]===t;){let e=this.positions[3*n],t=this.positions[3*n+1],r=this.positions[3*n+2];i.push({index:e,start:t,end:r}),n++}return i}static serialize(e,t){let n=new Float64Array(e.ids),r=new Uint32Array(e.positions);return vO(n,r,0,n.length-1),t&&t.push(n.buffer,r.buffer),{ids:n,positions:r}}static deserialize(t){let n=new e;return n.ids=t.ids,n.positions=t.positions,n.indexed=!0,n}},iO(`FeaturePositionMap`,sV),cV=class{constructor(e,t){this.gl=e.gl,this.location=t}},lV=class extends cV{constructor(e,t){super(e,t),this.current=0}set(e){this.current!==e&&(this.current=e,this.gl.uniform1i(this.location,e))}},uV=class extends cV{constructor(e,t){super(e,t),this.current=0}set(e){this.current!==e&&(this.current=e,this.gl.uniform1f(this.location,e))}},dV=class extends cV{constructor(e,t){super(e,t),this.current=[0,0]}set(e){(e[0]!==this.current[0]||e[1]!==this.current[1])&&(this.current=e,this.gl.uniform2f(this.location,e[0],e[1]))}},fV=class extends cV{constructor(e,t){super(e,t),this.current=[0,0,0]}set(e){(e[0]!==this.current[0]||e[1]!==this.current[1]||e[2]!==this.current[2])&&(this.current=e,this.gl.uniform3f(this.location,e[0],e[1],e[2]))}},pV=class extends cV{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]))}},mV=class extends cV{constructor(e,t){super(e,t),this.current=aR.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))}},hV=class extends cV{constructor(e,t){super(e,t),this.current=[]}set(e){if(e!=this.current){this.current=e;let t=new Float32Array(e.length*4);for(let n=0;n<e.length;n++)t[4*n]=e[n].r,t[4*n+1]=e[n].g,t[4*n+2]=e[n].b,t[4*n+3]=e[n].a;this.gl.uniform4fv(this.location,t)}}},gV=class extends cV{constructor(e,t){super(e,t),this.current=[]}set(e){if(e!=this.current){this.current=e;let t=new Float32Array(e);this.gl.uniform1fv(this.location,t)}}},_V=new Float32Array(16),vV=class extends cV{constructor(e,t){super(e,t),this.current=_V}set(e){if(e[12]!==this.current[12]||e[0]!==this.current[0]){this.current=e,this.gl.uniformMatrix4fv(this.location,!1,e);return}for(let t=1;t<16;t++)if(e[t]!==this.current[t]){this.current=e,this.gl.uniformMatrix4fv(this.location,!1,e);break}}},yV=class{constructor(e,t,n){this.value=e,this.uniformNames=t.map(e=>`u_${e}`),this.type=n}setUniform(e,t,n){e.set(n.constantOr(this.value))}getBinding(e,t,n){return this.type===`color`?new mV(e,t):new uV(e,t)}},bV=class{constructor(e,t){this.uniformNames=t.map(e=>`u_${e}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(e,t){this.pixelRatioFrom=t.pixelRatio,this.pixelRatioTo=e.pixelRatio,this.patternFrom=t.tlbr,this.patternTo=e.tlbr}setConstantDashPositions(e,t){this.dashTo=[0,e.y,e.height,e.width],this.dashFrom=[0,t.y,t.height,t.width]}setUniform(e,t,n,r){let i=null;r===`u_pattern_to`?i=this.patternTo:r===`u_pattern_from`?i=this.patternFrom:r===`u_dasharray_to`?i=this.dashTo:r===`u_dasharray_from`?i=this.dashFrom:r===`u_pixel_ratio_to`?i=this.pixelRatioTo:r===`u_pixel_ratio_from`&&(i=this.pixelRatioFrom),i!==null&&e.set(i)}getBinding(e,t,n){return n.startsWith(`u_pattern`)||n.startsWith(`u_dasharray_`)?new pV(e,t):new uV(e,t)}},xV=class{constructor(e,t,n,r){this.expression=e,this.type=n,this.maxValue=0,this.paintVertexAttributes=t.map(e=>({name:`a_${e}`,type:`Float32`,components:n===`color`?2:1,offset:0})),this.paintVertexArray=new r}populatePaintArray(e,t,n){let r=this.paintVertexArray.length,i=this.expression.evaluate(new wz(0,n),t,{},n.canonical,[],n.formattedSection);this.paintVertexArray.resize(e),this._setPaintValue(r,e,i)}updatePaintArray(e,t,n,r,i){let a=this.expression.evaluate(new wz(0,i),n,r);this._setPaintValue(e,t,a)}_setPaintValue(e,t,n){if(this.type===`color`){let r=bO(n);for(let n=e;n<t;n++)this.paintVertexArray.emplace(n,r[0],r[1])}else{for(let r=e;r<t;r++)this.paintVertexArray.emplace(r,n);this.maxValue=Math.max(this.maxValue,Math.abs(n))}}upload(e){var t,n;(t=this.paintVertexArray)!=null&&t.arrayBuffer.byteLength&&((n=this.paintVertexBuffer)!=null&&n.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=e.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}},SV=class{constructor(e,t,n,r,i,a){this.expression=e,this.uniformNames=t.map(e=>`u_${e}_t`),this.type=n,this.useIntegerZoom=r,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=t.map(e=>({name:`a_${e}`,type:`Float32`,components:n===`color`?4:2,offset:0})),this.paintVertexArray=new a}populatePaintArray(e,t,n){let r=this.expression.evaluate(new wz(this.zoom,n),t,{},n.canonical,[],n.formattedSection),i=this.expression.evaluate(new wz(this.zoom+1,n),t,{},n.canonical,[],n.formattedSection),a=this.paintVertexArray.length;this.paintVertexArray.resize(e),this._setPaintValue(a,e,r,i)}updatePaintArray(e,t,n,r,i){let a=this.expression.evaluate(new wz(this.zoom,i),n,r),o=this.expression.evaluate(new wz(this.zoom+1,i),n,r);this._setPaintValue(e,t,a,o)}_setPaintValue(e,t,n,r){if(this.type===`color`){let i=bO(n),a=bO(r);for(let n=e;n<t;n++)this.paintVertexArray.emplace(n,i[0],i[1],a[0],a[1])}else{for(let i=e;i<t;i++)this.paintVertexArray.emplace(i,n,r);this.maxValue=Math.max(this.maxValue,Math.abs(n),Math.abs(r))}}upload(e){var t,n;(t=this.paintVertexArray)!=null&&t.arrayBuffer.byteLength&&((n=this.paintVertexBuffer)!=null&&n.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=e.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}setUniform(e,t){let n=this.useIntegerZoom?Math.floor(t.zoom):t.zoom,r=_C(this.expression.interpolationFactor(n,this.zoom,this.zoom+1),0,1);e.set(r)}getBinding(e,t,n){return new uV(e,t)}},CV=class{constructor(e,t,n,r,i,a){this.expression=e,this.type=t,this.useIntegerZoom=n,this.zoom=r,this.layerId=a,this.zoomInPaintVertexArray=new i,this.zoomOutPaintVertexArray=new i}populatePaintArray(e,t,n){let r=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(e),this.zoomOutPaintVertexArray.resize(e),this._setPaintValues(r,e,this.getPositionIds(t),n)}updatePaintArray(e,t,n,r,i){this._setPaintValues(e,t,this.getPositionIds(n),i)}_setPaintValues(e,t,n,r){let i=this.getPositions(r);if(!i||!n)return;let a=i[n.min],o=i[n.mid],s=i[n.max];if(a&&o&&s)for(let n=e;n<t;n++)this.emplace(this.zoomInPaintVertexArray,n,a,o),this.emplace(this.zoomOutPaintVertexArray,n,s,o)}upload(e){var t,n;if((t=this.zoomInPaintVertexArray)!=null&&t.arrayBuffer.byteLength&&(n=this.zoomOutPaintVertexArray)!=null&&n.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()}},wV=class extends CV{getPositions(e){return e.imagePositions}getPositionIds(e){return e.patterns?.[this.layerId]}getVertexAttributes(){return nV.members}emplace(e,t,n,r){e.emplace(t,n.tlbr[0],n.tlbr[1],n.tlbr[2],n.tlbr[3],r.tlbr[0],r.tlbr[1],r.tlbr[2],r.tlbr[3],n.pixelRatio,r.pixelRatio)}},TV=class extends CV{getPositions(e){return e.dashPositions}getPositionIds(e){return e.dashes?.[this.layerId]}getVertexAttributes(){return rV.members}emplace(e,t,n,r){e.emplace(t,0,n.y,n.height,n.width,0,r.y,r.height,r.width)}},EV=class{constructor(e,t,n){this.binders={},this._buffers=[];let r=[];for(let i in e.paint._values){if(!n(i))continue;let a=e.paint.get(i);if(!(a instanceof Mz)||!fE(a.property.specification))continue;let o=xO(i,e.type),s=a.value,c=a.property.specification.type,l=a.property.useIntegerZoom,u=a.property.specification[`property-type`],d=u===`cross-faded`||u===`cross-faded-data-driven`;if(s.kind===`constant`)this.binders[i]=d?new bV(s.value,o):new yV(s.value,o,c),r.push(`/u_${i}`);else if(s.kind===`source`||d){let n=CO(i,c,`source`);this.binders[i]=d?i===`line-dasharray`?new TV(s,c,l,t,n,e.id):new wV(s,c,l,t,n,e.id):new xV(s,o,c,n),r.push(`/a_${i}`)}else{let e=CO(i,c,`composite`);this.binders[i]=new SV(s,o,c,l,t,e),r.push(`/z_${i}`)}}this.cacheKey=r.sort().join(``)}getMaxValue(e){let t=this.binders[e];return t instanceof xV||t instanceof SV?t.maxValue:0}populatePaintArrays(e,t,n){for(let r in this.binders){let i=this.binders[r];(i instanceof xV||i instanceof SV||i instanceof CV)&&i.populatePaintArray(e,t,n)}}setConstantPatternPositions(e,t){for(let n in this.binders){let r=this.binders[n];r instanceof bV&&r.setConstantPatternPositions(e,t)}}setConstantDashPositions(e,t){for(let n in this.binders){let r=this.binders[n];r instanceof bV&&r.setConstantDashPositions(e,t)}}updatePaintArrays(e,t,n,r,i){let a=!1;for(let o of e){let e=t.getPositions(o.id);for(let t of e){let e=n.feature(t.index);for(let n in this.binders){let s=this.binders[n];(s instanceof xV||s instanceof SV||s instanceof CV)&&s.expression.isStateDependent===!0&&(s.expression=r.paint.get(n).value,s.updatePaintArray(t.start,t.end,e,o.state,i),a=!0)}}}return a}defines(){let e=[];for(let t in this.binders){let n=this.binders[t];(n instanceof yV||n instanceof bV)&&e.push(...n.uniformNames.map(e=>`#define HAS_UNIFORM_${e}`))}return e}getBinderAttributes(){let e=[];for(let t in this.binders){let n=this.binders[t];if(n instanceof xV||n instanceof SV)for(let t of n.paintVertexAttributes)e.push(t.name);else if(n instanceof CV){let t=n.getVertexAttributes();for(let n of t)e.push(n.name)}}return e}getBinderUniforms(){let e=[];for(let t in this.binders){let n=this.binders[t];if(n instanceof yV||n instanceof bV||n instanceof SV)for(let t of n.uniformNames)e.push(t)}return e}getPaintVertexBuffers(){return this._buffers}getUniforms(e,t){let n=[];for(let r in this.binders){let i=this.binders[r];if(i instanceof yV||i instanceof bV||i instanceof SV){for(let a of i.uniformNames)if(t[a]){let o=i.getBinding(e,t[a],a);n.push({name:a,property:r,binding:o})}}}return n}setUniforms(e,t,n,r){for(let{name:e,property:i,binding:a}of t)this.binders[i].setUniform(a,r,n.get(i),e)}updatePaintBuffers(e){this._buffers=[];for(let t in this.binders){let n=this.binders[t];if(e&&n instanceof CV){let t=e.fromScale===2?n.zoomInPaintVertexBuffer:n.zoomOutPaintVertexBuffer;t&&this._buffers.push(t)}else(n instanceof xV||n instanceof SV)&&n.paintVertexBuffer&&this._buffers.push(n.paintVertexBuffer)}}upload(e){for(let t in this.binders){let n=this.binders[t];(n instanceof xV||n instanceof SV||n instanceof CV)&&n.upload(e)}this.updatePaintBuffers()}destroy(){for(let e in this.binders){let t=this.binders[e];(t instanceof xV||t instanceof SV||t instanceof CV)&&t.destroy()}}},DV=class{constructor(e,t,n=()=>!0){this.programConfigurations={};for(let r of e)this.programConfigurations[r.id]=new EV(r,t,n);this.needsUpload=!1,this._featureMap=new sV,this._bufferOffset=0}populatePaintArrays(e,t,n,r){for(let n in this.programConfigurations)this.programConfigurations[n].populatePaintArrays(e,t,r);t.id!==void 0&&this._featureMap.add(t.id,n,this._bufferOffset,e),this._bufferOffset=e,this.needsUpload=!0}updatePaintArrays(e,t,n,r){for(let i of n)this.needsUpload=this.programConfigurations[i.id].updatePaintArrays(e,this._featureMap,t,i,r)||this.needsUpload}get(e){return this.programConfigurations[e]}upload(e){if(this.needsUpload){for(let t in this.programConfigurations)this.programConfigurations[t].upload(e);this.needsUpload=!1}}destroy(){for(let e in this.programConfigurations)this.programConfigurations[e].destroy()}},iO(`ConstantBinder`,yV),iO(`CrossFadedConstantBinder`,bV),iO(`SourceExpressionBinder`,xV),iO(`CrossFadedPatternBinder`,wV),iO(`CrossFadedDasharrayBinder`,TV),iO(`CompositeExpressionBinder`,SV),iO(`ProgramConfiguration`,EV,{omit:[`_buffers`]}),iO(`ProgramConfigurationSet`,DV),OV=2**14-1,kV=-OV-1,AV=-32768,jV=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(e=>e.id),this.index=e.index,this.hasDependencies=!1,this.layoutVertexArray=new IB,this.indexArray=new XB,this.segments=new tV,this.programConfigurations=new DV(e.layers,e.zoom),this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id)}populate(e,t,n){let r=this.layers[0],i=[],a=null,o=!1,s=r.type===`heatmap`;if(r.type===`circle`){let e=r;a=e.layout.get(`circle-sort-key`),o=!a.isConstant(),s||=e.paint.get(`circle-pitch-alignment`)===`map`}let c=s?t.subdivisionGranularity.circle:1,l=new wz(this.zoom),u=this.layers[0]._featureFilter.needGeometry;for(let{feature:t,id:r,index:s,sourceLayerIndex:c}of e){let e=TO(t,u);if(!this.layers[0]._featureFilter.filter(l,e,n))continue;let d=o?a.evaluate(e,{},n):void 0,f={id:r,properties:t.properties,type:t.type,sourceLayerIndex:c,index:s,geometry:u?e.geometry:wO(t),patterns:{},sortKey:d};i.push(f)}o&&i.sort((e,t)=>e.sortKey-t.sortKey);for(let r of i){let{geometry:i,index:a,sourceLayerIndex:o}=r,s=e[a].feature;this.addFeature(r,i,a,n,c),t.featureIndex.insert(s,i,a,o,this.index)}}update(e,t,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:n})}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,eV),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(e,t,n,r,i=1){let a;switch(i){case 1:a=[0,7];break;case 3:a=[0,2,5,7];break;case 5:a=[0,1,3,4,6,7];break;case 7:a=[0,1,2,3,4,5,6,7];break;default:throw Error(`Invalid circle bucket granularity: ${i}; valid values are 1, 3, 5, 7.`)}let o=a.length;for(let n of t)for(let t of n){let n=t.x,r=t.y;if(n<0||n>=8192||r<0||r>=8192)continue;let i=this.segments.prepareSegment(o*o,this.layoutVertexArray,this.indexArray,e.sortKey),s=i.vertexLength;for(let e=0;e<o;e++)for(let t=0;t<o;t++)EO(this.layoutVertexArray,n,r,a[t],a[e]);for(let e=0;e<o-1;e++)for(let t=0;t<o-1;t++){let n=s+e*o+t,r=s+(e+1)*o+t;this.indexArray.emplaceBack(n,r+1,n+1),this.indexArray.emplaceBack(n,r,r+1)}i.vertexLength+=o*o,i.primitiveLength+=(o-1)*(o-1)*2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,{imagePositions:{},canonical:r})}},iO(`CircleBucket`,jV,{omit:[`layers`]}),NV=()=>MV||=new zz({"circle-sort-key":new Fz(kL.layout_circle[`circle-sort-key`],`circle-sort-key`)}),FV=()=>PV||=new zz({"circle-radius":new Fz(kL.paint_circle[`circle-radius`],`circle-radius`),"circle-color":new Fz(kL.paint_circle[`circle-color`],`circle-color`),"circle-blur":new Fz(kL.paint_circle[`circle-blur`],`circle-blur`),"circle-opacity":new Fz(kL.paint_circle[`circle-opacity`],`circle-opacity`),"circle-translate":new Pz(kL.paint_circle[`circle-translate`],`circle-translate`),"circle-translate-anchor":new Pz(kL.paint_circle[`circle-translate-anchor`],`circle-translate-anchor`),"circle-pitch-scale":new Pz(kL.paint_circle[`circle-pitch-scale`],`circle-pitch-scale`),"circle-pitch-alignment":new Pz(kL.paint_circle[`circle-pitch-alignment`],`circle-pitch-alignment`),"circle-stroke-width":new Fz(kL.paint_circle[`circle-stroke-width`],`circle-stroke-width`),"circle-stroke-color":new Fz(kL.paint_circle[`circle-stroke-color`],`circle-stroke-color`),"circle-stroke-opacity":new Fz(kL.paint_circle[`circle-stroke-opacity`],`circle-stroke-opacity`)}),IV={get paint(){return FV()},get layout(){return NV()}},LV=e=>e.type===`circle`,RV=class extends Hz{constructor(e,t){super(e,IV,t)}createBucket(e){return new jV(e)}queryRadius(e){let t=e;return BO(`circle-radius`,this,t)+BO(`circle-stroke-width`,this,t)+VO(this.paint.get(`circle-translate`))}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:n,geometry:r,transform:i,pixelsToTileUnits:a,unwrappedTileID:o,getElevation:s}){let c=HO(e,this.paint.get(`circle-translate`),this.paint.get(`circle-translate-anchor`),-i.bearingInRadians,a),l=this.paint.get(`circle-radius`).evaluate(t,n)+this.paint.get(`circle-stroke-width`).evaluate(t,n),u=this.paint.get(`circle-pitch-scale`),d=this.paint.get(`circle-pitch-alignment`),f,p;return d===`map`?(f=c,p=l*a):(f=ZO(c,i,o,s),p=l),YO({queryGeometry:f,size:p,transform:i,unwrappedTileID:o,getElevation:s,pitchAlignment:d,pitchScale:u},r)}},zV=class extends jV{},iO(`HeatmapBucket`,zV,{omit:[`layers`]}),VV=()=>BV||=new zz({"heatmap-radius":new Fz(kL.paint_heatmap[`heatmap-radius`],`heatmap-radius`),"heatmap-weight":new Fz(kL.paint_heatmap[`heatmap-weight`],`heatmap-weight`),"heatmap-intensity":new Pz(kL.paint_heatmap[`heatmap-intensity`],`heatmap-intensity`),"heatmap-color":new Rz(kL.paint_heatmap[`heatmap-color`],`heatmap-color`),"heatmap-opacity":new Pz(kL.paint_heatmap[`heatmap-opacity`],`heatmap-opacity`)}),HV={get paint(){return VV()}},UV=class e{constructor(e,t){QO(this,e,1,t)}resize(e){$O(this,e,1)}clone(){return new e({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(e,t,n,r,i){ek(e,t,n,r,i,1)}},WV=class e{constructor(e,t){QO(this,e,4,t)}resize(e){$O(this,e,4)}replace(e,t){t?this.data.set(e):this.data=e instanceof Uint8ClampedArray?new Uint8Array(e.buffer):e}clone(){return new e({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(e,t,n,r,i){ek(e,t,n,r,i,4)}setPixel(e,t,n){let r=(e*this.width+t)*4;this.data[r+0]=Math.round(n.r*255/n.a),this.data[r+1]=Math.round(n.g*255/n.a),this.data[r+2]=Math.round(n.b*255/n.a),this.data[r+3]=Math.round(n.a*255)}},iO(`AlphaImage`,UV),iO(`RGBAImage`,WV),GV=`big-fb`,KV=e=>e.type===`heatmap`,qV=class extends Hz{createBucket(e){return new zV(e)}constructor(e,t){super(e,HV,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=nk({expression:e,evaluationKey:`heatmapDensity`,image:this.colorRamp}),this.colorRampTexture=null}resize(){this.heatmapFbos.has(`big-fb`)&&this.heatmapFbos.delete(GV)}queryRadius(e){return BO(`heatmap-radius`,this,e)}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:n,geometry:r,transform:i,pixelsToTileUnits:a,unwrappedTileID:o,getElevation:s}){return YO({queryGeometry:e,size:this.paint.get(`heatmap-radius`).evaluate(t,n)*a,transform:i,unwrappedTileID:o,getElevation:s},r)}hasOffscreenPass(){return this.paint.get(`heatmap-opacity`)!==0&&!this.isHidden()}},YV=()=>JV||=new zz({"hillshade-illumination-direction":new Pz(kL.paint_hillshade[`hillshade-illumination-direction`],`hillshade-illumination-direction`),"hillshade-illumination-altitude":new Pz(kL.paint_hillshade[`hillshade-illumination-altitude`],`hillshade-illumination-altitude`),"hillshade-illumination-anchor":new Pz(kL.paint_hillshade[`hillshade-illumination-anchor`],`hillshade-illumination-anchor`),"hillshade-exaggeration":new Pz(kL.paint_hillshade[`hillshade-exaggeration`],`hillshade-exaggeration`),"hillshade-shadow-color":new Pz(kL.paint_hillshade[`hillshade-shadow-color`],`hillshade-shadow-color`),"hillshade-highlight-color":new Pz(kL.paint_hillshade[`hillshade-highlight-color`],`hillshade-highlight-color`),"hillshade-accent-color":new Pz(kL.paint_hillshade[`hillshade-accent-color`],`hillshade-accent-color`),"hillshade-method":new Pz(kL.paint_hillshade[`hillshade-method`],`hillshade-method`),resampling:new Pz(kL.paint_hillshade.resampling,`resampling`)}),XV={get paint(){return YV()}},ZV=e=>e.type===`hillshade`,QV=class extends Hz{constructor(e,t){super(e,XV,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,n=this.paint.get(`hillshade-highlight-color`).values,r=this.paint.get(`hillshade-shadow-color`).values,i=Math.max(e.length,t.length,n.length,r.length);e=e.concat(Array(i-e.length).fill(e.at(-1))),t=t.concat(Array(i-t.length).fill(t.at(-1))),n=n.concat(Array(i-n.length).fill(n.at(-1))),r=r.concat(Array(i-r.length).fill(r.at(-1)));let a=t.map(HC);return{directionRadians:e.map(HC),altitudeRadians:a,shadowColor:r,highlightColor:n}}hasOffscreenPass(){return this.paint.get(`hillshade-exaggeration`)!==0&&!this.isHidden()}},eH=()=>$V||=new zz({"color-relief-opacity":new Pz(kL[`paint_color-relief`][`color-relief-opacity`],`color-relief-opacity`),"color-relief-color":new Rz(kL[`paint_color-relief`][`color-relief-color`],`color-relief-color`),resampling:new Pz(kL[`paint_color-relief`].resampling,`resampling`)}),tH={get paint(){return eH()}},nH=class{constructor(e,t,n,r){this.context=e,this.format=n,this.texture=e.gl.createTexture(),this._ownedHandle=this.texture,this.update(t,r)}update(e,t,n){let{width:r,height:i}=e,a=(this.size?.[0]!==r||this.size[1]!==i)&&!n,{context:o}=this,{gl:s}=o;this.useMipmap=!!(t!=null&&t.useMipmap),a&&this.size&&this.format===s.RGBA&&(s.deleteTexture(this.texture),this.texture=s.createTexture(),this._ownedHandle=this.texture,this.magFilter=void 0,this.minFilter=void 0,this.wrap=void 0),s.bindTexture(s.TEXTURE_2D,this.texture),o.pixelStoreUnpackFlipY.set(!1),o.pixelStoreUnpack.set(1);let c=this.format===s.RGBA&&t?.premultiply!==!1;if(a){if(this.size=[r,i],this.format===s.RGBA&&r>0&&i>0){let t=this.useMipmap?Math.floor(Math.log2(Math.max(r,i)))+1:1;if(s.texStorage2D(s.TEXTURE_2D,t,s.RGBA8,r,i),rk(e)){o.pixelStoreUnpackPremultiplyAlpha.set(!1);let{data:t}=e;c&&t&&(t=tk(t)),t&&s.texSubImage2D(s.TEXTURE_2D,0,0,0,r,i,s.RGBA,s.UNSIGNED_BYTE,t)}else o.pixelStoreUnpackPremultiplyAlpha.set(c),s.texSubImage2D(s.TEXTURE_2D,0,0,0,s.RGBA,s.UNSIGNED_BYTE,e)}else rk(e)?(o.pixelStoreUnpackPremultiplyAlpha.set(!1),this._uploadRawData(e,c,r,i,s)):(o.pixelStoreUnpackPremultiplyAlpha.set(c),this._uploadDomImage(e,s))}else{let{x:t,y:a}=n||{x:0,y:0};rk(e)?(o.pixelStoreUnpackPremultiplyAlpha.set(!1),this._updateRawData(e,c,t,a,r,i,s)):(o.pixelStoreUnpackPremultiplyAlpha.set(c),this._updateDomImage(e,t,a,s))}this.useMipmap&&!(rk(e)&&e.data===null)&&s.generateMipmap(s.TEXTURE_2D),o.pixelStoreUnpackFlipY.setDefault(),o.pixelStoreUnpack.setDefault(),o.pixelStoreUnpackPremultiplyAlpha.setDefault()}_uploadDomImage(e,t){t.texImage2D(t.TEXTURE_2D,0,this.format,this.format,t.UNSIGNED_BYTE,e)}_uploadRawData(e,t,n,r,i){let{data:a}=e;t&&a&&(a=tk(a)),i.texImage2D(i.TEXTURE_2D,0,this.format,n,r,0,this.format,i.UNSIGNED_BYTE,a)}_updateDomImage(e,t,n,r){r.texSubImage2D(r.TEXTURE_2D,0,t,n,r.RGBA,r.UNSIGNED_BYTE,e)}_updateRawData(e,t,n,r,i,a,o){let{data:s}=e;t&&s&&(s=tk(s)),o.texSubImage2D(o.TEXTURE_2D,0,n,r,i,a,o.RGBA,o.UNSIGNED_BYTE,s)}bind(e,t,n){let{context:r}=this,{gl:i}=r;this.texture!==this._ownedHandle&&(this.texture=this._ownedHandle),i.bindTexture(i.TEXTURE_2D,this.texture),(n===i.LINEAR_MIPMAP_NEAREST||n===i.LINEAR_MIPMAP_LINEAR)&&!this.useMipmap&&(n=i.LINEAR);let a=n||e;e!==this.magFilter&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,e),this.magFilter=e),a!==this.minFilter&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,a),this.minFilter=a),t!==this.wrap&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,t),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,t),this.wrap=t)}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}},iH=(rH=class{constructor(e,t,n,r=1,i=1,a=1,o=0){if(this.uid=e,t.height!==t.width)throw RangeError(`DEM tiles must be square`);if(n&&![`mapbox`,`terrarium`,`custom`].includes(n)){jC(`"${n}" is not a valid encoding type. Valid types include "mapbox", "terrarium" and "custom".`);return}this.stride=t.height;let s=this.dim=t.height-4;switch(this.data=new Uint32Array(t.data.buffer),rH.byteViewCache.set(this,new Uint8Array(this.data.buffer)),n){case`terrarium`:this.redFactor=256,this.greenFactor=1,this.blueFactor=1/256,this.baseShift=32768;break;case`custom`:this.redFactor=r,this.greenFactor=i,this.blueFactor=a,this.baseShift=o;break;default:this.redFactor=6553.6,this.greenFactor=25.6,this.blueFactor=.1,this.baseShift=1e4}for(let e=-2;e<s+2;e++){let t=this._idx(0,Math.max(0,Math.min(s-1,e)));(e<0||e>=s)&&this.data.copyWithin(this._idx(0,e),t,t+s),this.data.fill(this.data[t],this._idx(-2,e),this._idx(0,e)),this.data.fill(this.data[t+s-1],this._idx(s,e),this._idx(s+1,e)+1)}let c=this._getByteView();this.min=2**53-1,this.max=-(2**53-1);for(let e=0;e<s;e++)for(let t=0;t<s;t++){let n=this._idx(e,t)*4,r=this._unpackAtIndex(c,n);r>this.max&&(this.max=r),r<this.min&&(this.min=r)}}get(e,t){let n=this._getByteView(),r=this._idx(e,t)*4;return this._unpackAtIndex(n,r)}sampleBilinear(e,t){let n=Math.floor(e),r=Math.floor(t);if(n<-1||n>=this.dim||r<-1||r>=this.dim)throw RangeError(`Out of range source coordinates for DEM data. x: ${e}, y: ${t}, dim: ${this.dim}`);let i=this._getByteView(),a=((r+2)*this.stride+n+2)*4,o=this.stride*4,s=e-n,c=t-r,l=this._unpackAtIndex(i,a),u=this._unpackAtIndex(i,a+4),d=this._unpackAtIndex(i,a+o),f=this._unpackAtIndex(i,a+o+4);return l*(1-s)*(1-c)+u*s*(1-c)+d*(1-s)*c+f*s*c}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,n){return e*this.redFactor+t*this.greenFactor+n*this.blueFactor-this.baseShift}pack(e){return ik(e,this.getUnpackVector())}getPixels(){return new WV({width:this.stride,height:this.stride},this._getByteView())}backfillBorder(e,t,n){if(this.dim!==e.dim)throw Error(`dem dimension mismatch`);let r=t*this.dim,i=t*this.dim+this.dim,a=n*this.dim,o=n*this.dim+this.dim;switch(t){case-1:r=i-2;break;case 1:i=r+2}switch(n){case-1:a=o-2;break;case 1:o=a+2}let s=-t*this.dim,c=-n*this.dim;for(let t=a;t<o;t++)for(let n=r;n<i;n++)this.data[this._idx(n,t)]=e.data[this._idx(n+s,t+c)]}_getByteView(){let e=rH.byteViewCache.get(this);return e?.buffer!==this.data.buffer&&(e=new Uint8Array(this.data.buffer),rH.byteViewCache.set(this,e)),e}_unpackAtIndex(e,t){return this.unpack(e[t],e[t+1],e[t+2])}},rH.byteViewCache=new WeakMap,rH),iO(`DEMData`,iH),aH=e=>e.type===`color-relief`,oH=class extends Hz{constructor(e,t){super(e,tH,t)}_createColorRamp(e){let t={elevationStops:[],colorStops:[]},n=this._transitionablePaint._values[`color-relief-color`].value.expression;if(n instanceof lz&&n._styleExpression.expression instanceof SR){this.colorRampExpression=n;let e=n._styleExpression.expression;t.elevationStops=e.labels,t.colorStops=[];for(let n of t.elevationStops)t.colorStops.push(e.evaluate({globals:{elevation:n}}))}if(t.elevationStops.length<1&&(t.elevationStops=[0],t.colorStops=[aR.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 r={elevationStops:[],colorStops:[]},i=(t.elevationStops.length-1)/(e-1);for(let e=0;e<t.elevationStops.length-.5;e+=i)r.elevationStops.push(t.elevationStops[Math.round(e)]),r.colorStops.push(t.colorStops[Math.round(e)]);return jC(`Too many colors in specification of ${this.id} color-relief layer, may not render properly. Max possible colors: ${e}, provided: ${t.elevationStops.length}`),r}_colorRampChanged(){return this.colorRampExpression!=this._transitionablePaint._values[`color-relief-color`].value.expression}getColorRampTextures(e,t,n){if(this.colorRampTextures&&!this._colorRampChanged())return this.colorRampTextures;let r=this._createColorRamp(t),i=new WV({width:r.colorStops.length,height:1}),a=new WV({width:r.colorStops.length,height:1});for(let e=0;e<r.elevationStops.length;e++){let t=ik(r.elevationStops[e],n);a.setPixel(0,e,new aR(t.r/255,t.g/255,t.b/255,1)),i.setPixel(0,e,r.colorStops[e])}return this.colorRampTextures={elevationTexture:new nH(e,a,e.gl.RGBA),colorTexture:new nH(e,i,e.gl.RGBA)},this.colorRampTextures}hasOffscreenPass(){return!this.isHidden()&&!!this.colorRampTextures}},sH=pO([{name:`a_pos`,components:2,type:`Int16`}],4),cH=sH.members,sH.size,sH.alignment,lH=new Set,uH=!1,dH=!1,fH=new Float64Array,pH=0,mH=[],hH=[],gH=[],_H=[],vH=new Uint32Array,yH=new Uint32Array,bH=new Uint32Array(256),xH=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)}},CH=(SH=class{constructor(e){this.fill=e.fill,this.line=e.line,this.tile=e.tile,this.stencil=e.stencil,this.circle=e.circle}},SH.noSubdivision=new SH({fill:new xH(0,0),line:new xH(0,0),tile:new xH(0,0),stencil:new xH(0,0),circle:1}),SH),iO(`SubdivisionGranularityExpression`,xH),iO(`SubdivisionGranularitySetting`,CH),wH=-32768,TH=32767,EH=class{constructor(e,t){this._vertexBuffer=[],this._vertexDictionary=new Map,this._used=!1,this._granularity=e,this._granularityCellSize=aL/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 n=Math.round(e)|0,r=Math.round(t)|0,i=this._getKey(n,r);if(this._vertexDictionary.has(i))return this._vertexDictionary.get(i);let a=this._vertexBuffer.length/2;return this._vertexDictionary.set(i,a),this._vertexBuffer.push(n,r),a}_subdivideTrianglesScanline(e){if(this._granularity<2)return qk(this._vertexBuffer,e);let t=[],n=e.length;for(let r=0;r<n;r+=3){let n=[e[r+0],e[r+1],e[r+2]],i=[this._vertexBuffer[e[r+0]*2+0],this._vertexBuffer[e[r+0]*2+1],this._vertexBuffer[e[r+1]*2+0],this._vertexBuffer[e[r+1]*2+1],this._vertexBuffer[e[r+2]*2+0],this._vertexBuffer[e[r+2]*2+1]],a=1/0,o=1/0,s=-1/0,c=-1/0;for(let e=0;e<3;e++){let t=i[e*2],n=i[e*2+1];a=Math.min(a,t),s=Math.max(s,t),o=Math.min(o,n),c=Math.max(c,n)}if(a===s||o===c)continue;let l=Math.floor(a/this._granularityCellSize),u=Math.ceil(s/this._granularityCellSize),d=Math.floor(o/this._granularityCellSize),f=Math.ceil(c/this._granularityCellSize);if(l===u&&d===f){t.push(...n);continue}for(let e=d;e<f;e++){let r=this._scanlineGenerateVertexRingForCellRow(e,i,n);Jk(this._vertexBuffer,r,t)}}return t}_scanlineGenerateVertexRingForCellRow(e,t,n){let r=e*this._granularityCellSize,i=r+this._granularityCellSize,a=[];for(let e=0;e<3;e++){let o=t[e*2],s=t[e*2+1],c=t[(e+1)*2%6],l=t[((e+1)*2+1)%6],u=t[(e+2)*2%6],d=t[((e+2)*2+1)%6],f=c-o,p=l-s,m=f===0,h=p===0,g=(r-s)/p,_=(i-s)/p,v=Math.min(g,_),y=Math.max(g,_);if(!h&&(v>=1||y<=0)||h&&(s<r||s>i)){l>=r&&l<=i&&a.push(n[(e+1)%3]);continue}if(!h&&v>0){let e=o+f*v,t=s+p*v;a.push(this._vertexToIndex(e,t))}let b=o+f*Math.max(v,0),x=o+f*Math.min(y,1);if(m||this._generateIntraEdgeVertices(a,o,s,c,l,b,x),!h&&y<1){let e=o+f*y,t=s+p*y;a.push(this._vertexToIndex(e,t))}(h||l>=r&&l<=i)&&a.push(n[(e+1)%3]),!h&&(l<=r||l>=i)&&this._generateInterEdgeVertices(a,o,s,c,l,u,d,x,r,i)}return a}_generateIntraEdgeVertices(e,t,n,r,i,a,o){let s=r-t,c=i-n,l=c===0,u=l?Math.min(t,r):Math.min(a,o),d=l?Math.max(t,r):Math.max(a,o),f=Math.floor(u/this._granularityCellSize)+1,p=Math.ceil(d/this._granularityCellSize)-1;if(l?t<r:a<o)for(let r=f;r<=p;r++){let i=r*this._granularityCellSize,a=n+c*(i-t)/s;e.push(this._vertexToIndex(i,a))}else for(let r=p;r>=f;r--){let i=r*this._granularityCellSize,a=n+c*(i-t)/s;e.push(this._vertexToIndex(i,a))}}_generateInterEdgeVertices(e,t,n,r,i,a,o,s,c,l){let u=i-n,d=a-r,f=o-i,p=(c-i)/f,m=(l-i)/f,h=Math.min(p,m),g=Math.max(p,m),_=r+d*h,v=Math.floor(Math.min(_,s)/this._granularityCellSize)+1,y=Math.ceil(Math.max(_,s)/this._granularityCellSize)-1,b=s<_,x=f===0;if(x&&(o===c||o===l))return;if(x||h>=1||g<=0){let e=t-a,r=n-o,i=(c-o)/r,u=(l-o)/r,d=a+e*Math.min(i,u);v=Math.floor(Math.min(d,s)/this._granularityCellSize)+1,y=Math.ceil(Math.max(d,s)/this._granularityCellSize)-1,b=s<d}let S=u>0?l:c;if(b)for(let t=v;t<=y;t++){let n=t*this._granularityCellSize;e.push(this._vertexToIndex(n,S))}else for(let t=y;t>=v;t--){let n=t*this._granularityCellSize;e.push(this._vertexToIndex(n,S))}}_generateOutline(e){let t=[];for(let n of e){let e=Gk(n,this._granularity,!0),r=this._pointArrayToIndices(e),i=[];for(let e=1;e<r.length;e++)i.push(r[e-1]),i.push(r[e]);t.push(i)}return t}_handlePoles(e){let t=!1,n=!1;this._canonical&&(this._canonical.y===0&&(t=!0),this._canonical.y===(1<<this._canonical.z)-1&&(n=!0)),(t||n)&&this._fillPoles(e,t,n)}_ensureNoPoleVertices(){let e=this._vertexBuffer;for(let t=0;t<e.length;t+=2){let n=e[t+1];n===-32768&&(e[t+1]=-32767),n===32767&&(e[t+1]=32766)}}_generatePoleQuad(e,t,n,r,i,a){r>i==(a===-32768)?(e.push(n),e.push(t),e.push(this._vertexToIndex(r,a)),e.push(this._vertexToIndex(i,a)),e.push(n),e.push(this._vertexToIndex(r,a))):(e.push(t),e.push(n),e.push(this._vertexToIndex(r,a)),e.push(n),e.push(this._vertexToIndex(i,a)),e.push(this._vertexToIndex(r,a)))}_fillPoles(e,t,n){let r=this._vertexBuffer,i=aL,a=e.length;for(let o=2;o<a;o+=3){let a=e[o-2],s=e[o-1],c=e[o],l=r[a*2],u=r[a*2+1],d=r[s*2],f=r[s*2+1],p=r[c*2],m=r[c*2+1];t&&(u===0&&f===0&&this._generatePoleQuad(e,a,s,l,d,wH),f===0&&m===0&&this._generatePoleQuad(e,s,c,d,p,wH),m===0&&u===0&&this._generatePoleQuad(e,c,a,p,l,wH)),n&&(u===i&&f===i&&this._generatePoleQuad(e,a,s,l,d,TH),f===i&&m===i&&this._generatePoleQuad(e,s,c,d,p,TH),m===i&&u===i&&this._generatePoleQuad(e,c,a,p,l,TH))}}_initializeVertices(e){for(let t=0;t<e.length;t+=2)this._vertexToIndex(e[t],e[t+1])}subdividePolygonInternal(e,t){if(this._used)throw Error(`Subdivision: multiple use not allowed.`);this._used=!0;let{flattened:n,holeIndices:r}=Kk(e);this._initializeVertices(n);let i;try{let e=sk(n,r),t=this._convertIndices(n,e);i=this._subdivideTrianglesScanline(t)}catch(e){console.error(e)}let a=[];return t&&(a=this._generateOutline(e)),this._ensureNoPoleVertices(),this._handlePoles(i),this._granularity>=2&&this._canonical?.z===0&&(i=this._removeTrianglesOutsideTileX(i),a=a.map(e=>this._removeLinesOutsideTileX(e))),{verticesFlattened:this._vertexBuffer,indicesTriangles:i,indicesLineList:a}}_vertexOutsideTileX(e){let t=this._vertexBuffer[e*2];return t<0||t>8192}_removeTrianglesOutsideTileX(e){let t=[];for(let n=0;n<e.length;n+=3)this._vertexOutsideTileX(e[n])||this._vertexOutsideTileX(e[n+1])||this._vertexOutsideTileX(e[n+2])||t.push(e[n],e[n+1],e[n+2]);return t}_removeLinesOutsideTileX(e){let t=[];for(let n=0;n<e.length;n+=2)this._vertexOutsideTileX(e[n])||this._vertexOutsideTileX(e[n+1])||t.push(e[n],e[n+1]);return t}_convertIndices(e,t){let n=[];for(let r of t){let t=e[r*2],i=e[r*2+1];n.push(this._vertexToIndex(t,i))}return n}_pointArrayToIndices(e){let t=[];for(let n of e)t.push(this._vertexToIndex(n.x,n.y));return t}},DH=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(e=>e.id),this.index=e.index,this.hasDependencies=!1,this.sdfPatterns={},this.patternFeatures=[],this.layoutVertexArray=new LB,this.indexArray=new XB,this.indexArray2=new ZB,this.programConfigurations=new DV(e.layers,e.zoom),this.segments=new tV,this.segments2=new tV,this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id)}populate(e,t,n){this.hasDependencies=ak(`fill`,this.layers,t);let r=this.layers[0].layout.get(`fill-sort-key`),i=!r.isConstant(),a=[],o=new wz(this.zoom),s=this.layers[0]._featureFilter.needGeometry;for(let{feature:c,id:l,index:u,sourceLayerIndex:d}of e){let e=TO(c,s);if(!this.layers[0]._featureFilter.filter(o,e,n))continue;let f=i?r.evaluate(e,{},n,t.availableImages):void 0,p={id:l,properties:c.properties,type:c.type,sourceLayerIndex:d,index:u,geometry:s?e.geometry:wO(c),patterns:{},sortKey:f};a.push(p)}i&&a.sort((e,t)=>e.sortKey-t.sortKey);for(let r of a){let{geometry:i,index:a,sourceLayerIndex:o}=r;if(this.hasDependencies){let e=ok(`fill`,this.layers,r,{zoom:this.zoom},t);this.patternFeatures.push(e)}else this.addFeature(r,i,a,n,{},t.subdivisionGranularity);let s=e[a].feature;t.featureIndex.insert(s,i,a,o,this.index)}}update(e,t,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:n})}addFeatures({options:e,canonical:t,patternPositions:n,patternMap:r}){this.detectSdfPatterns(r);for(let r of this.patternFeatures)this.addFeature(r,r.geometry,r.index,t,n,e.subdivisionGranularity)}detectSdfPatterns(e){for(let t of this.patternFeatures)for(let n in t.patterns){let r=t.patterns[n];this.recordSdfPattern(n,e[r.min]),this.recordSdfPattern(n,e[r.mid]),this.recordSdfPattern(n,e[r.max])}for(let t of this.layers){let n=t.paint.get(`fill-pattern`).constantOr(null);n&&(this.recordSdfPattern(t.id,e[n.from.toString()]),this.recordSdfPattern(t.id,e[n.to.toString()]))}}recordSdfPattern(e,t){if(!t)return;let n=t.sdf===!0,r=this.sdfPatterns[e];r===void 0?this.sdfPatterns[e]=n:r!==n&&jC(`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,cH),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.indexBuffer2=e.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(e,t,n,r,i,a){for(let e of Uw(t,500)){let t=Wk(e,r,a.fill.getGranularityForZoomLevel(r.z)),n=this.layoutVertexArray;Yk((e,t)=>{n.emplaceBack(e,t)},this.segments,this.layoutVertexArray,this.indexArray,t.verticesFlattened,t.indicesTriangles,this.segments2,this.indexArray2,t.indicesLineList)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,{imagePositions:i,canonical:r})}},iO(`FillBucket`,DH,{omit:[`layers`,`patternFeatures`]}),kH=()=>OH||=new zz({"fill-sort-key":new Fz(kL.layout_fill[`fill-sort-key`],`fill-sort-key`)}),jH=()=>AH||=new zz({"fill-antialias":new Pz(kL.paint_fill[`fill-antialias`],`fill-antialias`),"fill-opacity":new Fz(kL.paint_fill[`fill-opacity`],`fill-opacity`),"fill-layer-opacity":new Pz(kL.paint_fill[`fill-layer-opacity`],`fill-layer-opacity`),"fill-color":new Fz(kL.paint_fill[`fill-color`],`fill-color`),"fill-outline-color":new Fz(kL.paint_fill[`fill-outline-color`],`fill-outline-color`),"fill-translate":new Pz(kL.paint_fill[`fill-translate`],`fill-translate`),"fill-translate-anchor":new Pz(kL.paint_fill[`fill-translate-anchor`],`fill-translate-anchor`),"fill-pattern":new Iz(kL.paint_fill[`fill-pattern`],`fill-pattern`)}),MH={get paint(){return jH()},get layout(){return kH()}},NH=e=>e.type===`fill`,PH=class extends Hz{constructor(e,t){super(e,MH,t)}recalculate(e,t){super.recalculate(e,t);let n=this.paint._values[`fill-outline-color`];n.value.kind===`constant`&&n.value.value===void 0&&(this.paint._values[`fill-outline-color`]=this.paint._values[`fill-color`])}createBucket(e){return new DH(e)}queryRadius(){return VO(this.paint.get(`fill-translate`))}queryIntersectsFeature({queryGeometry:e,geometry:t,transform:n,pixelsToTileUnits:r}){return kO(HO(e,this.paint.get(`fill-translate`),this.paint.get(`fill-translate-anchor`),-n.bearingInRadians,r),t)}isTileClipped(){return!0}},FH=pO([{name:`a_pos`,components:2,type:`Int16`},{name:`a_normal_ed`,components:4,type:`Int16`}],4),IH=pO([{name:`a_centroid`,components:2,type:`Int16`}],4),LH=FH.members,FH.size,FH.alignment,RH=class e{constructor(){this.minX=1/0,this.maxX=-1/0,this.minY=1/0,this.maxY=-1/0}extend(e){return this.minX=Math.min(this.minX,e.x),this.minY=Math.min(this.minY,e.y),this.maxX=Math.max(this.maxX,e.x),this.maxY=Math.max(this.maxY,e.y),this}expandBy(e){return this.minX-=e,this.minY-=e,this.maxX+=e,this.maxY+=e,(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(e){return this.expandBy(-e)}map(t){let n=new e;return n.extend(t(new Vx(this.minX,this.minY))),n.extend(t(new Vx(this.maxX,this.minY))),n.extend(t(new Vx(this.minX,this.maxY))),n.extend(t(new Vx(this.maxX,this.maxY))),n}static fromPoints(t){let n=new e;for(let e of t)n.extend(e);return n}contains(e){return e.x>=this.minX&&e.x<=this.maxX&&e.y>=this.minY&&e.y<=this.maxY}empty(){return this.minX>this.maxX}width(){return this.maxX-this.minX}height(){return this.maxY-this.minY}covers(e){return!this.empty()&&!e.empty()&&e.minX>=this.minX&&e.maxX<=this.maxX&&e.minY>=this.minY&&e.maxY<=this.maxY}intersects(e){return!this.empty()&&!e.empty()&&e.minX<=this.maxX&&e.maxX>=this.minX&&e.minY<=this.maxY&&e.maxY>=this.minY}},zH=RH.fromPoints([new Vx(0,0),new Vx(aL,aL)]),BH=class{constructor(e,t,n,r,i){for(this.properties=Object.create(null),this.extent=n,this.type=0,this.id=void 0,this._pbf=e,this._geometry=-1,this._keys=r,this._values=i;e.pos<t;){let t=e.readVarint();if(t===8)this.id=e.readVarint();else if(t===18){let t=e.readVarint()+e.pos;for(;e.pos<t;){let t=r[e.readVarint()],n=i[e.readVarint()];this.properties[t]=n}}else t===24?this.type=e.readVarint():(t===34&&(this._geometry=e.pos),e.skip(t))}}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,n=[],r,i=1,a=0,o=0,s=0;for(;e.pos<t;){if(a<=0){let t=e.readVarint();if(i=t&7,a=t>>3,a===0)continue}if(a--,i===1)o+=e.readSVarint(),s+=e.readSVarint(),r&&n.push(r),r=[new Vx(o,s)];else if(i===2)o+=e.readSVarint(),s+=e.readSVarint(),r&&r.push(new Vx(o,s));else if(i===7)r&&r.push(r[0].clone());else throw Error(`unknown command ${i}`)}return r&&n.push(r),n}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,n=1,r=0,i=0,a=0,o=1/0,s=-1/0,c=1/0,l=-1/0;for(;e.pos<t;){if(r<=0){let t=e.readVarint();if(n=t&7,r=t>>3,r===0)continue}if(r--,n===1||n===2)i+=e.readSVarint(),a+=e.readSVarint(),i<o&&(o=i),i>s&&(s=i),a<c&&(c=a),a>l&&(l=a);else if(n!==7)throw Error(`unknown command ${n}`)}return[o,c,s,l]}toGeoJSON(e,t,n){let r=this.extent*2**n,i=this.extent*e,a=this.extent*t,o=this.loadGeometry();function s(e){return[(e.x+i)*360/r-180,360/Math.PI*Math.atan(Math.exp((1-(e.y+a)*2/r)*Math.PI))-90]}function c(e){return e.map(s)}let l;if(this.type===1){let e=[];for(let t of o)e.push(t[0]);let t=c(e);l=e.length===1?{type:`Point`,coordinates:t[0]}:{type:`MultiPoint`,coordinates:t}}else if(this.type===2){let e=o.map(c);l=e.length===1?{type:`LineString`,coordinates:e[0]}:{type:`MultiLineString`,coordinates:e}}else if(this.type===3){let e=tA(o),t=[];for(let n of e)t.push(n.map(c));l=t.length===1?{type:`Polygon`,coordinates:t[0]}:{type:`MultiPolygon`,coordinates:t}}else throw Error(`unknown feature type`);let u={type:`Feature`,geometry:l,properties:this.properties};return this.id!=null&&(u.id=this.id),u}},BH.types=[`Unknown`,`Point`,`LineString`,`Polygon`],VH=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 t=e.readVarint();t===10?this.name=e.readString():t===18?(this._features.push(e.pos),e.skip(t)):t===26?this._keys.push(e.readString()):t===34?this._values.push(rA(e)):t===40?this.extent=e.readVarint():t===120?this.version=e.readVarint():e.skip(t)}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 BH(this._pbf,t,this.extent,this._keys,this._values)}},HH=class{constructor(e,t=e.length){let n=Object.create(null);for(;e.pos<t;){let t=e.readVarint();if(t===26){let t=new VH(e,e.readVarint()+e.pos);t.length&&(n[t.name]=t)}else e.skip(t)}this.layers=n}},UH=6371008.8,WH=class e{constructor(e,t){if(isNaN(e)||isNaN(t))throw Error(`Invalid LngLat object: (${e}, ${t})`);if(this.lng=+e,this.lat=+t,this.lat>90||this.lat<-90)throw Error(`Invalid LngLat latitude value: must be between -90 and 90`)}wrap(){return new e(vC(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(e){let t=Math.PI/180,n=this.lat*t,r=e.lat*t,i=Math.sin(n)*Math.sin(r)+Math.cos(n)*Math.cos(r)*Math.cos((e.lng-this.lng)*t);return UH*Math.acos(Math.min(i,1))}static convert(t){if(t instanceof e)return t;if(Array.isArray(t)&&(t.length===2||t.length===3))return new e(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&typeof t==`object`&&t)return new e(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>]")}},GH=2*Math.PI*UH,KH=class e{constructor(e,t,n=0){this.x=+e,this.y=+t,this.z=+n}static fromLngLat(t,n=0){let r=WH.convert(t);return new e(aA(r.lng),oA(r.lat),sA(n,r.lat))}toLngLat(){return new WH(cA(this.x),lA(this.y))}toAltitude(){return uA(this.z,this.y)}meterInMercatorCoordinateUnits(){return 1/GH*dA(lA(this.y))}},qH=89.25,JH=8192,YH=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(e=>e.id),this.index=e.index,this.hasDependencies=!1,this.layoutVertexArray=new RB,this.centroidVertexArray=new NB,this.indexArray=new XB,this.programConfigurations=new DV(e.layers,e.zoom),this.segments=new tV,this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id)}populate(e,t,n){this.features=[],this.hasDependencies=ak(`fill-extrusion`,this.layers,t);let r=new wz(this.zoom),i=this.layers[0],a=i.layout.get(`fill-extrusion-rounded-corner-distance`),o=i._featureFilter.needGeometry;for(let{feature:s,id:c,index:l,sourceLayerIndex:u}of e){let e=TO(s,o);if(!i._featureFilter.filter(r,e,n))continue;let d=o?e.geometry:wO(s),f={id:c,sourceLayerIndex:u,index:l,geometry:a>0?xA(d,a,n):d,properties:s.properties,type:s.type,patterns:{}};this.hasDependencies?this.features.push(ok(`fill-extrusion`,this.layers,f,{zoom:this.zoom},t)):this.addFeature(f,f.geometry,l,n,{},t.subdivisionGranularity),t.featureIndex.insert(s,f.geometry,l,u,this.index,!0)}}addFeatures({options:e,canonical:t,patternPositions:n}){for(let r of this.features){let{geometry:i}=r;this.addFeature(r,i,r.index,t,n,e.subdivisionGranularity)}}update(e,t,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:n})}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,LH),this.centroidVertexBuffer=e.createVertexBuffer(this.centroidVertexArray,IH.members,!0),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(e,t,n,r,i,a){let o=this.layers[0],s=o.layout?o.layout.get(`fill-extrusion-rounded-corner-distance`):0,c=s>0?xA(t,s,r):t;for(let t of Uw(c,500)){let n={x:0,y:0,sampleCount:0},i=this.layoutVertexArray.length;this.processPolygon(n,r,e,t,a);let o=this.layoutVertexArray.length-i,s=Math.floor(n.x/n.sampleCount),c=Math.floor(n.y/n.sampleCount);for(let e=0;e<o;e++)this.centroidVertexArray.emplaceBack(s,c)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,{imagePositions:i,canonical:r})}processPolygon(e,t,n,r,i){if(r.length<1||eA(r[0]))return;for(let t of r)t.length!==0&&DA(e,t);let a={segment:this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray)},o=i.fill.getGranularityForZoomLevel(t.z),s=BH.types[n.type]===`Polygon`;for(let e of r){if(e.length===0||eA(e))continue;let t=Gk(e,o,s);this._generateSideFaces(t,a)}if(!s)return;let c=Wk(r,t,o,!1),l=this.layoutVertexArray;Yk((e,t)=>{EA(l,e,t,0,0,1,1,0)},this.segments,this.layoutVertexArray,this.indexArray,c.verticesFlattened,c.indicesTriangles)}_generateSideFaces(e,t){let n=0;for(let r=1;r<e.length;r++){let i=e[r],a=e[r-1];if($k(i,a))continue;t.segment.vertexLength+4>tV.MAX_VERTEX_ARRAY_LENGTH&&(t.segment=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let o=i.sub(a)._perp()._unit(),s=a.dist(i);n+s>32768&&(n=0),EA(this.layoutVertexArray,i.x,i.y,o.x,o.y,0,0,n),EA(this.layoutVertexArray,i.x,i.y,o.x,o.y,0,1,n),n+=s,EA(this.layoutVertexArray,a.x,a.y,o.x,o.y,0,0,n),EA(this.layoutVertexArray,a.x,a.y,o.x,o.y,0,1,n);let c=t.segment.vertexLength;this.indexArray.emplaceBack(c,c+2,c+1),this.indexArray.emplaceBack(c+1,c+2,c+3),t.segment.vertexLength+=4,t.segment.primitiveLength+=2}}},iO(`FillExtrusionBucket`,YH,{omit:[`layers`,`features`]}),ZH=()=>XH||=new zz({"fill-extrusion-rounded-corner-distance":new Pz(kL[`layout_fill-extrusion`][`fill-extrusion-rounded-corner-distance`],`fill-extrusion-rounded-corner-distance`)}),$H=()=>QH||=new zz({"fill-extrusion-opacity":new Pz(kL[`paint_fill-extrusion`][`fill-extrusion-opacity`],`fill-extrusion-opacity`),"fill-extrusion-color":new Fz(kL[`paint_fill-extrusion`][`fill-extrusion-color`],`fill-extrusion-color`),"fill-extrusion-translate":new Pz(kL[`paint_fill-extrusion`][`fill-extrusion-translate`],`fill-extrusion-translate`),"fill-extrusion-translate-anchor":new Pz(kL[`paint_fill-extrusion`][`fill-extrusion-translate-anchor`],`fill-extrusion-translate-anchor`),"fill-extrusion-pattern":new Iz(kL[`paint_fill-extrusion`][`fill-extrusion-pattern`],`fill-extrusion-pattern`),"fill-extrusion-height":new Fz(kL[`paint_fill-extrusion`][`fill-extrusion-height`],`fill-extrusion-height`),"fill-extrusion-base":new Fz(kL[`paint_fill-extrusion`][`fill-extrusion-base`],`fill-extrusion-base`),"fill-extrusion-vertical-gradient":new Pz(kL[`paint_fill-extrusion`][`fill-extrusion-vertical-gradient`],`fill-extrusion-vertical-gradient`)}),eU={get paint(){return $H()},get layout(){return ZH()}},tU=e=>e.type===`fill-extrusion`,nU=class extends Hz{constructor(e,t){super(e,eU,t)}createBucket(e){return new YH(e)}queryRadius(){return VO(this.paint.get(`fill-extrusion-translate`))}is3D(){return!0}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:n,geometry:r,transform:i,pixelsToTileUnits:a,pixelPosMatrix:o}){let s=HO(e,this.paint.get(`fill-extrusion-translate`),this.paint.get(`fill-extrusion-translate-anchor`),-i.bearingInRadians,a),c=this.paint.get(`fill-extrusion-height`).evaluate(t,n),l=this.paint.get(`fill-extrusion-base`).evaluate(t,n),u=MA(s,o,0),d=jA(r,l,c,o),f=d[0],p=d[1];return AA(f,p,u)}},rU=`geojsonvt_clip_start`,iU=`geojsonvt_clip_end`,aU=pO([{name:`a_pos_normal`,components:2,type:`Int16`},{name:`a_data`,components:4,type:`Uint8`}],4),oU=aU.members,aU.size,aU.alignment,sU=pO([{name:`a_uv_x`,components:1,type:`Float32`},{name:`a_split_index`,components:1,type:`Float32`}]),cU=sU.members,sU.size,sU.alignment,lU=Math.cos(75/2*(Math.PI/180)),uU=1/2,dU=2**14/uU,fU=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(e=>e.id),this.index=e.index,this.hasDependencies=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={};for(let e of this.layers)this.gradients[e.id]={};this.layoutVertexArray=new zB,this.layoutVertexArray2=new BB,this.indexArray=new XB,this.programConfigurations=new DV(e.layers,e.zoom),this.segments=new tV,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id)}populate(e,t,n){this.hasDependencies=ak(`line`,this.layers,t)||this.hasLineDasharray(this.layers);let r=this.layers[0].layout.get(`line-sort-key`),i=!r.isConstant(),a=[],o=new wz(this.zoom),s=this.layers[0]._featureFilter.needGeometry;for(let{feature:t,id:c,index:l,sourceLayerIndex:u}of e){let e=TO(t,s);if(!this.layers[0]._featureFilter.filter(o,e,n))continue;let d=i?r.evaluate(e,{},n):void 0,f={id:c,properties:t.properties,type:t.type,sourceLayerIndex:u,index:l,geometry:s?e.geometry:wO(t),patterns:{},dashes:{},sortKey:d};a.push(f)}i&&a.sort((e,t)=>e.sortKey-t.sortKey);for(let r of a){let{geometry:i,index:a,sourceLayerIndex:o}=r;this.hasDependencies?(ak(`line`,this.layers,t)?ok(`line`,this.layers,r,{zoom:this.zoom},t):this.hasLineDasharray(this.layers)&&this.addLineDashDependencies(this.layers,r,this.zoom,t),this.patternFeatures.push(r)):this.addFeature(r,i,a,n,{},{},t.subdivisionGranularity);let s=e[a].feature;t.featureIndex.insert(s,i,a,o,this.index)}}update(e,t,n,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:n,dashPositions:r})}addFeatures({options:e,canonical:t,patternPositions:n,dashPositions:r}){for(let i of this.patternFeatures)this.addFeature(i,i.geometry,i.index,t,n,r,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,cU)),this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,oU),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[rU],end:+e.properties[iU]}}addFeature(e,t,n,r,i,a,o){let s=this.layers[0].layout,c=s.get(`line-join`).evaluate(e,{}),l=s.get(`line-cap`).evaluate(e,{}),u=s.get(`line-miter-limit`).evaluate(e,{}),d=s.get(`line-round-limit`).evaluate(e,{});this.lineClips=this.lineFeatureClips(e);for(let n of t)this.addLine(n,e,c,l,u,d,r,o);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,{imagePositions:i,dashPositions:a,canonical:r})}addLine(e,t,n,r,i,a,o,s){this.distance=0,this.scaledDistance=0,this.totalDistance=0;let c=o?s.line.getGranularityForZoomLevel(o.z):1;if(e=Gk(e,c),this.lineClips){this.lineClipsArray.push(this.lineClips);for(let t=0;t<e.length-1;t++)this.totalDistance+=e[t].dist(e[t+1]);this.updateScaledDistance(),this.maxLineLength=Math.max(this.maxLineLength,this.totalDistance)}let l=BH.types[t.type]===`Polygon`,u=e.length;for(;u>=2&&e[u-1].equals(e[u-2]);)u--;let d=0;for(;d<u-1&&e[d].equals(e[d+1]);)d++;if(u-d<(l?3:2))return;n===`bevel`&&(i=1.05);let f=this.overscaling<=16?15*aL/(512*this.overscaling):0,p=this.segments.prepareSegment(u*10,this.layoutVertexArray,this.indexArray),m,h,g,_,v;this.e1=this.e2=-1,l&&(m=e[u-2],v=e[d].sub(m)._unit()._perp());for(let t=d;t<u;t++){if(g=t===u-1?l?e[d+1]:void 0:e[t+1],g&&e[t].equals(g))continue;v&&(_=v),m&&(h=m),m=e[t],v=g?g.sub(m)._unit()._perp():_,_||=v;let o=_.add(v);(o.x!==0||o.y!==0)&&o._unit();let s=_.x*v.x+_.y*v.y,c=o.x*v.x+o.y*v.y,y=c===0?1/0:1/c,b=2*Math.sqrt(2-2*c),x=c<lU&&h&&g,S=_.x*v.y-_.y*v.x>0;if(x&&t>d){let e=m.dist(h);if(e>2*f){let t=m.sub(m.sub(h)._mult(f/e)._round());this.updateDistance(h,t),this.addCurrentVertex(t,_,0,0,p),h=t}}let C=h&&g,w=C?n:l?`butt`:r;if(C&&w===`round`&&(y<a?w=`miter`:y<=2&&(w=`fakeround`)),w===`miter`&&y>i&&(w=`bevel`),w===`bevel`&&(y>2&&(w=`flipbevel`),y<i&&(w=`miter`)),h&&this.updateDistance(h,m),w===`miter`)o._mult(y),this.addCurrentVertex(m,o,0,0,p);else if(w===`flipbevel`){if(y>100)o=v.mult(-1);else{let e=y*_.add(v).mag()/_.sub(v).mag();o._perp()._mult(e*(S?-1:1))}this.addCurrentVertex(m,o,0,0,p),this.addCurrentVertex(m,o.mult(-1),0,0,p)}else if(w===`bevel`||w===`fakeround`){let e=-Math.sqrt(y*y-1),t=S?e:0,n=S?0:e;if(h&&this.addCurrentVertex(m,_,t,n,p),w===`fakeround`){let e=Math.round(b*180/Math.PI/20);for(let t=1;t<e;t++){let n=t/e;if(n!==.5){let e=n-.5,t=1.0904+s*(-3.2452+s*(3.55645-s*1.43519)),r=.848013+s*(-1.06021+s*.215638);n+=n*e*(n-1)*(t*e*e+r)}let r=v.sub(_)._mult(n)._add(_)._unit()._mult(S?-1:1);this.addHalfVertex(m,r.x,r.y,!1,S,0,p)}}g&&this.addCurrentVertex(m,v,-t,-n,p)}else if(w===`butt`)this.addCurrentVertex(m,o,0,0,p);else if(w===`square`){let e=h?1:-1;this.addCurrentVertex(m,o,e,e,p)}else w===`round`&&(h&&(this.addCurrentVertex(m,_,0,0,p),this.addCurrentVertex(m,_,1,1,p,!0)),g&&(this.addCurrentVertex(m,v,-1,-1,p,!0),this.addCurrentVertex(m,v,0,0,p)));if(x&&t<u-1){let e=m.dist(g);if(e>2*f){let t=m.add(g.sub(m)._mult(f/e)._round());this.updateDistance(m,t),this.addCurrentVertex(t,v,0,0,p),m=t}}}}addCurrentVertex(e,t,n,r,i,a=!1){let o=t.x+t.y*n,s=t.y-t.x*n,c=-t.x+t.y*r,l=-t.y-t.x*r;this.addHalfVertex(e,o,s,a,!1,n,i),this.addHalfVertex(e,c,l,a,!0,-r,i),this.distance>dU/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(e,t,n,r,i,a))}addHalfVertex({x:e,y:t},n,r,i,a,o,s){let c=(this.lineClips?this.scaledDistance*(dU-1):this.scaledDistance)*uU;if(this.layoutVertexArray.emplaceBack((e<<1)+ +!!i,(t<<1)+ +!!a,Math.round(63*n)+128,Math.round(63*r)+128,(o===0?0:o<0?-1:1)+1|(c&63)<<2,c>>6),this.lineClips){let e=(this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start);this.layoutVertexArray2.emplaceBack(e,this.lineClipsArray.length)}let l=s.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,l,this.e2),s.primitiveLength++),a?this.e2=l:this.e1=l}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(e,t){this.distance+=e.dist(t),this.updateScaledDistance()}hasLineDasharray(e){for(let t of e){let e=t.paint.get(`line-dasharray`);if(e&&!e.isConstant())return!0}return!1}addLineDashDependencies(e,t,n,r){for(let i of e){let e=i.paint.get(`line-dasharray`);if(!e||e.value.kind===`constant`)continue;let a=i.layout.get(`line-cap`).evaluate(t,{})===`round`,o={dasharray:e.value.evaluate({zoom:n-1},t,{}),round:a},s={dasharray:e.value.evaluate({zoom:n},t,{}),round:a},c={dasharray:e.value.evaluate({zoom:n+1},t,{}),round:a},l=`${o.dasharray.join(`,`)},${o.round}`,u=`${s.dasharray.join(`,`)},${s.round}`,d=`${c.dasharray.join(`,`)},${c.round}`;r.dashDependencies[l]=o,r.dashDependencies[u]=s,r.dashDependencies[d]=c,t.dashes[i.id]={min:l,mid:u,max:d}}}},iO(`LineBucket`,fU,{omit:[`layers`,`patternFeatures`]}),mU=()=>pU||=new zz({"line-cap":new Fz(kL.layout_line[`line-cap`],`line-cap`),"line-join":new Fz(kL.layout_line[`line-join`],`line-join`),"line-miter-limit":new Fz(kL.layout_line[`line-miter-limit`],`line-miter-limit`),"line-round-limit":new Fz(kL.layout_line[`line-round-limit`],`line-round-limit`),"line-sort-key":new Fz(kL.layout_line[`line-sort-key`],`line-sort-key`)}),gU=()=>hU||=new zz({"line-opacity":new Fz(kL.paint_line[`line-opacity`],`line-opacity`),"line-layer-opacity":new Pz(kL.paint_line[`line-layer-opacity`],`line-layer-opacity`),"line-color":new Fz(kL.paint_line[`line-color`],`line-color`),"line-translate":new Pz(kL.paint_line[`line-translate`],`line-translate`),"line-translate-anchor":new Pz(kL.paint_line[`line-translate-anchor`],`line-translate-anchor`),"line-width":new Fz(kL.paint_line[`line-width`],`line-width`),"line-gap-width":new Fz(kL.paint_line[`line-gap-width`],`line-gap-width`),"line-offset":new Fz(kL.paint_line[`line-offset`],`line-offset`),"line-blur":new Fz(kL.paint_line[`line-blur`],`line-blur`),"line-dasharray":new Iz(kL.paint_line[`line-dasharray`],`line-dasharray`),"line-pattern":new Iz(kL.paint_line[`line-pattern`],`line-pattern`),"line-gradient":new Rz(kL.paint_line[`line-gradient`],`line-gradient`)}),_U={get paint(){return gU()},get layout(){return mU()}},vU=class extends Fz{possiblyEvaluate(e,t){return t=new wz(Math.floor(t.zoom),{now:t.now,fadeDuration:t.fadeDuration,zoomHistory:t.zoomHistory,transition:t.transition}),super.possiblyEvaluate(e,t)}evaluate(e,t,n,r){return t=yC({},t,{zoom:Math.floor(t.zoom)}),super.evaluate(e,t,n,r)}},bU=e=>e.type===`line`,xU=class extends Hz{constructor(e,t){super(e,_U,t),this.gradientVersion=0,yU||(yU=new vU(_U.paint.properties[`line-width`].specification,`line-floorwidth`),yU.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(e){if(e===`line-gradient`){let e=this.gradientExpression();this.stepInterpolant=PE(e)?e._styleExpression.expression instanceof xR:!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`]=yU.possiblyEvaluate(this._transitioningPaint._values[`line-width`].value,e)}createBucket(e){return new fU(e)}queryRadius(e){let t=e,n=NA(BO(`line-width`,this,t),BO(`line-gap-width`,this,t)),r=BO(`line-offset`,this,t);return n/2+Math.abs(r)+VO(this.paint.get(`line-translate`))}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:n,geometry:r,transform:i,pixelsToTileUnits:a}){let o=HO(e,this.paint.get(`line-translate`),this.paint.get(`line-translate-anchor`),-i.bearingInRadians,a),s=a/2*NA(this.paint.get(`line-width`).evaluate(t,n),this.paint.get(`line-gap-width`).evaluate(t,n)),c=this.paint.get(`line-offset`).evaluate(t,n);return c&&(r=WO(r,c*a)),AO(o,r,s)}isTileClipped(){return!0}},SU=pO([{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),CU=pO([{name:`a_projected_pos`,components:3,type:`Float32`}],4),pO([{name:`a_fade_opacity`,components:1,type:`Uint32`}],4),wU=pO([{name:`a_placed`,components:2,type:`Uint8`},{name:`a_shift`,components:2,type:`Float32`},{name:`a_box_real`,components:2,type:`Int16`}]),pO([{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`}]),TU=pO([{name:`a_pos`,components:2,type:`Int16`},{name:`a_anchor_pos`,components:2,type:`Int16`},{name:`a_extrude`,components:2,type:`Int16`}],4),EU=pO([{name:`a_pos`,components:2,type:`Float32`},{name:`a_radius`,components:1,type:`Float32`},{name:`a_flags`,components:2,type:`Int16`}],4),pO([{name:`triangle`,components:3,type:`Uint16`}]),pO([{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`}]),pO([{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`}]),pO([{type:`Float32`,name:`offsetX`}]),pO([{type:`Int16`,name:`x`},{type:`Int16`,name:`y`},{type:`Int16`,name:`tileUnitDistanceFromAnchor`}]),pO([{type:`Uint16`,name:`textAnchor`},{type:`Float32`,components:2,name:`textOffset`}]),DU=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(DU.isParsed())throw Error(`RTL text plugin already registered.`);this.applyArabicShaping=e.applyArabicShaping,this.processBidirectionalText=e.processBidirectionalText,this.processStyledBidirectionalText=e.processStyledBidirectionalText,this.loadScriptResolve()}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getRTLTextPluginStatus(){return this.pluginStatus}syncState(e,t){return S(this,null,function*(){if(this.isParsed())return this.getState();if(e.pluginStatus!==`loading`)return this.setState(e),e;let n=e.pluginURL,r=new Promise(e=>{this.loadScriptResolve=e}),i=new Promise(e=>setTimeout(()=>e(),this.TIMEOUT));if(yield t(n),yield Promise.race([r,i]),this.isParsed()){let e={pluginStatus:`loaded`,pluginURL:n};return this.setState(e),e}throw this.setState({pluginStatus:`error`,pluginURL:``}),Error(`RTL Text Plugin failed to import scripts from ${n}`)})}},OU={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`},kU={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]},AU={لآ:[65269,65270],لأ:[65271,65272],لإ:[65273,65274],لا:[65275,65276]},jU=1604,MU=/[\u0600-\u06ff\u0750-\u077f\u0870-\u089f\u08a0-\u08ff\ufb50-\ufdff\ufe70-\ufeff]/,NU=new Map;for(let[e,t]of Object.entries(OU))UA(t,e,NU);PU=typeof Intl<`u`&&`Segmenter`in Intl,LU={"!":`︕`,"#":`#`,$:`$`,"%":`%`,"&":`&`,"(":`︵`,")":`︶`,"*":`*`,"+":`+`,",":`︐`,"-":`︲`,".":`・`,"/":`/`,":":`︓`,";":`︔`,"<":`︿`,"=":`=`,">":`﹀`,"?":`︖`,"@":`@`,"[":`﹇`,"\\":`\`,"]":`﹈`,"^":`^`,_:`︳`,"`":```,"{":`︷`,"|":`―`,"}":`︸`,"~":`~`,"¢":`¢`,"£":`£`,"¥":`¥`,"¦":`¦`,"¬":`¬`,"¯":` ̄`,"–":`︲`,"—":`︱`,"‘":`﹃`,"’":`﹄`,"“":`﹁`,"”":`﹂`,"…":`︙`,"⋯":`︙`,"‧":`・`,"₩":`₩`,"、":`︑`,"。":`︒`,"〈":`︿`,"〉":`﹀`,"《":`︽`,"》":`︾`,"「":`﹁`,"」":`﹂`,"『":`﹃`,"』":`﹄`,"【":`︻`,"】":`︼`,"〔":`︹`,"〕":`︺`,"〖":`︗`,"〗":`︘`,"!":`︕`,"(":`︵`,")":`︶`,",":`︐`,"-":`︲`,".":`・`,":":`︓`,";":`︔`,"<":`︿`,">":`﹀`,"?":`︖`,"[":`﹇`,"]":`﹈`,"_":`︳`,"{":`︷`,"|":`―`,"}":`︸`,"⦅":`︵`,"⦆":`︶`,"。":`︒`,"「":`﹁`,"」":`﹂`},RU={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},zU={40:!0},BU=class e{constructor(e=``,t=[],n=[]){this.text=e,this.sections=t,this.sectionIndex=n,this.imageSectionID=null,this._graphemes=null}graphemes(){return this._graphemes??=rj(this.text),this._graphemes}static fromFeature(t,n){let r=new e;for(let e of t.sections)e.image?r.addImageSection(e):r.addTextSection(e,n);return r}length(){return this.graphemes().length}getSection(e){return this.sections[this.sectionIndex[e]]}getSectionIndex(e){return this.sectionIndex[e]}verticalizePunctuation(){this.text=mj(this.text),this._graphemes=null}hasZeroWidthSpaces(){return this.text.includes(``)}trim(){let e=this.graphemes(),t=0;for(;t<e.length&&_j(e[t]);)t++;let n=e.length;for(;n>t&&_j(e[n-1]);)n--;this.text=e.slice(t,n).join(``),this.sectionIndex=this.sectionIndex.slice(t,n),this._graphemes=null}substring(t,n){let r=this.graphemes().slice(t,n).join(``),i=this.sectionIndex.slice(t,n);return new e(r,this.sections,i)}toCodeUnitIndex(e){return this.graphemes().slice(0,e).join(``).length}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((e,t)=>Math.max(e,this.sections[t].scale),0)}getMaxImageSize(e){let t=0,n=0;for(let r=0;r<this.length();r++){let i=this.getSection(r);if(`imageName`in i){let r=e[i.imageName];if(!r)continue;let a=r.displaySize;t=Math.max(t,a[0]),n=Math.max(n,a[1])}}return{maxImageWidth:t,maxImageHeight:n}}_appendSection(e,t){let n=this.graphemes(),r=n.length>0?n[n.length-1]:``,i=rj(r+e);this.text+=e,this._graphemes=n.slice(0,r?-1:void 0).concat(i);let a=i.length-+!!r;for(let e=0;e<a;e++)this.sectionIndex.push(t)}addTextSection(e,t){this.sections.push({scale:e.scale||1,verticalAlign:e.verticalAlign||`bottom`,fontStack:e.fontStack||t}),this._appendSection(e.text,this.sections.length-1)}addImageSection(e){let t=e.image?e.image.name:``;if(t.length===0){jC(`Can't add FormattedSection with an empty image.`);return}let n=this.getNextImageSectionCharCode();if(!n){jC(`Reached maximum number of images 6401`);return}this.sections.push({scale:1,verticalAlign:e.verticalAlign||`bottom`,imageName:t}),this._appendSection(String.fromCharCode(n),this.sections.length-1)}getNextImageSectionCharCode(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}determineLineBreaks(e,t,n,r,i){let a=[],o=this.determineAverageLineWidth(e,t,n,r,i),s=this.hasZeroWidthSpaces(),c=this.graphemes(),l=null,u=0,d=0;for(let t=0;t<c.length;t++){let f=c[t];if(t>0){let e=c[t-1].codePointAt(0),n=f.codePointAt(0),r=LA(e),i=VA(e)&&VA(n);(RU[e]||r||`imageName`in this.getSection(t-1)||c[t+1]!==void 0&&zU[n]||i&&(l??=ij(this.text)).has(d))&&a.push(yj(t,u,o,a,vj(e,n,r&&s),!1))}oj(f.codePointAt(0))||(u+=hj(f,this.getSection(t),n,r,e,i)),d+=f.length}return bj(yj(this.length(),u,o,a,0,!0))}determineAverageLineWidth(e,t,n,r,i){let a=0,o=0;for(let t of this.graphemes()){let s=this.getSection(o);a+=hj(t,s,n,r,e,i),o++}let s=Math.max(1,Math.ceil(a/t));return a/s}},VU=xj(),HU=/[\u061c\u200e\u200f\u202a-\u202e\u2066-\u2069]/,UU=new Set([`WS`,`FSI`,`LRI`,`RLI`,`PDI`]),WU=new Set([`S`,`B`]),GU=4294967296,1/GU,KU=typeof TextDecoder>`u`?null:new TextDecoder(`utf-8`),qU=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,n=this.length){let r;for(;r=this.nextField(n);)e(r,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)*GU;return this.pos+=8,e}readSFixed64(){let e=this.dataView.getUint32(this.pos,!0)+this.dataView.getInt32(this.pos+4,!0)*GU;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,n=t[this.pos++];if(n<128)return n;let r=n&127,i;return i=t[this.pos++],r|=(i&127)<<7,i<128||(i=t[this.pos++],r|=(i&127)<<14,i<128)||(i=t[this.pos++],r|=(i&127)<<21,i<128)?r:(i=t[this.pos],r|=(i&15)<<28,Mj(r,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&&KU?KU.decode(this.buf.subarray(t,e)):Pj(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 n=this.readPackedEnd();for(;this.pos<n;)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}`)}},JU=class{constructor(e,{pixelRatio:t,version:n,isWebGLImage:r=!1,stretchX:i,stretchY:a,content:o,textFitWidth:s,textFitHeight:c}){this.paddedRect=e,this.pixelRatio=t,this.stretchX=i,this.stretchY=a,this.content=o,this.version=n,this.needsFirstWebGLRender=r,this.textFitWidth=s,this.textFitHeight=c}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]}},YU=class{constructor(e,t){let n={},r={};this.haveRenderCallbacks=[],this.patchedUpdateVersion=-1;let i=[];this.addImages(e,n,i),this.addImages(t,r,i);let{w:a,h:o}=Vj(i),s=new WV({width:a||1,height:o||1});for(let t in e){let r=e[t];if(r.isWebGLImage)continue;let i=n[t].paddedRect;WV.copy(r.data,s,{x:0,y:0},{x:i.x+1,y:i.y+1},r.data)}for(let e in t){let n=t[e],i=r[e].paddedRect,a=i.x+1,o=i.y+1,c=n.data.width,l=n.data.height;WV.copy(n.data,s,{x:0,y:0},{x:a,y:o},n.data),WV.copy(n.data,s,{x:0,y:l-1},{x:a,y:o-1},{width:c,height:1}),WV.copy(n.data,s,{x:0,y:0},{x:a,y:o+l},{width:c,height:1}),WV.copy(n.data,s,{x:c-1,y:0},{x:a-1,y:o},{width:1,height:l}),WV.copy(n.data,s,{x:0,y:0},{x:a+c,y:o},{width:1,height:l})}this.image=s,this.iconPositions=n,this.patternPositions=r}addImages(e,t,n){for(let r in e){let i=e[r],a={x:0,y:0,w:i.data.width+2,h:i.data.height+2};n.push(a),t[r]=new JU(a,i),i.hasRenderCallback&&this.haveRenderCallbacks.push(r)}}patchUpdatedImages(e,t){if(e.dispatchRenderCallbacks(this.haveRenderCallbacks),this.patchedUpdateVersion!==e.updateVersion){this.patchedUpdateVersion=e.updateVersion;for(let n in this.iconPositions)this.patchUpdatedImage(this.iconPositions[n],e.getImage(n),t);for(let n in this.patternPositions)this.patchUpdatedImage(this.patternPositions[n],e.getImage(n),t)}}patchUpdatedImage(e,t,n){if(!e||!t||!e.needsFirstWebGLRender&&e.version===t.version)return;e.needsFirstWebGLRender=!1,e.version=t.version;let[r,i]=e.tl,a=t.userImage?.data;if(!zj(a)){n.update(t.data,void 0,{x:r,y:i});return}let{width:o,height:s}=t.data;n.context.setCustomLayerDefaults(),a.renderWithWebGL({gl:n.context.gl,texture:n.texture,x:r,y:i,width:o,height:s}),n.context.setDirty()}},iO(`ImagePosition`,JU),iO(`ImageAtlas`,YU),XU=(function(e){return e[e.none=0]=`none`,e[e.horizontal=1]=`horizontal`,e[e.vertical=2]=`vertical`,e[e.horizontalOnly=3]=`horizontalOnly`,e})(XU||{}),ZU=RegExp(`^\\p{gc=M}$`,`u`),QU=32640,$U=class e extends Vx{constructor(e,t,n,r){super(e,t),this.angle=n,r!==void 0&&(this.segment=r)}clone(){return new e(this.x,this.y,this.angle,this.segment)}},iO(`Anchor`,$U),eW=class{constructor(e,t,n,r,i,a,o,s,c,l){var u;if(this.boxStartIndex=e.length,c){let e=a.top,t=a.bottom,n=a.collisionPadding;n&&(e-=n[1],t+=n[3]);let r=t-e;r>0&&(r=Math.max(10,r),this.circleDiameter=r)}else{let c=(u=a.image)!=null&&u.content&&(a.image.textFitWidth||a.image.textFitHeight)?hM(a):{x1:a.left,y1:a.top,x2:a.right,y2:a.bottom};c.y1=c.y1*o-s[0],c.y2=c.y2*o+s[2],c.x1=c.x1*o-s[3],c.x2=c.x2*o+s[1];let d=a.collisionPadding;if(d&&(c.x1-=d[0]*o,c.y1-=d[1]*o,c.x2+=d[2]*o,c.y2+=d[3]*o),l){let e=new Vx(c.x1,c.y1),t=new Vx(c.x2,c.y1),n=new Vx(c.x1,c.y2),r=new Vx(c.x2,c.y2),i=l*Math.PI/180;e._rotate(i),t._rotate(i),n._rotate(i),r._rotate(i),c.x1=Math.min(e.x,t.x,n.x,r.x),c.x2=Math.max(e.x,t.x,n.x,r.x),c.y1=Math.min(e.y,t.y,n.y,r.y),c.y2=Math.max(e.y,t.y,n.y,r.y)}e.emplaceBack(t.x,t.y,c.x1,c.y1,c.x2,c.y2,n,r,i)}this.boxEndIndex=e.length}},tW=class{constructor(e=[],t=(e,t)=>e<t?-1:+(e>t)){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let e=(this.length>>1)-1;e>=0;e--)this._down(e)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(this.length===0)return;let e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){let{data:t,compare:n}=this,r=t[e];for(;e>0;){let i=e-1>>1,a=t[i];if(n(r,a)>=0)break;t[e]=a,e=i}t[e]=r}_down(e){let{data:t,compare:n}=this,r=this.length>>1,i=t[e];for(;e<r;){let r=(e<<1)+1,a=r+1;if(a<this.length&&n(t[a],t[r])<0&&(r=a),n(t[r],i)>=0)break;t[e]=t[r],e=r}t[e]=i}},nW=class{constructor(e,t,n,r){this.p=new Vx(e,t),this.h=n,this.d=BM(this.p,r),this.max=this.d+this.h*Math.SQRT2}},rW=(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})({}),iW=1/0,aW=[{name:`a_fade_opacity`,components:1,type:`Uint8`,offset:0}],oW=class{constructor(e){this.layoutVertexArray=new UB,this.indexArray=new XB,this.programConfigurations=e,this.segments=new tV,this.dynamicLayoutVertexArray=new WB,this.opacityVertexArray=new GB,this.hasVisibleVertices=!1,this.placedSymbolArray=new wB}isEmpty(){return this.layoutVertexArray.length===0&&this.indexArray.length===0&&this.dynamicLayoutVertexArray.length===0&&this.opacityVertexArray.length===0}upload(e,t,n,r){this.isEmpty()||(n&&(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,SU.members),this.indexBuffer=e.createIndexBuffer(this.indexArray,t),this.dynamicLayoutVertexBuffer=e.createVertexBuffer(this.dynamicLayoutVertexArray,CU.members,!0),this.opacityVertexBuffer=e.createVertexBuffer(this.opacityVertexArray,aW,!0),this.opacityVertexBuffer.itemSize=1),(n||r)&&this.programConfigurations.upload(e))}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())}},iO(`SymbolBuffers`,oW),sW=class{constructor(e,t,n){this.layoutVertexArray=new e,this.layoutAttributes=t,this.indexArray=new n,this.segments=new tV,this.collisionVertexArray=new JB}upload(e){this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=e.createVertexBuffer(this.collisionVertexArray,wU.members,!0)}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())}},iO(`CollisionBuffers`,sW),cW=class{constructor(e){this.collisionBoxArray=e.collisionBoxArray,this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(e=>e.id),this.index=e.index,this.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=_M(this.zoom,t[`text-size`]),this.iconSizeData=_M(this.zoom,t[`icon-size`]);let n=this.layers[0].layout,r=n.get(`symbol-sort-key`),i=n.get(`symbol-z-order`);this.canOverlap=QM(n,`text-overlap`,`text-allow-overlap`)!==`never`||QM(n,`icon-overlap`,`icon-allow-overlap`)!==`never`||n.get(`text-ignore-placement`)||n.get(`icon-ignore-placement`),this.sortFeaturesByKey=i!==`viewport-y`&&!r.isConstant();let a=i===`viewport-y`||i===`auto`&&!this.sortFeaturesByKey;this.sortFeaturesByY=a&&this.canOverlap,n.get(`symbol-placement`)===`point`&&(this.writingModes=n.get(`text-writing-mode`).map(e=>XU[e])),this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id),this.sourceID=e.sourceID}createArrays(){this.text=new oW(new DV(this.layers,this.zoom,e=>e.startsWith(`text`))),this.icon=new oW(new DV(this.layers,this.zoom,e=>e.startsWith(`icon`))),this.glyphOffsetArray=new DB,this.lineVertexArray=new OB,this.symbolInstances=new EB,this.textAnchorOffsets=new AB}calculateGlyphDependencies(e,t,n,r,i){var a;let o=(r||this.allowVerticalPlacement)&&i,s=BU.fromFeature(e,n),c=s.graphemes();for(let e=0;e<c.length;e++){let n=s.getSection(e);if(`imageName`in n)continue;let r=t[a=n.fontStack]||(t[a]={}),i=c[e];aj(i)&&(r[i]=!0);for(let e of i){if(r[e]=!0,!o)continue;let t=LU[e];t&&(r[t]=!0)}}}populate(e,t,n){let r=this.layers[0],i=r.layout,a=i.get(`text-font`),o=i.get(`text-field`),s=i.get(`icon-image`),c=(o.value.kind!==`constant`||o.value.value instanceof cR&&!o.value.value.isEmpty()||o.value.value.toString().length>0)&&(a.value.kind!==`constant`||a.value.value.length>0),l=s.value.kind!==`constant`||!!s.value.value||Object.keys(s.parameters).length>0,u=i.get(`symbol-sort-key`);if(this.features=[],!c&&!l)return;let d=t.iconDependencies,f=t.glyphDependencies,p=t.availableImages,m=new wz(this.zoom);for(let{feature:t,id:o,index:s,sourceLayerIndex:h}of e){let e=r._featureFilter.needGeometry,g=TO(t,e);if(!r._featureFilter.filter(m,g,n))continue;e||(g.geometry=wO(t));let _;if(c){let e=r.getValueAndResolveTokens(`text-field`,g,n,p),t=cR.factory(e);this.hasRTLText||=tN(t),_=tj(t,r,g)}let v;if(l){let e=r.getValueAndResolveTokens(`icon-image`,g,n,p);v=e instanceof hR?e:hR.fromString(e)}if(!_&&!v)continue;let y=this.sortFeaturesByKey?u.evaluate(g,{},n):void 0,b={id:o,text:_,icon:v,index:s,sourceLayerIndex:h,geometry:g.geometry,properties:t.properties,type:BH.types[t.type],sortKey:y};if(this.features.push(b),v&&(d[v.name]=!0),_){let e=a.evaluate(g,{},n).join(`,`),t=i.get(`text-rotation-alignment`)!==`viewport`&&i.get(`symbol-placement`)!==`point`;this.allowVerticalPlacement=this.writingModes?.includes(2);let r=sj(_.toString());this.calculateGlyphDependencies(_,f,e,t,r);for(let e of _.sections)e.image&&(d[e.image.name]=!0)}}i.get(`symbol-placement`)===`line`&&(this.features=nj(this.features)),this.sortFeaturesByKey&&this.features.sort((e,t)=>e.sortKey-t.sortKey)}update(e,t,n){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(e,t,this.layers,{imagePositions:n}),this.icon.programConfigurations.updatePaintArrays(e,t,this.layers,{imagePositions:n}))}addFeatures({options:e,canonical:t,glyphMap:n,glyphPositions:r,iconMap:i,iconPositions:a,showCollisionBoxes:o}){WM({bucket:this,glyphMap:n,glyphPositions:r,imageMap:i,imagePositions:a,showCollisionBoxes:o,canonical:t,subdivisionGranularity:e.subdivisionGranularity})}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 n=this.lineVertexArray.length;if(e.segment!==void 0){let n=e.dist(t[e.segment+1]),r=e.dist(t[e.segment]),i={};for(let r=e.segment+1;r<t.length;r++)i[r]={x:t[r].x,y:t[r].y,tileUnitDistanceFromAnchor:n},r<t.length-1&&(n+=t[r+1].dist(t[r]));for(let n=e.segment||0;n>=0;n--)i[n]={x:t[n].x,y:t[n].y,tileUnitDistanceFromAnchor:r},n>0&&(r+=t[n-1].dist(t[n]));for(let e=0;e<t.length;e++){let t=i[e];this.lineVertexArray.emplaceBack(t.x,t.y,t.tileUnitDistanceFromAnchor)}}return{lineStartIndex:n,lineLength:this.lineVertexArray.length-n}}addSymbols(e,t,n,r,i,a,o,s,c,l,u,d,f){let p=e.indexArray,m=e.layoutVertexArray,h=e.segments.prepareSegment(4*t.length,m,p,this.canOverlap?a.sortKey:void 0),g=this.glyphOffsetArray.length,_=h.vertexLength,v=this.allowVerticalPlacement&&o===2?Math.PI/2:0,y=a.text&&a.text.sections;for(let r=0;r<t.length;r++){let{tl:i,tr:o,bl:c,br:l,tex:u,pixelOffsetTL:g,pixelOffsetBR:_,minFontScaleX:b,minFontScaleY:x,glyphOffset:S,isSDF:C,sectionIndex:w}=t[r],T=h.vertexLength,E=S[1];$M(m,s.x,s.y,i.x,E+i.y,u.x,u.y,n,C,g.x,g.y,b,x,f),$M(m,s.x,s.y,o.x,E+o.y,u.x+u.w,u.y,n,C,_.x,g.y,b,x,f),$M(m,s.x,s.y,c.x,E+c.y,u.x,u.y+u.h,n,C,g.x,_.y,b,x,f),$M(m,s.x,s.y,l.x,E+l.y,u.x+u.w,u.y+u.h,n,C,_.x,_.y,b,x,f),eN(e.dynamicLayoutVertexArray,s,v),p.emplaceBack(T,T+2,T+1),p.emplaceBack(T+1,T+2,T+3),h.vertexLength+=4,h.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(S[0]),(r===t.length-1||w!==t[r+1].sectionIndex)&&e.programConfigurations.populatePaintArrays(m.length,a,a.index,{imagePositions:{},canonical:d,formattedSection:y?.[w]})}e.placedSymbolArray.emplaceBack(s.x,s.y,g,this.glyphOffsetArray.length-g,_,c,l,s.segment,n?n[0]:0,n?n[1]:0,r[0],r[1],o,0,!1,0,u,f)}_addCollisionDebugVertex(e,t,n,r,i,a){return t.emplaceBack(0,0),e.emplaceBack(n.x,n.y,r,i,Math.round(a.x),Math.round(a.y))}addCollisionDebugVertices(e,t,n,r,i,a,o){let s=i.segments.prepareSegment(4,i.layoutVertexArray,i.indexArray),c=s.vertexLength,l=i.layoutVertexArray,u=i.collisionVertexArray,d=o.anchorX,f=o.anchorY;this._addCollisionDebugVertex(l,u,a,d,f,new Vx(e,t)),this._addCollisionDebugVertex(l,u,a,d,f,new Vx(n,t)),this._addCollisionDebugVertex(l,u,a,d,f,new Vx(n,r)),this._addCollisionDebugVertex(l,u,a,d,f,new Vx(e,r)),s.vertexLength+=4;let p=i.indexArray;p.emplaceBack(c,c+1),p.emplaceBack(c+1,c+2),p.emplaceBack(c+2,c+3),p.emplaceBack(c+3,c),s.primitiveLength+=4}addDebugCollisionBoxes(e,t,n,r){for(let i=e;i<t;i++){let e=this.collisionBoxArray.get(i),t=e.x1,a=e.y1,o=e.x2,s=e.y2;this.addCollisionDebugVertices(t,a,o,s,r?this.textCollisionBox:this.iconCollisionBox,e.anchorPoint,n)}}generateCollisionDebugBuffers(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new sW(KB,TU.members,ZB),this.iconCollisionBox=new sW(KB,TU.members,ZB);for(let e=0;e<this.symbolInstances.length;e++){let t=this.symbolInstances.get(e);this.addDebugCollisionBoxes(t.textBoxStartIndex,t.textBoxEndIndex,t,!0),this.addDebugCollisionBoxes(t.verticalTextBoxStartIndex,t.verticalTextBoxEndIndex,t,!0),this.addDebugCollisionBoxes(t.iconBoxStartIndex,t.iconBoxEndIndex,t,!1),this.addDebugCollisionBoxes(t.verticalIconBoxStartIndex,t.verticalIconBoxEndIndex,t,!1)}}_deserializeCollisionBoxesForSymbol(e,t,n,r,i,a,o,s,c){let l={};for(let r=t;r<n;r++){let t=e.get(r);l.textBox={x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2,anchorPointX:t.anchorPointX,anchorPointY:t.anchorPointY},l.textFeatureIndex=t.featureIndex;break}for(let t=r;t<i;t++){let n=e.get(t);l.verticalTextBox={x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2,anchorPointX:n.anchorPointX,anchorPointY:n.anchorPointY},l.verticalTextFeatureIndex=n.featureIndex;break}for(let t=a;t<o;t++){let n=e.get(t);l.iconBox={x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2,anchorPointX:n.anchorPointX,anchorPointY:n.anchorPointY},l.iconFeatureIndex=n.featureIndex;break}for(let t=s;t<c;t++){let n=e.get(t);l.verticalIconBox={x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2,anchorPointX:n.anchorPointX,anchorPointY:n.anchorPointY},l.verticalIconFeatureIndex=n.featureIndex;break}return l}deserializeCollisionBoxes(e){this.collisionArrays=[];for(let t=0;t<this.symbolInstances.length;t++){let n=this.symbolInstances.get(t);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(e,n.textBoxStartIndex,n.textBoxEndIndex,n.verticalTextBoxStartIndex,n.verticalTextBoxEndIndex,n.iconBoxStartIndex,n.iconBoxEndIndex,n.verticalIconBoxStartIndex,n.verticalIconBoxEndIndex))}}hasTextData(){return this.text.segments.get().length>0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(e,t){let n=e.placedSymbolArray.get(t),r=n.vertexStartIndex+n.numGlyphs*4;for(let t=n.vertexStartIndex;t<r;t+=4)e.indexArray.emplaceBack(t,t+2,t+1),e.indexArray.emplaceBack(t+1,t+2,t+3)}getSortedSymbolIndexes(e){if(this.sortedAngle===e&&this.symbolInstanceIndexes!==void 0)return this.symbolInstanceIndexes;let t=Math.sin(e),n=Math.cos(e),r=[],i=[],a=[];for(let e=0;e<this.symbolInstances.length;++e){a.push(e);let o=this.symbolInstances.get(e);r.push(Math.round(t*o.anchorX+n*o.anchorY)|0),i.push(o.featureIndex)}return a.sort((e,t)=>r[e]-r[t]||i[t]-i[e]),a}addToSortKeyRanges(e,t){let n=this.sortKeyRanges[this.sortKeyRanges.length-1];n?.sortKey===t?n.symbolInstanceEnd=e+1:this.sortKeyRanges.push({sortKey:t,symbolInstanceStart:e,symbolInstanceEnd:e+1})}sortFeatures(e){if(this.sortFeaturesByY&&this.sortedAngle!==e&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(e),this.sortedAngle=e,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let e of this.symbolInstanceIndexes){let t=this.symbolInstances.get(e);this.featureSortOrder.push(t.featureIndex);let n=[t.rightJustifiedTextSymbolIndex,t.centerJustifiedTextSymbolIndex,t.leftJustifiedTextSymbolIndex];for(let e=0;e<n.length;e++){let t=n[e];t>=0&&n.indexOf(t)===e&&this.addIndicesForPlacedSymbol(this.text,t)}t.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,t.verticalPlacedTextSymbolIndex),t.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,t.placedIconSymbolIndex),t.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,t.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}},iO(`SymbolBucket`,cW,{omit:[`layers`,`collisionBoxArray`,`features`,`compareText`]}),uW=()=>lW||=new zz({"symbol-placement":new Pz(kL.layout_symbol[`symbol-placement`],`symbol-placement`),"symbol-spacing":new Pz(kL.layout_symbol[`symbol-spacing`],`symbol-spacing`),"symbol-avoid-edges":new Pz(kL.layout_symbol[`symbol-avoid-edges`],`symbol-avoid-edges`),"symbol-sort-key":new Fz(kL.layout_symbol[`symbol-sort-key`],`symbol-sort-key`),"symbol-z-order":new Pz(kL.layout_symbol[`symbol-z-order`],`symbol-z-order`),"icon-allow-overlap":new Pz(kL.layout_symbol[`icon-allow-overlap`],`icon-allow-overlap`),"icon-overlap":new Pz(kL.layout_symbol[`icon-overlap`],`icon-overlap`),"icon-ignore-placement":new Pz(kL.layout_symbol[`icon-ignore-placement`],`icon-ignore-placement`),"icon-optional":new Pz(kL.layout_symbol[`icon-optional`],`icon-optional`),"icon-rotation-alignment":new Fz(kL.layout_symbol[`icon-rotation-alignment`],`icon-rotation-alignment`),"icon-size":new Fz(kL.layout_symbol[`icon-size`],`icon-size`),"icon-text-fit":new Pz(kL.layout_symbol[`icon-text-fit`],`icon-text-fit`),"icon-text-fit-padding":new Pz(kL.layout_symbol[`icon-text-fit-padding`],`icon-text-fit-padding`),"icon-image":new Fz(kL.layout_symbol[`icon-image`],`icon-image`),"icon-rotate":new Fz(kL.layout_symbol[`icon-rotate`],`icon-rotate`),"icon-padding":new Fz(kL.layout_symbol[`icon-padding`],`icon-padding`),"icon-keep-upright":new Pz(kL.layout_symbol[`icon-keep-upright`],`icon-keep-upright`),"icon-offset":new Fz(kL.layout_symbol[`icon-offset`],`icon-offset`),"icon-anchor":new Fz(kL.layout_symbol[`icon-anchor`],`icon-anchor`),"icon-pitch-alignment":new Pz(kL.layout_symbol[`icon-pitch-alignment`],`icon-pitch-alignment`),"text-pitch-alignment":new Pz(kL.layout_symbol[`text-pitch-alignment`],`text-pitch-alignment`),"text-rotation-alignment":new Pz(kL.layout_symbol[`text-rotation-alignment`],`text-rotation-alignment`),"text-field":new Fz(kL.layout_symbol[`text-field`],`text-field`),"text-font":new Fz(kL.layout_symbol[`text-font`],`text-font`),"text-size":new Fz(kL.layout_symbol[`text-size`],`text-size`),"text-max-width":new Fz(kL.layout_symbol[`text-max-width`],`text-max-width`),"text-line-height":new Pz(kL.layout_symbol[`text-line-height`],`text-line-height`),"text-letter-spacing":new Fz(kL.layout_symbol[`text-letter-spacing`],`text-letter-spacing`),"text-justify":new Fz(kL.layout_symbol[`text-justify`],`text-justify`),"text-radial-offset":new Fz(kL.layout_symbol[`text-radial-offset`],`text-radial-offset`),"text-variable-anchor":new Pz(kL.layout_symbol[`text-variable-anchor`],`text-variable-anchor`),"text-variable-anchor-offset":new Fz(kL.layout_symbol[`text-variable-anchor-offset`],`text-variable-anchor-offset`),"text-anchor":new Fz(kL.layout_symbol[`text-anchor`],`text-anchor`),"text-max-angle":new Pz(kL.layout_symbol[`text-max-angle`],`text-max-angle`),"text-writing-mode":new Pz(kL.layout_symbol[`text-writing-mode`],`text-writing-mode`),"text-rotate":new Fz(kL.layout_symbol[`text-rotate`],`text-rotate`),"text-padding":new Pz(kL.layout_symbol[`text-padding`],`text-padding`),"text-keep-upright":new Pz(kL.layout_symbol[`text-keep-upright`],`text-keep-upright`),"text-transform":new Fz(kL.layout_symbol[`text-transform`],`text-transform`),"text-offset":new Fz(kL.layout_symbol[`text-offset`],`text-offset`),"text-allow-overlap":new Pz(kL.layout_symbol[`text-allow-overlap`],`text-allow-overlap`),"text-overlap":new Pz(kL.layout_symbol[`text-overlap`],`text-overlap`),"text-ignore-placement":new Pz(kL.layout_symbol[`text-ignore-placement`],`text-ignore-placement`),"text-optional":new Pz(kL.layout_symbol[`text-optional`],`text-optional`),"symbol-height-offset":new Fz(kL.layout_symbol[`symbol-height-offset`],`symbol-height-offset`),"symbol-height-anchor":new Pz(kL.layout_symbol[`symbol-height-anchor`],`symbol-height-anchor`)}),fW=()=>dW||=new zz({"icon-opacity":new Fz(kL.paint_symbol[`icon-opacity`],`icon-opacity`),"icon-color":new Fz(kL.paint_symbol[`icon-color`],`icon-color`),"icon-halo-color":new Fz(kL.paint_symbol[`icon-halo-color`],`icon-halo-color`),"icon-halo-width":new Fz(kL.paint_symbol[`icon-halo-width`],`icon-halo-width`),"icon-halo-blur":new Fz(kL.paint_symbol[`icon-halo-blur`],`icon-halo-blur`),"icon-translate":new Pz(kL.paint_symbol[`icon-translate`],`icon-translate`),"icon-translate-anchor":new Pz(kL.paint_symbol[`icon-translate-anchor`],`icon-translate-anchor`),"text-opacity":new Fz(kL.paint_symbol[`text-opacity`],`text-opacity`),"text-color":new Fz(kL.paint_symbol[`text-color`],`text-color`,{runtimeType:IL,getOverride:e=>e.textColor,hasOverride:e=>!!e.textColor}),"text-halo-color":new Fz(kL.paint_symbol[`text-halo-color`],`text-halo-color`),"text-halo-width":new Fz(kL.paint_symbol[`text-halo-width`],`text-halo-width`),"text-halo-blur":new Fz(kL.paint_symbol[`text-halo-blur`],`text-halo-blur`),"text-translate":new Pz(kL.paint_symbol[`text-translate`],`text-translate`),"text-translate-anchor":new Pz(kL.paint_symbol[`text-translate-anchor`],`text-translate-anchor`)}),pW={get paint(){return fW()},get layout(){return uW()}},mW=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:ML,this.defaultValue=e}evaluate(e){if(e.formattedSection){let t=this.defaultValue.property.overrides;if(t!=null&&t.hasOverride(e.formattedSection))return t.getOverride(e.formattedSection)}return e.feature&&e.featureState?this.defaultValue.evaluate(e.feature,e.featureState):this.defaultValue.property.specification.default}eachChild(e){if(!this.defaultValue.isConstant()){let t=this.defaultValue.value;e(t._styleExpression.expression)}}outputDefined(){return!1}serialize(){return null}},iO(`FormatSectionOverride`,mW,{omit:[`defaultValue`]}),hW=e=>e.type===`symbol`,gW=class e extends Hz{constructor(e,t){super(e,pW,t)}recalculate(e,t){super.recalculate(e,t);let n=this.layout.get(`icon-rotation-alignment`);if((n.value.kind!==`constant`||n.value.value===`auto`)&&(this.layout._values[`icon-rotation-alignment`]=new Mz(n.property,{kind:`constant`,value:this.layout.get(`symbol-placement`)===`point`?`viewport`:`map`},n.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 e=this.layout.get(`text-writing-mode`);if(e){let t=[];for(let n of e)t.includes(n)||t.push(n);this.layout._values[`text-writing-mode`]=t}else this.layout._values[`text-writing-mode`]=[`horizontal`]}this._setPaintOverrides()}getValueAndResolveTokens(e,t,n,r){let i=this.layout.get(e).evaluate(t,{},n,r),a=this._unevaluatedLayout._values[e];return!a.isDataDriven()&&!ME(a.value)&&i?nN(t.properties,i):i}createBucket(e){return new cW(e)}queryRadius(){return 0}queryIntersectsFeature(){throw Error(`Should take a different path in FeatureIndex`)}_setPaintOverrides(){for(let t of pW.paint.overridableProperties){if(!e.hasPaintOverride(this.layout,t))continue;let n=this.paint.get(t),r=new cz(new mW(n),`layers[${this.id}].paint.${n.property.name}`,n.property.specification),i=null;i=n.value.kind===`constant`||n.value.kind===`source`?new lz(`source`,r):new uz(`composite`,r,n.value.zoomStops),this.paint._values[t]=new Mz(n.property,i,n.parameters)}}_handleOverridablePaintPropertyUpdate(t,n,r){return!this.layout||n.isDataDriven()||r.isDataDriven()?!1:e.hasPaintOverride(this.layout,t)}static hasPaintOverride(e,t){let n=e.get(`text-field`),r=pW.paint.properties[t],i=!1,a=e=>{var t;for(let n of e)if((t=r.overrides)!=null&&t.hasOverride(n)){i=!0;return}};if(n.value.kind===`constant`&&n.value.value instanceof cR)a(n.value.value.sections);else if(n.value.kind===`source`||n.value.kind===`composite`){let e=t=>{if(!i){if(t instanceof vR&&Fw(t.value)===HL){let e=t.value;a(e.sections)}else t instanceof wR?a(t.sections):t.eachChild(e)}},t=n.value;t._styleExpression&&e(t._styleExpression.expression)}return i}},vW=()=>_W||=new zz({"background-color":new Pz(kL.paint_background[`background-color`],`background-color`),"background-pattern":new Lz(kL.paint_background[`background-pattern`],`background-pattern`),"background-opacity":new Pz(kL.paint_background[`background-opacity`],`background-opacity`)}),yW={get paint(){return vW()}},bW=e=>e.type===`background`,xW=class extends Hz{constructor(e,t){super(e,yW,t)}},SW=e=>e.type===`custom`,CW=class extends Hz{constructor(e,t){super(e,{},t),this.onAdd=e=>{this.implementation.onAdd&&this.implementation.onAdd(e,e.painter.context.gl)},this.onRemove=e=>{this.implementation.onRemove&&this.implementation.onRemove(e,e.painter.context.gl)},this.implementation=e}is3D(){return this.implementation.renderingMode===`3d`}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw Error(`Custom layers cannot be serialized`)}},wW=class{constructor(e){this._methodToThrottle=e,this._triggered=!1,this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle()}}trigger(){var e;this._triggered||(this._triggered=!0,(e=this._channel)==null||e.port1.postMessage(!0))}remove(){delete this._channel,this._methodToThrottle=()=>{}}},TW={once:!0},EW=class{constructor(e,t){this.target=e,this.mapId=t,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new wW(()=>this.process()),this.subscription=VC(this.target,`message`,e=>this.receive(e),!1),this.globalScope=FC(self)?e:window}registerMessageHandler(e,t){this.messageHandlers[e]=t}unregisterMessageHandler(e){delete this.messageHandlers[e]}sendAsync(e,t){return new Promise((n,r)=>{let i=Math.round(Math.random()*0xde0b6b3a7640000).toString(36).substring(0,10),a=t?VC(t.signal,`abort`,()=>{a?.unsubscribe(),delete this.resolveRejects[i];let n={id:i,type:`<cancel>`,origin:location.origin,targetMapId:e.targetMapId,sourceMapId:this.mapId};this.target.postMessage(n),r(new gL(t.signal.reason))},TW):null;this.resolveRejects[i]={resolve:e=>{a?.unsubscribe(),n(e)},reject:e=>{a?.unsubscribe(),r(e)}};let o=[],s=m(p({},e),{id:i,sourceMapId:this.mapId,origin:location.origin,data:lO(e.data,o)});this.target.postMessage(s,{transfer:o})})}receive(e){let t=e.data,n=t.id,r=[`file://`,`resource://android`,`null`],i=[t.origin,location.origin],a=t.origin===location.origin,o=i.some(e=>r.includes(e));if((a||o)&&!(t.targetMapId&&this.mapId!==t.targetMapId)){if(t.type===`<cancel>`){delete this.tasks[n];let e=this.abortControllers[n];delete this.abortControllers[n],e&&e.abort();return}if(FC(self)||t.mustQueue){this.tasks[n]=t,this.taskQueue.push(n),this.invoker.trigger();return}this.processTask(n,t)}}process(){if(this.taskQueue.length===0)return;let e=this.taskQueue.shift(),t=this.tasks[e];delete this.tasks[e],this.taskQueue.length>0&&this.invoker.trigger(),t&&this.processTask(e,t)}processTask(e,t){return S(this,null,function*(){if(t.type===`<response>`){let n=this.resolveRejects[e];if(delete this.resolveRejects[e],!n)return;t.error?n.reject(ZS(uO(t.error))):n.resolve(uO(t.data));return}if(!this.messageHandlers[t.type]){this.completeTask(e,null,null);return}let n=uO(t.data),r=new AbortController;this.abortControllers[e]=r;try{let i=yield this.messageHandlers[t.type](t.sourceMapId,n,r);this.completeTask(e,null,i)}catch(t){this.completeTask(e,ZS(t))}})}completeTask(e,t,n){let r=[];delete this.abortControllers[e];let i={id:e,type:`<response>`,sourceMapId:this.mapId,origin:location.origin,error:t?lO(t):null,data:lO(n,r)};this.target.postMessage(i,{transfer:r})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},DW=class{constructor(e,t,n){if(!oN(e,t,n))throw Error(`x=${t}, y=${n}, z=${e} outside of bounds. 0<=x<${2**e}, 0<=y<${2**e} 0<=z<=25 `);this.z=e,this.x=t,this.y=n,this.key=cN(0,e,e,t,n)}equals(e){return this.z===e.z&&this.x===e.x&&this.y===e.y}url(e,t,n){let r=lN(this.x,this.y,this.z),i=dN(this.z,this.x,this.y);return e[(this.x+this.y)%e.length].replace(/{prefix}/g,(this.x%16).toString(16)+(this.y%16).toString(16)).replace(/{z}/g,String(this.z)).replace(/{x}/g,String(this.x)).replace(/{y}/g,String(n===`tms`?2**this.z-this.y-1:this.y)).replace(/{ratio}/g,t>1?`@2x`:``).replace(/{quadkey}/g,i).replace(/{bbox-epsg-3857}/g,r)}isChildOf(e){let t=this.z-e.z;return t>0&&e.x===this.x>>t&&e.y===this.y>>t}getTilePoint(e){let t=2**this.z;return new Vx((e.x*t-this.x)*aL,(e.y*t-this.y)*aL)}toString(){return`${this.z}/${this.x}/${this.y}`}},OW=class{constructor(e,t){this.wrap=e,this.canonical=t,this.key=cN(e,t.z,t.z,t.x,t.y)}},kW=class e{constructor(e,t,n,r,i){if(this.terrainRttPosMatrix32f=null,e<n)throw Error(`overscaledZ should be >= z; overscaledZ = ${e}; z = ${n}`);this.overscaledZ=e,this.wrap=t,this.canonical=new DW(n,+r,+i),this.key=cN(t,e,n,r,i)}clone(){return new e(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(e){return this.overscaledZ===e.overscaledZ&&this.wrap===e.wrap&&this.canonical.equals(e.canonical)}scaledTo(t){if(t>this.overscaledZ)throw Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);let n=this.canonical.z-t;return t>this.canonical.z?new e(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new e(t,this.wrap,t,this.canonical.x>>n,this.canonical.y>>n)}isOverscaled(){return this.overscaledZ>this.canonical.z}calculateScaledKey(e,t){if(e>this.overscaledZ)throw Error(`targetZ > this.overscaledZ; targetZ = ${e}; overscaledZ = ${this.overscaledZ}`);let n=this.canonical.z-e;return e>this.canonical.z?cN(this.wrap*+t,e,this.canonical.z,this.canonical.x,this.canonical.y):cN(this.wrap*+t,e,e,this.canonical.x>>n,this.canonical.y>>n)}isChildOf(e){if(e.wrap!==this.wrap||this.overscaledZ-e.overscaledZ<=0)return!1;if(e.overscaledZ===0)return this.overscaledZ>0;let t=this.canonical.z-e.canonical.z;return t<0?!1:e.canonical.x===this.canonical.x>>t&&e.canonical.y===this.canonical.y>>t}children(t){if(this.overscaledZ>=t)return[new e(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let n=this.canonical.z+1,r=this.canonical.x*2,i=this.canonical.y*2;return[new e(n,this.wrap,n,r,i),new e(n,this.wrap,n,r+1,i),new e(n,this.wrap,n,r,i+1),new e(n,this.wrap,n,r+1,i+1)]}isLessThan(e){return this.wrap<e.wrap?!0:this.wrap>e.wrap?!1:this.overscaledZ<e.overscaledZ?!0:this.overscaledZ>e.overscaledZ?!1:this.canonical.x<e.canonical.x?!0:this.canonical.x>e.canonical.x?!1:this.canonical.y<e.canonical.y}wrapped(){return new e(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)}unwrapTo(t){return new e(this.overscaledZ,t,this.canonical.z,this.canonical.x,this.canonical.y)}overscaleFactor(){return 2**(this.overscaledZ-this.canonical.z)}toUnwrapped(){return new OW(this.wrap,this.canonical)}toString(){return`${this.overscaledZ}/${this.canonical.x}/${this.canonical.y}`}getTilePoint(e){return this.canonical.getTilePoint(new KH(e.x-this.wrap,e.y))}normalizeCoordinates(t,n,r=aL){if(t>=0&&t<r&&n>=0&&n<r)return{tileID:this,x:t,y:n};let i=Math.floor(t/r),a=Math.floor(n/r),o=t-i*r,s=n-a*r,c=this.canonical.z,l=1<<c,u=this.canonical.y+a;if(u<0||u>=l)return null;let d=this.canonical.x+i,f=this.wrap;return d<0?(f-=Math.ceil(-d/l),d=(d%l+l)%l):d>=l&&(f+=Math.floor(d/l),d%=l),{tileID:new e(this.overscaledZ,f,c,d,u),x:o,y:s}}},AW=Math.PI*6378137,iO(`CanonicalTileID`,DW),iO(`OverscaledTileID`,kW,{omit:[`terrainRttPosMatrix32f`]}),jW=`_geojsonTileLayer`,MW=class{constructor(e){this._stringToNumber={},this._numberToString=[];for(let t=0;t<e.length;t++){let n=e[t];this._stringToNumber[n]=t,this._numberToString[t]=n}}encode(e){return this._stringToNumber[e]}decode(e){if(e>=this._numberToString.length)throw Error(`Out of bounds. Index requested n=${e} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[e]}},NW=class{constructor(e,t,n,r,i){this.type=`Feature`,this._vectorTileFeature=e,this._x=n,this._y=r,this._z=t;for(let t in e.properties)typeof e.properties[t]==`string`&&e.properties[t].startsWith(`__$json__:`)&&(e.properties[t]=JSON.parse(e.properties[t].slice(10)));this.properties=e.properties,this.id=i}projectPoint(e,t,n,r){return[(e.x+t)*360/r-180,360/Math.PI*Math.atan(Math.exp((1-(e.y+n)*2/r)*Math.PI))-90]}projectLine(e,t,n,r){return e.map(e=>this.projectPoint(e,t,n,r))}get geometry(){if(this._geometry)return this._geometry;let e=this._vectorTileFeature,t=e.extent*2**this._z,n=e.extent*this._x,r=e.extent*this._y,i=e.loadGeometry();switch(e.type){case 1:{let e=[];for(let t of i)e.push(t[0]);let a=this.projectLine(e,n,r,t);this._geometry=e.length===1?{type:`Point`,coordinates:a[0]}:{type:`MultiPoint`,coordinates:a};break}case 2:{let e=i.map(e=>this.projectLine(e,n,r,t));this._geometry=e.length===1?{type:`LineString`,coordinates:e[0]}:{type:`MultiLineString`,coordinates:e};break}case 3:{let e=tA(i),a=[];for(let i of e)a.push(i.map(e=>this.projectLine(e,n,r,t)));this._geometry=a.length===1?{type:`Polygon`,coordinates:a[0]}:{type:`MultiPolygon`,coordinates:a};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}},PW=class{constructor(e,t,n){this._name=e,this.dataBuffer=t,typeof n==`number`?this._size=n:(this.nullabilityBuffer=n,this._size=n.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}},FW=class extends PW{},IW=class extends FW{getValueFromBuffer(e){return this.dataBuffer[e]}},LW=class extends FW{getValueFromBuffer(e){return this.dataBuffer[e]}},RW=class extends PW{constructor(e,t,n,r){super(e,t,r),this.delta=n}},zW=class extends RW{constructor(e,t,n,r,i){super(e,i?Int32Array.of(t):Uint32Array.of(t),n,r)}getValueFromBuffer(e){return this.dataBuffer[0]+e*this.delta}},BW=class extends PW{constructor(e,t,n,r){super(e,r?Int32Array.of(t):Uint32Array.of(t),n)}getValueFromBuffer(e){return this.dataBuffer[0]}},VW=class{constructor(e,t,n,r,i=4096){if(this._name=e,this._geometryVector=t,this._idVector=n,this._propertyVectors=r,this._extent=i,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||=new Map(this.propertyVectors.map(e=>[e.name,e])),this.propertyVectorsMap.get(e)}get numFeatures(){return this.geometryVector.numGeometries}get extent(){return this._extent}getFeatures(){let e=[],t=this.geometryVector.getGeometries();for(let n=0;n<this.numFeatures;n++){let r;if(this.idVector){let e=this.idVector.getValue(n);e!==null&&(r=this.containsMaxSafeIntegerValues(this.idVector)?Number(e):e)}let i={coordinates:t[n],type:this.geometryVector.geometryType(n)},a={};for(let e of this.propertyVectors){if(!e)continue;let t=e.name,r=e.getValue(n);r!==null&&(a[t]=r)}e.push({id:r,geometry:i,properties:a})}return e}containsMaxSafeIntegerValues(e){return e instanceof IW||e instanceof BW||e instanceof zW||e instanceof LW}},HW={FEATURE:0,VERTEX:1},UW={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},WW={GEOMETRY:0,STRUCT:1,MAP:2},GW={ID:0},KW=class{constructor(e){this.value=e}get(){return this.value}set(e){this.value=e}increment(){return this.value++}add(e){this.value+=e}},(function(e){e.NONE=`NONE`,e.DELTA=`DELTA`,e.COMPONENTWISE_DELTA=`COMPONENTWISE_DELTA`,e.RLE=`RLE`,e.MORTON=`MORTON`})(qW||={}),(function(e){e.NONE=`NONE`,e.FAST_PFOR=`FAST_PFOR`,e.VARINT=`VARINT`})(JW||={}),YW=new Uint32Array(33),YW[0]=0;for(let e=1;e<=32;e++)YW[e]=e===32?4294967295:4294967295>>>32-e;XW=YW,ZW=65536,QW=hN(ZW),$W=3*QW/256+QW|0,(function(e){e.PRESENT=`PRESENT`,e.DATA=`DATA`,e.OFFSET=`OFFSET`,e.LENGTH=`LENGTH`})(eG||={}),(function(e){e.NONE=`NONE`,e.SINGLE=`SINGLE`,e.SHARED=`SHARED`,e.VERTEX=`VERTEX`,e.MORTON=`MORTON`,e.FSST=`FSST`})(tG||={}),(function(e){e.VERTEX=`VERTEX`,e.INDEX=`INDEX`,e.STRING=`STRING`,e.KEY=`KEY`})(nG||={}),(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`})(rG||={}),iG=[eG.PRESENT,eG.DATA,eG.OFFSET,eG.LENGTH],aG=[qW.NONE,qW.DELTA,qW.COMPONENTWISE_DELTA,qW.RLE,qW.MORTON],oG=[JW.NONE,JW.FAST_PFOR,JW.VARINT],sG=[tG.NONE,tG.SINGLE,tG.SHARED,tG.VERTEX,tG.MORTON,tG.FSST],cG=[nG.VERTEX,nG.INDEX,nG.STRING,nG.KEY],lG=[rG.VAR_BINARY,rG.GEOMETRIES,rG.PARTS,rG.RINGS,rG.TRIANGLES,rG.SYMBOL,rG.DICTIONARY],(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`})(uG||={}),dG=class{constructor(e,t){this.values=e,this._size=t}get(e){let t=Math.floor(e/8),n=e%8;return(this.values[t]>>n&1)==1}set(e,t){let n=Math.floor(e/8),r=e%8;this.values[n]=this.values[n]|+!!t<<r}getInt(e){let t=Math.floor(e/8),n=e%8;return this.values[t]>>n&1}size(){return this._size}getBuffer(){return this.values}},fG=new TextDecoder,pG=class extends FW{getValueFromBuffer(e){return this.dataBuffer[e]}},mG=class extends RW{constructor(e,t,n,r,i){super(e,i?BigInt64Array.of(t):BigUint64Array.of(t),n,r)}getValueFromBuffer(e){return this.dataBuffer[0]+BigInt(e)*this.delta}},(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`})(hG||={}),(function(e){e[e.POINT=0]=`POINT`,e[e.LINESTRING=1]=`LINESTRING`,e[e.POLYGON=2]=`POLYGON`})(gG||={}),(function(e){e[e.MORTON=0]=`MORTON`,e[e.VEC_2=1]=`VEC_2`,e[e.VEC_3=2]=`VEC_3`})(_G||={}),vG=class{constructor(e,t,n,r,i){this._vertexBufferType=e,this._topologyVector=t,this._vertexOffsets=n,this._vertexBuffer=r,this._mortonSettings=i}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 t=this.vertexOffsets[e],n=this.vertexBuffer[t],r=kF(n,this.mortonSettings.numBits,this.mortonSettings.coordinateShift);return[r.x,r.y]}let t=this.vertexOffsets?this.vertexOffsets[e]*2:e*2;return[this.vertexBuffer[t],this.vertexBuffer[t+1]]}getGeometries(){return jF(this)}get mortonSettings(){return this._mortonSettings}},yG=class extends vG{constructor(e,t,n,r,i,a,o){super(n,r,i,a,o),this._numGeometries=e,this._geometryType=t}geometryType(e){return this._geometryType}get numGeometries(){return this._numGeometries}containsPolygonGeometry(){return this._geometryType===hG.POLYGON||this._geometryType===hG.MULTIPOLYGON}containsSingleGeometryType(){return!0}},bG=class extends vG{constructor(e,t,n,r,i,a){super(e,n,r,i,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)===hG.POLYGON||this.geometryType(e)===hG.MULTIPOLYGON)return!0;return!1}containsSingleGeometryType(){return!1}},xG=class{constructor(e,t,n,r){this._triangleOffsets=e,this._indexBuffer=t,this._vertexBuffer=n,this._topologyVector=r}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 RF(e,this._topologyVector,void 0,this._vertexBuffer).getGeometries()}[Symbol.iterator](){return null}},SG=class extends xG{constructor(e,t,n,r,i,a){super(n,r,i,a),this._numGeometries=e,this._geometryType=t}geometryType(e){return this._geometryType}get numGeometries(){return this._numGeometries}containsSingleGeometryType(){return!0}},CG=class extends xG{constructor(e,t,n,r,i){super(t,n,r,i),this._geometryTypes=e}geometryType(e){return this._geometryTypes[e]}get numGeometries(){return this._geometryTypes.length}containsSingleGeometryType(){return!1}},wG=class extends PW{constructor(e,t,n){super(e,t.getBuffer(),n),this.dataVector=t}getValueFromBuffer(e){return this.dataVector.get(e)}},TG=class extends FW{getValueFromBuffer(e){return this.dataBuffer[e]}},EG=class extends PW{constructor(e,t,n,r){super(e,r?BigInt64Array.of(t):BigUint64Array.of(t),n)}getValueFromBuffer(e){return this.dataBuffer[0]}},DG=class extends PW{constructor(e,t,n,r){super(e,n,r),this.offsetBuffer=t}},OG=class extends DG{constructor(e,t,n,r){super(e,t,n,r??t.length-1)}getValueFromBuffer(e){let t=this.offsetBuffer[e],n=this.offsetBuffer[e+1];return rF(this.dataBuffer,t,n)}},kG=class extends DG{constructor(e,t,n,r,i){super(e,n,r,i??t.length),this.indexBuffer=t,this.indexBuffer=t}getValueFromBuffer(e){let t=this.indexBuffer[e],n=this.offsetBuffer[t],r=this.offsetBuffer[t+1];return rF(this.dataBuffer,n,r)}},AG=class extends DG{constructor(e,t,n,r,i,a,o,s){super(e,n,r,o??t.length),this.indexBuffer=t,this.symbolOffsetBuffer=i,this.symbolTableBuffer=a,this.sharedDictionaryCache=s}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],n=this.offsetBuffer[t],r=this.offsetBuffer[t+1];return rF(this.decodedDictionary,n,r)}decodeDictionary(){return this.symbolLengthBuffer??=this.offsetToLengthBuffer(this.symbolOffsetBuffer),JF(this.symbolTableBuffer,this.symbolLengthBuffer,this.dataBuffer)}offsetToLengthBuffer(e){let t=new Uint32Array(e.length-1),n=e[0];for(let r=1;r<e.length;r++){let i=e[r];t[r-1]=i-n,n=i}return t}},jG=class extends PW{constructor(e,t,n){super(e,new Uint8Array,n??t.length),this.values=t}getValueFromBuffer(e){return this.values[e]}},(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`})(MG||={}),(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`})(NG||={}),PG={ID:0,ID_NULLABLE:1,ID_LONG:2,GEOMETRY:4,SCALAR_BASE:10,STRUCT:30,MAP:31},FG=new TextDecoder,IG=`0-3(ID), 4(GEOMETRY), 10-29(scalars), 30(STRUCT), 31(MAP)`,LG=class{constructor(e,t){switch(this._featureData=e,this.properties=this._featureData.properties||{},this._featureData.geometry?.type){case hG.POINT:case hG.MULTIPOINT:this.type=1;break;case hG.LINESTRING:case hG.MULTILINESTRING:this.type=2;break;case hG.POLYGON:case hG.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 n=[];for(let e of t)n.push(new Vx(e.x,e.y));e.push(n)}return e}},RG=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 LG(this.features[e],this.extent)}},zG=class{constructor(e){this.layers={};let t=PI(new Uint8Array(e));this.layers=t.reduce((e,t)=>m(p({},e),{[t.name]:new RG(t)}),{})}},BG=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 xz(aL,16,0),this.grid3D=new xz(aL,16,0),this.featureIndexArray=new MB,this.promoteId=t}insert(e,t,n,r,i,a){let o=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(n,r,i);let s=a?this.grid3D:this.grid;for(let e of t){let t=[1/0,1/0,-1/0,-1/0];for(let n of e)t[0]=Math.min(t[0],n.x),t[1]=Math.min(t[1],n.y),t[2]=Math.max(t[2],n.x),t[3]=Math.max(t[3],n.y);t[0]<8192&&t[1]<8192&&t[2]>=0&&t[3]>=0&&s.insert(o,t[0],t[1],t[2],t[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=this.encoding===`mlt`?new zG(this.rawTileData).layers:new HH(new qU(this.rawTileData)).layers,this.sourceLayerCoder=new MW(this.vtLayers?Object.keys(this.vtLayers).sort():[jW])),this.vtLayers}query(e,t,n,r){this.loadVTLayers();let i=e.params,a=aL/e.tileSize/e.scale,o=ZE(i.filter,`queryRenderedFeatures filter`,i.globalState),s=e.queryGeometry,c=e.queryPadding*a,l=RH.fromPoints(s),u=this.grid.query(l.minX-c,l.minY-c,l.maxX+c,l.maxY+c),d=RH.fromPoints(e.cameraQueryGeometry).expandBy(c),f=this.grid3D.query(d.minX,d.minY,d.maxX,d.maxY,(t,n,r,i)=>RO(e.cameraQueryGeometry,t-c,n-c,r+c,i+c));for(let e of f)u.push(e);u.sort(RI);let p={},m;for(let c of u){if(c===m)continue;m=c;let l=this.featureIndexArray.get(c),u=null;this.loadMatchingFeature(p,l.bucketIndex,l.sourceLayerIndex,l.featureIndex,o,i.layers,i.availableImages,t,n,r,(t,n,r)=>(u||=wO(t),n.queryIntersectsFeature({queryGeometry:s,feature:t,featureState:r,geometry:u,zoom:this.z,transform:e.transform,pixelsToTileUnits:a,pixelPosMatrix:e.pixelPosMatrix,unwrappedTileID:this.tileID.toUnwrapped(),getElevation:e.getElevation})))}return p}loadMatchingFeature(e,t,n,r,i,a,o,s,c,l,u){let d=this.bucketLayerIDs[t];if(a&&!d.some(e=>a.has(e)))return;let f=this.sourceLayerCoder.decode(n),p=this.vtLayers[f].feature(r);if(i.needGeometry){let e=TO(p,!0);if(!i.filter(new wz(this.tileID.overscaledZ),e,this.tileID.canonical))return}else if(!i.filter(new wz(this.tileID.overscaledZ),p))return;let m=this.getId(p,f);for(let t of d){if(a&&!a.has(t))continue;let n=s[t];if(!n)continue;let i={};m&&l&&(i=l.getState(n.sourceLayer||`_geojsonTileLayer`,m));let d=yC({},c[t]);d.paint=LI(d.paint,n.paint,p,i,o),d.layout=LI(d.layout,n.layout,p,i,o);let f=!u||u(p,n,i);if(!f)continue;let h=new NW(p,this.z,this.x,this.y,m);h.layer=d;let g=e[t];g===void 0&&(g=e[t]=[]),g.push({featureIndex:r,feature:h,intersectionZ:f})}}lookupSymbolFeatures(e,t,n,r,i,a,o,s){let c={};this.loadVTLayers();let l=ZE(i.filterSpec,`queryRenderedFeatures symbol filter`,i.globalState);for(let i of e)this.loadMatchingFeature(c,n,r,i,l,a,o,s,t);return c}hasLayer(e){for(let t of this.bucketLayerIDs)for(let n of t)if(e===n)return!0;return!1}getId(e,t){var n;let r=e.id;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&&(n=e.properties)!=null&&n.cluster&&this.promoteId&&(r=Number(e.properties.cluster_id))}return r}},iO(`FeatureIndex`,BG,{omit:[`rawTileData`,`sourceLayerCoder`]}),VG=class{constructor(e,t){this.max=e,this.onRemove=t,this.reset()}reset(){for(let e in this.data)for(let t of this.data[e])t.timeout&&clearTimeout(t.timeout),this.onRemove(t.value);return this.data={},this.order=[],this}add(e,t,n){let r=e.wrapped().key;this.data[r]===void 0&&(this.data[r]=[]);let i={value:t,timeout:void 0};if(n!==void 0&&(i.timeout=setTimeout(()=>{this.remove(e,i)},n)),this.data[r].push(i),this.order.push(r),this.order.length>this.max){let e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}has(e){return e.wrapped().key in this.data}getAndRemove(e){return this.has(e)?this._getAndRemoveByKey(e.wrapped().key):null}_getAndRemoveByKey(e){let t=this.data[e].shift();return t.timeout&&clearTimeout(t.timeout),this.data[e].length===0&&delete this.data[e],this.order.splice(this.order.indexOf(e),1),t.value}getByKey(e){let t=this.data[e];return t?t[0].value:null}get(e){return this.has(e)?this.data[e.wrapped().key][0].value:null}remove(e,t){if(!this.has(e))return this;let n=e.wrapped().key,r=t===void 0?0:this.data[n].indexOf(t),i=this.data[n][r];return this.data[n].splice(r,1),i.timeout&&clearTimeout(i.timeout),this.data[n].length===0&&delete this.data[n],this.onRemove(i.value),this.order.splice(this.order.indexOf(n),1),this}setMaxSize(e){for(this.max=e;this.order.length>this.max;){let e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}filter(e){let t=[];for(let n in this.data)for(let r of this.data[n])e(r.value)||t.push(r);for(let e of t)this.remove(e.value.tileID,e)}}}),UG={};v(UG,{AJAXError:()=>yL,AttributionControl:()=>l4,BoxZoomHandler:()=>A2,CanvasSource:()=>SQ,CooperativeGesturesHandler:()=>n4,DoubleClickZoomHandler:()=>X2,DragPanHandler:()=>$2,DragRotateHandler:()=>e4,EXTENT:()=>aL,EdgeInsets:()=>w$,ErrorEvent:()=>EL,Event:()=>TL,Evented:()=>DL,FullscreenControl:()=>V4,FullscreenEvent:()=>B4,GPUInitializationError:()=>y2,GeoJSONSource:()=>pQ,GeolocateControl:()=>L4,GeolocateErrorEvent:()=>I4,GeolocateEvent:()=>P4,GeolocatePositionEvent:()=>F4,GlobeControl:()=>U4,Hash:()=>b2,ImageSource:()=>bQ,KeyboardHandler:()=>q2,LngLat:()=>WH,LngLatBounds:()=>cQ,LogoControl:()=>u4,Map:()=>y4,MapBoxZoomEvent:()=>MZ,MapContextEvent:()=>FZ,MapLibreEvent:()=>wZ,MapLibreMap:()=>y4,MapMouseEvent:()=>kZ,MapMovementEvent:()=>TZ,MapProjectionEvent:()=>PZ,MapSourceDataEvent:()=>OZ,MapStyleDataEvent:()=>DZ,MapStyleImageMissingEvent:()=>IZ,MapStyleLoadEvent:()=>EZ,MapTerrainEvent:()=>NZ,MapTouchEvent:()=>AZ,MapWheelEvent:()=>jZ,Marker:()=>A4,MarkerClickEvent:()=>k4,MarkerDragEvent:()=>O4,MercatorCoordinate:()=>KH,NavigationControl:()=>x4,Point:()=>Vx,Popup:()=>q4,PopupEvent:()=>K4,RasterDEMTileSource:()=>fQ,RasterTileSource:()=>dQ,ScaleControl:()=>z4,ScrollZoomHandler:()=>Y2,Style:()=>Y$,TerrainControl:()=>H4,TwoFingersTouchPitchHandler:()=>G2,TwoFingersTouchRotateHandler:()=>W2,TwoFingersTouchZoomHandler:()=>U2,TwoFingersTouchZoomRotateHandler:()=>t4,VectorTileSource:()=>uQ,VideoSource:()=>xQ,addProtocol:()=>ew,addSourceType:()=>DQ,clearPrewarmedResources:()=>AK,config:()=>_L,createTileMesh:()=>sq,getGlobalDispatcher:()=>jK,getMaxParallelImageRequests:()=>cZ,getRTLTextPluginStatus:()=>iZ,getVersion:()=>aZ,getWorkerCount:()=>oZ,getWorkerUrl:()=>uZ,importScriptInWorkers:()=>fZ,isTimeFrozen:()=>ZG,now:()=>JG,prewarm:()=>kK,removeProtocol:()=>tw,restoreNow:()=>XG,setMaxParallelImageRequests:()=>lZ,setNow:()=>YG,setRTLTextPlugin:()=>rZ,setWorkerCount:()=>sZ,setWorkerUrl:()=>dZ});function WG(){var e=new XI(4);return XI!=Float32Array&&(e[1]=0,e[2]=0),e[0]=1,e[3]=1,e}function GG(e,t){var n=t[0],r=t[1],i=t[2],a=t[3],o=n*a-i*r;return o?(o=1/o,e[0]=a*o,e[1]=-r*o,e[2]=-i*o,e[3]=n*o,e):null}function KG(e){return e[0]*e[3]-e[2]*e[1]}function qG(e,t,n){var r=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(n),c=Math.cos(n);return e[0]=r*c+a*s,e[1]=i*c+o*s,e[2]=r*-s+a*c,e[3]=i*-s+o*c,e}function JG(){return yZ.getCurrentTime()}function YG(e){yZ.setNow(e)}function XG(){yZ.restoreNow()}function ZG(){return yZ.isFrozen()}function QG(e,t){let n={};for(let t in e)t!==`ref`&&(n[t]=e[t]);return AL.forEach(e=>{e in t&&(n[e]=t[e])}),n}function $G(e){e=e.slice();let t=Object.create(null);for(let n=0;n<e.length;n++)t[e[n].id]=e[n];for(let n=0;n<e.length;n++)`ref`in e[n]&&(e[n]=QG(e[n],t[e[n].ref]));return e}function eK(e,t){if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!eK(e[n],t[n]))return!1;return!0}if(typeof e==`object`&&e&&t!==null){if(typeof t!=`object`||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(!eK(e[n],t[n]))return!1;return!0}return e===t}function tK(e,t){e.push(t)}function nK(e,t,n){tK(n,{command:`addSource`,args:[e,t[e]]})}function rK(e,t,n){tK(t,{command:`removeSource`,args:[e]}),n[e]=!0}function iK(e,t,n,r){rK(e,n,r),nK(e,t,n)}function aK(e,t,n){let r;for(r in e[n])if(Object.prototype.hasOwnProperty.call(e[n],r)&&r!==`data`&&!eK(e[n][r],t[n][r]))return!1;for(r in t[n])if(Object.prototype.hasOwnProperty.call(t[n],r)&&r!==`data`&&!eK(e[n][r],t[n][r]))return!1;return!0}function oK(e,t,n,r){e||={},t||={};let i;for(i in e)Object.prototype.hasOwnProperty.call(e,i)&&(Object.prototype.hasOwnProperty.call(t,i)||rK(i,n,r));for(i in t)Object.prototype.hasOwnProperty.call(t,i)&&(Object.prototype.hasOwnProperty.call(e,i)?eK(e[i],t[i])||(e[i].type===`geojson`&&t[i].type===`geojson`&&aK(e,t,i)?tK(n,{command:`setGeoJSONSourceData`,args:[i,t[i].data]}):iK(i,t,n,r)):nK(i,t,n))}function sK(e,t,n,r,i,a){e||={},t||={};for(let o in e)Object.prototype.hasOwnProperty.call(e,o)&&(eK(e[o],t[o])||n.push({command:a,args:[r,o,t[o],i]}));for(let o in t)Object.prototype.hasOwnProperty.call(t,o)&&!Object.prototype.hasOwnProperty.call(e,o)&&(eK(e[o],t[o])||n.push({command:a,args:[r,o,t[o],i]}))}function cK(e){return e.id}function lK(e,t){return e[t.id]=t,e}function uK(e,t,n){e||=[],t||=[];let r=e.map(cK),i=t.map(cK),a=e.reduce(lK,{}),o=t.reduce(lK,{}),s=r.slice(),c=Object.create(null),l,u,d,f,p;for(let e=0,t=0;e<r.length;e++)l=r[e],Object.prototype.hasOwnProperty.call(o,l)?t++:(tK(n,{command:`removeLayer`,args:[l]}),s.splice(s.indexOf(l,t),1));for(let e=0,t=0;e<i.length;e++)l=i[i.length-1-e],s[s.length-1-e]!==l&&(Object.prototype.hasOwnProperty.call(a,l)?(tK(n,{command:`removeLayer`,args:[l]}),s.splice(s.lastIndexOf(l,s.length-t),1)):t++,f=s[s.length-e],tK(n,{command:`addLayer`,args:[o[l],f]}),s.splice(s.length-e,0,l),c[l]=!0);for(let e=0;e<i.length;e++)if(l=i[e],u=a[l],d=o[l],!(c[l]||eK(u,d))){if(!eK(u.source,d.source)||!eK(u[`source-layer`],d[`source-layer`])||!eK(u.type,d.type)){tK(n,{command:`removeLayer`,args:[l]}),f=s[s.lastIndexOf(l)+1],tK(n,{command:`addLayer`,args:[d,f]});continue}for(p in sK(u.layout,d.layout,n,l,null,`setLayoutProperty`),sK(u.paint,d.paint,n,l,null,`setPaintProperty`),eK(u.filter,d.filter)||tK(n,{command:`setFilter`,args:[l,d.filter]}),(!eK(u.minzoom,d.minzoom)||!eK(u.maxzoom,d.maxzoom))&&tK(n,{command:`setLayerZoomRange`,args:[l,d.minzoom,d.maxzoom]}),u)Object.prototype.hasOwnProperty.call(u,p)&&p!==`layout`&&p!==`paint`&&p!==`filter`&&p!==`metadata`&&p!==`minzoom`&&p!==`maxzoom`&&(p.indexOf(`paint.`)===0?sK(u[p],d[p],n,l,p.slice(6),`setPaintProperty`):eK(u[p],d[p])||tK(n,{command:`setLayerProperty`,args:[l,p,d[p]]}));for(p in d)Object.prototype.hasOwnProperty.call(d,p)&&!Object.prototype.hasOwnProperty.call(u,p)&&p!==`layout`&&p!==`paint`&&p!==`filter`&&p!==`metadata`&&p!==`minzoom`&&p!==`maxzoom`&&(p.indexOf(`paint.`)===0?sK(u[p],d[p],n,l,p.slice(6),`setPaintProperty`):eK(u[p],d[p])||tK(n,{command:`setLayerProperty`,args:[l,p,d[p]]}))}}function dK(e,t){if(!e)return[{command:`setStyle`,args:[t]}];let n=[];try{if(!eK(e.version,t.version))return[{command:`setStyle`,args:[t]}];eK(e.center,t.center)||n.push({command:`setCenter`,args:[t.center]}),eK(e.state,t.state)||n.push({command:`setGlobalState`,args:[t.state]}),eK(e.centerAltitude,t.centerAltitude)||n.push({command:`setCenterAltitude`,args:[t.centerAltitude]}),eK(e.zoom,t.zoom)||n.push({command:`setZoom`,args:[t.zoom]}),eK(e.bearing,t.bearing)||n.push({command:`setBearing`,args:[t.bearing]}),eK(e.pitch,t.pitch)||n.push({command:`setPitch`,args:[t.pitch]}),eK(e.roll,t.roll)||n.push({command:`setRoll`,args:[t.roll]}),eK(e.sprite,t.sprite)||n.push({command:`setSprite`,args:[t.sprite]}),eK(e.glyphs,t.glyphs)||n.push({command:`setGlyphs`,args:[t.glyphs]}),eK(e[`font-faces`],t[`font-faces`])||n.push({command:`setFontFaces`,args:[t[`font-faces`]]}),eK(e.transition,t.transition)||n.push({command:`setTransition`,args:[t.transition]}),eK(e.light,t.light)||n.push({command:`setLight`,args:[t.light]}),eK(e.terrain,t.terrain)||n.push({command:`setTerrain`,args:[t.terrain]}),eK(e.sky,t.sky)||n.push({command:`setSky`,args:[t.sky]}),eK(e.projection,t.projection)||n.push({command:`setProjection`,args:[t.projection]});let r={},i=[];oK(e.sources,t.sources,i,r);let a=[];e.layers&&e.layers.forEach(e=>{`source`in e&&r[e.source]?n.push({command:`removeLayer`,args:[e.id]}):a.push(e)}),n=n.concat(i),uK(a,t.layers,n)}catch(e){console.warn(`Unable to compute style diff:`,e),n=[{command:`setStyle`,args:[t]}]}return n}function fK(){let e={},t=kL.$version;for(let n in kL.$root){let r=kL.$root[n];if(r.required){let i=null;i=n===`version`?t:r.type===`array`?[]:{},i!=null&&(e[n]=i)}}return e}function pK(e){let t=[];if(typeof e==`string`)t.push({id:`default`,url:e});else if(e&&e.length>0){let n=[];for(let{id:r,url:i}of e){let e=`${r}${i}`;n.includes(e)||(n.push(e),t.push({id:r,url:i}))}}return t}function mK(e,t,n){try{let r=new URL(e);return r.pathname+=`${t}${n}`,r.toString()}catch{throw Error(`Invalid sprite URL "${e}", must be absolute. Modify style specification directly or use TransformStyleFunction to correct the issue dynamically`)}}function hK(e,t,n,r){return S(this,null,function*(){let i=pK(e),a=n>1?`@2x`:``,o={},s={};for(let{id:e,url:n}of i){let i=yield t.transformRequest(mK(n,a,`.json`),`SpriteJSON`);o[e]=SL(i,r);let c=yield t.transformRequest(mK(n,a,`.png`),`SpriteImage`);s[e]=SZ.getImage(c,r)}return yield Promise.all([...Object.values(o),...Object.values(s)]),gK(o,s)})}function gK(e,t){return S(this,null,function*(){let n={};for(let r in e){n[r]={};let i=(yield t[r]).data;if(!i)throw Error(`Could not load sprite image for ${r}: the response is empty`);let a=vZ.getImageCanvasContext(i),o=(yield e[r]).data;for(let e in o){let{width:t,height:i,x:s,y:c,sdf:l,pixelRatio:u,stretchX:d,stretchY:f,content:p,textFitWidth:m,textFitHeight:h}=o[e],g={width:t,height:i,x:s,y:c,context:a};n[r][e]={data:null,pixelRatio:u,sdf:l,stretchX:d,stretchY:f,content:p,textFitWidth:m,textFitHeight:h,spriteData:g}}}return n})}function _K(e){let t=/^u\+([0-9a-f]*)(\?+)$/i.exec(e);if(t){let[,e,n]=t;return e.length+n.length>6?null:vK(parseInt(`${e}${`0`.repeat(n.length)}`,16),parseInt(`${e}${`f`.repeat(n.length)}`,16))}let n=/^u\+([0-9a-f]{1,6})(?:-([0-9a-f]{1,6}))?$/i.exec(e);if(!n)return null;let r=parseInt(n[1],16);return vK(r,n[2]===void 0?r:parseInt(n[2],16))}function vK(e,t){return e>t||e>zZ?null:{start:e,end:Math.min(t,zZ)}}function yK(e,t){return e.ranges.some(({start:e,end:n})=>t>=e&&t<=n)}function bK(e,t,n,r,i,a,o,s,c){for(let l=t;l<t+r;l++)xK(e,n*a+l,a,i,o,s,c);for(let l=n;l<n+i;l++)xK(e,l*a+t,1,r,o,s,c)}function xK(e,t,n,r,i,a,o){a[0]=0,o[0]=-0x56bc75e2d63100000,o[1]=UZ,i[0]=e[t];for(let s=1,c=0,l=0;s<r;s++){i[s]=e[t+s*n];let r=s*s;do{let e=a[c];l=(i[s]-i[e]+r-e*e)/(s-e)/2}while(l<=o[c]&&--c>-1);c++,a[c]=s,o[c]=l,o[c+1]=UZ}for(let s=0,c=0;s<r;s++){for(;o[c+1]<s;)c++;let r=a[c],l=s-r;e[t+s*n]=i[r]+l*l}}function SK(e){if(!e)return!1;let t=globalThis.location;if(!t)return!1;try{return new URL(e,t.href).origin!==t.origin}catch{return!1}}function CK(){let e=pZ.url;if(!/^https?:/.test(e))return``;let t=e.endsWith(`-dev.mjs`)?`maplibre-gl-worker-dev.mjs`:`maplibre-gl-worker.mjs`;return new URL(`./${t}`,e).href}function wK(e,t){if(t)try{return new Worker(e,{type:`module`})}catch(e){console.warn(`Module worker not supported, falling back to classic worker`,e)}return new Worker(e)}function TK(e){return S(this,null,function*(){let t=yield fetch(e);if(!t.ok)throw Error(`Failed to fetch worker script (${t.status}): ${e}`);let n=yield t.text(),r=new Blob([n],{type:`text/javascript`});return URL.createObjectURL(r)})}function EK(e){let t=new Blob([`import ${JSON.stringify(new URL(e,pZ.url).href)}`],{type:`text/javascript`});return URL.createObjectURL(t)}function DK(){return S(this,null,function*(){let e=_L.WORKER_URL||CK(),t=!(e!=null&&e.endsWith(`.cjs`));if(!SK(e))return wK(e,t);if(t){let n=EK(e);try{return wK(n,t)}finally{URL.revokeObjectURL(n)}}let n=yield TK(e);try{return wK(n,t)}finally{URL.revokeObjectURL(n)}})}function OK(){return aQ||=new rQ,aQ}function kK(){OK().acquire(nQ)}function AK(){let e=aQ;e&&(e.isPreloaded()&&e.numActive()===1?(e.release(nQ),aQ=null):console.warn(`Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()`))}function jK(){return sQ||(sQ=new oQ(OK(),vL),sQ.registerMessageHandler(`GR`,(e,t,n)=>xL(t,n))),sQ}function MK(e,t){let n=Yx();return tS(n,n,[1,1,0]),nS(n,n,[e.width*.5,e.height*.5,1]),e.calculatePosMatrix?eS(n,n,e.calculatePosMatrix(t.toUnwrapped())):n}function NK(e,t,n){if(e)for(let r of e){let e=t[r];if(e?.source===n&&e.type===`fill-extrusion`)return!0}else for(let e in t){let r=t[e];if(r.source===n&&r.type===`fill-extrusion`)return!0}return!1}function PK(e,t,n,r,i,a,o){let s=NK(i?.layers??null,t,e.id),c=a.maxPitchScaleFactor(),l=e.tilesIn(r,c,s);l.sort(LK);let u=[];for(let r of l)u.push({wrappedTileID:r.tileID.wrapped().key,queryResults:r.tile.queryRenderedFeatures(t,n,e.getState(),r.queryGeometry,r.cameraQueryGeometry,r.scale,i,a,c,MK(a,r.tileID),o?(e,t)=>o(r.tileID,e,t):void 0)});return zK(RK(u),e)}function FK(e,t,n,r,i,a,o){let s={},c=a.queryRenderedSymbols(r),l=[];for(let e of Object.keys(c).map(Number))l.push(o[e]);l.sort(LK);for(let n of l){let r=n.featureIndex.lookupSymbolFeatures(c[n.bucketInstanceId],t,n.bucketIndex,n.sourceLayerIndex,{filterSpec:i.filter,globalState:i.globalState},i.layers,i.availableImages,e);for(let e in r){s[e]||(s[e]=[]);let t=r[e];t.sort((e,t)=>{let r=n.featureSortOrder;if(r){let n=r.indexOf(e.featureIndex);return r.indexOf(t.featureIndex)-n}return t.featureIndex-e.featureIndex});for(let n of t)s[e].push(n)}}return BK(s,e,n)}function IK(e,t){let n=e.getRenderableIds().map(t=>e.getTileByID(t)),r=[],i={};for(let e of n){let n=e.tileID.canonical.key;i[n]||(i[n]=!0,e.querySourceFeatures(r,t))}return r}function LK(e,t){let n=e.tileID,r=t.tileID;return n.overscaledZ-r.overscaledZ||n.canonical.y-r.canonical.y||n.wrap-r.wrap||n.canonical.x-r.canonical.x}function RK(e){let t={},n={};for(let{queryResults:r,wrappedTileID:i}of e){n[i]||(n[i]={});let e=n[i];for(let n in r){let i=r[n];e[n]||(e[n]={});let a=e[n];t[n]||(t[n]=[]);for(let e of i)a[e.featureIndex]||(a[e.featureIndex]=!0,t[n].push(e))}}return t}function zK(e,t){for(let n in e)for(let r of e[n])VK(r,t);return e}function BK(e,t,n){for(let r in e)for(let i of e[r]){let e=n[t[r].source];VK(i,e)}return e}function VK(e,t){let n=e.feature,r=t.getFeatureState(n.layer[`source-layer`],n.id);n.source=n.layer.source,n.layer[`source-layer`]&&(n.sourceLayer=n.layer[`source-layer`]),n.state=r}function HK(e,t,n,r){return S(this,null,function*(){let i=e;if(e.url?i=(yield SL(yield t.transformRequest(e.url,`Source`),n)).data:yield vZ.frameAsync(n,r),!i)return null;let a=bC(yC(i,e),[`tiles`,`minzoom`,`maxzoom`,`attribution`,`bounds`,`scheme`,`tileSize`,`encoding`]);return`vector_layers`in i&&i.vector_layers&&(a.vectorLayerIds=i.vector_layers.map(e=>e.id)),a})}function UK(e,t){return t?e.properties[t]:e.id}function WK(e,t){let n=new Map;if(e==null||e.type==null)return n;if(e.type===`Feature`){let r=UK(e,t);return r==null?void 0:(n.set(r,e),n)}if(e.type===`FeatureCollection`){let r=new Set;for(let i of e.features){let e=UK(i,t);if(e==null||r.has(e))return;r.add(e),n.set(e,i)}return n}}function GK(e,t,n){let r=[];if(t.removeAll)e.clear();else if(t.remove)for(let n of t.remove){let t=e.get(n);t&&(r.push(t.geometry),e.delete(n))}if(t.add)for(let i of t.add){let t=UK(i,n);if(t==null)continue;let a=e.get(t);a&&r.push(a.geometry),r.push(i.geometry),e.set(t,i)}if(t.update)for(let n of t.update){let t=e.get(n.id);if(!t)continue;let i=!!n.newGeometry,a=n.removeAllProperties||n.removeProperties?.length>0||n.addOrUpdateProperties?.length>0;if(!i&&!a)continue;r.push(t.geometry);let o=p({},t);if(e.set(n.id,o),i&&(r.push(n.newGeometry),o.geometry=n.newGeometry),a){if(o.properties=n.removeAllProperties?{}:p({},o.properties||{}),n.removeProperties)for(let e of n.removeProperties)delete o.properties[e];if(n.addOrUpdateProperties)for(let{key:e,value:t}of n.addOrUpdateProperties)o.properties[e]=t}}return r}function KK(e,t,n){if(!e)return t||{};if(!t)return e||{};n&&(YK(e.add,n),YK(t.add,n));let r=ZK(e),i=ZK(t);qK(r,i);let a={};if((r.removeAll||i.removeAll)&&(a.removeAll=!0),a.remove=new Set([...r.remove,...i.remove]),a.add=new Map([...r.add,...i.add]),a.update=new Map([...r.update,...i.update]),a.remove.size&&a.add.size)for(let e of a.add.keys())a.remove.delete(e);let o=QK(a);return n&&XK(o.add,n),o}function qK(e,t){t.removeAll&&(e.add.clear(),e.update.clear(),e.remove.clear(),t.remove.clear());for(let n of t.remove)e.add.delete(n),e.update.delete(n);for(let[n,r]of t.update){let i=e.update.get(n);i&&(t.update.set(n,JK(i,r)),e.update.delete(n))}}function JK(e,t){let n={id:e.id};if(t.removeAllProperties&&(delete e.removeProperties,delete e.addOrUpdateProperties,delete t.removeProperties),t.removeProperties&&e.addOrUpdateProperties){let n=new Set(t.removeProperties);e.addOrUpdateProperties=e.addOrUpdateProperties.filter(e=>!n.has(e.key))}return(e.removeAllProperties||t.removeAllProperties)&&(n.removeAllProperties=!0),(e.removeProperties||t.removeProperties)&&(n.removeProperties=[...e.removeProperties||[],...t.removeProperties||[]]),(e.addOrUpdateProperties||t.addOrUpdateProperties)&&(n.addOrUpdateProperties=[...e.addOrUpdateProperties||[],...t.addOrUpdateProperties||[]]),(e.newGeometry||t.newGeometry)&&(n.newGeometry=t.newGeometry||e.newGeometry),n}function YK(e,t){if(e)for(let n of e){let e=UK(n,t);e!=null&&(n.id=e)}}function XK(e,t){if(e)for(let n of e)UK(n,t)!=null&&delete n.id}function ZK(e){if(!e)return{};let t={};return t.removeAll=e.removeAll,t.remove=new Set(e.remove||[]),t.add=new Map(e.add?.map(e=>[e.id,e])),t.update=new Map(e.update?.map(e=>[e.id,e])),t}function QK(e){let t={};return e.removeAll&&(t.removeAll=e.removeAll),e.remove&&(t.remove=Array.from(e.remove)),e.add&&(t.add=Array.from(e.add.values())),e.update&&(t.update=Array.from(e.update.values())),t}function $K(e){return!e||e.length===0?[]:typeof e[0]==`number`?[e]:e.flatMap(e=>$K(e))}function eq(e){return e.type===`GeometryCollection`?e.geometries.flatMap(e=>eq(e)):$K(e.coordinates)}function tq(e){let t=new cQ,n;switch(e.type){case`FeatureCollection`:n=e.features.flatMap(e=>eq(e.geometry));break;case`Feature`:n=eq(e.geometry);break;default:n=eq(e)}if(n.length===0)return t;for(let e of n){let[n,r]=e;t.extend([n,r])}return t}function nq({x:e,y:t,z:n},r=0){let i=cA((e-r)/2**n),a=lA((t+1+r)/2**n),o=cA((e+1+r)/2**n),s=lA((t-r)/2**n);return new cQ([i,a],[o,s])}function rq(e){e*=Math.PI/180;let t=Math.sin(e),n=Math.cos(e);return[(2*n+1)/3,(-Math.sqrt(3)*t-n+1)/3,(Math.sqrt(3)*t-n+1)/3]}function iq(e){return e>0?1/(1-e):1+e}function aq(e){return e>0?1-1/(1.001-e):-e}function oq(e,t){let n=sq(t,`16bit`),r=NB.deserialize({arrayBuffer:n.vertices,length:n.vertices.byteLength/2/2}),i=XB.deserialize({arrayBuffer:n.indices,length:n.indices.byteLength/2/3});return new _Q(e.createVertexBuffer(r,vQ.members),e.createIndexBuffer(i),tV.simpleSegment(0,0,r.length,i.length))}function sq(e,t){let n=e.granularity===void 0?1:Math.max(e.granularity,1),r=n+(e.generateBorders?2:0),i=n+(e.extendToNorthPole||e.generateBorders?1:0)+(e.extendToSouthPole||e.generateBorders?1:0),a=r+1,o=i+1,s=e.generateBorders?-1:0,c=e.generateBorders||e.extendToNorthPole?-1:0,l=n+ +!!e.generateBorders,u=n+(e.generateBorders||e.extendToSouthPole?1:0),d=a*o,f=r*i*6,p=a*o>65536;if(p&&t===`16bit`)throw Error(`Granularity is too large and meshes would not fit inside 16 bit vertex indices.`);let m=p||t===`32bit`,h=new Int16Array(d*2),g=0;for(let t=c;t<=u;t++)for(let r=s;r<=l;r++){let i=r/n*aL;r===-1&&(i=-yQ),r===n+1&&(i=aL+yQ);let a=t/n*aL;t===-1&&(a=e.extendToNorthPole?wH:-yQ),t===n+1&&(a=e.extendToSouthPole?TH:aL+yQ),h[g++]=i,h[g++]=a}let _=m?new Uint32Array(f):new Uint16Array(f),v=0;for(let e=0;e<i;e++)for(let t=0;t<r;t++){let n=t+e*a,r=t+1+e*a,i=t+(e+1)*a,o=t+1+(e+1)*a;_[v++]=n,_[v++]=i,_[v++]=r,_[v++]=r,_[v++]=i,_[v++]=o}return{vertices:h.buffer.slice(0),indices:_.buffer.slice(0),uses32bitIndices:m}}function cq(e){let t=RH.fromPoints(e),n=t.width(),r=t.height(),i=Math.max(0,Math.floor(-Math.log(Math.max(n,r))/Math.LN2)),a=2**i;return new DW(i,Math.floor((t.minX+t.maxX)/2*a),Math.floor((t.minY+t.maxY)/2*a))}function lq(e){let t=e[1].x-e[0].x,n=e[1].y-e[0].y,r=e[2].x-e[0].x;return t*(e[2].y-e[0].y)-n*r<0}function uq(e,t){if(t===`flat`||fq(e))return mQ;let[n,r,i,a]=e,o=n.x-r.x+i.x-a.x,s=n.y-r.y+i.y-a.y,c=[r.x-i.x,r.y-i.y,a.x-i.x,a.y-i.y],[l,u,d,f]=c,p=KG(c),m=(o*f-d*s)/p,h=(l*s-o*u)/p,g=[1,1+m,1+m+h,1+h],_=Math.max(...g)/Math.min(...g),v=t===`perspective`?0:dq(_);return!(_>=1&&_<=512)||v>=1?mQ:[m,h,v]}function dq(e){let t=(1-4/e)/.9921875;return Math.max(0,t)}function fq(e){let[t,n,r,i]=e;return t.x+r.x===n.x+i.x&&t.y+r.y===n.y+i.y}function pq(e,t){let n={};if(!t)return n;for(let r of e){let e=r.layerIds.map(e=>t.getLayer(e)).filter(Boolean);if(e.length!==0){r.layers=e,r.stateDependentLayerIds&&(r.stateDependentLayers=r.stateDependentLayerIds.map(t=>e.filter(e=>e.id===t)[0]));for(let t of e)n[t.id]=r}}return n}function mq(){return AQ||=new kQ,AQ}function hq(e){let t=[];for(let n in e)t.push({id:n,state:e[n]});return t}function gq(e,t,n,r){let i=IS([],e,t),a=1/i[3]/n*r;return tL(i,i,[a,a,1/i[3],a])}function _q(e,t,n,r){let i=r?4:0,a=r?0:4,o=0,s=[],c=[];for(let t=0;t<4;t++){let n=$I([],e[t+a],e[t+i]),r=pS(n);_S(n,n,1/r),s.push(r),c.push(n)}for(let t=0;t<4;t++){let r=oC(e[t+i],c[t],n);o=r!==null&&r>=0?Math.max(o,r):Math.max(o,s[t])}let l=vq(e,t),u=yq(n,l);if(u!==null){let e=u/SS(c[0],l);o=Math.min(o,e)}for(let t=0;t<4;t++){let n=Math.min(o,s[t]);e[t+a]=[e[t+i][0]+c[t][0]*n,e[t+i][1]+c[t][1]*n,e[t+i][2]+c[t][2]*n,1]}}function vq(e,t){let n=$I([],e[t[0]],e[t[1]]),r=$I([],e[t[2]],e[t[1]]),i=[0,0,0,0];return xS(i,CS([],n,r)),i[3]=-SS(i,e[t[0]]),i}function yq(e,t){let n=PS([],e,1/eL(e)),r=$I([],t,_S([],n,SS(t,n))),i=eL(r);if(i>0){let e=Math.sqrt(1-n[3]*n[3]);return iC(t,hS([],_S([],n,-n[3]),_S([],r,e/i)))}return null}function bq(e,t,n){let r=t.intersectsFrustum(e);if(!n||r===0)return r;let i=t.intersectsPlane(n);return i===0?0:r===2&&i===2?2:1}function xq(e,t,n){let r=0,i=(n-t)/10;for(let a=0;a<10;a++){let o=t+(a+.5)/10*(n-t);r+=i*Math.cos(o)**+e}return r}function Sq(e,t){return function(n,r,i,a,o){let s=2*((e-1)/TC(Math.cos(HC(qH-o))/Math.cos(HC(qH)))-1),c=Math.acos(i/a),l=2*xq(s-1,0,HC(o/2)),u=Math.min(HC(qH),c+HC(o/2)),d=Math.min(u,c-HC(o/2)),f=xq(s-1,d,u),p=Math.atan(r/i),m=Math.hypot(r,i),h=n;return h+=TC(a/m/Math.max(.5,Math.cos(HC(o/2)))),h+=s*TC(Math.cos(p))/2,h-=TC(Math.max(1,f/l/t))/2,h}}function Cq(e,t){let n=(t.roundZoom?Math.round:Math.floor)(e.zoom+TC(e.tileSize/t.tileSize));return Math.max(0,n)}function wq(e,t){let n=_C((15-(qH-e.pitch-e.fov/2))/15,0,1),r=Math.max(500,t??0);return e.elevation+n*r}function Tq(e,t,n){let r=e.planes[1],i=e.points.map(e=>{let i=r[0]*e[0]+r[1]*e[1]+r[2]*e[2]+r[3];if(Math.abs(i)>1e-6)return e;let a=[e[0]-n[0],e[1]-n[1],e[2]-n[2]],o=r[0]*a[0]+r[1]*a[1]+r[2]*a[2];if(o>=-1e-9)return e;let s=t/-o;return[e[0]+a[0]*s,e[1]+a[1]*s,e[2]+a[2]*s,e[3]]}),a=e.planes.map((e,n)=>n===1?[e[0],e[1],e[2],e[3]+t]:e),o=[1/0,1/0,1/0],s=[-1/0,-1/0,-1/0];for(let e of i)for(let t=0;t<3;t++)o[t]=Math.min(o[t],e[t]),s[t]=Math.max(s[t],e[t]);return new PQ(i,a,new NQ(o,s))}function Eq(e,t){let n=e.getCameraFrustum(),r=e.getClippingPlane();if(r&&t.maxContentElevation>0){let i=Math.hypot(r[0],r[1],r[2]);if(i>0){let a=1+t.maxContentElevation/UH,o=_C(-r[3]/i,-1,1),s=Math.cos(Math.acos(o)+Math.acos(1/a));r=[r[0],r[1],r[2],-s*i],n=Tq(n,Math.sqrt(a*a-1),e.cameraPosition)}}let i=yA(e),a=KH.fromLngLat(e.center,e.elevation),o=wq(e,t.maxContentElevation),s=e.getCoveringTilesDetailsProvider(),c=s.allowVariableZoom(e,t),l=Cq(e,t),u=t.minzoom||0,d=t.maxzoom===void 0?e.maxZoom:t.maxzoom,f=Math.min(Math.max(0,l),d),p=2**f,m=[p*i.x,p*i.y,0],h=[p*a.x,p*a.y,0],g=Math.hypot(a.x-i.x,a.y-i.y),_=Math.abs(a.z-i.z),v=Math.hypot(g,_),y=e=>({zoom:0,x:0,y:0,wrap:e,fullyVisible:!1}),b=[],x=[];if(e.renderWorldCopies&&s.allowWorldCopies())for(let e=1;e<=3;e++)b.push(y(-e)),b.push(y(e));for(b.push(y(0));b.length>0;){let p=b.pop(),g=p.x,y=p.y,S=p.fullyVisible,C={x:g,y,z:p.zoom},w=s.getTileBoundingVolume(C,p.wrap,o,t);if(!S){let e=bq(n,w,r);if(e===0)continue;S=e===2}let T=s.distanceToTile2d(i.x,i.y,C,w),E=l;c&&(E=(t.calculateTileZoom||FQ)(e.zoom+TC(e.tileSize/t.tileSize),T,_,v,e.fov)),E=(t.roundZoom?Math.round:Math.floor)(E),E=Math.max(0,E);let D=Math.min(E,d);if(p.wrap=s.getWrap(a,C,p.wrap),p.zoom>=D){if(p.zoom<u)continue;let e=f-p.zoom,n=m[0]-.5-(g<<e),r=m[1]-.5-(y<<e),i=t.reparseOverscaled?Math.max(p.zoom,E):p.zoom;x.push({tileID:new kW(p.zoom===d?i:p.zoom,p.wrap,p.zoom,g,y),distanceSq:iL([h[0]-.5-g,h[1]-.5-y]),tileDistanceToCamera:Math.sqrt(n*n+r*r)});continue}for(let e=0;e<4;e++){let t=(g<<1)+e%2,n=(y<<1)+(e>>1),r=p.zoom+1;b.push({zoom:r,x:t,y:n,wrap:p.wrap,fullyVisible:S})}}return x.sort((e,t)=>e.distanceSq-t.distanceSq).map(e=>e.tileID)}function Dq(e){return e===`raster`||e===`image`||e===`video`}function Oq(e,t,n,r,i,a,o){let s=JG(),c=mC(t);for(let l of t){let t=e.getTileById(l.key);(t.fadingDirection===0||t.fadeOpacity===0)&&t.resetFadeLogic(),!kq(e,t,n,s,r,i,o)&&(Aq(e,t,n,s,a,o)||Mq(t,c,s,o)||t.resetFadeLogic())}}function kq(e,t,n,r,i,a,o){if(!t.hasData())return!1;let{tileID:s,fadingRole:c,fadingDirection:l,fadingParentID:u}=t;if(c===0&&l===1&&u)return n[u.key]=u,!0;let d=Math.max(s.overscaledZ-i,a);for(let i=s.overscaledZ-1;i>=d;i--){let a=s.scaledTo(i),c=e.getLoadedTile(a);if(c)return t.setCrossFadeLogic({fadingRole:0,fadingDirection:1,fadingParentID:c.tileID,fadeEndTime:r+o}),c.setCrossFadeLogic({fadingRole:1,fadingDirection:0,fadeEndTime:r+o}),n[a.key]=a,!0}return!1}function Aq(e,t,n,r,i,a){if(!t.hasData())return!1;let o=t.tileID.children(i),s=jq(e,t,o,n,r,i,a);if(s)return!0;for(let c of o)jq(e,t,c.children(i),n,r,i,a)&&(s=!0);return s}function jq(e,t,n,r,i,a,o){if(n[0].overscaledZ>=a)return!1;let s=!1;for(let a of n){let n=e.getLoadedTile(a);if(!n)continue;let{fadingRole:c,fadingDirection:l,fadingParentID:u}=n;(c!==0||l!==0||!u)&&(n.setCrossFadeLogic({fadingRole:0,fadingDirection:0,fadingParentID:t.tileID,fadeEndTime:i+o}),t.setCrossFadeLogic({fadingRole:1,fadingDirection:1,fadeEndTime:i+o})),r[a.key]=a,s=!0}return s}function Mq(e,t,n,r){let i=e.tileID;if(e.selfFading)return!0;if(e.hasData())return!1;if(t.has(i)){let t=n+r;return e.setSelfFadeLogic(t),!0}return!1}function Nq(e,t){if(t<=0)return!1;let n=JG();for(let t of e.getAllTiles())if(t.fadeEndTime>=n)return!0;return!1}function Pq(e,t){var n,r;let i=t.getRenderableIds();for(let a of i){if(!((n=e.neighboringTiles)!=null&&n[a]))continue;let i=t.getTileById(a);e.neighboringTiles[a].backfilled||Fq(e,i),!((r=i.neighboringTiles?.[e.tileID.key])!=null&&r.backfilled)&&Fq(i,e)}}function Fq(e,t){var n;e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0,e.needsColorReliefPrepare=!0;let r=t.tileID.canonical.x-e.tileID.canonical.x,i=t.tileID.canonical.y-e.tileID.canonical.y,a=2**e.tileID.canonical.z,o=t.tileID.key;(r!==0||i!==0)&&(Math.abs(i)>1||(Math.abs(r)>1&&(Math.abs(r+a)===1?r+=a:Math.abs(r-a)===1&&(r-=a)),t.dem&&e.dem&&(e.dem.backfillBorder(t.dem,r,i),(n=e.neighboringTiles)!=null&&n[o]&&(e.neighboringTiles[o].backfilled=!0))))}function Iq(e,t,n,r,i){return i?e?e(t,n)+r:r===0?void 0:r:r}function Lq(e,t){let n=!0;return e===`always`||(e===`never`||t===`never`)&&(n=!1),n}function Rq(e,t){let n=1/(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]),r=1/(t[8]*t[8]+t[9]*t[9]+t[10]*t[10]),i=t[0]*n,a=t[4]*n,o=t[8]*r,s=t[1]*n,c=t[5]*n,l=t[9]*r,u=t[2]*n,d=t[6]*n,f=t[10]*r;e[0]=i,e[1]=a,e[2]=o,e[4]=s,e[5]=c,e[6]=l,e[8]=u,e[9]=d,e[10]=f;let p=t[12],m=t[13],h=t[14];return e[12]=-i*p-s*m-u*h,e[13]=-a*p-c*m-d*h,e[14]=-o*p-l*m-f*h,e[3]=0,e[7]=0,e[11]=0,e[15]=1,e}function zq(e,t){return e[0]=1/t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1/t[5],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=0,e[11]=1/t[14],e[12]=0,e[13]=0,e[14]=-1,e[15]=t[10]/t[14],e}function Bq(e,t){let n=1/(t[0]*t[5]-t[1]*t[4]);return e[0]=t[5]*n,e[1]=-t[1]*n,e[2]=0,e[3]=0,e[4]=-t[4]*n,e[5]=t[0]*n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1/t[10],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1/t[15],e}function Vq(e,t,n){let r=Yx();if(!e){let{vecSouth:e,vecEast:n}=Uq(t),i=WG();i[0]=n[0],i[1]=n[1],i[2]=e[0],i[3]=e[1],GG(i,i),r[0]=i[0],r[1]=i[1],r[4]=i[2],r[5]=i[3]}return nS(r,r,[1/n,1/n,1]),r}function Hq(e,t,n,r){if(e){let e=Yx();if(!t){let{vecSouth:t,vecEast:r}=Uq(n);e[0]=r[0],e[1]=r[1],e[4]=t[0],e[5]=t[1]}return nS(e,e,[r,r,1]),e}return n.pixelsToClipSpaceMatrix}function Uq(e){let t=Math.cos(e.rollInRadians),n=Math.sin(e.rollInRadians),r=Math.cos(e.pitchInRadians),i=Math.cos(e.bearingInRadians),a=Math.sin(e.bearingInRadians),o=US();o[0]=-i*r*n-a*t,o[1]=-a*r*n+i*t;let s=KS(o);s<1e-9?YS(o):GS(o,o,1/s);let c=US();c[0]=i*r*t-a*n,c[1]=a*r*t+i*n;let l=KS(c);return l<1e-9?YS(c):GS(c,c,1/l),{vecEast:c,vecSouth:o}}function Wq(e,t,n){return Iq(e.getElevation,t,n,e.heightOffset??0,e.heightAnchorGround??!0)}function Gq(e,t,n,r){let i;r==null?(i=[e,t,0,1],sJ(i,i,n)):(i=[e,t,r,1],IS(i,i,n));let a=i[3];return{point:new Vx(i[0]/a,i[1]/a),signedDistanceFromCamera:a,isOccluded:!1}}function Kq(e,t){return .5+e/t*.5}function qq(e,t){return e.x>=-t[0]&&e.x<=t[0]&&e.y>=-t[1]&&e.y<=t[1]}function Jq(e,t,n,r,i,a,o,s,c,l,u,d,f){let p=n?e.textSizeData:e.iconSizeData,m=xM(p,t.transform.zoom),h=[256/t.width*2+1,256/t.height*2+1],g=n?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;g.clear();let _=e.lineVertexArray,v=n?e.text.placedSymbolArray:e.icon.placedSymbolArray,y=t.transform.width/t.transform.height,b=!1;for(let n=0;n<v.length;n++){let x=v.get(n);if(x.hidden||x.writingMode===2&&!b){oJ(x.numGlyphs,g);continue}b=!1;let S=new Vx(x.anchorX,x.anchorY),C={getElevation:f,pitchedLabelPlaneMatrix:r,lineVertexArray:_,pitchWithMap:a,projectionCache:{projections:{},offsets:{},cachedAnchorPoint:void 0,anyProjectionOccluded:!1},transform:t.transform,tileAnchorPoint:S,unwrappedTileID:c,width:l,height:u,translation:d},w=nJ(x.anchorX,x.anchorY,C);if(!qq(w.point,h)){oJ(x.numGlyphs,g);continue}let T=w.signedDistanceFromCamera,E=Kq(t.transform.cameraToCenterDistance,T),D=bM(p,m,x),O=a?D*t.transform.getPitchedTextCorrection(x.anchorX,x.anchorY,c)/E:D*E,k=Zq({projectionContext:C,pitchedLabelPlaneMatrixInverse:i,symbol:x,fontSize:O,flip:!1,keepUpright:o,glyphOffsetArray:e.glyphOffsetArray,dynamicLayoutVertexArray:g,aspectRatio:y,rotateToLine:s});b=k.useVertical,(k.notEnoughRoom||b||k.needsFlipping&&Zq({projectionContext:C,pitchedLabelPlaneMatrixInverse:i,symbol:x,fontSize:O,flip:!0,keepUpright:o,glyphOffsetArray:e.glyphOffsetArray,dynamicLayoutVertexArray:g,aspectRatio:y,rotateToLine:s}).notEnoughRoom)&&oJ(x.numGlyphs,g)}n?e.text.dynamicLayoutVertexBuffer.updateData(g):e.icon.dynamicLayoutVertexBuffer.updateData(g)}function Yq(e,t,n,r,i,a,o,s){let c=a.glyphStartIndex+a.numGlyphs,l=a.lineStartIndex,u=a.lineStartIndex+a.lineLength,d=t.getoffsetX(a.glyphStartIndex),f=t.getoffsetX(c-1),p=aJ(e*d,n,r,i,a.segment,l,u,s,o);if(!p)return null;let m=aJ(e*f,n,r,i,a.segment,l,u,s,o);return!m||s.projectionCache.anyProjectionOccluded?null:{first:p,last:m}}function Xq(e,t,n,r){return e===1&&Math.abs(n.y-t.y)>Math.abs(n.x-t.x)*r?{useVertical:!0}:(e===2?t.y<n.y:t.x>n.x)?{needsFlipping:!0}:null}function Zq(e){let{projectionContext:t,pitchedLabelPlaneMatrixInverse:n,symbol:r,fontSize:i,flip:a,keepUpright:o,glyphOffsetArray:s,dynamicLayoutVertexArray:c,aspectRatio:l,rotateToLine:u}=e,d=i/24,f=r.lineOffsetX*d,p=r.lineOffsetY*d,m;if(r.numGlyphs>1){let e=r.glyphStartIndex+r.numGlyphs,i=r.lineStartIndex,c=r.lineStartIndex+r.lineLength,h=Yq(d,s,f,p,a,r,u,t);if(!h)return{notEnoughRoom:!0};let g=tJ(h.first.point.x,h.first.point.y,t,n),_=tJ(h.last.point.x,h.last.point.y,t,n);if(o&&!a){let e=Xq(r.writingMode,g,_,l);if(e)return e}m=[h.first];for(let n=r.glyphStartIndex+1;n<e-1;n++){let e=aJ(d*s.getoffsetX(n),f,p,a,r.segment,i,c,t,u);if(!e)return{notEnoughRoom:!0};m.push(e)}m.push(h.last)}else{if(o&&!a){let e=eJ(t.tileAnchorPoint.x,t.tileAnchorPoint.y,t).point,i=r.lineStartIndex+r.segment+1,a=new Vx(t.lineVertexArray.getx(i),t.lineVertexArray.gety(i)),o=eJ(a.x,a.y,t),s=o.signedDistanceFromCamera>0?o.point:Qq(t.tileAnchorPoint,a,e,1,t),c=tJ(e.x,e.y,t,n),u=tJ(s.x,s.y,t,n),d=Xq(r.writingMode,c,u,l);if(d)return d}let e=aJ(d*s.getoffsetX(r.glyphStartIndex),f,p,a,r.segment,r.lineStartIndex,r.lineStartIndex+r.lineLength,t,u);if(!e||t.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};m=[e]}for(let e of m)eN(c,e.point,e.angle);return{}}function Qq(e,t,n,r,i){let a=e.add(e.sub(t)._unit()),o=eJ(a.x,a.y,i).point,s=n.sub(o);return n.add(s._mult(r/s.mag()))}function $q(e,t,n){let r=t.projectionCache;if(r.projections[e])return r.projections[e];let i=new Vx(t.lineVertexArray.getx(e),t.lineVertexArray.gety(e)),a=eJ(i.x,i.y,t);if(a.signedDistanceFromCamera>0)return r.projections[e]=a.point,r.anyProjectionOccluded||=a.isOccluded,a.point;let o=e-n.direction,s=n.distanceFromAnchor===0?t.tileAnchorPoint:new Vx(t.lineVertexArray.getx(o),t.lineVertexArray.gety(o)),c=n.absOffsetX-n.distanceFromAnchor+1;return Qq(s,i,n.previousVertex,c,t)}function eJ(e,t,n){let r=e+n.translation[0],i=t+n.translation[1],a;return n.pitchWithMap?(a=Gq(r,i,n.pitchedLabelPlaneMatrix,Wq(n,r,i)),a.isOccluded=!1):(a=n.transform.projectTileCoordinates(r,i,n.unwrappedTileID,Wq(n,r,i)),a.point.x=(a.point.x*.5+.5)*n.width,a.point.y=(-a.point.y*.5+.5)*n.height),a}function tJ(e,t,n,r){if(n.pitchWithMap){let i=[e,t,0,1];IS(i,i,r);let a=i[0]/i[3],o=i[1]/i[3];return n.transform.projectTileCoordinates(a,o,n.unwrappedTileID,Wq(n,a,o)).point}return{x:e/n.width*2-1,y:1-t/n.height*2}}function nJ(e,t,n){return n.transform.projectTileCoordinates(e,t,n.unwrappedTileID,Wq(n,e,t))}function rJ(e,t,n){return e._unit()._perp()._mult(t*n)}function iJ(e,t,n,r,i,a,o,s,c){if(s.projectionCache.offsets[e])return s.projectionCache.offsets[e];let l=n.add(t);if(e+c.direction<r||e+c.direction>=i)return s.projectionCache.offsets[e]=l,l;let u=$q(e+c.direction,s,c),d=rJ(u.sub(n),o,c.direction),f=n.add(d),p=u.add(d);return s.projectionCache.offsets[e]=NC(a,l,f,p)||l,s.projectionCache.offsets[e]}function aJ(e,t,n,r,i,a,o,s,c){let l=r?e-t:e+t,u=l>0?1:-1,d=0;r&&(u*=-1,d=Math.PI),u<0&&(d+=Math.PI);let f=u>0?a+i:a+i+1,p;s.projectionCache.cachedAnchorPoint?p=s.projectionCache.cachedAnchorPoint:(p=eJ(s.tileAnchorPoint.x,s.tileAnchorPoint.y,s).point,s.projectionCache.cachedAnchorPoint=p);let m=p,h=p,g,_,v=0,y=0,b=Math.abs(l),x=[],S;for(;v+y<=b;){if(f+=u,f<a||f>=o)return null;v+=y,h=m,_=g;let e={absOffsetX:b,direction:u,distanceFromAnchor:v,previousVertex:h};if(m=$q(f,s,e),n===0)x.push(h),S=m.sub(h);else{let t,r=m.sub(h);t=r.mag()===0?rJ($q(f+u,s,e).sub(m),n,u):rJ(r,n,u),_||=h.add(t),g=iJ(f,t,m,a,o,_,n,s,e),x.push(_),S=g.sub(_)}y=S.mag()}let C=(b-v)/y,w=S._mult(C)._add(_||h),T=d+Math.atan2(m.y-h.y,m.x-h.x);return x.push(w),{point:w,angle:c?T:0,path:x}}function oJ(e,t){for(let n=0;n<e;n++){let e=t.length;t.resize(e+4),t.float32.set(HQ,e*3)}}function sJ(e,t,n){let r=t[0],i=t[1];return e[0]=n[0]*r+n[4]*i+n[12],e[1]=n[1]*r+n[5]*i+n[13],e[3]=n[3]*r+n[7]*i+n[15],e}function cJ(e,t){let n=VQ;return Bq(n,t.pitchedLabelPlaneMatrix),e.map(e=>{let r=Gq(e.x,e.y,n,Wq(t,e.x,e.y)),i=t.transform.projectTileCoordinates(r.point.x,r.point.y,t.unwrappedTileID,Wq(t,r.point.x,r.point.y));return i.point.x=(i.point.x*.5+.5)*t.width,i.point.y=(-i.point.y*.5+.5)*t.height,i})}function lJ(e){let t=0,n=0,r=0,i=0;for(let a=0;a<e.length;a++)e[a].isOccluded?(r=a+1,i=0):(i++,i>n&&(n=i,t=r));return e.slice(t,t+n)}function uJ(e,t,n,r,i){let{horizontalAlign:a,verticalAlign:o}=Zj(e),s=-(a-.5)*t,c=-(o-.5)*n;return new Vx(s+r[0]*i,c+r[1]*i)}function dJ(e,t,n,r,i,a){(!r||r.length===0)&&(r=[0,0,0,0]);let o=r[0]-100,s=r[1]-100,c=r[2]-100,l=r[3]-100;e.emplaceBack(+!!t,+!!n,i||0,a||0,o,s),e.emplaceBack(+!!t,+!!n,i||0,a||0,c,s),e.emplaceBack(+!!t,+!!n,i||0,a||0,c,l),e.emplaceBack(+!!t,+!!n,i||0,a||0,o,l)}function fJ(e){if(e.opacity===0&&!e.placed)return 0;if(e.opacity===1&&e.placed)return 4294967295;let t=+!!e.placed,n=Math.floor(e.opacity*127);return n*XQ+t*ZQ+n*QQ+t*$Q+n*512+t*256+n*2+t}function pJ(e,t,n,r,i,a){if(i-r<=n)return;let o=r+i>>1;mJ(e,t,o,r,i,a),pJ(e,t,n,r,o-1,1-a),pJ(e,t,n,o+1,i,1-a)}function mJ(e,t,n,r,i,a){for(;i>r;){if(i-r>600){let o=i-r+1,s=n-r+1,c=Math.log(o),l=.5*Math.exp(2*c/3),u=.5*Math.sqrt(c*l*(o-l)/o)*(s-o/2<0?-1:1);mJ(e,t,n,Math.max(r,Math.floor(n-s*l/o+u)),Math.min(i,Math.floor(n+(o-s)*l/o+u)),a)}let o=t[2*n+a],s=r,c=i;for(hJ(e,t,r,n),t[2*i+a]>o&&hJ(e,t,r,i);s<c;){for(hJ(e,t,s,c),s++,c--;t[2*s+a]<o;)s++;for(;t[2*c+a]>o;)c--}t[2*r+a]===o?hJ(e,t,r,c):(c++,hJ(e,t,c,i)),c<=n&&(r=c+1),n<=c&&(i=c-1)}}function hJ(e,t,n,r){gJ(e,n,r),gJ(t,2*n,2*r),gJ(t,2*n+1,2*r+1)}function gJ(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function _J(e,t,n,r){let i=e-n,a=t-r;return i*i+a*a}function vJ(e,t){let n=/#pragma maplibre: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,r=t.match(/in ([\w]+) ([\w]+)/g),i=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),a=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),o=a?a.concat(i):i,s=r?r.length:0,c={};return e=e.replace(n,(e,t,n,r,i)=>(c[i]=!0,t===`define`?`
|
|
2712
2712
|
#ifndef HAS_UNIFORM_u_${i}
|
|
2713
2713
|
in ${n} ${r} ${i};
|
|
2714
2714
|
#else
|